• 產品與解決方案
  • 行業解決方案
  • 服務
  • 支持
  • 合作夥伴
  • 關於我們

SIP技術介紹


SIP

SIP協議簡介

SIPSession Initiation Protocol,會話初始協議)是一個用於建立、更改和終止多媒體會話的應用層控製協議,其中的會話可以是IP電話、多媒體會話或多媒體會議。SIPIETF多媒體數據和控製體係結構的核心協議(最新RFC文檔是RFC 3261)。其主要目的是為了解決IP網中的信令控製,以及同軟交換平台的通信,從而構成下一代的增值業務平台,對電信、銀行、金融等行業提供更好的增值業務。

SIP用於發起會話,它能控製多個參與者參加的多媒體會話的建立和終結,並能動態調整和修改會話屬性,如會話帶寬要求、傳輸的媒體類型(語音、視頻和數據等)、媒體的編解碼格式、對組播和單播的支持等。SIP協議基於文本編碼,大量借鑒了成熟的HTTP協議,並且具有易擴展、易實現等特點,因此非常適合用來實現基於因特網的多媒體通信係統。

基本概念介紹

1. 多媒體會話

根據RFC 2327的定義,多媒體會話(Multimedia Session)是指一組多媒體發送者和接受者,以及從發送者到接受者的數據流。例如一個多媒體會議就是一個多媒體會話。一個會話由一組用戶名稱、會話ID、網絡類型、地址類型以及各個單元的地址來確定。

2. 用戶代理

用戶代理(UAUser Agent)也稱SIP終端,是指支持SIP協議的多媒體會話終端。一般使用支持SIP協議的路由器作為SIP UA

UA包括用戶代理客戶端(UACUser Agent Client)和用戶代理服務器(UASUser Agent Server)。一般說的UA均是指二者的總稱,因為在一次呼叫中,一個SIP終端既要處理SIP請求,又要發起SIP請求。

用戶代理客戶端是指在SIP會話建立過程中主動發送會話請求的設備。例如,主叫SIP終端。當代理服務器向被叫終端發送會話請求時,它就成為用戶代理客戶端。

用戶代理服務器是指在SIP會話建立過程中接收會話請求的設備。例如,被叫SIP終端。當代理服務器接收主叫終端發送會話請求時,也作為用戶代理服務器。

3. 代理服務器

代理服務器(Proxy Server)的作用就是傳遞主叫UA發送的會話請求到被叫UA,然後將被叫UA的響應傳遞回主叫UA,它相當於主叫UA和被叫UA之間傳遞會話消息的一座橋梁。代理服務器在接收到主叫UA的會話請求後,首先要向位置服務器請求查找被叫UA的位置以及主、被叫UA的呼叫策略信息。隻有找到被叫UA並且此呼叫是允許的,代理服務器才會向被叫UA發送會話請求。代理服務器一般在SIP會話中都是需要的。

4. 重定向服務器

重定向服務器(Redirect Server)用來指示客戶端連接的新地址。比如,主叫UA呼叫被叫UA,當重定向服務器收到主叫UA發送的會話請求消息後,查找被叫UA的位置信息,然後將其返回給主叫UA,使主叫UA重新向該位置發起會話請求。此位置可以是被叫UA的位置,也可以是一個代理服務器的位置。接下來主叫UA如同直接呼叫被叫UA或者向代理服務器呼叫的流程一樣。

5. 位置服務器

位置服務器(Location Server)是為代理服務器和重定向服務器等提供UA信息的設備。位置服務器記錄了注冊服務器接收到的UA的信息。二者可以獨立存在,也可以作為邏輯組件存在於同一台服務器上。

6. 注冊服務器

注冊服務器(Registrar Server)接受用戶注冊,注冊的內容(如本地號碼等信息)一般是存儲在位置服務器上,供後續查詢使用。二者都是邏輯組件,一般存在於同一台服務器上。

SIP的功能和特點

1. 功能

SIP主要有五個基本功能:

l              確定用戶位置:確定被叫SIP用戶所在的位置。SIP的最強大之處就是用戶定位功能,它可以利用SIP終端在注冊服務器上的注冊信息實現用戶定位,也可以利用其他定位服務器,如DNSLDAP等提供的定位服務來增強其定位功能。

l              確定用戶可用性:確定被叫會話終端是否可以參加此會話。SIP支持多種地址描述和尋址方式,包括SIP-URI(比如sip[email protected])、Tel-URL(比如tel+1312000)和SIPS-URIsips[email protected])。這樣,SIP主叫根據被叫地址,就可以識別出被叫是否在傳統電話網上,然後通過一個與傳統電話網相連的網關向被叫發起並建立呼叫。

l              確定用戶能力:確定被叫終端可用於參加會話的媒體類型及媒體參數。SIP終端在消息交互過程中攜帶自身的媒體類型和媒體參數,這使得會話雙方都可以明確對方的會話能力。

l              建立會話:建立主被叫雙方的會話。SIP會話雙方通過協商媒體類型和媒體參數,最終選擇雙方都具有的能力建立起會話。

l              管理會話:可以更改會話參數或中止會話。

2. 特點

SIP的特點如下:

l              標準的開放性。可以將不同運營商引進的各種新的功能、產品和服務整合在一起,供用戶自由地選擇。

l              配置的靈活性。兼容多種撥號方式,能在有線或無線的設備上實現,可以進行高度靈活的配置,並且能夠和其它係統協同工作。

l              係統可擴容性。隨著企業規模的擴大,係統也可以隨之擴充。

l              支持遠端用戶。無論用戶身在何方,都可以將企業的網絡延伸到那裏。

l              企業各部分通訊方式的一致性。分支機構、家庭辦公室和出差人員使用同樣的撥號方式和係統訪問方式,便於管理。

l              迅速啟動。當建立新的分支機構、吸納新的員工,或重新安排員工工作或改變其工作地點時,係統相應變更非常迅速。

l              易安裝、可維護。非專業人士也可以安裝或維護SIP係統。

SIP消息

SIP消息采用文本方式編碼,包括請求消息與響應消息兩類。

SIP請求消息包括INVITEACKOPTIONSBYECANCELREGISTER等。RFC 3261定義的請求消息有以下六種。

l              INVITE請求消息用於邀請用戶加入一個呼叫。

l              ACK:用於對請求消息的響應消息進行確認。

l              OPTIONS:用於請求協商能力信息。

l              BYE:用於釋放已建立的呼叫。

l              CANCEL:用於釋放尚未建立的呼叫。

l              REGISTER:用於向SIP注冊服務器登記用戶位置等信息。

SIP響應消息用於對請求消息進行響應,指示呼叫或注冊的成功或失敗狀態。不同類的響應消息由狀態碼來區分,狀態碼包含三位整數,狀態碼的第一位用於定義響應類型,另外兩位用於進一步對響應進行更加詳細的說明。響應消息的分類 1所示。

表 1 響應消息編號

狀態碼編號

消息含義

消息歸類

100~199

請求被收到,正在處理中

臨時消息

200~299

收到請求,並被成功處理,接受該請求

處理成功

300~399

要完成該請求需要更進一步的操作

重定向

400~499

消息語法錯誤,服務器不能處理該請求

客戶端出錯

500~599

由於UAS/Server的原因,無法處理該請求

服務器出錯

600~699

該請求在任何UAS/Server上都不能完成

全局錯誤

 

SIP工作原理簡介

1. 登記注冊

在完整的SIP係統中,所有的SIP終端作為User Agent都應該向注冊服務器登記注冊,以告知其位置、會話能力、呼叫策略等信息。

通常,SIP終端開機啟動或者配置管理員執行注冊操作時,就向注冊服務器發送注冊請求消息(REGISTER),該消息中攜帶了所有需要登記的信息。注冊服務器收到注冊請求消息後向終端發送回應消息,以告知其請求消息已收到。如果注冊成功,就再向終端發送“200 OK”消息。如 1所示。

圖 1 UARegistrar注冊的消息交互

 

2. 建立呼叫

SIP協議采用Client/Server模型,主要通過UA與代理服務器之間的通信來完成用戶呼叫的建立過程。

圖 2 UA通過Proxy Server建立呼叫

 

2所示,Telephone A需要呼叫電話Telephone B,兩台路由器作為SIP終端(UA)。當Telephone A撥完電話Telephone B的號碼後,Router AProxy Server發送會話請求消息。Proxy Server通過查找Telephone B的號碼所對應的信息,向Router B發送會話請求消息。Router B收到請求後,如果Telephone B可用,就向Proxy Server發送應答,並使Telephone B振鈴。Proxy Server收到應答後,向Router A發送應答消息。這裏所說的應答包括:兩個臨時應答(100 Trying 180 Ringing)和一個成功應答(200 OK)。整個過程中的消息交互如 3所示。

圖 3 UA通過Proxy Server建立呼叫的流程圖

 

這個例子是一種簡單的應用,隻使用了一個代理服務器。在複雜的應用中,可以有多個代理服務器,以及注冊服務器。

3. 重定向呼叫

SIP重定向服務器收到會話請求消息後,不是轉發會話請求消息,而是在回應消息中告知被叫SIP終端的地址。主叫終端從而重新直接向被叫終端發送會話請求消息。被叫終端也將直接向主叫終端發送應答消息。呼叫過程的消息交互如 4所示。

圖 4 UA重定向呼叫流程圖

 

這是比較常見的一種應用。從原理上來說,重定向服務器也可以向主叫終端回複一個代理服務器的地址,接下來的呼叫過程就和使用代理服務器的呼叫過程一樣。

SIP支持的傳輸協議

SIP是一個應用層的會話協議,與一般協議不同的是,SIP協議可以同時支持各種傳輸協議:

l              SIP支持UDP傳輸:UDP是一個無連接的協議,且不提供可靠性。在UDP上建立SIP連接存在不可靠性。

l              SIP支持TCP傳輸:增加了SIP報文和語音傳輸的可靠性,通過TCP協議自身的特點為基於SIPVoIP通信提供了麵向連接和可靠的傳輸。SIP使用TCP傳輸協議後,SIP協議可以不需要考慮報文丟失和重傳問題。

l              SIP支持TLSTransport Layer Security,傳輸層安全)傳輸:SIP支持TCP傳輸僅僅保證了SIP報文和語音傳輸的可靠性,而SIP支持TLS傳輸則保證了SIP報文傳輸的安全性,具體內容請參見“信令加”。

以上三種傳輸協議各具特點,用戶可以根據實際的應用環境采用不同的傳輸協議,目前不支持呼叫中切換傳輸協議。

SIP安全

信令加密

TLS本身運行於TCP之上,並且提供了通信雙方身份識別和加密SIP報文的一整套安全方案,為應用層協議服務。建立TLS連接時需要認證雙方用戶的身份,因此用戶雙方必須有各自合法的數字證書,隻有通過認證的用戶才可以進行後續的通信。使用TLS傳輸SIP報文,SIP報文在整個傳輸過程全部被加密,這樣能夠大程度的保護用戶數據不被他人非法竊取,提高了語音通信的安全性。

媒體流加密

目前支持的媒體流協議包括:RTPReal-time Transport Protocol,實時傳輸協議)和RTCPReal-Time Transport Control Protocol,實時傳輸控製協議)。RTP用於為具有實時特征的數據(如交互音頻和視頻)提供端到端網絡的實時傳輸服務;RTCP用於實時監控傳輸質量,並提供擁塞控製和流控製。RTPRTCP配合使用,就能以有效的反饋和最小的開銷使傳輸效率更佳。在網絡中媒體流是明文傳輸的,為了保證通信內容的安全性,SRTP協議應運而生。

SRTPSecure Real-time Transport Protocol,安全RTP協議)通過對RTP/RTCP報文的有效負載進行加密,實現對RTP/RTCP報文的加密、認證以及報文重傳保護。

采用SRTP加密媒體流,首先需要協商加密信息,目前僅支持在SDPSession Description Protocol,會話描述協議)中通過crypto頭域進行加密協商。發起方將本端支持的加密屬性信息發送給接收方進行協商,協商成功後,接收方返回相應的加密屬性信息。會話建立後,雙方各自使用自己的密鑰加密RTP/RTCP報文,使用對端的密鑰解密對方發送的RTP/RTCP報文。

SDP協商主要包括以下參數信息:

表 2 加密屬性參數

參數名稱

參數含義

說明

Tag

加密屬性信息標識符,在不同的加密屬性行中的tag值必須不同,接收方根據Tag值來決定使用哪一組加密屬性

必選協商參數

Crypto-Suite

加密套件,定義加密和認證使用的算法。目前隻支持AES_CM_128_HMAC_SHA1_80AES_CM_128_HMAC_SHA1_32兩種套件

必選協商參數

Key Parameters

密鑰參數定義密鑰信息,主要包括密鑰生成方法和密鑰值

必選協商參數

Session Parameters

會話信息定義了與該會話相關的參數,如密鑰衍生率、UNENCRYPTED_SRTPUNENCRYPTED_SRTCPUNAUTHENTICATED_SRTPFEC

可選協商參數,暫不支持

 

使用SRTP協議加密RTP/RTCP報文時,如果使能加密引擎,則使用加密引擎進行報文加密和認證處理,若未使能加密引擎,則使用CPU進行報文加密和認證處理。

組合使用

TLS可以保護通話中的控製信令,防止用戶信息被竊取。SRTP協議可以對語音媒體流進行加密和認證等保護措施。兩者可以單獨使用,也可以同時使用, 3列舉了四種組合方式。

表 3 組合列表

信令是否使用TLS

媒體是否使用SRTP

描述

信令報文是安全的,用戶的個人信息能夠得到有效保護

媒體報文是安全的,用戶的通話內容能夠得到有效保護

推薦使用

信令報文是不安全的,用戶的個人信息無法得到有效保護

媒體報文是安全的,用戶的通話內容能夠得到有效保護

信令報文是安全的,用戶的個人信息能夠得到有效保護

媒體報文是不安全的,用戶的通話內容無法得到有效保護

信令報文是不安全的,用戶的個人信息無法得到有效保護

媒體報文是不安全的,用戶的通話內容無法得到有效保護

 

SIP-T支持QSIG基本呼叫

5所示,使用QSIG信令的ISDN網絡發起呼叫,跨越SIP網絡到達另一側使用QSIGISDN網絡,在此應用中,連接ISDN網絡和SIP網絡的接口網關設備充當了對QSIG信令和SIP信令的互相轉換的功能。目前的此類網關設備大多隻能對基本呼叫信令進行轉換,對於大量的補充業務所涉及到的業務相關QSIG信令消息無法完全進行QSIGSIP信令間的互相映射,這些都需要使用一種在SIP消息體中封裝攜帶原始的QSIG信令內容的方法和新的流程,這種在SIP消息中以類似隧道的方式傳輸ISDN信令的方法稱為SIP-T協議。

圖 5 SIP承載QSIG信令消息呼叫流程圖

 

SIP-T協議的核心就是對ISDN消息進行封裝及解封裝。以上圖為例,Router ARouter B之間運行SIP協議,SIP網絡連接兩端ISDN網絡。對於兩端ISDN網絡之間的呼叫,發送端的QSIG信息最終將由入口網關處理,封裝到SIP報文中後再發送給出口網關。接收到SIP報文後,出口網關重新提取在SIP請求中封裝的QSIG信令發送到接收端ISDN側。

和簡單的對QSIG信令和SIP信令消息進行映射相比,SIP-T協議增強了ISDN信令內容的完整性和豐富性,使一端發送的ISDN信令信息可以無損傳輸到跨SIP網絡的ISDN另一側

目前,設備僅支持在SIP消息中攜帶QSIG信令。

 

 

附件下載

BOB登陆
官網
聯係我們