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