|
このページは大阪弁化フィルタによって翻訳生成されたんですわ。 |
Version?: 1.7.fr.1.0
3 mai 2007
| Historique des versions | ||
|---|---|---|
| Version 1.7.fr.1.0 | 2007-05-03 | JB, AB, JPG |
| Premi?re traduction fran?aise. | ||
| Version 1.7 | 2002-08-07 | RA |
| 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
Ce document explique les syst?mes de VoIP. Des ?v?nements r?cents, tels que la diffusion sur Internet ? faible co?t, l'int?gration r?cente de processeurs d?di?s de compression de voix, ont modifi? les exigences des utilisateurs ordinaires et ont rendu possible la diffusion des normes VoIP. Ce guide pratique essaie de d?finir certains ?l?ments de base de l'architecture VoIP.
Merci d'envoyer suggestions et critiques ? mon mon adresse ?lectronique
Copyright ? 2000, 2001 Roberto Arcomano. Ce document est libre ? vous pouvez le redistribuer et le modifier sous les termes de la licence GNU General Public License publi?e par la Free Software Foundation?; soit la version 2 de la Licence ou (selon votre choix) toute version ult?rieure. Ce document est distribu? dans l'espoir qu'il sera utile mais
SANS AUCUNE GARANTIE?; sans m?me les garanties implicites de COMMERCIALISATION et de CONFORMIT? ? UNE UTILISATION PARTICULI?RE. Voir la GNU General Public License pour plus de d?tails. Vous trouverez un exemplaire de la GNU GPL ici
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.
Si vous voulez traduire ce document vous ?tes libre, vous devez simplement?:
V?rifier qu'une autre version n'existe pas d?j? ? votre LDP local.
Conserver toute la partie ??Introduction?? (y compris ??Introduction??, ??Copyright??, ??Traductions?? et ??Remerciements??).
Attention?! Vous n'avez pas besoin de traduire les fichiers TXT ou HTML, vous devez modifier le fichier LYX, pour qu'il soit possible de le convertir dans tous les autres formats (TXT, HTML, RIFF, et c?tera)?: pour cela vous pouvez utiliser l'application ??LyX?? t?l?chargeable ? http://www.lyx.org.
Il n'est pas n?cessaire de me demander l'autorisation de traduire ?! Faites-le moi savoir (si vous le souhaitez) lorsque vous aurez fait une traduction.
Merci pour votre traduction?!
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.
Il y a plus de 30?ans, Internet n'existait pas. Les communications interactives se faisaient seulement par t?l?phone au prix de la ligne du RTCP (r?seau t?l?phonique commut? public).
Les ?changes de donn?es ?taient co?teux (pour les longues distances) et personne n'avait pens? ? des interactions vid?o (il n'y avait que la t?l?vision qui n'est pas interactive comme on le sait).
Il y a quelques ann?es nous avons vu appara?tre des choses int?ressantes?: les PC pour le grand public, les nouvelles technologies pour communiquer, comme les t?l?phones cellulaires et enfin le grand r?seau?: Internet. Les gens ont commenc? ? communiquer ? l'aide de nouveaux services comme le courrier ?lectronique, les discussions en ligne (chat), et c?tera, et le commerce, transform? par le web, a permis aux gens de faire des achats d'un simple ??clic??.
Aujourd'hui nous assistons ? une v?ritable r?volution du monde des communications?: tout le monde commence ? utiliser des PC et Internet au travail et pendant son temps libre pour communiquer avec les autres, pour ?changer des donn?es (images, sons, documents) et, parfois, pour se parler ? l'aide d'applications comme Netmeeting ou Internet Phone. Une nouvelle id?e, en particulier, commence ? se r?pandre, qui repr?sente peut-?tre l'avenir, et qui permet l'?change de communications vocales en temps r?el?: la voix sur IP (VoIP).
Nous ne pouvons pas conna?tre l'avenir, mais nous pouvons essayer de nous le repr?senter avec une multitude d'ordinateurs, l'Internet haut d?bit presque partout et des gens qui se parlent (en audio et en vid?o) en temps r?el. Pour cela, ils nous suffit de conna?tre les moyens d'y parvenir?: l'UMTS, la VoIP (avec extension vid?o) ou peut-?tre autre chose?. En tout cas, nous pouvons remarquer qu'Internet s'est beaucoup d?velopp? ces derni?res ann?es, qu'il est gratuit (au moins en tant que m?dia international) et qu'il pourrait bien ?tre le moyen de communication du futur.
VoIP signifie Voice over Internet Protocol ou Voix sur IP (IP = Protocole Internet). Comme son nom l'indique, la VoIP essaie de transmettre des sons (en particulier la voix) dans des paquets IP circulant sur Internet. La VoIP peut utiliser du mat?riel d'acc?l?ration pour r?aliser ce but et peut aussi ?tre utilis?e en environnement de PC.
De nombreuses ann?es en arri?re, nous avons d?couvert qu'il ?tait possible de transmettre un signal ? une destination ?loign?e sous forme de donn?es num?riques. Avant la transmission, il faut num?riser le signal ? l'aide d'un CAN (convertisseur analogique-num?rique). Le signal est ensuite transmis, et, pour ?tre utilisable, doit ?tre transform? ? nouveau, par le r?cepteur, en un signal analogique, ? l'aide d'un CNA (convertisseur num?rique-analogique).
La VoIP fonctionne ainsi, par num?risation de la voix et transmission dans des paquets de donn?es, puis par reconversion des paquets num?riques en voix ? l'arriv?e.
Le format num?rique est plus facile ? contr?ler?: on peut le compresser, le router, le convertir en un nouveau format meilleur, et ainsi de suite?; nous avons ?galement d?couvert que le signal num?rique est plus tol?rant au bruit que l'analogique (comparer GSM et TACS).
Les r?seaux TCP/IP sont des supports de circulation de paquets IP contenant un en-t?te (pour contr?ler la communication) et une charge utile pour transporter les donn?es?: la VoIP s'en sert pour traverser le r?seau et arriver ? destination.
Voix (source) - - CAN - - - - Internet - - - CNA - - Voix (dest)
Quand vous utilisez une ligne du RTCP, vous payez g?n?ralement le temps de communication ? la soci?t? qui g?re la ligne t?l?phonique?: plus vous passez de temps au t?l?phone et plus vous payez. De plus, vous ne pouvez parler qu'? une personne ? la fois.
La VoIP vous permet, au contraire, ? tout moment, de parler ? la personne que vous souhaitez (pourvu qu'elle soit connect?e ? Internet au m?me moment), aussi longtemps que vous le souhaitez (sans co?t suppl?mentaire), et de plus, vous pouvez parler ? plusieurs personnes en m?me temps.
Si vous n'?tes pas encore convaincu, consid?rez qu'il est possible, en simultan?, d'?changer des donn?es avec vos interlocuteurs, d'envoyer des images, des graphiques et des vid?os.
Malheureusement, il faut reconna?tre des probl?mes d'int?gration de l'architecture VoIP et d'Internet. Comme vous pouvez facilement l'imaginer, les communications de donn?es vocales n?cessitent une transmission en temps r?el (on n'admettrait pas de parler et d'attendre plusieurs secondes qu'arrive la r?ponse ? l'autre bout). Cette contrainte entre en contradiction avec l'architecture h?t?rog?ne d'Internet qui comprend de nombreux routeurs (?quipement d'aiguillage des paquets), un nombre typique est 20-30, voire plus, ce qui donne un temps d'aller-retour (RTT, round trip time) tr?s long. Il est donc n?cessaire d'effectuer des modifications pour que cela fonctionne.
Dans les sections ci-dessous nous allons essayer de comprendre comment il est possible de r?soudre ce probl?me majeur. En g?n?ral, nous savons qu'il est tr?s difficile de garantir une bande passante sur Internet pour les applications de VoIP.
Ci-dessous sont pr?sent?s des aspects importants qu'il faut conna?tre pour comprendre le fonctionnement de la VoIP.
L'?tablissement d'une connexion VoIP n?cessite?:
D'abord le CAN qui permet de convertir la voix analogique en signaux num?riques (bits).
Les bits doivent ?tre ensuite compress?s en un format adapt? ? la transmission?: il existe plusieurs protocoles que nous allons examiner ci-dessous.
Il faut ensuite transmettre les donn?es num?riques vocales dans des paquets de donn?es ? l'aide d'un protocole temps r?el (g?n?ralement RTP sur UDP sur IP).
Il est n?cessaire d'utiliser un protocole de signalisation pour appeler les usagers. ITU-T H323 le permet.
? la r?ception, il faut d?sassembler les paquets, extraire les donn?es, les convertir en signaux analogiques repr?sentant la voix, puis les transmettre ? une carte son (ou ? un t?l?phone).
Tout cela doit ?tre r?alis? en temps r?el, afin d'?viter une attente trop longue de la r?ponse vocale?! (voir la section QoS)
Architecture de base
Voix )) CAN - Algorithme de Compression - Assembler RTP dans TCP/IP -----
----> |
<---- |
Voix (( CNA - Algorithme de D?compression - D?sass. RTP de TCP/IP -----
Celle-ci est faite par le mat?riel, g?n?ralement une carte CAN int?gr?e.
Aujourd'hui, n'importe quelle carte son vous permet de convertir une bande de 22050 Hz en donn?es de 16 bits (l'?chantillonnage doit ?tre r?alis? ? une fr?quence de 44100 Hz en raison du principe de Nyquist), cela donne un d?bit de 2 octets * 44100 ?chantillons par seconde = 88200 octets/s soit 176,4 ko/s pour un flux st?r?o.
La VoIP ne n?cessite pas un tel d?bit pour la transmission des paquets de voix?: nous allons examiner ci-dessous les diff?rents codages qui seront utilis?s en pratique.
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
La bande passante de la voix est de 4?kHz, donc la fr?quence d'?chantillonnage doit ?tre de 8?kHz (Nyquist).
Nous repr?sentons chaque ?chantillon par 8?bits (ce qui donne 256 valeurs possibles).
Le d?bit est de 8000 Hz * 8?bits = 64?kbps, comme une ligne t?l?phonique typique.
Dans les applications r?elles, les variantes ? loi mu (Am?rique du Nord) et ? loi a (Europe) sont utilis?es pour encoder le signal analogique sur une ?chelle logarithmique en utilisant 12 ou 13?bits au lieu de 8 (voir la 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??:
V repr?sente la version utilis?e du protocole RTP
P indique la pr?sence d'un octet de bourrage (padding), ? la fin du paquet, pour obtenir un paquet de longueur paire
X indique la pr?sence d'une extension d'en-t?te
Le champ CC repr?sente le nombre d'identifiants CSRC qui suivent l'en-t?te fixe. Les champs CSRC servent, notamment, pour les conf?rences.
M est un bit marqueur.
PT est le type de charge utile (payload type).
Pour une description compl?te du protocole RTP et de toutes ses applications, voir les RFC 1889et 1890.
D'autres protocoles sont utilis?s en VoIP, comme RSVP, qui peut prendre en charge la Qualit? de Service (QoS, Quality of Service).
RSVP est un protocole avec signalisation, qui n?cessite une certaine bande passante et un d?lai ? chaque bond r?seau le prenant en charge.
Pour des informations d?taill?es sur RSVP, voir RFC 2205
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?:
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.
M?thodes de mise en file d'attente des paquets?:
FIFO (First In First Out, Premier Entr? Premier Sorti), la m?thode la plus stupide, qui fait passer les paquets dans leur ordre d'arriv?e.
WFQ (Weighted Fair Queuing, file d'attente ?quitable pond?r?e) consiste en un passage ?quitable des paquets (ainsi, FTP ne peut pas consommer la totalit? de la bande passante disponible) entre les diff?rents flux de donn?es, avec, en g?n?ral, un paquet pour UDP et un pour TCP, en alternance.
CQ (Custom Queuing, mise en file d'attente personnalis?e), les utilisateurs peuvent d?cider de la priorit?.
PQ (Priority Queuing, file d'attente avec priorit?), il existe plusieurs files (en g?n?ral quatre), chacune disposant d'un niveau de priorit?. Les paquets de la file la plus prioritaire sont envoy?s en premier puis (quand elle est vide), on passe ? la seconde, et ainsi de suite.
CB-WFQ (Class Based Weighted Fair Queuing - Mise en file d'attente par classes, pond?r?e et ?quitable), semblable ? WFQ, avec en plus une notion de classes (jusqu'? 64)? ? chaque classe est associ?e une valeur de bande passante.
La capacit? de mise en forme du trafic, qui permet de limiter la source ? une bande passante fixe en?:
t?l?chargement (download)
mise en ligne (upload)
Evitement de congestion (Congestion Avoidance), comme RED (Random Early Detection).
Pour des informations exhaustives sur la QoS, voir Differentiated Services ? l'IETF.
Le protocole H323 est utilis? par exemple par Microsoft NetMeeting pour faire des appels VoIP.
Ce protocole permet ? plusieurs ?l?ments de se parler?:
Des terminaux, clients qui initient une connexion VoIP. Bien que les terminaux puissent se parler sans l'aide d'un interm?diaire, nous avons besoin d'?l?ments additionnels dans la perspective d'une mont?e en charge.
Des portiers, qui r?alisent essentiellement?:
un service de traduction d'adresses, pour utiliser des noms ? la place des adresses IP
un contr?le des admissions, pour autoriser ou refuser certaines machines ou certains usagers
une gestion de la bande passante
Des passerelles, points de r?f?rence pour la conversion TCP/IP-RTCP.
Des Unit?s de Contr?le Multipoint (MCU, Multipoint Control Units), pour permettre les conf?rences.
Des serveurs proxies sont ?galement utilis?s.
Le protocole H323 concerne non seulement la VoIP mais aussi les communications de donn?es et de vid?o.
En ce qui concerne la VoIP, h323 peut utiliser les codecs audio G.711, G.722, G.723, G.728 et G.729 ; pour la vid?o il prend en charge h261 et h263.
On trouvera des informations compl?mentaires sur h323 sur les sites Web Openh323 Standards et h323 ainsi que dans le document de d?finition de la norme?: ITU H-series Recommendations.
On le trouve impl?ment? dans diff?rents logiciels comme Microsoft Netmeeting, Net2Phone, DialPad, ... et aussi dans des produits freeware qu'on peut trouver au site web Openh323.
Pour cr?er un petit syst?me VoIP vous avez besoin du mat?riel suivant?:
PC 386 ou sup?rieur
Carte son, compatible full duplex (duplex int?gral)
une carte r?seau, une connexion Internet ou tout autre type d'interface permettant la communication entre deux PC
Chacun de ces ?l?ments doit ?tre pr?sent en double exemplaire comme pour une v?ritable communication.
Les ?l?ments ci-dessus sont le minimum requis pour une connexion VoIP?: nous verrons plus loin quel est le mat?riel qui serait n?cessaire (et qui l'est pour Internet) pour assurer la m?me fonction en situation r?elle.
La carte son doit ?tre full duplex si on veut pouvoir parler et entendre en m?me temps?!
Il est possible par ailleurs d'utiliser des cartes (voir ci-dessous) qui g?rent un flux de donn?es en format compress? (voir § 4.3).
Il est possible d'utiliser des cartes sp?ciales dot?es de fonctions d'acc?l?ration mat?rielle. Cinq d'entre elles (les seules ? ?tre prises en charge actuellement par le noyau Linux) sont les suivantes?:
Quicknet PhoneJack
Quicknet LineJack
VoiceTronix V4PCI
VoiceTronix VPB4
VoiceTronix VPB8L
Quicknet PhoneJack est une carte son qui utilise des algorithmes standards pour compresser un flux audio comme G723.1 (section 4.3) jusqu'? un d?bit de 4,1?kbps.
Elle peut ?tre directement connect?e ? un t?l?phone (prise t?l?phone classique) ou ? un couple micro-haut-parleur.
Elle se connecte ? un bus ISA ou PCI.
La carte Quicknet LineJack fonctionne comme la carte PhoneJack avec des caract?ristiques en plus (voir ci-dessous).
La carte VoiceTronix V4PCI est une carte PCI comme la carte Quicknet LineJack mais avec 4 ports de type t?l?phone.
La carte VoiceTronix VPB4 est une carte ISA ?quivalente ? la carte V4PCI.
La carte VoiceTronix VPB8L est une carte ? journalisation ? 8 ports.
Pour obtenir des infos suppl?mentaires, consultez le site web de Quicknet et le site web de VoiceTronix
Les cartes Quicknet LineJack et VoiceTronix peuvent ?tre connect?es ? une ligne RTCP ce qui leur permet de fonctionner comme passerelle VoIP.
Un logiciel sp?cifique est n?cessaire pour cette utilisation (voir ci-dessous).
On peut choisir l'un de ces syst?mes d'exploitation?:
Win9x
Linux
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.
Vous pouvez choisir comme portier?:
Opengatekeeper, t?l?chargeable au site web d'opengatekeeperpour Linux et Win9x.
Openh323 Gatekeeper (GK) ici .
En compl?ment, voici un logiciel utile conformes ? h323?:
Phonepatch, pouvant fonctionner derri?re un pare-feu NAT. Il permet aux utilisateurs (aussi bien externes qu'internes) d'appeler, simplement, ? partir une page web. Quand l'application web voit que l'h?te distant est pr?t, elle appelle la source, en h323, pour l'informer que la communication peut ?tre ?tablie. Phonepatch est un logiciel propri?taire (avec une version de d?mo pour des conversations de moins de 3 minutes), que vous pouvez t?l?charger ici.
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?:
G.711 normal et ? loi mu/A, G.728-9, G.723.1 (TrueSpeech) et LPC10.
Connecteur pour t?l?phone (permettant d'appeler directement depuis un t?l?phone) ou
prises Jacks pour microphone et hauts-parleurs.
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?:
Le pilote de la carte
L'application Internet Switchboard (ne fonctionne qu'avec Internet, avec les nouvelles cartes Quicknet)
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?:
Taper un ast?risque, puis un num?ro IP (des ast?risques rempla?ant les points), et un # ? la fin
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.
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?:
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'.
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.
T?l?chargez d'abord le logiciel ici
D?compactez-le
Modifiez 'src/vpbreglinux.cpp' selon le fichier README
Tapez 'make'
Tapez 'make install'
Se placer dans le r?pertoire src (cd src)
Tapez 'insmod vpb.o'
Retrouvez (? partir de la console ou ? l'aide de la commande 'dmesg') le num?ro majeur, not? ci-dessous MAJEUR
tapez 'mknod /dev/vpb0 c MAJEUR 0' o? MAJEUR est le num?ro susmentionn?
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.
A (Carte son) - - - B (Carte son) 192.168.1.1 - - - 192.168.1.2 192.168.1.1 appelle 192.168.1.2 et vice-versa.
A et B devraient avoir
une application comme Microsoft Netmeeting, Internet Switchboard, Openh323 (sous environnement Windows) ou Ohphone, Gnomemeeting (sous Linux), install?e et correctement configur?e.
une carte r?seau ou autre type d'interface TCP/IP pour communiquer.
Dans ce cas de figure, A fait un appel H323 ? B (si B a une application serveur active) ? l'aide de l'adresse IP de B. Puis B peut r?pondre s'il le souhaite. Une fois l'appel accept?, les paquets de donn?es VoIP commencent ? circuler
Sous Microsoft Windows, on peut utiliser un nom NetBIOS ? la place d'une adresse IP.
A - - - B
192.168.1.1 - - - 192.168.1.2
John - - - Alice
John appelle Alice.
Ceci est possible car la requ?te d'appel de John ? Alice a ?t? convertie en appel IP par le protocole NetBIOS
Ces deux exemples sont tr?s faciles ? impl?menter mais n'autorisent pas la mont?e en charge.
Dans le cas d'un r?seau plus ?tendu, comme Internet, il est impossible d'utiliser l'appel direct, car, en g?n?ral, les appelants ne connaissent pas l'adresse IP du destinataire. De plus, la gestion des noms NetBIOS ne peut pas fonctionner car elle utilise des messages broadcast, qui ne passent pas au travers des routeurs des FAI, en g?n?ral.
Vous pouvez aussi utiliser DNS pour la r?solution des noms en adresses IP. Il est possible, par exemple, d'appeler le correspondant nomm? ??ordinateur.domaine.com??.
L'id?e d'appeler des noms NetBIOS peut aussi ?tre impl?ment?e en environnement Internet ? l'aide d'un serveur WINS. Il est possible de configurer les clients NetBIOS afin qu'ils utilisent un serveur WINS pour la r?solution des noms
Les PC qui utilisent le m?me serveur WINS peuvent s'appeler directement
A (serveur WINS S) - - - - - I - - - - B (serveur WINS S)
N
T
E - - - - - S (serveur Wins)
C (serveur WINS S) - - - - - R
N
E - - - - D (serveur WINS S)
T
Communication Internet
A, B, C et D sont dans des sous-r?seaux diff?rents, mais ils peuvent s'appeler ? la mani?re d'un appel de nom NetBIOS. Il faut que tous utilisent S comme serveur WINS.
Remarque?: les performances du serveur WINS sont r?duites car il utilise NetBIOS? on ne devrait l'utiliser que pour un nombre restreint de sous-r?seaux .
Les serveurs de type ILS permettent de r?soudre un nom lors d'un appel H323?: lorsque vous d?marrez une application VoIP, vous commencez par enregistrer un nom sur le serveur ILS. L'ensemble des utilisateurs pourront alors vous joindre ? l'aide de ce nom (s'ils poss?dent le m?me serveur ILS?!).
On peut rem?dier ? une p?nurie d'adresses IP par utilisation du masquage d'adresses (masquerading ou NAT, network address translation, traduction d'adresse r?seau)?: une seule adresse IP est publique (??vue?? sur Internet), les autres machines sont ??masqu?es?? par cette adresse IP.
A - - -
B - - - Routeur NAT - - - Internet
C - - -
?a ne fonctionne pas.
Dans l'exemple, A, B et C peuvent naviguer, pinguer, utiliser le mail et les news avec des gens sur Internet, mais ils NE PEUVENT PAS faire un appel de VoIP. En effet le protocole H323 envoie l'adresse IP au niveau applicatif, donc la r?ponse n'arrivera jamais ? la source (qui utilise une adresse IP priv?e).
Solutions:
Un module Linux particulier qui modifie les paquets h323 permet d'?viter ce probl?me. Vous pouvez le t?l?charger ici. Pour l'installer vous devez le copier dans le r?pertoire source sp?cifi?, modifier le Makefile, le compiler et installer le module avec ??modprobe ip_masq_h323??. Malheureusement ce module ne fonctionne pas actuellement avec ohphone (je ne sais pas pourquoi).
A - - - Routeur NAT
B - - - + - - - Internet
C - - - module ip_masq_h323
?a fonctionne.
Il y a aussi une application qui r?sout ce probl?me. Voir Phonepatch
A - - -
B - - - PhonePatch - - - Internet
C - - -
?a fonctionne.
La syntaxe est?:
??ohphone -l [options] ou ohphone --listen [options]??
??ohphone [options]... adresse??
??-l??, ?coute sur le port standard (1720)
??adresse??, signifie que nous n'attendons pas d'appel, mais que nous nous connectons ? la machine ??adresse??
??-n??, ??--no-gatekeeper??, convient en l'absence de portier
??-q num??, ??--quicknet num??, utiliser la carte Quicknet, p?riph?rique /dev/phone(num)
??-s device??, ??--sound device??, utiliser le p?riph?rique audio /dev/device.
??-j d?lai??, ??--jitter d?lai??, passer le d?lai du tampon ? la valeur ??d?lai??.
De plus, une fois ohphone lanc?, il est possible de passer directement des commandes ? l'aide de l'interpr?teur (par exemple, pour diminuer l'AEC, Automatic Echo Cancellation, annulation automatique d'?cho).
Vous pouvez aussi faire l'essai d'un portier.
Exemple
(Terminal H323) A - - -
\
(Terminal H323) B - - - D (Portier)
/
(Terminal H323) C - - -
Configuration du portier
Les machines A, B et C sont configur?es pour pointer sur le portier D.
Au d?marrage, chaque machine fournit, ? D, ses adresse et nom propres (des alias ?galement), qui pourront ?tre utilis?s, par un appelant, pour la contacter.
Quand un terminal demande, ? D, l'acc?s ? une machine, D r?pond en fournissant l'adresse IP, qui permet d'?tablir la communication.
Il faut noter que le Portier n'est capable que de r?soudre des noms en adresses IP?: il ne peut pas relier des machines injoignables entre-elles au niveau IP, autrement dit il ne peut pas fonctionner comme routeur NAT.
Vous pourrez trouver le code source d'un portier ici?: la librairie openh323 est n?cessaire.
Le programme peut ?tre lanc? avec les param?tres -d (d?mon) ou -x (execute).
Vous pouvez de plus utiliser un fichier de config (.ini) que vous trouverez ici.
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?:
le pilote de Linejack
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?:
Communications entre logiciels (ex: Netmeeting avec Switchboard)
Communication entre logiciels, pilotes et mat?riel (ex: Netmeeting peut utiliser une carte PhoneJack)
_______________________________________________________________________________________________ | | 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
La VoIP devient tr?s int?ressante quand vous commencez ? utiliser des lignes RTCP pour appeler d'autres gens dans le monde, directement sur leur t?l?phone ? domicile.
Une application typique serait?:
T?l?phone 1 -- (RTCP) -- PC1 -- (Internet) -- PC2 -- (RTCP) -- T?l?phone 2
Le t?l?phone 1 appelle le num?ro du PC1 (sur le RTCP, c?d la ligne t?l?phonique classique)
Le PC1 lui r?pond.
Le t?l?phone 1 doit indiquer au PC1 la passerelle ? utiliser (le PC2 dans ce cas) en fournissant l'adresse IP (? l'aide du clavier ? tonalit?s) et/ou le num?ro ? appeler (dans ce cas, celui du t?l?phone 2)
Le PC1 ?met ensuite un appel H323 au PC2, et lui transmet le num?ro du t?l?phone 2 afin qu'il appelle ce dernier ? l'aide du RTCP
Le t?l?phone 2 r?pond ? l'appel et la communication entre le t?l?phone 1 et le t?l?phone 2 commence.
Il est possible d'utiliser un autocommutateur priv? qui fournit plusieurs lignes d'acc?s ? la passerelle PC1 (l'une, par exemple, pour des appels internes ? l'?tat, l'une pour des appels vers l'Europe, et c?tera)?: en g?n?ral cette option est inutile, car le co?t est identique.
Il est possible de s?lectionner, apr?s appel de la passerelle PC1, le PC2 de votre choix, (par exemple un PC2 situ? en Angleterre si on appelle un Anglais) afin de ne payer que des communications nationales.
Votre d?cision d?pendra donc des co?ts des lignes RTCP. En fait, la VoIP fait la conversion de?:
T?l?phone 1 --- (RTCP) --- T?l?phone 2
Co?t d'un appel grande distance RTCP
en?:
T?l?phone 1 --- (RTCP) --- PC1 + PC2 ---- (RTCP) --- T?l?phone 2 = -------------------------------------- 2 co?ts d'appel RTCP courte distance
Pour r?aliser des ?conomies il est n?cessaire que?:
2 co?ts d'appel RTCP courte distance < co?t d'appel RTCP grande distance
G?n?ralement, un ??appel ? courte distance?? d?signe un ??appel local?? alors qu'un ??appel grande distance?? peut ?tre un ??appel intercontinental???!
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)