Bonjour et bienvenue dans cette première leçon de votre programme d'étude sur les SBC AudioCodes. Votre parcours en tant qu'expert en communications unifiées vous a certainement familiarisé avec le protocole SIP au niveau conceptuel. L'objectif de cette formation est de solidifier ces bases et de les transformer en une expertise pratique, notamment pour la manipulation de messages, qui est au cœur de la configuration des SBC.
Cette première leçon est fondamentale. Nous allons disséquer la structure d'un message SIP pour en identifier les composants essentiels : la ligne de début (Request-Line ou Status-Line), les en-têtes (Headers) et le corps (Body). Une maîtrise parfaite de cette anatomie est le prérequis indispensable pour comprendre comment un SBC comme celui d'AudioCodes peut analyser et transformer les flux de signalisation, une compétence que nous développerons tout au long de ce cours.
Commençons par une introduction conceptuelle au protocole SIP.
Qu'est-ce qu'un message SIP ?
À la base, le SIP (Session Initiation Protocol) est un protocole de signalisation. Son rôle est d'établir, de modifier et de terminer des sessions multimédias (voix, vidéo, messagerie instantanée, etc.). Il ne transporte pas le média lui-même (la voix ou la vidéo), mais plutôt les messages qui permettent aux participants de se trouver, de négocier les caractéristiques de la session (quels codecs utiliser, par exemple) et de gérer le cycle de vie de l'appel.
Les messages SIP sont textuels, ce qui les rend lisibles par un humain, et leur syntaxe est très inspirée du protocole HTTP que vous connaissez probablement. Il existe deux types de messages :
- Les requêtes (requests), envoyées par un client (User Agent Client - UAC) vers un serveur (User Agent Server - UAS) pour initier une action (par exemple,
INVITEpour démarrer un appel). - Les réponses (responses), envoyées par le serveur au client pour indiquer le résultat du traitement de la requête (par exemple,
200 OKpour accepter un appel).
La vidéo suivante offre une excellente vue d'ensemble de la structure d'une requête SIP.
What is SIP (Session Initiation Protocol) | SIP Basics | SIP Call Setup | Lesson#1
Cette vidéo, intitulée "What is SIP... Lesson#1", décompose la structure d'une requête SIP en trois parties et explique le rôle de plusieurs en-têtes clés.
Regardez la section allant de l'introduction formelle aux requêtes SIP jusqu'à la présentation du protocole SDP. Concentrez-vous sur l'identification des trois zones principales d'une requête : la ligne de début (start line), les en-têtes (headers) et le corps du message (payload/body). Notez également l'explication des en-têtes To, From et Contact.
L'anatomie d'un message SIP
Comme vous l'avez vu dans la vidéo, chaque message SIP, qu'il s'agisse d'une requête ou d'une réponse, est composé de quatre éléments fondamentaux, séparés par des retours à la ligne (CRLF).

- La ligne de début (Start-Line) : La toute première ligne du message. Son format dépend du type de message.
- Les en-têtes (Headers) : Une ou plusieurs lignes au format
clé: valeurqui fournissent des informations détaillées sur le message. - Une ligne vide : Une seule ligne vide (un simple CRLF) qui marque la fin de la section des en-têtes.
- Le corps (Body) : Une partie optionnelle qui contient des informations relatives à la session, comme la description du média.
Le document ci-dessous formalise cette structure.
Ce document académique offre une définition précise et concise de la structure des messages SIP.
Veuillez lire la section 1.3, intitulée "SIP Messages". Elle introduit les quatre composants que nous venons de mentionner.
Examinons maintenant plus en détail chaque composant.
1. La Ligne de Début (Start-Line)
La nature de cette première ligne change radicalement si le message est une requête ou une réponse.
Pour une requête : la Request-Line
La Request-Line définit l'action demandée. Elle est composée de trois parties, séparées par des espaces :Méthode Requête-URI Version-SIP
- Méthode (Method) : Le verbe de l'action à effectuer. Les plus courantes sont
INVITE,ACK,BYE,CANCEL,REGISTER, etOPTIONS. - Requête-URI (Request-URI) : L'identifiant SIP (ex:
sip:utilisateur@domaine.com) de la destination de la requête. - Version-SIP : La version du protocole, quasi-systématiquement
SIP/2.0.
Exemple de Request-Line :INVITE sip:bob@biloxi.com SIP/2.0
Pour une réponse : la Status-Line
La Status-Line indique le résultat du traitement de la requête. Elle est également composée de trois parties :Version-SIP Code-Statut Phrase-Raison
- Version-SIP :
SIP/2.0. - Code-Statut (Status-Code) : Un code numérique à 3 chiffres qui résume le résultat. Le premier chiffre définit la classe de la réponse (1xx pour information, 2xx pour succès, 4xx pour erreur client, etc.).
- Phrase-Raison (Reason-Phrase) : Une courte description textuelle du code de statut (ex:
OK,Not Found).
Exemple de Status-Line :SIP/2.0 200 OK
Pour approfondir, je vous invite à lire les sous-sections du document précédent qui détaillent ces deux types de lignes.
Ces sections du même document "Overview of the SIP Protocol" décrivent spécifiquement la Request-Line et la Status-Line.
Lisez la sous-section 1.3.1 Requests pour la description de la Request-Line, puis la sous-section 1.3.2 Responses pour celle de la Status-Line.
2. Les En-têtes (Headers)
Les en-têtes sont le cœur informationnel du message. Ils fonctionnent sur un modèle clé: valeur et transportent des métadonnées cruciales pour le routage, l'identification des transactions et la description des capacités des participants. Dans votre travail avec les SBC AudioCodes, ce sont ces en-têtes que vous ciblerez le plus souvent pour la manipulation.
Voici quelques en-têtes fondamentaux : From, To, Call-ID, CSeq, Via, Contact. Nous les étudierons en détail dans la prochaine leçon. Pour l'instant, il est important de comprendre leur rôle en tant que bloc de construction.
La documentation de référence d'AudioCodes que nous utiliserons tout au long de ce cours possède une syntaxe très spécifique pour cibler ces en-têtes. Jetez un premier coup d'œil à la façon dont un SBC AudioCodes "voit" un en-tête SIP.
[PDF] SIP Message Manipulation Syntax Reference Guide Version 7.4
Ce guide est la documentation officielle d'AudioCodes pour la manipulation des messages SIP. Il sera notre référence principale.
Dans le Chapitre 3, "Detailed Syntax", lisez la section intitulée "Headers". Notez la syntaxe générale header.<header-name>.<header-index>.<sub-type>. C'est ainsi que vous indiquerez au SBC quel en-tête et quelle partie de cet en-tête vous souhaitez lire ou modifier. Cette syntaxe est la clé qui relie la théorie SIP à la pratique sur AudioCodes.
3. La Ligne Vide et le Corps (Body)
Après la liste des en-têtes vient une unique ligne vide. Elle sert de séparateur et indique que tout ce qui suit constitue le corps du message.
Le corps (Body) est optionnel. S'il est présent, il contient la "charge utile" (payload) du message. Pour une requête INVITE, cette charge utile est presque toujours une description de la session au format SDP (Session Description Protocol). Le SDP décrit les aspects média de la session :
- Les types de média proposés (audio, vidéo).
- Les codecs supportés (G.711, G.729, Opus...).
- Les adresses IP et les ports où recevoir les flux média.
L'image suivante illustre bien cette hiérarchie : le message SIP contient un corps, qui lui-même contient une charge utile SDP. Le tout est ensuite encapsulé dans les couches de transport (TCP/UDP) et réseau (IP).

La vidéo ci-dessous montre un exemple concret de message INVITE et identifie visuellement chacun des composants que nous avons abordés.
SIP - Session Initiation Protocol | Invite Method, Headers, Traces - Everything about INVITE message
Cette vidéo, "SIP - Everything about INVITE message", présente une trace réelle d'un message INVITE et en détaille le contenu.
Regardez la section de l'analyse de la trace. Le présentateur y identifie : La Request-Line (invite ... SIP/2.0). Les différents Headers (Via, From, To, Call-ID, etc.). Notez la présence des en-têtes Content-Type et Content-Length qui décrivent le corps du message. Le Body, qui est ici une session SDP, avec ses propres lignes (v=, o=, s=, m=, etc.).
Conclusion
Dans cette première leçon, nous avons posé les fondations de notre étude du protocole SIP en déconstruisant un message pour en identifier les quatre composants structurels :
- La ligne de début, qui est une
Request-Linepour une requête (spécifiant une méthode commeINVITE) et uneStatus-Linepour une réponse (indiquant un résultat comme200 OK). - Les en-têtes (Headers), un ensemble de paires
clé: valeurqui contiennent les métadonnées de la signalisation. C'est la partie que nous manipulerons le plus sur le SBC. - La ligne vide, qui sépare les en-têtes du corps.
- Le corps (Body), une partie optionnelle qui transporte la charge utile, le plus souvent une description de session au format SDP.
Cette structure est le langage commun de tous les équipements SIP. La comprendre parfaitement est la première étape pour pouvoir l'interpréter et la manipuler avec précision.
Dans la prochaine leçon, nous nous concentrerons sur la section des en-têtes. Nous apprendrons à interpréter les headers SIP les plus essentiels, tels que From, To, Via, Contact, Call-ID et CSeq, car ce sont eux qui contrôlent le routage et l'état des appels.