Vous êtes sur la page 1sur 40

M.

CAMARA Abdoulaye Madjiba - Ingénieur informaticien - Email :


09/06/2021 1
madjiba1987@gmail.com - Tél : 623 06 92 91
Configuration de certains services sous
astérisk (Elastix) :

Présentation d’Asterisk

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 2
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
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.

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien - Email :


09/06/2021 3
madjiba1987@gmail.com - Tél : 623 06 92 91
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.

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 4
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
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 vocales, transfert d’appel, mise en attente etc…

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 5
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
NB :
Pour Debian, Ubuntu ou Cent OS, on installe d’abord le paquet asterisk
#apt-get install asterisk (pour Debian et Ubuntu)
#yum install asterisk (pour Cent OS)
Le paquet asterisk est installé par défaut sur les distributions Elastix et
Tribox

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 6
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
1. Appel simple :
1.1. Création d’un compte sans templete :
Dans le fichier sip.conf, on ajoute les lignes ci-dessous :
#cd /etc/asterisk et #vim sip.conf
[100]
Type = friend
host = dynamic
dtmfmode = rfc2833
fullname = Abou DABO
username = dabo
secret = mdp1
context = info
M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -
09/06/2021 7
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
Je vais expliquer ce que veut dire chaque ligne lors de la création d’un
utilisateur :

[100] –> Numéro SIP

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

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

dtmfmode = rfc2833 –> type de rfc utilisé

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 8
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
disallow = all –> Désactivation de tous les codecs

allow = ulaw –> Activation du codec μlaw

fullname = Abou DABO –> Prénom et NOM de l’utilisateur (ce qui sera
afficher sur le téléphone lors d’un appel)

username = dabo –> Nom d’utilisateur

secret = mdp1 –> Mot de passe du compte SIP


context = info –> Contexte (groupe)

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 9
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
1.2. Configuration des appels

Pour configurer un appel, il vous faudra accéder au fichier


extensions.conf :

[info]

exten=>100,1,Dial(sip/100,10)

exten=>100,2,Hangup()
M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -
09/06/2021 10
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
Analysons ensemble ce qui a été écrit :

[info]

Ce work représente un contexte qui est lié avec le compte utilisateur (créer dans
sip.conf), et chaque utilisateur fait partie d’un contexte. (Tous les utilisateurs
peuvent être associés au même contexte).
exten=>100,1,Dial(SIP/100,10)
exten=>100 => Lorsque le numéro 100 est composé
Dial(SIP/100 => Appeler l’utilisateur SIP 100
,10, => Laisser sonner pendant 10s

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 11
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
exten=>100,2,Hangup

exten=>100 Lorsque le numéro 100 est composé

,2, => Représente la priorité dans lequel exécuter les commandes. Le 2


signifiera qu’après que la ligne avec la priorité une sera exécuter il passera à la
ligne 2 (Donc après avoir tenté d’appeler pendant 10s, on arrivera sur cette
ligne)

,Hangup => Raccrocher

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 12
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
Récapitulatif :

Ligne 1 : on appel pendant 10s le numéro 100 et si toute fois il ne décroche


pas alors on passe à la ligne 2.

Ligne 2 : on raccroche la ligne.

Si nous avons une infrastructure avec plusieurs centaines de compte


utilisateur ceci va être vite ennuyant à écrire. Il est possible de simplifier
l’écriture :

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 13
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
Si nous avons une infrastructure avec plusieurs centaines de compte
utilisateur ceci va être vite ennuyant à écrire. Il est possible de simplifier
l’écriture :

exten => _1XX,1,Dial(SIP/${EXTEN},10)

exten => _1XX,2,Hangup()

Les X représentent un chiffre entre 0 et 9. Donc pour tous les numéros


composer entre 100 et 199 on appel pendant 10s puis on raccroche

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 14
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
1.3. Création d’un compte avec templete :
[Nom_du_templete](!)
Type = friend
host = dynamic
dtmfmode = rfc2833
language = fr
disallow = all
allow = ulaw
[100](Nom_ du _templete)
fullname = Abou DABO
username = dabo
secret = mdp1
context = info
NB : le ! montre à asterisk qu'on utilise un templete et le choix du nom dépend de vous.

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 15
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
1.4. Configuration des softphones :
 Softphone Windows (3CXPhone) :

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 16
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
Softphone pour Android (ZoiPer) :
Télécharger Zoiper sur PlayStore puis installer.
Lancer l’application et procéder comme suit :
Cliquer sur ConfigComptesAjouter un compteOuiCliquer sur
Manual configurationSIPRemplir le formulaire comme suit et cliquer
sur Enregistrer.

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 17
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -
09/06/2021 18
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
Si tous se passe bien, vous verrez l’interface suivante qui vous montre que le
compte est prêt.

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 19
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
2. Mise en place des boîtes vocales :

Nous allons voir dans ce tutoriel comment mettre en place les boites
vocales pour nos utilisateurs sous Asterisk.

Pour ce faire nous allons créer une boite vocale pour Abou DABO et
pour Abdoulaye Madjiba CAMARA.
Les deux fichiers que nous allons éditer sont les
suivants : voicemail.conf et extensions.conf se trouvant dans /etc/asterisk

Commençons par éditer le fichier voicemail.conf


M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -
09/06/2021 20
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
Voici le contenu du fichier :

[info]

100 =>1234,Abou DABO

101 =>1234,Abdoulaye Madjiba CAMARA

Décortiquons les trois dernières lignes:


[work] : Contexte dans lequel se trouvent nos utilisateurs
100 => : Numéro de l’utilisateur
1234 : Mot de passe pour accéder à la boite vocale
Abou DABO: Prénom et nom de l’utilisateur.
M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -
09/06/2021 21
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
Maintenant nous allons éditer le fichier extensions.conf pour configurer deux
choses :

Le fait que au bout d’un certain temps Asterisk bascule sur la boite vocale de
l’utilisateur si celui-ci ne répond pas

Création d’une extension pour créer le numéro qui servira à consulter la boite
vocale.

Voici donc voici le contenu du fichier extensions.conf modifié:

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 22
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
[info]
exten => _1XX,1,Dial(SIP/${EXTEN},10)
exten => _1XX,2,VoiceMail(${EXTEN}@info)
; Numéro de la boite vocale
exten => 199,1,VoiceMailMain(${CALLERID(num)}@info)
J’ai donc remplacé la ligne
exten => _1XX,2,Hangup()
Par celle-ci :
exten => _1XX,2,VoiceMail(${EXTEN}@info)
Cette ligne permet donc de basculer sur la boîte vocale de l’utilisateur appelé
s’il n’y a pas de réponse au bout de 10 secondes.

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 23
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
Comment ne pas taper de mots de passes pour consulter sa boîte vocale ?
Lorsque que vous appelez le 200 le robot vous demandera le mot de passe de la boîte
vocale spécifié dans le fichier voicemail.conf (1234), si vous ne souhaitez pas que vos
utilisateurs aient à taper un mot de passe vous avez deux solutions:
Soit vous ne spécifiez pas de mot de passe dans le fichier voicemail.conf

Exemple :

[info]
100 => , Abou DABO
101 => , Abdoulaye Madjiba CAMARA

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 24
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
Soit vous rajoutez l’option « s » dans la déclaration du numéro de boîte vocale :
exten => 200,1,VoiceMailMain(${CALLERID(num)}@work,s)
Utilisation :
Si le destinataire de l’appel ne décroche pas l’appel après le temps indiqué, laisser votre
message après le bip sonore, en procédant comme suit :
Tapez # puis 1 pour enregistrer votre message.
Ou bien
Raccrochez tout simplement.
NB : Pour écouter votre nouveau message, composer le numéro de la boite vocale, par
exemple 199 pour notre cas, appuyez sur ok puis saisir le mot de passe de la boite vocale si
nécessaire.

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 25
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
3. Activation de la vidéo :
L’utilisation de la vidéo sous Elastix est assez simple puisque les codecs vidéos sont déjà
installés. Il faudra toutefois ajouter dans le fichier de configuration « sip.conf » sous
l’onglet
[general]
videosupport=yes
maxcallbitrate=384
allow=h261
allow=h263
allow=h263p
allow=h264
Et recharger « Asterisk ».
M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -
09/06/2021 26
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
4. Conférence audio :
1er fichier à configurer : meetme.conf

Ouvrir le fichier meetme.conf et déclarez les numéros de salle et le mot de passe

conf => 1 ; Identifiant de la conférence sans mot de passe.


conf =>2,123 ; Ici le 2ème numéro est le mot de passe de la conférence.
2ème fichier à configurer : extensions.conf

Et déclarer le numéro de la salle dans extensions.conf

exten => 198,1,Meetme(1) : 198 est le numéro à composer pour accéder à la 1ère salle de
conférence.
exten => 197,1,Meetme(2) : 197 est le numéro à composer pour accéder à la 2ème salle de
conférence.

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 27
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
5. Transfert d’appel :

Les deux types de transfert d’appels.


5.1. Activer le transfert d’appel aveugle et supervisé
Si vous n’avez pas de touches pour effectuer un transfert d’appel sur votre téléphone SIP
vous pouvez configurer une touche de raccourcis pour effectuer un transfert d’appel
aveugle ou supervisé vers un autre poste.
5.2. Que veut dire aveugle et supervisé ?
Le transfert d’appel dit aveugle est le fait de transféré un appel directement à une autre
personne.
Le transfert d’appel dit supervisé est le fait d’appeler le destinataire du transfert avant de
lui transférer l’appel.

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 28
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
5.3. Exemple transfert aveugle (##) :
1 appel 2
1 et 2 sont en communication
2 transfert à 3 (transfert aveugle)
1 et 3 sont en communication
2 est raccroché

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 29
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
5.4. Exemple transfert supervisé (**) :
1 appel 2
1 et 2 sont en communication
2 appel 3 (transfert supervisé)
1 est en attente
2 et 3 sont en communication
2 raccroche
1 et 3 sont en communication

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 30
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
5.4. Configuration et mise en place du transfert d’appel :

Dans le fichier features.conf se trouvant dans le répertoire /etc/asterisk,


repérez les lignes suivantes dans la section [featuremap].
; blindxfer => #1 ;
; atxfer => *2 ;
Ces lignes permettent de configurer une ou plusieurs touches pour
transférer un appel.

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 31
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
Pour ma part j’ai dans ce fichier de configuration mis comme touches ##
pour le transfert aveugle et ** pour le transfert supervisé, donc au final les
lignes ressemblent à ceux-ci :
blindxfer = ## ;
atxfer = ** ;
Puis dans le fichier extensions.conf on rajoute l’option tT à l’application Dial()
Donc la ligne :
exten => _1XX,1,Dial(SIP/${EXTEN},20)
Devient :
exten => _1XX,1,Dial(SIP/${EXTEN},20,tT)

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 32
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
Maintenant, après avoir fait un reload d’Asterisk vous pouvez au cours d’un
appel appuyer sur les touches ## pour un transfert aveugle ou ** pour un
transfert supervisé, une voix dira « Transfert » vous n’aurez qu’alors qu’à
taper le numéro de téléphone de la personne à qui vous souhaitez transférer
l’appel.

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 33
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
6. Mise en attente / Parking Call :
Le Parking Call est la possibilité de mettre en attente une personne sur un
numéro de parking, c’est à dire que vous transférez cette personne sur un
numéro qui lui est attribué, dès lors il vous suffit de rappeler ce numéro à
partir de n’importe quel poste pour reprendre l’appel.

La configuration se fait aussi dans le fichier features.conf, ce sont les


premières lignes du fichier.

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 34
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
parkext => 700 ; Numéro à appeler pour mettre une personne dans le parking

parkpos => 701-720 ; Plage de parking disponibles

context => parkedcalls ; Contexte

parkingtime => 60 ; Le temps d’attente

Puis dans le fichier extensions.conf, rajoutez dans votre contexte info la ligne
suivante :

include => parkedcalls

Voici donc à quoi doit ressembler votre contexte info :

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 35
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
[info]

include => parkedcalls


exten => _1XX,1,Dial(SIP/${EXTEN},20,tT)
exten => _1XX,2,VoiceMail(${EXTEN}@work)

; Numéro de la boite vocale


exten => 199,1,VoiceMailMain(${CALLERID(num)}@info,s)
Donc comme vous le voyez, si vous transférez un appel au numéro 700 votre interlocuteur
sera mis en attente avec un numéro situé entre 701 et 720 pour une durée de 60
secondes, une voix vous dira quel numéro est attribué à votre interlocuteur.
Vous pouvez faire un transfert aveugle ou supervisé pour la mise en parking, les deux
fonctionnent pareil pour ce cas.
M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -
09/06/2021 36
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
7. Interception d’appel :

L’interception d’appel intervient lorsqu’un téléphone sonne. Elle autorise la


récupération de l’appel destiné au poste qui sonne à partir d’un autre poste.
Pour cela, il faut que l’intercepté appartienne au groupe d’appel qui
correspond au groupe d’interception de l’interceptant.

M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -


09/06/2021 37
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
Pour illustrer cela, on peut par exemple autoriser l’interception du téléphone
101 par 100. Dans ce cas, il suffit d’associer 100 au groupe d’interception qui
correspond au groupe d’appel de 101. Pour cela modifiez, le fichier sip.conf,
comme suit :

[100](hafia)
Fullname = Abou DABO
username = dabo
secret = mdp1
pickupgroup = 1
M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -
09/06/2021 38
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
[101](hafia)

fullname = Abdoulaye CAMARA


username = camara
secret = 1234
callgroup = 1
Pour tester, il faut d’abord lancer un appel à partir d’un autre téléphone, par
exemple 102 vers 101. Puis, au moment où le téléphone 101 sonne, il suffit
de composer *8 sur le terminal « 100 » pour prendre la communication.
NB : L’appel doit être intercepter avant qu’il ne soit décroché.
M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -
09/06/2021 39
Email : madjiba1987@gmail.com - Tél : 623 06 92 91
JE VOUS
REMERCI
M. CAMARA Abdoulaye Madjiba - Ingénieur informaticien -
09/06/2021 40
Email : madjiba1987@gmail.com - Tél : 623 06 92 91

Vous aimerez peut-être aussi