7 | Application |
---|---|
6 | Présentation |
5 | Session |
4 | Transport |
3 | Réseau |
2 | Liaison de données |
1 | Physique |
Modèle OSI |
Session Initiation Protocol (dont le sigle est SIP) est un protocole normalisé et standardisé par l'IETF (décrit par le RFC 3261 qui rend obsolète le RFC 2543, et complété par le RFC 3265) 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 H323.
SIP est le standard ouvert de VoIP (Voice Over IP, voix sur IP) interopérable le plus étendu et vise à devenir LE standard des télécommunications multimédia (son, image, etc.). Skype par exemple, qui utilise un format propriétaire, ne permet pas l'interopérabilité avec un autre réseau de voix sur IP et ne fournit que des passerelles payantes vers la téléphonie standard. SIP n'est donc pas seulement destiné à la VoIP mais pour de nombreuses autres applications telles que la visiophonie, la messagerie instantanée, la réalité virtuelle ou même les jeux vidéo.
À l'heure de la révolution de l'information par l'utilisation du réseau des réseaux, Internet, on assiste à la convergence de la téléphonie et de l'informatique (CTI).
Les RTC et RNIS (ISDN, " Numéris " étant le nom commercial donné par France Télécom, alors opérateur d'état) et par extension les téléphones de première et seconde génération (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.
H323 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 sur 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 a fait son trou avec plusieurs millions d'utilisateurs en proposant le logiciel client, le service et la passerelle vers les réseaux publics entrants et sortants.
Actuellement, pour combler les faiblesses en terme de présence et de réseaux (NAT) du protocole SIP, des éditeurs et fournisseurs de service planchent sur l'intégration de SIP avec Jabber, protocole fiable, standard, ouvert et éprouvé de présence et de messagerie instantanée.
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 :
Les codes de réponse sont similaires à HTTP.
Les codes supérieurs ou égaux à x80 sont spécifiques à SIP.
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.
Les User Agents désignent les agents 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. Les User Agents peuvent donc s'enregistrer auprès de Registrars pour signaler leur emplacement courant, c’est-à-dire leur adresse IP.
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:[email protected]
Généralement, des mécanismes d'authentification permettent d'éviter que quiconque puisse s'enregistrer avec n'importe quelle URI.
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.
Au delà des avantages et des inconvénients purement techniques, il convient de noter que SIP a maintenant été adopté par tous les grands acteurs de l'industrie en tant que protocole de choix pour l'évolution des réseaux. Tendance clairement établie à l'échelle mondiale depuis ~2003-2004.