Inhalt

Einleitung

Hintergrundinformationen

VoIP - Bandbreite pro Anruf

Erläuterung der Begriffe

Formeln zur Bandbreitenberechnung

Beispielberechnung

Konfigurieren der Voice Payload-Größen in Cisco Call Manager und Cisco IOS Gateways

Auswirkungen einer Änderung der Payload-Größe für Sprachdatenverkehr

Erkennung von Sprachaktivität

RTP Header-Compression oder Compressed RTP (cRTP)

Heuristik zur Komprimierung

Zugehörige Informationen

Einleitung

In diesem Dokument werden die Bandbreitenberechnungen für den Sprach-Codec sowie Funktionen zum Ändern oder Schonen der Bandbreite bei Verwendung von VoIP (Voice over IP) beschrieben.

Hintergrundinformationen

Einer der wichtigsten Faktoren bei der Einrichtung von Paket-Sprachnetzwerken ist die richtige Kapazitätsplanung. Bei der Kapazitätsplanung ist die Bandbreitenberechnung ein wichtiger Faktor, der bei der Planung und Fehlerbehebung von Paket-Sprachnetzwerken für eine gute Sprachqualität berücksichtigt werden muss.

Anmerkung: Ergänzend zu diesem Dokument können Sie das Tool TAC Voice Bandwidth Codec Calculator (nur für registrierte Kunden) verwenden. Dieses Tool bietet Informationen zur Berechnung der für Paket-Sprachanrufe erforderlichen Bandbreite.

VoIP - Bandbreite pro Anruf

Diese Protokoll-Header-Annahmen werden für die Berechnungen verwendet:

- 40 Byte für IP- (20 Byte)/UDP- (User Datagram Protocol) (8 Byte)/RTP- (Real-Time Transport Protocol) (12 Byte) Header.

- Compressed Real-Time Protocol (cRTP) reduziert die IP/UDP/RTP-Header auf 2 oder 4 Byte (cRTP ist nicht über Ethernet verfügbar).

- 6 Byte für Multilink Point-to-Point Protocol (MP)- oder Frame Relay Forum (FRF).12 Layer 2 (L2)-Header.

- 1 Byte für das Flag für das Ende des Frames auf MP- und Frame-Relay-Frames.

- 18 Byte für Ethernet-L2-Header, darunter 4 Byte Frame Check Sequence (FCS) oder Cyclic Redundancy Check (CRC).

Anmerkung: Diese Tabelle enthält nur Berechnungen für die Standardgrößen der Sprach-Payloads der H.323-Gateways von Cisco Call Manager oder Cisco IOS® Software. Für zusätzliche Berechnungen, die unterschiedliche Sprach-Payload-Größen und andere Protokolle umfassen, wie Voice over Frame Relay (VoFR) und Voice over ATM (VoATM), verwenden Sie das Tool TAC Voice Bandwidth Codec Calculator (nur für registrierte Kunden).

Codec-Informationen

Berechnung der Bandbreite

Codec und Bitrate (Kbit/s)

Codec-Beispielgröße (Byte)

Codec-Beispielintervall (ms)

Mean Opinion Score (MOS)

Voice-Nutzlastgröße (Byte)

Voice-Nutzlastgröße (ms)

Pakete pro Sekunde (PPS)

Bandbreite MP oder FRF.12 (Kbit/s)

Bandbreite mit cRTP MP oder FRF.12 (Kbit/s)

Bandbreite Ethernet (Kbit/s)

G.711 (64 Kbit/s)

80 Byte

10 ms

4.1

160 Byte

20 ms

50

82,8 Kbit/s

67,6 Kbit/s

87,2 Kbit/s

G.729 (8 Kbit/s)

10 Byte

10 ms

3.92

20 Byte

20 ms

50

26,8 Kbit/s

11,6 Kbit/s

31,2 Kbit/s

G.723.1 (6,3 Kbit/s)

24 Byte

30 ms

3.9

24 Byte

30 ms

33.3

18,9 Kbit/s

8,8 Kbit/s

21,9 Kbit/s

G.723.1 (5,3 Kbit/s)

20 Byte

30 ms

3.8

20 Byte

30 ms

33.3

17,9 Kbit/s

7,7 Kbit/s

20,8 Kbit/s

G.726 (32 Kbit/s)

20 Byte

5 ms

3.85

80 Byte

20 ms

50

50,8 Kbit/s

35,6 Kbit/s

55,2 Kbit/s

G.726 (24 Kbit/s)

15 Byte

5 ms

20 ms

50

42,8 Kbit/s

27,6 Kbit/s

47,2 Kbit/s

G.728 (16 Kbit/s)

10 Byte

5 ms

3.61

60 Byte

30 ms

33.3

28,5 Kbit/s

18,4 Kbit/s

31,5 Kbit/s

G722_64k (64 Kbit/s)

80 Byte

10 ms

4.13

160 Byte

20 ms

50

82,8 Kbit/s

67,6 Kbit/s

87,2 Kbit/s

ilbc_mode_20 (15,2 Kbit/s)

38 Byte

20 ms

NA

38 Byte

20 ms

50

34,0 Kbit/s

18,8 Kbit/s

38,4 Kbit/s

ilbc_mode_30 (13,33 Kbit/s)

50 Byte

30 ms

NA

50 Byte

30 ms

33.3

25,867 Kbit/s

15,73 Kbit/s

28,8 Kbit/s

Erläuterung der Begriffe

Codec-Bitrate (Kbit/s)

Basierend auf dem Codec ist dies die Anzahl von Bits pro Sekunde, die übertragen werden müssen, um einen Sprachanruf zu übermitteln. (Codec-Bitrate = Codec-Abtastgröße / Codec-Abtastintervall).

Codec-Beispielgröße (Byte)

Basierend auf dem Codec ist dies die Anzahl der Bytes, die vom Digital Signal Processor (DSP) in jedem Codec-Abtastintervall erfasst werden. Beispielsweise arbeitet der G.729-Codierer in Abtastintervallen von 10 ms, was 10 Byte (80 Bit) pro Abtastwert bei einer Bitrate von 8 Kbit/s entspricht. (Codec-Bitrate = Codec-Abtastgröße / Codec-Abtastintervall).

Codec-Beispielintervall (ms)

Dies ist das Abtastintervall, in dem der Codec ausgeführt wird. Beispielsweise arbeitet der G.729-Codierer in Abtastintervallen von 10 ms, was 10 Byte (80 Bit) pro Abtastwert bei einer Bitrate von 8 Kbit/s entspricht. (Codec-Bitrate = Codec-Abtastgröße / Codec-Abtastintervall).

Mean Opinion Score (MOS)

MOS ist ein System zur Bewertung der Sprachqualität von Telefonverbindungen. Mit MOS beurteilen zahlreiche Hörer die Qualität einer Stimmprobe auf einer Skala von eins (schlecht) bis fünf (ausgezeichnet). Die Bewertungen werden gemittelt, um den MOS für den Codec bereitzustellen.

Voice-Nutzlastgröße (Byte)

Die Sprach-Nutzlastgröße repräsentiert die Anzahl der Bytes (oder Bits), die in ein Paket gefüllt werden. Die Sprach-Nutzlastgröße muss ein Vielfaches der Codec-Beispielgröße sein. G.729-Pakete können beispielsweise eine Sprach-Nutzlastgröße von 10, 20, 30, 40, 50 oder 60 Byte verwenden.

Voice-Nutzlastgröße (ms)

Die Größe der Sprach-Nutzlast kann auch anhand der Codec-Samples dargestellt werden. Eine G.729-Sprach-Nutzlastgröße von 20 ms (zwei 10-ms-Codec-Samples) stellt beispielsweise eine Sprach-Nutzlast von 20 Byte dar [ (20 Byte * / (20 ms) = 8 Kbit/s ]

PS

PPS steht für die Anzahl der Pakete, die jede Sekunde übertragen werden müssen, um die Codec-Bitrate zu liefern. Beispielsweise müssen für einen G.729-Anruf mit einer Sprach-Nutzlastgröße pro Paket von 20 Byte (160 Bit) pro Sekunde 50 Pakete übertragen werden [50 pps = (8 Kbit/s) / (160 Bit pro Paket) ]

Formeln zur Bandbreitenberechnung

Diese Berechnungen werden verwendet:

- Gesamtpaketgröße = (L2-Header: MP oder FRF.12 oder Ethernet) + (IP/UDP/RTP Header) + (Voice Payload Size)

- PPS = (Codec-Bitrate) / (Nutzlastgröße für Sprache)

- Bandbreite = Gesamtpaketgröße * PPS

Beispielberechnung

Die erforderliche Bandbreite für einen G.729-Anruf (8 Kbit/s Codec-Bitrate) mit cRTP, MP und die standardmäßige 20-Byte-Sprach-Nutzlast beträgt beispielsweise:

- Gesamtpaketgröße (Byte) = (MP-Header von 6 Byte) + (komprimierter IP/UDP/RTP-Header von 2 Byte) + (Sprachnutzlast von 20 Byte) = 28 Byte

- Gesamtpaketgröße (Bit) = (28 Byte) * 8 Bit pro Byte = 224 Bit

- PPS = (Codec-Bitrate von 8 Kbit/s) / (160 Bit) = 50 pps

Anmerkung: 160 Bit = 20 Byte (Standard-Sprachnutzlast) x 8 Bit pro Byte

- Bandbreite pro Anruf = Größe des Sprachpakets (224 Bit) x 50 pps = 11,2 Kbit/s

Konfigurieren der Voice Payload-Größen in Cisco Call Manager und Cisco IOS Gateways

Die Größe der Sprach-Nutzlast pro Paket kann in Cisco Call Manager und Cisco IOS-Gateways konfiguriert werden.

Anmerkung: Wenn das Cisco IOS-Gateway im Cisco Call Manager als MGCP-Gateway (Media Gateway Control Protocol) konfiguriert ist, werden alle Codec-Informationen (Codec-Typ, Nutzlastgröße, Erkennung von Sprachaktivitäten usw.) vom Cisco CallManager gesteuert.

Die Größe der Sprach-Nutzlast pro Paket kann im Cisco Call Manager systemweit konfiguriert werden. Dieses Attribut wird in der Cisco Call Manager-Verwaltung (Service > Serviceparameter > select_server > Cisco Call Manager) festgelegt und umfasst die folgenden drei Serviceparameter:

- PreferredG711MillisecondPacketSize - (Standardeinstellung: 20 ms Verfügbare Einstellungen: 10, 20 und 30 ms)

- PreferredG729MillisecondPacketSize - (Standardeinstellung: 20 ms Verfügbare Einstellungen: 10, 20, 30, 40, 50 und 60 ms)

- PreferredG723MillisecondPacketSize - (Standardeinstellung: 30 ms Verfügbare Einstellungen: 30 und 60 ms)

Die Größe der Sprach-Nutzlast wird im Cisco Call Manager in Millisekunden (ms)-Stichproben konfiguriert. Basierend auf dem Codec ordnet diese Tabelle einige ms-Samples der tatsächlichen Payload-Größe in Byte zu.

Codec

Voice-Nutzlastgröße (ms)

Voice-Nutzlastgröße (Byte)

Kommentare

G.711

20 ms (Standard)

160 Byte

Beachten Sie, dass die Codec-Bitrate immer beibehalten wird. Beispiele: G.711 Codec = [240 Bytes * 8(Bits/Bytes)] / 30 ms = 64 Kbit/s

30 ms

240 Byte

G.729

20 ms (Standard)

20 Byte

30 ms

30 Byte

G.723

30 ms (Standard)

In Cisco IOS-Gateways wurde eine Funktion in Version 12.0(5)T der Cisco IOS-Software hinzugefügt, mit der die Größe der Sprach-Payload (in Byte) für VoIP-Pakete über die CLI geändert werden kann. Die neue Befehlssyntax lautet wie folgt:

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

Auswirkungen einer Änderung der Payload-Größe für Sprachdatenverkehr

Die Anzahl der Codec-Samples pro Paket ist ein weiterer Faktor, der die Bandbreite und Verzögerung eines VoIP-Anrufs bestimmt. Der Codec definiert die Größe der Stichprobe, aber die Gesamtzahl der Stichproben in einem Paket beeinflusst, wie viele Pakete pro Sekunde gesendet werden.

Wenn Sie die Größe der Sprach-Nutzlast erhöhen, verringert sich die VoIP-Bandbreite, und die Gesamtverzögerung erhöht sich. Dieses Beispiel zeigt Folgendes:

- G.729-Anruf mit einer Sprach-Nutzlastgröße von 20 Byte (20 ms): (40 Byte IP/UDP/RTP-Header + 20 Byte Sprach-Nutzlast)* 8 Bit pro Byte * 50 pps = 24 Kbit/s

- G.729-Anruf mit einer Sprach-Nutzlastgröße von 40 Byte (40 ms): (40 Byte IP/UDP/RTP-Header + 40 Byte Sprach-Nutzlast) x 8 Bit pro Byte x 25 pps = 16 Kbit/s

Hinweise:

- L2-Header werden bei dieser Berechnung nicht berücksichtigt.

- Die Berechnungen zeigen, dass sich die Nutzlastgröße verdoppelt, die Anzahl der benötigten Pakete pro Sekunde jedoch halbiert.

- Gemäß der Definition in den G.114-Spezifikationen der Internationalen Fernmeldeunion (ITU-T) beträgt die empfohlene unidirektionale Gesamtverzögerung für Sprache 150 ms. Für ein privates Netzwerk sind 200 ms ein sinnvolles Ziel, und 250 ms müssen das Maximum sein.

Erkennung von Sprachaktivität

Bei leitungsvermittelten Sprachnetzwerken werden für alle Sprachanrufe Verbindungen mit fester Bandbreite von 64 Kbit/s verwendet, unabhängig davon, wie viel Gespräch auf Sprache geschrieben wird und wie viel Stille ist. Bei VoIP-Netzwerken sind Konversation und Stille in Paketen zusammengefasst. Mit Voice Activity Detection (VAD) können Pausenpakete unterdrückt werden.

Im Zeitverlauf und im Durchschnitt bei einem Volumen von mehr als 24 Anrufen kann VAD Bandbreiteneinsparungen von bis zu 35 % erzielen. Die Einsparungen werden nicht bei jedem einzelnen Sprachanruf oder bei einer bestimmten Punktmessung realisiert. Im Rahmen des Netzwerkdesigns und der Bandbreitenentwicklung darf VAD nicht berücksichtigt werden, insbesondere nicht bei Verbindungen, die weniger als 24 Sprachanrufe gleichzeitig übertragen. Verschiedene Funktionen wie Warteschleifenmusik und Fax machen VAD unwirksam. Wenn das Netzwerk für die gesamte Bandbreite von Sprachanrufen ausgelegt ist, stehen alle durch VAD erzielten Einsparungen Datenanwendungen zur Verfügung.

VAD bietet auch Comfort Noise Generation (CNG) an. Da Sie die Stille bei einem getrennten Anruf verwechseln können, erzeugt CNG ein lokales weißes Rauschen, sodass der Anruf normalerweise mit beiden Parteien verbunden erscheint. G.729 Annex-B und G.723.1 Annex-A enthalten eine integrierte VAD-Funktion, die ansonsten jedoch dieselbe Funktion wie G.729 bzw. G.723.1 erfüllt.

Im Cisco Call Manager kann VAD mit den folgenden Serviceparametern aktiviert (standardmäßig deaktiviert) werden:

- SilenceSuppressionSystemWide - Mit diesem Parameter wird die VAD-Einstellung für alle "skinny"-Endpunkte (z. B. Cisco IP-Telefone und Skinny-Gateways) ausgewählt.

- SilenceSuppressionWithGateways: Mit diesem Parameter wird die VAD-Einstellung für alle MGCP-Gateways ausgewählt. Dies hat keine Auswirkungen auf H.323-Gateways. VAD auf H.323-Gateways muss auf dem Gateway deaktiviert werden.

Diese Serviceparameter finden Sie unter Cisco Call Manager Administration (Service > Serviceparameter > select_server > Cisco CallManager).

RTP Header-Compression oder Compressed RTP (cRTP)

Alle VoIP-Pakete bestehen aus zwei Komponenten: Sprachmuster und IP/UDP/RTP-Header. Obwohl die Sprachmuster durch den Digital Signal Processor (DSP) komprimiert werden und je nach verwendetem Codec in ihrer Größe variieren können, sind diese Header konstante 40 Byte lang. Im Vergleich zu den 20 Byte Sprachproben bei einem Standard-G.729-Anruf machen diese Header einen erheblichen Overhead aus. Mit cRTP können diese Header auf zwei oder vier Byte komprimiert werden. Diese Komprimierung ermöglicht erhebliche Einsparungen bei der VoIP-Bandbreite. Beispielsweise benötigt ein Standard-G.729-VoIP-Anruf 24 KB ohne cRTP, aber nur 12 KB mit aktiviertem cRTP.

Da cRTP VoIP-Anrufe Link für Link komprimiert, müssen beide Enden der IP-Verbindung für cRTP konfiguriert werden.

In den Cisco IOS Software-Versionen 12.0.5T und früher ist cRTP prozessgesteuert, was die Skalierbarkeit von cRTP-Lösungen aufgrund der CPU-Leistung stark einschränkt. Die meisten dieser Probleme wurden durch verschiedene cRTP-Leistungsverbesserungen behoben, die in den Cisco IOS Software-Versionen 12.0.7T bis 12.1.2T eingeführt wurden. Dies ist eine Zusammenfassung des Verlaufs.

- cRTP ist prozessgesteuert in Cisco IOS Software, Version 12.0.5T und früheren Versionen.

- In der Cisco IOS Software-Version 12.0.7T und danach in der Version 12.1.1T werden Fast-Switching und Cisco Express Forwarding-Switching für cRTP eingeführt.

- In Version 12.1.2T der Cisco IOS Software werden Verbesserungen der algorithmischen Leistung eingeführt.

Wenn Sie cRTP in den Fast-Switching-Pfad verschieben, wird die Anzahl der RTP-Sitzungen (VoIP-Anrufe), die von VoIP-Gateways und zwischengeschalteten Routern verarbeitet werden können, deutlich erhöht.

Heuristik zur Komprimierung

Da RTP keinen eigenen eindeutigen Paket-Header hat, wird ein RTP-Stream (für cRTP) durch Heuristik von einem UDP-Stream (cUDP) unterschieden. Die genauen Heuristiken, die derzeit zur Erkennung von RTP-Paketen für die Komprimierung verwendet werden, sind:

- Die Zielportnummer ist gerade.

- Die Zielportnummer liegt im Bereich von 16384-32767 oder 49152-65535.

- Das Feld für die RTP-Version ist auf 2 festgelegt.

- Das Feld für die RTP-Erweiterung ist auf Null gesetzt.

Zugehörige Informationen

- Unterstützung von Sprachtechnologie

- Produktsupport für Sprach- und Unified Communications

- Fehlerbehebung: Cisco IP-Telefonie

- Technischer Support – Cisco Systems