In diesem Dokument werden Qualitätsprobleme bei der Sprachkommunikation, wie z. B. Schüssen oder statische Geräusche, erläutert. Dieses Dokument enthält auch Vorschläge, wie Sie diese Probleme bei der Sprachqualität beheben können.
Die Leser dieses Dokuments sollten folgende Themen kennen:
Grundlegendes Verständnis von Voice over IP (VoIP)
Voice Activity Detection (VAD) und deren Anwendung.
Die Informationen in diesem Dokument basieren auf diesen Software- und Hardwareversionen.
Cisco IOS® Software Release 12.1 und höher, die das IP Plus-Feature-Set ausführt.
Alle Cisco Voice Gateways.
Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.
Weitere Informationen zu Dokumentkonventionen finden Sie in den Cisco Technical Tips Conventions (Technische Tipps zu Konventionen von Cisco).
Die meisten IP-basierten Telefoniesysteme verfügen über einen Sprachaktivitäts-Detektor. Der Detektor dient der Erkennung von Pausenperioden im Sprachsignal und der vorübergehenden Unterbrechung der Signalübertragung während der Pausenperiode. Dies spart Bandbreite und ermöglicht es dem Gegenstück, seinen Jitter-Puffer anzupassen. Der Nachteil ist, dass das Telefon am anderen Ende während der Pausenzeiten ein eigenes Signal erzeugen muss, um mit dem Zuhörer zu spielen. In der Regel wird dem Zuhörer ein Komfortgeräusch ausgegeben, um das Fehlen eines Audiosignals des Gegenstandes zu verschleiern. Komfort-Rauschen ist in der Regel auf das Gegenstück ausgerichtet, sodass beim Umschalten vom Hintergrundgeräusch zum Komfort-Geräusch kein großer Kontrast besteht.
Abbildung 1 zeigt ein typisches IP-Telefoniesystem. Bei den angegebenen IP-Sprachgeräten kann es sich um IP-Telefone, IP-analoge Gateways, IP-digitale Gateways usw. handeln.
Abbildung 1: IP-Telefoniesystem
Bei einem Anruf zwischen Gerät A und Gerät B erreicht Gerät A ein Pausenintervall (Abbildung 2). Der Sprachaktivitäts-Detektor verwendet einen Algorithmus, um zu bestimmen, ob ein Pausenintervall erreicht wurde. In der Regel verfügt der Sprachaktivitäts-Detektor über einen Holdover-Zeitraum von t1 am Ende jedes Sprach-Bursts. Während dieser Zeit werden weiterhin Pakete an die Gegenstelle gesendet. Dadurch wird übermäßiges Umschalten und abgehackte Sprache vermieden. Wenn während dieses Holding-Intervalls zusätzliche Sprache erkannt wird, wird der Sprachstream zwischen den Geräten unterbrechungsfrei fortgesetzt. Nachdem ein Zeitraum von t1 (T2 in Abbildung 2 ) abgelaufen ist, wird das Senden von Paketen durch IP-Sprachgerät A beendet, wenn keine zusätzliche Stimme erkannt wird.
Abbildung 2: Gerät A VAD-Ereignisse
Zum Zeitpunkt T1 (Abbildung 2) wird an Gerät B eine Warnmeldung gesendet, dass der VAD-Holder gestartet wird. Dies enthält auch die Dauer des VAD-Halters. Wenn diese Nachricht empfangen wird, beginnt das Gerät B, das Sprachsignal, das es von Gerät A empfängt, zu dämpfen und es mit dem generierten Komfortgeräusch zu vermischen, das es abschwächen soll (wie in Abbildung 3).
Abbildung 3: Hintergrundgeräusche und Komfort-Rauschdämpfung während der Holdover-Periode
Diese Dämpfung sorgt für einen reibungslosen Übergang zwischen echtem Hintergrundgeräusch und generiertem Komfortgeräusch. Es macht die Übergänge aus Umgebungen, in denen sich die Eigenschaften des Hintergrundgeräusches wesentlich von denen des erzeugten Komfortgeräusches unterscheiden, flüssiger und deutlich weniger auffällig. Die Länge des VAD-Holdover-Intervalls (t1) bestimmt, wie effektiv dieses Verfahren ist. Längere Intervalle führen zu reibungsloseren Tonwechseln.
Wenn das Sprachsignal vor der T2-Zeit abgeschnitten wird (Abbildung 2), wird die Dämpfung sofort gestoppt und die eingehende Audioübertragung vollständig wiedergegeben. Eine solche Einschaltung sollte durch eine andere Anzeige von Gerät A auf Gerät B signalisiert werden. Da das Sprachsignal deutlich lauter ist als das Hintergrundgeräusch, wird der Übergang zurück verdeckt und nicht so deutlich wahrgenommen.
Die zuvor genannte Signalisierung kann in-band (z. B. über einen neuen Payload-Typ im RTP oder ein benanntes Signalisierungs-Ereignis) oder Out-of-Band (z. B. ein H.245-Signalisierungs-Ereignis) erfolgen.
Die einzige Ursache für ein hörbares Geräusch oder ein statisches Geräusch während eines Sprachanrufs ist die Einführung von Komfortgeräuschen in einem Gespräch. Es gibt zwei Möglichkeiten, wie Komfort-Rauschen in ein Sprachanruf eingespeist wird. Der wichtigste ist die Verwendung von VAD. Bei jedem VAD-Eingang werden Comfort Noise Packets im Audio-Stream eingeführt. Die zweite Möglichkeit (kein wichtiger Mitwirkender) ist das Anwerfen der Echokompensation. Sobald die Echokompensation aktiviert wird, werden Comfort Noise Packets in den Audio-Stream eingebracht. Die Charakteristika dieser Komfortpakete werden durch einen Algorithmus bestimmt, der die Überwachung der laufenden Sprache und die Signatur des Hintergrundgeräusches beinhaltet. Dieses Komfort-Geräusch ist das Schüsseln.
Wenn Gerät A anhält, kann es in diesem Szenario zu Fehlern auf Gerät B kommen. Dies kann durch eine ordnungsgemäße Anpassung der VAD-Parameter sichergestellt werden. Cisco empfiehlt, VAD zu deaktivieren, wenn das Problem durch die Feinabstimmung dieser Parameter nicht behoben werden kann.
Die VAD-Funktionalität wird durch zwei Parameter bestimmt:
Es wird ein anfänglicher Grenzwert festgelegt, der für den Zeitpunkt der Aktivierung von VAD festgelegt wird. Dies wird kontrolliert, wenn Sie den Befehl music-threshold <threshold_value> auf einem Sprach-Port definieren. Der Bereich hierfür liegt zwischen -70 dBm und -30 dBm. Der Standardwert ist -38 dBm. Wenn Sie einen niedrigeren Wert (in Richtung -70 dBm) konfigurieren, wird VAD mit einer wesentlich geringeren Signalstärke aktiviert. Die Lautstärke muss wirklich tief sinken, bevor sie als Stille angesehen wird. Wenn Sie einen höheren Wert (näher an -30 dBm) konfigurieren, wird VAD selbst für einen kleinen Tropfen Sprachsignalstärke aktiviert. Dadurch wird der Play-out dazu gebracht, Komfort-Rauschpakete öfter abzuspielen. Dies kann jedoch zu einem geringfügigen Abschneiden der Audiowiedergabe führen.
3640-6#configure terminal Enter configuration commands, one per line. End with CNTL/Z. 3640-6(config)#voice-port 3/0/0 3640-6(config-voiceport)#music-threshold ? !--- WORD: Enter a number between -70 to -30. 3640-6(config-voiceport)#music-threshold -50 3640-6(config-voiceport)#end 3640-6# 3640-6#show run | begin voice-port voice-port 3/0/0 music-threshold -50
Sobald das VAD aktiviert ist, können Sie die Komponente von Hintergrundgeräuschen und Komfortgeräuschen steuern, wenn Sie den Befehl voice vad-time <timer_value> unter der globalen Konfiguration konfigurieren. Dies ist die Verzögerungszeit in Millisekunden für die Pausenerkennung und die Unterdrückung der Sprachpaketübertragung. Der Standardwert für die Haltezeit ist 250 ms. Das bedeutet, dass innerhalb von 250 Millisekunden das Komfort-Geräusch komplett hereinbricht. Der Bereich für diesen Timer liegt zwischen 250 ms und 65.536 ms. Wenn ein hoher Wert konfiguriert wird, kommt viel später Komfortgeräusch ins Spiel (Hintergrundgeräusche werden weiterhin gespielt). Wenn dies für 65.536 ms konfiguriert ist, wird das Komfortgeräusch deaktiviert. Ein höherer Wert für diesen Timer ist wünschenswert, um den Übergang zwischen Hintergrundgeräuschen und Komfortgeräusch zu erleichtern. Der Nachteil einer Hochzeit-Konfiguration besteht nicht darin, dass die angestrebte Bandbreiteneinsparung von 30-35 % erreicht wird.
3640-6#configure terminal Enter configuration commands, one per line. End with CNTL/Z. 3640-6(config)#voice vad-time ? <250-65536>milliseconds 3640-6(config)#voice vad-time 750 3640-6(config)#end 3640-6# 3640-6# 3640-6# 3640-6#show run | begin vad-time voice vad-time 750
Hinweis: Führen Sie nach der VAD-Konfiguration die Befehle shutdown und no shutdown für den Sprach-Port aus, damit die Konfigurationsänderungen wirksam werden.
Wenn Sie weiterhin den Treffer bzw. das Statische beobachten, auch nachdem Sie die in diesem Dokument erwähnten Parameter eingestellt haben, empfiehlt Cisco, VAD zu deaktivieren. Dies muss sowohl auf den Gateways als auch auf den Cisco CallManagers erfolgen. In diesen Abschnitten wird erläutert, wie VAD auf Cisco Gateways und Cisco CallManager deaktiviert wird.
Auf Cisco Gateways, auf denen H.323 ausgeführt wird, können Sie VAD deaktivieren, wenn Sie unter den VoIP-DFÜ-Peers den Befehl no vad konfigurieren. Wenn es sich um das Terminierungs-Gateway handelt, stellen Sie sicher, dass kein Vad für den entsprechenden übereinstimmenden eingehenden VoIP-DFÜ-Peer konfiguriert ist. Möglicherweise ist es hilfreich, eingehende Anrufnummern <number_dial> zu konfigurieren, um dem entsprechenden eingehenden DFÜ-Peer zu entsprechen. Für das ursprüngliche Gateway kann kein Vad für VoIP-Dial-Peers konfiguriert werden, basierend darauf, welche selektiven Terminierungs-Gateways diese Funktion deaktivieren müssen.
dial-peer voice 100 voip incoming called-number !--- In order to match all called numbers destination-pattern 1T no vad session target ipv4:10.10.10.10 dtmf-relay h245-alpha ip precedence 5
Stellen Sie sicher, dass diese Parameter im Cisco CallManager auf False (F) eingestellt sind, um VAD in Cisco CallManager zu deaktivieren:
Pausenunterdrückung.
Pausenunterdrückung für Gateways.
Führen Sie diese Schritte aus, um diese Parameter zu finden.
Wählen Sie Service > Service Parameters im Cisco CallManager Administration-Menü aus.
Wählen Sie im Dropdown-Menü Server die IP-Adresse oder den Namen von Cisco CallManager aus, und wählen Sie Cisco CallManager im Dropdown-Menü Services aus.
Die Parameter befinden sich im Fenster "Service Parameters Configuration" (Konfiguration der Dienstparameter).
Legen Sie unter den clusterweiten Parametern im Konfigurationsfenster für die Dienstparameter die Pausenunterdrückung und Pausenunterdrückung für Gateway-Parameter auf False fest.
Klicken Sie auf Update, um VAD in Cisco CallManager zu deaktivieren. Dieses Verfahren ist für Cisco CallManager 3.3 und 4.0 ähnlich.