Cours linux
Serveur Asterisk sous ubuntu
UNION DES COMORES
Unité - Solidarité – Développement
------------------------
Cours informatique option : système
d’exploitions Unix
Dispense par Mr Ahmed Saïd Youssouf
Email : iferisoffice@gmail.com
Cours linux, mars 2021 1
Cours linux 2021
1. Qu’est-ce qu’Asterisk
Asterisk est un PABX applicatif open source permettant d'interconnecter en temps réel des
réseaux de voix sur IP et des réseaux de téléphonies classiques via des cartes d'interface
téléphonique.
1.1. Installation
Tout d'abord, veillez à avoir une distribution à jour :
1.1.1.l'installation de Asterisk
1.1.2. Les fichiers à Modification
La configuration d’asterisk s’effectue par les paramètres avec lesquels nous allons nous
familiariser. Dans le cadre de notre installation sous ubuntu et/ou kali-linux,
Ces fichiers seront dans l’arborescence que nous avons choisie lors de l’installation
(cd/etc/asterisk).
La configuration d'Asterisk s'articule sur les fichiers de configuration suivants :
/etc/asterisk/sip.conf : Configuration globale d'Asterisk
/etc/asterisk/users.conf : Configuration des utilisateurs
/etc/asterisk/extensions.conf : Configuration du routage d’appel
/etc/asterisk/voicemail.conf : Configuration des messageries
Déplacez-vous dans le dossier asterisk avec la commande :
Affichage des fichiers a configure
Cours linux, mars 2021 2
Cours linux 2021
1.1.3. La configuration des fichiers pour passer un appel
nous allons dans ce tuto utiliser le Protocol SIP. Donc pour créer le profil des abonnés
nous allons éditer le fichier /etc/asterisk/sip.conf
1.1.3.1. Paramétrage SIP
Notre configuration va consister à déclarer des softphones ,x-lite,
microsoftsip,3CX et ainsi permettre de passer des appels internes de l'un à
l'autre.
Pour cela nous allons créer la configuration de la partie SIP en
écrasant /etc/asterisk/sip.conf avec la configuration suivante :
[general]
Context =internal
Bindport =5060
Bindadress =0.0.0.0.0
nat =yes
Dans cette section [general] sont placés les paramétrages communs à tous les
éléments connectés au moteur SIP d'asterisk
1.1.4. 1.Le fichier sip.conf
Le fichier sip.conf est utilisé pour créer les comptes des utilisateurs. Ce fichier fonctionne
avec des contextes qui permettent de configure chaque type d’appel et contient également
des sections.
Dans ce fichier il existe trois(3) types de comptes (friend, user, peer)
Cours linux, mars 2021 3
Cours linux 2021
[general]
context =internal
bindport =5060
bindaddr=0.0.0.0
nat =yes
[imna] ; début du bloc de création de compte SIP.
Type=friend ; un utilisateur qui peut émettre et recevoir un appel
username=imna
Host=dynamic
calerid=android ; adresse IP par défaut du protocole SIP).
Secret=lesi0225 ; mot de passe en clair
Mailbox=41 ; numéro de la boîte vocale associée.
[imrane] ; début du bloc de création de compte SIP.
Type=friend
username =imrane ; un utilisateur
Host=Dynamic ; adresse IP par défaut du protocole SIP).
Secret=123 ; mot de passe en clair
Mailbox=42 ; numéro de la boîte vocale associée.
[imni] ; début du bloc de création de compte SIP.
Type=friend
username =imni ; un utilisateur
Host=Dynamic ; adresse IP par défaut du protocole SIP).
Secret=0000 ; mot de passe en clair
Mailbox=42
1.1.4.1.Le fichier Extension.conf
Le fichier extensions.conf est parmi le fichier essentiel d’Asterisk.
C’est le « noyau » de l’architecture de votre standard téléphonique, c’est-à-dire le plan
d’appel.
Ce fichier est composé en trois zones : la zone générale où se trouve les paramètres
généraux pour toute l’architecture, la zone globale où on insert des variables globales qui
Cours linux, mars 2021 4
Cours linux 2021
seront utilisées dans la troisième zone qui est constituée de plusieurs sous-zones appelées «
contextes».
Un contexte en lui-même est muni d’une ou plusieurs étapes, une étape est structurée du
numéro de l’appel nommé ici « extension », d’un nombre déterminant l’ordre de priorité
par rapport aux autres étapes et enfin d’une fonction d’application.
Un contexte est une zone de mémoire privée dans laquelle des actions de portée
limitée pourront être exécutées.
De ce fait, deux extensions ne pourront avoir le même numéro dans la même extension, ce
qui pourrait être tout à fait possible dans deux contextes différents.
1.1.4.2. Configuration d’extensions.conf
[internal ]
; Routage d’appel vers un utilisateur.
[internal]
; Routage d’appel vers un utilisateur.
exten => 10, 1, Dial(SIP/imna, 5)
exten => 11, 1, Dial(SIP/imrane, 6)
exten => 12, 1, Dial(SIP/imni,7)
exten => 13, 1, Dial(SIP/iroof,7)
; Appel vers un utilisateur et arrêt sans condition
Exten=>034,1, dial (sip/imrane ,5) ; passé un appel
Exten=>034, 2, wait(1) ; j’attends une seconde avant de sonner
Exten=>034,3,hangup ; je raccroche une fois que celui-ci est terminé
Cours linux, mars 2021 5
Cours linux 2021
; Routage d’appel vers un groupe d’utilisateurs et arrêt sans condition
exten => 034, 1, Dial(SIP/imrane, 6)
exten => 034, 2, Dial(SIP/imni,7)
exten => 034, 3, Dial(SIP/iroof,7)
Exten =>034, 4, Hangup
; Appel des utilisateurs en même temps et arrêt sans condition
exten => 60,1,Dial(SIP/imrane&SIP/iroof&SIP/imni)
exten => 60, 2, Hangup
; Redirectionner un appel vers un poste libre jusqu'à ce que l‘on trouve un poste libre :
exten => 777,1,Dial(SIP/imna,10)
exten => 777 ,2,Dial(SIP/imrane,10)
exten => 777 ,3,Dial(SIP/iroof,10)
exten => 777 ,4,goto(internal,777,1)
redémarrage du démo
#service asterisk restart
Utilisez les commandes suivantes pour vérifier les ports de communication utilisés par
Asterisk.
#servive asterisk status
1.1.4.3. Premier lancement d'Asterisk
Nous pouvons maintenant faire nos premiers tests. Pour cela, nous allons arrêter Asterisk
qui a sûrement été lancé automatiquement lors de l’installation (/etc/init.d/asterisk stop),
puis le relancer à la main en mode asterisk -rcvvv.
Cours linux, mars 2021 6
Cours linux 2021
Il est possible de redémarrer un simple fichier qu’on a modifié sans redémarrer tout le
service. Exemple si vous aviez juste modifié le fichier sip.conf vous pouvez redémarrer
juste le fichier sip.conf en faisant.
Une fois dans le fichier on peut lister les abonnés qu’on a créé en faisant :
3 sip peers [Monitored: 0 online, 0 offline Unmonitored: 0 online, 3 offline]
ubuntu*CLI> sip show users
Username Secret Accountcode Def.Context ACL Forcerport
imni 0000 internal No Yes
imna lesi0225 internal No Yes
imrane 123 internal No Yes
ubuntu*CLI>
ubuntu*CLI> sip show peers
Name/username Host Dyn Forcerport ACL Port Status
Description
imna/imna (Unspecified) D N 0 Unmonitored
imni/imni (Unspecified) D N 0 Unmonitored
imrane/imrane (Unspecified) D N 0 Unmonitored
1.1.4.4.Configuration de vmwer
Pour faire une modification sur VMware, il faut clic sue setting
Cours linux, mars 2021 7
Cours linux 2021
Pour le machine Windows
Clic sur propriété
Cours linux, mars 2021 8
Cours linux 2021
Connaitre l’adresse IP
a) Pour linux
b) pour Windows