陸烽
【摘要】首先介紹了IMS網(wǎng)絡(luò)的體系結(jié)構(gòu)及SIP協(xié)議,然后針對有限狀態(tài)機(jī)提出了一種基于IMS網(wǎng)絡(luò)的SIP信令協(xié)議棧,從而有效完成多媒體通信。
【關(guān)鍵詞】IMS網(wǎng)絡(luò)SIP協(xié)議多媒體通信
一、引言
隨著通信技術(shù)的發(fā)展及人們對通信要求的提高,當(dāng)今的通信業(yè)務(wù)集音頻、數(shù)據(jù)信息、視頻于一體。同時(shí),Internet及IP網(wǎng)絡(luò)的發(fā)展也為各種通信業(yè)務(wù)提供了基礎(chǔ)。
SIP是IETF指定的用于實(shí)現(xiàn)多媒體回話控制的協(xié)議,該協(xié)議具有實(shí)現(xiàn)簡單、擴(kuò)展性強(qiáng)的特點(diǎn),并且具有強(qiáng)大的多媒體會話和業(yè)務(wù)擴(kuò)展能力以及用戶查找和定位能力。由于SIP可以和現(xiàn)有的Internet協(xié)議緊密聯(lián)系,從而獲得了廣泛應(yīng)用,并且SIP已被3GPP組織作為R5/R6多媒體子系統(tǒng)(IMS)的呼叫控制協(xié)議。本文將對IMS網(wǎng)絡(luò)和SIP協(xié)議進(jìn)行介紹,并提出一種基于IMS網(wǎng)絡(luò)的SIP信令協(xié)議棧。
二、IMS網(wǎng)絡(luò)結(jié)構(gòu)及SIP協(xié)議
IMS是3GPP在R5版本中提出的支持IP多媒體業(yè)務(wù)的子系統(tǒng)。IMS以SIP為核心呼叫控制協(xié)議,為移動(dòng)終端提供多媒體呼叫控制業(yè)務(wù),具有應(yīng)用服務(wù)器層、會話控制層、傳輸與終端層三層結(jié)構(gòu),包括CSCF、HSS、MGCF和MGW等實(shí)體。
IMS中最重要的實(shí)體是CSCF和HSS,CSCF負(fù)責(zé)處理多媒體會話業(yè)務(wù),相當(dāng)于SIP服務(wù)器,包括代理CSCF(P-CSCF)、查詢CSCF(I-CSCF)和服務(wù)CSCF(S-CSCF)。HSS(歸屬用戶服務(wù)器)是IMS中所有與用戶和服務(wù)相關(guān)的數(shù)據(jù)主存儲器,存儲了用戶身份、注冊信息、接入?yún)?shù)和服務(wù)觸發(fā)信息等。
SIP是IETF制定基于ASCII碼的面向IP電話和多媒體會議的應(yīng)用層控制協(xié)議,用于建立、修改和終止多媒體會話,使參與會話的成員可以通過多播方式、單播連網(wǎng)或二者結(jié)合的方式進(jìn)行通信。
典型SIP協(xié)議中有客戶機(jī)和服務(wù)器之分,客戶機(jī)是為了向服務(wù)器發(fā)送請求而與服務(wù)器建立連接的應(yīng)用程序,User Agent和Proxy中含有客戶機(jī);服務(wù)器是用來向來自客戶機(jī)的請求提供服務(wù)并處理應(yīng)答的應(yīng)用程序。SIP協(xié)議具有四層結(jié)構(gòu),最底層是語法和編碼層,第二層是傳輸層,第三層是事物層,最頂層是事物用戶層(TU層)。
三、基于IMS網(wǎng)絡(luò)的SIP信令協(xié)議棧
在SIP協(xié)議中,用戶代理客戶端通過向代理服務(wù)器發(fā)送在網(wǎng)絡(luò)中的路由請求即可以建立起一個(gè)會話過程。因?yàn)樽苑?wù)器需要提供用戶代理的位置信息,所以需要將SIP地址映射轉(zhuǎn)換為IP地址。IMS中的呼叫會話控制功能(CSCF)的網(wǎng)絡(luò)實(shí)體是代理服務(wù)器和注冊服務(wù)器,CSCF即是控制實(shí)現(xiàn)實(shí)時(shí)多媒體業(yè)務(wù)的多媒體服務(wù)器。IMS包括三種呼叫會話控制功能:代理CSCF(P-CSCF)、問訊CSCF(I-CSCF)、服務(wù)CSCF(S-CSCF)。CSCF通過SIP協(xié)議來實(shí)現(xiàn)上述控制控制功能,其中P-CSCF為移動(dòng)用戶接入IMS提供的SIP代理服務(wù)器,I-CSCF是運(yùn)營網(wǎng)絡(luò)的入口代理服務(wù)器,同時(shí)可以對其它網(wǎng)絡(luò)隱藏其歸屬網(wǎng)絡(luò)的拓?fù)鋱D,S-CSCF是SIP的注冊服務(wù)器,執(zhí)行用戶的會話控制服務(wù)。因此,IMS網(wǎng)絡(luò)可以在CSCF的基礎(chǔ)上利用SIP協(xié)議經(jīng)過注冊過程和會話過程來實(shí)現(xiàn)多媒體通信的目的。
本節(jié)通過引入有限狀態(tài)機(jī)進(jìn)行修改和二次開發(fā),實(shí)現(xiàn)了一個(gè)穩(wěn)定高效的SIP協(xié)議棧,通過提供SIP操作的基本數(shù)據(jù)結(jié)構(gòu)和應(yīng)用程序編程接口(API),如用于表示SIP中各類對象的數(shù)據(jù)結(jié)構(gòu)、對消息和消息體進(jìn)行解析的API以及實(shí)現(xiàn)四類有限狀態(tài)機(jī)的API。該協(xié)議棧主要包括4個(gè)模塊:狀態(tài)機(jī)模塊、解析器模塊、工具模塊、上層封裝接口模塊,其結(jié)構(gòu)圖如圖1所示。
3.2解析器模塊
解析器模塊主要完成對SIP消息的語法解析,它的作用是將收到的SIP消息從文本解析為SIP消息結(jié)構(gòu)體(sip_t),處理完后將待發(fā)送的sip_t結(jié)構(gòu)還原成SIP文本消息后在發(fā)送。SIP消息的解析過程為:對收到的消息解析起始行,若是SIP請求則解析SIP請求方法、請求URI和SIP版本,若非SIP請求則解析SIP版本、狀態(tài)碼和原因短語;然后依次進(jìn)行解析SIP頭域、解析SIP消息體并保存各項(xiàng)參數(shù)完成解析過程。
3.3工具模塊
工具模塊主要提供完善的SDP協(xié)商機(jī)制和對話管理的API。本協(xié)議棧中的SDP協(xié)商工具使用從SDP offer去構(gòu)建SDP answer的方法,通過分析invit請求中消息體SDP部分的媒體參數(shù)描述來構(gòu)造對于invit請求的響應(yīng)消息中的SDP消息部分。在對話中,可以動(dòng)態(tài)創(chuàng)建新的事務(wù)來開始端點(diǎn)之間的SIP通信過程,幫助管理UA的消息排序和UA之間正確的路由。本協(xié)議棧的對話管理工具主要是創(chuàng)建對話并對對話消息進(jìn)行管理。
3.4上層封裝接口模塊
上層封裝接口模塊根據(jù)MVC模式中的Model層的調(diào)用方式提供面向Model層的簡便易用的操作協(xié)議棧接口。上層封裝接口模塊在eXosip封裝SIP協(xié)議調(diào)用接口的基礎(chǔ)上進(jìn)一步封裝,供Model層調(diào)用,從而使用簡單的幾行代碼就可以實(shí)現(xiàn)一個(gè)音視頻的呼叫。
四、結(jié)束語
SIP協(xié)議可以創(chuàng)建、管理和終結(jié)IMS網(wǎng)絡(luò)中各種類型的多媒體業(yè)務(wù),從而使各種類型的客戶端通過SIP都可以建立高質(zhì)量的端到端通信。本文提出一種SIP協(xié)議棧,實(shí)現(xiàn)了SIP軟終端,可以在IMS網(wǎng)絡(luò)下實(shí)現(xiàn)具備基于SIP的視頻和音頻通信功能。
參考文獻(xiàn)
[1]孫建勇.基于SIP協(xié)議的軟終端的研究與實(shí)現(xiàn)[D].北京郵電大學(xué),2004.
[2]陳朝鵬. SIP協(xié)議在IMS系統(tǒng)中的應(yīng)用[J].中國科技信息,2006(2).
[3]徐曉宇,張惠民. SIP會話協(xié)議在第三代移動(dòng)網(wǎng)絡(luò)中關(guān)鍵問題研究[J].數(shù)據(jù)通信,2004(2).
[4]季光獻(xiàn).一種新的面向IMS網(wǎng)絡(luò)的SIP協(xié)議棧[J].電信科學(xué),2012(4).
[5]石蕊,劉永莉. SIP協(xié)議及其在IMS中的應(yīng)用探討[J].信息通信,2008(1).