このページは大阪弁化フィルタによって翻訳生成されたんですわ。

翻訳前ページへ


Guide pratique de la voix sur IP (VoIP)

Guide pratique de la voix sur IP (VoIP)

Version fran?aise du guide pratique VoIP Howto

J?r?me Blondel

Adaptation fran?aise?

Alain Boul?

Relecture de la version fran?aise?

Jean-Philippe Gu?rard

Pr?paration de la publication de la v.f.?

Version?: 1.7.fr.1.0

3 mai 2007

Historique des versions
Version 1.7.fr.1.02007-05-03JB, AB, JPG
Premi?re traduction fran?aise.
Version 1.72002-08-07RA
Version originale.

R?sum?

Gr?ce ? la transmission de la voix sur un r?seau IP (abr?g?e ??voix sur IP??), il est possible, pour un co?t quasi nul, d'utiliser Internet pour t?l?phoner. Ce guide pratique explique le fonctionnement de cette technique, et pr?sente les normes et syst?mes utilis?s.


Table des mati?res

1. Introduction
1.1. Introduction
1.2. Copyright
1.3. Nouvelles versions de ce document
1.4. Traductions
1.5. Remerciements
2. Contexte
2.1. Le pass?
2.2. Hier
2.3. Aujourd'hui
2.4. Le futur
3. G?n?ralit?s
3.1. Qu'est-ce que la VoIP??
3.2. Comment cela fonctionne-t-il??
3.3. Quel est l'avantage de la VoIP sur le RTCP??
3.4. Alors pourquoi tout le monde ne l'utilise pas d?j???
4. Infos techniques sur la VoIP
4.1. Description d'une connexion VoIP
4.2. Conversion Analogique-Num?rique
4.3. Algorithmes de compression
4.4. RTP?: Real Time Transport Protocol
4.5. RSVP
4.6. Qualit? de Service (QoS, Quality of Service)
4.7. Protocole de signalisation H323
5. Pr?requis
5.1. Pr?requis mat?riel
5.2. Cartes d'acc?l?ration mat?rielle
5.3. Cartes passerelles mat?rielles
5.4. Pr?requis logiciels
5.5. Logiciel de passerelle
5.6. Logiciel de portier
5.7. Autres logiciels
6. Configuration des cartes
6.1. Quicknet PhoneJack
6.2. Quicknet LineJack
6.3. Produits VoiceTronix
7. Installation
7.1. Communication simple?: IP vers IP
7.2. Utiliser des noms
7.3. Appels sur Internet avec un serveur WINS
7.4. Serveur ILS
7.5. Un gros probl?me?: le masquerading.
7.6. Applications Open Source
7.7. Installer un portier
7.8. Installer une passerelle
7.9. Matrice de compatibilit?
8. Communications sur des lignes RTCP
8.1. G?n?ralit?s
8.2. Sc?nario
8.3. Que peut-on changer dans cette configuration??
9. Consid?rations de bande passante
10. Glossaire
11. Liens utiles
11.1. Liens vers des logiciels open source
11.2. Liens commerciaux

La plus r?cente version fran?aise de ce guide pratique est disponible sur le site de l'association Traduc.org.

Le site http://www.bertolinux.com/ contient la plus r?cente version originale de ce document.

Merci ? Fatamorgana Computers pour le mat?riel et les opportunit?s d'exp?rimentation.

Merci au Linux Documentation Project pour la publication et la mise en ligne tr?s rapide de mon document.

Merci ? David Price pour son soutien.

Ci-dessous sont pr?sent?s des aspects importants qu'il faut conna?tre pour comprendre le fonctionnement de la VoIP.

Comme nous disposons maintenant de donn?es num?riques, nous pouvons les convertir dans un format standard qui permet une transmission rapide.

PCM, modulation par impulsion et codage (MIC), norme ITU-T G.711

ADPCM, modulation par impulsion et codage diff?rentiel adaptatif (MICDA), norme ITU-T G.726

Seule la diff?rence entre le paquet de voix actuel et le pr?c?dent est converti, ce qui n?cessite 32?kbps (Norme ITU-T G.726).

LD-CELP, norme ITU-T G.728
CS-ACELP, normes ITU-T G.729 et G.729a
MP-MLQ, norme ITU-T G.723.1, 6.3kbps, Truespeech
ACELP, norme ITU-T G.723.1, 5.3kbps, Truespeech
LPC-10, norme capable d'atteindre 2.5?kbps!!

Ces derniers protocoles sont les plus importants car ils peuvent garantir une bande minimale tr?s basse par un codage ? la source. De plus les codecs G.723.1 ont une note moyenne d'opinion tr?s ?lev? (utilis?e pour mesurer la fid?lit? de la voix), mais attention aux performances d'?laboration qu'ils n?cessitent?: jusqu'? 26?MIPS?!

Nous disposons maintenant des donn?es brutes, il faut les empaqueter en donn?es de protocole TCP/IP, en respectant le sch?ma suivant?:

paquets de donn?es VoIP
     RTP
     UDP
     IP  
   couches I, II

Les paquets de VoIP sont plac?s dans des paquets RTP (Real Time Transport Protocol) ? l'int?rieur de paquets UDP/IP.

On remarque, d'abord, que la VoIP n'utilise pas le protocole TCP, trop lourd pour les applications en temps r?el. On utilise, ? la place, les datagrammes du protocole UDP.

Ensuite, UDP ne garantit ni l'ordre d'arriv?e ? destination des paquets, ni leur temps de transfert (principe du datagramme). Ces deux propri?t?s sont tr?s importantes pour la qualit? g?n?rale de la voix (la bonne compr?hension des paroles de l'interlocuteur) et la qualit? de la conversation (la facilit? de son d?roulement). RTP r?sout le probl?me en permettant au destinataire de remettre les paquets dans l'ordre et en ?vitant une attente excessive des paquets ?gar?s en chemin ou trop longs ? parvenir (il n'est pas n?cessaire de recevoir chaque paquet, il faut par contre disposer d'un flux continu, en nombre suffisant, de paquets dans l'ordre).

             Real Time Transport Protocol
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|X|  CC   |M|     PT      |     num?ro de s?quence        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       empreinte temporelle                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   identifiant de la source de synchronization source (SSRC)   |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
|     identifiants des sources contribuantes (CSRC)             |
|                             ....                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

O??:

Pour une description compl?te du protocole RTP et de toutes ses applications, voir les RFC 1889et 1890.

Nous avons r?p?t? ? plusieurs reprises que les applications de VoIP n?cessitaient un flux de donn?es en temps r?el car le but est d'obtenir un ?change vocal interactif.

Malheureusement, TCP/IP ne permet pas d'atteindre cet d'objectif, il ne peut que faire ??au mieux??. Il va falloir utiliser des astuces et des strat?gies pour la gestion du flux des paquets dans CHACUN des routeur que nous allons traverser.

On peut ainsi utiliser?:

  1. Le champ TOS du protocol IP, qui indique le type de service?: une valeur ?lev?e signifie un degr? d'urgence faible, alors que des valeurs faibles signifient un degr? d'urgence important, compatible avec le temps r?el.

  2. M?thodes de mise en file d'attente des paquets?:

  3. La capacit? de mise en forme du trafic, qui permet de limiter la source ? une bande passante fixe en?:

  4. Evitement de congestion (Congestion Avoidance), comme RED (Random Early Detection).

Pour des informations exhaustives sur la QoS, voir Differentiated Services ? l'IETF.

On peut choisir l'un de ces syst?mes d'exploitation?:

Les logiciels pour Win9x sont, en particulier, Microsoft NetMeeting, Internet Phone, DialPad, et, pour les cartes Quicknet, Internet Switchboard (disponible sur le site web de Quicknet).

Attention?!! Les derni?res cartes Quicknet utilisant Switchboard (ancienne version aussi) DOIVENT ?tre connect?es ? Internet pour avoir acc?s ? un compte Microtelco (payant), aussi, si vous ne souhaitez pas ?tre connect? ? Internet vous devrez installer les logiciels OpenH323.

Pour les cartes VoiceTronix, vous trouverez des logiciels au site web de VoiceTronix

Sous Linux, nous avons les logiciels libres GnomeMeeting, clone de Microsoft Netmeeting, et en mode console nous utilisons les applications (?galement libres) du site web OpenH323: simph323 ou ohphone, qui fonctionnent aussi avec le mat?riel d'acc?l?ration de Quicknet.

Attention?: le code source complet d'Openh323 doit ?tre compil? dans un r?pertoire utilisateur (sinon il est n?cessaire de modifier certaines variables d'environnement). Notez que le temps de compilation peut ?tre tr?s long et qu'une quantit? importante de RAM est n?cessaire si on veut le r?duire ? une dur?e raisonnable.

La fonction de passerelle (qui assure la liaison entre les lignes TCP/IP, VoIP et RTCP) n?cessite un logiciel, tel que?:

  • Internet SwitchBoard (n?cessitant une connexion ? Internet) pour les syst?mes Windows, qui fonctionne aussi comme terminal h323.

  • PSTNGw pour les syst?mes Linux et Windows, ? t?l?charger sur OpenH323.

La configuration du mat?riel sp?cifique, en environnement Linux ou Windows, est pr?sent?e ci-dessous.

Comme nous l'avons d?ja vu, la carte Quicknet PhoneJack est une carte son ? fonction d'acc?l?ration sp?cifique ? la VoIP. Ses caract?ristiques sont les suivantes?:

La carte Quicknet PhoneJack est une carte ISA (ou PCI) ? installer dans le bo?tier du PC. Elle peut fonctionner sans IRQ.

Sous Windows vous devez installer?:

tous t?l?chargeables sur le site web de Quicknet

Une fois Switchboard install?, il faut s'enregistrer aupr?s de Quicknet pour b?n?ficier des pleines capacit?s de la carte.

Lorsque vous d?crochez le t?l?phone, Internet Switchboard se r?veille et attend que vous composiez un num?ro d'appel (directement ? partir du t?l?phone). Vous pouvez effectuer l'une des op?rations suivantes?:

  1. Taper un ast?risque, puis un num?ro IP (des ast?risques rempla?ant les points), et un # ? la fin

  2. Composer le num?ro d'appel (avec pr?fixe international) d'un abonn? du r?seau t?l?phonique classique. Dans ce cas, il est n?cessaire d'?tre abonn? ? un gestionnaire de passerelle qui vous facturera le temps de communication.

  3. Composer un code d'acc?s rapide (un ou deux chiffres), que vous aurez stock? au pr?alable, pour effectuer un appel de type IP ou RTCP.

Internet Switchboard est compatible avec h323, il est ainsi possible de correspondre, par exemple, avec Microsoft Netmeeting.

Attention?!! Internet Switchboard DOIT ?tre connect? ? Internet quand il est utilis? avec les nouvelles cartes Quicknet.

? la place d'Internet Switchboard, vous pouvez utiliser les applications openphone(avec interface utilisateur graphique) ou ohphone(ligne de commande) d'openh323.

Sous Linux vous devez installer?:

  1. Le pilote de carte, ? partir du site web de Quicknet . Une fois t?l?charg?s, vous devrez compiler les fichiers sources. (il faut disposer d'un lien symbolique ou physique vers le r?pertoire des sources de linux /usr/src/linux). Pour obtenir la marche ? suivre, tapez la commande 'make'.

  2. Une des applications openphone ou ohphone.

  3. Si vous ?tes d?veloppeur, vous pouvez utiliser le SDK pour cr?er votre propre application (valable aussi pour Windows).

Cette carte ressemble beaucoup ? la pr?c?dente, elle prend aussi en charge la fonction de passerelle.

Remarquons simplement qu'il faut t?l?charger l'application PSTNGx (pour Linux et Windows) ou utiliser Internet Switchboard pour utiliser la fonction de passerelle.

  1. T?l?chargez d'abord le logiciel ici

  2. D?compactez-le

  3. Modifiez 'src/vpbreglinux.cpp' selon le fichier README

  4. Tapez 'make'

  5. Tapez 'make install'

  6. Se placer dans le r?pertoire src (cd src)

  7. Tapez 'insmod vpb.o'

  8. Retrouvez (? partir de la console ou ? l'aide de la commande 'dmesg') le num?ro majeur, not? ci-dessous MAJEUR

  9. tapez 'mknod /dev/vpb0 c MAJEUR 0' o? MAJEUR est le num?ro susmentionn?

  10. se placer dans le r?pertoire unittest (cd unittest) et taper './echo'

Le fichier README contient des informations plus d?taill?es

Je n'ai pas test? personnellement les produits VoiceTronix. Contactez le site web de VoiceTronix pour tout support.

Dans ce chapitre, nous allons installer un syst?me VoIP, d'abord simple, puis, de plus en plus complexe.

Comme nous l'avons d?ja dit, une passerelle relie la VoIP aux lignes du r?seau t?l?phonique (RTCP) ce qui permet d'appeler un t?l?phone classique depuis Internet. Il faut donc, en plus, une carte capable de g?rer des lignes RTCP?: la carte Quicknet LineJack convient.

Sur le site web OpenH323 nous t?l?chargeons?:

  1. le pilote de Linejack

  2. l'application PSTNGw qui servira de passerelle.

Si l'ex?cutable ne fonctionne pas, il faut t?l?charger le code source et la librairie openh323 , puis installer le tout dans un r?pertoire personnel.

Il suffit ensuite de lancer PSTNGw pour d?marrer la passerelle H323.

La premi?re matrice concerne les?:

 _______________________________________________________________________________________________
|            | Net-    | Switch- |Simph323 | OhPhone | LinPhone| Speak-  |    HW    |    HW    |
|            | meeting | Board   |         |         |         | Freely  | PhoneJACK| LineJACK |
|____________|_________|_________|_________|_________|_________|_________|__________|__________|
| Netmeeting |    V         V         V         V         X         X         V          V
|____________|_________|_________|_________|_________|_________|_________|__________|__________|
|SwitchBoard |    V         V         V         V         X         X         V          V
|____________|_________|_________|_________|_________|_________|_________|__________|__________|
| Simph323   |    V         V         V         V         X         X         X          X
|____________|_________|_________|_________|_________|_________|_________|__________|__________|
| OhPhone    |    V         V         V         V         X         X         V          V
|____________|_________|_________|_________|_________|_________|_________|__________|__________|
| LinPhone   |    X         X         X         X         V         X         X          X
|____________|_________|_________|_________|_________|_________|_________|__________|__________|
|SpeakFreely |    X         X         X         X         X         V         X          X
|____________|_________|_________|_________|_________|_________|_________|__________|__________|
|HW PhoneJACK|    V         V         X         V         X         X         _          _
|____________|_________|_________|_________|_________|_________|_________|__________|__________|
|HW LineJACK |    V         V         X         V         X         X         _          _
|____________|_________|_________|_________|_________|_________|_________|__________|__________|

La seconde matrice fait r?f?rence aux logiciels de passerelle qui g?rent la carte LineJack.

___________________________________________________________
|              |HW LineJACK GW| SwitchBoard  |   PSTNGW     |
|______________|______________|______________|______________|
|HW LineJACK GW|      _       |       V      |       V      |
|______________|______________|______________|______________|
| SwitchBoard  |      V       |       _      |       _      |
|______________|______________|______________|______________|
|   PSTNGW     |      V       |       _      |       _      |
|______________|______________|______________|______________|

Notation:

  • V?: Fonctionne

  • X?: Ne fonctionne pas

  • --?: Non significatif

Dans ce qui a ?t? dit jusqu'? pr?sent le probl?me de bande passante n'a pas ?t? r?solu?: comment cr?er un flux de donn?es en temps r?el.

Nous savons qu'il n'existe pas de solution en l'absence d'un protocole de gestion temps r?el dans chaque routeur travers?. Qu'est-il possible de faire??

On peut commencer par utiliser des algorithmes de compression ? taux tr?s ?lev? (le plus ?lev? possible), comme l'algorithme LPC10 qui ne consomme que 2,5 kbps de bande passante, environ 313 octets/s.

On peut ensuite essayer de classer les paquets, ? l'aide du champ TOS, au niveau de priorit? maximum, afin que chaque routeur les traite en urgence

Remarque importante?: tout cela ne suffira pas ? garantir que la permanence conversation sera toujours de bonne qualit?, mais, en l'absence d'infrastructure importante qui assure, en particulier, la mise en forme du trafic et la r?servation de bande passante, cela n'est pas r?alisable : TCP/IP n'est pas un protocole temps r?el

Une solution pourrait ?tre d'utiliser, pour commencer, des petits r?seau WAN ? bande passante garantie et de les agrandir ?tape par ?tape.

Une remarque pour finir : les services suppos?s garantis, comme les lignes RTCP, ne peuvent pas non plus g?rer l'ensemble de leurs clients au m?me instant. Par exemple, un appel GSM ne peut pas absorber un nombre sup?rieur ? quelques centaines ou quelques milliers de clients

En tout cas, pour un service qui d?bute, limit? ? quelques utilisateurs, la VoIP peut ?tre une alternative valable au service RTCP classique.

RTCP?: R?seau T?l?phonique Commut? Public

VoIP?: Voice over Internet Protocol (Voix sur protocole Internet - Voix sur IP)

LAN?: Local Area Network (r?seau local)

WAN?: Wide Area Network (r?seau ?tendu)

TOS?: Type Of Service (type de service)

FAI?: Fournisseur d'Acc?s Internet

RTP?: Real Time Protocol (protocole temps r?el)

RSVP?: ReSerVation Protocol (protocole de r?servation)

QoS?: Quality of Service (qualit? de service)