SISR3 TP2 Mise en place d'un serveur VoIP Asterisk - Page 1 -
Sommaire Introduction... 2 Application 1... 3 Préparation de l'installation... 3 Installation... 3 Configuration d'asterisk et création des comptes utilisateurs... 6 Création des utilisateurs... 6 Configuration du Dialplan... 8 Passer son premier appel... 9 Conclusion :... 10 - Page 2 -
Introduction Au cours de ce TP, nous allons mettre en place un serveur de VoIP (Voice Over IP) nommé Asterisk basé sur une plate-forme Linux. Le serveur Asterisk étant une solution libre, propose autant de fonctionnalité que certaines solutions payantes : Gestion des téléphones IP locaux Boîtes vocales Transfert d'appel Mise en attente Etc... - Page 3 -
Application 1 Préparation de l'installation Nous allons commencer par mettre à jour la distribution et installer les dépendances nécessaires à la compilation du serveur : apt-get update apt-get upgrade apt-get install build-essential libxml12-dev libncurses5-dev linux-headers-'uname -r' libsqlite3-dev La commande uname -r permet de connaître le numéro du noyau de la machine. Il convient donc de taper cette commande au préalable afin de le connaître. Puis, on créer le dossier où vont être placer les sources d'asterisk - /usr/src mkdir /usr/src/asterisk cd /usr/src/asterisk Installation Ensuite, nous lançons le téléchargement la dernière version de Asterisk wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk- 10.0.0-rc1.tar.gz Après le téléchargement, on décompresse l'archive tar -xvzf asterisk-10.0.0-rc1.tar.gz Et on se rend dans le répertoire ainsi créé et compilé./configure make menuselect La commande menuselect permet de faire un apparaître un écran qui va permettre de personnaliser l'installation d'asterisk. - Page 4 -
Une fenêtre comme celle-ci apparaît. Tout d'abord, on entre dans Core Sound Package puis dans Extras Sound Packages et on remplace le package pré-sélectionné par «CORE- SOUNDS-FR-ULAW» : ce package contient une multitude de sonnerie de téléphone. - Page 5 -
Pour clore l'installation, nous utilisons les commandes suivantes : # make # make install # make samples # make config Il se peut que la commande «make» prenne du temps à s'effectuer. Il faut également penser à être connecté a internet car Asterisk va télécharger les packages de langue FR. Une fois l'installion terminée, nous pouvons lancer Asterisk. # /etc/init.d/asterisk start Nous vérifions par la suite, le bon fonctionnement du serveur en affichant la console d'asterisk avec cette commande : # asterisk -cvvvvvvvvvvr Nous voyons bien que le serveur est démarré et fonctionnel. - Page 6 -
Configuration d'asterisk et création des comptes utilisateurs Pour configurer notre serveur, il va falloir que l'on modifie les fichiers suivants : le fichier correspondant à la configuration générale d'asterisk : sip.conf le fichier correspondant à la configuration des utilisateurs : users.conf le fichier correspondant à la configuration du Dialplan : extensions.conf Nous commençons par éditer le fichier sip.conf pour mettre le sons par défaut en Français. Dans le fichier, nous recherchons une ligne «;language=en», nous remplaçons donc «en» par «fr» Il faut également penser à enlever le «;» devant «language». Lorsque nous effectuons une modification dans un fichier, il faut tout de suite après, effectué une commande «reload» pour charger les fichiers de configuration sans redémarrer le serveur Asterisk. Création des utilisateurs Nous nous rendons donc dans le fichier users.conf pour la création des utilisateurs. Une fois ouvert, nous ajoutons deux utilisateurs suivants les exemples du TP : - Page 7 -
Explications rapides des différents termes : [6002] Correspond au numéro SIP type=friend Le type d'objet SIP, Friend, = utilisateur host=dynamic Connexion à ce compte SIP à partir de n'importe quelle adresse IP dtmfmode = rfc2833 type de RFC Requests For Comments utilisé disallow = all Désactivation de tous les codecs µlaw fullname = Albert DUPONT Utilisateur (affiché sur le téléphone lors d'un appel) username = adupont Nom d'utilisateur secret = secret Mot de passe du compte SIP context = work Contexte Puis on retourne dans le dossier de configuration, à savoir : # /etc/asterisk Et on rentre dans le service avec cette commande : # asterisk -r Une fois entré, nous lançons une commande «reload». Après la commande, nous tapons la commande suivante pour vérifier que tous les utilisateurs sont bien ajoutés et pris en compte : # sip show users Nous voyons bien que nos deux utilisateurs (6001 et 6002) ont bien été créé et ajouté avec leur mot de passe, leur contexte, etc... - Page 8 -
Configuration du Dialplan Pour passer des appels, nous allons avoir besoin de configurer le fichier de configuration de Asterisk qui permet de savoir «Qu'est ce qui se passe si j'appelle ce numéro?». Nous allons commencer par configurer l'utilisateur 6001 pour qu'il puisse passer appelle à l'utilisateur 2 (6002). Pour se faire, nous ouvrons le fichier «extensions.conf». Une fois ouvert, nous nous rendons à la fin du fichier et nous ajoutons les deux lignes suivantes : [work] exten => _6001,1,Dial(SIP/${EXTEN},20) exten => _6001,2,Hangup() Explications rapides des différents termes : [work] il permet de définir dans quel contexte sont les utilisateurs. Les utilisateurs faisant partie du «conteneur» peuvent communique entre-eux. exten définit l'extension _6XXX définit le numéro de téléphone 1 ordre de l'extension Dial définit l'application qui va être utilisé SIP définit le protocole qui va être utilisé ${EXTEN} définit la variable de l'extension composé donc, si on appelle le 6001, la variable sera 6001. 20 définit le temps d'attente avant de passer à l'étape suivante - Page 9 -
Passer son premier appel Lorsque les deux utilisateurs sont créés et les extensions du contexte «work» configurées, nous téléchargons et installons le logiciel X-Lite. Il permet d'effectuer des appels en VoIP entre différents postes. Voici la configuration à suivre pour effectuer l'appel : - Page 10 -
Nous devons répéter cette opération sur un second poste en modifiant seulement les champs «Username» et «Authorization user name». Puis, on effectue l'appel du poste 6002 vers le poste 6001, par exemple : Conclusion : Tout au long de ce TP, nous avons appris à créer un serveur de VoIP à l'aide d'un serveur nommé Asterisk. Nous avons donc configurer celui-ci pour qu'il soit composé d'utilisateur, pour qu'ils puissent communiquer entre-eux grâce au logiciel X-Lite. - Page 11 -