基于SIP協(xié)議的語音網(wǎng)關(guān)開發(fā)設(shè)計
摘要:對于市場定位在小用戶,要求價格介于低端產(chǎn)品與中高端產(chǎn)品之間的網(wǎng)關(guān)產(chǎn)品設(shè)計,選擇IP2022和DSP111作為網(wǎng)關(guān)的主控制器和語音的編解碼處理器。IP2022是一款RISC的處理器,運算速度為120 MIPS;而Voice Pump的DSP產(chǎn)品在語音處理上得到了很廣泛的應(yīng)用,且價格低廉,滿足現(xiàn)階段對語音的需求。另外,這些器件具有強(qiáng)大的運算和處理功能,經(jīng)過簡單擴(kuò)充,可滿足未來對多媒體通信的需求。由于SIP協(xié)議是未來網(wǎng)絡(luò)語音通信采用的主流協(xié)議,且具有開放性,故可加快產(chǎn)品的設(shè)計周期,滿足社會的需求。
關(guān)鍵詞:SIP協(xié)議 語音網(wǎng)關(guān) IP2022 網(wǎng)絡(luò)處理器
引 言
1 關(guān)于SIP協(xié)議
目前基于VOIP的基本通信協(xié)議有三種:H?323協(xié)議、SIP協(xié)議和MGCP協(xié)議。下面就H?323協(xié)議和SIP協(xié)議進(jìn)行比較介紹。
H.323是由國際電聯(lián)提出來的。它企圖把IP電話當(dāng)作是眾所周知的傳統(tǒng)電話,只是傳輸方式由電路交換變成了分組交換,就如同模擬傳輸變成數(shù)字傳輸、同軸電纜傳輸變成了光纖傳輸。
目前,包括我國在內(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ò)的接口。同時,大多數(shù)電信運營商也已經(jīng)將H.323作為建立新一代視訊會議系統(tǒng)的首選,將傳統(tǒng)的基于電路H.320視訊會議應(yīng)用轉(zhuǎn)移到基于IP的H.323系統(tǒng)中來。從應(yīng)用的規(guī)模上說,在現(xiàn)實的電信運營中,H.323已經(jīng)成為VOIP和多媒體通信協(xié)議的事實主導(dǎo)。
SIP稱為會話發(fā)起協(xié)議(Session Initiation Protocol)。SIP是Internet工程任務(wù)組(IETF)提出的建議中的一項協(xié)議,其目的是為了替代H.323的部分協(xié)議,主要是考慮到在下一代網(wǎng)絡(luò)(NGN)中,由于IP產(chǎn)品和IP網(wǎng)關(guān)將在網(wǎng)絡(luò)中得到大規(guī)模使用和集成,使得端到端都可以采用IP以實現(xiàn)純IP的業(yè)務(wù)應(yīng)用;而基于純IP的SIP借鑒了HTTP和SMTP,結(jié)構(gòu)簡單并具有可擴(kuò)充性和可擴(kuò)展性。此外,SIP還提供良好的QoS支持。對于NGN在IP網(wǎng)絡(luò)上實現(xiàn)VOIP和多媒體通信來講,SIP在全面滿足NGN特性要求的應(yīng)用上具有獨特的優(yōu)勢,必將成為下一代網(wǎng)絡(luò)VOIP的重要解決方案。
目前,市場上支持SIP的產(chǎn)品(特別是終端)也越來越多,出現(xiàn)了基于SIP的呼叫中心、視訊會議等多種企業(yè)級應(yīng)用解決方案。因此,可以說SIP將成為下一代網(wǎng)絡(luò)協(xié)議的主力軍。
SIP是一個應(yīng)用層的信令控制協(xié)議,用于創(chuàng)建、修改和終止一個或多個參與者的會話。這些會話可以是Internet多媒體會議、IP電話或多媒體分發(fā)(例如語音信箱)。會話的參與者可以通過組播(multicast)、網(wǎng)狀單播(unicast)或兩者的混合體進(jìn)行通信。更為詳細(xì)的SIP介紹,可參考相關(guān)的網(wǎng)站和書籍,如SIP FORUM等。
2 SIP協(xié)議棧的開發(fā)
為了實現(xiàn)設(shè)備互通、網(wǎng)絡(luò)互連等目的,需要開發(fā)相應(yīng)的基于應(yīng)用層的SIP協(xié)議棧。目前,開源(開放源代碼)的SIP協(xié)議棧中比較常用的有Vocal、OSIP兩類。它們都是比較成熟和可商業(yè)化的SIP協(xié)議棧,特點如表1所列。
本設(shè)計采用Libosip2進(jìn)行程序開發(fā)。它是一種GNU OSIP庫,OSIP封裝較好,只要寫點回調(diào)函數(shù)就可以完成功能操作了;比較簡單,是C語言編寫的,可讀性較好; 缺點是BUG較多,需調(diào)試時注意改進(jìn)。
表1Vocal、OSIP特性比較
3 語音網(wǎng)關(guān)的硬件設(shè)計
目前,IP語音終端的設(shè)計方案比較多,有ARM+DSP解決方案,也有SoC(System on Chip)方案。這些方案各有特點,此處采用了網(wǎng)絡(luò)處理器+DSP的單口網(wǎng)關(guān)解決方案。下面就采用的方案作詳細(xì)的介紹。
?、?采用UBICOM公司IP2022網(wǎng)絡(luò)處理器作為網(wǎng)關(guān)的主控芯片。它是一個16位的高性能的RISC處理器,執(zhí)行速度為120 MIPS,片上有64 KB Flash、16 KB SRAM(program)、4 KB SRAM(data)、10位ADC;片內(nèi)雙工通信模塊可以采用軟件來實現(xiàn)各種常見的通信接口,再配以相關(guān)的集成開發(fā)環(huán)境,構(gòu)成一功能強(qiáng)大、軟件開發(fā)容易的嵌入式通用通信開發(fā)平臺。
利用IP2022 網(wǎng)絡(luò)處理器,可在一個芯片上支持通信物理層、協(xié)議堆棧、特定設(shè)備應(yīng)用和特定設(shè)備的外設(shè)軟件模塊;同時,用戶可使用預(yù)創(chuàng)建軟件模塊和配置工具來對其進(jìn)行編程和重編程,從而可為各種設(shè)備間和人機(jī)間的通信創(chuàng)建真正的單片式網(wǎng)絡(luò)應(yīng)用方案。
IP2022內(nèi)含全雙工串化器/ 解串器(SER/DES),能直接與各種常用網(wǎng)絡(luò)接口連接,可實現(xiàn)片內(nèi)10BaseT以太網(wǎng)(MAC 和PHY)、USB以及其他各種快速串行協(xié)議。
IP2022以軟件模塊形式實現(xiàn)外設(shè)通信和控制功能,比傳統(tǒng)硬件具有更大的系統(tǒng)設(shè)計靈活性。IP2022 還提供有TCP/IP網(wǎng)絡(luò)協(xié)議棧,并具有一系列完整的端到端連通方案所必需的附加軟件。
由于IP2022內(nèi)含兩SER/DES 部件,能方便地從一種格式轉(zhuǎn)換為另一種格式,所以也能作協(xié)議轉(zhuǎn)換器。大多數(shù)指令均為單周期執(zhí)行,其吞吐量能滿足各種新型網(wǎng)絡(luò)連通應(yīng)用的要求,且程序閃速存儲器還能提供在線和離線重編程,IP2022內(nèi)部具體結(jié)構(gòu)框圖如圖1所示。
?、?DSP在網(wǎng)絡(luò)語音產(chǎn)品中的作用是無可替代的。它主要完成音頻、視頻的編解碼工作,因此在選擇DSP時,既要考慮滿足目前的基本需求,如會話功能,又要考慮今后的需要,如視頻要求、Voice Email功能等。這里選擇了Voice Pump公司的VP111產(chǎn)品,它具有以下特點:
◇ 片內(nèi)集成程序和數(shù)據(jù)存儲器;
◇ 主處理器接口;
◇ 時分復(fù)用串型接口;
◇ Sigma?delta A/D、 D/A變換器;
◇ 多功能輸入/輸出引腳;
◇ G.726 ADPCM語音音頻編碼;
◇ G.711 A?/m?law PCM 語音編碼;
◇ 靜音檢測(VAD);
◇ 舒適音生成(CNG);
◇ G.168 抑制線路回聲;
◇ Q.24 DTMF檢測;
◇ Fax/Modem 檢測;
◇ 音頻音生成;
◇ 抗抖動緩沖;
◇ T.38傳真中繼。
?、?外圍接口電路采用Agere公司的L9214作為用戶線接口(SLIC)。它的特點是采用小型有引線芯片載體(MLCC)封裝。與標(biāo)準(zhǔn)封裝相比,其所占的電路板空間減少約70 %,達(dá)到了非常低的功耗水平。由于該芯片體積小,所以有助于設(shè)備生產(chǎn)商降低總電子成本,增加設(shè)計的靈活度,可以接入所有廠商的編解碼器。此外,該產(chǎn)品的低功耗還有助于降低設(shè)備系統(tǒng)的總成本,提高系統(tǒng)性能。這種芯片支持3.3 V的運行環(huán)境,不需要額外的5 V電源,從而可以節(jié)省額外成本。
圖1IP2022內(nèi)部結(jié)構(gòu)框圖
此外,還采用了CPC5610A作為標(biāo)準(zhǔn)電話機(jī)和通信設(shè)備與網(wǎng)關(guān)的接口,自稱為工業(yè)上首創(chuàng)的單封裝的DAA(數(shù)據(jù)存取裝置),包括一個芯片內(nèi)的隔離勢壘(額定均方根值1 500 V)。這種DAA還提供正常的交流和直流電話線端接、二至四線混合功能、掛機(jī)和摘機(jī)檢測,呼叫人身份識別,半波振鈴檢測電路;適合于機(jī)頂盒和電話應(yīng)用的這種芯片可取代磁變壓器和各式各樣的其他分立元件,從而減少占用板上空間和成本。
網(wǎng)關(guān)硬件框圖如圖2所示。
圖2網(wǎng)關(guān)硬件框圖
4 語音網(wǎng)關(guān)的軟件設(shè)計
語音網(wǎng)關(guān)主要完成幾個功能:
◇ 撥號、DTMF傳送、呼叫建立、來電顯示;
◇ 呼叫建立后的基本會話。
在進(jìn)行IP網(wǎng)絡(luò)處理器IP2022開發(fā)時,開發(fā)商已提供了非常豐富的接口和協(xié)議模塊供用戶參考,這樣就極大縮短了開發(fā)周期和時間,使用戶能夠?qū)P募?xì)致地完成所需的功能。這些模塊包括:
?、?源代碼編譯,調(diào)試,環(huán)境,支持Windows98/ME/2000;
② IP Modules配置工具,各種通信接口功能都通過編譯鏈接不同的IP模塊;
?、?GNUPRO編譯工具,由Red hat開發(fā),包括C編譯器、linker、loader.debugger、libraries和utilities;
④ 網(wǎng)絡(luò)通信開發(fā)IP模塊;
?、?IPOS――運行于IP2022的實時操作系統(tǒng);
?、?IPEthernet――實現(xiàn)10BaseT MAC/PHY;
?、?IP Stack――實現(xiàn)TCP/IP stack,包括TCP、UDP、IP、ICMP、ARP、 DHCP、 Client、SLIP等。
在SIP協(xié)議處理上直接采用OSIP所給出的函數(shù)調(diào)用,實現(xiàn)基本的SIP 協(xié)議的功能,屏蔽了協(xié)議處理的內(nèi)部細(xì)節(jié)。
VP111 DSP處理器直接采用所提供的函數(shù)庫,可實現(xiàn)對DSP 的初始化和編解碼算法。語音編解碼類型包括G.723.1、G.729、G.711a和G.711u。
結(jié)語
按圖3所編寫的網(wǎng)關(guān)程序,已能夠順利注冊到有關(guān)廠家的SIP測試平臺,并可完成基本會話功能;同時,在LAN網(wǎng)中以DHCP或靜態(tài)IP的方式皆能注冊成功,并進(jìn)行會話操作。
圖3網(wǎng)關(guān)軟件實現(xiàn)基本會話功能程序框圖
由于我們采用的是開放源代碼的OSIP的基本會話功能,網(wǎng)關(guān)的整體優(yōu)勢并沒有發(fā)揮出來。網(wǎng)關(guān)的原設(shè)計思想就是能夠?qū)崿F(xiàn)基本會話功能,以達(dá)到所用的器件最少、整機(jī)體積最小的特點。事實證明此方案是可行的。如果采用已商業(yè)化的SIP協(xié)議棧,并適當(dāng)擴(kuò)充有關(guān)存儲器件,完全可以實現(xiàn)更多的互聯(lián)網(wǎng)應(yīng)用如即時信息以及語音和電話功能(如會議、語音郵件和“點擊撥號”功能)。
參考文獻(xiàn)
1 王瑞剛,李燕. IP電話終端設(shè)備――原理、電路及應(yīng)用. 西安:電子科技大學(xué)出版社,2003
2 Richard Stevens W,等.TCP/IP詳解.卷1.北京:機(jī)械工業(yè)出版社,2000
3 IP2022 Internet Processor User? Manual http://www.ubicom.com
4 IP2022 Silicon Tech Docs [EB/OL].http://portal.ubicom.com/,2003
5 CPC5610/5620/5621 Data Sheet. www.clare.com/Products/LITELINK.htm
6 L9214 Data Sheet. www.agere.com
7 VP111 DSP User? s Manual. www.voicepump.com
劉洪林:工程師,主要研究方向為多媒體技術(shù)、網(wǎng)絡(luò)通信。
陳秀蓮:工程師,主要研究方向為多媒體技術(shù)、電子設(shè)備結(jié)構(gòu)及電磁兼容設(shè)計。
張保忠:工程師,主要研究方向為網(wǎng)絡(luò)通信及新型硬件電路設(shè)計應(yīng)用。
評論