Le protocole SIP, pour Session Initiation Protocol, est un protocole de signalisation conçu pour établir, modifier et terminer des sessions multimédias. Il peut être ainsi associé à une session audio comme un appel téléphonique, une visioconférence ou encore la gestion de la présence d’un utilisateur. Il constitue ainsi les fondations des systèmes de téléphonie IP. Pour en faire bon usage, il convient de maitriser les différentes méthodes SIP.

Dans cet article, vous découvrirez tout sur le protocole SIP et plus particulièrement : 

Le protocole SIP est particulièrement apprécié pour son caractère ouvert, sa standardisation par l’IETF (Internet Engineering Task Force) et ses similitudes avec différentes autres protocoles web. En effet, il hérite de certaines approches et fonctionnalités de protocoles de transport du web et des e-mails comme le HTTP, pour Hyper Text Transport Protocol ou SMTP, pour Simple Mail Transport Protocol. 

Les entêtes SIP  

Lorsque deux terminaux SIP souhaitent établir, modifier ou terminer une session, ils s’échangent des messages SIP. On appelle communément cela un dialogue SIP. Il se compose de différentes informations normalisées permettant de mener à bien la négociation. 

Exemple d’entête SIP – INVITE

Les principaux champs que l’on retrouve dans toutes les entêtes SIP sont les suivants : 

Il existe une plus d’une trentaine d’autres champs optionnels permettant de partager des informations sur différents aspects de la session, comme les champs : “Allow”, “Contact”, “Content-Type”, “Content-Length” ou encore “Unsupported”. 

Alors si vous voulez tout savoir sur les 44 entêtes SIP disponibles, nous vous invitons à consulter la RFC 3261, section 20. 

Méthodes SIP, les requêtes

Lors de ces échanges de messages SIP, les terminaux vont réaliser des requêtes correspondant à différentes actions, sur lesquels elles obtiendront des réponses. 

Dialogue SIP Méthode SIP INVITE
Exemple d’un dialogue SIP INVITE simplifié

Il existe 6 principales requêtes SIP décrites dans le RFC 3261 : 

Ces différentes méthodes sont complétés par différents RFC afin d’enrichir le socle d’échange SIP initial. Nous pouvons par exemple citer “PRACK”, “NOTIFY”, “SUBSCRIBE”, “UPDATE” ou encore “PUBLISH”. 

Si vous voulez en savoir plus, nous vous invitons à consulter les RFC 3262, RFC 6665, RFC 3311, RFC 3903 pour les méthodes citées, et les RFC 3428, RFC 6086 et RFC 3515 pour disposer d’une vue exhaustive. 

Méthodes SIP, les réponses

Une fois qu’un agent SIP a reçu une requête, il convient alors de lui répondre. Le format de réponse du protocole SIP est similaire à celui des réponses HTTP. 

Nous pouvons les classifier en 6 principales catégories : 

Chacune de ses classes de réponses comprennent une variété de réponses. Si vous voulez tout connaître sur les différentes réponses possibles, la RFC 3261 détaille ces éléments dans la section 21. Sinon n’hésitez pas nous contacter, nos experts se feront un plaisir d’échanger avec vous sur toutes les subtilités de ce protocole et de la VoIP.