Table des matières

Introduction

Conditions préalables

Exigences

Composants utilisés

Topologie du réseau

Problème

Vérifier

Solution

Point de terminaison de support logiciel (MTP)

Circulation Multimédia

Media Anti-Trombone

Activer CUBE pour envoyer des paquets STUN dans le support négocié IP/Port

Introduction

Ce document décrit comment dépanner le problème audio sans issue avec les appels hairpin sur Cisco Unified Border Element (CUBE).

Conditions préalables

Exigences

Cisco vous recommande de prendre connaissance des rubriques suivantes :

- Protocole d'ouverture de session (SIP)

- Comment configurer et utiliser le CUBE

- Flux et contournement du support

Composants utilisés

Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :

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

- CUBE - 15.5(3)S5

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.

Topologie du réseau

Problème

Un appel hairpin est un appel entrant d'un fournisseur de téléphonie Internet (ITSP) transféré ou retransféré vers l'ITSP. Il en résulte une absence de son, les appels réguliers vers l'ITSP à partir de téléphones IP fonctionnent correctement.

Conformément à la norme SIP RFC 3264, les négociations de socket de support entre le client d'agent utilisateur SIP (UAC) et le serveur d'agent utilisateur SIP (UAS) s'effectuent via le protocole SDP (Session Description Protocol) dans le modèle Offre/Réponse, suivi par tous les fabricants de produits Voix sur IP (VoIP).

Certains ITSP ne prennent pas en compte l'adresse IP et les informations de port dans le SDP en raison de leur mise en oeuvre de pare-feu. Par conséquent, le socket doit être initialisé par l'extrémité distante (dans ce cas, CUBE). ITSP exige que l'extrémité distante lui envoie des paquets RTP (Real-Time Transport Protocol), une fois qu'ITSP reçoit les paquets RTP, il les transmet à l'adresse IP source des paquets reçus.

Lors d'un appel entre un téléphone IP et l'ITSP, qui ne comporte pas l'épingle à cheveux, ce problème ne se produit pas, car le téléphone IP envoie des paquets RTP factices après avoir ouvert les ports requis.

Lorsqu'un appel provient de l'ITSP et qu'il lui est renvoyé, l'initiateur et le destinataire de l'appel n'envoient aucun flux à moins qu'ils ne reçoivent un flux d'une personne se trouvant sur le chemin de l'appel, il s'agit d'une situation de blocage.

Vérifier

Afin de valider que la connexion est correctement établie, exécutez cette commande : 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

Exécutez la commande show call active voice brief afin de voir les compteurs Rx/Tx de tous les 4 tronçons d'appel du point de vue de CUBE comme 0/0.

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

Remarque : si les routeurs utilisent IOS-XE, exécutez cette commande afin de valider les compteurs Rx/Tx :

voice service voip

media bulk-stats

Il n'est pas recommandé d'exécuter cette commande lorsque le volume d'appels est élevé. Veillez à exécuter cette commande lorsque le processeur est inférieur à 30 %.

Solution

Point de terminaison de support logiciel (MTP)

C'est la méthode préférée pour surmonter le problème. Les MTP du logiciel CUCM sont capables d'envoyer des paquets RTP factices. Dans un appel hairpin, le MTP logiciel fournit des paquets RTP factices aux deux, à l'initiateur d'appel et au récepteur d'appel, par conséquent, l'ITSP reçoit ces paquets et répond avec RTP au MTP logiciel.

Assurez-vous que la case Media Termination Point Required est cochée sur la page Trunk Configuration. Accédez à Device > SIP trunk et sélectionnez la Media Resource Group List (MRGL) de cette liaison, vérifiez qu'elle contient au moins un MTP logiciel.

1. Remarque : le matériel MTP ne peut pas envoyer de flux RTP factices. Assurez-vous que le MRGL associé à la liaison appelle uniquement le MTP logiciel. Le MTP logiciel ne peut que ponter les appels G711, assurez-vous que le flux d'appels de bout en bout doit utiliser G711 pour que cette solution de contournement fonctionne.

L'image suivante montre à quoi ressemble la charge utile RTP factice dans Wireshark :

Circulation Multimédia

Avec Media Flow-Around, les paquets de signalisation se terminent et proviennent de CUBE, mais les paquets de média contournent CUBE et circulent directement entre les points d'extrémité.

voice service voip

media flow-around

Appel avec contournement de média

Attention : cela peut avoir un impact sur la fonctionnalité CUBE, car elle ne peut pas terminer le support pour des appels. Le protocole RTP contourne le CUBE et circule directement entre les points d'extrémité. Dans ce cas, il circule directement entre les FSTI.

Le mode de configuration de terminal de numérotation dial-peer pour Media Flow-Through ne prend pas effet si Media Flow-Around est configuré dans une configuration globale.

Configuration

1. Configurez Media Flow-Around en mode de configuration globale.

2. Créez un média de classe vocale avec le flux multimédia.

3. Appliquez le média de classe vocale sur tous les terminaux de numérotation dial-peer dans lesquels le flux multimédia doit être utilisé.

4. Les terminaux de numérotation dial-peer qui n'ont pas cette configuration sont gérés par Media Flow-Around, car ils sont configurés globalement.

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

Media Anti-Trombone

Cette fonction fonctionne de la même manière que la fonction Media Flow-Around, mais elle a moins d'impact. Tout d'abord, il recherche les appels en boucle ou en épingle à cheveux. Si un appel en épingle à cheveux est détecté, cette fonctionnalité déclenche un autre cycle de négociation de support pour l'appel identifié. À la fin de cette négociation, le CUBE ne fait plus partie du chemin du support.

Les deux parties, CUBE et ITSP, doivent prendre en charge la fonctionnalité Anti-Trombone pour que cela fonctionne.

voice service voip

media anti-trombone

Appel avec Media Anti-Trombone

Remarque : validez les restrictions avant de configurer Media Anti-Trombone sur http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/voice/cube/configuration/cube-book/media-path.html

Activer CUBE pour envoyer des paquets STUN dans le support négocié IP/Port

Activez le CUBE pour envoyer des requêtes/paquets STUN générés localement (ces paquets STUN sont des paquets UDP avec les mêmes numéros de port/IP de support) à envoyer sur le chemin de support négocié, les périphériques dans le chemin de support peuvent effacer le chemin après avoir obtenu ces paquets STUN après avoir vérifié le protocole IP/Port/transport si ces périphériques ne vérifient pas les données d'application réelles :

voix sur IP

rendre inconscient

stun flowdata id-agent 1 boot-count 4

stun flowdata shared-secret 0 Password123$

voice class stun-usage 1

stun usage firewall-traversal flowdata

dial-peer voice 2000 voip

Description ** terminal de numérotation dial-peer entrant d'ITSP **

voice-class stun-usage 1

Cela peut être fait sur le terminal de numérotation dial-peer utilisé pour recevoir l'appel d'ITSP ou le terminal de numérotation dial-peer utilisé pour envoyer l'appel à ITSP ou aux deux.