音声 : 音声品質

VoIP:コール単位の帯域幅の使用量

2009 年 1 月 14 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2006 年 2 月 2 日) | フィードバック

対話形式: このドキュメントでは、TAC 音声コーデック帯域幅カルキュレータ登録ユーザ専用)ツールを使用して音声帯域幅の計算を行います。
一部ツールについては、ゲスト登録のお客様にはアクセスできない場合がありますことを、ご了承ください。


目次

概要
前提条件
      要件
      使用するコンポーネント
      表記法
VoIP:コール単位の帯域幅
      用語の説明
      帯域幅の計算式
      計算例
Cisco CallManager および IOS ゲートウェイでのボイス ペイロード サイズの設定
ボイス ペイロード サイズの変更による影響
音声アクティビティ検出
RTP ヘッダー圧縮または Compressed RTP(cRTP)
      圧縮のヒューリスティック
関連するシスコ サポート コミュニティ ディスカッション
関連情報

概要

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

このドキュメントでは、Voice over IP(VoIP)を使用している場合のボイス コーデックの帯域幅の計算、および帯域幅を変更または維持する機能について説明しています。

注:このドキュメントの補足ツールとして、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 CallManager または Cisco IOS(R) ソフトウェア 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 ミリ秒

4.1

160 バイト

20 ミリ秒

50

82.8 Kbps

67.6 Kbps

87.2 Kbps

G.729(8 Kbps)

10 バイト

10 ミリ秒

3.92

20 バイト

20 ミリ秒

50

26.8 Kbps

11.6 Kbps

31.2 Kbps

G.723.1(6.3 Kbps)

24 バイト

30 ミリ秒

3.9

24 バイト

30 ミリ秒

34

18.9 Kbps

8.8 Kbps

21.9 Kbps

G.723.1(5.3 Kbps)

20 バイト

30 ミリ秒

3.8

20 バイト

30 ミリ秒

34

17.9 Kbps

7.7 Kbps

20.8 Kbps

G.726(32 Kbps)

20 バイト

5 ミリ秒

3.85

80 バイト

20 ミリ秒

50

50.8 Kbps

35.6 Kbps

55.2 Kbps

G.726(24 Kbps)

15 バイト

5 ミリ秒

 

60 バイト

20 ミリ秒

50

42.8 Kbps

27.6 Kbps

47.2 Kbps

G.728(16 Kbps)

10 バイト

5 ミリ秒

3.61

60 バイト

30 ミリ秒

34

28.5 Kbps

18.4 Kbps

31.5 Kbps

用語の説明

コーデック ビット レート(Kbps)

コーデックに基づいた、ボイス コールを配信するために送信する必要のある秒あたりのビット数。(コーデック ビット レート = コーデック サンプル サイズ / コーデック サンプル間隔)

コーデック サンプル サイズ(バイト)

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

コーデック サンプル間隔(ミリ秒)

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

MOS

電話接続のボイス品質の評価体系。MOS では、多種多様な聞き手が 1(悪い)から 5(非常によい)の尺度でボイス サンプルの品質を判断します。コーデックの MOS はスコアの平均によって計算されます。

ボイス ペイロード サイズ(バイト)

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

ボイス ペイロード サイズ(ミリ秒)

ボイス ペイロード サイズは、コーデック サンプルで表すこともできます。たとえば、20 ミリ秒という G.729 ボイス ペイロード サイズ(10 ミリ秒のコーデック サンプルが 2 つ)は、20 バイトのボイス ペイロードを表します [(20 バイト * 8)/(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 バイト)* 8 ビット/バイト = 224 ビット

  • PPS =(8 Kbps コーデック ビット レート)/(160 ビット)= 50 pps

    注:160 ビット = 20 バイト(デフォルトのボイス ペイロード)* 8 ビット/バイト

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

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

Cisco CallManager および Cisco IOS ゲートウェイで、パケットあたりのボイス ペイロードを設定することができます。

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

Cisco CallManager では、パケットあたりのボイス ペイロード サイズをシステム全体で設定することができます。この属性は、Cisco CallManager Administration(Service > Service Parameters > select_server > Cisco CallManager)で次の 3 つのサービス パラメータを指定して設定します。

  • PreferredG711MillisecondPacketSize:(デフォルト設定:20 ミリ秒。可能な設定:10、20、および 30 ミリ秒)

  • PreferredG729MillisecondPacketSize:(デフォルト設定:20 ミリ秒。可能な設定:10、20、30、40、50、および 60 ミリ秒)

  • PreferredG723MillisecondPacketSize:(デフォルト設定:30 ミリ秒。可能な設定:30 および 60 ミリ秒)

Cisco CallManager では、ボイス ペイロード サイズをミリ秒(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 パケットのペイロード サイズ(バイト)を Command Line Interface(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 ネットワークでは、すべての会話および無音部分がパケット化されます。Voice Activity Detection(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 CallManager では、次のサービス パラメータを指定して VAD を有効にすることができます(デフォルトでは無効になっています)。

  • SilenceSuppressionSystemWide:このパラメータは、すべての Skinny エンドポイント(例:Cisco IP Phones および Skinny ゲートウェイなど)の VAD 設定を選択します。

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

以上のサービス パラメータは、Cisco CallManager Administration(Service > Service Parameters > select_server > Cisco CallManager)で検索できます。

RTP ヘッダー圧縮または Compressed RTP(cRTP)

bwidth_consume.gif

VoIP パケットはすべて、ボイス サンプルと IP/UDP/RTP ヘッダーという 2 つのコンポーネントで構成されています。ボイス サンプルは Digital Signal Processor(DSP; デジタル シグナル プロセッサ)によって圧縮され、また使用されるコーデックによってサイズが変わる場合がありますが、IP/UDP/RTP ヘッダーは常に 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 で、cRTP に対するファースト スイッチングと Cisco Express Forwarding(CEF; Cisco エクスプレス フォワーディング)スイッチングのサポートが導入され、12.1.1T でも引き続きサポートされました。

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

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

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

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

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

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

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

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


関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 7934