本檔案將概述與Cisco IOS® Voice over IP(VoIP)閘道搭配使用的不同編碼器 — 解碼器(編解碼器)。在低於12.0(5)T的Cisco IOS軟體版本中,VoIP閘道器僅支援G.729和G.711編解碼器,且每個數位訊號處理器(DSP)僅支援一個語音/傳真中繼呼叫。 隨著Cisco IOS軟體版本12.0(5)T的推出,Cisco VoIP網關支援更多的編解碼器和DSP模組。每個DSP還可支援多達四個語音/傳真中繼呼叫。
有關DSP的詳細資訊,請參閱語音硬體:C542和C549數位訊號處理器(DSP)。
DSP Calculator工具(僅供註冊客戶使用)確定Cisco 1751、1760、2600XM、2691、2800、3700和3800系列路由器平台的DSP要求,並作為輸出提供PVDM設定建議。該工具根據作為輸入提供的介面模組、編解碼器配置、轉碼通道和會議會話計算DSP要求。此工具支援適用於Cisco 1751、1760、2600XM、2691、2800、3700和3800平台的不同Cisco IOS軟體版本。
本文件沒有特定需求。
本文件所述內容不限於特定軟體和硬體版本。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
某些編解碼器壓縮技術比其他技術要求更多的處理能力。編解碼器複雜性分為中等複雜性和高複雜性兩類。
中等複雜性允許C549 DSP處理每個DSP最多4個語音/傳真中繼呼叫,C5510 DSP處理每個DSP最多8個語音/傳真中繼呼叫。
高複雜性允許C549 DSP處理每個DSP最多兩個語音/傳真中繼呼叫,C5510 DSP處理每個DSP最多六個語音/傳真中繼呼叫。
中等複雜性(4個呼叫/dsp) | 高複雜性(2個呼叫/dsp) |
---|---|
G.711(a-law和m-law) | G.728 |
G.726(所有版本) | G.723(所有版本) |
G.729a、G.729ab(G.729a AnnexB) | G.729、G.729b(G.729-AnnexB) |
傳真中繼 | 傳真中繼 |
註:中複雜度和高複雜度的編解碼器之間的區別是處理編解碼器演算法所需的CPU使用量,因此是單個DSP可以支援的語音通道數。因此,所有中等複雜度的編解碼器也可以在高複雜度的模式下運行,但每個DSP可用的通道較少(通常為一半)。
註:傳真中繼(2400 bps、4800 bps、7200 bps、9600 bps、12 kbps和14.4 kbps)可以使用中等或高複雜性的編解碼器。
在支援C549 DSP技術的平台上,編解碼器複雜性配置在語音卡(例如2600/3600/VG-200高密度語音網路模組)下。 某些平台僅支援高複雜性,因為它們具有足夠的DSP板載以支援所有使用高複雜性模式的T1/E1通道。要根據使用的編解碼器標準指定呼叫密度和編解碼器複雜性,請在語音卡配置模式下使用codec complexity命令。
複雜性配置示例如下所示:
Cisco-router #configure terminal Enter configuration commands, one per line. End with CNTL/Z. Cisco-router(config)#voice-card 1 Cisco-router(config-voicecard)#codec complexity ? high Set codec complexity high. High complexity, lower call density. medium Set codec complexity medium. Mid range complexity and call density. <cr> Cisco-router(config-voicecard)#codec complexity high
在支援C5510 DSP技術的平台上,提供了另一個靈活複雜性的選項。使用靈活複雜性時,每個DSP最多可以完成十六個呼叫。支援的呼叫數從6到16不等,取決於用於呼叫的編解碼器。
以下是組態範例:
Cisco-router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Cisco-router(config)#voice-card 1 Cisco-router(config-voicecard)#codec complexity ? flex Set codec complexity Flex. Flex complexity, higher call density. high Set codec complexity high. High complexity, lower call density. medium Set codec complexity medium. Mid range complexity and call density. <cr> Cisco-router(config-voicecard)#codec complexity flex
以下是show running-config輸出的摘要,用於判斷所配置的複雜性:
!voice-card 1 codec complexity high !
下表列出各種思科路由器平台的編解碼器支援。
編解碼器 | 1751/1760 | 26xx/36xx NM-1V/2V | 26xx/36xx NM-HDV | 3700 | 3810 | AS5300 AS5800 | AS5350 AS5400 | 7200 | 7500 | CMM 24FXS | CMM 6T1/E1 |
---|---|---|---|---|---|---|---|---|---|---|---|
G.711 a-law和u-law PCM(64 kbps) | 12.0.5XQ1 | 是 | 12.0.5XK1 | 是 | 12.0.7XK | 是 | 是 | 12.0.5XE3 | 12.1.3公噸 | 是 | 是 |
G.726 ADPCM(32、24、16 kbps) | 12.1.2公噸 | 12.0.5公噸 | 12.0.5XK1 | 是 | 12.0.7XK | 是 | 否 | 12.0.5XE3 | 12.1.3公噸 | 否 | 否 |
G.728 LD-CELP(16 kbps) | 是 | 12.0.5公噸 | 12.0.5XK1 | 是 | 12.0.7XK | 是 | 否 | 12.0.5XE3 | 12.1.3公噸 | 否 | 否 |
G.729 CS-ACELP(8 kbps) | 12.1.2公噸 | 是 | 12.0.5XK1 | 是 | 12.0.7XK | 是 | 否 | 12.0.5XE3 | 12.1.3公噸 | 否 | 否 |
G.729a CS-ACELP(8 kbps) | 12.0.5XQ1 | 是 | 12.0.5XK1 | 是 | 12.0.7XK | 是 | 是 | 12.0.5XE3 | 12.1.3公噸 | 是 | 是 |
G.729 Annex-B(8 kbps)[VAD] | 是 | 12.0.5公噸 | 12.0.5XK1 | 是 | 12.0.7XK | 是 | 否 | 12.0.5XE3 | 12.1.3公噸 | 否 | 否 |
G.729a Annex-B(8 kbps) | 是 | 是 | 12.0.5XK1 | 是 | 12.0.7XK | 是 | 是 | 12.0.5XE3 | 12.1.3公噸 | 是 | 是 |
G.723.1 MP-MLQ(6.3 kbps) | 12.1.2公噸 | 12.0.5公噸 | 12.0.5XK1 | 是 | 12.0.7XK | 是 | 是 | 12.0.5XE3 | 12.1.3公噸 | 否 | 否 |
G.723.1 ACELP(5.3 kbps) | 12.1.2公噸 | 12.0.5公噸 | 12.0.5XK1 | 是 | 12.0.7XK | 是 | 是 | 12.0.5XE3 | 12.1.3公噸 | 否 | 否 |
G.723.1 Annex-A MP-MLQ(6.3 kbps) | 12.1.2公噸 | 12.0.5公噸 | 12.0.5XK1 | 是 | 12.0.7XK | 是 | 是 | 12.0.5XE3 | 12.1.3公噸 | 否 | 否 |
G.723.1 Annex-A ACELP(5.3 kbps) | 12.1.2公噸 | 12.0.5公噸 | 12.0.5XK1 | 是 | 12.0.7XK | 是 | 是 | 12.0.5XE3 | 12.1.3公噸 | 否 | 否 |
清除通道 | 12.3(2)XF、12.3(11)T | 是 | 是 | 是 | 12.3(11)T | 是 | 是 | 否 | 否 |
編解碼器壓縮方法 |
---|
PCM =脈衝編碼調制 |
ADPCM =自適應差分脈衝編碼調制 |
LDCELP =低延遲碼激勵線性預測 |
CS-ACELP=共軛結構代數位激勵線性預測 |
MP-MLQ =多脈衝、多級量化 |
ACELP =代數位激勵線性預測 |
每個編解碼器都提供一定的語音品質。傳輸的語音品質是聽眾的主觀反應。用於確定特定編解碼器產生的聲音品質的通用基準是平均意見得分(MOS)。 使用MOS時,以1(差)到5(優秀)的尺度來判斷語音樣本(對應於特定的編解碼器)的品質。 對分數取平均值以提供該樣本的MOS。下表顯示了編解碼器和MOS評分之間的關係。
壓縮方法 | 位元率(kbps) | MOS得分 | 壓縮延遲(毫秒) |
---|---|---|---|
G.711 PCM | 64 | 4.1 | 0.75 |
G.726 ADPCM | 32 | 3.85 | 1 |
G.728 LD-CELP | 16 | 3.61 | 3 - 5 |
G.729 CS-ACELP | 8 | 3.92 | 10 |
G.729 x 2編碼 | 8 | 3.27 | 10 |
G.729 x 3編碼 | 8 | 2.68 | 10 |
G.729a CS-ACELP | 8 | 3.7 | 10 |
G.723.1 MP-MLQ | 6.3 | 3.9 | 30 |
G.723.1 ACELP | 5.3 | 3.65 | 30 |
雖然從財務角度來看,將所有呼叫轉換為低位元率編解碼器以節省基礎架構成本似乎是合理的,但在設計具有低位元率壓縮的語音網路時,請特別小心。壓縮語音有一些缺點。其中一個主要缺點是因多重編碼(稱為串聯編碼)造成的訊號失真。 例如,當G.729語音訊號被串接編碼三次時,MOS得分從3.92(非常好)降到2.68(不可接受)。 另一個缺點是使用低位元率編解碼器的編解碼器引起的延遲。
這兩個部分說明了與G.729(8 kbps)編解碼器實現相關的許多常見相容性問題。
在G.729編解碼器標準化之前,思科發佈了G.729前網際網路工程任務組(IETF)編解碼器實施。在Cisco IOS 12.0(5)T及更高版本中,G.729編解碼器的預設位順序從pre-IETF標準更改為IETF標準格式。這兩種格式不能互操作,導致終端使用者聽到難以理解的「吞噬聲音」。
為了與其他供應商的G.729實施相容,Cisco IOS軟體版本12.0.5T及更高版本預設為G.729的標準化實施。為了向後相容低於Cisco IOS軟體版本12.0.5T的Cisco IOS軟體版本,請使用以下命令啟用IETF之前的G.729實施:
maui-vgw-01(config)#dial-peer voice 100 voip maui-vgw-01(config-dial-peer)#codec g729r8 pre-ietf
Cisco IOS版本12.2及更新版本不支援此命令中的pre-ietf選項。
G.729是一個高複雜度的演算法,而G.729A(也稱為G.729 Annex-A)是G.729的一個中等複雜度的變體,語音品質稍低。所有支援G.729的平台也支援G.729A。
在Cisco IOS網關上,要使用的變體(G.729或G.729A)與語音卡上的編解碼器複雜性配置有關。它不會在Cisco IOS命令列介面(CLI)編解碼器選項中顯式顯示。例如,CLI不將g729ar8(「a」代碼)顯示為編解碼器選項。但是,如果語音卡被定義為中等複雜性,則g729r8選項為G.729A編解碼器。
註:對於MC3810,在低於12.0.7XK的Cisco IOS軟體版本中,有明確的CLI選項可供選擇,可以選擇24個G.729A通道或12個G.729通道。
G.729 Annex-B是一個高複雜度的演算法,而G.729A Annex-B是G.729 Annex-B的一個中等複雜度的變體,語音品質稍低。G.729與G.729 Annex-B編解碼器的區別在於,G.729 Annex-B編解碼器提供內建IETF語音活動檢測(VAD)和舒適雜訊生成(CNG)。
以下G.729編解碼器組合可互操作:
G.729和G.729A
G.729和G.729
G.729A和G.729A
G.729 Annex-B和G.729A Annex-B
G.729 Annex-B和G.729 Annex-B
G.729A Annex-B和G.729A Annex-B
註:在Cisco 2600/3600/VG-200 NM-1V和NM-2V(語音網路模組)上配置G.729A沒有明確的方式,因為這些語音模組不支援NM-HDV(高密度語音網路模組)支援的「編解碼器複雜性」配置。 但是,如果由NM-1V/2V上終止的另一個端點建立G.729A呼叫,則呼叫成功連線。
G.723.1有兩個版本,分別稱為Annex-A和non-Annex-A。這些版本無法互操作。G.723.1 Annex-A包括內建IETF VAD演算法和CNG。
此外,在Cisco IOS軟體版本12.0(5)T和更新版本中,5.3 kbps和6.3 kbps速率支援G.723.1編解碼器。當思科VoIP網關在使用G723.1的裝置之間建立呼叫時,只關心遠端使用G.723.1。任一端都不關心另一端支援的5.3 kbps或6.3 kbps速率。這意味著,雖然使兩端支援相同的速率是有益的,但一個端可能以5.3 kbps的速度傳輸,而反向以6.3 kbps的速度傳輸。使用show call active voice brief 命令檢視使用的速度,如下所示:
Cisco-router# show call active voice brief 47 : 494514hs.1 +473 pid:0 Answer active tx:210/5040 rx:219/4380 IP 5.5.0.1:16534 rtt:3ms pl:890/0ms lost:0/0/0 delay:70/70/70ms g723r63 47 : 494514hs.2 +473 pid:1 Originate 4750001 active TX:230/1840 rx:230/8280 Tele 2/0:0 (35): TX:6870/2290/0ms g723r63 !--- In this example the G.723.1 is operating at 6.3 kbps. noise:0 acom:0 i/0:-79/-5 dBm
G.723.1標準允許站點在呼叫期間在6.3 kbps和5.3 kbps之間更改速率,以根據網路流量負載進行調整。Cisco VoIP網關不支援此功能。但他們確實瞭解遠端裝置(例如Cisco IP電話)是否以與最初協商不同的速率傳輸。
以下G.723.1編解碼器組合可互操作:
G.723.1(5.3 kbps)和G.723.1(6.3 kbps)
G.723.1(5.3 kbps)和G.723.1(5.3 kbps)
G.723.1(6.3 kbps)和G.723.1(6.3 kbps)
G.723.1 Annex-A(5.3 kbps)和G.723.1 Annex-A(6.3 kbps)
G.723.1 Annex-A(5.3 kbps)和G.723.1 Annex-A(5.3 kbps)
G.723.1 Annex-A(6.3 kbps)和G.723.1 Annex-A(6.3 kbps)
隨著Cisco IOS軟體版本12.0(5)T的引入,Cisco VoIP網關支援編解碼器協商功能。此功能使Cisco VoIP網關能夠連線到其他VoIP裝置,而不必知道呼叫設定使用哪個編解碼器。此外,此功能還允許Cisco VoIP網關動態調整以適應遠端裝置上的更改。只要遠端VoIP裝置使用的編解碼器與Cisco VoIP網關的功能清單相匹配,VoIP呼叫即可完成。C542和C549 DSP均支援編解碼器協商。要指定在撥號對等體上使用的首選編解碼器清單,請在語音類配置模式下使用codec preference命令。
此示例說明如何配置編解碼器協商:
Cisco-router# configure terminal Cisco-router(config)# voice class codec 1 !--- This sets up class 1 to be assigned to the dial peer. Cisco-router(config-class)#codec preference 1 g723r63 Cisco-router(config-class)#codec preference 2 g729br8 Cisco-router(config-class)#codec preference 3 g711ulaw Cisco-router(config-class)#codec preference 4 g726r32 bytes 240 !--- These commands define the preferred codec list using 1,2,3, !--- and 4 to set the preference. Cisco-router(config)#dial-peer voice 1 voip Cisco-router(config-dial-peer)#voice-class codec 1 !--- This assigns voice-class codec 1 to the dial-peer Cisco-router(config-dial-peer)#destination-pattern 4723155 Cisco-router(config-dial-peer)#session target ipv4:192.168.100.1
%DSPRM-5-SETCODEC錯誤是由於VoIP撥號對等體上配置的高複雜性編解碼器,同時它仍具有預設設定中等複雜性的語音卡。要解決此問題,您必須從控制器中刪除ds0-group配置,這將導致刪除語音埠。刪除ds0-group後,請按照本文檔前面的步驟操作以更改複雜性。