任定成
基于下一代網絡的VoIP語音網關設計與實現*
任定成
(深圳職業技術學院 計算機工程學院,廣東 深圳 518055)
采用網絡處理器+DSP作為語音網關解決方案,基于下一代網絡VoIP語音網關讓語音、數據、視頻在IP網絡上傳送,可以有效地降低企業生產成本.通過對該網關設備的電路設計和音頻驅動的開發,選擇小巧快速的SIP協議棧為開發對象,實現了通話呼叫功能并通過測試.
下一代網絡;語音網關;VoIP;SIP
隨著信息化網絡技術的快速發展,傳統電話PSTN模式已不能滿足電信用戶的需求,它不僅通話成本和建設成本高,且不易擴充,尤其是企業用戶,為了滿足業務需求,需要搭建電話網、Intranet(企業內網)和有線電視網.如何在建立單一的Intranet基礎上同時搭建電話網和有線電視網是業內共同研究的課題.21世紀初,電信界提出了建立在IP電話網絡基礎上網關功能分解的思想,它以軟交換為核心,早期的下一代網絡(NGN)初現雛形[1].NGN是基于TDM的PSTN語音網絡和基于IP/ATM的分組網絡融合的產物,它使得在新一代網絡上語音、視頻、數據等綜合業務成為了可能[2].VoIP網關技術是下一代網絡技術發展的產物,它將標準的語音信號轉換成經過壓縮的數據包后,在數據網絡而非傳統的電話網(PSTN)上進行傳輸,將語音、數據、傳真及多媒體等功能融合進統一的網絡訪問基礎結構之中,不僅為終端用戶和服務提供者節省大量的使用及實現費用,更因其提供靈活的使用、控制、可伸縮性和配置功能而易于為服務提供者和最終用戶所接受[3].它的工作原理是把語音信號壓縮封裝后轉換成IP包在Internet上傳輸,再通過VoIP終端上的語音處理芯片把IP信號解碼轉換成語音信號.使傳統電話從單一信道獨占模式演變成多用戶共享寬帶資源,企業用戶在國際通話資費成本大大降低.所以VoIP網絡電話得以快速發展,研究開發VoIP語音網關有重要意義.
1.1 系統硬件設計
根據用戶需求不同,嵌入式的VoIP語音網關的硬件設計[4]有多種解決方案.臺灣卓群科技(Crystal Media)公司推出的CM5000處理器,它是語音網關的核心處理器,語音網關的系統結構如圖1所示[5].CM5000集成了RISC主處理器、125 MHz核心DSP,2個10/100基以太網MAC、存儲器控制器和其它外設,DSP支持多個聲音壓縮模式(G.711、G.723.1、G.729A、G.729B),回音消除及多種普通電話技術.可以直接支持IP PHONE、單口、2口ATA[6].
語音網關接收從呼叫方發送過來的聲音信號,通過一系列處理(信號放大、去干擾、轉碼、編碼、壓縮、封裝、打包等),最后轉換成在數字信號(IP包)在Internet網上傳送,處理流程如圖2所示,語音網關對從以太網上收到的語音包則采用完全相反的處理流程.

圖1 基于下一代網絡的語音網關硬件系統結構圖

圖2 語音網關處理接收信號流程圖
根據三網融合網關設計項目要求,在完成語音網關功能的基礎上還需要達到與網絡互聯和有線電視連接功能,故選擇了網絡處理器+DSP的網關這一解決方案.
1.2 語音信號電路設計
語音信號處理選擇W681388芯片,它是語音網關硬件的核心部分,是華邦電子美國分公司日前推出最新開發的Pro-X系列芯片,它將單通道SLIC的功能與單通道可編程CODEC及單通道DC升壓電路控制器集成在一個芯片上[7].
W681388利用3個晶體管分成直流和交流反饋電路,晶體管Q1和Q2為用戶環路提供電壓,晶體管Q3提供隔離,通過直流隔離電阻RVE、RTR和RVBT完成直流反饋回路,TIP和RING信號流不直接監測,由RCE結合輸入電流正極獲取信號值,再利用該信號值來控制外部晶體管,聲音信號傳送則在交流反饋電路中.
2.1 音頻接口驅動程序實現
設備驅動程序是操作系統內核與機器硬件之間的接口,設備驅動程序為應用程序屏蔽掉了硬件的許多細節,在應用程序中把硬件認作是一個設備文件,應用程序通過操控設備文件來支配硬件[8].當終端加電啟動之后,系統主程序Main.c會加載VoIP語音的處理模塊程序,其中就包括W681388芯片驅動.在W681388芯片驅動程序中定義了語音驅動程序的全局變量、結構數據類型、編碼寄存器和調制寄存器等.W681388芯片驅動程序部分全局變量定義(C文件)如下:
……
typedef struct W681388_TONE {
WORD Frequency;
WORD Amplitude;
WORD OnTime;
WORD OffTime;
}S_W681388_TONE; //定義數據類型:頻率、振幅、在線、掛線
typedef struct DTMF_STRUCT_1388{
S_W681388_TONE DTMFLow;
S_W681388_TONE DTMFHigh;
}S_DTMF_STRUCT_1388; //定義DTMF低頻和高頻結構
……
2.2SIP協議棧的開發
在VoIP語音網關呼叫系統中,相同或不同商家的語音網關設備之間要完成呼叫建立過程需要互通互聯,支持完成這一功能的是SIP協議棧,它位于語音軟件系統結構中的應用層[9].目前,國內外涉及此類的開發人員基本上都在研究SIP協議棧的開發,有許多開源代碼供技術人員參考使用,比較成熟且常用的有OPAL、VOCAL、sipX、ReSIProcate、oSIP等[10].OPAL有發展潛力,VOCAL比較完善,sipX兼容性好,ReSIProcate較穩定,oSIP小巧而快速.所以根據嵌入式環境開發的需要,在項目開發中選擇oSIP進行研究開發.
在用開源oSIP開發時,使用C++語言編寫,因oSIP封裝較好,在開發過程中只需寫入回調函數,就可以實現完整的功能操作.在IP網絡中傳送的語音信號IP包要通過SIP協議棧解封,首先要獲取呼叫方封裝IP包的SIP類型,進行比較匹配之后,再利用自有的SIP協議棧解封,處理函數如下:
class CSipBillingMeteringTime :
public CSipHeader
{
public:
CSipBillingMeteringTime(void);
~CSipBillingMeteringTime(void);
CSipBillingMeteringTime(const CStrData& data);
CStrData encode(void) const;
void encode(CStrData& data) const;
bool operator==(const CSipBillingMeteringTime& other) const;
CSipHeader* duplicate(void) const;
virtual bool compareSipHeader (CSipHeader* msg) const;
void decode(const CStrData& rseqstr);
const CStrData& getData() const { return m_data; }
private:
CStrData m_data;
};
2.3SIP協議功能測試
用SIP客戶端X-lite(192.168.10.9)向連接在網關的IP電話機(192.168.10.10)發送SIP協議封裝的字符串,被呼叫的IP電話的應用程序成功將字符串接收,同時向客戶端返回一個相同內容的字符串,通過OmniPeek抓包軟件窗口可以看到數據傳送過程,如圖3所示.
從圖3可以得到,由CM5000處理器+W681388芯片開發設計的VoIP語音網關,2個客戶端之間能通SIP協議棧進行呼叫請求、響應,建立和斷開的完整呼叫過程.現場通話質量良好,達到了預期要實現的功能.

圖3 SIP消息交互過程抓包圖
[1] 李鵬飛,壽航濤.軟交換網絡向IMS演進方案和關鍵問題研究[J].信息通信,2011(4):31.
[2] 李梅生.下一代網絡產業鏈的探討[J].中國科技信息,2006(7):175.
[3] 曹玖新,張德運.VoIP 實現技術研究[J].計算機工程,2000,26:498.
[4] 張朝霞,王紅玲,江玉樂.企業級VOIP網關的硬件設計與實現[J].現代電子技術,2006(8):88.
[5] VoIP CM5000 Introduction [M/CD].Crystal Media Inc Confidential,2008.
[6] IP電話方案選擇及設計原則[EB/OL].http://cisco. chinaitlab.com/case/784951.html. [2009-05-24].
[7] W681388 user Manual preliminary V1.4 [M/CD].2007:13.
[8] 孫艷,葉梅,趙京偉.LINUX操作系統內核關鍵技術剖析與設備驅動程序的設計實現[C]//北京:第十屆全國核電子學與核探測技術學術年會論文集,2001:439.
[9] Jonathab Rosenberg, Henning Schulzrinne, Gonzalo Camarillo, et al. SIP: session Initiation protocol[J]. IETF RFC 3261,2002-7:8-192.
[10] SIP 媒體會議[EB/OL].百度百科 baike.baidu.com. [2012-12-26].
Design and Implementation of VoIP Gateway Based on Next Generation Network
REN Dingcheng
(School of Computer Engineering, Shenzhen Polytechnic, Shenzhen, Guangdong 518055, China)
The paper introduces the voice, data and video transmission over IP networks by the VoIP voice gateway based on next generation network, which can effectively reduce the cost of production. With the network processor and DSP as VoIP voice gateway solution, we designed the gateway device circuit and developed audio driver. With small and fast Session Initiation Protocol stack for development, a call between two IP phone s is made, meeting the requirements of the test.
next generation network; voice gateways; VoIP; SIP
TP393.18
A
1672-0318(2014)03-0024-04
2013-10-09
*項目來源:廣東省科技廳計劃資助項目(2011B010200012)
任定成(1977-),男,江西豐城人,實驗師,工程碩士,主要研究方向:計算機技術、網絡安全、嵌入式軟件開發.