Skip to main content

Someone wanted to learn this too, so Grasp built them a personal learning path.

You can keep exploring this one or create your own

Analyse de messages SIP pour le dépannage

Bonjour ! Bienvenue dans cette septième et dernière leçon du premier module sur les fondamentaux SIP.

Au cours de ce module, nous avons parcouru un chemin complet : de la structure d'un message SIP et du rôle de ses en-têtes critiques, à l'analyse d'un flux d'appel et au principe de la manipulation de messages. Vous avez maintenant toutes les pièces du puzzle en main.

L'objectif de cette leçon finale est de tout assembler en une méthodologie concrète. Nous allons récapituler les étapes clés d'analyse d'un message SIP pour le dépannage. Ce n'est pas une simple révision, mais la construction d'un plan d'action structuré que vous pourrez appliquer face à n'importe quel incident VoIP. Cette méthode sera la pierre angulaire de votre objectif de maîtrise du troubleshooting.

1. La Boîte à Outils de l'Analyste SIP

Avant de plonger dans la méthode, parlons des outils. Pour analyser un appel, vous avez besoin de "voir" les messages échangés. Deux types d'outils sont indispensables :

  • L'analyseur de paquets (vue externe) : Wireshark. C'est l'outil universel qui capture tout le trafic réseau. Il vous montre exactement ce qui est envoyé et reçu sur le câble. Il est parfait pour voir la "vérité" du réseau.
  • Le visualiseur de logs du SBC (vue interne) : AudioCodes Syslog Viewer. Cet outil est spécifique à AudioCodes. Il n'affiche pas seulement les messages SIP, mais aussi les décisions que le SBC a prises : quelle règle de routage a été utilisée, quelle manipulation a été appliquée, etc. C'est comme lire les pensées de l'équipement, ce qui est souvent la clé pour résoudre un problème de configuration.
SIP Flow Diagram and Message Log from AudioCodes SBC
Exemple de l'interface Syslog Viewer d'AudioCodes. À gauche, un diagramme de séquence visuel (le flux d'appel). À droite, le détail du message SIP sélectionné (`INVITE`). Notez la présence d'une authentification (`401 Unauthorized`) qui est une étape clé du flux.

2. Une Méthodologie d'Analyse en 6 Étapes

Face à un problème (un appel qui n'aboutit pas, pas de son, mauvaise identité affichée), une approche chaotique est une perte de temps. Suivez systématiquement ces étapes.

Étape 1 : Isoler l'Appel (Qui, Quoi, Quand ?)

Avant toute chose, vous devez identifier l'appel problématique. Collectez les informations de base :

  • Numéro appelant
  • Numéro appelé
  • Heure exacte de l'appel
  • Comportement observé (ex: "sonnerie sans fin", "message d'erreur", "pas de son")

Si possible, demandez le Call-ID. Cet identifiant est unique pour chaque appel et constitue le moyen le plus fiable de le retrouver dans des millions de logs.

Étape 2 : Capturer les Traces

Une fois l'appel identifié, capturez les données.

  • Sur le SBC AudioCodes : Activez la capture Syslog. Cet outil est si important que nous lui dédierons une leçon complète plus tard. Pour l'instant, sachez qu'il permet d'enregistrer tous les messages et décisions du SBC.
  • Sur le réseau : Lancez une capture de paquets avec Wireshark sur l'interface réseau concernée du SBC.

Le document suivant vous donne un aperçu de la richesse de l'outil Syslog Viewer d'AudioCodes.

Syslog Viewer | User's Manual

Ce manuel utilisateur du Syslog Viewer d'AudioCodes est une ressource précieuse. Parcourez ces sections pour comprendre comment l'outil collecte et analyse les messages.

Lisez les sections suivantes pour vous familiariser avec l'outil : Chapitre 5, "Collecting Syslog Messages Methods" : Survolez cette section pour voir les différentes manières de récupérer les logs d'un équipement AudioCodes. Retenez l'idée principale : on configure le SBC pour qu'il envoie ses logs à un serveur. Chapitre 12, "Analyzing Syslog Messages", sous-section "SIP Call Session Logs" : Lisez cette partie pour comprendre la structure d'un log SIP et l'importance du SID (Session ID). Chapitre 12, "Viewing SIP Flow Diagrams" : Cette section est cruciale. Elle montre comment l'outil peut générer automatiquement un diagramme de flux d'appel, ce qui nous amène à l'étape suivante.

Étape 3 : Visualiser le Flux d'Appel (La vue d'ensemble)

Ne vous perdez pas immédiatement dans les détails d'un message. Utilisez la fonction de diagramme de séquence de votre outil pour obtenir une vue macroscopique.

  • Dans Wireshark : Allez dans Telephony > VoIP Calls, sélectionnez votre appel et cliquez sur Flow Sequence.
  • Dans AudioCodes Syslog Viewer : Cliquez sur l'icône "SIP Flow Diagram".

Regardez le diagramme :

  • Le flux est-il complet (INVITE -> 180 -> 200 OK -> ACK -> ... -> BYE) ?
  • Voyez-vous des messages d'erreur (en rouge, codes 4xx, 5xx, 6xx) ?
  • Le message d'erreur vient-il de l'équipement interne, du SBC ou de l'équipement externe (opérateur, Teams) ?

La vidéo suivante montre très bien comment utiliser cette fonctionnalité dans Wireshark.

Lecture - 8 | How to Analyze SIP calls in Wireshark | SIP Calls troubleshooting | Analyze RTP Stream

Cette vidéo démontre l'analyse d'appels SIP dans Wireshark. La section sur le "call flow" est particulièrement pertinente pour comprendre cette étape.

Regardez la section de 9:29 à 11:11. L'auteur montre comment utiliser la fonction 'VoIP Calls' pour lister les appels et générer un 'Flow Sequence'. Observez comment le diagramme montre clairement l'enchaînement des messages et une réponse 401 Unauthorized, ce qui permet de localiser immédiatement une phase d'authentification.

AudioCodes OVOC SIP Call Flow Diagram
Un autre exemple d'un flux d'appel, cette fois depuis l'outil de supervision OVOC d'AudioCodes. On y voit un appel réussi, avec les étapes `INVITE`, `100 Trying`, `180 Ringing`, `183 Session Progress`, `200 OK`, `ACK` et `BYE`.

Étape 4 : Analyser la Signalisation (La "conversation" SIP)

Maintenant que vous avez repéré le message suspect (par exemple, un INVITE qui reçoit un 404 Not Found), plongez dans les détails.

  1. Request-Line (pour une requête) / Status-Line (pour une réponse)

    • La méthode est-elle correcte ? (ex: INVITE)
    • Le Request-URI est-il correct ? (ex: sip:+33123456789@opérateur.com:5061)
    • Si c'est une réponse, quel est le code et sa signification ? (ex: 404 Not Found signifie que l'utilisateur n'existe pas à la destination).

    Le tableau suivant, tiré d'une documentation Cisco mais universellement applicable, est un excellent aide-mémoire.

Troubleshoot Jabber SIP Call Issues with Wireshark - Cisco

Cet article de Cisco fournit un excellent résumé des codes d'erreur SIP les plus courants, leurs causes probables et les actions à entreprendre. C'est une ressource de référence pour le dépannage.

Repérez le tableau dans le document qui liste les codes de 403 Forbidden à 503 Service Unavailable. Gardez ce tableau en tête, car il vous donne instantanément une piste pour chaque type d'erreur.

  1. En-têtes Critiques
    • Routage (Via, Contact, Route, Record-Route) : Le message suit-il le chemin attendu ? L'en-tête Contact contient-il l'adresse correcte pour que la réponse puisse revenir ?
    • Identité (From, To, P-Asserted-Identity) : Les identités de l'appelant et de l'appelé sont-elles dans le format attendu par la destination ? (ex: E.164 pour Teams).
    • Session (Call-ID, CSeq) : Vérifiez que le Call-ID est constant pour tout le dialogue.

Étape 5 : Analyser la Négociation Média (Le corps SDP)

Cette étape est cruciale pour les problèmes de "pas de son" ou "son unidirectionnel". Dans le corps du message (INVITE et 200 OK), analysez le SDP (Session Description Protocol).

  • c= (connection data) : L'adresse IP spécifiée pour recevoir le flux audio (RTP) est-elle correcte et joignable ?
  • m= (media description) : Le port est-il correct ? Y a-t-il une liste de codecs audio ?
  • a= (attribute) :
    • Y a-t-il au moins un codec en commun entre l'offre (dans l'INVITE) et la réponse (dans le 200 OK) ? Si non, attendez-vous à une erreur 488 Not Acceptable Here.
    • Les attributs de direction (sendrecv, sendonly, recvonly) sont-ils logiques ?
    • La négociation DTMF est-elle cohérente ? (ex: telephone-event).

La vidéo suivante aborde l'analyse RTP, qui est la conséquence directe de la négociation SDP.

Lecture - 8 | How to Analyze SIP calls in Wireshark | SIP Calls troubleshooting | Analyze RTP Stream

Cette section de la vidéo se concentre sur l'analyse du flux média RTP, qui est la prochaine étape logique après avoir validé le SDP.

Regardez la section de 19:27 à 21:10. L'auteur explique les questions à se poser lors de l'analyse RTP : le flux existe-t-il ? Les adresses IP et ports sont-ils corrects ? Le codec est-il le bon ? Cela renforce l'importance de vérifier les informations du SDP.

Étape 6 : Corréler avec la Logique du SBC (Le "pourquoi" d'AudioCodes)

C'est l'étape qui fait la différence entre un analyste réseau et un expert AudioCodes. Les traces Wireshark vous montrent ce qui s'est passé. Les logs Syslog du SBC vous montrent pourquoi.

Dans le fichier Syslog, recherchez les lignes qui entourent le message SIP problématique. Vous y trouverez des messages internes du SBC comme :

  • Classification Succeeded - Source IP Group #2 (Teams) : Le SBC a bien identifié d'où venait l'appel.
  • IP-to-IP Routing Table: Searching for match... : Le SBC cherche une règle de routage.
  • Manipulation Set #5 rule #2 was applied : Le SBC vous dit exactement quelle règle de manipulation a été exécutée.
  • Route NOT found for... : La cause de votre 404 Not Found est probablement là ! Le SBC n'a pas trouvé de route.

C'est en corrélant le message SIP externe (vu dans Wireshark) avec la décision interne (vue dans le Syslog) que vous trouverez la cause racine d'un problème de configuration.

Conclusion et Récapitulatif du Module

Félicitations ! Vous avez terminé ce premier module fondamental. Vous êtes passé de la simple connaissance théorique du SIP à une compréhension structurée de son analyse pour le dépannage.

Cette méthodologie en 6 étapes est votre feuille de route pour chaque incident.

Les Étapes Clés d'Analyse d'un Message SIP

  1. Isoler l'Appel : Obtenir les informations primaires (appelant, appelé, heure, Call-ID).
  2. Capturer les Traces : Utiliser Wireshark (vue externe) et le Syslog AudioCodes (vue interne).
  3. Visualiser le Flux : Utiliser les diagrammes de séquence pour avoir une vue d'ensemble et repérer le point de rupture.
  4. Analyser la Signalisation (SIP) : Inspecter le message problématique (Request/Status-Line, headers de routage et d'identité).
  5. Analyser le Média (SDP) : Pour les problèmes audio, vérifier les codecs, les adresses IP et les ports dans le corps SDP.
  6. Corréler avec la Logique du SBC : Consulter les logs Syslog pour comprendre pourquoi le SBC a agi comme il l'a fait (routage, manipulation, etc.).

Vous avez maintenant une base solide. Dans le prochain module, "Prise en Main de l'Environnement AudioCodes", nous quitterons la théorie pour la pratique. Vous apprendrez à naviguer dans l'interface web du SBC, à localiser les menus clés et à effectuer les configurations de base. Nous commencerons à mettre en application les concepts que vous venez d'apprendre.

Can't find a good explanation? Sign up and we'll make it for you

Sign up