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