Testeur rnis.com

Comprendre la VoIP



SIP : Session Initiation Protocol


SIP est un protocole défini par l'IETF. Il vise à établir et gérer des sessions multimédia. En effet, SIP ne gère pas le transport du contenu dans une session multimédia mais seulement l'ouverture, la fermeture et tous types de changements que l'on peut apporter à une session. Concurrent du H.323, SIP a comme avantage d'être plus récent. C'est en partie pourquoi il commence à gagner du terrain par rapport à cet autre protocole.
SIP est un protocole plutôt simple ressemblant notamment au protocole HTTP. Chaque agent SIP peut jouer le rôle de serveur comme de client. Le client peut envoyer au format ASCII les commandes suivantes à un serveur :

  • Invite : Le client demande au serveur un nouvelle session.
  • Ack : Une fois la session établie, le client confirme la connexion.
  • Cancel : Le client annule la session avant même la confirmation de l'invitation.
  • Bye : Le client termine la session établie.

De la même manière, le serveur peut répondre des codes au client:

  • 100 : trying
  • 200 : Ok
  • 404 : Not Found (Erreur)
  • Ces codes sont les mêmes que le protocole HTTP. Il en existe cependant des propres à SIP comme : 180 - Sonnerie ou 486 pour Occupé.


Fonctionnement de l'architecture :


Pour fonctionner, SIP se base sur une architecture comportant trois principaux acteurs : Les User-Agents, les Registrars et les Proxys.

User-Agents :

Le User-Agent se retrouve du coté de l'utilisateur. Il s'agit du dispositif logiciel ou matériel qui gère le protocole SIP dans son téléphone compatible SIP, son logiciel de téléphonie IP ou même son smartphone. L'User-Agent peut, comme précisé plus haut, agir comme un serveur ou bien comme un client selon qu'il est appelé ou appelant. Si un User-Agent connaît directement l'adresse IP de l'User-Agent qu'il souhaite joindre, il peut le contacter directement, sinon, il dirige ses requêtes vers un registrar. Le User-Agent peut aussi être appelé un terminal.

Registrars :

Les registrars sont les annuaires de la VoIP. Un user-Agent peut s'inscrire sur un registrar pour être répertoriés selon son URI (Uniform Ressource Identifier). Un exemple d'URI est : sip:nom.utilisateur@domaine.fr. Cela ressemble beaucoup à une adresse email et il est aussi possible de contacter un user-agent par ce type d'URI SIP : 15124786@machine.domaine.fr . Tous les contacts sont enregistrés dans une base données sur le registrar et les enregistrements sont réactualisés fréquemment pour prévenir les changements d'adresses IP d'un poste. C'est le client qui se charge de prévenir de le registrar s'il a changé d'adresse ou pas par l'intermédiaire d'une requète REGISTER fonctionnant comme celles décrites dans la partie précédente.

Proxys :

Les proxys se chargent de faire transiter les demandes d'appels d'un user-agent vers un autre. Lorsqu'un proxy reçoit une demande de connexion d'un user-agent vers un autre, il contacte un registrar et récupère l'adresse IP associée à une URI,il renvoie alors au terminal demandeur l'adresse voulue. L'user-Agent se charge ensuite de contacter lui même le destinataire sans passer par le proxy.

Schéma sur l'établissement d'une session SIP via un proxy et un registrar.

Etablissement d'une session SIP via un proxy et un registrar

  • 1. & 2. 

    Le terminal appelant débute une session par la recherche d'une adresse IP à partir d'un URI SIP. Il contacte donc le proxy via le réseau.

  • 3. 

    Le proxy interroge le registrar pour la translation entre URI et adresse IP.

  • 4. & 5. & 6. 

    L'adresse IP parvient au terminal appelant qui peut alors commencer une session avec le terminal appelé.

  • 7. & 8. 

    La session SIP s'établit entre les deux terminaux.


Déroulement d'une session SIP

Schéma sur l'établissement d'une session SIP

Etablissement d'une session SIP : Dialogue Inter User-Agents

  • INVITE

    L'appelant envoie une requête INVITE au terminal appelé.

  • RINGING

    Le terminal appelé envoie une réponse provisoire signalant qu'il sonne.

    OK

    L'appelé a fini par décrocher. Le terminal renvoie à l'appelant un signal OK pour signifier qu'il est prêt.

    ACK

    L'appelant signale à son tour qu'il est prêt avec une requête ACK (pour "Acknoledgment").

    Session SIP en cours

    Une fois les deux parties prêtes, la session est entamée.

    BYE

    L'appelé termine la session en raccrochant et en envoyant le signal BYE

    OK

    L'appelant termine à son tour la session et le signifie à l'appelé.




En résumé :


SIP est donc un protocole dédié à la gestion des sessions de communications. Ce standard est relativement simple et s'articule autour de 3 types d'acteurs : Les User-Agents situé coté client, les proxys dirigeant les User-Agents vers les autres participants à la session et le registrar qui stocke les correspondances IP/URI.

Précédent

Suivant


Recherchez sur le site
Accueil
Contact Wavetel : Test et mesures en télécommunications. Wavetel.fr

Contact Webmaster          Plan

Get Firefox! Valid XHTML 1.0! Powered with PhpMyVisit Powered with RobotStats