Asterisk: Télécharger et Installer et configurer Asterisk sous Debianet Ubuntu - TRI INFO

Techniques des Réseaux Informatiques

Breaking

&width=339&height=255&colorscheme=light&show_faces=true&show_border=false&stream=false&header=false' style='border: none; overflow: hidden; background: #fff; width: 339px; height: 200px;'>
&width=339&height=255&colorscheme=light&show_faces=true&show_border=false&stream=false&header=false' style='border: none; overflow: hidden; background: #fff; width: 339px; height: 200px;'>

Tuesday, 30 April 2019

Asterisk: Télécharger et Installer et configurer Asterisk sous Debianet Ubuntu

Asterisk: Installer et configurer Asterisk sous Debian et Ubuntu



Dans ce tutoriel nous allons mettre en place un serveur de VOIP Asterisk sur un serveur linux Debian ou Ubuntu et passer un premier appel entre deux utilisateurs.

Image result for Asterisk

Qu’est-ce que Asterisk ?



Ceci n’est pas Asterisk
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.

D’un point de vue fonctionnalité, Asterisk permet tout ce que l’on peut attendre d’un PABX moderne:

La gestion des postes téléphonique sur IP locaux. Il peut s’agir de
téléphones physiques mais aussi logiciels (ou SoftPhone) comme Ekiga ou
X-lite.

Boîtes voales, transfert d’appel, mise en attente etc…

Nous allons déja voir dans ce tutoriel comment installer Asterisk et le configurer pour passer un premier appel entre deux utilisateurs.
















Installation d’ Asterisk

Il y a deux façons d’installer Asterisk sur une
distribution à base de Debian, la première via le gestionnaire de paquet
de Debian, la seconde en compilant directement la dernière version d’Asterisk.

Nous allons dans ce tutoriel installer Asterisk en compilant
ses sources pour pouvoir disposer de la dernèrere version d’Asterisk.


Préparation à l’installation

On commence par mettre à jour notre distribution et installer les dépendances nécéssaires à la compilation d’Asterisk.

apt-get update && apt-get upgrade
apt-get install build-essential libxml2-dev libncurses5-dev linux-headers-`uname -r` libsqlite3-dev uuid-dev libjansson-dev libssl-dev
Puis on créer un dossier ou nous allons placer les sources d’Asterisk dans /usr/src

mkdir /usr/src/asterisk
cd /usr/src/asterisk

Installation

On télécharge la dernière version d’Asterisk et on l’ installe (à l’écriture de ce tuto la dernière version d’Asterisk était la 10.7.0)

wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
tar xvzf asterisk-13-current.tar.gz
cd asterisk-13.3.2/
./configure
make menuselect
La commande make menuselect va faire apparaître un écran qui va vous permettre de personnaliser votre installation d’Asterisk.

Menu du make menuslect

Menu du make menuslect
Nous allons en profiter pour installer les sons français pour Asterisk au format µ-law.

Dans Core Sound Package nous allons cocher la case CORE-SOUNDS-FR-ULAW avec la touche Espace puis appuyez sur Echap pour retourner à l’écran précédent.

Puis dans Music On Hold File Packages cochez MOH-OPSOUND-ULAW (Dechochez celui en WAV), appuyez sur Echap et enfin allez dans dans Extras Sound Packages et cochez EXTRA-SOUNDS-FR-ULAW.

Enfin appuyez sur Echap et une fois à l’écran principal refaites Echap et appuyez sur S pour sauvegarder les changements.

Enfin tapez les commandes suivantes pour terminer l’installation:

make
make install
make samples
make config
Attention ! Pendant le make install assurez-vous que votre
serveur soit connecté à internet parce que celui ci va télécharger les
package de langue FR que nous avons selectionnés.


Après toutes ces commandes vous pouvez lancer Asterisk à l’aide de la commande suivante:

/etc/init.d/asterisk start
Vous pouvez vérifier le bon fonctionnement de votre serveur Asterisk
avec la commande suivante qui sert à afficher la console d’Asterisk

asterisk -cvvvvvvvvvvr
Si vous avez les lignes suivantes qui s’affichent:

Asterisk 13.3.2, Copyright (C) 1999 - 2014, Digium, Inc. and others.

Created by Mark Spencer

Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.

This is free software, with components licensed under the GNU General Public

License version 2 and other licenses; you are welcome to redistribute it under

certain conditions. Type 'core show license' for details.

=========================================================================

Connected to Asterisk 13.3.2 currently running on asterisk (pid = 24301)

asterisk*CLI>
C’est que votre serveur Asterisk est démarré et fonctionnel !

Configuration d’Asterisk et création des comptes utilisateurs

Pour configurer notre serveur Asterisk nous allons modifier les fichiers suivants:

Le fichier sip.conf : pour la configuration général d’Asterisk

Le fichier users.conf : pour la configuration des utilisateurs

Le fichier extensions.conf : pour la configuration du Dialplan

C’est fichiers se trouvent dans le dossier /etc/asterisk

Avant de commencer la configuration je recommande de vous
connecter en SSH à votre serveur Asterisk mais en ouvrant deux sessions
simultannées une pour la console Asterisk et une pour l’édition des
fichiers de configurations.


Sous Windows je vous recommande MobaXterm et sous Linux Terminator.

MobaXterm

MobaXterm
Nous allons commencer par éditer le fichier sip.conf qu va nous permettre pour l’instant de mettre les sons par défauts en Français.

Recherchez la ligne

;language=en
Et remplacez la par

language=fr
Pensez à enlever le « ; » devant la ligne !

A chaques fois que vous modifiez un fichier de conf il faut recharger ce fichier de configuration dans Asterisk.

Dans la console d’Asterisk il vous suffit de taper la commande : reload cete commande permet de recharger les fichiers de configurations d’Asterik sans redémarrer le serveur.

Création des utilsateurs

La création des utilisateurs se fait donc dans le fichier users.conf

Voici un exemple de fichier users.conf avec deux utilisateurs John DOE et Albert DUPONT avec comme numéros respectifs le 6001 et le 6002.

[general]
hasvoicemail = yes
hassip = yes
hasiax = yes
callwaiting = yes
threewaycalling = yes
callwaitingcallerid = yes
transfer = yes
canpark = yes
cancallforward = yes
callreturn = yes
callgroup = 1
pickupgroup = 1
nat = yes
[6001]
type=friend
host=dynamic
dtmfmode=rfc2833
disallow=all
allow=ulaw
fullname = John DOE
username = jdoe
secret=secret
context = work
[6002]
type=friend
host=dynamic
dtmfmode=rfc2833
disallow=all
allow=ulaw
fullname = Albert DUPONT
username = adupont
secret=secret
context = work
Je vais expliquer ce que veut dire chaque ligne lors de la création d’un utlisateur:

[6002] –> Numéro SIP

type=friend –> type d’objet SIP, friend = utilisateur

host=dynamic –> Vous pouvez vous connecter a ce compte SIP a partir de n’importe quelle adresse IP

dtmfmode=rfc2833 –> type de rfc utilisé

disallow=all –> Désactivation de tous les codecs

allow=ulaw –> Activation du codec µlaw

fullname = Albert DUPONT –> Prénom et NOM de l’utilisateur (ce qui sera afficher 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 (on verra ça dans le fichier extensions.conf)

Une fois le fichier users.conf enregistré allez dans la console Asterisk, tapez reload en enfin tapez la commande sip show users.

les deux comptes utilisateurs que nous venons de creer devrait y apparaitre.

Asterisk*CLI> sip show users
Username                   Secret           Accountcode      Def.Context      ACL  ForcerPort
6002                       secret                            work             No   Yes
6001                       secret                            work             No   Yes
Vous voyez que quand même créer un utlisateur est assez lourd, nous
pouvons aussi utiliser des templates pour pouvoir créer des utilisateurs
plus rapidement.

Reprenons le fichier users.conf avec les mêmes utilisateurs de créer mais cette fois-ci avec un template:

general]
hasvoicemail = yes
hassip = yes
hasiax = yes
callwaiting = yes
threewaycalling = yes
callwaitingcallerid = yes
transfer = yes
canpark = yes
cancallforward = yes
callreturn = yes
callgroup = 1
pickupgroup = 1
nat = yes
[template](!)
type=friend
host=dynamic
dtmfmode=rfc2833
disallow=all
allow=ulaw
context = work
[6001](template)
fullname = John DOE
username = jdoe
secret=secret
[6002](template)
fullname = Albert DUPONT
username = adupont
secret=secret
Dans ce nouveau fichier de configuration nous avons créer un template
appelé template et ce template est appelé pour la création des deux
utilisateurs.

Ce qui réduit la création d’un utilisateur à quatre lignes au lieu de dix.

Nos utilisateurs sont créer, mais ils n’ont pas encore la possibilité de s’appeller.

Nous allons maintenant éditer le fichier extensions.conf qui permet de configurer le Dialplan.

Configuration du Dialplan

Le Dialplan ou plan d’appel est le fichier de configuration d’Asterisk qui permet de configurer en gros:

« Que de passe-t’il si j’appelle tel numéros? »

Nous allons donc configurer Asterisk de tel sorte que l’utilisateur 6001 puisse appeler le numéros 6002.

Voici donc pour exemple mon fichier extensions.conf

Ce sont le trois dernières lignes qui vont nous intéresser.

[general]
static=yes
writeprotect=no
clearglobalvars=no
[globals]
CONSOLE=Console/dsp                             ; Console interface for demo
IAXINFO=guest                                   ; IAXtel username/password
TRUNK=DAHDI/G2                                  ; Trunk interface
TRUNKMSD=1                                      ; MSD digits to strip (usually 1 or 0)
[work]
exten => _6XXX,1,Dial(SIP/${EXTEN},20)
exten => _6XXX,2,Hangup()
Dans ces trois dernières lignes nous allons voir deux choses, les contextes et les extensions.

[work] est le contexte c’est une sorte de conteneur
dans lequel les utilisateurs faisant partis 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éros) de 6000 a 6999 le « _ » permet d’utiliser des regex

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 6001 la variable ${EXTEN} prendra comme valeur 6001

20: temps d’attente avant de passer a l’étape suivante.

Donc la ligne exten => _6XXX,1,Dial(SIP/${EXTEN},20) se traduit par:

Quand on compose le numéro (par exemple) 6001, on appelle le numéro 6001
et si au bout de 20 secondes il n’y a pas de réponses on passe à la
ligne du dessous.

Dans le cas du numéros 6001 la ligne devient comme ceci: exten => 6001,1,Dial(SIP/6001,20), mais l’avantage de la ligne précédente est qu’elle permet d’appeler les numéros de 6000 a 6999.

La seconde ligne : exten => _6XXX,2,Hangup() permet de raccrocher si il n’y a pas de réponses au bout des 20 secondes.

Maintenant, vous pouvez enregistrer votre fichier extensions.conf et faire un reload dans la console d’Asterisk.

Passer son premier appel

Maintenant que nos deux utlisateurs sont crées et que nous avons
configuré les extensions du contexte « work » nous allons pourvoir
effectuer un appel entre ces deux utilisateurs.

Vous pouvez configurer un compte SIP à partir de n’importe quel client SIP.

Sous Windows et MacOSX vous avez X-LITE

Sous Linux vous avez Ekiga

Sous Android vous avez CSipSimple

Donc ce test je vous recommande d’avoir au moins deux clients SIP.

Un que vous allez configurer avec le compte de John DOE et l’autre avec le compte d’Albert DUPONT.

Voici par exemple la configuration d’un compe sous X-LITE 5 sous Windows 8.

Le Domain est l’adresse IP ou hostname de votre serveur SIP

X-LITE 5 sous Windows 8

X-LITE 5 sous Windows 8
Et sous CSipSimple

CSipSmple sous Android

CSipSmple sous Android
Une fois les deux client configurés il vous suffit d’appeler par exemple à partir du compe de John DOE (6001) le numéro 6002.

Appel entrant du 6002 vers le 6001

Appel entrant du 6002 vers le 6001
Fin du premier tuto consacré à Asterisk.




No comments:

Post a Comment

Post Top Ad