基于嵌入式Linux的網(wǎng)絡(luò )語(yǔ)音平臺的設計與構建
采用IP網(wǎng)絡(luò )進(jìn)行語(yǔ)音通信是一種廉價(jià)且方便的通信方式。其目前的技術(shù)已經(jīng)為用戶(hù)間的通信提供清晰、穩定、低延時(shí)的話(huà)音質(zhì)量,同時(shí)支持語(yǔ)音、數據、圖像的傳輸和其他多媒體業(yè)務(wù)。特別對于許多大中型企業(yè)來(lái)說(shuō),由于在各省或不同國家設有機構,每月都會(huì )產(chǎn)生巨額的國際、國內長(cháng)話(huà)通信費用,同時(shí)由于信息保密的要求,企業(yè)往往需要自己構建類(lèi)似VPN這樣的IP通話(huà)網(wǎng)絡(luò )以降低通信成本。這樣機構內部會(huì )先建立一個(gè)自己的電話(huà)網(wǎng)絡(luò ),同時(shí)以VPN或其他方式通過(guò)IP網(wǎng)連接出去。整個(gè)系統可以有效降低企業(yè)的運營(yíng)成本,提高工作的效率。本文所述的網(wǎng)絡(luò )語(yǔ)音處理平臺就是建立在此種方案上,主要通過(guò)VoIP網(wǎng)關(guān)+模擬話(huà)機的方式來(lái)實(shí)現。其中VoIP網(wǎng)關(guān)的主要功能是進(jìn)行信令處理、以ITU-T提出的H.323協(xié)議或IETF提出的SIP協(xié)議通信、語(yǔ)音編解碼處理等。
1 結構體系介紹
網(wǎng)絡(luò )語(yǔ)音處理平臺的基本工作原理是先將模擬語(yǔ)音信號轉為數字信號,再對輸入的語(yǔ)音數據編碼進(jìn)行壓縮處理,然后在H.323或SIP協(xié)議框架的基礎上,把這些語(yǔ)音數據分組打包,經(jīng)過(guò)IP網(wǎng)絡(luò )把數據包送至接收端,接收端再把這些語(yǔ)音數據包串起來(lái),經(jīng)過(guò)解壓處理后,恢復成原來(lái)的語(yǔ)音信號,從而達到由互聯(lián)網(wǎng)傳送語(yǔ)音的目的。本文將分硬件和軟件兩部分來(lái)講述網(wǎng)絡(luò )語(yǔ)音平臺的構建。
1.1 硬件部分
整個(gè)硬件部分如圖1所示。
整個(gè)系統包括語(yǔ)音處理部分和網(wǎng)絡(luò )數據處理兩部分,其中語(yǔ)音處理部分又分為FXO和FXS接口電路。FXO接口用于連接PSTN,可模擬電話(huà)功能,提供環(huán)路關(guān)閉功能并檢測來(lái)話(huà)振鈴。FXS用于連接POT普通電話(huà)機,模擬電話(huà)局端交換的功能。
在VoIP網(wǎng)關(guān)中,FXS電路是在分組網(wǎng)絡(luò )上建立去話(huà)呼叫與接收來(lái)話(huà)呼叫的基本接口。在用戶(hù)端(CPE)應用中,FXS電路存在于網(wǎng)關(guān)中,可提供撥號音、電池電流與振鈴電壓的功能,并檢測來(lái)自電話(huà)的環(huán)路關(guān)閉。由于該交換功能處于CPE級,因此不必與PSTN建立直接連接。FXS電路包括CODEC與SLIC(用戶(hù)線(xiàn)路接口電路)兩部分。CODEC由ADC與DAC構成。ADC將來(lái)自模擬電話(huà)的模擬信號轉換為可通過(guò)VoIP網(wǎng)絡(luò )傳輸的數字信號。DAC將數字信號轉換為模擬電平,以驅動(dòng)模擬電話(huà)。為了實(shí)現4kHz的音頻帶寬,ADC的采樣速率通常約為8kHz。SLIC部分則模擬PSTN電壓電平,通過(guò)用戶(hù)線(xiàn)向共電式話(huà)機直流饋電,檢測電話(huà)掛機還是摘機,并生成高達120V的振鈴電壓,同時(shí)提供過(guò)壓保護(Overvoltage Protection)功能,以防止用戶(hù)線(xiàn)上的電壓沖擊或過(guò)壓而損壞設備。
SLIC芯片采用LEGERITY的LE7947C,在控制器的控制下能模仿電話(huà)局局端功能,能對饋電電流進(jìn)行控制,并提供掛機傳輸功能,如在電話(huà)線(xiàn)路處在On-Hook狀態(tài)(被呼叫方?jīng)]摘機時(shí))提供振鈴信號。監視用戶(hù)線(xiàn)通斷狀態(tài),以檢測話(huà)機的摘機、掛機、撥號脈沖等用戶(hù)線(xiàn)信號,轉送給控制設備,以表示用戶(hù)的忙閑狀態(tài)和接續要求。SLIC芯片控制的方式如表1所示。這些控制信號接到了IXP421的GPIO上,這樣由IXP421發(fā)出控制信號??刂平Y果通過(guò)引腳的電平值來(lái)表示。
其中開(kāi)路是指當線(xiàn)路出現故障時(shí),模塊在內部將TIP和RING線(xiàn)斷開(kāi)。激活是指模塊收到摘機信號后(無(wú)論作為主叫還是振鈴時(shí)),首先使模塊重新激活,然后開(kāi)始通話(huà)。通話(huà)結束后又設為待機狀態(tài)。如需掛機傳輸功能,需在振鈴1秒(狀態(tài)值為1)后,將狀態(tài)值設為3(即011),持續時(shí)間為4秒,在此期間模塊可向話(huà)機傳送呼叫方ID等信號。待機是指模塊等待主叫摘機或作為被叫振鈴等事件發(fā)生。
CODEC芯片采用LEGERITY的T8503。它是A-律/μ-律的PCM編碼器,含有A/D和D/A單元,實(shí)現聲音的數字化和重組,并能實(shí)現增益控制。CODEC芯片具有兩個(gè)通道,每個(gè)通道均含有一個(gè)針對語(yǔ)音編碼或解碼的濾波器。兩個(gè)通道的PCM數據通過(guò)PCM同步接口進(jìn)行接收和發(fā)送,并由一對FSXn和FSRn控制兩個(gè)通道的幀同步,確保在每個(gè)通話(huà)時(shí)隙進(jìn)行數據傳輸。
FXO電路部分包括CODEC與數據存取裝置(DAA)。將模擬語(yǔ)音轉換為數字信號,隨后再轉換回來(lái),同時(shí)負責數據的傳輸。DAA模擬(POTS)電話(huà)功能,其重要作用是去除高電壓直流偏置,將PSTN環(huán)路關(guān)閉,從而僅傳送來(lái)自PSTN的模擬交流信號。并具有極性保護電路,保證電話(huà)機與外線(xiàn)連接時(shí)能取得極性正確的直流工作電壓。
linux相關(guān)文章:linux教程
評論