淺述SIP協議棧的開發
SIP協議我們已經有所了解了,在統一通訊平臺以及VOIP業務中我們總會見到。那么這里我們針對SIP協議以及SIP協議棧的開發做一個簡單的討論,網能給大家一個拋磚引玉的作用。
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較多,需調試時注意改進.
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功能等.