内容

概要

背景説明

VoIP：コール単位の帯域幅

用語の説明

帯域幅の計算式

計算例

Cisco Call ManagerおよびCisco IOSゲートウェイでのボイスペイロードサイズの設定

音声ペイロード サイズの変更の影響

音声アクティビティ検出

RTP：ヘッダー圧縮または圧縮されたRTP（cRTP）

圧縮のヒューリスティック

関連情報

概要

このドキュメントでは、Voice over IP(VoIP)を使用する際に帯域幅を変更または節約するための音声コーデック帯域幅の計算および機能について説明します。

背景説明

パケット ボイス ネットワークを構築する際に考慮すべき最も重要な要素の 1 つとして、適切なキャパシティ計画が挙げられます。音声品質の高いパケット音声ネットワークの設計やトラブルシューティングを行う際には、キャパシティプランニングにおける帯域幅の計算が重要な要素になります。

注：このドキュメントの補足ツールとして、TAC 音声コーデック帯域幅カルキュレータ（登録ユーザ専用）ツールを使用できます。このツールは、パケット ボイス コールに必要な帯域幅の計算方法に関する情報を提供します。一部ツールについては、ゲスト登録のお客様にはアクセスできない場合がありますことを、ご了承ください。

VoIP：コール単位の帯域幅

計算では、次のプロトコルヘッダーの使用を想定しています。

- IP（20 バイト）/ User Datagram Protocol（UDP）（8 バイト）/ Real-Time Transport Protocol（RTP）（12 バイト）のヘッダー用に 40 バイト。

- Compressed Real-Time Protocol(cRTP)は、IP/UDP/RTPヘッダーを2または4バイトに減らします（cRTPはイーサネットでは使用できません）。

- Multilink Point-to-Point Protocol（MP）または Frame Relay Forum（FRF; フレームリレー フォーラム）.12 のレイヤ 2（L2）ヘッダー用に 6 バイト。

- MP およびフレームリレー フレームにおけるフレームの終わりを示すフラグ用に 1 バイト。

- イーサネット L2 ヘッダー用に 18 バイト（フレーム チェック シーケンス（FCS）または巡回冗長検査（CRC）用の 4 バイトを含む）。

注：この表には、Cisco Call ManagerまたはCisco IOS®ソフトウェアH.323ゲートウェイのデフォルトのボイスペイロードサイズの計算のみが含まれています。異なる音声ペイロードサイズおよび Voice over Frame Relay（VoFR）、Voice over ATM（VoATM）などの他のプロトコルの計算には、TAC 音声コーデック帯域幅カルキュレータ（登録ユーザ専用）ツールを使用してください。

コーデック情報

帯域幅の計算

コーデック ビット レート（Kbps）

コーデック サンプル サイズ（バイト）

コーデック サンプル間隔（ミリ秒）

平均オピニオン評点（MOS）

ボイス ペイロード サイズ（バイト）

ボイス ペイロード サイズ（ミリ秒）

Packets Per Second（PPS）

帯域幅 MP または FRF.12（Kbps）

cRTP 使用時の帯域幅 MP または FRF.12（Kbps）

帯域幅イーサネット（Kbps）

G.711（64 Kbps）

80 バイト

10 ms

4.1

160 バイト

20 ms

50

82.8 Kbps

67.6 Kbps

87.2 Kbps

G.729（8 Kbps）

10 バイト

10 ms

3.92

20 バイト

20 ms

50

26.8 Kbps

11.6 Kbps

31.2 Kbps

G.723.1（6.3 Kbps）

24 バイト

30 ミリ秒

3.9

24 バイト

30 ミリ秒

33.3

18.9 Kbps

8.8 Kbps

21.9 Kbps

G.723.1（5.3 Kbps）

20 バイト

30 ミリ秒

3.8

20 バイト

30 ミリ秒

33.3

17.9 Kbps

7.7 Kbps

20.8 Kbps

G.726（32 Kbps）

20 バイト

5 ミリ秒

3.85

80 バイト

20 ms

50

50.8 Kbps

35.6 Kbps

55.2 Kbps

G.726（24 Kbps）

15 バイト

5 ミリ秒

20 ms

50

42.8 Kbps

27.6 Kbps

47.2 Kbps

G.728（16 Kbps）

10 バイト

5 ミリ秒

3.61

60 バイト

30 ミリ秒

33.3

28.5 Kbps

18.4 Kbps

31.5 Kbps

G722_64k（64 Kbps）

80 バイト

10 ms

4.13

160 バイト

20 ms

50

82.8 Kbps

67.6 Kbps

87.2 Kbps

ilbc_mode_20（15.2 Kbps）

38 バイト

20 ms

適用外

38 バイト

20 ms

50

34.0 Kbps

18.8 Kbps

38.4 Kbps

ilbc_mode_30（13.33 Kbps）

50 バイト

30 ミリ秒

適用外

50 バイト

30 ミリ秒

33.3

25.867 Kbps

15.73 Kbps

28.8 Kbps

用語の説明

コーデック ビット レート（Kbps）

これは、音声コールを配信するために送信する必要がある、コーデックに基づいた 1 秒あたりのビット数です。（コーデック ビット レート = コーデック サンプル サイズ / コーデック サンプル間隔）

コーデック サンプル サイズ（バイト）

コーデックに基づいた、コーデック サンプル間隔ごとにデジタル シグナル プロセッサ（DSP）によってキャプチャされるバイト数。たとえば、10 ミリ秒のサンプル間隔で動作する G.729 コーダは、ビットレート 8 Kbps ではサンプルごとに 10 バイト（80 ビット）に相当します。（コーデック ビット レート = コーデック サンプル サイズ / コーデック サンプル間隔）

コーデック サンプル間隔（ミリ秒）

コーデックが動作するサンプル間隔。たとえば、10 ミリ秒のサンプル間隔で動作する G.729 コーダは、ビットレート 8 Kbps ではサンプルごとに 10 バイト（80 ビット）に相当します。（コーデック ビット レート = コーデック サンプル サイズ / コーデック サンプル間隔）

平均オピニオン評点（MOS）

MOS は、電話接続の音声品質の評価に使用されるシステムです。MOS では、多種多様な聞き手が 1（悪い）から 5（非常によい）の尺度でボイス サンプルの品質を判断します。 コーデックの MOS はスコアを平均化することで得られます。

ボイス ペイロード サイズ（バイト）

パケットに埋め込まれるバイト（またはビット）数。ボイス ペイロード サイズは、コーデック サンプル サイズの倍数でなければなりません。たとえば、G.729 パケットでは、10、20、30、40、50、または 60 バイトのボイス ペイロード サイズを使用できます。

ボイス ペイロード サイズ（ミリ秒）

ボイス ペイロード サイズは、コーデック サンプルで表すこともできます。たとえば、20ミリ秒（2つの10ミリ秒コーデックサンプル）のG.729音声ペイロードサイズは、20バイト[（20バイト*）の音声ペイロードを表します / （20ミリ秒） = 8 Kbps ]

PPS

コーデック ビット レートを配信するために秒あたりに送信する必要のあるパケット数。たとえば、パケットあたりのボイス ペイロード サイズが 20 バイト（160 ビット）の G.729 コールの場合、毎秒 50 パケットを送信する必要があります [50 pps =（8 Kbps）/（160 ビット/パケット）]。

帯域幅の計算式

次の計算が使用されます。

- 合計パケット サイズ =（L2 ヘッダー：MP または FRF.12 またはイーサネット）+（IP/UDP/RTP ヘッダー）+（音声ペイロード サイズ）

- PPS =（コーデック ビット レート）/（ボイス ペイロード サイズ）

- 帯域幅 = 合計パケット サイズ * PPS

計算例

たとえば、cRTP、MP、およびデフォルトの 20 バイトの音声ペイロードを使用した G.729 コール（8 Kbps コーデックビットレート）に必要な帯域幅は、次のように求められます。

- 合計パケット サイズ（バイト）=（MP ヘッダー 6 バイト）+（圧縮された IP/UDP/RTP ヘッダー 2 バイト）+（ボイス ペイロード 20 バイト）= 28 バイト

- 合計パケット サイズ（ビット）=（28 バイト）X 8 ビット/バイト = 224 ビット

- PPS =（8 Kbps コーデック ビット レート）/（160 ビット）= 50 pps

注：160 ビット = 20 バイト（デフォルトのボイス ペイロード）* 8 ビット/バイト

- コール単位の帯域幅 = ボイス パケット サイズ（224 ビット）* 50 pps = 11.2 Kbps

Cisco Call ManagerおよびCisco IOSゲートウェイでのボイスペイロードサイズの設定

パケットごとのボイスペイロードサイズは、Cisco Call ManagerおよびCisco IOSゲートウェイで設定できます。

注：Cisco IOSゲートウェイがCisco CallManagerでMedia Gateway Control Protocol(MGCP)ゲートウェイとして設定されている場合、すべてのコーデック情報（コーデックタイプ、ペイロードサイズ、音声アクティビティ検出など）はCisco CallManagerによって制御されます。

Cisco Call Managerでは、パケットごとの音声ペイロードサイズはシステム全体で設定可能です。この属性は、Cisco Call Manager Administration(Service > Service Parameters > select_server > Cisco Call Manager)で次の3つのサービスパラメータとともに設定されます。

- PreferredG711MillisecondPacketSize：（デフォルト設定：  20 ms.利用可能な設定：10、20、および 30 ミリ秒）

- PreferredG729MillisecondPacketSize：（デフォルト設定：20 ms.利用可能な設定：10、20、30、40、50、および 60 ミリ秒）

- PreferredG723MillisecondPacketSize：（デフォルト設定：30 ミリ秒.利用可能な設定：30 および 60 ミリ秒）

Cisco Call Managerでは、ボイスペイロードサイズはミリ秒(ms)サンプルで設定されます。次の表では、コーデックに基づいて、一部のミリ秒単位のサンプルをバイト単位の実際のペイロードサイズにマッピングしています。

コーデック

ボイス ペイロード サイズ（ミリ秒）

ボイス ペイロード サイズ（バイト）

注

G.711

20 ミリ秒（デフォルト）

160 バイト

コーデック ビット レートが常に維持されることに注目してください。以下に、いくつかの例を示します。G.711 コーデック = [240 バイト * 8（ビット/バイト）] / 30 ミリ秒 = 64 Kbps

30 ミリ秒

240 バイト

G.729

20 ミリ秒（デフォルト）

20 バイト

30 ミリ秒

30 バイト

G.723

30 ミリ秒（デフォルト）

Cisco IOS ゲートウェイでは、VoIP パケットの音声ペイロードサイズ（バイト単位）を CLI を使用して変更できる機能が Cisco IOS ソフトウェアリリース 12.0(5)T に追加されています。新しいコマンドの構文を次に示します。

Cisco-Router(config-dial-peer)#codec g729r8 bytes ?

Each codec sample produces 10 bytes of voice payload.

Valid sizes are:

10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120,

130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230

Any other value within the range will be rounded down to nearest valid size.

<10-230> Choose a voice payload size from the list above

音声ペイロード サイズの変更の影響

VoIP コールの帯域幅および遅延を決定する別の要因には、パケットごとのコーデックサンプルの数があります。コーデックはサンプルのサイズを定義しますが、秒あたりに送信されるパケット数は、パケットに配置されるサンプルの合計数によって影響されることがあります。

ボイス ペイロード サイズを大きくすると VoIP 帯域幅が小さくなり、全体的な遅延が増加します。次に、この例を示します。

- ボイス ペイロード サイズが 20 バイト（20 ミリ秒）の G.729 コール：（40 バイトの IP/UDP/RTP ヘッダー + 20 バイトのボイス ペイロード）* 8 ビット/バイト * 50 pps = 24 Kbps

- ボイス ペイロード サイズが 40 バイト（40 ミリ秒）の G.729 コール：（40 バイトの IP/UDP/RTP ヘッダー + 40 バイトのボイス ペイロード）* 8 ビット/バイト * 25 pps = 16 Kbps

注：

- L2ヘッダーはこの計算では考慮されません。

- 次の計算は、ペイロードサイズが倍増する場合、必要な PPS の数が半分に削減されることを示しています。

- 国際電気通信連合電気通信標準化部門（ITU-T）G.114 仕様で定義されているように、音声の片方向の全体的な遅延には 150 ミリ秒が推奨されています。プライベートネットワークの場合、200 ミリ秒は妥当な目標であり、最大でも 250 ミリ秒にする必要があります。

音声アクティビティ検出

回線交換ボイス ネットワークでは、会話の中に無音部分がどれくらいあるかにかかわらず、64 Kbps の固定帯域幅リンクをすべてのボイス コールが使用します。VoIP ネットワークでは、すべての会話および無音部分がパケット化されます。音声アクティビティ検出（VAD）を使用することで、無音のパケットを抑制できます。

VAD を使用すると、24 を超えるコール量の平均として、一定期間、最大 35 % の帯域幅を節約できます。この節約は、個々のボイス コールや特定の測定時には認識されません。ネットワーク設計や帯域幅管理を目的にしている場合は、VAD を考慮に入れないでください（特に、同時に伝送される音声コールが 24 未満のリンクの場合）。VAD は、保留音やファックスなど、さまざまな機能によって無効になります。ネットワークのすべての帯域幅がボイス コールの伝送用に設計されている場合、VAD によって節約された帯域幅は、すべてデータ アプリケーションが使用できます。

VAD には、Comfort Noise Generation（CNG; コンフォート ノイズ生成）も備わっています。 通話者は無音部分をコールの切断と誤って判断する可能性があります。そのため、CNG はホワイト ノイズをローカルに生成し、これによってどちらの通話者も通話中であることを認識できます。G.729 Annex-B および G.723.1 Annex-A には組み込みの VAD 機能がありますが、その他の点では、それぞれ G.729 および G.723.1 と性能は同じです。

Cisco Call Managerでは、次のサービスパラメータを使用してVADを有効にできます（デフォルトでは無効になっています）。

- SilenceSuppressionSystemWide：このパラメータは、すべての Skinny エンドポイント（Cisco IP 電話や Skinny ゲートウェイなど）を選択します。

- SilenceSuppressionWithGateways：このパラメータは、すべての MGCP ゲートウェイの VAD 設定を選択します。H.323 ゲートウェイには影響を及ぼしません。H.323 ゲートウェイでは、ゲートウェイで VAD を無効にしておく必要があります。

これらのサービスパラメータは、Cisco Call Manager Administration([Service] > [Service Parameters] > [select_server] > [Cisco CallManager] )にあります。

RTP：ヘッダー圧縮または圧縮されたRTP（cRTP）

VoIP パケットはすべて、次の 2 つのコンポーネントから構成されます:ボイス サンプルと IP/UDP/RTP ヘッダーという 2 つのコンポーネントで構成されています。音声サンプルはデジタルシグナルプロセッサ（DSP）によって圧縮され、使用するコーデックによってサイズは変わりますが、各ヘッダーの長さは常に 40 バイトです。デフォルトの G.729 コールのボイス サンプルが 20 バイトである点と比べると、これらのヘッダーは非常に大きなオーバーヘッドになります。cRTP を使用すると、これらのヘッダーを 2 または 4 バイトに圧縮できます。この圧縮により、VoIP の帯域幅を大幅に節約できます。たとえば、デフォルトの G.729 VoIP コールは cRTP なしの場合 24 Kb を消費しますが、cRTP を有効にすると 12 Kb しか消費しません。

cRTP では VoIP コールをリンクごとに圧縮するため、IP リンクの両端で cRTP を設定する必要があります。

Cisco IOS ソフトウェアリリース 12.0.5T 以前では、cRTP がプロセス交換されるため、CPU のパフォーマンスによって cRTP ソリューションの拡張性が大幅に制限されます。Cisco IOS ソフトウェア リリース 12.0.7T～12.1.2T で導入された cRTP パフォーマンスのさまざまな改良により、これらの問題のほとんどは解決されています。これは、履歴の概要です。

- Cisco IOS ソフトウェア リリース 12.0.5T 以前では、cRTP はプロセス交換されます。

- Cisco IOSソフトウェアリリース12.0.7T以降、12.1.1Tでは、cRTPに対するファーストスイッチングとCisco Express Forwarding(CEF)スイッチングのサポートが導入されています。

- Cisco IOS ソフトウェア リリース 12.1.2T で、アルゴリズムによってパフォーマンスが改善されました。

cRTPをファーストスイッチングパスに移動すると、VoIPゲートウェイと中間ルータが処理できるRTPセッション（VoIPコール）の数が大幅に増加します。

圧縮のヒューリスティック

RTP には独自のパケットヘッダーはありませんが、ヒューリスティックを使用することで、RTP ストリーム（cRTP 用）と UDP ストリーム（cUDP 用）を区別できます。現時点では、圧縮する RTP パケットの検出に使用される実際のヒューリスティックは次のとおりです。

- 宛先ポート番号が偶数。

- 宛先ポート番号の範囲が 16384～32767 または 49152～65535。

- RTP バージョン フィールドが 2 に設定されている。

- RTP 拡張フィールドが 0 に設定されている。

関連情報

- 音声に関する技術サポート

- 音声とユニファイド コミュニケーションに関する製品サポート

- Cisco IP Telephony のトラブルシューティング

- テクニカルサポート - Cisco Systems