淺述SIP協(xié)議棧的開(kāi)發(fā)
SIP協(xié)議我們已經(jīng)有所了解了,在統(tǒng)一通訊平臺(tái)以及VOIP業(yè)務(wù)中我們總會(huì)見(jiàn)到。那么這里我們針對(duì)SIP協(xié)議以及SIP協(xié)議棧的開(kāi)發(fā)做一個(gè)簡(jiǎn)單的討論,網(wǎng)能給大家一個(gè)拋磚引玉的作用。
1 關(guān)于SIP協(xié)議
目前基于VOIP的基本通信協(xié)議有三種:H 323協(xié)議、SIP協(xié)議和MGCP協(xié)議.下面就H 323協(xié)議和SIP協(xié)議進(jìn)行比較介紹.
H.323是由國(guó)際電聯(lián)提出來(lái)的.它企圖把IP電話當(dāng)作是眾所周知的傳統(tǒng)電話,只是傳輸方式由電路交換變成了分組交換,就如同模擬傳輸變成數(shù)字傳輸、同軸電纜傳輸變成了光纖傳輸.
目前,包括我國(guó)在內(nèi)的許多國(guó)家都采用了H.323作為IP電話網(wǎng)關(guān)之間的協(xié)議,整個(gè)IP電話系統(tǒng)只是把IP網(wǎng)絡(luò)作為傳輸媒介,在用戶的接入上還是采用電路交換系統(tǒng),把IP電話網(wǎng)關(guān)作為電路交換網(wǎng)和IP網(wǎng)絡(luò)的接口.同時(shí),大多數(shù)電信運(yùn)營(yíng)商也已經(jīng)將H.323作為建立新一代視訊會(huì)議系統(tǒng)的首選,將傳統(tǒng)的基于電路H.320視訊會(huì)議應(yīng)用轉(zhuǎn)移到基于IP的H.323系統(tǒng)中來(lái).從應(yīng)用的規(guī)模上說(shuō),在現(xiàn)實(shí)的電信運(yùn)營(yíng)中,H.323已經(jīng)成為VOIP和多媒體通信協(xié)議的事實(shí)主導(dǎo).
SIP稱為會(huì)話發(fā)起協(xié)議(Session Initiation Protocol).SIP是Internet工程任務(wù)組(IETF)提出的建議中的一項(xiàng)協(xié)議,其目的是為了替代H.323的部分協(xié)議,主要是考慮到在下一代網(wǎng)絡(luò)(NGN)中,由于IP產(chǎn)品和IP網(wǎng)關(guān)將在網(wǎng)絡(luò)中得到大規(guī)模使用和集成,使得端到端都可以采用IP以實(shí)現(xiàn)純IP的業(yè)務(wù)應(yīng)用;而基于純IP的SIP借鑒了HTTP和SMTP,結(jié)構(gòu)簡(jiǎn)單并具有可擴(kuò)充性和可擴(kuò)展性.此外,SIP還提供良好的QoS支持.對(duì)于NGN在IP網(wǎng)絡(luò)上實(shí)現(xiàn)VOIP和多媒體通信來(lái)講,SIP在全面滿足NGN特性要求的應(yīng)用上具有獨(dú)特的優(yōu)勢(shì),必將成為下一代網(wǎng)絡(luò)VOIP的重要解決方案.
目前,市場(chǎng)上支持SIP的產(chǎn)品(特別是終端)也越來(lái)越多,出現(xiàn)了基于SIP的呼叫中心、視訊會(huì)議等多種企業(yè)級(jí)應(yīng)用解決方案.因此,可以說(shuō)SIP將成為下一代網(wǎng)絡(luò)協(xié)議的主力軍.
SIP是一個(gè)應(yīng)用層的信令控制協(xié)議,用于創(chuàng)建、修改和終止一個(gè)或多個(gè)參與者的會(huì)話.這些會(huì)話可以是Internet多媒體會(huì)議、IP電話或多媒體分發(fā)(例如語(yǔ)音信箱).會(huì)話的參與者可以通過(guò)組播(multicast)、網(wǎng)狀單播(unicast)或兩者的混合體進(jìn)行通信.更為詳細(xì)的SIP介紹,可參考相關(guān)的網(wǎng)站和書(shū)籍,如SIP FORUM等.
2 SIP協(xié)議棧的開(kāi)發(fā)
為了實(shí)現(xiàn)設(shè)備互通、網(wǎng)絡(luò)互連等目的,需要開(kāi)發(fā)相應(yīng)的基于應(yīng)用層的SIP協(xié)議棧.目前,開(kāi)源(開(kāi)放源代碼)的SIP協(xié)議棧中比較常用的有Vocal、OSIP兩類.它們都是比較成熟和可商業(yè)化的SIP協(xié)議棧,特點(diǎn)如表1所列.
本設(shè)計(jì)采用Libosip2進(jìn)行程序開(kāi)發(fā).它是一種GNU OSIP庫(kù),OSIP封裝較好,只要寫(xiě)點(diǎn)回調(diào)函數(shù)就可以完成功能操作了;比較簡(jiǎn)單,是C語(yǔ)言編寫(xiě)的,可讀性較好; 缺點(diǎn)是BUG較多,需調(diào)試時(shí)注意改進(jìn).
3 語(yǔ)音網(wǎng)關(guān)的硬件設(shè)計(jì)
目前,IP語(yǔ)音終端的設(shè)計(jì)方案比較多,有ARM+DSP解決方案,也有SoC(System on Chip)方案.這些方案各有特點(diǎn),此處采用了網(wǎng)絡(luò)處理器+DSP的單口網(wǎng)關(guān)解決方案.下面就采用的方案作詳細(xì)的介紹.
① 采用UBICOM公司IP2022網(wǎng)絡(luò)處理器作為網(wǎng)關(guān)的主控芯片.它是一個(gè)16位的高性能的RISC處理器,執(zhí)行速度為120 MIPS,片上有64 KB Flash、16 KB SRAM(program)、4 KB SRAM(data)、10位ADC;片內(nèi)雙工通信模塊可以采用軟件來(lái)實(shí)現(xiàn)各種常見(jiàn)的通信接口,再配以相關(guān)的集成開(kāi)發(fā)環(huán)境,構(gòu)成一功能強(qiáng)大、軟件開(kāi)發(fā)容易的嵌入式通用通信開(kāi)發(fā)平臺(tái).
利用IP2022 網(wǎng)絡(luò)處理器,可在一個(gè)芯片上支持通信物理層、協(xié)議堆棧、特定設(shè)備應(yīng)用和特定設(shè)備的外設(shè)軟件模塊;同時(shí),用戶可使用預(yù)創(chuàng)建軟件模塊和配置工具來(lái)對(duì)其進(jìn)行編程和重編程,從而可為各種設(shè)備間和人機(jī)間的通信創(chuàng)建真正的單片式網(wǎng)絡(luò)應(yīng)用方案.
IP2022內(nèi)含全雙工串化器/ 解串器(SER/DES),能直接與各種常用網(wǎng)絡(luò)接口連接,可實(shí)現(xiàn)片內(nèi)10BaseT以太網(wǎng)(MAC 和PHY)、USB以及其他各種快速串行協(xié)議.
IP2022以軟件模塊形式實(shí)現(xiàn)外設(shè)通信和控制功能,比傳統(tǒng)硬件具有更大的系統(tǒng)設(shè)計(jì)靈活性.IP2022 還提供有TCP/IP網(wǎng)絡(luò)協(xié)議棧,并具有一系列完整的端到端連通方案所必需的附加軟件.
由于IP2022內(nèi)含兩SER/DES 部件,能方便地從一種格式轉(zhuǎn)換為另一種格式,所以也能作協(xié)議轉(zhuǎn)換器.大多數(shù)指令均為單周期執(zhí)行,其吞吐量能滿足各種新型網(wǎng)絡(luò)連通應(yīng)用的要求,且程序閃速存儲(chǔ)器還能提供在線和離線重編程,IP2022內(nèi)部具體結(jié)構(gòu)框圖如圖1所示.
② DSP在網(wǎng)絡(luò)語(yǔ)音產(chǎn)品中的作用是無(wú)可替代的.它主要完成音頻、視頻的編解碼工作,因此在選擇DSP時(shí),既要考慮滿足目前的基本需求,如會(huì)話功能,又要考慮今后的需要,如視頻要求、Voice Email功能等.