Giao thức SIP do nhúm làm việc MMUSIC (Multiparty Multimedia Session Control) của IETF phỏt triển, là một giao thức bỏo hiệu điều khiển thuộc lớp ứng dụng dựng để thiết lập, điều chỉnh và kết thỳc phiờn làm việc của một hay nhiều người tham gia [1.5.8].
SIP là một giao thức đơn giản, dựa trờn văn bản (text-based) được sử dụng để hỗ trợ trong việc cung cấp cỏc dịch vụ thoại tăng cường qua mạng Internet.
Hình 13: Giao thức SIP trong mụ hỡnh phõn lớp hệ thống
2.6.1.1.Cỏc chức năng của SIP
SIP cú cỏc chức năng chớnh sau:
- Xỏc định vị trớ của người sử dụng (user location): Hay cũn gọi là chức năng dịch tờn (name translation) và xỏc định người được gọi. Dựng để đảm bảo cuộc gọi đến được người nhận dự họ ở đõu.
- Xỏc định khả năng của người sử dụng: Cũn gọi là chức năng thương lượng đặc tớnh cuộc gọi (feature negotiation). Dựng để xỏc định loại thụng tin và cỏc loại thụng số liờn quan đến thụng tin sẽ được sử dụng.
- Xỏc định sự sẵn sàng của người sử dụng: Dựng để xỏc định người được gọi cú muốn tham gia vào kết nối hay khụng.
- Thiết lập cuộc gọi: Chức năng này thực hiện việc rung chuụng, thiết lập cỏc thụng số cuộc gọi của cỏc bờn tham gia kết nối.
- Xử lý cuộc gọi: Bao gồm chuyển và kết thỳc cuộc gọi, quản lý những người tham gia cuộc gọi, thay đổi đặc tớnh cuộc gọi.
2.6.1.2.Cỏc thành phần của SIP
Cỏc thành phần chớnh của SIP bao gồm cỏc Agent và cỏc Server:
- User Agent Client (UAC): Cũn được gọi là Calling User Agent. Là một ứng dụng khỏch (client) cú chức năng khởi tạo một yờu cầu SIP.
- User Agent Server (UAS): Cũn được gọi là Called User Agent. Là một ứng dụng chủ (server) dựng để liờn lạc với người dựng khi nhận được yờu cầu SIP và sau đú trả đỏp ứng về người sử dụng.
- Proxy Server: Là chương trỡnh ứng dụng trung gian dựng để tạo yờu cầu SIP. Cỏc yờu cầu này cú thể được phục vụ ngay tại server hay được chuyển sang server khỏc sau quỏ trỡnh chuyển đổi tờn. Proxy server biờn dịch và cú thể tạo lại bản tin yờu cầu trước khi chuyển tiếp bản tin đi.
Cú 2 loại proxy server: proxy server cú nhớ (stateful) và khụng nhớ (stateless). Trong đú proxy server cú nhớ là server cú khả năng lưu trữ thụng tin về một yờu cầu và đỏp ứng của nú.
- Location/Registration Server: Là server được cỏc server cũn lại sử dụng để lấy thụng tin về vị trớ của người được gọi.
- Redirect Server: Là server nhận yờu cầu SIP, sau đú tiến hành dịch địa chỉ nhận từ người dựng sang địa chỉ mới và gởi trả về ứng dụng khỏch.
2.6.1.3.Cỏc bản tin
SIP sử dụng phương phỏp mó hoỏ kiểu văn bản với cấu trỳc bản tin theo kiểu hỏi/đỏp, bao gồm cỏc bản tin sau:
- INVITE - Bắt đầu thiết lập cuộc gọi bằng cỏch gửi bản tin mời đầu cuối khỏc tham gia
- ACK - Bản tin này khẳng định client (mỏy trạm) đó nhận được bản tin trả lời bản tin INVITE
- BYE - Bắt đầu kết thỳc cuộc gọi
- CANCEL - Hủy yờu cầu đang nằm trong hàng đợi
- REGISTER - Đầu cuối SIP sử dụng bản tin này để đăng ký với Registrar Server
- OPTIONS - Sử dụng để xỏc định năng lực của mỏy chủ - INFO - Sử dụng để tải cỏc thụng tin như õm bỏo DTMF
2.6.1.4.Cỏc mó đỏp ứng của SIP
- 1xx: Cho biết yờu cầu đó được nhận, đang xử lý yờu cầu gởi đến.
- 2xx: Thành cụng. Hành động đó được nhận thành cụng và được chấp nhận. - 3xx: Yờu cầu xỏc định lại. Một số hành động cần được thực hiện để hoàn tất
yờu cầu.
- 4xx: Cú lỗi ở client. Điều này cú nghĩa là trong yờu cầu cú lỗi cỳ phỏp hay server khụng thể thi hành yờu cầu.
- 5xx: Cú lỗi ở server. Điều này cú nghĩa là server bị quỏ tải để thi hành hay đưa ra yờu cầu.
- 6xx: Lỗi toàn cục. Điều này cú nghĩa là yờu cầu khụng thể thi hành ở bất cứ server nào.
2.6.1.5.Hoạt động của SIP
Trong hội thoại SIP, mỗi bờn tham gia (bờn chủ gọi và bờn bị gọi) được gắn một địa chỉ SIP hay cũn gọi là SIP URL (SIP Uniform ResourceLocator). Người sử dụng phải đăng ký vị trớ của họ với SIP Server. Để tạo một cuộc gọi SIP, phớa chủ gọi định vị tới mỏy chủ thớch ứng và sau đú gửi một yờu cầu SIP. Hoạt động SIP thường xuyờn nhất là lời mời cỏc thành viờn tham gia hội thoại. Thành phần đăng ký đúng vai trũ tiếp nhận cỏc yờu cầu đăng ký từ UA (User Agent) và lưu trữ cỏc thụng tin này tại một dịch vụ phi SIP (Non-SIP).
Quỏ trỡnh thiết lập và hủy một phiờn liờn lạc SIP diễn ra như sau: 1. Đăng kớ, khởi tạo và định vị đầu cuối
2. Mụ tả phiờn của đầu cuối được mời tham gia (õm thanh, video hay đa phương tiện)
3. Xỏc nhận thỏi độ hưởng ứng của đầu cuối được mời
4. Nếu đầu cuối được mời cú thỏi độ tớch cực, cuộc gọi được thiết lập 5. Cỏc nhiệm vụ xử lý trong quỏ trỡnh cuộc gọi
Cú thể minh họa quỏ trỡnh này trong hỡnh vẽ dưới đõy:
Hình 14: Thiết lập và hủy cuộc gọi SIP