Inhalt

Einleitung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Netzwerktopologie

Problem

Überprüfung

Lösung

Software Media Termination Point (MTP)

Umgehung von Medien

Medien-Anti-Posaune

Aktivieren von CUBE zum Senden von STUN-Paketen in der ausgehandelten Medien-IP/Port

Einleitung

In diesem Dokument wird beschrieben, wie Sie das Problem der störungsfreien Audioübertragung bei Hairpin-Anrufen auf dem Cisco Unified Border Element (CUBE) beheben.

Voraussetzungen

Anforderungen

Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:

- Session Initiation Protocol (SIP)

- Konfigurieren und Verwenden von CUBE

- Durchfluss und Umlauf von Medien

Verwendete Komponenten

Die Informationen in diesem Dokument basieren auf folgenden Hardware- und Software-Versionen:

- Cisco Unified Communications Manager (CUCM) - 11.5.1.10000-5

- CUBE - 15,5(3)S5

Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.

Netzwerktopologie

Problem

Ein Haarnadelanruf ist ein eingehender Anruf von einem Internettelefonie-Service Provider (ITSP), der an den ITSP weitergeleitet oder zurück übertragen wird. Dies führt zu undirektem Audio, reguläre Anrufe von IP-Telefonen an den ITSP funktionieren gut.

Gemäß SIP RFC 3264 erfolgen die Medien-Socket-Verhandlungen zwischen dem SIP User Agent Client (UAC) und dem SIP User Agent Server (UAS) über Session Description Protocol (SDP) im Offer/Answer-Modell. Darauf folgt jeder Hersteller von VoIP-Produkten (Voice over IP).

Einige ITSPs berücksichtigen die IP-Adresse und Port-Informationen im SDP aufgrund ihrer Firewall-Implementierung nicht. Daher muss der Socket am anderen Ende initiiert werden (in diesem Fall CUBE). Der ITSP fordert den Remote-Server auf, einige RTP-Pakete (Real-Time Transport Protocol) an ihn zu senden. Sobald der ITSP die RTP-Pakete empfängt, überträgt er die Pakete an die Quell-IP-Adresse der empfangenen Pakete.

Bei einem Anruf zwischen einem IP-Telefon und dem ITSP, der nicht über die Haarnadel verfügt, tritt dieses Problem nicht auf, da das IP-Telefon nach dem Öffnen der erforderlichen Ports Scheinpakete (Dummy RTP Packets) sendet.

Wenn ein Anruf vom ITSP kommt und an diesen zurückgesendet wird, senden sowohl der Anrufinitiator als auch der Anrufer keine Streams, es sei denn, sie empfangen einen Stream von einer Person im Pfad des Anrufs, dies ist eine Deadlock-Situation.

Überprüfung

Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die Verbindung erfolgreich hergestellt wurde: show voip rtp connections.

Max Ports Available: 19999, Ports Reserved: 101, Ports in Use: 4

Port range not configured, Min: 8000, Max: 48199

Ports       Ports       Ports

Media-Address Range                             Available   Reserved    In-use

Default Address-Range                           19999       101         4

VoIP RTP active connections :

No. CallId     dstCallId  LocalRTP RmtRTP LocalIP                                       RemoteIP

1     21         22         16424    16568  10.106.36.169                               10.106.108.72

2     22         21         16426    24602  10.106.36.169                               10.106.123.29

3     23         24         16428    24600  10.106.36.169                               10.106.123.29

4     24         23         16430    16570  10.106.36.169                               10.106.108.72

Found 4 active RTP connections

Führen Sie den Befehl show call active voice brief aus, um die Rx-/Tx-Zähler aller vier Anrufabschnitte aus Sicht von CUBE als 0/0 anzuzeigen.

Total call-legs: 4

35E9 : 21 7441740ms.1 (*13:00:22.857 UTC Sat May 20 2017) +4080 pid:123 Answer 5655 connected

dur 00:24:17 tx:0/0 rx:0/0 dscp:0 media:0 audio tos:0xB8 video tos:0x0                                            <<<<

IP 10.106.108.72:16568 SRTP: off rtt:0ms pl:0/0ms lost:0/0/0 delay:0/0/0ms g711ulaw TextRelay: off Transcoded: No

media inactive detected:n media contrl rcvd:n/a timestamp:n/a

long duration call detected:n long duration call duration:n/a timestamp:n/a

LostPacketRate:0.00 OutOfOrderRate:0.00

35E9 : 22 7441740ms.2 (*13:00:22.857 UTC Sat May 20 2017) +4080 pid:123 Originate 7961 connected

dur 00:24:17 tx:0/0 rx:0/0 dscp:0 media:0 audio tos:0xB8 video tos:0x0                                            <<<<

IP 10.106.123.29:24602 SRTP: off rtt:0ms pl:0/0ms lost:0/0/0 delay:0/0/0ms g711ulaw TextRelay: off Transcoded: No

media inactive detected:n media contrl rcvd:n/a timestamp:n/a

long duration call detected:n long duration call duration:n/a timestamp:n/a

LostPacketRate:0.00 OutOfOrderRate:0.00

0    : 23 7441780ms.1 (*13:00:22.897 UTC Sat May 20 2017) +4020 pid:124 Answer 5655 connected

dur 00:24:17 tx:0/0 rx:0/0 dscp:0 media:0 audio tos:0xB8 video tos:0x0                                            <<<<

IP 10.106.123.29:24600 SRTP: off rtt:0ms pl:0/0ms lost:0/0/0 delay:0/0/0ms g711ulaw TextRelay: off Transcoded: No

media inactive detected:n media contrl rcvd:n/a timestamp:n/a

long duration call detected:n long duration call duration:n/a timestamp:n/a

LostPacketRate:0.00 OutOfOrderRate:0.00

0    : 24 7441780ms.2 (*13:00:22.897 UTC Sat May 20 2017) +4010 pid:124 Originate 7961 connected

dur 00:24:17 tx:0/0 rx:0/0 dscp:0 media:0 audio tos:0xB8 video tos:0x0                                            <<<<

IP 10.106.108.72:16570 SRTP: off rtt:0ms pl:0/0ms lost:0/0/0 delay:0/0/0ms g711ulaw TextRelay: off Transcoded: No

media inactive detected:n media contrl rcvd:n/a timestamp:n/a

long duration call detected:n long duration call duration:n/a timestamp:n/a

LostPacketRate:0.00 OutOfOrderRate:0.00

Hinweis: Falls Router IOS-XE verwenden, führen Sie diesen Befehl aus, um die Rx/Tx-Zähler zu validieren:

voice service voip

media bulk-stats

Es wird nicht empfohlen, diesen Befehl auszuführen, wenn das Anrufvolumen hoch ist. Stellen Sie sicher, dass Sie diesen Befehl ausführen, wenn die CPU-Auslastung unter 30 % liegt.

Lösung

Software Media Termination Point (MTP)

Dies ist die bevorzugte Methode zur Überwindung des Problems. CUCM-Software-MTPs können Dummy-RTP-Pakete senden. Bei einem Hairpin-Anruf liefert die Software MTP Dummy-RTP-Pakete an beide, den Anrufinitiator und den Anrufempfänger, sodass der ITSP diese Pakete empfängt und mit RTP an die Software MTP antwortet.

Stellen Sie sicher, dass das Kontrollkästchen Media Termination Point Required auf der Seite Trunk Configuration (Trunk-Konfiguration) aktiviert ist. Navigieren Sie zu Device > SIP trunk, und wählen Sie die MRGL (Media Resource Group List) für diesen Trunk aus, um sicherzustellen, dass dieser mindestens einen Software-MTP enthält.

1. Hinweis: Hardware-MTP kann keine Dummy-RTP-Streams senden. Stellen Sie sicher, dass die dem Trunk zugeordnete MRGL nur das Software-MTP aufruft. Software-MTP kann nur G711-Anrufe überbrücken und stellt sicher, dass der End-to-End-Anruffluss G711 verwenden muss, damit dieser Workaround funktioniert.

Das nächste Bild zeigt, wie die Dummy-RTP-Nutzlast in Wireshark aussieht:

Umgehung von Medien

Bei "Media Flow-Around" enden und stammen die Signalisierungspakete am CUBE, die Medienpakete umgehen jedoch das CUBE und werden direkt zwischen den Endpunkten übertragen.

voice service voip

media flow-around

Anruf mit Medien-Umgehung

Achtung: Dies kann die CUBE-Funktionalität beeinträchtigen, da es die Medien nicht für Anrufe terminieren kann. RTP umgeht das CUBE und fließt direkt zwischen den Endpunkten. In diesem Fall fließt er direkt zwischen den ITSPs.

Der Dial-Peer-Konfigurationsmodus für Media Flow-Through wird nicht wirksam, wenn Media Flow-Around unter der globalen Konfiguration konfiguriert wurde.

Konfiguration

1. Konfigurieren Sie Media Flow-Around unter der globalen Konfiguration.

2. Erstellen Sie ein Voice-Class-Medium mit Media Flow-Through.

3. Wenden Sie Voice-Class-Media auf alle DFÜ-Peers an, in denen Media Flow-Through verwendet werden soll.

4. Die DFÜ-Peers, die nicht über diese Konfiguration verfügen, fallen unter "Media Flow-Around", da sie global konfiguriert sind.

Voice service voip

media flow-around

voice-class media 10

media flow-through

dial-peer voice 1 voip

Description ** Inbound dial-peer **

voice class media 10

dial-peer voice 2 voip

Description ** Outbound dial-peer **

voice class media 10

Medien-Anti-Posaune

Diese Funktion funktioniert ähnlich wie Media Flow-Around, hat jedoch geringere Auswirkungen. Zunächst sucht er nach Looped- oder Hairpin-Anrufen. Wird ein Hairpin-Anruf gefunden, löst diese Funktion eine weitere Runde der Medienaushandlung für den identifizierten Anruf aus. Am Ende dieser Aushandlung ist das CUBE nicht mehr Teil des Medienpfads.

Damit dies funktioniert, müssen beide Parteien, CUBE und ITSP, die Anti-Trombone-Funktion unterstützen.

voice service voip

media anti-trombone

Anruf mit Media Anti-Trombone

Hinweis: Validieren Sie die Einschränkungen, bevor Sie Media Anti-Trombone konfigurieren: http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/voice/cube/configuration/cube-book/media-path.html

Aktivieren von CUBE zum Senden von STUN-Paketen in der ausgehandelten Medien-IP/Port

Aktivieren Sie das CUBE, um lokal generierte STUN-Anforderungen/-Pakete (diese Betäubungspakete sind UDP-Pakete mit denselben Medien-IP/Port-Nummern) zu senden, die über den ausgehandelten Medienpfad gesendet werden. Die Geräte im Medienpfad können den Pfad löschen, nachdem sie diese Betäubungspakete erhalten haben, nachdem sie das IP/Port/Transportprotokoll überprüft haben, wenn diese Geräte nicht die tatsächlichen Anwendungsdaten überprüfen:

Sprachdienst voip

betäuben

stn flowdata agent-id 1 Bootanzahl 4

stun flowdata shared-secret 0 Kennwort123$

Sprachklasse Betäubung-Nutzung 1

Firewall-Traversal-Flussdaten zur Betäubungsnutzung

dial-peer voice 2000 voip

Beschreibung ** Eingehender Dial-Peer vom ITSP **

Betäubung durch Sprachklasse 1

Dies kann über den Dial-Peer erfolgen, der verwendet wird, um den Anruf vom ITSP zu empfangen, oder über den Dial-Peer, der verwendet wird, um den Anruf an den ITSP zu senden, oder über beide.