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

Maîtriser les méthodes SIP essentielles

Bonjour ! Bienvenue dans cette deuxième leçon sur les fondamentaux du SIP.

Dans la leçon précédente, nous avons disséqué l'anatomie d'un message SIP, en examinant sa structure en trois parties : la ligne de départ, les en-têtes et le corps (contenant le SDP). Vous savez maintenant "de quoi" est fait un message SIP.

Aujourd'hui, nous allons nous concentrer sur le "verbe" de la ligne de départ : la méthode SIP. Ces méthodes sont les commandes qui indiquent l'action souhaitée. Les reconnaître est la première étape pour comprendre le déroulement d'un appel dans une trace de dépannage. Savoir si un équipement tente d'initier un appel (INVITE), de s'enregistrer (REGISTER) ou de mettre fin à une conversation (BYE) est essentiel pour diagnostiquer rapidement un problème.

Objectif de cette leçon : Identifier les méthodes SIP essentielles (INVITE, ACK, BYE, CANCEL, REGISTER, OPTIONS).

1. Les Commandes du SIP : Une Vue d'Ensemble

Chaque requête SIP commence par une méthode qui définit son but. Pensez-y comme aux commandes que vous donnez. Voici une vue d'ensemble des plus importantes que vous rencontrerez constamment.

SIP Messages: Requests and Responses Overview
Cette image résume les requêtes SIP (Méthodes) les plus courantes et les catégories de réponses, indiquant leur fonction et leur direction typique.

Pour être plus précis, nous pouvons les résumer dans ce tableau :

Méthode Objectif Principal Crée un Dialogue ?
INVITE Inviter un utilisateur à une session (appel) Oui
ACK Confirmer la réception d'une réponse finale à un INVITE Non
BYE Terminer une session déjà établie Non (termine le dialogue)
CANCEL Annuler une requête INVITE en attente (avant la réponse) Non
REGISTER Enregistrer l'emplacement d'un utilisateur auprès d'un serveur Non
OPTIONS Interroger les capacités d'un serveur ou vérifier sa disponibilité Non

Le concept de "dialogue" est important : il s'agit de la relation entre deux participants pour la durée d'un appel, initiée par un INVITE réussi. Toutes les requêtes suivantes au sein de cet appel (comme BYE) font partie de ce même dialogue.

2. Analyse Détaillée des Méthodes Essentielles

Explorons maintenant le rôle de chaque méthode dans le cycle de vie d'un appel. Pour une présentation vidéo de ces concepts, vous pouvez regarder la séquence suivante.

Lecture-1 | SIP | Part-1 | Session Initiation Protocol | Most Detailed video on SIP | SIP Methods|

Cette vidéo de Technical Venture explique clairement le rôle des principales méthodes SIP. C'est un excellent complément visuel à la lecture.

Regardez la section de 16:24 à 19:13. La vidéo y décrit la fonction des méthodes INVITE, ACK, BYE, CANCEL, OPTIONS et REGISTER, qui sont au cœur de notre leçon.

a) INVITE : L'invitation à communiquer

C'est la méthode la plus importante. Elle est utilisée pour démarrer une session.

  • Quand ? Au tout début d'un appel.
  • Pourquoi ? Pour demander à un autre équipement (téléphone, SBC, etc.) d'établir une session multimédia.
  • Contenu ? Comme nous l'avons vu dans la leçon 1, le message INVITE transporte presque toujours une description de session (SDP) dans son corps, proposant les codecs, l'adresse IP et le port pour le média (la voix).

b) ACK : L'accusé de réception

Cette méthode a un rôle unique : confirmer la réception d'une réponse finale à un INVITE.

  • Quand ? Immédiatement après avoir reçu une réponse finale (comme 200 OK) à un INVITE.
  • Pourquoi ? SIP a été conçu pour pouvoir fonctionner sur des protocoles non fiables comme UDP. Le ACK garantit que l'appelant a bien reçu la confirmation que l'appel est établi, complétant ainsi l'établissement de la session en trois temps (INVITE -> 200 OK -> ACK), qu'on appelle la "poignée de main en 3 temps" (3-way handshake).

c) BYE : La fin de la conversation

Cette méthode termine une session qui a déjà été acceptée et établie.

  • Quand ? Quand l'un des participants raccroche un appel en cours.
  • Pourquoi ? Pour informer l'autre partie que la session est terminée et que les ressources peuvent être libérées.

d) CANCEL : "Finalement, non"

CANCEL est utilisé pour abandonner une requête qui n'a pas encore reçu de réponse finale. Son cas d'usage principal est avec INVITE.

  • Quand ? Quand l'appelant raccroche alors que le téléphone du destinataire est encore en train de sonner.
  • Pourquoi ? Pour annuler la tentative d'appel avant que le destinataire ne décroche. Le serveur ou le téléphone distant arrêtera alors de sonner et répondra par un 487 Request Terminated à l' INVITE initial. La distinction avec BYE est fondamentale en troubleshooting.

e) REGISTER : "Je suis ici !"

Cette méthode n'établit pas d'appel, mais elle est vitale pour que vous puissiez en recevoir.

  • Quand ? Lorsqu'un téléphone SIP ou un trunk s'allume, ou périodiquement après.
  • Pourquoi ? Pour s'enregistrer auprès d'un serveur (le "Registrar"). Le message REGISTER indique au serveur "Si quelqu'un cherche à joindre sip:mon_numero@domaine.com, mon adresse IP actuelle est 192.168.1.50". Sans cela, le système ne saurait pas où acheminer les appels entrants destinés à cet utilisateur.

f) OPTIONS : "Es-tu là et que sais-tu faire ?"

Cette méthode est une sorte de "ping" pour le monde SIP.

  • Quand ? De manière périodique entre équipements (SBC, opérateurs, serveurs Teams).
  • Pourquoi ? Elle a deux buts principaux :
    1. Sondage (Polling) : Vérifier qu'un équipement distant est bien en ligne et répond. C'est le mécanisme de supervision de trunk le plus courant. Si un SBC AudioCodes n'obtient pas de réponse à ses OPTIONS, il peut marquer le trunk comme étant hors service et basculer sur une route alternative.
    2. Découverte de capacités : Demander à un équipement distant quels sont les méthodes, codecs ou fonctionnalités qu'il supporte, sans pour autant initier un appel.

Pour une référence textuelle claire et concise de ces méthodes, vous pouvez consulter le document suivant.

Troubleshooting the Session Initiation Protocol (SIP)

Ce guide de dépannage de Cisco Live contient une diapositive qui liste et décrit de manière très claire les méthodes SIP fondamentales. C'est une excellente fiche de révision.

Consultez la diapositive 6, intitulée 'SIP Request Methods defined in RFC 3261'. Elle résume le rôle de chaque méthode que nous venons de voir. Notez la description pour OPTIONS : 'Queries the capabilities of servers (Also used as a keepalive)', qui correspond parfaitement aux deux usages que nous avons décrits.

3. Cas Pratique : La Différence Cruciale entre BYE et CANCEL

Une erreur de diagnostic fréquente pour les débutants est de confondre BYE et CANCEL. Comprendre leur différence est essentiel pour analyser correctement un échec d'appel.

  • BYE est utilisé pour terminer une session établie (quelqu'un a répondu et une conversation a eu lieu ou aurait pu avoir lieu).
  • CANCEL est utilisé pour annuler une tentative de session non établie (quelqu'un a raccroché pendant que ça sonnait).

La vidéo suivante démontre cette différence de manière très pratique avec une capture de paquets.

Understanding difference between SIP bye & cancel request

Cette vidéo de Vishal Patel est entièrement dédiée à la démonstration de la différence entre BYE et CANCEL. C'est une explication très visuelle et pratique, qui correspond parfaitement à votre objectif de maîtrise du troubleshooting.

Regardez la vidéo en trois parties : De 4:25 à 9:30 : Observez le flux d'un appel qui est décroché puis raccroché. Repérez le message BYE qui termine la session. De 9:30 à 15:33 : Regardez le second scénario où l'appel est raccroché avant d'être décroché. Repérez le message CANCEL qui annule la tentative. De 15:33 à 16:25 : Écoutez le résumé qui synthétise les différences clés.

Cette distinction est vitale. Si vous voyez un CANCEL dans une trace, vous savez que l'appelant a mis fin à la tentative. Si vous voyez un BYE, vous savez que l'appel a été établi avec succès à un moment donné avant d'être terminé.

Conclusion

Vous savez maintenant identifier les commandes fondamentales du protocole SIP. Reconnaître ces méthodes dans une trace vous permet de construire le récit d'un appel : une invitation a été envoyée, une session a été établie, puis elle a été terminée.

Points clés à retenir :

  • INVITE démarre une session et propose les paramètres média (via SDP).
  • ACK confirme la réponse finale à un INVITE, complétant l'établissement de l'appel.
  • BYE termine une session déjà établie (un appel qui a été décroché).
  • CANCEL annule une tentative d'appel avant qu'il ne soit décroché.
  • REGISTER permet à un équipement d'indiquer son emplacement à un serveur pour recevoir des appels.
  • OPTIONS est une méthode de supervision essentielle pour vérifier qu'un trunk SIP est opérationnel.

Dans la prochaine leçon, nous aborderons l'autre côté du dialogue : les codes de réponse SIP. Après avoir vu les requêtes (INVITE, etc.), nous apprendrons à interpréter les réponses (200 OK, 404 Not Found, 503 Service Unavailable, etc.) pour comprendre si une requête a réussi, a échoué, et pourquoi.

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

Sign up