Accueil🇫🇷Chercher

Session Initiation Protocol

Session Initiation Protocol, abrégé SIP, est un protocole de communication 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.

Présentation technique

Session Initiation Protocol (dont l'abréviation est SIP) est un protocole de la couche applicative du modèle OSI (et non de la couche session comme son nom pourrait le laisser croire), normalisé et standardisé par l'IETF (décrit par le RFC 3261[1] qui rend obsolète le RFC 2543[2], et est complété par le RFC 3265[3]) qui a été conçu pour établir, modifier et terminer des sessions multimédia. Il se charge de l'authentification et de la localisation des multiples participants. Il se charge également de la négociation sur les types de média utilisables par les différents participants en encapsulant des messages SDP (Session Description Protocol). SIP ne transporte pas les données échangées durant la session comme la voix ou la vidéo. SIP étant indépendant de la transmission des données, tout type de données et de protocoles peut être utilisé pour cet échange. Cependant le protocole RTP (Real-time Transport Protocol) assure le plus souvent les sessions audio et vidéo. SIP remplace progressivement H.323.

Le protocole SIP utilise le port 5060, et sa version sécurisée SIP-TLS (alias SIPS) le port 5061[4].

Contexte

À l'heure de la révolution de l'information par l'utilisation du réseau Internet, on assiste à la convergence de la téléphonie et de l'informatique (couplage téléphonie-informatique).

Les rĂ©seaux tĂ©lĂ©phoniques filaires (RTC ou RNIS) et mobiles de première et seconde gĂ©nĂ©rations (satellitaires et GSM) ont fait leur temps en tant que rĂ©seaux supportant la voix uniquement, avec des bandes passantes et dĂ©bits très faibles (RNIS permettait les transmissions de donnĂ©es, en liaison commutĂ©e ou fixe sur abonnement, par unitĂ© de 64 kb/s ou encore par paquet sur le canal D).

H.323 a été un protocole pionnier de la téléphonie sur IP, émanant des instances du monde des télécommunications (UIT ou ITU). SIP, de conception un peu plus récente, vient du monde de l'Internet (IETF) et s'intègre sans doute un peu mieux dans les réseaux IP.

Les éditeurs, fournisseurs de services et opérateurs mettant du temps à offrir logiciels et services autour de H323 et SIP, la firme Skype s'est imposée avec plusieurs millions d'utilisateurs en proposant le logiciel client, le service et la passerelle vers les réseaux publics entrants et sortants, mais toute cette technologie est fermée et donc non accessible aux développeurs du monde libre.

Actuellement, pour combler les faiblesses en matière de présence et de réseaux (NAT) du protocole SIP, des éditeurs et fournisseurs de services planchent sur l'intégration de SIP avec Jabber, protocole fiable, standard, ouvert et éprouvé de présence et de messagerie instantanée.

Fonctionnement

Bases

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.

User Agent

Les User Agents sont les agents clients que l'on retrouve dans les téléphones SIP, les softphones (logiciels de téléphonie sur IP) des ordinateurs et PDA ou les passerelles SIP. En théorie, on peut établir des sessions directement entre deux User Agents, deux téléphones par exemple. Mais cela nécessite de connaître l'adresse IP du destinataire. Cela n'est pas l'idéal car une adresse IP peut ne pas être publique (derrière un NAT) ou changer et elle est bien plus compliquée à retenir qu'une URI (Uniform Resource Identifier). Les User Agents peuvent donc s'enregistrer auprès de Registrars pour signaler leur emplacement courant, c’est-à-dire leur adresse IP.

Registrar

SIP User Agent inscription registraire SIP avec l'authentification par login

Le Registrar est un serveur qui gère les requêtes REGISTER envoyées par les Users Agents pour signaler leur emplacement courant. Ces requêtes contiennent donc une adresse IP, associée à une URI, qui seront stockées dans une base de données.

Les URI SIP sont très similaires dans leur forme à des adresses email : sip:utilisateur@domaine.com

Généralement, des mécanismes d'authentification permettent d'éviter que quiconque puisse s'enregistrer avec n'importe quelle URI.

Proxy

Flux appel par Redirect Server et proxy

Un proxy SIP sert d'intermédiaire entre deux User Agents qui ne connaissent pas leurs emplacements respectifs (adresse IP). En effet, l'association URI / Adresse IP a été stockée préalablement dans une base de données par un Registrar. Le proxy peut donc interroger cette base de données pour diriger les messages vers le destinataire.

Le proxy se contente de relayer uniquement les messages SIP pour établir, contrôler et terminer la session. Une fois la session établie, les données, par exemple un flux RTP pour la VoIP, ne transitent pas par le serveur proxy. Elles sont échangées directement entre les User Agents.

B2BUA

Etablissement d'une connexion avec le B2BUA

Un back-to-back user agent (B2BUA ou user agent "dos à dos") est au premier abord similaire à un serveur proxy SIP dans la mesure où il sert d’intermédiaire entre deux user agents. La différence principale est que le B2BUA ne se contente pas de relayer les message SIP, il "coupe" la signalisation de la communication à établir en deux échanges distincts et il en assure la gestion complète (établissement, contrôle et terminaison) de façon totalement indépendante. Ainsi, il agit comme un user agent "server" côté appelant et procède à un appel comme user agent "client" côté appelé. Chaque côté du B2BUA se comporte comme un élément SIP au sens de la RFC 3261. Comme tous les éléments de chaque appel transitent à travers le B2BUA, les fournisseurs de service peuvent implémenter des fonctionnalités supplémentaires disponibles pendant les appels.

Un serveur B2BUA peut ainsi fournir des fonctions :

  • de gestions des appels (facturation, transfert d'appel, dĂ©connexion d'appel automatique ...)
  • couplage de rĂ©seau (adaptation de protocole, de codecs ...)
  • de masquage de rĂ©seau (adresses privĂ©es, topologie du rĂ©seau ...)

Très souvent, la fonction B2BUA est intégrée à la passerelle média pour contrôler également les flux de médias de la session.

Session border controller (SBC)

Les contrôleurs de session frontalière (SBC) servent de boîtes intermédiaires entre les agents utilisateurs et les serveurs SIP pour divers types de fonctions, notamment la dissimulation de la topologie du réseau et l'assistance à la traversée NAT. Les SBC sont une solution indépendante et ne sont pas mentionnés dans le RFC SIP.

Caractéristiques induites du SIP

On trouve dans les argumentations pour ou contre le SIP les éléments suivants :

  • Ouvert : les protocoles et documents officiels sont dĂ©taillĂ©s et accessibles Ă  tous en tĂ©lĂ©chargement ;
  • Standard : l'IETF a normalisĂ© le protocole et son Ă©volution continue par la crĂ©ation ou l'Ă©volution d'autres protocoles qui fonctionnent avec SIP ;
  • BasĂ© sur l'adresse IP : cela induit que le SIP ne traverse pas les NAT (mais cela peut ĂŞtre rĂ©solu en dĂ©ployant des mĂ©canismes client-serveur supplĂ©mentaires comme STUN ou en couplant SIP avec Jabber) ;
  • IntĂ©gration logique Ă  d'autres standards : l'intĂ©gration Ă  Jabber permet par exemple de contourner les problèmes liĂ©s Ă  l'adressage IP ;
  • Très similaire Ă  HTTP ;
  • Compatible P2P : sur un rĂ©seau local, SIP fonctionne complètement en P2P (encore plus facilement avec l'intĂ©gration de Zeroconf), ce n'est pas le cas pour l'Ă©tablissement de sessions entre deux pairs sĂ©parĂ©s par un NAT ;
  • Flexible : SIP est Ă©galement utilisĂ© pour tout type de session multimĂ©dia (voix, vidĂ©o, mais aussi musique, rĂ©alitĂ© virtuelle, etc.) ;
  • TĂ©lĂ©phonie sur rĂ©seaux publics : il existe de nombreuses passerelles (services payants) vers les rĂ©seaux publics de tĂ©lĂ©phonie (RTC, GSM, etc.) permettant d'Ă©mettre ou de recevoir des appels vocaux ;
  • Points communs avec H.323 : l'utilisation du protocole RTP et quelques codecs son et vidĂ©o sont en commun ;
  • Mauvaise implĂ©mentation : une mauvaise implĂ©mentation ou une implĂ©mentation incomplète du protocole SIP dans les User Agents peut perturber le fonctionnement ou gĂ©nĂ©rer du trafic superflu sur le rĂ©seau ;
  • Les incompatibilitĂ©s : H.323 (standard et ouvert) et Skype (propriĂ©taire) bĂ©nĂ©ficient de leur effet rĂ©seau respectif, bien que H.323 tende Ă  disparaĂ®tre au profit de SIP ;
  • PrĂ©sence et messagerie instantanĂ©e : SIP montre un certain nombre de faiblesses dans la gestion de la prĂ©sence et la messagerie instantanĂ©e, mais l'intĂ©gration du standard ouvert spĂ©cialisĂ© Jabber rĂ©sout la plupart de ces problèmes ;
  • /!\ ("Il est depuis 2007 le plus courant pour la tĂ©lĂ©phonie par internet") /!\ Faible nombre d'utilisateurs : SIP est encore peu connu et peu utilisĂ© par le grand public, n'ayant pas atteint une masse critique, il ne bĂ©nĂ©ficie pas de l'effet rĂ©seau ;
  • Non sĂ©curisĂ© : login et mot de passe transmis en clair (sans chiffrement).

Aspects du marché

Depuis 2003, le protocole SIP est adopté progressivement par tous les grands acteurs de l'industrie en tant que protocole de choix pour l'évolution des réseaux fixes (IMS) et mobiles :

Notes et références

  1. (en) « SIP: Session Initiation Protocol », Request for comments no 3261, .
  2. (en) « SIP: Session Initiation Protocol », Request for comments no 2543, .
  3. (en) « Session Initiation Protocol (SIP)-Specific Event Notification », Request for comments no 3265, .
  4. « Port 5061 (tcp/udp) », sur SpeedGuide (consulté le ).
  5. Téléphonie IP : Orange adopte le protocole SIP, - Ariase.com - article du 26 mars 2008.
  6. (en) , [MS-SIP]: Session Initiation Protocol Extensions.
  7. (en) 3GPP : GSM, UMTS and LTE network architecture, voir norme TS 23.002 (rel.8) 3gpp.org, décembre 2010
  8. La téléphonie sur IP via le LTE - Ce protocole s’appuie sur le SIP univ-poitiers.fr, le 12 avril 2013

Voir aussi

Articles connexes

Liens externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.