Installation d'Astérisk sous Ubuntu 14.04

Publié le par Latyr Ndiaye

Asterisk est un IPBX (Internet Protocol - Private Branch eXchange = Server VOIP), faisant partie des leaders dans les solutions VoIP et développé par la société Digium. En effet c'est une solution de téléphonie sur IP, Open Source.

Il s’agit donc d’une solution gratuite, avec une communauté très active. Asterisk possède de nombreuses fonctionnalités dont :

  • Sale de conférences
  • Mise en attente des appels (avec musique d’attente)
  • Créer une file d’attente
  • Messagerie
  • Transférer des appels
  • IVR (standard automatique avec choix au clavier)
  • Parking d’appel..
  • Objectifs

L'objectif de cet article est de mettre en place un serveur de téléphonie SIP (Session Initiation Protocol) avec Astérisk.

  • Introduction

Asterisk est un projet démarré en 1999 par Mark Spencer. Son objectif était alors
de fournir à Linux un commutateur téléphonique complet et totalement libre.
Aujourd’hui Asterisk est un PABX (Private Automatic Branch eXchange) d’une rare puissance et souplesse, capable de gérer la téléphonie analogique, mais surtout, et c’est ce qui nous intéresse, la voix sur IP.
La VoIP sur Asterisk passe entre autre par la prise en charge d’un protocole
standard, ouvert et très largement utilisé, le SIP (Session Initiation Protocol).
SIP qui est un protocole très proche d’HTTP qui n’est pas limité à la seule voix mais qui prend aussi en charge la vidéo et la messagerie instantanée

  • Pré-requis

Les pré-requis pour installer Astérisk avec sources sont:

#apt-get install python-pip python-mysqldb build-essential autoconf libncurses5-dev aptitude subversion  git libspeex-dev  libgsm1  libsrtp0 uuid-dev libuuid1 libxml2 libxm

La commande précédente est à saisir sur votre terminal comme suit:

  • Installation

Pour l'installation de Astérisk avec les fichiers sources, il faut d'abord aller sur le site https://www.asterisk.org/  pour télécharger le fichier .tar.gz de la nouvelle version d'asterisk.

Ensuite désarchiver le fichier .tar.gz  dans le dossier de votre choix.

Déplacez-vous dans ce dossier pour passer à l'installation  comme le montre la figure suivante:

Sur cet capture, vous constatez que la version d'asterisk utilisée est la version 14.0.2

Puis aller dans le dossier asterisk désarchivé et lancer la commande ./bootstrap.sh, comme nous avons sur la figure suivante.

Aprés nous allons exécuté la commande ./configure, pour passer à la configuration des pâquets. S'il y a des pré-requis non satifaites, cette commande ne passera pas.

S’il n’y a pas d’erreur on voit le logo de asterisk à la fin comme indique l’image
suivante.

Aprés que cette commande passe, il ne reste qu'à agrandir votre terminal qui doit occuper tout l'écran de votre machine pour exécuter la commande make menuselect et vérifier la fonction chan_sip dans Channel Drivers si elle est activée et la fonction curl dans Dialplan Function si elle est aussi activée. Se sont les deux focntions qui nous interressent dans le cas de notre article, mais rien ne vous empêche d'activer d'autres fonctions. a

Aprés activation des fonctions, revenez pour tapper la commade make, pour passer à la compilation comme suit:

Ici aussi vous pouvez avoir des erreurs de dépendances non satisfaites dans se cas il faudra les installer pour que sa marche.

Il reste qu'à tapper la commande make install.

Pour une nouvelle installation, tapper la commande make samples et make config, pour placer les fichier de configuration dans leur dossier de configuration.

Il ne reste plus qu'à démarrer le serveur astérisk par la commande asterisk -rvvvvvvvvv comme le montre la figure suivante:

 

  • Installations des fichiers de son en Français

Nous allons passé à l'installation des fichiers de son en français.

Après l’installation, Asterisk ne parle que l’anglais mais on peut télécharger d’autres langues comme le français pour notre cas.
D’abord on crée un dossier fr dans /var/lib/asterisk/sounds et on se déplace dans ce fichier.

Ensuite télécharger les sons asterisk par ligne de commande en lançant les commande suivante
wget -O core.zip https://www.asterisksounds.org/fr-fr/download/asterisk-sounds-core-fr-FR-sln16.zip
wget -O extra.zip https://www.asterisksounds.org/fr-fr/download/asterisk-sounds-extra-fr-FR-sln16.zip

Après on lance les commande suivantes

Maintenant on donne tous les droits à l’utilisateur root sur ce fichier en avec les commandes suivantes

Après avoir téléchargé la langue on édite le fichier sip.conf qui est dans /etc/asterisk, dé-commenté ou ajouter la ligne language=fr
  • Création des comptes utilisateurs

La création de compte utilisateur se fait dans le fichier sip.conf comme l’illustre l’image ci-dessous.

[1000] signifie le numéro SIP
Type=friend signifie le type d’objet SIP, friend = utilisateur
Secret c’est le mot de passe du compte SIP
host=dynamic signifie qu’on peut e connecter à ce compte SIP à partir de
n’importe quelle adresse IP

username c’est le nom de l’utilisateur
context=ec2lt c’est le contexte. c’est une sorte de conteneur dans lequel les
utilisateurs faisant partis de ce contexte pourrons communiquer entre eux.

Une fois le fichier sip.conf enregistré, on peut allez dans la console Asterisk, tapez reload pour recharger le serveur asterisk et tapez la commande sip show users pour voir les utilisateurs qu’on vient de créer.

Il existe d’autres paramètres qu’on peut déclarer pour la création de comptes d’utilisateurs selon les fonctionnalités.

  • Configuration du plan de numérotation

Le plan de numérotation se configure dans le fichier  extensions.conf comme illustre l’image ci-dessous:

exten => : déclare l’extension (on peut aussi simplement dire numéros)
_1XXX : Prend les extensions (ou numéros) de 1000 à 1999
1 : Ordre de l’extension
Dial : application qui va être utilisé
SIP: Protocol qui va être utilisé
${EXTEN} : variable de l’extension composé, si on appelle le 1001 la variable
${EXTEN} prendra comme valeur 1001
20: temps d’attente avant de passer à l’étape suivante.
La seconde ligne : exten => _1XXX,2,Hangup() permet de raccrocher si il n’y a pas de réponses au bout des 20 secondes.

  • Test d’appel

Maintenant que nos deux utilisateurs sont créés et que nous avons configuré les extensions du context «ec2lt» nous allons pourvoir effectuer un appel entre ces deux utilisateurs.

On peut configurer nos comptes à partir de n’importe que client SIP
Sous Windows et MacOSX vous avez X-LITE ou MicroSip
Sous Linux vous avez Ekiga ou Zoiper
Sous Android vous avez CSipSimple
Dans nos tests nous allons utilisé Zoiper sur Ubuntu et sur un téléphone portable. La configuration de Zoiper se fait comme suit:

On met d’abord le numéro de l’utilisateur, le mot de passe définie dans sip.conf et l’adresse IP du serveur.
Dès l’instant qu’on se connecte sur le serveur on peut voir les utilisateurs connectés avec leurs adresses IP en allant sur la console d’asterisk et lancer la commande sip show peers.

Maintenant qu’on lance un appel d’un utilisateur vers un autre on peut voir le trafic qui se fait sur la console d’asterisk comme montre l’image ci-dessous:

 

Installation d'Astérisk sous Ubuntu 14.04
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article