SIP協(xié)議的具體結構
SIP協(xié)議可能大家有所接觸。那么則個協(xié)議的意思是會話初始化協(xié)議,是一種應用層控制協(xié)議。那么更多具體的功能和應用是什么呢?它可用來創(chuàng)建、修改或終止多媒體會話,如因特網(wǎng)電話呼叫。SIP 能夠邀請參與者加入已存在的會話,如組播會議。現(xiàn)有的會話中可以添加或刪除媒體。SIP協(xié)議支持名稱映射和重定向服務,其支持用戶移動性。不管用戶網(wǎng)絡位置在哪,用戶只需維持單一外部可視標識符。
SIP 在五個方面支持創(chuàng)建和終止多媒體通信:
用戶定位:決定用于通信的終端系統(tǒng)的確定;
用戶可用性:決定被叫方是否愿意加入通信;
用戶能力:媒體和媒體參數(shù)的確定;
呼叫建立:“響鈴“,主叫方和被叫方的會話參數(shù)的建立;
呼叫管理:包括傳輸和終止會話、修改呼叫參數(shù)和調(diào)用服務。
SIP協(xié)議可以結合其它 IETF 協(xié)議來建立完善的多媒體結構,如提供實時數(shù)據(jù)傳輸和服務質(zhì)量(QOS)反饋的實時傳輸協(xié)議(RTP)、提供流媒體發(fā)送控制的實時流協(xié)議(RTSP)、為公用交換電話網(wǎng)絡(PSTN)提供網(wǎng)關控制的媒體網(wǎng)關控制協(xié)議(MEGACO),以及描述多媒體會話的會話描述協(xié)議(SDP)。因此,SIP 需要與其它協(xié)議協(xié)同作用來為用戶提供完善的服務。然而 SIP 的基本功能和操作并不依賴于這些協(xié)議。
SIP 提供了一組安全服務,包括防止拒絕服務攻擊、認證(用戶對用戶和代理對用戶)、完整性保護和加密及隱私服務。
SIP協(xié)議同時支持 IPv4 和 IPv6 。關于因特網(wǎng)電話會話,SIP 做如下工作:
通過 SIP 地址識別主叫方和被叫方。當建立一個 SIP 呼叫時,主叫方首先定位適合的服務器,然后發(fā)出一個 SIP 請求。最通常的 SIP 行為是邀請。SIP 請求會被代理重定向或者觸發(fā)一系列的新 SIP 請求,而不是直接到達目的被叫方。用戶可以通過 SIP 服務器注冊他們的位置。SIP 地址(URL)可以嵌入到網(wǎng)頁中,因此只要點擊一下就可以和對方建立呼叫會話。
協(xié)議結構
SIP 信息可以在 TCP 上傳輸也可以在 UDP 上傳輸。SIP 信息是基于文本的,采用 UTF-8 編碼中的 ISO 10646 字符集。信息的每一行必須通過 CRLF 終止。大多數(shù)信息語法和頭字段類似于 HTTP。SIP 信息可以是請求信息也可以是響應信息。
一個請求信息具有以下格式:
Method | Request URI | SIP version |
Method ― 資源上所執(zhí)行的方法。可能的方法有:Invite、Ack、Options、Bye、Cancel 和 Register。
Request-URI ― 指一個 SIP URL 或一個通用 URI;是請求要被尋址到用戶或服務。
SIP version ― 正在使用的 SIP 版本。
響應信息頭的格式見下圖 :
SIP version | Status code | Reason phrase |
SIP version ―正在使用的SIP協(xié)議版本。
Status-code ― 3 位整數(shù)結果代碼,用于試圖了解和滿足請求要求。
Reason-phrase ― status code 的原文描述。