近年來隨著寬帶網絡和IP技術的日益發展,VoIP(Volee over Internet Protoc01)技術的應用越來越廣泛。網關是VoIP網絡中的重要設備,按照應用領域可分為電信級網關和用戶端網關。用戶端網關設備主要應用于小區和企業,是連接終端電話和IP網絡的橋梁,主要功能是進行語音編解碼、信令處理、VoIP協議處理和路由協議處理等。用戶端網關設備在VoIP網絡中的位置如圖1所示。可以看出,網關處于用戶電話線路部分的末端、IP網絡部分的起始端。
“雙模”是指VoIP和PSTN兩種模式。雙模網關是一種同時連接PSTN網絡和VoIP網絡并能在兩者之間自動切換的用戶端網關設備。雙模網關可以使用VoIP網絡節省大量通話成本,還可以在VoIP網絡不可用(斷電或路由不可達)時使用PSTN網絡保障電話線路永遠暢通,而且使用雙模網關不需要對PBX交換機做任何改動,用戶還可以自由選擇或由網關自動選擇使用VoIP網絡還是PSTN網絡,具有很好的實用性和靈活性。
1 VoIP雙模網關的工作原理
網關在VoIP網絡中主要起協議轉換、控制及關守作用,如呼叫控制和呼叫管理等。雙模網關在普通VoIP網關的基礎上增加了VoIP與PSTN之間的切換。雙模網關系統從功能上可分為雙模切換模塊、FXS接口電路模塊、語音處理模塊和軟件控制模塊,其系統框圖如圖2所示。
外部交換站FXS(Fbreign eXchange Subscdber)接口和外部交換局FXO(Foreign eXchange Office)接口是VoIP網關中非常重要的兩個接口。在傳統的PSTN電話連接中,電話中心局端交換機提供饋電和鈴流,電話本身完成Tip/Ring電路來請求服務或者應答PSTN上的呼叫。在VoIP電話連接中,FXS電路仿真了電話中心局端交換機的功能,提供饋電和鈴流并檢測環路電流。而FXO電路相當于仿真了電話機的功能,提供環路閉合和檢測鈴流。
FXS接口電路直接與模擬話機連接,提供撥號音、饋電、鈴流電壓,并能夠檢測話機的摘掛機和環路閉合,完成模擬信號與數字信號之間的相互轉換。FXS接口電路包括編解碼器CODEC和用戶線接口電路SLIC(Subscriber Line Interface Circuit)。CODEC包括一個模數轉換器(ADC)和一個數模轉換器(DAC)。SLIC電路仿真了PSTN電壓,它必須能夠檢測電話的摘掛機并能產生最高達120V的鈴流電壓。
雙模切換模塊主要包括FXO接口電路,它由CODEC和數據處理陣列DAA(Data Access Arrangement)組成。其中CODEC與FXS電路中的相同;DAA仿真了一部話機,通過提供PSTN的環路閉合來去除高壓直流分量,只讓PSTN線上的模擬交流信號通過。網關中使用FXO接口電路可實現以下功能:
(1)斷電時線路保持暢通:當網關斷電不能連接VoIP網絡時,將線路切換到PSTN線路上。
(2)呼叫重定向:當VoIP網絡由于擁塞或者其他原因而不可用時,能夠將線路切換到PSTN上,而且能記住已撥號碼并進行自動重撥。
(3)遠端VoIP呼叫:VoIP用戶可以在其他地方通過PSTN撥入的方式進行VoIP呼叫,FXO接口先把PSTN上的電話撥號音(模擬信號)接收下來,然后轉換成數字信號送出,相當于將撥號音從一個FXO擴展到多個本地FXS。
網關的語音處理模塊負責對PCM數字語音信號進行壓縮與解壓縮。壓縮算法的標準包括G.711、G.723.1和G.729等,不同的算法壓縮比不一樣,占用的帶寬也不同。壓縮算法可以用硬件DSP實現,也可以用純軟件實現。
軟件控制模塊實現網關的協議棧處理和路由處理等功能。協議棧負責將壓縮后的數據流進行封裝,加上IP協議包頭,形成可在VoIP網絡中傳輸的IP數據包。目前VoIP的協議棧主要基于H.323和SIP兩種標準。協議棧將數據流打成IP數據包后,選擇適當路由經過以太網接口發送到VoIF網絡中。接收端網關接收到IP數據包后,將數據包解壓縮并將解壓縮后的PCM數字信號解碼,恢復原始語音信號。
2 VoIP雙模網關系統設計
本節提出了一種基于H.323的雙模網關的系統設計方案,該方案支持4路話音,使用一種經濟實用的“假FXO接口”方式實現雙模切換,能夠在VoIP通話時檢測到PSTN線上進來的呼叫并可通過按話機的拍簧或者Flash閃斷鍵切換接聽。
為了有效利用資源,系統使用三相轉接頭將電話線路與PSTN線路組合到一個RJ11接口上,每路話路使用一個三相轉接頭。三相轉接頭的連接方式如圖3所示。
三相轉接頭的使用可簡化雙模切換的實現,也減少了設備的物理端口數量。
系統設計采用“硬件+嵌入式操作系統+應用層軟件”的總體架構。
2.1 硬件設計方案
系統的硬件部分主要包括雙模切換模塊、FXS接口電路、語音處理模塊電路、CPU模塊和以太網模塊,硬件設計原理圖如圖4所示。
雙模切換模塊使用了一種“假FXO接口”的方式。電路中用繼電器控制各話路本身的VoIP和PSTN通路之間的雙模切換。繼電器在網關沒有上電時默認將網關置于把話機線與PSTN線對接的狀態,上電工作后由1片FPGA可編程邏輯芯片來控制繼電器的切換。FPGA芯片是網關實現智能切換的關鍵部件,其中實現的控制邏輯包括PSTN線路上的鈴流檢測、話機拍簧動作檢測等邏輯,并據此控制繼電器進行切換。FPGA與CPU的接口可實現在VoIP網絡路由不可達時切換到PSTN網絡的邏輯。雙模切換模塊實現了FXO接口的部分功能,但不是真正的FXO接口,所以稱之為“假FXO接口”。
FXS接口電路模塊主要由SUC芯片和Codee芯片組成,分別選用Legerity公司的Le79R70芯片和Le58Q021芯片。Le58Q021是4通道的Codec芯片,可以控制SLIC芯片(Le79R70)的工作狀態,選擇編碼方案(線性、a律、μ律),還支持軟件可編程SLIC的輸入阻抗、平衡阻抗和頻率響應特性等。系統使用1片Le58Q021和4片Le79R70協同工作支持4路話音,向話機提供饋電,產生振鈴信號、檢測話機摘掛機等,并負責完成電話模擬信號與PCM數字信號的相互轉換。
語音處理DSP芯片選用AudioCodes公司的AC483,它能同時支持4通道語音編解碼器,支持G.729A、G.723.1、G.727、G.726、G.711等壓縮算法標準,可完成實時的語音壓縮、DTMF信號的檢測、產生和回音消除等工作。
系統CPU芯片選用Samsung公司ARM7TDMI系列的S3C4510B,其工作頻率為50NHz,片內集成了豐富的通用模塊,含有支持10M/100M自適應的以太網控制器,可以直接通過PHY芯片引出以太網接口。以太網PHY芯片選用Intel公司的LXT972A芯片,它具有1OM/100M自適應收發功能,支持全雙工操作。此外,系統還使用了2MB Flash、16MB SDRAM和512KB SRAM作為存儲器。
2.2 軟件設計方案
軟件部分主要由嵌入式操作系統和應用層軟件組成,完成協議棧處理、路由處理和其他控制功能,軟件方案層次結構如圖5所示。
嵌入式操作系統采用μCLinux。μCLinux是一種針對無內存管理單元的處理器定制的嵌入式操作系統,具有豐富的網絡功能、源代碼公開、內棱可剪裁和易于移植等特點。根據硬件平臺的特點,還需要開發適應硬件平臺的驅動程序,包括Bootloader、串口驅動和以太網驅動。其中Boofloader是移植uCLinux操作系統的關鍵,系統上電時,Bootloader負責進行硬件初始化、中斷的處理和硬件時鐘管理等工作,并加載操作系統映象到內存。為方便系統網絡升級,Bootloader可實現TFTP網絡功能。串口和以太網口驅動程序相對比較簡單,實現數據的正確收發即可。
應用層的軟件主要由H.323協議棧處理模塊、路由處理模塊和DSP控制模塊組成。H.323協議棧負責呼叫控制和信令、音頻處理和媒體實時傳輸等功能。系統采用比較成熟的開放源代碼的OpenH323協議棧作為參考,應用層上的功能模塊都是基于該協議棧開發的。路由尋址模塊主要負責路由尋址和路由管理,確定目的網關的IP地址,并選擇最佳路由將IP數據包經過IP網絡傳送到目的網關。DSP控制模塊主要是在應用程序中根據通話流程編寫相應的控制程序控制DSP芯片AC483的行為。網管模塊提供了Web網管和CLI命令行界面,很容易對雙模網關配置和維護。
3 應用方案
系統作為用戶端網關設備,可廣泛應用于小區和企業。對于用戶數量比較少的小區,可以將話機直接與網關連接,如圖6所示。對于用戶量相對較多的企業,可以與PBX交換機連接,如圖7所示。
該系統基于H.323協議棧設計。目前該系統基本功能已實現,能與其他網關設備互通,并能與運營商的Gatekeeper互通。在該設計的基礎上,可以通過選用處理能力更強的芯片來支持更多話路,可以增加SIP協議棧以支持雙協議棧架構,還可以實現真的FXO接口電路以支持遠端VoIP呼叫,這些都是系統未來可以改進的地方。
責任編輯:gt
-
寬帶
+關注
關注
4文章
987瀏覽量
60236 -
接口
+關注
關注
33文章
8526瀏覽量
150861 -
數模轉換器
+關注
關注
14文章
994瀏覽量
83104
發布評論請先 登錄
相關推薦
評論