Retrouvez cet article dans : Linux Pratique 38
Mise en situation
L'objet de cet article est d'initier le lecteur à la mise en œuvre d'une petite architecture VoIP basée sur des Logiciels libres. Cette architecture est typiquement celle que l'on pourrait trouver dans une petite entreprise ou éventuellement chez un particulier (Fig. 1). Elle s'articule autour d'un petit réseau local, avec un serveur de téléphonie Asterisk et plusieurs postes clients Ekiga.
Côté serveur, le logiciel Asterisk dispose de nombreuses fonctionnalités dignes des meilleures solutions VoIP commerciales. De plus, il supporte pratiquement tous les protocoles VoIP standards (H323, SIP, MGCP...). Côté client, le logiciel de téléphonie Ekiga (successeur de GnomeMeeting) propose une interface graphique conviviale et instinctive. Il supporte les protocoles H323 et SIP. Les installations sont uniquement décrites dans le cas de distribution GNU/Linux Debian Testing. Les versions des logiciels utilisés sont Asterisk 1.2.10 et Ekiga 2.0.2. L'architecture VoIP proposée utilise exclusivement le protocole VoIP de signalisation SIP (Session Initiation Protocol) et les codecs audio G.711 loi µ. Les problématiques réseaux de qualité de service ne sont pas abordées.
Installation et configuration du serveur Asterisk
La première opération consiste à installer le logiciel Asterisk sur la machine serveur Debian :apt-get install asteriskPour vérifier le bon fonctionnement du serveur Asterisk, il est maintenant possible de l'exécuter en mode verbeux (option
asterisk -vvvvcUne invite de commande doit apparaître à la fin si tout se déroule correctement :
Asterisk Ready. *CLI>On peut alors rapidement voir l'ensemble des commandes disponibles via l'interface CLI (Command Line Interface).
Asterisk Ready. *CLI>helpLa configuration du serveur est réalisée à travers plusieurs fichiers textes qui se situent dans le répertoire
[ekiga1] ; nom du téléphone
type=friend ; type de téléphone
host=dynamic ; enregistrement dynamique de
l'adresse IP du téléphone
username=ekiga1 ; nom d'utilisateur associé
secret=toto ; mot de passe
[ekiga2] ; nom du téléphone
type=friend ; type de téléphone
host=dynamic ; enregistrement dynamique de
l'adresse IP du téléphone
username=ekiga2 ; nom d'utilisateur associé
secret=toto ; mot de passe
Il suffit maintenant d'attribuer un numéro de téléphone à chacun des deux téléphones que nous venons de déclarer. Le fichier exten => 555,1,Dial(SIP/ekiga1) ; 555 appelle le téléphone ekiga1 exten => 556,1,Dial(SIP/ekiga2) ; 556 appelle le téléphone ekiga2Voilà le serveur Asterisk est maintenant prêt à enregistrer les deux clients Ekiga qui disposent respectivement des numéros de ligne 555 et 556.
Installation et configuration des téléphones logiciels Ekiga
Paramétrage d’ALSA
Pour utiliser le téléphone logiciel Ekiga, il est préférable de se procurer un micro-casque. Il faut également s'assurer que le son du micro et celui du casque fonctionnent correctement avec le greffon ALSA (Advanced Linux Sound Architecture). Avant tout, il faut installer le système de base ALSA et ses utilitaires :apt-get install alsa-base apt-get install alsa-utilsIl est alors possible de lancer la détection de la carte son et l'installation du driver ALSA correspondant, via la commande
aplay fichier.wavEnsuite, lorsque le test du casque est positif, on peut tester le micro :
arecord > test.wav aplay test.wavIl faut généralement relancer plusieurs fois Alsamixer pour affiner empiriquement les niveaux sonores du micro et du casque jusqu'à avoir une qualité audio correcte.
Installation et configuration des clients Ekiga
Maintenant que l'on est assuré du bon fonctionnement du micro-casque, on peut installer le téléphone logiciel Ekiga sur la première des machines clientes Debian. Pour cela, il suffit de télécharger le paquet Debiancd Ekiga dpkg --install *.debNote : Pour la version de développement

Pour simplifier, nous allons forcer le choix du codec audio à G.711 loi µ : allez dans le menu Édition -> Préférences, puis Codecs audio. Ensuite, il suffit de décocher toutes les cases sauf PCMU. Maintenant, il suffit d'enregistrer le téléphone sur le serveur Asterisk : allez dans le menu Édition -> Comptes, puis cliquez sur le bouton Ajouter. Complétez les différents champs (Fig. 3) ; pour le champ Registrar indiquez l'adresse IP de votre serveur Asterisk. Puis, confirmez avec le bouton Valider. Ensuite, dans la fenêtre des comptes, cochez la case de la colonne A. L'état " Inscrit " doit apparaître dans la colonne État (À condition que le logiciel Asterisk soit démarré sur le serveur) (Fig. 4, page précédente).
Maintenant, le premier client Ekiga est configuré correctement, il est possible d'appeler un numéro d'accueil sur le serveur Asterisk en composant le 3. Un message de bienvenue est alors annoncé (" Welcome to the Asterisk Open Source PBX... "). Pour la configuration du second client Ekiga, la procédure est identique en remplaçant simplement le compte " ekiga1 " par " ekiga2 ". Une fois les deux clients correctement configurés, il est possible d'effectuer un appel interne du premier poste client Ekiga vers le second et vice-versa. Pour cela, il faut respectivement composer le 556 sur le premier poste ou le 555 sur le second.
Enregistrement chez un fournisseur SIP
L'architecture mise en place jusqu'à présent ne permet que d'effectuer des appels internes entre postes clients Ekiga. Pour pouvoir accéder au réseau téléphonique commuté, qui est toujours le standard de fait, une solution élégante est l'utilisation d'un fournisseur SIP. Ce dernier constitue une passerelle entre la téléphonie IP (plus exactement SIP) et le réseau de l'opérateur historique. La plupart des fournisseurs SIP fonctionnent suivant le principe du crédit temps : vous créditez un compte chez le fournisseur qui est débité en fonction des communications. Les tarifs de la minute dépendent de la destination de l'appel. Tous les fournisseurs SIP permettent les appels sortants vers le Réseau Téléphonique Commuté. Mais seulement certains proposent l'attribution d'un numéro pour les appels entrants. Le fournisseur d'accès internet Free propose un service de téléphonie SIP appelé " freephonie.net " pour les appels sortants et entrants. La configuration donnée pour ce fournisseur SIP peut facilement s'adapter à d'autres (voir les liens donnés plus bas).

Sur la page d'accueil de votre fournisseur d'accès Free, dans l'encadré " Gestion de mes services de téléphonie ", sélectionnez " Gestion de mon compte SIP ".
Il s'agit ensuite de configurer le service SIP en saisissant un mot de passe, en sélectionnant " Rediriger les appels entrants vers le SIP ", et en cochant " Activer le service " (Fig. 5). Il suffit ensuite de cliquer sur ENVOYER. A ce moment, le téléphone de la Freebox est désactivé et tous les appels transitent à travers la passerelle SIP.
Il faut alors paramétrer le serveur Asterisk pour qu'il s'enregistre auprès de son fournisseur SIP. Cela se fait en ajoutant la ligne suivante dans le fichier /etc/asterisk/sip.conf à la fin du contexte [general] juste avant le contexte [authentication] :
register => 0807060504:MotDePasse@freephonie.net
Puis, il faut déclarer le faisceau correspondant au fournisseur. Pour cela, il faut ajouter les lignes suivantes à la fin du fichier sip.conf :
[fournisseursip] type=friend ; type de lien correspondant insecure=very ; indispensable host=freephonie.net ; le fournisseur SIP username=0807060504     ; le nom d'utilisateur chez   le fournisseur SIP secret=MotDePasse ; le mot de passe chez   le fournisseur SIP fromuser=087060504 fromdomain=freephonie.net context=fournisseursip-entrant ; le contexte ou diriger les appels entrants
Enfin, il reste à affecter un préfixe qui permet de sélectionner le faisceau du fournisseur SIP. On peut, par exemple, définir le préfixe 0. Ainsi, tous les numéros débutant par 0 sont envoyés vers le réseau téléphonique commuté. Cette règle est à définir en ajoutant la ligne suivante à la fin du fichier extensions.conf :
exten=>_0.,1,Dial(SIP/${EXTEN:1}@fournisseursip)
Pour tester, il suffit de composer le 0, suivi d'un numéro de téléphone quelconque.
Dans l'autre sens, si vous appelez votre numéro freephonie depuis le réseau commuté, vous entendez le message d'accueil d'Asterisk. On peut diriger les appels entrants sur les deux postes clients Ekiga en ajoutant les lignes suivantes à la fin du fichier extensions.conf :
[fournisseursip-entrant] exten => s,1,Dial(SIP/ekiga1&SIP/ekiga2)Liens :
- Asterisk : http://www.asterisk.org
- Ekiga : http://www.ekiga.org
- Quelques fournisseurs SIP : http://www.sipdiscount.com, http://www.voipbuster.com, http://www.freecall.com





Donnez votre avis
Vous devez avoir ouvert une session pour écrire un commentaire.