複製鏈接
請複製以下鏈接發送給好友

SIP

(會話發起協議)

鎖定
SIP(Session initialization Protocol,會話初始協議)是由IETF(Internet Engineering Task Force,因特網工程任務組)制定的多媒體通信協議
它是一個基於文本的應用層控制協議,用於創建、修改和釋放一個或多個參與者的會話。SIP 是一種源於互聯網的IP 語音會話控制協議,具有靈活、易於實現、便於擴展等特點。 [1] 
中文名
會話初始化協議
外文名
Session initialization Protocol
出現時間
二十世紀九十年代中期
發佈機構
IETF
發佈時間
1999年

SIP基本簡介

SIP(Session Initiation Protocol)是一個應用層的信令控制協議。用於創建、修改和釋放一個或多個參與者的會話。這些會話可以是Internet多媒體會議、IP電話或多媒體分發。會話的參與者可以通過組播(multicast)、網狀單播unicast)或兩者的混合體進行通信。
SIP與負責語音質量的資源預留協議(RSVP)互操作。它還與若干個其他協議進行協作,包括負責定位的輕型目錄訪問協議(LDAP)、負責身份驗證的遠程身份驗證撥入用户服務 (RADIUS) 以及負責實時傳輸的 RTP 等多個協議。 [2] 
隨着計算機科學技術的進步,基於分組交換技術IP數據網絡以其便捷性和廉價性,取代了基於電路交換的傳統電話網在通信領域的核心地位。SIP協議作為應用層信令控制協議,為多種即時通信業務提供完整的會話創建和會話更改服務,由此,SIP協議的安全性對於即時通信的安全起着至關重要的作用。 [3] 

SIP通信要求

1. 用户定位服務
2. 會話建立
3. 會話參與方管理
4. 特點的有限確定

SIP壓縮機制

SIP 壓縮機制主要是通過改變 SIP 消息的長度來降低時延。典型的 SIP 消息的大小由幾百到幾千字節,為了適合在窄帶無線信道上傳輸,IMS對SIP進行了擴展,支持SIP消息的壓縮。當無線信道一定時, 一條SIP消息所含幀數 k僅取決於消息大小。從時延模型可以看出,不僅影響 SIP 消息傳輸時延, 還影響SIP重傳的概率, 對自適應的定時器來説,k還成了影響定時器初值的關鍵因素。

SIP會話構成

SIP 會話使用多達四個主要組件:SIP 用户代理、SIP 註冊服務器、SIP 代理服務器和 SIP 重定向服務器。這些系統通過傳輸包括了 SDP 協議(用於定義消息的內容和特點)的消息來完成 SIP 會話。下面概括性地介紹各個 SIP 組件及其在此過程中的作用。

SIP用户代理

SIP 用户代理(UA) 是終端用户設備,如用於創建和管理 SIP 會話的移動電話、多媒體手持設備、PC、PDA 等。用户代理客户機發出消息。用户代理服務器對消息進行響應。

SIP註冊服務器

SIP 註冊服務器是包含域中所有用户代理的位置的數據庫。在 SIP 通信中,這些服務器會檢索出對方的 IP 地址和其他相關信息,並將其發送到 SIP 代理服務器。

SIP代理服務器

SIP 代理服務器接受 SIP UA 的會話請求並查詢 SIP 註冊服務器,獲取收件方 UA 的地址信息。然後,它將會話邀請信息直接轉發給收件方 UA(如果它位於同一域中)或代理服務器(如果 UA 位於另一域中)。

SIP重定向服務器

SIP 重定向服務器允許 SIP 代理服務器將 SIP 會話邀請信息定向到外部域。SIP 重定向服務器可以與 SIP 註冊服務器和 SIP 代理服務器同在一個硬件上。
SIP通過以下邏輯功能來完成通信:
  • 用户定位功能:確定參與通信的終端用户位置。
  • 用户通信能力協商功能:確定參與通信的媒體終端類型和具體參數。
  • 用户是否參與交互功能:確定某個終端是否加入某個特定會話中。
  • 建立呼叫和控制呼叫功能:包括向被叫“振鈴”、確定主叫和被叫的呼叫參數、呼叫重定向、呼叫轉移、終止呼叫等。
以下幾個情景説明 SIP 組件之間如何進行協調以在同一域和不同域中的 UA 之間建立 SIP 會話:
在同一域中建立 SIP 會話
如圖1所示,説明了在預訂同一個 ISP 從而使用同一域的兩個用户之間建立 SIP 會話的過程。用户 A 使用 SIP 電話。用户 B 有一台 PC,運行支持語音和視頻的軟客户程序。加電後,兩個用户都在 ISP 網絡中的 SIP 代理服務器上註冊了他們的空閒情況和 IP 地址。用户 A 發起此呼叫,告訴 SIP 代理服務器要聯繫用户 B。然後,SIP 代理服務器向 SIP 註冊服務器發出請求,要求提供用户 B 的 IP 地址,並收到用户 B 的 IP 地址。SIP 代理服務器轉發用户 A 與用户 B 進行通信的邀請信息(使用 SDP),包括用户 A 要使用的媒體。用户 B 通知 SIP 代理服務器可以接受用户 A 的邀請,且已做好接收消息的準備。SIP 代理服務器將此消息傳達給用户 A,從而建立 SIP 會話。然後,用户創建一個點到點 RTP 連接,實現用户間的交互通信。
圖1 圖1
1.呼叫用户 B
2.查詢B 在哪裏
3.響應B 的 SIP 地址
4.呼叫
5.響應
6.響應
7. 多媒體通道已建立
在不同的域中建立 SIP 會話
本情景與第一種情景的不同之處如下。用户 A 邀請正在使用多媒體手持設備的用户 B 進行 SIP 會話時,域 A 中的 SIP 代理服務器辨別出用户 B 不在同一域中。然後,SIP 代理服務器在 SIP 重定向服務器上查詢用户 B 的 IP 地址。SIP 重定向服務器既可在域 A 中,也可在域 B 中,也可既在域 A 中又在域 B 中。SIP 重定向服務器將用户 B 的聯繫信息反饋給 SIP 代理服務器,該服務器再將 SIP 會話邀請信息轉發給域 B 中的 SIP 代理服務器。域 B 中的 SIP 代理服務器將用户 A 的邀請信息發送給用户 B。用户 B 再沿邀請信息經由的同一路徑轉發接受邀請的信息。
圖2 圖2
1. 呼叫用户 B
2. 詢問B 中的用户
3. 響應
4. 呼叫域 B 的 SIP 代理
5. 查詢B 在哪裏
6. 用户 B 的地址
7. 代理呼叫
8. 響應
9. 響應
10.響應
11.多媒體通道已建立
無縫、靈活、可擴展:展望 SIP 未來
SIP 能夠連接使用任何 IP 網絡(有線 LANWAN、公共 Internet 骨幹網、移動 2.5G、3G 和 Wi-Fi)和任何 IP 設備(電話、PC、PDA、移動手持設備)的用户,從而出現了眾多利潤豐厚的新商機,改進了企業和用户的通信方式。基於 SIP 的應用(如 VOIP、多媒體會議、push-to-talk(按鍵通話)、定位服務、在線信息和 IM)即使單獨使用,也會為服務提供商、ISV網絡設備供應商和開發商提供許多新的商機。不過,SIP 的根本價值在於它能夠將這些功能組合起來,形成各種更大規模的無縫通信服務。
使用 SIP,服務提供商及其合作伙伴可以定製和提供基於 SIP 的組合服務,使用户可以在單個通信會話中使用會議、Web 控制、在線信息、IM 等服務。實際上,服務提供商可以創建一個滿足多個最終用户需求的靈活應用程序組合,而不是安裝和支持依賴於終端設備有限特定功能或類型的單一分散的應用程序。
通過在單一、開放的標準 SIP 應用架構下合併基於 IP 的通信服務,服務提供商可以大大降低為用户設計和部署基於 IP 的新的創新性託管服務的成本。它是 SIP 可擴展性促進本行業和市場發展的強大動力,是我們所有人的希望所在。

SIP常用消息

SIP協議的亮點卻不在於它的強大,而是在於:簡單!
SIP協議是一個Client/Sever協議,因此SIP消息分兩種:請求消息和響應消息。請求消息是SIP客户端為了激活特定操作而發給服務器端的消息。常用的SIP請求消息如下:
  • INVITE:表示主叫用户發起會話請求,邀請其他用户加入一個會話。也可以用在呼叫建立後用於更新會話(此時該INVITE又稱為Re-invite)。
  • ACK:客户端向服務器端證實它已經收到了對INVITE請求的最終響應。
  • PRACK:表示對1xx響應消息的確認請求消息。
  • BYE:表示終止一個已經建立的呼叫。
  • CANCEL:表示在收到對請求的最終響應之前取消該請求,對於已完成的請求則無影響。
  • REGISTER:表示客户端向SIP服務器端註冊列在To字段中的地址信息。
  • OPTIONS:表示查詢被叫的相關信息和功能。
SIP協議中的響應消息用於對請求消息進行響應,指示呼叫的成功或失敗狀態。
常用的一些響應消息:
  • 100試呼叫(Trying)
  • 180振鈴(Ringing)
  • 181呼叫正在前轉(Call is Being Forwarded)
  • 200成功響應(OK)
  • 302臨時遷移(Moved Temporarily)
  • 400錯誤請求(Bad Request)
  • 401未授權(Unauthorized)
  • 403禁止(Forbidden)
  • 404用户不存在(Not Found)
  • 408請求超時(Request Timeout)
  • 480暫時無人接聽(Temporarily Unavailable)
  • 486線路忙(Busy Here)
  • 504服務器超時(Server Time-out)
  • 600全忙(Busy Everywhere)

SIP協議比較

H.323協議和SIP協議的比較
H.323和SIP分別是通信領域與因特網兩大陣營推出的協議。H.323企圖把IP電話當作是眾所周知的傳統電話,只是傳輸方式發生了改變,由電路交換變成了分組交換。而SIP協議側重於將IP電話作為因特網上的一個應用,較其它應用(如FTPE-mail等)增加了信令和QoS的要求,它們支持的 業務基本相同,也都利用RTP作為媒體傳輸的協議。但H.323是一個相對複雜的協議。
H.323採用基於ASN.1和壓縮編碼規則二進制方法表示其消息。ASN.1通常需要特殊的代碼生成器來進行詞法和語法分析。而SIP的基於文本的協議,類似於HTTP。基於文本的編碼意味着頭域的含義是一目瞭然的,如From、To、Subject等域名。這種分佈式、幾乎不需要複雜的文檔説明的標準規範風格,其優越性已在過去的實踐中得到了充分的證明(如今廣為流行的郵件協議SMTP就是 這樣的一個例子)。SIP的消息體部份採用SDP進行描述,SDP中的每一項格式為=,也比較簡單。
在支持會議電話方面,H.323由於由多點控制單元(MCU)集中執行會議控制功能,所有參加會議終端都向MCU發送控制消息,MCU可能會成為瓶頸,特別是對於具有附加特性的大型會議;並且H.323不支持信令的組播功能,其單功能限制了可擴展性,降低了可靠性。而SIP設計上就為分佈式的呼叫模型,具有分佈式的組播功能,其組播功能不僅便於會議控制,而且簡化了用户定位、羣組邀請等,並且能節約帶寬。但是H.323的集中控制便於計費,對帶寬的管理也比較簡單、有效。
H.323中定義了專門的協議用於補充業務,如H.450.1、H.450.2和H.450.3等。SIP並未專門定義的協議用於此目的,但它很方便地支持補充業務或智能業務。只要充分利用SIP已定義的頭域(如Contact頭域),並對SIP進行簡單的擴展(如增加幾個域),就可以實現這些業務。例如對於呼叫 轉移,只要在BYE請求消息中添加Contact頭域,加入意欲轉至的第三方地址就可以實現此業務。對 於通過擴展頭域較難實現的一些智能業務,可在體系結構中增加業務代理,提供一些補充服務或與 智能網設備的接口。
在H.323中,呼叫建立過程涉及到第三條信令信致到:RAS信令信道、呼叫信令信道和H.245控制信道。通過這三條信道的協調才使得H.323的呼叫得以進行,呼叫建立時間很長。在SIP中,會話請求過程和媒體協商過程等一起進行。儘管H.323v2已對呼叫建立過程作了改進,但較之SIP只需要1.5個迴路時延來建立呼叫,仍是無法相比。H.323的呼叫信令通道和H.245控制信道需要可靠的傳 輸協議。而SIP獨立於低層協議,一般使用UDP等無法連接的協議,用自己信用層的可靠性機制來保 證消息的可靠傳輸
總之,H.323沿用的是傳統的實現電話信令模式,比較成熟,已經出現了不少H.323產品。H.323符合通信領域傳統的設計思想,進行集中、層次控制,採用H.323協議便於與傳統的電話網相連。SIP協議借鑑了其它因特網的標準和協議的設計思想,在風格上遵循因特網一貫堅持的簡練、開放、兼容和可擴展等原則,比較簡單。
以下針對它們的應用目標、標準結構、系統組成以及系統實現的難易程度等幾個方面進行簡單分析。

SIP標準應用目標

h.323標準是itu-t組織 1996年在h.320/h.324的基礎上建立起來的,其應用目標是,在基ip的網絡環境中,實現可靠的面向音視頻和數據的實時應用。如今經過多年的技術發展和標準的不斷完善,h.323已經成為被廣大的itu成員以及客户所接受的一個成熟標準族。
sip標準是ietf組織在1999年提出的,其應用目標是在基於internet環境,實現數據、音視頻實時通訊,特別是通過internet將視頻通訊這種應用大眾化,引入到千家萬户。由於sip協議相對於h.323而言,相對簡單、自由,廠商可以使用相對小的成本就可以構造滿足應用的系統。例如僅僅使用微軟基於sip協議的msn,和rtc就可以構造一個簡單的,基於internet應用環境的視頻通訊環境。這樣網絡運營商就可以在儘量少的成本基礎上,利用現有的網絡資源開展視音頻通訊業務的擴展工作。

SIP標準體系結構

h.323是一個單一標準,而不是一個關於在ip環境中實時多媒體應用的完整標準族,對於呼叫的建立、管理以及所傳輸媒體格式等各個方面都有完善而嚴格的規定。一個遵守h.323標準建立的多媒體系統,可以保證實現客户穩定完善的多媒體通訊應用。
sip標準嚴格意義上講是一個實現實時多媒體應用的信令標準,由於它採用了基於文本的編碼方式,使得它在應用上,特別是點到點的應用環境中,具有極大的靈活性、擴充性以及跨平台使用的兼容性,這一點使得運營商可以十分方便的利用現有的網絡環境實現大規模的推廣應用。
但是sip協議自身不支持多點的會議功能以及管理和控制功能,而是要依賴於別的協議實現,影響了系統的完備性,特別是對於需要多點通訊的要求,應用單純的sip系統難以實現。針對這些不足,以radvison公司為首的itu-t sg16小組提出了sip的運用規範,並實現了sip和h.323之間的互通互聯,併成功的解決了sip在多點環境下的應用難題。

SIP系統組成結構

首先,在系統主要組成成員的功能性方面進行類比,sip的ua等價於一個h.323的終端,實現呼叫的發起和接收,並完成所傳輸媒體的編解碼應用;sip代理服務器、重定向服務器以及註冊服務器的功能則等價於h.323的gatekeeper,實現了終端的註冊、呼叫地址的解析以及路由。
其次,雖然在呼叫信令和控制的具體實現上不同,但一個基於sip的呼叫流程與h.323的q931相類似,sip所採用的會話描述協議(sdp)則類似於h.323中的呼叫控制協議h.245。

SIP實現難易性

h.323標準的信令信息是採用符合asn.1 per的二進制編碼,並且在連接實現全過程都要嚴格標準的定義,系統的自由度小,如要實現大規模的應用,需要對整個網絡的各個環節進行規劃。
sip標準的信令信息是基於文本的,採用符合iso10646的utf-8編碼,並且全系統的構造結構相對靈活,終端和服務器的實現也相對容易成本也較低,從網絡運營商的角度考慮,構造一個大規模視頻通訊網絡,採用sip系統的成本要廉價許多,而且也更具有可實現性
參考資料