4.3. Le protocole IAX
Le protocole d'Echange Inter-Asterisk (Inter-Asterisk
eXchange, IAX) version 2 (IAX2) propose une alternative aux protocoles de
signalisation tels que SIP. IAX2 a été crée dans le cadre
du projet de PBX Open source Asterisk. Contrairement à SIP qui utilise 2
paires de flux (l'une pour la signalisation, l'autre pour la voix), IAX utilise
une seule paire de flux pour communiquer entre les extrémités de
la ligne (téléphone ou central téléphonique). La
signalisation comme les données (la conversation vocale) sont transmises
sur le même canal, par opposition à SIP qui utilise un second
canal (« out-of-band ») pour les flux de données
(RTP) transportant la voix.
De plus, IAX2 permet
à plusieurs appels d'être
rassemblés dans un seul ensemble de
paquets IP, puisque qu'un seul paquet peut transporter des
informations concernant plusieurs appels en cours.
Ce mécanisme se nomme « trunking ».
Avec IAX2, le « trunking » permet des économies de
bande passante. Le concept de « trunking » nous
l'expliquons comme ceci : imaginez que vous ayez à envoyer cinq
lettres à des destinataires vivant dans un autre pays. Vous pouvez
utiliser une enveloppe par lettre, ou inclure les cinq lettres dans une seule
enveloppe et inclure le nom du destinataire final en première ligne de
chacune des lettres. Le « trunking » opère de
façon similaire et permet d'envoyer plusieurs lettres (appels) dans une
seule enveloppe (paquet IP). En résumé, IAX2 présente les
caractéristiques suivantes :
Minimise la bande passante par appel
Réduit la consommation de bande passante pour un
ensemble d'appels (par l'utilisation du « trunking »).
En bref, la simplicité, la rapidité et la
légèreté d'utilisation, tout en étant très
complet, du protocole SIP sont autant d'arguments qui pourraient nous permettre
d'opter pour son choix. De plus, ses avancées en matière de
sécurité des messages sont un atout important par rapport
à ses concurrents.
SECTION 5 : LES
CODECS
Codec est une abréviation pour Codeur/Décodeur.
Un codec est basé sur un algorithme qui permet la compression des
données qu'on lui donne. Il s'agit d'un procédé permettant
de compresser et de décompresser un signal, de l'audio ou de la
vidéo, le plus souvent en temps réel, permet une
réduction de la taille du fichier original. Le codec numérise et
compresse la voix de l'émetteur, ainsi les données
numériques sont encapsulées dans des paquets IP et
acheminées vers le destinataire. A l'arrivés au destinataire, ce
dernier grâce au même codec décompresse et restitue le son.
Il On distingue des codecs à pertes et codecs sans pertes. Un codec
à pertes distingue les parties moins importantes des informations et les
supprime pour gagner en taille.
Une fois le signal numérisé et encodé, il
est prêt à être transmis. Le transport des données
peut se faire par l'intermédiaire de plusieurs protocoles dont notamment
RTP et RTCP, le contrôle du flux se faisant via les
autres protocoles nommés plus haut. Arrivé du coté du
récepteur, le signal est décodé en utilisant le même
codec et ensuite restitué.
L'objectif d'un codec est la transformation d'un signal
analogique vers un signal numérique et vice-versa. Ici, le codec
transforme donc le signal de la voix en données numériques
facilement transportables sur un réseau. Après de transport, le
même codec se charge de reconvertir le signal numérique vers un
signal analogique.
Il existe une différence majeure permettant de classer
les codecs existants dans deux catégories : les codecs sans pertes
(lossless) et les codecs avec pertes (lossy).
Dans un codec lossless, tout le signal est transformé
en binaire et le décodage restitue des données parfaitement
identiques à celles données en entrée. Ce type de codecs
est utilisé quand la qualité de la restitution est importante.
Dans un codec lossy, certaines parties du signal sont
écartées et supprimées. Dans l'exemple de la voix,
l'oreille humaine rencontre ses limites lorsqu'il s'agit d'écouter des
fréquences trop basses ou trop hautes. Les codecs avec pertes (aussi
appelés destructeurs) tirent parti de ce phénomène. Les
sons dans les fréquences hautes ou basses sont tronqués pour
diminuer la quantité d'information à transmettre. L'exploitation
des particularités de l'oreille humaine s'appelle la psycho acoustique.
- Qualité de la voix :
Dans la téléphonie sur IP, les différents
codecs retransmettent plus ou moins bien le signal original. Pour mesurer la
qualité de la voix restituée, on parle de score MOS (Mean Opinion
Score). C'est une note comprise entre 1 et 5 et attribuée par des
auditeurs jugeant de la qualité de ce qu'ils entendent. Pour la VoIP,
plusieurs codecs peuvent servir. Voici leurs détails :
G.711 : Ce codec est le premier à
avoir été utilisé dans la VoIP. Même si il existe
maintenant des codecs nettement plus intéressants, celui ci continue
d'être implémenté dans les équipements à des
fins de compatibilité entre marques d'équipements
différentes.
G.722 : A la différence du G.711,
ce codec transforme le spectre jusqu'à 7kHz ce qui restitue encore mieux
la voix. Les débits que ce codec fournit sont 48,56 ou 64kbit/s. Une des
particularités est de pouvoir immédiatement changer de
débit. Ceci est fortement appréciable lorsque la qualité
du support de transmission se dégrade.
G.722.1 : Dérivé du codec
précédent, celui ci propose des débits encore plus faibles
(32 ou 24kbit/s). Il existe même des versions propriétaires de ce
codec fournissant un débit de 16kbit/s.
G.723.1 : C'est le codec par
défaut lors des communications à faible débit. Deux modes
sont disponibles. Le premier propose un débit de 6,4kbit/s et le
deuxième un débit de 5,3kbit/s.
- Compression du silence :
Une des méthodes utilisées par les codecs pour
réduire la quantité de données à transmettre et de
détecter les silences. Dans une conversation téléphonique,
chaque locuteur ne parle que 1/3 du temps en moyenne. Ce qui fait que 1/3 du
temps d'une conversation est constitué de silence facilement
reproductible et donc non codé par le codec. Ce mécanisme
s'appelle VAD (Voice Activity Détection - DAV : Détection
d'activité de la voix).
- Génération de bruits de confort :
Pendant une conversation où les silences sont
effacés, l'absence de bruit chez le récepteur peut vite se
révéler inconfortable. Dans cette optique, les codecs disposent
d'un générateur de bruits de confort visant à simuler des
bruits de fond pour améliorer le confort des utilisateurs.
- Robustesse sur la perte de paquets :
Si les conditions de circulations sur le réseau se
dégradent, certains paquets contenant de l'information peuvent se
perdrent ou arriver trop tard. Ce problème est en partie compensé
par l'utilisation des buffers, mais la gigue peut être telle que le codec
soit obligé de retransmettre au récepteur un paquet, alors qu'il
n'est pas arrivé. Il existe plusieurs méthodes pour palier
à ce problème : Il est possible par exemple de simplement
répéter le contenu du dernier paquet pour combler le vide. On
peut aussi répartir l'information sur plusieurs paquets de façon
à introduire une redondance des données. En cas de pertes de
paquets, le codec dispose ainsi d'une copie du paquet à retransmettre.
|