Session Initiation Protocol (SIP)

Définition :

Session Initiation Protocol (SIP) est un protocole standard ouvert de gestion de sessions souvent utilisé dans les télécommunications multimédia (son, image, etc.) Il est depuis 2007 le plus courant pour la téléphonie par internet (la VoIP).

SIP n’est pas seulement destiné à la VoIP mais aussi à de nombreuses autres applications telles que la visiophonie, la messagerie instantanée, la réalité virtuelle ou même les jeux vidéo en ligne.

Fonctionnement :

SIP partage de nombreuses similitudes avec le protocole HTTP comme le codage en ASCII et les codes de réponse.

Le client envoie des requêtes au serveur, qui lui renvoie une réponse. Les méthodes de base sont :

  • INVITE permet à un client de demander une nouvelle session,
  • ACK confirme l’établissement de la session,
  • CANCEL annule un INVITE en suspens,
  • BYE termine une session en cours,
  • OPTIONS permet de récupérer les capacités de gestion des usagers, sans ouvrir de session,
  • REGISTER permet de s’enregistrer auprès d’un serveur d’enregistrement.

Les codes de réponse sont similaires à HTTP :

  • 100 Trying,
  • 200 OK,
  • 404 Not Found.

Les codes supérieurs ou égaux à x80 sont spécifiques à SIP :

  • 180 Ringing,
  • 486 Busy.

En revanche, SIP diffère de HTTP du fait qu’un agent SIP (User Agent, UA) joue habituellement à la fois les rôles de client et de serveur, c’est-à-dire qu’il peut aussi bien envoyer des requêtes, que répondre à celles qu’il reçoit.

En pratique, la mise en place de SIP repose sur trois éléments : User Agent, registrar et proxy.