このドキュメントでは、Cisco IOS® Voice over IP(VoIP)ゲートウェイで使用される各種のコーダ/デコーダ(コーデック)について概要を説明します。12.0(5)T よりも前の Cisco IOS ソフトウェア リリースでは、VoIP ゲートウェイは、デジタル シグナル プロセッサ(DSP)ごとに G.729 と G.711 コーデックおよび 1 つの音声/ファックスリレー コールのみをサポートしています。 Cisco IOS ソフトウェア リリース 12.0(5)T の導入により、Cisco VoIP ゲートウェイは、さまざまなコーデックと DSP モジュールをサポートするようになりました。さらに、DSP ごとに最大 4 つの音声/ファックスリレー コールをサポートできます。
DSP の詳細については、「音声ハードウェア:C542 および C549 デジタル シグナル プロセッサ(DSP)」を参照してください。
DSP 計算ツール(登録ユーザ専用)は、Cisco 1751、1760、2600XM、2691、2800、3700、3800 シリーズ ルータ プラットフォームの DSP 要件を判断し、出力として PVDM プロビジョニングの推奨事項を提供します。このツールは、入力として提供されたインターフェイス モジュール、コーデック設定、トランスコーディング チャネル、会議セッションに基づいて、DSP 要件を計算します。このツールは、Cisco 1751、1760、2600XM、2691、2800、3700 および 3800 プラットフォームに対して有効なさまざまな Cisco IOS ソフトウェア リリースをサポートしています。
このドキュメントに特有の要件はありません。
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
ドキュメント表記の詳細は、「シスコ テクニカル ティップスの表記法」を参照してください。
一部のコーデック圧縮技術は、他と比較して多くの処理能力を必要とします。コーデックの複雑度は、中複雑度と高複雑度の 2 つのカテゴリに分けられます。
中複雑度の場合、C549 DSP では DSP ごとに最大 4 つの音声/ファックスリレー コールを処理でき、C5510 DSP では DSP ごとに最大 8 つの音声/ファックスリレー コールを処理できます。
高複雑度の場合、C549 DSP では DSP ごとに最大 2 つの音声/ファックスリレー コールを処理でき、C5510 DSP では DSP ごとに最大 6 つの音声/ファックスリレー コールを処理できます。
中複雑度(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使用率であり、したがって、1つのDSPでサポートできる音声チャネルの数です。この理由から、すべての中複雑度コーデックは高複雑度モードでも実行できますが、DSP ごとに使用できるチャネル数は少なくなります(通常は半分)。
注:ファクスリレー(2400 bps、4800 bps、7200 bps、9600 bps、12 kbps、および14.4 kbps)は、中複雑度または高複雑度のコーデックを使用できます。
C549 DSP テクノロジー対応のプラットフォームでは、コーデックの複雑度は音声カード(2600/3600/VG-200 高密度音声ネットワーク モジュールなど)で設定されます。 一部のプラットフォームは、高複雑度モードを使用する T1/E1 チャネルをすべてサポートできる十分な数の DSP を搭載しているので、高複雑度のみをサポートしています。使用するコーデック規格に従ってコールの密度とコーデックの複雑度を指定するには、音声カード コンフィギュレーション モードで 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 ごとに最大 16 のコールを処理できます。サポートされるコールの数は、コールに使用されるコーデックに応じて 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 !
次の表は、さまざまな Cisco ルータ プラットフォームでサポートされるコーデックを示しています。
コーデック | 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 | Yes | 12.0.5XK1 | Yes | 12.0.7XK | Yes | Yes | 12.0.5XE3 | 12.1.3T | Yes | Yes |
G.726 ADPCM(32、24、16 kbps) | 12.1.2T | 12.0.5T | 12.0.5XK1 | Yes | 12.0.7XK | Yes | No | 12.0.5XE3 | 12.1.3T | No | No |
G.728 LD-CELP(16 Kbps) | Yes | 12.0.5T | 12.0.5XK1 | Yes | 12.0.7XK | Yes | No | 12.0.5XE3 | 12.1.3T | No | No |
G.729 CS-ACELP(8 kbps) | 12.1.2T | Yes | 12.0.5XK1 | Yes | 12.0.7XK | Yes | No | 12.0.5XE3 | 12.1.3T | No | No |
G.729a CS-ACELP(8 Kbps) | 12.0.5XQ1 | Yes | 12.0.5XK1 | Yes | 12.0.7XK | Yes | Yes | 12.0.5XE3 | 12.1.3T | Yes | Yes |
G.729 Annex-B(8 Kbps)[VAD] | Yes | 12.0.5T | 12.0.5XK1 | Yes | 12.0.7XK | Yes | No | 12.0.5XE3 | 12.1.3T | No | No |
G.729a Annex-B(8 Kbps) | Yes | Yes | 12.0.5XK1 | Yes | 12.0.7XK | Yes | Yes | 12.0.5XE3 | 12.1.3T | Yes | Yes |
G.723.1 MP-MLQ(6.3 Kbps) | 12.1.2T | 12.0.5T | 12.0.5XK1 | Yes | 12.0.7XK | Yes | Yes | 12.0.5XE3 | 12.1.3T | No | No |
G.723.1 ACELP(5.3 Kbps) | 12.1.2T | 12.0.5T | 12.0.5XK1 | Yes | 12.0.7XK | Yes | Yes | 12.0.5XE3 | 12.1.3T | No | No |
G.723.1 Annex-A MP-MLQ(6.3 Kbps) | 12.1.2T | 12.0.5T | 12.0.5XK1 | Yes | 12.0.7XK | Yes | Yes | 12.0.5XE3 | 12.1.3T | No | No |
G.723.1 Annex-A ACELP(5.3 Kbps) | 12.1.2T | 12.0.5T | 12.0.5XK1 | Yes | 12.0.7XK | Yes | Yes | 12.0.5XE3 | 12.1.3T | No | No |
クリア チャネル | 12.3(2)XF、12.3(11)T | Yes | Yes | Yes | 12.3(11)T | Yes | Yes | No | No |
コーデック圧縮方式 |
---|
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 |
インフラストラクチャ コストを節約するためにすべてのコールを低ビット レートのコーデックに変換することは、経済的な観点からは理にかなっているように思われますが、低ビット レート圧縮を使用する音声ネットワークを設計する際には特別な配慮が必要です。音声の圧縮には欠点があります。主な欠点の 1 つは、複数のエンコード(通称「タンデム符号化」)による信号の歪みです。 たとえば、G.729 音声信号を 3 回タンデム符号化した場合、MOS スコアは 3.92(非常によい)から 2.68(許容不可)に低下します。 もう 1 つの欠点は、低ビット レート コーデックによって遅延が誘発されることです。
以下の 2 つの項では、G.729(8 kbps)コーデックの実装に関連する一般的な互換性問題の多くについて説明します。
シスコでは、G.729 コーデックが標準化される以前に、プレ IETF(インターネット技術特別調査委員会)G.729 コーデックの実装をリリースしました。Cisco IOS 12.0(5)T 以降、G.729 コーデックのデフォルトのビット順はプレ IETF 標準から IETF 標準化フォーマットに変更されています。これらの 2 つのフォーマットは相互運用できず、両方を使用すると、エンドユーザには不明瞭な「ものを飲み込むような音」が聞こえます。
他のベンダーのG.729実装との互換性を確保するため、Cisco IOSソフトウェアリリース12.0.5T以降はG.729の標準実装にデフォルト設定されています。Cisco IOSソフトウェアリリース12.0.5Tより前のCisco IOSソフトウェアリリースとの下位互換性を確保確保するには、次コマンドをを
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ソフトウェアリリースでは、G.729Aの24チャネルまたはG.729の12チャネルの間に明示的なCLIオプションがあります。
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(音声ネットワークモジュール)では、NM-HDV(NM-HDV)でサポートされている「複雑度」コーデック設定はサポートされていません高密度音声ネットワークモジュール)。 ただし、NM-1V/2V で終端する相手側エンドポイントで G.729A コールがセットアップされた場合、そのコールは正常に接続されます。
G.723.1 には、Annex-A および非 Annex-A という 2 つのバージョンがあります。これらのバージョンは相互運用できません。G.723.1 Annex-A には、組み込みの IETF VAD アルゴリズムと CNG 機能があります。
また、Cisco IOS ソフトウェア リリース 12.0(5)T 以降では、5.3 kbps および 6.3 kbps レートの G.723.1 コーデックがサポートされます。Cisco 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 Phone など)が最初にネゴシエートしたレートと異なるレートで伝送しているかどうかは認識されます。
次の 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 DSP と 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 を削除した後、このドキュメントの前半で説明されている手順に従って、複雑度を変更します。