<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Installation</title><link href="style.css" rel="stylesheet" type="text/css" /><meta content="DocBook XSL Stylesheets Vsnapshot_6768" name="generator" /><link rel="start" href="index.html" title="Guide pratique de la voix sur IP (VoIP)" /><link rel="up" href="index.html" title="Guide pratique de la voix sur IP (VoIP)" /><link rel="prev" href="ar01s06.html" title="Configuration des cartes" /><link rel="next" href="ar01s08.html" title="Communications sur des lignes RTCP" /></head><body><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Installation</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="ar01s06.html">Précédent</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <a accesskey="n" href="ar01s08.html">Suivant</a></td></tr></table><hr /></div><div class="sect1" lang="fr"><div class="titlepage"><div><div><h2 class="title"><a id="N103BB" />Installation</h2></div></div></div><p>Dans ce chapitre, nous allons installer un système VoIP, d'abord simple, puis, de plus en plus complexe.</p><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="N103C0" />Communication simple : IP vers IP</h3></div></div></div><pre class="screen"> 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. </pre><p>A et B devraient avoir</p><p> <div class="orderedlist"><ol type="1"><li><p>une application comme Microsoft Netmeeting, Internet Switchboard, Openh323 (sous environnement Windows) ou Ohphone, Gnomemeeting (sous Linux), installée et correctement configurée. </p></li><li><p>une carte réseau ou autre type d'interface TCP/IP pour communiquer.</p></li></ol></div> </p><p>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</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="N103D6" />Utiliser des noms</h3></div></div></div><p>Sous Microsoft Windows, on peut utiliser un nom NetBIOS à la place d'une adresse IP.</p><pre class="screen"> A - - - B 192.168.1.1 - - - 192.168.1.2 John - - - Alice John appelle Alice. </pre><p>Ceci est possible car la requête d'appel de John à Alice a été convertie en appel IP par le protocole NetBIOS</p><p>Ces deux exemples sont très faciles à implémenter mais n'autorisent pas la montée en charge.</p><p>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.</p><p>Vous pouvez aussi utiliser DNS pour la résolution des noms en adresses IP. Il est possible, par exemple, d'appeler le correspondant nommé « <span class="quote">ordinateur.domaine.com</span> ».</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="N103E9" />Appels sur Internet avec un serveur WINS</h3></div></div></div><p>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</p><p>Les PC qui utilisent le même serveur WINS peuvent s'appeler directement</p><pre class="screen"> 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 </pre><p>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.</p><p>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 .</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="N103F7" />Serveur ILS</h3></div></div></div><p>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 !). </p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="N103FC" />Un gros problème : le masquerading.</h3></div></div></div><p>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 (« <span class="quote">vue</span> » sur Internet), les autres machines sont « <span class="quote">masquées</span> » par cette adresse IP.</p><pre class="screen"> A - - - B - - - Routeur NAT - - - Internet C - - - Ça ne fonctionne pas. </pre><p>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).</p><p>Solutions:</p><p> <div class="itemizedlist"><ul><li><p>Un module Linux particulier qui modifie les paquets h323 permet d'éviter ce problème. Vous pouvez le télécharger <a class="ulink" href="http://www.coritel.it/coritel/ip/sofia/nat/nat2/nat2.htm" target="_top"> ici</a>. Pour l'installer vous devez le copier dans le répertoire source spécifié, modifier le Makefile, le compiler et installer le module avec « <span class="quote">modprobe ip_masq_h323</span> ». Malheureusement ce module ne fonctionne pas actuellement avec ohphone (je ne sais pas pourquoi).</p></li></ul></div> </p><pre class="screen"> A - - - Routeur NAT B - - - + - - - Internet C - - - module ip_masq_h323 Ça fonctionne. </pre><p> <div class="itemizedlist"><ul><li><p> Il y a aussi une application qui résout ce problème. Voir <a class="xref" href="ar01s05.html#phonepatch">Phonepatch</a> </p></li></ul></div> </p><pre class="screen"> A - - - B - - - PhonePatch - - - Internet C - - - Ça fonctionne. </pre></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="N1042C" />Applications Open Source</h3></div></div></div><div class="sect3" lang="fr"><div class="titlepage"><div><div><h4 class="title"><a id="N1042F" />Syntaxe d'Ohphone</h4></div></div></div><p>La syntaxe est :</p><p>« <span class="quote">ohphone -l [options] ou ohphone --listen [options]</span> »</p><p>« <span class="quote">ohphone [options]... adresse</span> »</p><p> <div class="itemizedlist"><ul><li><p>« <span class="quote">-l</span> », écoute sur le port standard (1720)</p></li><li><p>« <span class="quote">adresse</span> », signifie que nous n'attendons pas d'appel, mais que nous nous connectons à la machine « <span class="quote">adresse</span> »</p></li><li><p>« <span class="quote">-n</span> », « <span class="quote">--no-gatekeeper</span> », convient en l'absence de portier</p></li><li><p>« <span class="quote">-q num</span> », « <span class="quote">--quicknet num</span> », utiliser la carte Quicknet, périphérique /dev/phone(num)</p></li><li><p>« <span class="quote">-s device</span> », « <span class="quote">--sound device</span> », utiliser le périphérique audio /dev/device.</p></li><li><p>« <span class="quote">-j délai</span> », « <span class="quote">--jitter délai</span> », passer le délai du tampon à la valeur « <span class="quote">délai</span> ».</p></li></ul></div> </p><p>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). </p></div><div class="sect3" lang="fr"><div class="titlepage"><div><div><h4 class="title"><a id="N1046F" />Gnomemeeting</h4></div></div></div><p>Gnomemeeting est une application avec interface utilisateur graphique permettant d'effectuer des appels VoIP. Son utilisation est très simple et elle fournit, entre autres, un serveur ILS, et un chat.</p></div></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="N10474" />Installer un portier</h3></div></div></div><p>Vous pouvez aussi faire l'essai d'un portier.</p><pre class="screen"> Exemple (Terminal H323) A - - - \ (Terminal H323) B - - - D (Portier) / (Terminal H323) C - - - Configuration du portier </pre><p> <div class="orderedlist"><ol type="1"><li><p>Les machines A, B et C sont configurées pour pointer sur le portier D.</p></li><li><p>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.</p></li><li><p>Quand un terminal demande, à D, l'accès à une machine, D répond en fournissant l'adresse IP, qui permet d'établir la communication.</p></li></ol></div> </p><p>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.</p><p>Vous pourrez trouver le code source d'un portier <a class="ulink" href="http://www.opengatekeeper.org" target="_top">ici</a> : la <a class="ulink" href="http://www.openh323.org/code.html" target="_top">librairie openh323 </a>est nécessaire.</p><p>Le programme peut être lancé avec les paramètres -d (démon) ou -x (execute).</p><p>Vous pouvez de plus utiliser un fichier de config (.ini) que vous trouverez <a class="ulink" href="http://www.opengatekeeper.org/opengate.ini" target="_top"> ici</a>.</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="N1049F" />Installer une passerelle</h3></div></div></div><p>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.</p><p>Sur le <a class="ulink" href="http://www.openh323.org" target="_top">site web OpenH323</a> nous téléchargeons :</p><p> <div class="orderedlist"><ol type="1"><li><p>le pilote de Linejack</p></li><li><p>l'application PSTNGw qui servira de passerelle.</p></li></ol></div> </p><p>Si l'exécutable ne fonctionne pas, il faut télécharger le code source et la <a class="ulink" href="http://www.openh323.org/code.html" target="_top">librairie openh323 </a>, puis installer le tout dans un répertoire personnel.</p><p>Il suffit ensuite de lancer PSTNGw pour démarrer la passerelle H323.</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="N104BE" />Matrice de compatibilité</h3></div></div></div><p>La première matrice concerne les :</p><p> <div class="orderedlist"><ol type="1"><li><p>Communications entre logiciels (ex: Netmeeting avec Switchboard)</p></li><li><p>Communication entre logiciels, pilotes et matériel (ex: Netmeeting peut utiliser une carte PhoneJack)</p></li></ol></div> </p><pre class="screen"> _______________________________________________________________________________________________ | | 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 _ _ |____________|_________|_________|_________|_________|_________|_________|__________|__________| </pre><p>La seconde matrice fait référence aux logiciels de passerelle qui gèrent la carte LineJack.</p><pre class="screen"> ___________________________________________________________ | |HW LineJACK GW| SwitchBoard | PSTNGW | |______________|______________|______________|______________| |HW LineJACK GW| _ | V | V | |______________|______________|______________|______________| | SwitchBoard | V | _ | _ | |______________|______________|______________|______________| | PSTNGW | V | _ | _ | |______________|______________|______________|______________| </pre><p>Notation:</p><p> <div class="itemizedlist"><ul><li><p>V : Fonctionne</p></li><li><p>X : Ne fonctionne pas</p></li><li><p>-- : Non significatif</p></li></ul></div> </p></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="ar01s06.html">Précédent</a> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <a accesskey="n" href="ar01s08.html">Suivant</a></td></tr><tr><td valign="top" align="left" width="40%">Configuration des cartes </td><td align="center" width="20%"><a accesskey="h" href="index.html">Sommaire</a></td><td valign="top" align="right" width="40%"> Communications sur des lignes RTCP</td></tr></table></div></body></html>