Dieses Dokument bietet eine Übersicht über die verschiedenen Codierungen (Codecs), die mit Cisco IOS® Voice over IP (VoIP)-Gateways verwendet werden. In Cisco IOS Software Releases vor 12.0(5)T unterstützen VoIP-Gateways nur die G.729- und G.711-Codecs und nur einen Sprach-/Fax-Relay-Anruf pro Digital Signal Processor (DSP). Mit der Einführung der Cisco IOS Software Version 12.0(5)T unterstützen Cisco VoIP-Gateways eine größere Anzahl von Codecs und DSP-Modulen. Sie können außerdem bis zu vier Sprach-/Fax-Relay-Anrufe pro DSP unterstützen.
Weitere Informationen zu DSPs finden Sie unter Sprachhardware: C542 und C549 Digital Signal Processor (DSP).
Das DSP-Rechner-Tool (nur registrierte Kunden) bestimmt die DSP-Anforderungen für die Router-Plattformen der Serien Cisco 1751, 1760, 2600XM, 2691, 2800, 3700 und 3800 und unterbreitet PVDM-Bereitstellungsvorschläge. Das Tool berechnet die DSP-Anforderungen basierend auf den Schnittstellenmodulen, Codec-Konfigurationen, Transkodierungskanälen und als Eingabe bereitgestellten Konferenzsitzungen. Dieses Tool unterstützt verschiedene Cisco IOS Software-Versionen, die für die Cisco Plattformen 1751, 1760, 2600XM, 2691, 2800, 3700 und 3800 gültig sind.
Für dieses Dokument bestehen keine speziellen Anforderungen.
Dieses Dokument ist nicht auf bestimmte Software- und Hardwareversionen beschränkt.
Weitere Informationen zu Dokumentkonventionen finden Sie in den Cisco Technical Tips Conventions.
Einige Codec-Komprimierungsverfahren erfordern mehr Verarbeitungsleistung als andere. Die Codec-Komplexität ist in zwei Kategorien unterteilt: mittlere und hohe Komplexität.
Dank der mittleren Komplexität können die C549 DSPs bis zu vier Sprach-/Fax-Relay-Anrufe pro DSP und die C5510 DSPs bis zu acht Sprach-/Fax-Relay-Anrufe pro DSP verarbeiten.
Dank der hohen Komplexität können die C549 DSPs bis zu zwei Sprach-/Fax-Relay-Anrufe pro DSP und die C5510 DSPs bis zu sechs Sprach-/Fax-Relay-Anrufe pro DSP verarbeiten.
Mittlere Komplexität (4 Anrufe/DSP) | Hohe Komplexität (2 Anrufe/DSP) |
---|---|
G.711 (a-law und m-law) | G.728 |
G.726 (alle Versionen) | G.723 (alle Versionen) |
G.729a, G.729ab (G.729a Annex B) | G.729, G.729b (G.729-AnnexB) |
Fax-Relay | Fax-Relay |
Hinweis: Der Unterschied zwischen Codecs mittlerer und hoher Komplexität besteht in der CPU-Auslastung, die für die Verarbeitung des Codec-Algorithmus erforderlich ist, und daher in der Anzahl der Sprachkanäle, die von einem einzelnen DSP unterstützt werden können. Aus diesem Grund können alle Codecs mit mittlerer Komplexität auch im Modus mit hoher Komplexität ausgeführt werden. Pro DSP sind jedoch weniger (in der Regel die Hälfte) der Kanäle verfügbar.
Hinweis: Fax-Relay (2.400 Bit/s, 4.800 Bit/s, 7.200 Bit/s, 9.600 Bit/s, 12 Kbit/s und 14,4 Kbit/s) kann Codecs mittlerer oder hoher Komplexität verwenden.
Auf Plattformen, die die C549 DSP-Technologie unterstützen, wird die Codec-Komplexität unter der Sprachkarte konfiguriert (z. B. das 2600/3600/VG-200-Hochleistungs-Sprachnetzwerkmodul). Einige Plattformen unterstützen nur eine hohe Komplexität, da sie über genügend integrierte DSPs verfügen, um alle T1/E1-Kanäle zu unterstützen, die den Modus mit hoher Komplexität verwenden. Um die Anrufdichte und die Codec-Komplexität entsprechend dem verwendeten Codec-Standard festzulegen, verwenden Sie den Befehl Codec-Komplexität im Konfigurationsmodus der Sprachkarte.
Hier sehen Sie ein Beispiel für die Komplexitätskonfiguration:
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
Auf Plattformen, die die C5510 DSP-Technologie unterstützen, steht eine zusätzliche Option für flexible Komplexität zur Verfügung. Bei der flexiblen Komplexität können pro DSP bis zu 16 Anrufe ausgeführt werden. Die Anzahl der unterstützten Anrufe variiert von sechs bis sechzehn und richtet sich nach dem für einen Anruf verwendeten Codec.
Ein Beispiel für die Konfiguration ist hier dargestellt:
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
Dies ist ein Auszug aus der Ausgabe show running-config, um zu bestimmen, welche Komplexität konfiguriert wird:
!voice-card 1 codec complexity high !
In dieser Tabelle ist die Codec-Unterstützung für verschiedene Cisco Router-Plattformen aufgeführt.
Codec | 1751/1760 | 26xx/36xx NM-1 V/2 V | 26xx/36xx NM-HDV | 3700 | 3810 | AS5300 AS5800 | AS5350 AS5400 | 7200 | 7500 | CMM 24FXS | CMM 6T1/E1 |
---|---|---|---|---|---|---|---|---|---|---|---|
G.711 a-law und u-law PCM (64 Kbit/s) | 12.0.5XQ1 | Ja | 12,0,5 XK1 | Ja | 12,0,7 XK | Ja | Ja | 12,0,5 x E3 | 12,1,3 Bio. | Ja | Ja |
G.726 ADPCM (32, 24,16 Kbit/s) | 12,1 Bio. | 12,0,5 Bio. | 12,0,5 XK1 | Ja | 12,0,7 XK | Ja | Nein | 12,0,5 x E3 | 12,1,3 Bio. | Nein | Nein |
G.728 LD-CELP (16 Kbit/s) | Ja | 12,0,5 Bio. | 12,0,5 XK1 | Ja | 12,0,7 XK | Ja | Nein | 12,0,5 x E3 | 12,1,3 Bio. | Nein | Nein |
G.729 CS-ACELP (8 Kbit/s) | 12,1 Bio. | Ja | 12,0,5 XK1 | Ja | 12,0,7 XK | Ja | Nein | 12,0,5 x E3 | 12,1,3 Bio. | Nein | Nein |
G.729a CS-ACELP (8 Kbit/s) | 12.0.5XQ1 | Ja | 12,0,5 XK1 | Ja | 12,0,7 XK | Ja | Ja | 12,0,5 x E3 | 12,1,3 Bio. | Ja | Ja |
G.729 Annex-B (8 Kbit/s) [VAD] | Ja | 12,0,5 Bio. | 12,0,5 XK1 | Ja | 12,0,7 XK | Ja | Nein | 12,0,5 x E3 | 12,1,3 Bio. | Nein | Nein |
G.729a Annex-B (8 Kbit/s) | Ja | Ja | 12,0,5 XK1 | Ja | 12,0,7 XK | Ja | Ja | 12,0,5 x E3 | 12,1,3 Bio. | Ja | Ja |
G.723.1 MP-MLQ (6,3 Kbit/s) | 12,1 Bio. | 12,0,5 Bio. | 12,0,5 XK1 | Ja | 12,0,7 XK | Ja | Ja | 12,0,5 x E3 | 12,1,3 Bio. | Nein | Nein |
G.723.1 ACELP (5,3 Kbit/s) | 12,1 Bio. | 12,0,5 Bio. | 12,0,5 XK1 | Ja | 12,0,7 XK | Ja | Ja | 12,0,5 x E3 | 12,1,3 Bio. | Nein | Nein |
G.723.1 Annex-A MP-MLQ (6,3 Kbit/s) | 12,1 Bio. | 12,0,5 Bio. | 12,0,5 XK1 | Ja | 12,0,7 XK | Ja | Ja | 12,0,5 x E3 | 12,1,3 Bio. | Nein | Nein |
G.723.1 Annex-A ACELP (5,3 Kbit/s) | 12,1 Bio. | 12,0,5 Bio. | 12,0,5 XK1 | Ja | 12,0,7 XK | Ja | Ja | 12,0,5 x E3 | 12,1,3 Bio. | Nein | Nein |
Clear Channel | 12.3(2)XF, 12.3(11)T | Ja | Ja | Ja | 12,3(11)T | Ja | Ja | Nein | Nein |
Codec-Komprimierungsmethode |
---|
PCM = Pulscode-Modulation |
ADPCM = Adaptive Differenzial Pulse Code Modulation |
LDCELP = Code mit geringer Verzögerung, für lineare Prognose ausgegeben |
CS-ACELP = Conjugate-Structure Algebraic-Code-Excited Linear Prediction |
MP-MLQ = Multi-Pulse, Multi-Level Quantisierung |
ACELP = Algebraischer Code Ausgeführte Prognose |
Jeder Codec bietet eine bestimmte Sprachqualität. Die Qualität der übertragenen Sprache ist eine subjektive Antwort des Zuhörers. Eine gängige Benchmark zur Bestimmung der Tonqualität, die von bestimmten Codecs erzeugt wird, ist der Mean Opinion Score (MOS). Bei MOS beurteilt eine große Bandbreite von Listener die Qualität eines Sprachbeispiels (entspricht einem bestimmten Codec) auf einer Skala von 1 (schlecht) bis 5 (ausgezeichnet). Die Ergebnisse werden gemittelt, um den MOS für dieses Beispiel bereitzustellen. Diese Tabelle zeigt die Beziehung zwischen Codecs und MOS-Ergebnissen.
Komprimierungsmethode | Bitrate (Kbit/s) | MOS-Bewertung | Komprimierungsverzögerung (ms) |
---|---|---|---|
G.711 PCM | 64 | 4,1 | 0,75 |
G.726 ADPCM | 32 | 3,85 | 1 |
G.728 LD-CELP | 16 | 3,61 | 3 bis 5 |
G.729 CS-ACELP | 8 | 3,92 | 10 |
G.729 x 2-Codierungen | 8 | 3,27 | 10 |
G.729 x 3-Codierungen | 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 |
Obwohl es aus finanzieller Sicht logisch erscheint, alle Anrufe in Codecs mit niedriger Bitrate umzuwandeln, um Infrastrukturkosten zu sparen, sollten Sie beim Design von Sprachnetzwerken mit niedriger Bitrate-Komprimierung zusätzliche Vorsicht walten lassen. Die Komprimierung von Sprachdaten hat Nachteile. Einer der Hauptnachteile ist die Signalverzerrung aufgrund mehrerer Codierungen (so genannte Tandem-Codierungen). Wenn beispielsweise ein G.729-Sprachsignal dreimal gleichzeitig kodiert wird, fällt der MOS-Wert von 3,92 (sehr gut) auf 2,68 (nicht akzeptabel). Ein weiterer Nachteil ist die codec-bedingte Verzögerung bei Codecs mit niedriger Bitrate.
In diesen beiden Abschnitten werden viele häufige Kompatibilitätsprobleme im Zusammenhang mit der Codec-Implementierung G.729 (8 Kbit/s) erläutert.
Cisco hat vor der Standardisierung des G.729-Codecs eine G.729 Pre-Internet Engineering Task Force (IETF)-Codec-Implementierung veröffentlicht. In Cisco IOS 12.0(5)T und höher wird die standardmäßige Bitreihenfolge des G.729-Codec vom vor der IETF-Norm zum standardisierten IETF-Format geändert. Die beiden Formate arbeiten nicht zusammen und führen zu einem unverständlichen "Gulping Sound" für die Endbenutzer.
Aus Kompatibilitätsgründen mit den G.729-Implementierungen anderer Anbieter entspricht die Cisco IOS Software Release 12.0.5T und höher standardmäßig der standardisierten Implementierung von G.729. Um die Abwärtskompatibilität mit Cisco IOS-Softwareversionen vor der Cisco IOS-Softwareversion 12.0.5T zu gewährleisten, aktivieren Sie die vor der IETF G.729-Implementierung mit dem folgenden Befehl:
maui-vgw-01(config)#dial-peer voice 100 voip maui-vgw-01(config-dial-peer)#codec g729r8 pre-ietf
Die Pre-IETF-Option in diesem Befehl wird in Cisco IOS Release 12.2 und höher nicht unterstützt.
G.729 ist ein Algorithmus mit hoher Komplexität, und G.729A (auch bekannt als G.729 Annex-A) ist eine Variante mit mittlerer Komplexität von G.729 mit leicht niedriger Sprachqualität. Alle Plattformen, die G.729 unterstützen, unterstützen auch G.729A.
Auf Cisco IOS-Gateways hängt die zu verwendende Variante (G.729 oder G.729A) von der Codec-Komplexitätskonfiguration auf der Sprachkarte ab. Sie wird nicht explizit in der Codec-Auswahl der Cisco IOS-Befehlszeilenschnittstelle (CLI) angezeigt. Beispielsweise zeigt die CLI g729ar8 ("a"-Code) nicht als Codec-Option an. Wenn die Sprachkarte jedoch als "medium-complex" definiert ist, ist die g729r8-Option der G.729A-Codec.
Hinweis: Für den MC3810 gibt es in Cisco IOS Software-Versionen vor 12.0.7XK eine explizite CLI-Wahl zwischen 24 Kanälen von G.729A oder zwölf Kanälen von G.729.
G.729 Annex-B ist ein hochkomplexer Algorithmus, und G.729A Annex-B ist eine Variante mit mittlerer Komplexität von G.729 Annex-B mit geringfügig niedrigerer Sprachqualität. Der Unterschied zwischen dem G.729-Codec und dem G.729 Annex-B-Codec besteht darin, dass der G.729 Annex-B-Codec integrierte IETF-Sprachpausenerkennung (VAD) und Comfort Noise Generation (CNG) bietet.
Diese Codec-Kombinationen G.729 sind miteinander kompatibel:
G.729 und G.729A
G.729 und G.729
G.729A und G.729A
G.729 Annex-B und G.729A Annex-B
G.729 Annex-B und G.729 Annex-B
G.729A Annex-B und G.729A Annex-B
Hinweis: Es gibt keine explizite Möglichkeit, G.729A auf dem Cisco 2600/3600/VG-200 NM-1V und NM-2V (Sprachnetzwerkmodul) zu konfigurieren, da diese Sprachmodule die auf dem NM-HDV (High Density Voice Network Module) unterstützte Konfiguration der "Codec-Komplexität" nicht unterstützen. Wenn jedoch ein G.729A-Anruf von einem anderen Endpunkt eingerichtet wird, der auf dem NM-1V/2V endet, ist der Anruf erfolgreich verbunden.
Es gibt zwei Versionen von G.723.1, die als Annex-A und nicht Annex-A bezeichnet werden. Diese Versionen sind nicht kompatibel. G.723.1 Annex-A enthält einen integrierten IETF VAD-Algorithmus und CNG.
Darüber hinaus wird in der Cisco IOS Software, Version 12.0(5)T und höher, der G.723.1-Codec mit einer Geschwindigkeit von 5,3 Kbit/s und 6,3 Kbit/s unterstützt. Wenn ein Cisco VoIP-Gateway einen Anruf zwischen Geräten einrichtet, die G723.1 verwenden, ist nur die Verwendung von G.723.1 durch die Gegenstelle betroffen. Keine der beiden Seiten ist von der von der anderen Seite unterstützten Übertragungsrate von 5,3 Kbit/s oder 6,3 Kbit/s betroffen. Dies bedeutet, dass es zwar von Vorteil ist, dass beide Seiten dieselbe Geschwindigkeit unterstützen, es jedoch möglich ist, dass eine Seite 5,3 Kbit/s überträgt und die umgekehrte Richtung 6,3 Kbit/s überträgt. Die verwendete Geschwindigkeit wird mit dem Befehl show call active voice brief angezeigt, wie hier gezeigt:
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
Der G.723.1-Standard ermöglicht es Stationen, während eines Anrufs Raten zwischen 6,3 Kbit/s und 5,3 Kbit/s zu ändern, um sich an die Netzwerkverkehrslast anzupassen. Diese Funktionalität wird von den Cisco VoIP-Gateways nicht unterstützt. Sie wissen jedoch, ob das Remote-Gerät (z. B. ein Cisco IP-Telefon) eine andere Übertragungsrate als ursprünglich ausgehandelt hat.
Diese Codec-Kombinationen G.723.1 arbeiten zusammen:
G.723.1 (5,3 Kbit/s) und G.723.1 (6,3 Kbit/s)
G.723.1 (5,3 Kbit/s) und G.723.1 (5,3 Kbit/s)
G.723.1 (6,3 Kbit/s) und G.723.1 (6,3 Kbit/s)
G.723.1 Annex-A (5,3 Kbit/s) und G.723.1 Annex-A (6,3 Kbit/s)
G.723.1 Annex-A (5,3 Kbit/s) und G.723.1 Annex-A (5,3 Kbit/s)
G.723.1 Annex-A (6,3 Kbit/s) und G.723.1 Annex-A (6,3 Kbit/s)
Mit der Einführung der Cisco IOS Software Version 12.0(5)T unterstützen die Cisco VoIP-Gateways die Codec-Aushandlung-Funktion. Mit dieser Funktion kann ein Cisco VoIP-Gateway eine Verbindung zu anderen VoIP-Geräten herstellen, ohne notwendigerweise zu wissen, welcher Codec für die Einrichtung von Anrufen verwendet wird. Darüber hinaus können sich Cisco VoIP-Gateways dynamisch an Änderungen auf Remote-Geräten anpassen. Solange der vom Remote-VoIP-Gerät verwendete Codec mit der Funktionsliste des Cisco VoIP-Gateways übereinstimmt, ist der VoIP-Anruf beendet. Codec-Aushandlung wird auf den DSPs C542 und C549 unterstützt. Um eine Liste der bevorzugten Codecs anzugeben, die auf einem DFÜ-Peer verwendet werden sollen, verwenden Sie den Befehl codec-Voreinstellung im Konfigurationsmodus der Sprachklasse.
In diesem Beispiel wird veranschaulicht, wie Codec-Aushandlung konfiguriert wird:
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
Der Fehler %DSPRM-5-SETCODEC ist auf einen Codec mit hoher Komplexität zurückzuführen, der auf einem VoIP-Dial-Peer konfiguriert wurde, während die Sprachkarte weiterhin für die Standardeinstellung der mittleren Komplexität festgelegt ist. Um dieses Problem zu beheben, müssen Sie die Konfiguration der ds0-Gruppe vom Controller entfernen, wodurch der Sprach-Port entfernt wird. Nachdem Sie die Gruppe ds0 entfernt haben, befolgen Sie die zuvor in diesem Dokument beschriebenen Verfahren, um die Komplexität zu ändern.