Le concept de protocole de signalisation va être
utilisé dans les chapitres suivants, voici donc une petite explication
préliminaire : La signalisation désigne la
transmission d'un ensemble de signaux et d'informations de contrôle
échangés entre les intervenants d'une communication. Ces
intervenants peuvent être des entités en bout de liaison
(terminaux) ou des entités
23
Chapitre II: Généralités
sur la VoIP
intermédiaires de contrôle et de gestion de
communications. Leurs échanges permettent l'initiation, la
négociation, l'établissement, le maintien et la fermeture de la
connexion.
Il convient de distinguer deux types de transferts pour
comprendre à quoi correspond la signalisation:
- Le transfert de données brutes.
- Le transfert d'informations de contrôle.
Le transfert de données brutes concerne les
échanges de données binaires d'un poste vers un autre. L'objectif
de ce transfert est de reproduire à l'identique des données en
les faisant transiter par un réseau. Par exemple, deux correspondants
peuvent s'échanger un fichier audio MP3 ou des images
JPEG. De la même façon, si on considère
une conversation téléphonique en cours, les intervenants
produisent des sons qui doivent être recomposés et diffusés
chez leurs correspondants.
Dans tous les cas, seul l'envoi des données à
de l'importance, ce qui relève d'un transport d'informations.
Le transfert d'informations de contrôle concerne les
échanges de type protocolaires exécutant une action
prédéfinie, et donc nécessairement limitée en
possibilités. L'objectif de ce transfert est d'assurer la maitrise et la
gestion du flux.
Dans le cas typique d'une application de
téléphonie, lorsqu'une personne en appelle une autre, elle n'a
initialement pas de "données" à lui transmettre, mais
veut simplement être mise en relation avec son correspondant. Cette mise
en relation nécessite d'abord de localiser l'appelé, puis de
faire sonner son poste afin de lui signaler l'appel. Pour la localisation comme
pour l'avertissement d'appel, on parle de signalisation.
De la même manière, lorsque la sonnerie d'appel
retentit dans le terminal appelé, l'appelant en est immédiatement
informé par une tonalité particulière sur son terminal
téléphonique. Il s'agit là aussi d'une information de
signalisation.
Si un correspondant ne répond pas à un appel,
il est probable que sa messagerie téléphonique va s'enclencher.
Cette redirection d'appel du poste appelé vers sa messagerie est
également une information de signalisation. Elle ne
transporte aucune information de données brute, mais vise à
signaliser à l'appelant que l'appelé n'est pas disponible et que
sa messagerie est opérationnelle.
Ces deux catégories de transfert sont liées :
ce n'est que lorsque l'appelé a répondu à l'appel que
commence le transfert d'information brutes, c'est-à-dire le transport de
la voix, qui doit être fidèlement retransmise d'un correspondant
à l'autre. La signalisation n'est que l'étape
24
Chapitre II: Généralités
sur la VoIP
préalable qui a mis en place la connexion entre les
différents utilisateurs pour permettre la communication.
Dans le modèle OSI, la
signalisation téléphonique correspond à une
fonctionnalité de niveau 7 (applicatif). Elle n'est donc jamais
assurée par des entités réseau de routage pur, comme les
routeurs ou switchs, qui fonctionnent à des couches inférieures.
Des entités dédiées sont exploitées à ces
fins : il s'agit de serveurs au niveau du coeur du réseau et des
terminaux (téléphone, ordinateur ou PDA par exemple) en bordure
de réseau, au niveau de l'utilisateur. Pour être compris et
correctement interprété, de l'ensemble des entités
participant aux mécanismes de signalisation, celle-ci doit respecter une
syntaxe particulière. C'est tout l'objet de la spécification d'un
protocole de signalisation.
6.5.1. H.323
Le protocole H.323 figure parmi les plus
réputés des protocoles de signalisation pour la
téléphonie sur IP. 11.323 n'est en réalité que la
référence du protocole. Son nom complet est Packet-based
Multimedia Communications Systems. Comme son nom l'indique, il peut
être utilisé pour tous les réseaux à commutation de
paquets, en particulier IP. Ce protocole est spécifié pour le
traitement de la signalisation des données multimédia avec de
fortes contraintes temporelles, comme la voix ou la vidéo.
? Famille de protocole H.323
H.323 se dessine en trois grandes parties
(Figure I.6). En effet, pour établir une communication
audio ou vidéo sur IP, le signal doit être encodé en
utilisant des codecs normalisés définis dans la norme 11.323, qui
normalise aussi la signalisation à utiliser pour l'établissement
d'une communication. La voix ou la vidéo est transmise en utilisant le
protocole UDP, associé aux protocoles RTP et RTCP pour le transfert des
données en temps réel.
- Parmi les codecs possibles figurent G.711,
G.723 et G.729 pour les signaux audio, et 11.261 / 11.263 pour les signaux
vidéo.
- La signalisation pour
l'établissement des appels est mise en oeuvre à l'aide de trois
protocoles:
? H.225 RAS (Registration, Admission
and Status) : La signalisation RAS est
utilisée entre les Endpoints (Terminal) et le
Gatekeeper qui les contrôle. Le RAS permet donc au
Gatekeeper de contrôler les Endpoints
présents dans sa zone. Autrement dit la gestion du trafic entre le
client et le serveur de communication.
25
Chapitre II: Généralités
sur la VoIP
? H.225 Call signaling : Cette signalisation
permet d'établir et de libérer des connexions entre
Endpoints 11.323.
? H.245 : Lorsque l'appelé
décroche, le protocole H.245 permet l'établissement de canaux
RTP/RTCP permettant le transfert de données multimédia et le
contrôle de ce transfert.
- Les protocoles utilisés à
temps réel sur IP sont RTP et RTCP. RTP fournit un transport de bout en
bout sur un réseau pour les applications transmettant des données
en temps réel, telles que la voix ou la vidéo, en unicast et en
multicast. RTP ne se préoccupe pas de la réservation de
ressources et ne garantit pas la qualité de service des transferts de
données en temps réel. Le transport des données
bénéficie aussi du protocole de contrôle RTCP qui fournit
un contrôle minimal et des fonctions d'identification
particulièrement utiles dans le cas de réseaux multicast. RTP et
RTCP sont conçus pour être indépendants des réseaux
sous-jacents.
Pour le contrôle et la signalisation : H.225
/ H.245 / RTCP.
Pour la voix : G.711 / G.722 /
G.723/G.726 / G.728 / G.729.
Pour la vidéo : H.261/ H.263 /
H.263+ / H.264.
Pour les données : T.123 / T.124 /
T.125.
Figure II.15: Architecture client
11.323 [6]
26
Chapitre II: Généralités
sur la VoIP
6.5.2. SIP (Session Initiation Protocol)
Ce qui nous intéresse beaucoup, c'est ce protocole de
signalisation de vidéo et voix sur IP, le SIP (Session Initiation
Protocol) est un protocole développé par l'Internet Engineering
Task Force (IETF) permettant la négociation et l'établissement de
sessions VoIP. SIP est un protocole de couche 5 du modèle OSI, dite de
session. Il s'appuie généralement sur une couche de transport
UDP, bien qu'il soit possible d'augmenter sa fiabilité en l'appliquant
sur du TCP. Le port par défaut de SIP est le 5060. SIP ne traite que
l'établissement de session. Il ne transporte pas les données
échangées pendant la communication, ce rôle étant
joué par RTP (Real-time Transport Protocol). On distingue
différents acteurs dans le protocole SIP. (Figure
II.16)
? SDP, abréviation pour
(Session Description Protocol), est un format pour
décrire les paramètres d'initialisation des flux
média. SDP ne fournit pas le média en soi, mais
il négocie plutôt les points de terminaisons du format du
média en multidiffusion. Le Streaming media est le contenu qui peut
être visualisé ou entendu lors de la transmission. SDP est
conçu pour être extensible afin de supporter de nouveaux types de
média et formats. SDP a trouvé des usages avec le RTP et le SIP,
malgré son origine en tant que protocole d'annonce de session
SAP (Session Announcement Protocol)
[7].
Figure II.16 : L'encapsulation du
protocole SIP en comparaison avec H.323.
Dans la négociation et l'établissement de
session on trouve le User Agent, il peut s'agir d'un téléphone
IP, d'un téléphone analogique (RTC) relié à un
boîtier ATA (Analog Telephony
27
Chapitre II: Généralités
sur la VoIP
Adapter) ou encore d'un softphone. C'est l'équipement
manipulé par l'usager. Un élément fondamental est le
Registrar Server, Il établit la correspondance entre une adresse
à long terme (une URI ou un numéro de téléphone) et
une adresse à court terme, typiquement une adresse IP
[12].
Le dernier élément très important d'une
architecture SIP est le serveur proxy. Il relaye les messages des User Agent
à leur destination. Sa raison d'être est que les User Agent ne
peuvent pas toujours joindre directement les autres
périphériques, notamment les User Agent hors de leur
réseau.
Les messages utilisés par SIP sont volontairement
similaires à ceux utilisés par le HTTP. Ils sont codés en
ASCII et utilisent des codes proches de ceux du http (Figure
II.17).
Différents messages sont utilisés par SIP, les
plus importants étant les suivants :
· REGISTER : Le client envoie ce
message à son registrar pour s'enregistrer, c'est-à-dire pour
donner son URI et son adresse IP.
· INVITE : Ce message permet à
un client de demander l'établissement d'une nouvelle session. Il peut
être utilisé également en cours de communication pour
modifier la session.
· ACK : Le message ACK confirme
l'établissement d'une session SIP, suite à un
message INVITE.
· CANCEL : Ce message annule une
demande de session précédemment effectuée avec un
INVITE.
· BYE : termine une session en cours.
Contrairement au message CANCEL, la session
SIP doit être active pour pouvoir envoyer un message
BYE. Même si son comportement peut sembler similaire
à CANCEL, une différence fondamentale existe :
le message BYE représente un succès (la
communication a eu lieu et est désormais terminée) alors
que CANCEL est, du point de vue de l'usager, un échec :
l'appelé n'a pas répondu à temps, l'appelant a donc
raccroché, la session n'a donc pas abouti.
· Des codes de réponse : Des
codes à trois chiffres, similaires à ceux du HTTP, sont
envoyés en réponse à un précédent message.
Le premier chiffre détermine le type de réponse, les deux
suivants donnent une indication plus précise.
- Classe 1xx - Réponse temporaire :
la requête est en cours de traitement.
- Classe 2xx - Succès : l'action
demandée a été reçue, comprise et
acceptée.
28
Chapitre II: Généralités
sur la VoIP
- Classe 3xx - Redirection : une autre action
auprès d'un autre équipement est nécessaire.
- Classe 4xx - Erreur du client : la
requête est mal formée
- Classe 5xx - Erreur du serveur : le serveur
n'a pas réussi à répondre correctement à la
requête.
- Classe 6xx - Autre erreur, problème
global.
Figure II.17 : Procédure
d'établissement de session SIP [9]
? Les avantages SIP :
L'implémentation de la VoIP avec le
protocole de signalisation SIP (Session Initiation Protocol) fournit un service
efficace, rapide et simple d'utilisation. SIP est un protocole rapide et
léger.
Les utilisateurs s'adressent à ces serveurs Proxy pour
s'enregistrer ou demander l'établissement de communications. On peut
s'enregistrer sur le Proxy de son choix
29
Chapitre II: Généralités
sur la VoIP
indépendamment de sa situation géographique.
L'utilisateur n'est plus "attaché" à son autocommutateur. Une
entreprise avec plusieurs centaines d'implantations physiques
différentes n'a besoin que d'un serveur Proxy quelque part sur
l'Internet pour établir "son" réseau de
téléphonique "gratuit" sur internet un peu
à la manière de l'E-mail.
? Les inconvénients SIP :
L'une des conséquences de cette convergence est que le
trafic de voix et ses systèmes associés sont devenus aussi
vulnérables aux menaces de sécurité que n'importe quelle
autre donnée véhiculée par le réseau.
En effet SIP est un protocole
d'échange de messages basé sur HTTP. C'est pourquoi SIP est
très vulnérable face à des attaques de types DoS
(dénis de service), détournement d'appel, trafic de
taxation,... etc.
6.5.3. IAX (Inter Asterisk eXchange)
Protocole de signalisation de voix/ vidéo sur
IP. IAX (Inter Asterisk eXchange),
utilisé par Asterisk (Asterisk est un PABX (Private Automatic Branch
eXchange) et surtout un IPBX (Internet Protocole Branche eXchange)). Ce
protocole fonctionne sur le port 4569 en UDP et transporte à la fois les
données (voix) et la signalisation. L'intérêt principal de
ce protocole est d'être fait pour traverser le NAT (Network Address
Translation un routeur fait la traduction d'adresse réseau) et qu'il est
possible de créer des trunks IAX (appelés également Canaux
(définissant le nombre d'appels simultanés entre un
opérateur IP et un IPBX)), entre les serveurs dans lesquels les
communicationsRTP sont multiplexées ainsi on économise les
surcharges d'entêtes IP (Figure I.9).
Figure II.18 : Rôle du protocol
IAX [10]
30
Chapitre II: Généralités
sur la VoIP
L'avantage principal d'IAX est qu'il permet à
plusieurs appels d'être rassemblés dans un seul ensemble de
paquets IP, transportant des informations concernant plusieurs appels en cours.
Et ça réduit la consommation de bande passante pour un ensemble
d'appels (par l'utilisation du trunking).[8]