Ce document décrit comment résoudre un problème sur Cisco Unified Border Element (CUBE) lorsque des échecs de fax sortants se produisent en raison de plusieurs lignes m d'un fournisseur. Le CUBE ne comprend pas plusieurs lignes m, mais une solution de contournement peut être implémentée sur le CUBE afin de résoudre le problème avec l'utilisation de profils SIP (Session Initiation Protocol).
Aucune spécification déterminée n'est requise pour ce document.
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
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. If your network is live, make sure that you understand the potential impact of any command.
L'exemple décrit dans ce document utilise cette topologie de réseau :
Lorsqu'un fournisseur envoie un message d'invitation au CUBE lors d'un basculement voix-télécopie, et qu'il inclut un SDP (Session Description Protocol) contenant deux lignes m, le comportement initial du CUBE était de rejeter l'appel avec un message SIP 488 Not Acceptable Here.
Après l'ID de bogue Cisco CSCtw96549, ce comportement a changé. Maintenant, si un fournisseur envoie un SDP avec deux lignes m, l'appel passe comme prévu.
Voici un exemple de format de ligne m accepté :
m=audio
m=image
Cependant, si un fournisseur envoie un SDP dont le format de ligne m est inversé, le CUBE ne le traite pas correctement et envoie un SDP incorrect au serveur de télécopie dans le message d'invitation. Par conséquent, tous les appels échouent.
Voici un exemple de format de ligne M non accepté :
m=image
m=audio
Afin de résoudre ce problème, passez un appel de test de fax sortant et collectez les débogages SIP (debug ccsip messages). À partir de la sortie de débogage, ces observations peuvent être faites :
Actuellement, il n'y a pas de solution à ce problème sur le CUBE, mais vous pouvez modifier les facteurs externes afin de contourner le problème :
La version CUBE 10.0 exploite une nouvelle fonctionnalité pour les profils SIP entrants, où les profils SIP sont appliqués sur un message SIP entrant avant qu'il ne soit présenté à la pile SIP et traité. L'idée derrière l'utilisation des profils SIP entrants dans ce scénario est de supprimer la ligne m=audio ensemble de sorte que CUBE puisse fonctionner avec une seule ligne m=image.
Voici un exemple du message de nouvelle invitation lorsque le fournisseur souhaite transférer l'appel vocal vers la télécopie :
Received:
INVITE sip:025027141@192.0.2.2:5060 SIP/2.0
Via: SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bKnm30rd10dofho0fo9011sb0000g00.1
Call-ID: 6B6CB982-B41D11E3-898F851F-F1ADD198@192.0.2.2
From: <sip:026455288@25027100.xyz>;tag=7qapqh6u-CC-36
To: "Administrator" <sip:025027141@25027100.xyz>;tag=85A6C018-2489
CSeq: 1 INVITE
Contact: <sip:192.0.2.1:5060;transport=udp>
Max-Forwards: 69
Content-Length: 431
Content-Type: application/sdp
v=0
o=HuaweiSoftX3000 22157305 22157306 IN IP4 192.0.2.1
s=Sip Call
c=IN IP4 192.0.2.1
t=0 0
m=image 53200 udptl t38
a=T38FaxVersion:0
a=T38MaxBitRate:14400
a=T38FaxRateManagement:transferredTCF
a=T38FaxUdpEC:t38UDPRedundancy
m=audio 53190 RTP/AVP 8 0 101
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20
a=silenceSupp:off - - - -
a=ecan:fb on -
a=X-fax
================================
Cette configuration de profil SIP peut être appliquée afin de supprimer la ligne m=audio :
voice class sip-profiles 966
request REINVITE sdp-header Audio-Media modify "(.*)" "a=sendrecv"
voice service voip
sip
voice-class sip profiles 966 inbound
or
dial-peer voice XYZ voip
voice-class sip profiles 966 inbound
Ce profil SIP modifie la ligne m=audio en a=sendrecv, qui agit comme une ligne dans le SDP qui n'est pas pertinente. Cela permet au CUBE d'envoyer un message de réinvitation au serveur de télécopie et d'attendre la réponse 200 OK.
Vous devez également aborder un aspect plus important : Lorsque le message 200 OK est envoyé au fournisseur en réponse à la nouvelle invitation reçue, il doit présenter les deux lignes m afin de se conformer à RFC et s'assurer que le message de réponse a le même nombre d'attributs de média que le message d'offre.
Pour ce faire, vous pouvez utiliser un profil SIP sortant standard appliqué sur le terminal de numérotation dial-peer qui pointe vers le fournisseur :
voice class sip-profiles 200
response 200 method re-invite sdp-header Attribute modify "t38UDPRedundancy"
"t38UDPRedundancy\x0D\x0Am=audio 0 RTP/AVP"
Cela garantit que la réinvitation avec plusieurs lignes m est correctement gérée et que la réponse au fournisseur est conforme RFC car la « t38UDPReddundancy » est remplacée par :
"t38UDPRedundancy"
New line ( \x0D\x0A )
m=audio 0 RTP/AVP
En résumé, utilisez les solutions de contournement décrites dans ce document (dont la plupart dépendent du fournisseur) afin de résoudre le problème de plusieurs lignes m. En outre, il a été observé que le serveur Xmedius peut également initier le basculement, car il force le serveur à envoyer le message de nouvelle invitation T.38 et évite la présentation de plusieurs lignes m.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
24-Apr-2015 |
Première publication |