1. Nội dung thiết kế tốt nghiệp:
3.2. Giao thức khởi tạo phiờn SIP
SIP (Session Initiation Protcol ) là giao thức bỏo hiệu điều khiển lớp ứng dụng được dựng để thiết lập, duy trỡ, kết thỳc cỏc phiờn truyền thụng đa phương tiện (multimedia). Cỏc phiờn multimedia bao gồm thoại Internet, hội nghị, và cỏc ứng
dụng tương tự cú liờn quan đến cỏc phương tiện truyền đạt (media) như õm thanh, hỡnh ảnh, và dữ liệu. SIP sử dụng cỏc bản tin mời (INVITE) để thiết lập cỏc phiờn và để mang cỏc thụng tin mụ tả phiờn truyền dẫn. SIP hỗ trợ cỏc phiờn đơn bỏ (unicast) và quảng bỏ (multicast) tương ứng cỏc cuộc gọi điểm tới điểm và cuộc gọi đa điểm. Cú thể sử dụng năm chức năng của SIP để thiết lập và kết thỳc truyền dẫn là định vị thuờ bao, khả năng thuờ bao, độ sẵn sàng của thuờ bao, thiết lập cuộc gọi và xử lý cuộc gọi.
SIP được IETF đưa ra trong RFC 2543. Nú là một giao thức dựa trờn ý tưởng và cấu trỳc của HTTP(HyperText Transfer Protocol)-giao thức trao đổi thụng tin của World Wide Web- và là một phần trong kiến trỳc multimedia của IETF. Cỏc giao thức cú liờn quan đến SIP bao gồm giao thức đặt trước tài nguyờn RSVP (Resource Reservation Protocol), giao thức truyền vận thời gian thực (Real-time Transport Protocol), giao thức cảnh bỏo phiờn SAP (Session Announcement Protocol), giao thức miờu tả phiờn SDP (Session Description Protocol). Cỏc chức năng của SIP độc lập, nờn chỳng khụng phụ thuộc vào bất kỳ giao thức nào thuộc cỏc giao thức trờn. Mặt khỏc, SIP cú thể hoạt động kết hợp với cỏc giao thức bỏo hiệu khỏc như H.323.
SIP là một giao thức theo thiết kế mở do đú nú cú thể được mở rộng để phỏt triển thờm cỏc chức năng mới. Sự linh hoạt của cỏc bản tin SIP cũng cho phộp đỏp ứng cỏc dịch vụ thoại tiờn tiến bao gồm cả cỏc dịch vụ di động.
3.2.1 Khỏi quỏt về SIP
Hai phần tử cơ bản trong hệ thống SIP là tỏc nhõn người sử dụng (user agent) và
cỏc mỏy phục vụ mạng (network server). Bờn chủ gọi và bị gọi được nhận dạng bằng cỏc địa chỉ SIP. • User agent
User agent là cỏc ứng dụng hệ thống cuối khỏch bao gồm mỏy khỏch tỏc nhõn người dựng UAC (User Agent Client) và mỏy phục vụ tỏc nhõn người dựng UAS (User Agent Server) hay cũn gọi tương ứng là mỏy khỏch (client), mỏy phục vụ (server).
- Client (UAC): Khởi tạo cỏc yờu cầu SIP và đúng vai trũ như tỏc nhõn chủ gọi của người dựng.
- Server (UAS): Nhận cỏc yờu cầu và thay mặt cho người sử dụng gửi trả cỏc đỏp ứng, đúng vai trũ như tỏc nhõn bị gọi.
Hỡnh 3.6 - Cỏc thành phần trong bỏo hiệu SIP
• Cỏc mỏy phục vụ mạng (Network server)
Cú hai loại Network server là proxy server và redirect server.
- Proxy server: Đúng vai trũ đại diện cho cỏc client. Nú bao gồm cả cỏc chức năng của server và client. Một proxy server thụng dịch và viết lại cỏc mào đầu của cỏc bản tin yờu cầu trước khi gửi chỳng đến cỏc server khỏc. Việc viết lại mào đầu làm cho proxy server đúng vai trũ như nơi khởi tạo cỏc yờu cầu và để đảm bảo rằng cỏc đỏp ứng sẽ được gửi về nú thay vỡ đến thẳng client.
- Redirect server: Nhận cỏc bản tin yờu cầu của SIP và gửi một đỏp ứng định hướng lại cho client cú chứa địa chỉ của server tiếp theo. Redirect server khụng chấp nhận cỏc cuộc gọi cũng như khụng xử lý hay chuyển tiếp cỏc bản tin yờu cầu của SIP.
• Đỏnh địa chỉ
Địa chỉ SIP hay cũn gọi là địa chỉ định vị tài nguyờn tổng quan URL (Univeral Resource Locator). Giống như địa chỉ thư điện tử SIP URL cú dạng user@host. Phần uer cú thể là tờn người sử dụng hoặc số điện thoại. Phần host cú thể là tờn miền hoặc địa chỉ mạng.
Vớ dụ : sip: ciscopress@cisco.com
sip: 4085262222@171.171.171.1
• Định vị mỏy phục vụ (Locating a server)
Một client cú thể gửi yờu cầu SIP trực tiếp tới proxy server nội hạt đó được đặt cấu hỡnh với nú hoặc tới địa chỉ IP và cổng của địa chỉ SIP URL tương ứng. Gửi một yờu cầu trực tiếp theo cỏch một tương đối đơn giản, cũn
gửi yờu cầu SIP theo phương thức thứ 2 cú phức tạp hơn vỡ những lý do sau:
- Client phải xỏc định địa chỉ IP và số hiệu cổng của server mà yờu cầu cần gửi tới.
- Nếu số hiệu cổng khụng cú trong địa chỉ SIP URL được yờu cầu thỡ cổng mặc định là 5060.
- Nếu loại giao thức khụng được liệt kờ trong SIP URL được yờu cầu thỡ client phải cố gắng thử kết nối UDP và sau đú là TCP.
- Client truy vấn mỏy phục vụ hệ thống tờn miền (Domain Name System) để tỡm địa chỉ IP của mỏy chủ. Nếu khụng tỡm thấy thỡ nú khụng thể định vị server và khụng thể tiếp tục gửi yờu cầu.
• Giao dịch SIP
Sau khi xỏc định được địa chỉ client gửi một hoặc nhiều yờu cầu SIP và nhận một hoặc nhiều đỏp ứng từ phớa server đớch. Mọi yờu cầu và đỏp ứng của quỏ trỡnh này đều là một phần của giao dịch SIP. Để đơn giản và nhất quỏn thỡ cỏc trường trong mào đầu của mọi bản tin yờu cầu phự hợp với cỏc trường của cỏc bản tin đỏp ứng.
Cỏc giao dịch SIP cú thể sử dụng UDP hoặc TCP. Trong trường hợp TCP, mọi bản tin yờu cầu và đỏp ứng của một giao dịch SIP cú thể truyền trờn cựng một kết nối TCP hoặc cỏc giao dịch riờng biệt giữa hai thực thể
cũng cú thể truyền trờn cựng
một kết nối TCP. Nếu sử dụng UDP, đỏp ứng gửi về địa chỉ cú trong trường mào đầu của bản tin yờu cầu. • Định vị người sử dụng (Locating user)
Bờn bị gọi cú thể di chuyển từ một hệ thống cuối tới nhiều hệ thống cuối khỏc. Vớ dụ một user di chuyển từ một mạng LAN về nhà mà ở nhà được kết nối với ISP (Internet Service Provider), hoặc tới một điểm kết nối Internet cụng cộng trong khi đang tham gia hội nghị. Do đú, cỏc dịch vụ định vị của SIP phải chứa đựng được sự linh hoạt và tớnh di động của hệ thống cuối IP.
Vị trớ của hệ thống cuối IP cú thể được đăng ký với SIP server hoặc cỏc server định vị khỏc nằm ngoài phạm vi của SIP. Trong trường hợp sau thỡ SIP server lưu trữ danh sỏch cỏc vị trớ dựa trờn cỏc server định vị này.
Hoạt động và kết quả của việc định vị một user phụ thuộc vào kiểu SIP server được sử dụng. Một server định hướng lại chỉ gửi lại toàn bộ danh sỏch vị trớ và cho phộp client định vị user một cỏch trực tiếp, cũn một proxy server sẽ thử cỏc địa chỉ này một cỏch song song cho tới khi cuộc gọi thành cụng.
3.2.2. Cỏc bản tin của SIP
SIP là một giao thức dựa trờn ký tự văn bản với cỳ phỏp bản in và cỏc trường mào đầu đồng nhất với giao thức truyền siờu văn bản HTTP (Hypper Text Transfer Protocol). SIP cú hai loại bản tin là cỏc bản in yờu cầu do cỏc client tạo ra và cỏc bản tin đỏp ứng do cỏc server trả về. Cỏc bản in của SIP truyền trờn cựng một kết nối TCP hoặc bú dữ liệu UDP.
• Mào đầu bản tin
Cỏc mào đầu bản tin được dựng để xỏc định bờn gọi, bờn bị gọi, tuyến, kiểu bản tin của cuộc gọi. Cú 4 nhúm mào đầu sau:
định thụng tin về loại và chiều dài phần mang bản tin. - Mào đầu yờu cầu: Cho phộp client thờm cỏc thụng tin yờu
cầu phụ.
- Mào đầu đỏp ứng: Cho phộp server thờm cỏc thụng tin đỏp ứng phụ. Cỏc trường cú trong cỏc mào đầu được chỉ ra trong bảng 3.1
Bảng 3.1 - Cỏc mào đầu bản tin SIP
Bảng 3.2 - Giải thớch một số trường mào đầu quan trọng • Cỏc bản tin yờu cầu
Cỏc bản tin yờu cầu được user agent và network server dựng để định vị, bắt đầu và quản lý cuộc gọi. Cú sỏu bản tin yờu cầu :
- INVITE: Để chỉ thị rằng thuờ bao hoặc dịch vụ được mời tham gia vào một phiờn. Nú bao gồm một mụ tả phiờn và đối với cỏc cuộc gọi song cụng thỡ bờn chủ gọi chỉ thị phương thức truyền thụng (media) trong bản tin này. Đỏp ứng thành cụng cho một bản tin INVITE song cụng (200 OK) sẽ mang thụng tin về kiểu media nhận của bờn bị gọi. Theo phương phỏp đơn giản này cỏc bờn cú thể xỏc định được cỏc khả năng của bờn kia và bắt đầu một phiờn hội thoại với một số lượng hạn chế cỏc bản tin và chu kỳ truyền tin (round trip).
- ACK: Những yờu cầu này tương ứng với một yờu cầu INVITE. Chỳng là sự xỏc nhận cuối cựng từ một hệ thống cuối và chấm dứt một giao dịch được khởi tạo bởi INVITE. Nếu bờn chủ gọi đưa một mụ tả phiờn vào trong bản tin yờu cầu ACK, phiờn làm việc sẽ khụng sử dụng thờm tham số phụ nào nữa cũn ngược lại thỡ cỏc tham số của phiờn cú trong bản tin INVITE được sử dụng như mặc định.
- OPTIONS: Bản tin này cho phộp truy vấn và tập hợp cỏc khả năng của user agent và network server. Tuy nhiờn yờu cầu này khụng được dựng để thiết lập phiờn.
- BYE: Bờn chủ gọi và bị gọi sử dụng yờu cầu này để giải phúng cuộc gọi. Trước khi thực sự giải phúng cuộc gọi, user agent gửi yờu cầu này tới server để cảnh bỏo rằng nú muốn giải phúng phiờn làm việc.
- CANCEL: Yờu cầu này cho phộp user agent và network server xoỏ bỏ bất kỳ một yờu cầu nào đang thi hành. Nú khụng ảnh hưởng đến cỏc yờu cầu đó được đỏp ứng cuối cựng.
- REGISTER: yờu cầu này được client dựng để đăng ký thụng tin định vị với SIP server.
• Cỏc bản tin đỏp ứng
Cỏc bản tin đỏp ứng dựa trờn việc nhận và thụng dịch một yờu cầu tương ứng. Chỳng được gửi đi để đỏp ứng cỏc yờu cầu và chỉ thị cuộc gọi thành cụng hay thất bại bao gồm cả trạng thỏi của server. Cú 6 lớp đỏp ứng, mó trạng thỏi và cỏc giải thớch của chỳng được liệt kờ trong bảng 3.3
Bảng 3.3- Cỏc đỏp ứng Sip
3.2.3. Khả năng tỡm gọi song song của SIP
Đõy là một trong những chức năng chớnh của Proxy server bờn cạnh chức năng nhận thực và đăng ký với dịch vụ định vị thuờ bao để cung cấp cỏc chức năng sau:
• Nếu thuờ bao đăng ký nhiều thiết bị đầu cuối thỡ cựng một thời điểm, Proxy sẽ thực hiện gửi bản tin Invite tới mọi thiết bị đầu cuối.
Vớ dụ như khi thuờ bao đăng ký ở hai thiết bị đầu cuối thỡ cựng một thời điểm, Proxy cố gắng tỡm thuờ bao ở cỏc vị trớ vật lý đú và định tuyến cuộc gọi tới cả hai Sip agent. Nếu thuờ bao nhất mỏy ở Sip user agent 1 và trả lời với bản tin 200 OK, proxy sẽ kết thỳc quỏ trỡnh thiết lập cuộc gọi tới user agent này và cũng kết thỳc quỏ trỡnh thiết lập cuộc gọi tới SIP user agent 2 bằng việc gửi bản tin yờu cầu Cancel.
Cơ chế tỡm thuờ bao trờn cú thể cho phộp tỡm kiếm nhanh chúng thuờ bao trong mạng. Được ỏp dụng ở cỏc dịch vụ như tin tức về giao thụng tới mỏy cầm tay, hay cỏc dịch vụ taxi... Do SIP cú khả năng cập nhật cỏc vị trớ của thuờ bao, và độ sẵn sàng của cỏc vị trớ đú, nờn nú cú thể thực hiện cỏc định tuyến thụng minh hơn đối với mạng PSTN hiện nay.
3.2.4. Cỏc quỏ trỡnh thiết lập cuộc gọi của SIP
• Cuộc gọi theo chế độ Proxy Server
Hỡnh 3.7 - Quỏ trỡnh thiết lập cuộc gọi qua Proxy server
Cỏc bước thiết lập cuộc gọi trong chế độ Proxy Server được thể hiện như trờn hỡnh 3.7: - Proxy chấp nhận yờu cầu INVITE từ bờn chủ gọi (client).
- Proxy server xỏc định vị trớ của bờn bị gọi bằng cỏch sử dụng cỏc địa chỉ được cung cấp trong bản tin INVITE và cỏc dịch vụ định vị (thụng thường nú tham vấn server định vị).
- Proxy server gửi yờu cầu INVITE tới địa chỉ mà nú vừa xỏc định được.
- Bờn bị gọi (server) cảnh bỏo cho người sử dụng biết và đỏp ứng lại bằng bản tin thành cụng 200 OK. - Proxy server lại đỏp ứng lại bờn chủ gọi bằng bản tin 200 OK.
- Bờn chủ gọi xỏc nhận bằng bản tin ACK. Bản tin này được gửi qua Proxy server hoặc được gửi trực tiếp tới bờn bị gọi.
Cỏc bước thiết lập cuộc gọi trong chế độ Redirect server:
- Redirect server chấp nhận yờu cầu INVITE từ bờn chủ gọi và xỏc định vị trớ của bờn bị gọi.
- Sau khi đó xỏc định được vị trớ của thuờ bao thỡ Redirect server gửi trực tiếp địa chỉ vừa nhận được cho phớa chủ gọi.
- Bờn chủ gọi gửi bản tin ACK tới Redirect server để hoàn tất phiờn giao dịch. - Bờn chủ gọi gửi trực tiếp yờu cầu INVITE tới bờn bị gọi.
- Bờn bị gọi đỏp ứng bằng bản tin 200 OK và bờn chủ gọi xỏc nhận bằng bản tin ACK.
3.2.5. So sỏnh giữa H.323 và SIP
Giữa H.323 và SIP cú nhiều điểm tương đồng. Cả hai đều cho phộp điều khiển, thiết lập và huỷ cuộc gọi. Cả H.323 và SIP đều hỗ trợ tất cả cỏc dịch vụ cần thiết, tuy nhiờn cú một số điểm khỏc biệt giữa hai chuẩn này. Đú là
• H.323 hỗ trợ hội nghị đa phương tiện rất phức tạp. Hội nghị H.323 về nguyờn tắc cú thể cho phộp cỏc thành viờn sử dụng những dịch vụ như bảng thụng bỏo, trao đổi dữ liệu, hoặc hội nghị video.
• SIP hỗ trợ SIP-CGI (SIP-Common Gateway Interface) và CPL(Call Processing Language). • SIP hỗ trợ điều khiển cuộc gọi từ một đầu cuối thứ 3. Hiện nay H.323 đang
Bảng 3.4 - So sỏnh H.323 và SIP
3.2.6. SIP-T
Do vấn đề làm việc liờn mạng giữa SIP và PSTN đặt ra ngày càng cấp thiết. Nờn nhúm IETF đó tập trung nghiờn cứu để tỡm gia những vấn đề cần bổ sung cho giao thức SIP hiện tại khi làm việc liờn mạng với mạng điện thoại truyền thống PSTN.
Mặt khỏc một thuộc tớnh rất quan trọng của bất kỳ một mạng điện thoại SIP nào là sự trong suốt mọi dịch vụ thoại truyền thống như chờ cuộc gọi, free phone được triển khai với cỏc giao thức mạng PSTN như bỏo hiệu số 7 phải được cung cấp bởi SIP.
Một thuộc tớnh quan trọng khỏc của mạng điện thoại SIP là khả năng định tuyến của cỏc yờu cầu SIP. Một yờu cầu SIP dựng để thiết lập cuộc gọi phải chứa đầy đủ thụng tin trong header của nú để cho phộp nú được định tuyến tới đớch bởi Proxy server. Cỏc tham số chớnh của một cuộc gọi như số bị gọi phải được truyền tải từ bản tin bỏo hiệu số 7 sang cỏc yờu cầu của SIP.
SIP-T (SIP Telephone) cố gắng cung cấp một phương thức tớch hợp bỏo hiệu thoại vào bản tin SIP. Nú thoả món hai thuộc tớnh trờn thụng qua cỏc kỹ thuật được là đúng gúi và dịch. ở một gateway SIP-ISUP, bản tin SS7-ISUP được đúng gúi ở trong SIP để những thụng tin cần thiết cho cỏc dịch vụ khụng bị loại bỏ trong cỏc yờu cầu của SIP. Tuy nhiờn, Proxy server cỏi mà chịu trỏch nhiệm cỏc quyết định định tuyến, khụng đũi hỏi phải hiểu ISUP, do đú đồng thời những thụng cần thiết nhất được dịch từ một bản tin ISUP sang cỏc mào đầu tương ứng của SIP để quyết định cỏc yờu cầu của SIP sẽ được định tuyến như thế nào.
cuộc gọi. Nú khụng cú một cơ chế nào để mang những thụng tin trong thời gian cuộc gọi như truy xuất ISUP INF/INR. Do đú cần phải cú một sự cung cấp việc truyền những thụng tin tuỳ biến của lớp ứng dụng ở trờn.
Bảng 3.5 - Cỏc yờu cầu liờn mạng giữa SS7-SIP