Mise en place d'un
serveur VoIP Asterisk
Sommaire
Introduction...3
1/Mise en place du serveur PABX...4
2/Configuration d'Asterisk et création des comptes utilisateurs...10
Création des utilisateurs...11
Configuration du Dialplan...14
3/Tests des appels...15
Test Client/Serveur...15
Test entre Clients SIP...16
Test avec un template...19
Conclusion...20
Introduction
Dans ce TP, nous allons mettre en place un serveur de VoIP (Voice Over IP – Voix sur IP) nommé Asterisk sur une plate-forme Linux Debian.
Le but étant que deux utilisateur (ou clients) puissent communiquer entre eux via à un logiciel de gestion des postes téléphonique sur IP locaux (dans notre cas X-Lite).
Asterisk étant un PABX (Private Automatic Branch eXchange- Autocommutateur Téléphonique Privé) permettant de gérer la téléphonie analogique et surtout la voix sur IP.
Qu'elle est l’intérêt d'utilisé un PABX ?
Est ce que la mise en place d'un utilitaire tel qu''Asterisk permet une rentabilité d'une entreprise ? Nous répondrons à ces deux problématique pendant la connaissance riche du TP.
1/Mise en place du serveur PABX
Tout d'abord on commence par vérifier si on a l'accès à internet avec la commande suivante :
à priori on peut joindre l'extérieur.
Ensuite, on va utiliser plusieurs série de commande avec apt-get pour mettre à jour les packages et le système, ainsi qu'installer les packages nécessaire au fonctionnement du serveur PABX (Asterisk) :
apt-get update apt-get upgrade
apt-get install build-essential libxml2-dev libncurses5-dev apt-get install linux-headers-$(uname -r)
apt-get install libsqlite3-dev uuid-dev libjansson*
Puis on va créer un répertoire asterisk dans son répertoire parent (src/) pour placer par la suite les sources d'Asterisk.
En parallèle, on se déplace avec la commande 'cd'' et en télécharge la dernière version d'Asterisk avec la commande ''wget'' :
Une fois télécharger, on renomme notre machine :
Et on associe le nom d'hôte choisis précédemment avec l'adresse IP local :
Puis on redémarre notre serveur !
Maintenant on va décompresser l'archive que l'on a télécharger :
on se déplace dans le répertoire qui a était décompresser, et on exécute la configuration avec l’exécuteur système ( ./ ) :
On exécute la syntaxe suivante pour faire apparaître un menu de configuration du serveur PABX :
# make menuselect
Attention à avoir le terminal en plein écran pour ne pas rencontrer un message d'erreur !
Le menu en question apparaît !
On commence par définir le bon format du son en français, donc on entre dans la l'option comme indiquer dans l'image ci-dessous :
Dans ce menu, on commence par sélectionner le bon format en question :
Ensuite dans ''Music On Hold File Package'', on sélectionne le package suivant :
Et enfin, on coche le dernier package à installer. Puis en quitte le menu complet avec un double Echap.
Pour sauvegarder on appuis sur la touche ''S'' du clavier pour valider nos changement et quitter :
Pour finir l'installation, on exécute les commandes suivantes :
#make
#make install
Après l'installation avec la syntaxe ''make install'', on remarque après le message suivant :
Que si l'on souhaite installer une configuration par défaut qui sera commenté.
Donc on exécute la configuration proposé puis on établie la configuration finale :
#make samples
#make config
Il ne faut pas oublier d'avoir toujours l'accès vers internet car si non lors de la finalisation de l'installation les packages de langue FR que l'on a sélectionné ne seront pas prit en compte !
On redémarre le serveur PABX :
On entre dans la configuration du serveur pour confirmer éventuellement le fonctionnement du service :
2/Configuration d'Asterisk et création des comptes utilisateurs
On est allé dans le répertoire « /etc/asterisk/ » afin de modifier certains fichier de configuration.
Ci-dessous un « gedit » du fichier « sip.conf » on a changé le « language » de « en »(english) à
« fr » (français).
Création des utilisateurs
Ci-dessous un « gedit » du fichier « users.conf », on a décommenté le « nat » et on a mis « yes » à la place de « no ».
On a crée dans le fichier « user.conf » encore une fois, deux utilisateurs (6001 et 6002).
Liste des commandes :
-type=friend → Type d'objet SIP, friend = utilisateur
-host=dynamic → Connexion à ce compte SIP à partir de n'importe quelle adresse IP -dtmfmode=rfc2833 → Type RFC – Requests For Comments – utilisé
-disallow=all → Désactivation de tous les codecs -allow=ulaw → Activation du codec ulaw
-fullname=Mathieu → Utilisateur (affiché sur le téléphone lors d'un appel) -username=lmathieu → Nom d'utilisateur
-secret=secret → Mot de passe du compte SIP
-context = work → Contexte (cf. fichier « extensions.conf »)
On a utilisé la commande « asterisk -cvvvvvr » pour accéder à la console d'asterisk. On y arrive bien, car il y a marqué « Connected to Asterisk…. » et notre prompt à changé. On a ensuite fait un reload afin que astérisk prenne en compte le rajout des utilisateurs.
On a utilisé la commande « sip show users » afin d'afficher tous les utilisateurs SIP.
On a édité le fichier « users.conf » afin d'ajouter une template.
Une fois la template ajoutée on a effectué un reload et on a afficher les utilisateurs SIP.
Configuration du Dialplan
On va configurer le Dialplan qui permet d'associer un numéro SIP avec un utilisateur.
Ci-dessous un « gedit » du fichier « extensions.conf», les commandes :
-[work] est le contexte : c'est une sorte de conteneur dans lequel les utilisateurs faisant partie de ce contexte pourrons communiquer entre eux. Lors de la création de nos deux utilisateurs nous avons spécifié le contexte work.
-exten => : déclare l'extension (on peut aussi simplement dire numéros) -_6XXX : prend les extensions (ou numéro) de 6000 à 6999.
- 1 : ordre de l'extension
-Dial : application qui va être utilisé -SIP : protocole qui va être utilisé
-${EXTEN} : variable de l'extension composé, si on appelle le 6001, la variable ${EXTEN}
prendra comme valeur 6001
-20 : temps d'attente avant de passer à l'étape suivante.
On a finalisé la création des utilisateurs en faisant un reload dans l'interface console d'Asterisk.
3/Tests des appels
On va réaliser plusieurs tests afin de valider le fonctionnement de notre serveur PABX.
Pour cela on va utiliser deux machines sur un environnement Windows dépendant du serveur.
Test Client/Serveur
On commence par tester la communication entre le serveur et une machine client.
Une des machines aura le compte Houssam avec une configuration faite dans le software X-lite, qui va lui permettre de joindre le serveur :
L'User ID est le même numéro SIP que dans le serveur !
Donc on commence par faire un teste entre client et son serveur, pour confirmer la communication entre eux, en saisissant son propre numéro SIP :
à gauche on a l'outil X-Lite sur Windows, et à droite le terminal de la machine serveur PABX (sur un serveur de virtualisation Esxi).
On constate que la communication est opérationnel !
Test entre Clients SIP
On reproduit presque les même configurations sur la second machine client :
Ensuite on appel l'autre machine client !
Donc sur la machine hébergeant le client Houssam, on constate que l'on a un appel du client Mathieu :
Et enfin on établie le teste contraire.
Donc à partir du client Houssam. On appel le client Mathieu :
Et ce dernier reçoit bien l'appel du client Houssam :
Test avec un template
Pour finaliser nos testes, on va appeler l’utilisateur ayant un compte créer à partir d'un template (fait précédemment).
On configure le compte SIP de l'utilisateur créer avec template sur une machine client sous Windows 7 :
Ensuite, le client Samuel appel Mathieu pour teste la communication :
On constate que le client Mathieu à bien reçut l’appel du client Samuel !
Conclusion
Le logiciel PABX est très utile dans une entreprise de par sa gratuité et sa configuration
relativement simple. Il permet une communication rapide et gratuite entre les employés, on peut utilisé des téléphones IP avec deux prises réseaux afin de connecter le téléphone à une prise murale, et de refaire partir un câble du téléphone à l'ordinateur, cela permet de limiter les prises réseau tout en gardant une qualité de débit sur les deux appareils.
Il a sa place dans un contexte professionnel car cela évite aux patrons de devoir payer un
abonnement téléphonique à ses employés, seul un téléphone IP est nécessaire (filaire ou sans fils).
Les flux téléphoniques peuvent être séparés sur le réseau par des VLANs afin de garder une qualité optimal au niveau internet et téléphonique.