基于SIP的VoIP在下一代網(wǎng)絡(luò)中的應(yīng)用
萬敏,萬曉榆 重慶郵電學(xué)院
2003/12/29
摘要:如何在下一代網(wǎng)絡(luò)(NGN)中提供優(yōu)質(zhì)的VoIP是下一代網(wǎng)絡(luò)多媒體通信業(yè)務(wù)的關(guān)鍵問題,從SIP電話協(xié)議棧,SIPMESSAGE和通信機(jī)制幾個方面來分析了基于SIP的VoIP特點(diǎn),并探討了其在下一代網(wǎng)絡(luò)中的應(yīng)用優(yōu)勢。
關(guān)鍵詞:呼叫控制;請求;響應(yīng);可擴(kuò)充性;可擴(kuò)展性
引言
實(shí)時IP呼叫和多媒體通信是下一代網(wǎng)絡(luò)(NGN)業(yè)務(wù)提供的重要方面。H.323和SIP(sessioninitiation protocol)都是實(shí)現(xiàn)VoIP和多媒體應(yīng)用的通信協(xié)議。目前,包括我國在內(nèi)的許多國家都采用H.323作為IP電話網(wǎng)關(guān)之間的協(xié)議,整個IP電話系統(tǒng)只是把IP網(wǎng)絡(luò)作為傳輸媒介,在用戶的接入上還是采用電路交換系統(tǒng),把IP電話網(wǎng)關(guān)作為電路交換網(wǎng)和IP網(wǎng)絡(luò)的接口。但是,在下一代網(wǎng)絡(luò)中,由于IP產(chǎn)品和IP網(wǎng)關(guān)在電話網(wǎng)中的大規(guī)模使用和集成,使得端到端都必須采用IP協(xié)議來實(shí)現(xiàn)純IP的業(yè)務(wù)應(yīng)用;诩僆P的SIP協(xié)議是用于創(chuàng)建、修改、終止IP網(wǎng)上的多媒體會議或呼叫的應(yīng)用層控制協(xié)議,它借鑒了HTTP協(xié)議和SMTP協(xié)議,結(jié)構(gòu)簡單并具有可擴(kuò)充性和可擴(kuò)展性。此外,SIP還提供良好的QoS支 持,這對于NGN在IP網(wǎng)絡(luò)上實(shí)現(xiàn)VoIP和多媒體通信來講,SIP在全面滿足NGN特性要求的應(yīng)用上具有獨(dú)特的優(yōu)勢,將成為下一代網(wǎng)絡(luò)VoIP的重要解決方案。
1 SIP如何實(shí)現(xiàn)VoIP
SIP不是垂直型通信系統(tǒng),不能獨(dú)立提供業(yè)務(wù),它必須與其它協(xié)議共同使用來構(gòu)建一個完整的多媒體體系結(jié)構(gòu),所以在構(gòu)建下一代網(wǎng)絡(luò)的多媒體體系時,采用以下的協(xié)議組合提供多媒體業(yè)務(wù)。基于SIP的電話協(xié)議棧如圖1所示。圖1中,①網(wǎng)絡(luò)層:使用IPv4或IPv6(建議IPv6);②傳輸層:使用TCP或UDP(建議UDP);③應(yīng)用層:包括以SIP為核心的多個協(xié)議。
·SIP協(xié)議用于傳送呼叫控制命令。在定義消 息時只定義了消息的頭部,在消息體中采用了文本格式的會話描述協(xié)議SDP,用于在消息中傳送呼叫的媒體類型和格式等信息,加快了呼叫建立的速度。
·RTSP(realtime streaming protocol)控制發(fā)送“一點(diǎn)到多點(diǎn)”文本格式的多媒體數(shù)據(jù)流。
·RSVP(reservation protocal,資源預(yù)留協(xié)議)用于主機(jī)為特定應(yīng)用數(shù)據(jù)流請求特定的QoS以及端點(diǎn)應(yīng)用程序發(fā)送QoS請求為數(shù)據(jù)傳送的各個節(jié)點(diǎn)保留網(wǎng)絡(luò)資源(如帶寬,緩沖區(qū)大小等),大大增強(qiáng)了現(xiàn)有Internet網(wǎng)絡(luò)的QoS控制。
·RTP(real-time transport protocol,實(shí)時傳送協(xié)議)用于AMR(adaptive multi-rate)和AMR-WB(adaptive multi-rate wideband)編碼的語音信號的實(shí)時傳送,并提供QoS反饋。
·RTCP(real-time transportcontrolprotocol,實(shí)時控制協(xié)議)用于傳遞實(shí)時信號的質(zhì)量參數(shù),提供QoS監(jiān)視機(jī)制,同時還可用于傳送用戶的信息,建立呼叫控制機(jī)制。
媒體封裝主要采用ITU-T的G系列和H系列建議,G系列用于語音壓縮,H系列用于視頻壓縮,提供視頻電話。SIP在協(xié)議棧中完成的功能是建立和終止多媒體通信:①用戶定位(user location):確定通信使用的終端系統(tǒng)位置;②用戶可用性判定(user availablity):確定被叫方是否愿意加入通信;③用戶能力判斷(user capability):確定通信使用的媒體類型及參數(shù);④會議建立(session setup):在主、被叫之間建立約定的支持特定媒體流傳輸?shù)倪B接;⑤會議管理(session management):包括傳輸、終止會議,修改會議參數(shù),調(diào)用業(yè)務(wù)。
從SIP電話協(xié)議結(jié)構(gòu)可以看出,SIP基本的呼叫信令,用戶的定位注冊與整個IP電話系統(tǒng)的服務(wù)質(zhì)量,業(yè)務(wù)派生,任務(wù)內(nèi)容描述和會議控制都是相互獨(dú)立的。從這種模塊化的協(xié)議結(jié)構(gòu)來看,基于SIP的VoIP得到了端到端的QoS支持,使用UDP無連接協(xié)議,在網(wǎng)絡(luò)負(fù)荷較重時又避免了在超時證實(shí)中導(dǎo)致的呼叫建立時延的增加。同時,SIP這種分布式的控制方式和TCP或UDP支持本地多播信令,對于擴(kuò)展多媒體會議規(guī)模非常有益。在NGN中,采用SIP把呼叫傳輸和呼叫控制分開,實(shí)現(xiàn)了媒體與業(yè)務(wù)的分離,媒體和控制的分離,這樣用戶可以通過第三方控制機(jī)制定義新的業(yè)務(wù)而不必關(guān)心承載業(yè)務(wù)的網(wǎng)絡(luò)形式和終端類型,使網(wǎng)絡(luò)具備了可擴(kuò)展性和快速部署新業(yè)務(wù)的能力,使網(wǎng)絡(luò)運(yùn)營者更有競爭力。
2 SIPMESSAGE機(jī)制
SIP本身是一種分層協(xié)議,如圖2所示。由此可見,SIP采用C/S結(jié)構(gòu),通過MESSAGE機(jī)制來建立會話。因?yàn)镾IP處理的是客戶端與服務(wù)器之間的請求和響應(yīng),所以SIP消息包括了請求消息和響應(yīng)消息。二者都具有相同的消息格式:
在請求消息的起始行中,SIP定義了請求執(zhí)行的操作。SIP提供了給用戶擴(kuò)充的功能集,到目前為止的版本共定義了:邀請(INVITE)、證實(shí)(ACK)、選擇(OPTIONS)、再見(BYE)、取消(CANCEL)、登記(REGISTER)、信息(INFO)、分配(ALLOCATE)和更新(UPDATE)。為了加強(qiáng)可擴(kuò)充性,SIP采用了和HTTP一樣的層次式的數(shù)字差錯代碼,在響應(yīng)消息的狀態(tài)行中共定義了6類響應(yīng)來表示指示請求執(zhí)行的結(jié)果,每個響應(yīng)代碼均用3位數(shù)表示,第1位數(shù)字指示響應(yīng)的類別,后2位數(shù)字表示具體的響應(yīng)。
SIP的頭部字段定義了:①From:指示請求的 發(fā)端;②To:指示請求的收端;③Call-ID:用于唯一標(biāo)識一個特定的邀請或標(biāo)識某一客戶的所有登記;④Cseq:表示命令序列號;⑤Via:指示請求經(jīng)歷的路徑;⑥Contact:給出直接通信的地址;⑦Expires:給出消息內(nèi)容超期的時間。
SIP消息體采用SDP定義,而SDP的傳送和媒體的協(xié)商則由RTSP,HTTP等來完成。SDP消息封裝如圖3所示。
SDP會話描述由文本行組成,每個文本行的格式均為<類型>=<值>,包含了參與現(xiàn)存會話相關(guān)的必要信息。①會話信息:會話名和目的;會話激活的時間區(qū)段;構(gòu)成會話的媒體;接收媒體所需地址、端口、格式等;會話所用的帶寬信息(任選);會話負(fù)責(zé)人的聯(lián)系信息(任選)。②媒體信息:媒體類型(視頻/音頻等);傳送協(xié)議(RTP/UDP/IP、H.323等);媒體格式(H.261視頻/MPEG視頻等);媒體地址和端口。③時間信息:會話的開始和結(jié)束時間。④加密信息:可選。
其中,用戶號碼用與E-mail地址類似的SIPURL來表示。
sip:用戶名:口令@主機(jī):端口;傳輸層協(xié)議參數(shù);用戶類型參數(shù);方法參數(shù);生存期參數(shù);服務(wù)器地址參數(shù)?頭部名=頭部值&頭部名=頭部值
例如:sip:j.doe:secret@big.com;transport=tcp
從編碼結(jié)構(gòu)來看,SIP消息具有豐富的可擴(kuò)充性。由于SIP基于文本,使得代碼生成和語法解析都很簡單,而且便于協(xié)議的擴(kuò)展和調(diào)試,提高了其用戶化程度。SIP允許舊的頭部字段和性能不用時將其去掉,從而保證了協(xié)議和編碼的簡潔清晰。SDP允許會話的開始結(jié)束時間可由多組時間段組成,而且可以包含重復(fù)時間,對NGN用戶來講,這種業(yè)務(wù)設(shè)置的靈活性是倍受歡迎的。同時SDP分單點(diǎn)發(fā)送和多點(diǎn)發(fā)送操作,增強(qiáng)了SIP對呼叫的控制能力。SIPURL可以嵌入到Web頁或其它超文本鏈路中,使NGN能夠?qū)崿F(xiàn)click-to-call(用戶點(diǎn)擊鼠標(biāo)來發(fā)出呼叫)的SIP擴(kuò)充業(yè)務(wù)。
3 SIP基本呼叫過程
SIP兩個主要元素是用戶代理(user agent: UA)和網(wǎng)絡(luò)服務(wù)器。用戶代理即指SIP端系統(tǒng),包括處理SIP請求的用戶代理客戶(user agent client:UAC)和處理SIP響應(yīng)的用戶代理服務(wù)器(useragent server:UAS)。網(wǎng)絡(luò)服務(wù)器則有幾種類型:重定向服務(wù)器(redirect server),代理服務(wù)器(proxyserver),登記服務(wù)器(register server)。SIP的通信機(jī)制的核心是請求<—>響應(yīng)。一個基本的SIP呼叫的過程可分為以下3部分。
。1)當(dāng)UAC發(fā)出呼叫“邀請”,UAC在請求消息起始行中寫入INVITE,及被叫當(dāng)前的SIPURL地址,在頭部字段To中寫入被叫的SIPURL地址,在Call-ID字段中生成唯一的呼叫標(biāo)識,在From字段中寫入主叫用戶的SIPURL地址,在Via字段中寫入自己的主機(jī)名或者網(wǎng)絡(luò)地址,消息體內(nèi)SDP寫明UAC/UAS所支持的媒體類型以及網(wǎng)絡(luò)地址和端口號(用于端系統(tǒng)間的媒體協(xié)商)。代理服務(wù)器收到請求消息后,將自己的地址壓入頭部字段Via棧中(路由中的代理服務(wù)器都作同樣的處理)。當(dāng)消息到達(dá)被叫側(cè)的用戶代理服務(wù)器時,代理服務(wù)器向定位服務(wù)器發(fā)起查詢,查詢被叫當(dāng)前的位置信息,如果被叫的位置信息未發(fā)生更新,請求消息則直接發(fā)給被叫;如果被叫位置發(fā)生了更新,代理服務(wù)器則繼續(xù)根據(jù)新的地址轉(zhuǎn)發(fā)請求消息,直到到達(dá)被叫UAS。
。2)被叫UAS收到請求消息后,回送響應(yīng)。響應(yīng)分為兩種類型:一類是中間響應(yīng),報告呼叫進(jìn)展情況,如用戶空閑、正在振鈴等;一類是最終響應(yīng),包括成功響應(yīng)和異常失敗響應(yīng)。響應(yīng)根據(jù)請求消息中的Via字段,原路返回主叫UAC。對于表示成功的響應(yīng),UAC使用“確認(rèn)”(ACK)方法向被叫UAS發(fā)請求消息,被叫UAC收到確認(rèn)消息后,主被叫間會話建立,雙方通過RTP協(xié)議互發(fā)信息。
。3)通信結(jié)束后,任何一方向?qū)Ψ桨l(fā)送“再見”(BYE)請求,請求終止會話,接收方回送成功響應(yīng),則會話結(jié)束。在通信過程中,任何一方如果想更改會話的狀態(tài)可以再次發(fā)起呼叫INVITE請求,使用相同的Call-ID,并在命令序列字段Cseq中對原有請求 的Cseq加1,請求的接收方根據(jù)收到的頭部信息和消息體,與以前的進(jìn)行對比,調(diào)整相應(yīng)的狀態(tài)和媒體參數(shù)。
SIP采用自己的應(yīng)用層可靠性機(jī)制來保證信令的可靠傳輸,縮短了呼叫建立的往返時延。SIP容錯性強(qiáng),而且由于錯誤檢測能力的增強(qiáng)使包丟失回檢率也高于其它協(xié)議。SIP給代理服務(wù)器(proxyserver)定義了狀態(tài)和無狀態(tài)兩種工作模式。在無狀態(tài)模式下,中間服務(wù)器收到呼叫請求,執(zhí)行相應(yīng)操作后將請求前傳,不保留呼叫狀態(tài)。SIP包含足夠的狀態(tài)信息,可以確保響應(yīng)信息的正確回傳;同時,SIP消息允許在UDP上傳送,而UDP是面向無連接的,這意味著在大話務(wù)量情況下SIP服務(wù)器可以采用基于UDP的無狀態(tài)工作模式,這樣就可以顯著地減少存儲器容量和計算量,同時提高了網(wǎng)絡(luò)的可擴(kuò)展性。
由于對呼叫控制能力的增強(qiáng),SIP通過用戶重定向(relocation)到多個點(diǎn)位(location)及多跳(multi-h(huán)op)搜索機(jī)制,達(dá)到快速的用戶定位,采用呼叫轉(zhuǎn)移或多點(diǎn)同時呼叫的方式實(shí)現(xiàn)了NGN中對個人移動業(yè)務(wù)很好的支持。
4 結(jié)論
SIP的設(shè)計思想借鑒了互聯(lián)網(wǎng)的標(biāo)準(zhǔn)和協(xié)議,結(jié)構(gòu)簡單,利于擴(kuò)展。SIP信令互通性提出的基于SIP的增強(qiáng)機(jī)制SIP-T協(xié)議解決了PSTN網(wǎng)絡(luò)信令在IP網(wǎng)絡(luò)上的協(xié)議轉(zhuǎn)換和傳輸問題,但SIP定義范圍比較有限等缺點(diǎn)還有待完善。我們同時也看到,在下一代網(wǎng)絡(luò)的終端與軟交換之間的通信應(yīng)用SIP協(xié)議,即基于SIP的VoIP,可以得到端到端的QoS支持,有效的網(wǎng)絡(luò)控制管理以及靈活多樣的多媒體業(yè)務(wù)提供。國際上諸多大型通信公司對SIP的支持將推動NGN的發(fā)展。
參考文獻(xiàn)
[1] ROSENBERG J,SCHULZRINNE H,CAMARILLO G,et al.SIP:SessionInitiation Protocol[EB/OL].draft-ietf-sip- rgc2543bis-09.ps,2002-02-27.
[2] HANDLEYM,JACOBSON V.SDP:sessiondescription protocol[R].RFC 2327,April1998.
[3] DALGICIsmail,F(xiàn)ANG Hanlin.Comparisonof H.323 and SIPfor IPtelephony signaling[D].Columbia University Department of Computer Science,September,1999.
[4] 李艷軍.NGN網(wǎng)中基于SIP的號碼移動性研究[D].重慶:重慶郵電學(xué)院,1999.
[5] 羅斯青.H.323和SIP的比較[J].通訊世界,2002,(5):60-62.
中國通信網(wǎng)(www.c114.net)—重慶郵電學(xué)院學(xué)報
相關(guān)鏈接: