![]() | Network Fundamentals |
MultimediaSession Initiation Protocol (SIP)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 techniqueSession 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 32611 qui rend obsolète le RFC 25432, et est complété par le RFC 32653) 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 50614.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. FonctionnementSIP 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 : 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 AgentLes 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
Proxy
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. back-to-back user agent (B2BUA)
Caractéristiques induites du SIPOn 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 :Orange, après une phase de tests en Bretagne, officialise l'utilisation de ce protocole en mars 20085 Retenu par tous les grands fournisseurs traditionnels d'autocommutateur téléphonique privé Retenu dans les architectures de voix sur réseau IP pour la convergence fixe mobile où les services de présence sont une exigence forte Retenu par la majorité des acteurs du marché de la visioconférence Retenu par Microsoft6 Utilisé dans le cœur des réseaux mobiles : UMTS, HSPA et LTE7 Utilisé pour l'établissement des appels vocaux « VoLTE » dans les terminaux et réseaux mobiles de 4e génération LTE8. ![]() Serveurs SIPLogiciels LibresAsterisk, logiciel de PABX qui supporte entre autres SIP, IAX, MGCP et H323.trixbox, distribution prêt à l'emploi, qui utilise Asterisk Elastix, distribution prêt à l'emploi, qui utilise Asterisk OpenSER (disponibles dans la majorité des distributions Linux), forké en OpenSIPS et Kamailio, contient une passerelle Jabber et gère l'authentification TLS, licence GPL OfficeSIPS, serveur SIP pour un usage professionnel. SIP Express Router (SER), licence GPL. GNU SIP Witch, serveur de voix sur IP en peer to peer utilisant une implémentation du protocole SIP comme solution de routage. FreeSWITCH, serveur SIP. SvSIP, un logiciel permettant de téléphoner avec SIP sur Nintendo DS, créé en 2007. XiVO, distribution prêt à l'emploi, qui utilise Asterisk développement dynamique par itération (SCRUM) nouvelle version tous les 15 jours. Wazo Platform, distribution prêt à l'emploi, qui utilise Asterisk et Kamailio: une plate‐forme Telecom programmable1. Logiciels propriétaires3CX Phone System. Serveur IPBX SIP sous Windows et LinuxCisco SIP Proxy Server (arrivé en fin de commercialisation le 31/05/2007 et en fin de vie le 31/05/2010 (EoS and EoL Announcement for the Cisco SIP Proxy Server) Eyeball SIP Proxy Server Sipleo (serveur PABX-IP & SIP Windows) PhonerLite, traduit dans 5 langues, avec une interface rudimentaire c'est le plus simple des clients SIP. Outre ses fonctions de VoIP, il intègre la gestion d'un annuaire au format CVS, l'envoi de SMS, ainsi que les statistiques de la connexion Microsoft Office Communications Server M2MSoft S5000, SIP Proxy Server et IPBX Linux ou Windows Thinkro System CallBox. Serveur IPBX SIP, plateforme de communications unifiées, conférences et réunions en ligne Axon de NCH software. Serveur IPBX SIP sous Windows Wildix sarl WGW series Unified communication platform up to 5000 users on a single server. Up to 65535 users on WMS network Clients SIPLogiciels libresEkiga, préalablement nommé GnomeMeeting (GNU/Linux et Windows), gère voix et vidéo. Licence GPL.KPhone, utilise les bibliothèques Qt. Licence GPL. Jami, anciennement SFLPhone puis Ring, client multi-plateformes, GPLv3. Jitsi, anciennement nommé SIP Communicator, en Java et sous licence LGPL. Gère aussi les protocoles Facebook, GoogleTalk, XMPP, Windows Live, Yahoo!, AIM et ICQ Linphone, voix et vidéo, utilise les bibliothèques GTK+. MicroSIP, voix, vidéo et texte, utilise la bibliothèque PJSIP. Licence GPL. QuteCom (précédemment WengoPhone) logiciel basé sur SIP et client de messagerie instantanée ; fonctionne sous Windows, Mac et Linux (licence GPL). SIPdroid, client Android, il permet de se connecter aux serveurs SIP, via Wi-Fi ainsi que 2G/3G2, GPLv3 SymPhonie, un client SIP pour Mac (beta). Licence GPL. Telephone, un client SIP pour macOS. GPLv3. Twinkle, logiciel SIP sous Linux (licence GPL). Logiciels propriétairesGizmo5 pour Windows XP, Windows 2000, macOS, Linux et Symbian OSZoiper, gratuit, pour Windows, macOS et Linux Fring, gratuit, dédié à l'iPhone, android, symbian et Windows Mobile Pangolin, édité par PortSIP, gratuit, il fonctionne sous Windows. Compatible avec la Freebox SJphone, édité par SJLabs, gratuit, il fonctionne sous Windows, Linux et MAC et l'iPhone. Compatible avec la Freebox SIPInside, un client SIP gratuit qui fonctionne sous Windows. Microsoft Office Communicator, pour Windows Hogunsoft Cont@ct Center, pour Windows, logiciel de gestion de la relation client intégré 3CXPhone pour Windows, Android et Iphone Express Talk, pour Windows et Mac 3 Zero Distance édité par Wildix sarl, visioconference pour Windows Linux Mac |