在當今VOIP通信網(wǎng)絡(luò ),語(yǔ)音編碼轉換的需求正在逐步增長(cháng)。IP電話(huà)網(wǎng)絡(luò )中,一個(gè)正常的語(yǔ)音通話(huà),可能是在跨網(wǎng)絡(luò ),多協(xié)議,多語(yǔ)音編碼環(huán)境中進(jìn)行。因此,終端之間跨網(wǎng)絡(luò )語(yǔ)音通信,語(yǔ)音編碼轉換是一個(gè)非常普遍,非常必要的需求。通常,對語(yǔ)音編碼轉換處理,有兩種方式:軟件語(yǔ)音編碼方式和Sangoma的硬件DSP處理方式。因為價(jià)格和穩定性方面的差異,用戶(hù)對軟件編碼處理和硬件編碼處理方式的不同有所疑問(wèn)。為了給廣大用戶(hù)提供一個(gè)比較可行的,權威的測試數據,我們使用Sangoma E1語(yǔ)音卡,Sangoma 編碼卡和asterisk開(kāi)源軟交換平臺作為測試平臺進(jìn)行了壓力測試。 我們希望,通過(guò)Sangoma的測試方法,可以給用戶(hù)提供一個(gè)比較科學(xué)的,可信的壓力測試數據,為用戶(hù)將來(lái)在VOIP落地,編碼轉換解決方案,呼叫中心解決方案提供一個(gè)權威,有價(jià)值的行業(yè)參考標準。本測試用例分為幾個(gè)方面的內容:
測試工具選擇,測試流程方法,測試結果,測試局限性和對未來(lái)如何測試語(yǔ)音編碼轉換的展望。
Sangoma語(yǔ)音編碼測試工具
測試工具選擇
測試的方法多種多樣。選擇科學(xué)合理測試工具是非常重要的。選擇以上測試工具的理由:
- Asterisk本身是目前最受歡迎的,相當穩定的開(kāi)源呼叫中心平臺,具有可靠的穩定性。
- 單張A108卡可以支持E1 240路并發(fā)呼叫,作為E1呼叫測試的接口,保證支持240路正常通話(huà),使用兩張A108,測試呼叫量高達300路。
- D100 支持市場(chǎng)上大部分的語(yǔ)音編碼,包括G.729,AMR,G.732等等語(yǔ)音編碼,當然也可以選擇Sangoma D500 作為高并發(fā)分布式系統測試。
- SIPp 是目前開(kāi)源的,免費SIP呼叫測試工具,可以靈活配置各種語(yǔ)音編碼,并且穩定性高,作為權威的測試工具是完全可以保證測試數據的真實(shí)性。
- 通過(guò)3個(gè)不同型號的CPU進(jìn)行測試,數據具有普遍性。
- 使用標準的linux 發(fā)布版本:centos,平臺標準化保證了數據的說(shuō)服力。
圖例 1:Sangoma A108/D100/SIPp語(yǔ)音編碼測試流程圖
測試流程方法
通過(guò)以上測試流程圖,我們可以看出,具體的測試過(guò)程需要以下6個(gè)步驟:
- 通過(guò)SIPp 腳本語(yǔ)言發(fā)起一個(gè)SIP測試呼叫。
- 網(wǎng)關(guān)接受SIP呼叫。
- D100 編碼轉換卡轉換成G.711 語(yǔ)音編碼,然后發(fā)送到A108 數字卡。
- 此呼叫通過(guò)A108端口回環(huán)呼叫,返回到A108數字卡的另一個(gè)端口。
- D100 再次對此呼叫進(jìn)行編碼。
- 此呼叫通過(guò)網(wǎng)關(guān)呼出,接收端接收呼叫。
以每秒6路通話(huà)的頻率發(fā)起呼叫,直到網(wǎng)關(guān)asterisk CPU 不能負載任何系統任務(wù)。
測試結果
通過(guò)使用軟件編碼轉換和Sangoma硬件編碼轉換卡進(jìn)行的G.711,G.729轉換處理得出以下數據結果:
圖例 2:G.711-G.729 Atcom D150 CPU 狀態(tài)(軟件回聲和硬件編碼卡對比結果)
圖例 3:G.711-G.729 Dual Core E5200 CPU(軟件回聲和硬件編碼卡對比結果)
圖例 4:G.711-G.729 Core 2 Quad Q8200 CPU(軟件回聲和硬件編碼卡對比結果)
通過(guò)兩組結果的對比,可以發(fā)現,同樣CPU,同樣的Asterisk軟交換平臺使用硬件編碼轉換卡比使用軟件編碼可以降低系統CPU負載50%,同時(shí)處理能力增加了100%。所以筆者建議,在比較大型(至少100路以上)的呼叫會(huì )話(huà)處理環(huán)境下,建議用戶(hù)使用Sangoma硬件編碼轉換卡做語(yǔ)音編碼解決方案。
測試局限性
任何參數都有一定的局限性,本方法的局限性是:
- 測試只是使用了G.711 和G.729 編碼,其他編碼沒(méi)有測試。
- 編碼轉換以后的語(yǔ)音質(zhì)量是抽查樣本,不能代表所有語(yǔ)音會(huì )話(huà),可以測試G.711, G.722, G.722.1, G.726, G.729AB, GSM-FR, GSM-EFR, AMR, AMR-WB (G.722.2), iLBC, 支持1000路會(huì )話(huà)處理。
- 通話(huà)時(shí)長(cháng)不能完全體現實(shí)時(shí)的系統呼叫。
- 測試僅在內網(wǎng)進(jìn)行,缺乏對Delay,抖動(dòng),丟包和QoS等因素非常有效的檢測。
測試語(yǔ)音編碼轉換的展望
以上測試方法肯定不是最完美的方法,存在很多不足之處,例如,如何測試高并發(fā)狀態(tài)下的系統資源狀態(tài)等等。為了進(jìn)一步進(jìn)行測試編碼轉換的高并發(fā)測試,用戶(hù)可以根據自己的應用環(huán)境做進(jìn)一步的測試,采用Sangoma 16E1,D500 高并發(fā)的編碼卡在最新的Asterisk-11 平臺對其他幾種編碼進(jìn)行測試,同時(shí)加大語(yǔ)音采樣樣本,最多限度反映真實(shí)的數據處理狀態(tài)。當然還有非常好的測試方法,希望有豐富經(jīng)驗的用戶(hù)提出反饋意見(jiàn)。