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