Résoudre les problèmes d'une Communication SIP entre deux extrémités
Sommaire • Introduction - Composants utilisés • Configuration - Schéma du réseau - Configurations • Résolution de problèmes
Introduction Configuration Ce document fournit un exemple de configuration de deux machines Fax pour mon- trer comment une communication SIP (Session Initiation Protocol) s'établit entre deux passerelles. Ce document fournit également une explication sur la sortie de la commande debug ccsip messages pour résoudre les problème de défaillance lors d'une communication SIP. Composants utilisés Les informations présentées dans ce document sont basées sur les versions logiciel- les et matérielles suivantes: ● Deux machines Fax ● VG224 qui opère avec Cisco IOS® Software Release 12.4(4)T1 ● Routeur Cisco 3745 qui opère avec Cisco IOS Software Release 12.3(11)T8 Configuration Dans cette section sont présentées les informations nécessaires pour la configuration des fonctionnalités décrites dabs ce document. Schéma du réseau Réseau IP DN=9000 DN=8000 VG224 3745 172.16.13.87 172.16.184.83
Configurations VG224 vg224#show run Building configuration... ! voice call send−alert voice rtp send−recv voice service pots voice service voip fax protocol t38 ls−redundancy 0 hs−redundancy 0 fallback cisco sip bind control source−interface FastEthernet0/0 bind media source−interface FastEthernet0/0 voice−port 2/0 idle−voltage low dial−peer voice 1 pots !--- machine Fax connectée à ce port destination−pattern 9000 port 2/0 dial−peer voice 100 voip destination−pattern 8000 no modem passthrough session protocol sipv2 session target ipv4:172.16.184.83 incoming called−number . codec g711ulaw fax protocol t38 ls−redundancy 0 hs−redundancy 0 fallback cisco
Résolution de problèmes Cisco 3745 HTTS−VRK1−3745−1#show run Building configuration... ! voice service voip sip bind control source−interface FastEthernet0/0 bind media source−interface FastEthernet0/0 voice−port 4/1/0 dial−peer voice 9000 voip destination−pattern 9000 session protocol sipv2 session target ipv4:172.16.13.87 incoming called−number . codec g711ulaw fax protocol t38 ls−redundancy 0 hs−redundancy 0 fallback cisco no vad dial−peer voice 9 pots destination−pattern 8000 fax rate voice port 4/1/0 forward−digits all Résolution de problèmes Utilisez cette section pour résoudre des problèmes liés à votre configuration. Ceci est une sortie de la commande debug ccsip messages. !−−− Ceci est le premier message INVITE transmis vers la passerelle !−−− de terminaison SIP. !−−− Ceci est similaire au message Setup dans H.323 ou Q.931. *Mar 1 00:33:42.419: //−1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Sent: INVITE sip:8000@172.16.184.83:5060 SIP/2.0
!−−− 8000 est le numéro appelé, 172.16.184.83 est l'adresse IP !−−− de la passerelle distante et 5060 est le port de travail de !−−− SIP. Cette configuration utilise SIP version 2.0. Via: SIP/2.0/UDP 172.16.13.87:5060;branch=z9hG4bKB21AF !−−− Le champ VIA est uti:lisé pour des équipements dans le chemin !−−− et qui ont besoin d'être avertis de l'appel. Dans ce cas il !−−− n'y a aucun équipement SIP entre les deux passerelles. Remote−Party−ID: <sip:9000@172.16.13.87>;party=calling;screen=no; privacy=off !−−− Le DN et l'URI de l'équipement SIP distant appelé. From: <sip:9000@172.16.13.87>;tag=1EDC10−2436 To: <sip:8000@172.16.184.83> Date: Fri, 01 Mar 2002 00:33:42 GMT !−−− Date et heure à laquelle le message INVITE est envoyé. Call−ID: D110EA36−2BE211D6−801CEF21−DD62106B@172.16.13.87 !−−− Le call ID est unique pour chaque appel. !−−− L'ID est utilisé pour identifier une communication !−−− particulière sur un routeur. Supported: 100rel,timer,resource−priority,replaces Min−SE: 1800 Cisco−Guid: 3481906499−736235990−2149183265−3714191467 User−Agent: Cisco−SIPGateway/IOS−12.x Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER CSeq: 101 INVITE !−−− Numéro de séquence pour chaque transaction. Max−Forwards: 70 Timestamp: 1014942822 Contact: <sip:9000@172.16.13.87:5060> !−−− Ceci est l'adresse utilisée pour atteindre la partie !--- appelante sur le chemin de retour. Expires: 180 !−−− Ce message expire dans 180 secondes.
Allow−Events: telephone−event Content−Type: application/sdp Content−Disposition: session;handling=required Content−Length: 215 v=0 !−−− La version SDP (Session Descriptor Protocol) est zéro. !−−− Ceci est différent de la version SIP utilisée dans cet !−−− exemple configuration. o=CiscoSystemsSIP−GW−UserAgent 1715 2724 IN IP4 172.16.13.87 !−−− Propriétaire de l'équipement qui a crée l'appel. !−−− Cela est quelques fois référencé comme "organisation". s=SIP Call !−−− Nom donné à un appel SIP particulier. C'est la description. c=IN IP4 172.16.13.87 !−−− Information de connexion. Inclut usuellement l'adresse IP de !−−− l'équipement origine. C'est un champ optionnel. t=0 0 m=audio 18080 RTP/AVP 0 19 !−−− C'est l'information de média. Dans ce cas, 18080 est le port !−−− UDP port pour RTP. a=rtpmap:0 PCMU/8000 !−−− Ce sont les attributs de média. Notez le 0 et le 19 dans le !−−− champ média. Ce sont les attributs qui vont avec cela. !−−− PCMU/8000 est G711ulaw. a=rtpmap:19 CN/8000 a=ptime:20 !−−− Période de paquétisation de 20 ms.
!−−− Dans cet sortie INVITE, SDP n'est pas un paramètre requis. !−−− Mais dans ce cas vous voyez que SDP est utilisé. !−−− SDP transporte des informations de capacités. Aucune information !−−− sur les capacités FAX ne sont échangées au début car c'est uni- !--- une communication voix jusqu'à vous entendiez les tonalités !--- Fax issues de la machine distante *Mar 1 00:33:43.203: //−1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Received: SIP/2.0 100 Trying Via: SIP/2.0/UDP 172.16.13.87:5060;branch=z9hG4bKB21AF From: <sip:9000@172.16.13.87>;tag=1EDC10−2436 To: <sip:8000@172.16.184.83>;tag=85E9C7C8−A4C Date: Tue, 28 Feb 2006 23:43:36 GMT Call−ID: D110EA36−2BE211D6−801CEF21−DD62106B@172.16.13.87 Timestamp: 1014942822 Server: Cisco−SIPGateway/IOS−12.x CSeq: 101 INVITE Allow−Events: telephone−event Content−Length: 0 !−−− La machine de terminaison établit une connexion analogique !−−− vers la machine Fax et tandis qu'elle attend, elle transmet !−−− un message "trying". Ceci empêche la passerelle origine de !−−− transmettre une autre INVITE. *Mar 1 00:33:43.207: //−1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: SIP/2.0 183 Session Progress Require: 100rel RSeq: 3696 Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, COMET, REFER, SUBSCRIBE, NOTIFY, INFO, UPDATE, REGISTER Contact: <sip:8000@172.16.184.83:5060> Content−Disposition: session;handling=required Content−Type: application/sdp Content−Length: 194
v=0 o=CiscoSystemsSIP−GW−UserAgent 7643 2735 IN IP4 172.16.184.83 s=SIP Call c=IN IP4 172.16.184.83 t=0 0 m=audio 18304 RTP/AVP 0 !−−− C'est un autre port UDP pour l'autre direction. a=rtpmap:0 PCMU/8000 a=ptime:20 !−−− Un indicateur "progress" vous indique la passerelle distante !−−− a transmis un message connect et que machine Fax est sonnée. !−−− Notez que les en-têtes To et From ne changent pas bien que !−−− le message vient de la direction opposée. *Mar 1 00:33:43.211: //−1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Received: SIP/2.0 183 Session Progress Via: SIP/2.0/UDP 172.16.13.87:5060;branch=z9hG4bKB21AF From: <sip:9000@172.16.13.87>;tag=1EDC10−2436 To: <sip:8000@172.16.184.83>;tag=85E9C7C8−A4C Date: Tue, 28 Feb 2006 23:43:36 GMT Call−ID: D110EA36−2BE211D6−801CEF21−DD62106B@172.16.13.87 Timestamp: 1014942822 Server: Cisco−SIPGateway/IOS−12.x CSeq: 101 INVITE Require: 100rel RSeq: 3696 Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, COMET, REFER, SUBSCRIBE, NOTIFY, INFO, UPDATE, REGISTER Allow−Events: telephone−event Contact: <sip:8000@172.16.184.83:5060> Content−Disposition: session;handling=required Content−Type: application/sdp Content−Length: 194
!−−− Un ACK au message "progress". *Mar 1 00:33:43.251: //−1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Sent: PRACK sip:8000@172.16.184.83:5060 SIP/2.0 Via: SIP/2.0/UDP 172.16.13.87:5060;branch=z9hG4bKC384 From: <sip:9000@172.16.13.87>;tag=1EDC10−2436 To: <sip:8000@172.16.184.83>;tag=85E9C7C8−A4C Date: Fri, 01 Mar 2002 00:33:42 GMT Call−ID: D110EA36−2BE211D6−801CEF21−DD62106B@172.16.13.87 CSeq: 102 PRACK RAck: 3696 101 INVITE Max−Forwards: 70 Content−Length: 0 !−−− OK pour le message PRACK. *Mar 1 00:33:44.031: //−1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Received: SIP/2.0 200 OK Date: Tue, 28 Feb 2006 23:43:37 GMT Server: Cisco−SIPGateway/IOS−12.x !−−− OK est reçu ce qui est obligatoire pour un INVITE. !−−− OK a des informations sur les paramètres du média !--- accepté dans SDP. *Mar 1 00:33:49.431: //−1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Via: SIP/2.0/UDP 172.16.13.87:5060;branch=z9hG4bKB21AF Timestamp: 1014942822 CSeq: 101 INVITE Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, COMET, REFER, SUBSCRIBE, NOTIFY, INFO, UPDATE, REGISTER Allow−Events: telephone−event Contact: <sip:8000@172.16.184.83:5060> Content−Type: application/sdp Content−Length: 194
v=0 o=CiscoSystemsSIP−GW−UserAgent 7643 2735 IN IP4 172.16.184.83 s=SIP Call c=IN IP4 172.16.184.83 t=0 0 m=audio 18304 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=ptime:20 !−−− ACK pour le OK. *Mar 1 00:33:49.443: //−1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Sent: ACK sip:8000@172.16.184.83:5060 SIP/2.0 Via: SIP/2.0/UDP 172.16.13.87:5060;branch=z9hG4bKD1A5C From: <sip:9000@172.16.13.87>;tag=1EDC10−2436 To: <sip:8000@172.16.184.83>;tag=85E9C7C8−A4C Date: Fri, 01 Mar 2002 00:33:42 GMT Call−ID: D110EA36−2BE211D6−801CEF21−DD62106B@172.16.13.87 Max−Forwards: 70 CSeq: 101 ACK Content−Length: 0 !−−− A ce point la passerelle de terminaison reçoit les tonalités !--- Fax et détermine qu'elle doit commuter le codec vers un codec !--- Fax et transmettre un nouvel INVITE. Le nouvel INVITE contient !−−− des informations sur les paramètres du nouveau média que la !−−− passerelle de terminaison veut changer. *Mar 1 00:33:55.247: //−1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Received: INVITE sip:9000@172.16.13.87:5060 SIP/2.0 Via: SIP/2.0/UDP 172.16.184.83:5060;branch=z9hG4bK1A735 From: <sip:8000@172.16.184.83>;tag=85E9C7C8−A4C To: <sip:9000@172.16.13.87>;tag=1EDC10−2436 Date: Tue, 28 Feb 2006 23:43:49 GMT Supported: 100rel,timer Min−SE: 1800 Cisco−Guid: 3481906499−736235990−2149183265−3714191467 User−Agent: Cisco−SIPGateway/IOS−12.x Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, COMET, REFER, SUBSCRIBE, NOTIFY, INFO, UPDATE, REGISTER CSeq: 101 INVITE Timestamp: 1141170229 Contact: <sip:8000@172.16.184.83:5060> Expires: 180
Allow−Events: telephone−event Content−Type: application/sdp Content−Length: 399 v=0 o=CiscoSystemsSIP−GW−UserAgent 7643 2736 IN IP4 172.16.184.83 s=SIP Call c=IN IP4 172.16.184.83 t=0 0 m=image 18304 udptl t38 a=T38FaxVersion:0 a=T38MaxBitRate:14400 !−−− Débit maximum supporté par la passerelle de terminaison. a=T38FaxFillBitRemoval:0 a=T38FaxTranscodingMMR:0 a=T38FaxTranscodingJBIG:0 a=T38FaxRateManagement:transferredTCF a=T38FaxMaxBuffer:200 a=T38FaxMaxDatagram:72 a=T38FaxUdpEC:t38UDPRedundancy !−−− La redondance UDP est validée. !−−− Un message "trying" est transmis et une tentative est faite !−−− pour déterminer si le relais Fax T.38 est supporté. *Mar 1 00:33:55.275: //−1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Sent: SIP/2.0 100 Trying Via: SIP/2.0/UDP 172.16.184.83:5060;branch=z9hG4bK1A735 From: <sip:8000@172.16.184.83>;tag=85E9C7C8−A4C To: <sip:9000@172.16.13.87>;tag=1EDC10−2436 Date: Fri, 01 Mar 2002 00:33:55 GMT Call−ID: D110EA36−2BE211D6−801CEF21−DD62106B@172.16.13.87 Server: Cisco−SIPGateway/IOS−12.x CSeq: 101 INVITE Remote−Party−ID: <sip:9000@172.16.13.87>;party=called;screen=no; privacy=off Content−Length: 0
!−−− La réponse OK au nouvel INVITE spécifie que vous pouvez !−−− faire du relais Fax T.38. Le même port UDP est retenu. *Mar 1 00:33:55.275: //−1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Sent: SIP/2.0 200 OK Via: SIP/2.0/UDP 172.16.184.83:5060;branch=z9hG4bK1A735 From: <sip:8000@172.16.184.83>;tag=85E9C7C8−A4C To: <sip:9000@172.16.13.87>;tag=1EDC10−2436 Date: Fri, 01 Mar 2002 00:33:55 GMT Call−ID: D110EA36−2BE211D6−801CEF21−DD62106B@172.16.13.87 Server: Cisco−SIPGateway/IOS−12.x CSeq: 101 INVITE Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER Allow−Events: telephone−event Remote−Party−ID: <sip:9000@172.16.13.87>;party=called;screen=no; privacy=off Contact: <sip:9000@172.16.13.87:5060> Content−Type: application/sdp Content−Length: 157 v=0 o=CiscoSystemsSIP−GW−UserAgent 1715 2725 IN IP4 172.16.13.87 s=SIP Call c=IN IP4 172.16.13.87 t=0 0 m=image 18080 udptl t38 !−−− L'ACK au message OK est reçu. A ce point la transmission Fax !--- commence. *Mar 1 00:33:55.719: //−1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Received: ACK sip:9000@172.16.13.87:5060 SIP/2.0 Via: SIP/2.0/UDP 172.16.184.83:5060;branch=z9hG4bK1B21D0 Date: Tue, 28 Feb 2006 23:43:49 GMT Max−Forwards: 70 CSeq: 101 ACK Content−Length: 0 !−−− Une fois que la transmission Fax est terminée, un message !−−− BYE est reçu. Le message BYE est similaire au message !−−− release dans Q.931.
*Mar 1 00:34:45.515: //−1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Received: BYE sip:9000@172.16.13.87:5060 SIP/2.0 Via: SIP/2.0/UDP 172.16.184.83:5060;branch=z9hG4bK1E1E51 From: <sip:8000@172.16.184.83>;tag=85E9C7C8−A4C To: <sip:9000@172.16.13.87>;tag=1EDC10−2436 Date: Tue, 28 Feb 2006 23:44:38 GMT Call−ID: D110EA36−2BE211D6−801CEF21−DD62106B@172.16.13.87 User−Agent: Cisco−SIPGateway/IOS−12.x Max−Forwards: 70 Timestamp: 1141170279 CSeq: 103 BYE Reason: Q.850;cause=16 !−−− Le code de Cause 16 est une déconnexion normale. Content−Length: 0 !−−− Il doit y avoir un OK pour chaque message. *Mar 1 00:34:45.535: //−1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Sent: SIP/2.0 200 OK Date: Fri, 01 Mar 2002 00:34:45 GMT Server: Cisco−SIPGateway/IOS−12.x Plus d'informations sur ces attributs: Session description v= (version de protocole) o= (Propriétaire/créateur et identificateur de session). s= (Nom de session) i=* (Information de session) u=* (URI de la description) e=* (adresse email) p=* (numéro de téléphone) c=* (information de connexion − non requise si incluse dans tous les média) b=* (information de bande passante)
z=* (ajustment time zone) k=* (clé de cryptage) a=* (zéro ou plus de lignes d'attribut de session) Time description t= (durée de la session) r=* (Nombre de répétions) Media description m= (nom de média name et adresse de transport) i=* (titre du média) c=* (information de connexion − optionnelle si incluse au niveau session) b=* (information de bande passante) a=* (zéro ou plus de lignes d'attribut de média) * item optionnel=l. Requêtes de base : INVITE: Requête d'un UAC pour initier une session ACK: Confirme la réception d'une réponse à INVITE BYE: Transmis par chaque extrémité à la fin d'une session CANCEL: Transmis pour terminer une communication non encore établie UPDATE: Offre de mises à jour pour des sessions non encore établies REGISTER: L'UA s'enregistre avec le Registrar Server NOTIFY: Notifie qu'un évènement s'est produit REFER: Mécanisme pour initier une session de transfert INFO: Un moyen de transporter des ?data? dans le corps d'un message Réponses SIP : 1xx: Requête intermédiaire reçue, le traitement de la requête continue 2xx: Succès − L'action a été reçue avec succès, comprise et acceptée 3xx: Redirection − L'action qui suit doit être prise en compte pour terminer la requête. 4xx: Client Error − La requête contient une mauvaise syntaxe ou ne peut pas être servie par ce serveur. 5xx: Server Error − Le serveur échoue dans le service d'une requête correcte. 6xx: Global apparemment Failure − La requête ne peut pas être servie par aucun serveur