1、SIP協(xié)議簡介
??SIP(Session Initiation Protocol,會話初始協(xié)議)是一個用于建立、更改和終止多媒體會話的應(yīng)用層控制協(xié)議,其中的會話可以是IP電話、多媒體會話或多媒體會議(GB28181安防使用的是SIP協(xié)議)。SIP是IETF多媒體數(shù)據(jù)和控制體系結(jié)構(gòu)的核心協(xié)議。其主要目的是為了解決IP網(wǎng)中的信令控制,以及同軟交換平臺的通信,從而構(gòu)成下一代的增值業(yè)務(wù)平臺,對電信、銀行、金融等行業(yè)提供更好的增值業(yè)務(wù)。SIP用于發(fā)起會話,它能控制多個參與者參加的多媒體會話的建立和終結(jié),并能動態(tài)調(diào)整和修改會話屬性,如會話帶寬要求、傳輸?shù)拿襟w類型(語音、視頻和數(shù)據(jù)等)、媒體的編解碼格式、對組播和單播的支持等。SIP協(xié)議基于文本編碼,大量借鑒了成熟的HTTP協(xié)議,并且具有易擴(kuò)展、易實(shí)現(xiàn)等特點(diǎn),因此非常適合用來實(shí)現(xiàn)基于因特網(wǎng)的多媒體通信系統(tǒng)。
2、基本概念介紹
- 多媒體會話:根據(jù)RFC 2327的定義,多媒體會話(Multimedia Session)是指一組多媒體發(fā)送者和接受者,以及從發(fā)送者到接受者的數(shù)據(jù)流。例如一個多媒體會議就是一個多媒體會話。一個會話由一組用戶名稱、會話ID、網(wǎng)絡(luò)類型、地址類型以及各個單元的地址來確定。
- 注冊服務(wù)器:注冊服務(wù)器(Registrar Server)接受用戶注冊,注冊的內(nèi)容一般是存儲在位置服務(wù)器上,供后續(xù)查詢使用。二者都是邏輯組件,一般存在于同一臺服務(wù)器上。
- 用戶代理:用戶代理(UA,User Agent)也稱SIP終端,是指支持SIP協(xié)議的多媒體會話終端。
- 代理服務(wù)器:代理服務(wù)器(Proxy Server)的作用就是傳遞主叫UA發(fā)送的會話請求到被叫UA,然后將被叫UA的響應(yīng)傳遞回主叫UA,它相當(dāng)于主叫UA和被叫UA之間傳遞會話消息的一座橋梁。代理服務(wù)器在接收到主叫UA的會話請求后,首先要向位置服務(wù)器請求查找被叫UA的位置以及主、被叫UA的呼叫策略信息。只有找到被叫UA并且此呼叫是允許的,代理服務(wù)器才會向被叫UA發(fā)送會話請求。代理服務(wù)器一般在SIP會話中都是需要的。
- 重定向服務(wù)器:重定向服務(wù)器(Redirect Server)用來指示客戶端連接的新地址。比如,主叫UA呼叫被叫UA,當(dāng)重定向服務(wù)器收到主叫UA發(fā)送的會話請求消息后,查找被叫UA的位置信息,然后將其返回給主叫UA,使主叫UA重新向該位置發(fā)起會話請求。此位置可以是被叫UA的位置,也可以是一個代理服務(wù)器的位置。接下來主叫UA如同直接呼叫被叫UA或者向代理服務(wù)器呼叫的流程一樣。
3、SIP功能和特點(diǎn)
SIP的主要基本功能:
- 確定用戶能力:確定被叫終端可用于參加會話的媒體類型及媒體參數(shù)。SIP終端在消息交互過程中攜帶自身的媒體類型和媒體參數(shù),這使得會話雙方都可以明確對方的會話能力。
- 建立會話:建立主被叫雙方的會話。SIP會話雙方通過協(xié)商媒體類型和媒體參數(shù),最終選擇雙方都具有的能力建立起會話。
- 管理會話:可以更改會話參數(shù)或中止會話。
- 確定用戶位置:確定被叫SIP用戶所在的位置。SIP的最強(qiáng)大之處就是用戶定位功能,它可以利用SIP終端在注冊服務(wù)器上的注冊信息實(shí)現(xiàn)用戶定位,也可以利用其他定位服務(wù)器,如DNS、LDAP等提供的定位服務(wù)來增強(qiáng)其定位功能。
- 確定用戶可用性:確定被叫會話終端是否可以參加此會話。SIP支持多種地址描述和尋址方式,包括SIP-URI(比如sip:123456@172.18.24.11)、Tel-URL(比如tel:+1312000)和SIPS-URI(sips:123456@172.18.24.11)。這樣,SIP主叫根據(jù)被叫地址,就可以識別出被叫是否在傳統(tǒng)電話網(wǎng)上,然后通過一個與傳統(tǒng)電話網(wǎng)相連的網(wǎng)關(guān)向被叫發(fā)起并建立呼叫。
SIP的特點(diǎn)如下:
- 標(biāo)準(zhǔn)的開放性??梢詫⒉煌\(yùn)營商引進(jìn)的各種新的功能、產(chǎn)品和服務(wù)整合在一起,供用戶自由地選擇。
- 配置的靈活性。兼容多種撥號方式,能在有線或無線的設(shè)備上實(shí)現(xiàn),可以進(jìn)行高度靈活的配置,并且能夠和其它系統(tǒng)協(xié)同工作。
- 系統(tǒng)可擴(kuò)容性。隨著企業(yè)規(guī)模的擴(kuò)大,系統(tǒng)也可以隨之?dāng)U充。
- 支持遠(yuǎn)端用戶。無論用戶身在何方,都可以將企業(yè)的網(wǎng)絡(luò)延伸到那里。
- 企業(yè)各部分通訊方式的一致性。分支機(jī)構(gòu)、家庭辦公室和出差人員使用同樣的撥號方式和系統(tǒng)訪問方式,便于管理。
- 迅速啟動。當(dāng)建立新的分支機(jī)構(gòu)、吸納新的員工,或重新安排員工工作或改變其工作地點(diǎn)時,系統(tǒng)相應(yīng)變更非常迅速。
- 易安裝、可維護(hù)。非專業(yè)人士也可以安裝或維護(hù)SIP系統(tǒng)。
4、SIP消息
??SIP消息采用文本方式編碼,包括請求消息與響應(yīng)消息兩類。SIP請求消息包括INVITE、ACK、OPTIONS、BYE、CANCEL和REGISTER等。RFC 3261定義的請求消息有以下六種。
- INVITE請求消息用于邀請用戶加入一個呼叫。
- ACK:用于對請求消息的響應(yīng)消息進(jìn)行確認(rèn)。
- OPTIONS:用于請求協(xié)商能力信息。
- BYE:用于釋放已建立的呼叫。
- CANCEL:用于釋放尚未建立的呼叫。
- REGISTER:用于向SIP注冊服務(wù)器登記用戶位置等信息。
??SIP響應(yīng)消息用于對請求消息進(jìn)行響應(yīng),指示呼叫或注冊的成功或失敗狀態(tài)。不同類的響應(yīng)消息由狀態(tài)碼來區(qū)分,狀態(tài)碼包含三位整數(shù),狀態(tài)碼的第一位用于定義響應(yīng)類型,另外兩位用于進(jìn)一步對響應(yīng)進(jìn)行更加詳細(xì)的說明。響應(yīng)消息的分類表 1所示。
5、SIP工作原理
(1)登記注冊
??在完整的SIP系統(tǒng)中,所有的SIP終端作為User Agent都應(yīng)該向注冊服務(wù)器登記注冊,以告知其位置、會話能力、呼叫策略等信息。通常,SIP終端開機(jī)啟動或者配置管理員執(zhí)行注冊操作時,就向注冊服務(wù)器發(fā)送注冊請求消息(REGISTER),該消息中攜帶了所有需要登記的信息。注冊服務(wù)器收到注冊請求消息后向終端發(fā)送回應(yīng)消息,以告知其請求消息已收到。如果注冊成功,就再向終端發(fā)送“200 OK”消息。如圖 1所示。
(2)建立呼叫
??SIP協(xié)議采用Client/Server模型,主要通過UA與代理服務(wù)器之間的通信來完成用戶呼叫的建立過程。
??如圖 2所示,Telephone A需要呼叫電話Telephone B,兩臺路由器作為SIP終端(UA)。當(dāng)Telephone A撥完電話Telephone B的號碼后,Router A向Proxy Server發(fā)送會話請求消息。Proxy Server通過查找Telephone B的號碼所對應(yīng)的信息,向Router B發(fā)送會話請求消息。Router B收到請求后,如果Telephone B可用,就向Proxy Server發(fā)送應(yīng)答,并使Telephone B振鈴。Proxy Server收到應(yīng)答后,向Router A發(fā)送應(yīng)答消息。這里所說的應(yīng)答包括:兩個臨時應(yīng)答(100 Trying 和180 Ringing)和一個成功應(yīng)答(200 OK)。整個過程中的消息交互如圖 3所示。
??這個例子是一種簡單的應(yīng)用,只使用了一個代理服務(wù)器。在復(fù)雜的應(yīng)用中,可以有多個代理服務(wù)器,以及注冊服務(wù)器。
(3)重定向呼叫
??SIP重定向服務(wù)器收到會話請求消息后,不是轉(zhuǎn)發(fā)會話請求消息,而是在回應(yīng)消息中告知被叫SIP終端的地址。主叫終端從而重新直接向被叫終端發(fā)送會話請求消息。被叫終端也將直接向主叫終端發(fā)送應(yīng)答消息。呼叫過程的消息交互如圖 4所示。
??這是比較常見的一種應(yīng)用。從原理上來說,重定向服務(wù)器也可以向主叫終端回復(fù)一個代理服務(wù)器的地址,接下來的呼叫過程就和使用代理服務(wù)器的呼叫過程一樣。
6、SIP支持的傳輸協(xié)議
??SIP是一個應(yīng)用層的會話協(xié)議,與一般協(xié)議不同的是,SIP協(xié)議可以同時支持各種傳輸協(xié)議:
- SIP支持UDP傳輸:UDP是一個無連接的協(xié)議,且不提供可靠性。在UDP上建立SIP連接存在不可靠性。
- SIP支持TCP傳輸:增加了SIP報(bào)文和語音傳輸?shù)目煽啃?,通過TCP協(xié)議自身的特點(diǎn)為基于SIP的VoIP通信提供了面向連接和可靠的傳輸。SIP使用TCP傳輸協(xié)議后,SIP協(xié)議可以不需要考慮報(bào)文丟失和重傳問題。
- SIP支持TLS(Transport Layer Security,傳輸層安全)傳輸:SIP支持TCP傳輸僅僅保證了SIP報(bào)文和語音傳輸?shù)目煽啃?,而SIP支持TLS傳輸則保證了SIP報(bào)文傳輸?shù)陌踩?,具體內(nèi)容請參見“信令加密”。
??以上三種傳輸協(xié)議各具特點(diǎn),用戶可以根據(jù)實(shí)際的應(yīng)用環(huán)境采用不同的傳輸協(xié)議,目前不支持呼叫中切換傳輸協(xié)議。
7、SIP安全
信令加密
??TLS本身運(yùn)行于TCP之上,并且提供了通信雙方身份識別和加密SIP報(bào)文的一整套安全方案,為應(yīng)用層協(xié)議服務(wù)。建立TLS連接時需要認(rèn)證雙方用戶的身份,因此用戶雙方必須有各自合法的數(shù)字證書,只有通過認(rèn)證的用戶才可以進(jìn)行后續(xù)的通信。使用TLS傳輸SIP報(bào)文,SIP報(bào)文在整個傳輸過程全部被加密,這樣能夠大程度的保護(hù)用戶數(shù)據(jù)不被他人非法竊取,提高了語音通信的安全性。
媒體流加密
??目前支持的媒體流協(xié)議包括:RTP(Real-time Transport Protocol,實(shí)時傳輸協(xié)議)和RTCP(Real-Time Transport Control Protocol,實(shí)時傳輸控制協(xié)議)。RTP用于為具有實(shí)時特征的數(shù)據(jù)(如交互音頻和視頻)提供端到端網(wǎng)絡(luò)的實(shí)時傳輸服務(wù);RTCP用于實(shí)時監(jiān)控傳輸質(zhì)量,并提供擁塞控制和流控制。RTP和RTCP配合使用,就能以有效的反饋和最小的開銷使傳輸效率更佳。在網(wǎng)絡(luò)中媒體流是明文傳輸?shù)模瑸榱吮WC通信內(nèi)容的安全性,SRTP協(xié)議應(yīng)運(yùn)而生。SRTP(Secure Real-time Transport Protocol,安全RTP協(xié)議)通過對RTP/RTCP報(bào)文的有效負(fù)載進(jìn)行加密,實(shí)現(xiàn)對RTP/RTCP報(bào)文的加密、認(rèn)證以及報(bào)文重傳保護(hù)。采用SRTP加密媒體流,首先需要協(xié)商加密信息,目前僅支持在SDP(Session Description Protocol,會話描述協(xié)議)中通過crypto頭域進(jìn)行加密協(xié)商。發(fā)起方將本端支持的加密屬性信息發(fā)送給接收方進(jìn)行協(xié)商,協(xié)商成功后,接收方返回相應(yīng)的加密屬性信息。會話建立后,雙方各自使用自己的密鑰加密RTP/RTCP報(bào)文,使用對端的密鑰解密對方發(fā)送的RTP/RTCP報(bào)文。
??SDP協(xié)商主要包括以下參數(shù)信息:
??使用SRTP協(xié)議加密RTP/RTCP報(bào)文時,如果使能加密引擎,則使用加密引擎進(jìn)行報(bào)文加密和認(rèn)證處理,若未使能加密引擎,則使用CPU進(jìn)行報(bào)文加密和認(rèn)證處理。
組合使用
??TLS可以保護(hù)通話中的控制信令,防止用戶信息被竊取。SRTP協(xié)議可以對語音媒體流進(jìn)行加密和認(rèn)證等保護(hù)措施。兩者可以單獨(dú)使用,也可以同時使用,表 3列舉了四種組合方式。文章來源:http://www.zghlxwxcb.cn/news/detail-422073.html
參考資料:《http://www.h3c.com/cn/d_200805/605897_473262_0.htm》文章來源地址http://www.zghlxwxcb.cn/news/detail-422073.html
到了這里,關(guān)于GB28181協(xié)議--SIP協(xié)議介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!