Recommended resources
The freely available resources this lesson will direct you to.
Bonjour et bienvenue dans cette première leçon de votre formation pratique sur AudioCodes.
Votre objectif est de maîtriser les équipements AudioCodes pour le dépannage, le débogage et la réalisation de projets complexes, notamment avec Microsoft Teams, des opérateurs SIP et des centres de contact comme NICE. Pour y parvenir, une compréhension profonde du protocole SIP est indispensable. C'est le langage que parlent tous ces systèmes.
Cette première leçon est donc fondamentale. Nous allons disséquer l'élément de base de toute communication VoIP : le message SIP. Vous apprendrez à lire et à comprendre sa structure, ce qui est la première étape essentielle avant de pouvoir le manipuler ou l'analyser pour trouver la cause d'un problème.
Objectif de cette leçon : Décrire la structure d'un message SIP (Request-Line, Headers, Body) et le rôle du SDP.
C'est parti !
1. Qu'est-ce que le SIP et pourquoi est-il essentiel ?
Avant d'analyser un message, comprenons le rôle du protocole SIP. Dans une communication VoIP, il y a deux flux distincts :
- La signalisation (Signaling) : C'est le travail du SIP. C'est l'ensemble des messages échangés pour établir, modifier et terminer un appel. C'est comme convenir avec un ami de s'appeler : qui appelle qui, à quel numéro, et est-ce que l'autre est disponible ?
- Le média (Media) : C'est la voix ou la vidéo elle-même. Une fois que la signalisation a établi la session, le média circule directement entre les participants via un autre protocole, généralement le RTP (Real-time Transport Protocol).
Le SIP ne transporte donc pas la voix, mais il est indispensable pour que l'échange de voix puisse avoir lieu. Il permet aux équipements de négocier des paramètres cruciaux :
- L'adresse IP et le port où envoyer le flux média.
- Le "langage" à utiliser pour encoder la voix, appelé codec (par exemple, G.711, G.729, Opus). Les deux interlocuteurs doivent utiliser un codec commun pour se comprendre.
Pour bien visualiser cette distinction, je vous propose de regarder une courte vidéo.
What is SIP (Session Initiation Protocol) | SIP Basics | SIP Call Setup | Lesson#1
Cette vidéo de la chaîne Technical Venture explique de manière simple la différence entre la signalisation et le média, et pourquoi un protocole comme SIP est nécessaire pour la VoIP.
Regardez la première partie de la vidéo (après l'introduction du sponsor, vers 1 minute 25). Concentrez-vous sur l'analogie de la conversation entre deux personnes pour comprendre le concept de signalisation, et sur la manière dont la vidéo explique les problèmes que SIP vient résoudre (choix du codec, connaissance de l'adresse IP).
2. L'anatomie d'un message SIP
Maintenant que nous savons à quoi sert le SIP, regardons à quoi ressemble un message. Qu'il s'agisse d'une demande pour initier un appel (INVITE) ou d'une réponse (200 OK), tous les messages SIP partagent la même structure de base, composée de trois parties.

a) La Ligne de Départ (Start-Line)
C'est la toute première ligne du message. Elle indique l'intention principale du message.
-
Pour une requête, elle contient la méthode, l'URI de la requête (la destination) et la version SIP.
INVITE sip:0123456789@operateur.fr SIP/2.0
(Traduction : "Je souhaite INVITER l'utilisateur 0123456789@operateur.fr à une session, en utilisant la version 2.0 du protocole SIP.") -
Pour une réponse, elle contient la version SIP, un code de statut et une phrase de statut.
SIP/2.0 200 OK
(Traduction : "En réponse à votre requête, tout s'est bien passé (code 200).")
b) Les En-têtes (Headers)
Les en-têtes sont un ensemble de lignes clé: valeur qui fournissent des informations détaillées sur le message et la session. C'est ici que se trouvent la plupart des informations que vous analyserez lors d'un dépannage. Voici quelques-uns des en-têtes les plus importants :
- Via : Indique le chemin parcouru par la requête. Chaque équipement SIP (comme un SBC AudioCodes) qui traite la requête ajoute son propre en-tête
Via. C'est crucial pour que les réponses puissent revenir par le même chemin. - From : Identifie l'initiateur de la requête (l'appelant).
- To : Identifie le destinataire final de la requête (l'appelé).
- Call-ID : Un identifiant unique pour l'ensemble de l'appel. Dans une capture de logs, c'est ce que vous utiliserez pour filtrer tous les messages appartenant à un seul et même appel.
- CSeq (Command Sequence) : Contient un numéro de séquence et le nom de la méthode. Il permet d'associer les réponses aux requêtes.
- Contact : C'est une adresse cruciale. Elle indique l'adresse SIP directe à laquelle un participant peut être joint pour les futures requêtes de cet appel (par exemple, pour raccrocher avec
BYE). - Content-Type : Spécifie le type de contenu dans le corps du message. Pour un appel vocal, c'est presque toujours
application/sdp. - Content-Length : Indique la taille du corps du message en octets. S'il est à 0, il n'y a pas de corps.
Pour approfondir le rôle de chaque en-tête, la ressource suivante est très utile.
Understanding the SIP Protocol - VoIPmonitor.org
Cette page de VoIPmonitor.org fournit une excellente vue d'ensemble du protocole SIP. Nous allons nous concentrer sur la section qui définit la structure des messages et les en-têtes principaux.
Dans la section intitulée 'SIP Messages', lisez le format pour confirmer la structure en 3 parties. Ensuite, descendez juste après la ligne expliquant que les réponses finales terminent une transaction, et étudiez attentivement le tableau de la section 'SIP Headers' qui suit. Concentrez-vous sur la colonne 'Purpose' pour les en-têtes que nous venons de mentionner (Via, From, To, Call-ID, CSeq, Contact, Content-Type).
c) Le Corps du Message (Body)
C'est un bloc de texte qui suit les en-têtes, séparé par une ligne vide. Le corps est facultatif, mais pour un appel qui doit transporter de la voix ou de la vidéo, il est essentiel. Son contenu n'est pas du SIP. Comme indiqué par l'en-tête Content-Type: application/sdp, il contient une description de session formatée selon un autre protocole : le SDP.
3. Le Rôle du SDP (Session Description Protocol)
Le SDP est le "contrat" de la session média. Il est transporté par le SIP, mais sa mission est unique : décrire les caractéristiques du flux média que l'on souhaite établir.
Lorsqu'un téléphone ou un SBC envoie un INVITE, il inclut une offre SDP dans le corps du message. Cette offre est une liste de ses capacités et de ses préférences. Par exemple : "Je veux démarrer un appel audio, voici mon adresse IP et le port pour que tu m'envoies le son, et je sais parler les codecs G.711 et G.729."
L'équipement qui reçoit l'offre (INVITE) répondra avec sa propre description SDP dans la réponse (200 OK). C'est l'answer. Il y indique les paramètres qu'il a acceptés. Par exemple : "OK pour un appel audio, j'ai bien noté ton adresse et ton port. Parmi les codecs que tu proposes, je choisis le G.711. Voici mon adresse IP et mon port pour que tu m'envoies ton son."
Un message SDP est également composé de lignes type=valeur. Les plus importantes sont :
v=(Version) : Version du protocole SDP (toujours 0).o=(Origin) : Informations sur l'origine de la session.s=(Session Name) : Nom de la session.c=(Connection Data) : Très important. Indique le type de réseau et l'adresse IP où recevoir le média (RTP).m=(Media Description) : Le plus important. Décrit le média. Exemple :m=audio 49170 RTP/AVP 0 8 101audio: C'est un flux audio.49170: Le port où recevoir ce flux audio.RTP/AVP: Le protocole utilisé est RTP.0 8 101: La liste des codecs proposés, identifiés par des numéros (payload types).
a=(Attribute) : Lignes qui donnent des détails supplémentaires sur le média. La plus courante esta=rtpmap:, qui associe un numéro de payload type à un codec réel.a=rtpmap:0 PCMU/8000(Le payload 0 correspond au codec G.711µ-law)a=rtpmap:8 PCMA/8000(Le payload 8 correspond au codec G.711a-law)a=rtpmap:101 telephone-event/8000(Le payload 101 est pour les tonalités DTMF)
Pour une analyse très détaillée du SDP, les diapositives suivantes d'une présentation Cisco Live sont excellentes.
Troubleshooting the Session Initiation Protocol (SIP)
Ce document PDF, 'Troubleshooting the Session Initiation Protocol (SIP)', contient une section très visuelle sur le SDP. Elle décompose un message SDP ligne par ligne, ce qui est parfait pour comprendre le rôle de chacune.
Allez à la diapositive 19, intitulée 'Media Negotiation'. Lisez l'introduction au protocole jusqu'à la diapositive 23. Observez comment le document introduit le SDP et le modèle Offre/Réponse. Ensuite, analysez l'exemple décomposé 'Session Description Protocol (SDP) - Offer' avec des flèches pour expliquer les lignes 'c=', 'm=' et 'a=rtpmap'. Ne vous préoccupez pas de tous les autres attributs pour le moment (ICE, crypto, etc.), nous les verrons plus tard.
4. Vue d'ensemble dans un environnement AudioCodes
Pour finir, regardons à quoi ressemble un message SIP dans un outil que vous utiliserez souvent : le Syslog Viewer d'AudioCodes. Cette image montre à la fois le diagramme de flux d'un appel et le détail d'un message INVITE sélectionné.

Prenez un moment pour identifier les trois parties que nous avons étudiées :
- La Start-Line en haut de la fenêtre de détail du message.
- Les Headers (
Via,From,To, etc.). - Le Body qui commence après la ligne vide, avec
Content-Type: application/sdp, et qui contient les lignes SDP (v=,o=,c=,m=, ...).
Vous voyez maintenant comment la théorie s'applique directement à l'outil de diagnostic d'AudioCodes.
Conclusion
Félicitations, vous avez terminé cette première leçon fondamentale !
Points clés à retenir :
- SIP est le protocole de signalisation qui établit, modifie et termine les sessions. Le média (voix/vidéo) voyage séparément via RTP.
- Un message SIP est toujours structuré en trois parties : Start-Line (l'intention), Headers (les métadonnées) et un Body optionnel (le contenu).
- Le corps d'un message SIP contient généralement une description SDP (Session Description Protocol).
- Le rôle du SDP est de décrire le média : quoi (audio, vidéo), où (adresse IP et port) et comment (quels codecs).
- Comprendre cette structure est la base absolue pour lire les traces SIP et diagnostiquer les problèmes.
Dans la prochaine leçon, nous nous appuierons sur cette connaissance pour analyser les méthodes SIP essentielles (INVITE, ACK, BYE...) et voir comment elles s'enchaînent pour former un dialogue complet, de l'établissement à la libération de l'appel.