Un "protocole" en informatique est l'Ensemble des conventions qui déterminent le format et la synchronisation d’un message à échanger entre deux unités d’un réseau.
La révolution de l'information par l'usage du réseau Internet, a fait converger la téléphonie et 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) sont finis 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 fut un protocole pionnier de la téléphonie sur IP, émanant des instances du monde des télécommunications (UIT ou ITU).
SIP (Session Initiation Protocol) de conception plus récente, vient du monde de l'Internet (IETF) et s'intègre un peu mieux dans les réseaux IP.
Les éditeurs, fournisseurs de services et opérateurs étant longs à offrir logiciels et services autour de H323 et SIP, la firme Skype s'est imposée avec des millions d'utilisateurs en proposant le logiciel client, le service et la passerelle vers les réseaux publics entrants et sortants, mais cette technologie est fermée (non accessible aux dévelopeurs) .
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 32611 qui rend obsolète le RFC 25432, et est complété par le RFC 32653) conçu pour établir, modifier et terminer des sessions multimédia.
Il se charge de l'authentification et de la localisation des multiples participants, et aussi 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 50614.
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.
SIP diffère de HTTP : 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 prox
Les User Agents sont 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 (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
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 [archive]
Généralement, des mécanismes d'authentification permettent d'éviter que quiconque puisse s'enregistrer avec n'importe quel……
source wikipediasi
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 message