• Aucun résultat trouvé

Le protocole SIP apparaît de plus en plus comme une brique fondamentale des réseaux convergents. Si d'autres protocoles issus des télécommunications, comme MGCP [AF03] ou H.323 [Uni99], existent sur le marché, ils semblent aujourd'hui complètement dépassés par la simplicité de SIP et l'ampleur de son déploiement.

2Le General Packet Radio Service ou GPRS est une norme pour la téléphonie mobile dérivée du GSM (Global System for Mobile Communications), permettant un débit de données plus élevé. Il est également appelé 2,5G.

3L'Universal Mobile Telecommunications System ou UMTS est l'une des technologies de téléphonie mobile de troisième génération (3G).

4.2.1 Les principes du protocole SIP

Standardisé par l'IETF4et adopté par l'ITU5, SIP [RSC+02] est un protocole pour la création, la modication et la terminaison de sessions avec un ou plusieurs participants.

Ces sessions incluent les appels téléphoniques sur Internet ou encore les conférences multimédia. SIP gère la totalité des phases d'une communication multimédia : la lo-calisation, l'analyse du prol des interlocuteurs, la négociation du média vis-à-vis des capacités des intervenants, l'établissement et la gestion de la session. En revanche, il ne se charge pas du transport des médias pendant la session ; il se limite à la signalisation.

Basé sur un modèle client-serveur, le protocole SIP partage de nombreuses simili-tudes avec le protocole HTTP6, comme le codage ASCII des messages ou encore les codes de réponse. Un environnement SIP est principalement constitué de trois types d'entités : le serveur d'enregistrement (registrar server), le serveur dit mandataire ou proxy (proxy server) et des agents utilisateurs (user agents). Le serveur d'enregistrement permet à un utilisateur de spécier sa localisation courante. Il ne gère que les requêtes d'enregistrement (méthode REGISTER du protocole SIP), envoyées par les clients pour signaler leur emplacement. Un proxy SIP sert d'intermédiaire entre deux entités SIP (client ou proxy) qui ne connaissent pas leur localisation respective (adresse IP). Il distribue les messages SIP à leurs destinataires en interrogeant le serveur d'enregistre-ment. Une plate-forme SIP est essentiellement constituée d'un serveur d'enregistrement et d'un proxy SIP an de gérer les diérents messages provenant ou à destination des utilisateurs d'un domaine donné. Des serveurs proxy additionnels peuvent être ajoutés à l'architecture. Enn, l'agent utilisateur représente un périphérique de l'utilisateur (lo-giciel ou matériel), c'est-à-dire un téléphone, un ordinateur ou un assistant personnel.

Il eectue les actions autorisées par le protocole SIP an d'établir, modier ou terminer une session multimédia. SIP supporte la mobilité des utilisateurs en fournissant à un utilisateur une adresse, appelée SIP URI (Uniform Resource Identier), qui peut être associée à plusieurs équipements de communication. Elle possède une forme similaire à celle d'une adresse de messagerie électronique, contenant un nom d'utilisateur et un nom d'hôte. La gure 4.1 résume sous une représentation simpliée l'architecture SIP décrite ici. Pour aller plus loin dans l'explication d'une plate-forme SIP, nous nous pro-posons, dans la section suivante, de présenter les principales étapes à réaliser lorsqu'un utilisateur désire passer un appel.

4.2.2 SIP par l'exemple

An d'illustrer la mise en relation entre deux interlocuteurs, nous allons nous pla-cer dans le cadre décrit par la gure 4.1, illustrant un appel téléphonique entre Bob et Alice. Pour passer un appel, un utilisateur, ici Bob, doit initier une session. Pour

4L'Internet Engineering Task Force ou IETF est un groupe informel, international et ouvert à tout individu, qui participe à l'élaboration de standards pour Internet.

5L'International Telecommunication Union ou ITU est une organisation internationale, chargée de la réglementation et de la planication des télécommunications dans le monde.

6Le HyperText Transfer Protocol ou HTTP est un protocole de communication client-serveur déve-loppé pour le Web.

Réseau

Agent utilisateur 138.96.64.22

Agent utilisateur 147.210.9.15

Serveur proxy labri.fr

Serveur proxy inria.fr

Serveur d’enregistrement labri.fr

Serveur d’enregistrement inria.fr Bob

sip:bob@inria.fr Alice sip:alice@labri.fr

Fig. 4.1 Architecture SIP

cela, il émet une requête incluant sa position actuelle et l'adresse de l'appelée, Alice (sip:alice@labri.fr). Cette requête (méthode INVITE du protocole SIP) demande au serveur d'établir une session entre Bob et Alice. De la même manière qu'un message de courrier électronique, la requête est routée par une succession de serveurs proxy, jusqu'à atteindre le serveur responsable du domaine de l'appelé (dans notre cas labri.fr). À ce niveau, ce dernier interroge le serveur d'enregistrement responsable d'Alice, an de la localiser, et lui envoie la requête sur son téléphone courant. À la réception du mes-sage, le téléphone d'Alice sonne. Si elle décroche, une réponse (de type OK) est renvoyée à Bob, incluant la localisation actuelle d'Alice. Après acquittement de la réception de la réponse par Bob (méthode ACK), la communication est établie. Si l'un des partici-pants décide de terminer la conversation, il raccroche le téléphone et une requête de terminaison d'appel (méthode BYE) est envoyée à l'autre participant.

L'une des forces des plates-formes SIP actuelles réside dans la possibilité d'étendre le comportement décrit ici, en programmant la logique de routage des appels. Cette programmation se fait par l'ajout de composants exécutables que sont les services SIP.

Ils permettent, par exemple, de ltrer des appels selon l'appelant, de modier la priorité de certains appels, ou encore de rediriger les communications.

4.2.3 Introduction aux services SIP

De nombreuses plates-formes de signalisation SIP permettent aux utilisateurs de dé-ployer des services au niveau d'un composant additionnel, appelé serveur d'applications.

Ces services agissent sur la logique de routage des appels et peuvent modier le com-portement de la plate-forme en fonction de ressources du réseau informatique comme les ressources Web, les bases de données ou les agendas. Une gamme si étendue de fonc-tionnalités permet à la téléphonie d'être personnalisée en fonction des préférences, des attentes et des souhaits des usagers, qui sont de plus en plus exigeants.

Nous illustrons la notion de service avec notre exemple. Supposons qu'un service soit activé pour Alice, autorisant seulement ses clients à la joindre pendant ses heures de tra-vail. Lorsqu'un appel de Bob est reçu par le proxy d'Alice, ce dernier invoque le serveur d'applications associé, qui exécute alors le service. Si l'adresse de Bob n'appartient pas à la liste des clients d'Alice, alors le service rejette l'appel, sans que le téléphone d'Alice ne sonne. Si Bob est un client, le service demande alors à la plate-forme SIP de contacter Alice. Si elle est déjà en communication, le service pourrait également rediriger l'appel sur sa boîte vocale.

An de spécier sa propre logique de routage d'appels au sein de la plate-forme, il existe de multiples interfaces de programmation permettant à un programmeur quel-conque d'accéder à un ensemble plus ou moins restreint de ressources. Cependant, une communication téléphonique est une application temps réel, ce qui impose de nom-breuses contraintes non présentes dans les applications traditionnelles telles que le trans-fert de chiers (FTP) ou le Web. La création de services ne peut donc se faire aux dépens de ces propriétés métiers du domaine de la téléphonie.