Vous êtes sur la page 1sur 43

Projets ASTERISK

Module : Commutation, SS7 et Asterisk

Travail préparé et présenté par :


BA Ahmadou Moustapha moustapha.ba@outlook.com
DIAKHATE Ismaïla izdiakhate@gmail.com
GASSAMA Fatoumata Bintou fagassama2100@gmail.com

Classe : IGTT-2 T 2015-2016


Spécialité : Core Network
Encadreur : M. Mamadou Alpha BARRY

© avril 2016
Table des matières
Introduction............................................................................................................................................. 3
Projet 1 - Interconnexion d’Asterisk et GNU Gatekeeper ....................................................................... 4
1. Présentation Asterisk et GNU Gatekeeper .................................................................................. 4
2. Installation manuelle d’Asterisk .................................................................................................. 5
3. Installation automatique et démarrage Gnugk ........................................................................... 8
4. Installation & Configuration du client OOH323 ........................................................................ 10
5. Interconnexion de GNU et Asterisk ........................................................................................... 11
Projet 2 - Installation et configuration de l'IP Phone CISCO fonctionnant avec le protocole le SCCP .. 14
1. Installation Serveur TFTP ........................................................................................................... 15
2. Installation du Chan_SCCP ........................................................................................................ 17
3. Configuration des fichiers Asterisk. ........................................................................................... 17
Projet 4 - Interconnexion de serveurs Asterisk via un routeur ............................................................. 20
1. Configuration Switch Cisco 2960 ............................................................................................... 21
2. Configuration routeur Cisco 1800 ............................................................................................. 22
3. Configuration serveur asterisk .................................................................................................. 23
Projet 5 – Configuration des services .................................................................................................... 25
Partie 1 – appel vidéo ........................................................................................................................ 26
Partie 2 – Messagerie Vocale alerte par mail.................................................................................... 28
Partie 3 – Renvoi d’appel (sur occupation ou non réponse) ............................................................. 35
Partie 4 – Changement image Background Cisco IP Phone .............................................................. 36
Partie 5 – Changement sonnerie par défaut Cisco IP Phone............................................................. 38
Conclusion ............................................................................................................................................. 42
Bibliographie - Webographie ................................................................................................................ 43

IGTT 2016 - Projets asterisk 2


Introduction
La téléphonie classique, qui repose essentiellement sur la commutation de circuits, a pendant
longtemps été le seul moyen pour permettre aux particuliers et entreprises d’accéder aux
services des télécommunications. Toutefois, proposée à des coûts assez élevés et basée sur
des commutateurs peu souples, chers et incompatibles, elle est depuis une quinzaine d’année
supplantée par les technologies TOIP (téléphonie sur IP) open source.

C’est ainsi qu’en 1999, un jeune étudiant du nom de Mark Spencer, à la recherche d'un
commutateur téléphonique privé pour créer un centre de support technique pour Linux, mais
dissuadé par les tarifs trop élevés des solutions propriétaires existantes et leur manque de
flexibilité, décida de créer son propre routeur d'appels sous Linux : le PBX Asterisk était né !

Asterisk est le système libre de téléphonie IP le plus utilisé au monde, adapté à toutes les
tailles d’entreprise. Il s’agit d’un autocommutateur téléphonique privé (PABX) open source et
propriétaire (publié sous licence GPL et licence propriétaire1) pour systèmes GNU/Linux.
Au-delà des fonctions traditionnelles de messagerie vocale, fax ou audioconférence, le PABX
sur IP Asterisk sert aussi d’interface SIP avec les équipements des FAI comme la Freebox ou
les réseaux publics (RTC, GSM…).

C’est ainsi que dans le cadre du module Commutation SS7 et Asterisk, cinq projets accès sur
la mise en œuvre d’interconnexion entre abonnés fonctionnant sous divers protocoles
(ooh323, sip, iax, sccp etc..) et la configuration de services (appel vidéo, messagerie vocale,
renvoi d’appel, personnalisation du Cisco IP Phone etc.) nous ont été soumis pour réalisation
et soutenance devant un jury.

IGTT 2016 - Projets asterisk 3


Projet 1 - Interconnexion d’Asterisk et GNU Gatekeeper
Ce projet a pour objectif d’interconnecter des clients Asterisk (SIP, IAX) et des clients H.323.
Pour cela nous aurons besoin de mettre en place un serveur asterisk et un serveur Gatekeeper.

1. Présentation Asterisk et GNU Gatekeeper


Asterisk est un autocommutateur téléphonique privé (PABX) open source et propriétaire
(publié sous licence GPL et licence propriétaire) pour systèmes GNU/Linux développé par
Marc Spencer en 1999. Il permet, entre autres, la messagerie vocale, les files d'attente, les
agents d'appels, les musiques d'attente et les mises en garde d'appels, la distribution des
appels. Il est possible également d'ajouter l'utilisation des conférences par le biais de
l'installation de modules supplémentaires et la recompilation des binaires.

Asterisk implémente les protocoles H.320, H.323 et SIP, ainsi qu'un protocole spécifique
nommé IAX (Inter-Asterisk eXchange). Ce protocole IAX permet la communication entre deux
serveurs Asterisk ainsi qu'entre client et serveur Asterisk. Asterisk peut également jouer le
rôle de registrar et passerelle avec les réseaux publics (RTC, GSM, etc.) Asterisk est extensible
par des scripts ou des modules en langage Perl, C, Python, PHP, et Ruby.

GNU GateKeeper (en abrégé Gnugk) est un projet open source (sous licence GPL) qui
implémente un Gatekeeper H.323 basé sur la pile openH323 ou H323+. Un Gatekeeper fournit
des services de contrôle d'appel pour les terminaux H.323. Il s'agit d'une partie essentielle de
la plupart des installations de téléphonie sur internet qui sont basées sur la norme H.323.
Selon la recommandation H.323, un Gatekeeper doit fournir les services suivants :

 Traduction d'Adresse
 Contrôle d'Admissions
 Contrôle de Bande Passante
 Gestion de Zone
 Call Control Signaling
 Autorisation d'Appel
 Gestion de Bande Passante

IGTT 2016 - Projets asterisk 4


Le GNU Gatekeeper implémente la plupart des fonctions basées sur la pile du protocole
OpenH323.

Interconnexion asterisk - Gnugk

2. Installation manuelle d’Asterisk


L’installation manuelle de asterisk a été faite sur une machine physique tournant sous Ubuntu
14.04 LTS en adoptant la procédure ci-dessous :
 Création du répertoire devant contenir toutes les dépendances nécessaires :

#mkdir /usr/src/asterisk

#cd /usr/src/asterisk

 Téléchargement du paquet compressé d’asterisk :

#wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk- 1.8.5.0.tar.gz

 Décompression du paquet :

#gunzip asterisk-1.8.5.0.tar.gz

IGTT 2016 - Projets asterisk 5


 Désarchivage du paquet :

#tar xvf asterisk-1.8.5.0.tar

 Déplacement dans le dossier "asterisk-1.8.5.0" nouvellement créé

#cd asterisk-1.8.5.0

 Préparation des sources pour la compilation (Cela va vérifier s’il y a des dépendances
manquantes puis préparer les sources)

#./configure

Remarque : lors de l’exécution du script de configuration, les packages libncurses5-


dev, libxml2-dev build-essential, libnewt-dev nous ont été signalés comme manquants.
Nous les avons installés par le biais des commandes ci-dessous :

# apt-get install libncurses5-dev


#apt-get install libxml2-dev build-essential
#apt-get install libnewt-dev

Une fois les packages manquants installés, l’exécution du script de configuration se


déroule cette fois-ci avec succès.

IGTT 2016 - Projets asterisk 6


 Après la préparation des sources pour la compilation nous avons besoin de
sélectionner les modules optionnels en particuliers chan_ooh323.

#make menuselect

 Installation du paquet "mpg123" pour la gestion du format mp3:

#apt-get install mpg123

 Compilation de Asterisk :

#make

 Installation du paquet subversion pour la gestion du format_mp3

# apt-get install subversion $ bash contrib/scripts/get_mp3_source.sh

IGTT 2016 - Projets asterisk 7


 Installation de Asterisk

#make install

 Installation des exemples de fichiers de configurations.

#make samples

 Configuration Asterisk pour qu’il démarre automatiquement avec l’ordinateur :

#make config

Quelques commandes utiles :

Commande Utilité

/etc/init.d/asterisk start Démarrer Asterisk

/etc/init.d/asterisk stop Arrêter Asterisk

/etc/init.d/asterisk restart Redémarrer Asterisk

/etc/init.d/asterisk reload Recharger les fichiers de configuration Asterisk

3. Installation automatique et démarrage Gnugk


 Installation automatique

#apt-get update
#apt-get install gnugk

 Sauvegarde du fichier de configuration

#sudo mv /etc/gatekeeper.ini /etc/gatekeeper.ini.default

IGTT 2016 - Projets asterisk 8


 Configuration de base

#gedit /etc/gatekeeper.ini

Explications :
rule = allow ; permet de lancer le serveur Gatekeeper sans avoir besoin de
s’authentifier.
Fortytwo=42 ; pour tester la présence du fichier de configuration
timetolive=300 ; durée enregistrement d’un terminal ; mettre -1 pour désactiver.
 Lancement du daemon GNUgk en mode foreground :

# gnugk -ttttt -c /etc/gatekeeper.ini

Nota : Il est possible de se connecter à distance à GNU Gatekeeper en utilisant un Telnet


sur le port 7000 ; taper « help » dans l’invite pour connaitre la liste des commandes et
« quit » + entrer pour sortir.

#telnet localhost 7000

IGTT 2016 - Projets asterisk 9


4. Installation & Configuration du client OOH323
Pour ce projet nous avons installé le Softphone H323 pour Windows, version 6.0.118.
Dans le menu « settings », il suffit de renseigner l’adresse ip du serveur asterisk et le numéro
de téléphone de l’abonné ooh323.

IGTT 2016 - Projets asterisk 10


5. Interconnexion de GNU et Asterisk
 Edition du fichier /etc/gatekeeper.ini en complétant le mode de routage des appels et
l’alias de la passerelle Asterisk.

#gedit /etc/gatekeeper.ini

Explications :
Le Gatekeeper doit savoir quels appels sont supposés être routés par la
passerelle et quels numéros doivent être appelés directement. On utilise pour
cela la section [RasSrv::GWPrefixes] pour indiquer au Gatekeeper le préfixe des
numéros qui doivent être routés par la passerelle et donc tous les numéros
commençant par le préfixe 56 seront routés par la passerelle asterisk.
Nota : Il faut indiquer à Gatekeeper l’alias de la passerelle et pas uniquement
son adresse ip.

IGTT 2016 - Projets asterisk 11


 Configuration des fichiers Asterisk
Création du client H.323.
o /etc/asterisk/ooh323.conf

#cd /etc/asterisk/
#cp chan_h323.conf ooh323.conf
#gedit ooh323.conf

## retrait des commentaires sur les lignes ## déclaration de l’abonné H.323###


suivantes ##
[771005]
[general]
IP=172.20.66.219
port=1720
type=friend
bindaddr=0.0.0.0
context=sip
gateway=yes
port=1720
faststart=yes
e164=771005
h245tunneling=yes
dtmfmode=inband
h323id=asterisk
e164=771005
### declaration préfixe clients asterisk##
gatekeeper = 172.20.57.197
[register]
context=sip
alias=asterisk
allow=gsm
gwprefix=56
allow=ulaw
dtmfmode=rfc2833
dtmfmode=inband

IGTT 2016 - Projets asterisk 12


Création des abonnés SIP <562005> et IAX <565005>
o /etc/asterisk/sip.conf & /etc/asterisk/iax.conf

Profil des abonnés SIP & IAX

Routage des appels


o /etc/asterisk/extensions.conf

Création des extensions

 Reload et redémarrage asterisk et Gnugk pour prise en compte des modifications :

#/etc/init.d/asterisk reload
#/etc/init.d/asterisk restart
#/etc/init.d/gnugk start

Ainsi nous avons pu établir des appels entre abonné H.323 et abonné SIP, et entre abonné
H.323 et abonné IAX.

IGTT 2016 - Projets asterisk 13


Projet 2 - Installation et configuration de l'IP Phone CISCO fonctionnant
avec le protocole le SCCP
L’objectif de ce projet est de passer des appels entre le Cisco IP Phone et le Softphone Cisco
Communicator fonctionnant avec le protocole SCCP et d’autre part de tester l’interconnexion
entre clients SIP et SCCP. Nous avons choisi le préfixe 564 pour nos abonnés SCCP.

Le SCCP (Skinny Call Control Protocol) est un protocole propriétaire CISCO utilisé pour les
échanges entre Call Manager et IP Phone. Le terme SKINNY est utilisé pour indiquer que le
protocole SCCP est très simple et requiert de ce fait des ressources processeur limitées.

SCCP s’utilise dans une architecture simple il est facile à utiliser contrairement à H323 et les
messages sont transmis via TCP en utilisant le port 2000.

Architecture interconnexion SCCP-SCCP & SIP-SCCP

IGTT 2016 - Projets asterisk 14


1. Installation Serveur TFTP
Le Cisco IP phone après avoir reçu par DHCP une adresse IP, se connecte à l’adresse du serveur
TFTP configuré pour télécharger « ses » fichiers de configuration.

Ayant rencontré des difficultés avec le serveur TFTP sous Ubuntu, nous avons choisi d’installer
un serveur TFTP sous Windows téléchargeable depuis le lien web ci-dessous et qui offre la
possibilité de voir les logs en temps réels.

http://tftpd32.jounin.net/tftpd32_download.html

Il faut décompresser le fichier reçu puis lancer l’exécutable Tftpd64.exe


Pour configurer le serveur TFTP, il faut :
Sélectionner Settings> TFTP>, et de vérifier :
 Le répertoire racine par défaut du serveur (TFTP Server Root Directory)
 Le numéro de port utilisé est 69

IGTT 2016 - Projets asterisk 15


Pour choisir le répertoire de base souhaité, suivre les étapes suivantes :

Nota : L’étape 4 permet de se placer dans la fenêtre d’affichage des logs en temps réels.

Nous plaçons les fichiers de configuration SCCP45.9-2 à la racine de notre serveur TFTP, puis
nous modifions notre template de fichier configuration cnf.xml en l’adaptant à notre
configuration.

Création de deux fichiers de configuration SEP108CCF7537E5.cnf et SEPC0335E1F2B1F.cnf


comportant respectivement l’adresse MAC du Cisco IP Phone et celle du Cisco Communicator.

Les modifications dans les deux fichiers vont porter sur les lignes suivantes :

IGTT 2016 - Projets asterisk 16


<processNodeName>172.20.57.242</processNodeName>
;Adresse IP du serveur Asterisk=172.20.57.242

<ipAddr1>172.20.57.242</ipAddr1>
;Adresse IP du serveur Asterisk=172.20.57.242

<loadInformation>SCCP45.9-2-1S</loadInformation>
;Version du firmware

2. Installation du Chan_SCCP
Le Chan_sccp_b un module qui permet au serveur asterisk de supporter le protocole SCCP
utilisé par les téléphones IP Cisco. Le serveur asterisk supporte le protocole SCCP grâce au
fichier de configuration skinny.conf, mais il est préférable d’utiliser le Chan_sccp_b qui offre
plus de plus de fonctionnalités.

 Le paquet Chan_SCCP-4.2.0_RC2.tar.gz peut être téléchargé à l’adresse :

https://sourceforge.net/projects/chan-sccp-b/files/

 Désarchiver le fichier dans /usr/src et installation d’asterisk

#cd /usr/src/
#tar -xzvf Chan_SCCP-4.2.3_RC2.tar.gz -C /usr/src
#cd /Chan_SCCP-4.3.0_RC3/
# ./configure
#make
#make install

3. Configuration des fichiers Asterisk.


 Dans le fichier /etc/asterisk/modules.conf, ajoutons module chan_sccp.so afin qu'il
soit pris en compte par Asterisk et mettons en commentaire le module chan_skinny.so
afin d'arrêter son fonctionnement :

IGTT 2016 - Projets asterisk 17


load => chan_sccp.so

noload => chang_skinny.so

 Copions ensuite le fichier sccp.conf dans le répertoire d’asterisk :

#cp /usr/src/Chan_SCCP-4.3.r624/conf/sccp.conf /etc/asterisk

 Configuration du fichier /etc/asterisk/sccp.conf


o Configuration du Cisco Communicator

[SEPC0335E1F2B1F] // @mac du Cisco ip Communicator


description = Phone Number One
addon = 7914
devicetype = 7945; Type d’équipement utilisé.
button = line, 564006; Alloue à la ligne du poste le numéro 564006

permit=0.0.0.0/0.0.0.0
permit=172.20.0.0/255.255.0.0; Autoriser la plage du réseau contenant asterisk

o Configuration du poste du Cisco IP Phone

[SEP108CCF7537E5] ;adresse mac cisco phone


description = Phone Number One
addon = 7914
devicetype = 7945; Type d’équipement utilisé.

button = line, 564007,default; Alloue à la ligne du poste le numéro 564007 et utilise cette ligne
comme une ligne par défaut
button = line, 564006; Alloue à la la ligne le numéro 564006 du poste

permit=0.0.0.0/0.0.0.0
permit=172.20.0.0/255.255.0.0; Autoriser la plage du réseau contenant asterisk

IGTT 2016 - Projets asterisk 18


o Configuration de l’abonné SSCP Cisco Communicator

[564006]
type = line ; Spécifie que cette configuration est celui d’une ligne
description = Line 564006; Description qui s’affiche sur l’écran
cid_name = Cisco Comm; Le nom de cet abonné
cid_num = 564006; Son numéro
context = sip; le context de l’abonné

o Configuration de l’abonné SSCP abonné Cisco IP phone

[564007]
type = line; Spécifie que cette configuration est celui d’une ligne
description = Line 564007; Description au-dessus de l’écran
cid_name = IP Phone; Le nom de cet abonné
cid_num = 564007; Son numéro

 Modification /etc/asterisk/extensions.conf

exten => 564006,1,DIAL(SCCP/564006,45,tr)

exten => 564007,1,DIAL(SCCP/564007,45,tr)

Après redémarrage des deux postes, les fichiers de configuration ont été correctement
chargés et nous avons pu réaliser des appels entre abonnés SCCP, et entre SIP et SCCP.

IGTT 2016 - Projets asterisk 19


Projet 4 - Interconnexion de serveurs Asterisk via un routeur
Dans ce projet, les quatre serveurs Asterisk des différents groupes doivent s’interconnecter
par l’intermédiaire d’un routeur et permettre ainsi des appels entre abonnés de serveurs
asterisk différents.

Le schéma ci-dessous illustre l’architecture implémentée pour interconnecter les serveurs


asterisk des quatre groupes via [seul] routeur.

Schéma d’interconnexion des groupes

Cette configuration a été dictée par le fait que nous ne disposions qu’un d’un seul routeur
Cisco C1800 avec uniquement de 02 interfaces FastEthernet. Nous avons donc configuré 02
sous-interfaces (par interface FE) et l’interconnexion des groupes se fera simplement par la
technique du routage inter-VLAN.

IGTT 2016 - Projets asterisk 20


1. Configuration Switch Cisco 2960
La configuration du Switch se fera à travers les étapes ci-dessous :

o Création du Vlan10 pour le groupe1 (le vlan1 étant le vlan par défaut)
o Affectation de ports en mode access au Vlan 10
o Configuration d’un port en mode trunk vers le routeur

Switch# conf t
Switch (conf)#vlan10
Switch (config-vlan)#name Groupe1
Switch(config-vlan)#interface range fa0/2,fa0/4,fa0/6,fa0/7,fa0/8,fa0/10,fa0/11
Switch (config-if-range)#switchport mode access
Switch (config-if-range)#switchport access vlan 10
Switch (config)#int fa 0/9
Switch (config-if) #switchport mode trunk
Switch (config)#end

IGTT 2016 - Projets asterisk 21


2. Configuration routeur Cisco 1800
o Activation de la sous-interface
o Configuration de l’encapsulation dot1Q
o Attribution @ip à la sous-interface

[Groupe1]
Router (config)#int fa0/1.10
Router (config-if)#encapsulation dot1q 10
Router (config-if)#ip address 172.20.57.1 255.255.255.0
Router (config-if)#no sh

[Groupe 2]
Router (config)#int fa0/1.2
Router (config-if)#encapsulation dot1q 2
Router (config-if)#ip address 172.20.66.1 255.255.255.0
Router (config-if)#no sh

[Groupe 3]
Router (config)#int fa0/0.3
Router (config-if)#encapsulation dot1q 3
Router (config-if)#ip address 192.168.100.1 255.255.255.0
Router (config-if)#no sh

[Groupe 4]
Router (config)#int fa0/1.4
Router (config-if)#encapsulation dot1q 4
Router (config-if)#ip address 172.20.69.1 255.255.255.0
Router (config-if)#no sh

IGTT 2016 - Projets asterisk 22


3. Configuration serveur asterisk
Dans le fichier /etc/asterisk/sip.conf, on définit pour chaque groupe :

 un compte dont le type est [friend],


 un compte de sortie dont le type est [peer]

IGTT 2016 - Projets asterisk 23


Dans le fichier /etc/asterisk/extensions.conf
Nous définissons le routage pour les appels entrants et sortants

#########Interconnexion des serveurs Asterisk#########

exten =>_59XXXX,1,Dial(SIP/outgoing/${EXTEN},30,tr)
exten =>_57XXXX,1,Dial(SIP/outgoing2/${EXTEN},30,tr)
exten =>_58XXXX,1,Dial(SIP/outgoing3/${EXTEN},30,tr)

Après configuration des serveurs asterisk de différents groupes, les abonnés IAX comme SIP
de notre serveur asterisk peuvent appeler n’importe quel abonné d’un autre groupe et vice-
versa.

IGTT 2016 - Projets asterisk 24


Projet 5 – Configuration des services
Dans ce projet, il est demandé de configurer et tester les services suivants :

 Appel vidéo.
 Messagerie vocale et alerte par mail.
 Renvoi d’appel (sur occupation, sur non réponse).
 Changement des images background de l’ip Phone connecté au serveur asterisk.
 Changement de la sonnerie (Ring) de l’IP phone connecté au serveur asterisk.

IGTT 2016 - Projets asterisk 25


Partie 1 – appel vidéo
Les appels vidéo sont pris en charge nativement par asterisk®, mais ils sont désactivés par
défaut. Pour les réactiver, nous avons juste besoin d’éditer le fichier /etc/asterisk/sip.conf en
enlevant le commentaire de la ligne videosupport=yes.

Par la suite, nous ajoutons sur le profil des abonnés SIP dont les terminaux supportent les
appels vidéo, les codecs h.263 et h.263+ développés pour la transmission de vidéo sur des
lignes à très bas débit et pour tester le service vidéo, nous avons utilisé le client X-Lite pour
Windows, version 4.9.2, téléchargeable à l’adresse http://www.counterpath.com/x-lite-
download/

 Configuration compte SIP sur le client X-Lite (Softphone > Account Settings)

IGTT 2016 - Projets asterisk 26


 Configuration des codecs audio et vidéo qui seront utilisés.

Nous avons pu établir des appels vidéo entre les abonnés SIP Tapha <562001> et Fatimata
<562008> avec une bonne qualité audio et vidéo.

IGTT 2016 - Projets asterisk 27


Partie 2 – Messagerie Vocale alerte par mail
Dans cette partie, il est demandé de configurer pour nos abonnés SIP une messagerie vocale
leur permettant d’écouter les messages vocaux laissés durant leur indisponibilité. De plus, une
notification par email sera automatiquement envoyée pour informer l’abonné qu’un message
vocal lui a été adressé.

Pour ce faire, nous aurons à éditer trois fichiers de configuration asterisk et à mettre en place
un serveur transfert SMTP pour permettre à asterisk d’envoyer des emails vers internet.

Notre choix s’est porté vers Postfix® notamment pour sa simplicité de configuration et son
interopérabilité avec Gmail.

Postfix est un serveur de messagerie électronique et un logiciel libre développé en décembre


1998 par Wietse VENEMA du Centre de Recherche d’IBM Thomas J. Watson.
Ses principaux fichiers de configuration :
 main.cf
 virtual
 aliases
 access
 master.cf
 Fichier junk (nom non standard)

Une étude récente du cabinet E-Soft concluait que 32% des serveurs mails publics au monde
fonctionnaient avec Postfix.

IGTT 2016 - Projets asterisk 28


apt-get update
apt-get install postfix
apt-get install postfix mailutils

IGTT 2016 - Projets asterisk 29


Une fois l’installation de Postfix terminé, il faut passer à la configuration en indiquant à
Postfix d’utiliser le serveur SMTP Gmail pour relayer les mails. Pour cela nous éditons le
fichier /etc/postfix/main.cf comme suit :

 Modification ligne relayhost= par

relayhost = [smtp.gmail.com]:587

 Ajout des lignes suivantes :

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_use_tls = yes

Nous allons maintenant indiquer l’adresse d’où nous voulons envoyer les mails.
A cet effet, nous avons créé le compte testpostfixgroupe1@gmail.com puis nous avons
modifié le fichier /etc/postfix/sasl_passwd en y ajoutant la ligne ci-dessous :

[smtp.gmail.com]:587 testposfixgroupe1@gmail.com:password

Nota : « password », sera remplacé par le vrai mot de passe associé au compte Gmail  !

Nous allons ensuite exécuter la série de commandes suivantes :

 Création d’une sorte de base de données pour gérer le compte créer

#postmap /etc/postfix/sasl/sasl_passwd

IGTT 2016 - Projets asterisk 30


 Génération d’un certificat de sécurité.

#cat /etc/ssl/certs/Thawte_Premium_Server_CA.pem | tee -a /etc/postfix/cacert.pem

 Redémarrage de postfix pour prendre en charge les modifications.

#service postfix reload

Nous pouvons maintenant tester le bon fonctionnement de Postfix en envoyant un email de


test depuis la console, et si tout est OK, un mail avec comme objet « Test Postfix » et
contenant le message « Test mail from postfix » devra être reçu à l’adresse indiquée.

echo "Test mail from postfix" | mail -s "Test Postfix" izdiakhate@gmail.com

*** FIN INSTALLATION ET CONFIGURATION DE POSTFIX***

Maintenant nous passons à la configuration des fichiers asterisk en commençant par le


fichier
 /etc/asterisk/voicemail.conf, où nous configurons les mailbox.

[formation]
562001 => 1234,tapha,moustapha.ba@outlook.com
562002 => 2468,izo,izdiakhate@gmail.com
562008 => ,fatima,fagassama2100@gmail.com

IGTT 2016 - Projets asterisk 31


Explication :

 562001 : numéro de boîte de messagerie


 1234 : mot de passe pour accéder à la messagerie vocale
 tapha : nom d’utilisateur
 moustapha.ba@outlook.com : email vers lequel seront envoyées les notifications.

Remarque : Pour l’utilisateur « Fatimata », un mot de passe ne sera pas demandé lors de
l’accès à la messagerie vocale puisque rien n’est configuré.  !

Dans le même fichier voicemail.conf, nous enlevons les commentaires sur les lignes
suivantes :

[general]

; Formats for writing Voicemail. Note that when using IMAP storage ;for voicemail,
only the first format specified will be used.
format=wav49|gsm|wav

; Who the e-mail notification should appear to come from


serveremail=asterisk@groupe1.com

; Should the email contain the voicemail as an attachment


attach=yes

; Maximum length of a voicemail message in seconds


maxsecs=180

; How many milliseconds to skip forward/back when rew/ff in message playback


skipms=3000

; How many seconds of silence before we end the recording


maxsilence=10

; Silence threshold (what we consider silence: the lower, the more sensitive)
silencethreshold=128

; Allow the user to compose and send a voicemail while inside


sendvoicemail=yes

; Max number of failed login attempts


maxlogins=3

IGTT 2016 - Projets asterisk 32


Et enfin nous ajoutons dans [general] le corps du mail qui sera envoyé par asterisk en cas
de réception d’un message vocal.

;Corps du mail
emaildateformat=%A, %d %B %Y a %H:%M:%S
emailsubject=[ASTERIX] Nouveau message vocal pour le ${VM_MAILBOX}
emailbody=Bonjour ${VM_NAME},\n\nVotre contact ${VM_CALLERID} a tente de vous
joindre sans succes le ${VM_DATE}, et vous a laisse un message de ${VM_DUR}
secondes. \n Vous pouvez le consulter en ouvrant le fichier audio joint au mail ou en
appelant votre boite vocale\n\n\tBonne journee !\n\n\t\t\t\t--Asterix\n
pagerfromstring=[Asterix]
pagersubject=Nouveau message vocal
pagerbody=Nouveau message de ${VM_DUR} secondes dans la boite ${VM_MAILBOX}
laisse le ${VM_DATE} par ${VM_CALLERID}.

 Dans le fichier /etc/asterisk/sip.conf, pour chaque abonné bénéficiant du service


voicemail, il faut configurer le champ mailbox. Nous avons choisi de faire correspondre
le numéro de mailbox au numéro de l’abonné SIP mais cela ne constitue pas une
obligation.

[562001]
Mailbox= 562001
[562002]
Mailbox=562002
[562008]
Mailbox=562008

 Enfin dans le fichier /etc/asterisk/extensions.conf, il faut ajouter dans le contexte


formation les routages suivants :

IGTT 2016 - Projets asterisk 33


[formation]

exten => _562XXX,1, Dial(SIP/${EXTEN}, 15, tr)

exten => _562XXX,2, VoiceMail(${EXTEN}@formation)

exten => 600,1,VoiceMailMain(${CALLERID(num)}@formation)

Explication :

 Lorsqu’un abonné ayant le préfixe 562 est appelé, s’il ne répond pas au bout de 15s, on passe
à priorité 2 et l’appelant est connecté à la Messagerie vocale du N° appelé.
 La 3ème ligne crée le numéro 600 comme numéro de messagerie vocale. Lorsqu’un abonné
l’appelle, l’application VoiceMailMain() est lancée et la variable CALLERID est remplacée par le
numéro de l’appelant pour le connecter à sa boite vocale.

Une fois les configurations mises en place, le service messagerie vocale avec alerte par mail a
été testé avec succès.

La capture d’écran ci-dessous montre la notification par mail reçue après qu’un utilisateur ait
laissé un message vocal. Le message vocal est attaché au mail et peut être téléchargé et
écouté directement.

IGTT 2016 - Projets asterisk 34


Partie 3 – Renvoi d’appel (sur occupation ou non réponse)
a) Renvoi sur non-réponse
Dans cette configuration, lorsque le client SIP <562002> ne répond pas à un appel au
bout de 15s, l’appelant est automatiquement transféré sur un second numéro
<562008>. Si ce dernier numéro est également injoignable, l’appel est finalement
transféré à la boite vocale.

exten => 562002,1, Dial(SIP/562002, 15, tr)

exten => 562002,2, Dial(SIP/562008, 10)

exten => 562002,2, VoiceMail(${EXTEN}@formation)

b) Renvoi d’appel sur occupation


Lorsque le client SIP <562003> est appelé pendant qu’il est communication, il faut
savoir que l’application DIAL est programmée pour passer automatiquement à la
priorité n+101.

exten => 562003,1, Dial(SIP/562003, 15, tr)

exten => 562003,102, VoiceMail(${EXTEN}@formation)

Nota : Toutefois, cette fonctionnalité appelée priority-jumping est dépréciée sur les
nouvelles versions d’asterisk ; Elle est remplacée par l’application GOTOIF avec
l’application DIALSTATUS qui peut prendre les valeurs busy, unavailable etc.

IGTT 2016 - Projets asterisk 35


Partie 4 – Changement image Background Cisco IP Phone
Dans cette partie, il est demandé de charger de nouvelles images de fond d’écran sur le Cisco
IP Phone afin d’offrir aux utilisateurs davantage de moyens de personnalisation. Pour ce faire,
il faudra respecter des critères tels que le format et la taille des images, et placer les fichiers
dans bon répertoire d’un serveur TFTP.

Le tableau ci-dessous donne les caractéristiques en fonction du modèle de poste IP Cisco.

Pour convertir nos images au format png, nous avons utilisé le site web http://image.online-
convert.com/fr/convertir-en-png et renseigné les champs requis en fonction de notre
modèle de poste IP [7945]. Voir encadré rouge image précédente.

Nous avons pu ainsi créer trois vignettes (TN-backgroundG1, TN-backgroundG2, TN-


backgroundG3) et trois images grand format (backgroundG1, backgroundG2, backgroundG3)
qui sont ensuite placées dans le répertoire Desktops/320x212x16 de notre serveur TFTP.

Pour que les images soient uploadées par le poste Cisco, il faut éditer le fichier List.xml qui
définit un type d’élément appelé ImageItem et qui possède deux attributs à savoir :

 Image qui spécifie au poste IP l’emplacement de la vignette

IGTT 2016 - Projets asterisk 36


 URL qui spécifie au poste IP, l’emplacement de l’image grand format.

Nota : Le fichier List.xml peut définir jusqu’à 50 images background !

<CiscoIPPhoneImageList>

<ImageItem Image="TFTP:Desktops/320x212x16/TN-backgroundG1.png"
URL="TFTP:Desktops/320x212x16/backgroundG1.png"/>

<ImageItem Image="TFTP:Desktops/320x212x16/TN-backgroundG2.png"
URL="TFTP:Desktops/320x212x16/backgroundG2.png"/>

Image="TFTP:Desktops/320x212x16/TN-backgroundG3.png"
URL="TFTP:Desktops/320x212x16/backgroundG3.png"/>

</CiscoIPPhoneImageList>

IGTT 2016 - Projets asterisk 37


Partie 5 – Changement sonnerie par défaut Cisco IP Phone
Dans cette dernière partie il est demandé de charger des nouvelles sonneries dans le poste
IP Cisco afin d’offrir aux utilisateurs davantage de moyens de personnalisation.

La sonnerie à uploader devra respecter les critères suivants :

 Raw PCM (no header)


 8000 samples per second
 8 bits per sample
 mu-law compression
 Maximum ring size – 16080 (exactement 2 secondes!)
 Minimum ring size – 240
 Number of samples in the ring evenly divisible by 240
 Ring starts and ends at the zero crossing.

Toutefois, nous avons trouvé un moyen très simple pour créer des sonneries pour le Poste ip
Cisco en utilisant le logiciel Audacity® pour Windows.

Ci-dessous la procédure de création de la sonnerie au format raw.

 Importer le morceau de musique

IGTT 2016 - Projets asterisk 38


 Fixer la fréquence d’échantillonnage à 8000Hz

 Séparer les canaux stéréo en mono

IGTT 2016 - Projets asterisk 39


 Supprimer un canal

 Sélectionner la partie du morceau qui sera la sonnerie (durée max 30s)

 Exporter l’audio sélectionnée vers le format raw, en utilisant la loi de compression


«µ»

IGTT 2016 - Projets asterisk 40


Une fois le fichier raw créé, on le place à la racine du serveur TFTP en plus du fichier
RingList.xml qui sera édité en renseignant :
 DisplayName : nom affiché dans le menu de sélection de sonnerie
 FileName : nom du fichier en raw

IGTT 2016 - Projets asterisk 41


Conclusion

Beaucoup de logiciels libres ont été développés pour contrer la complexité des solutions PBX
propriétaires, mais Asterisk reste sans doute l’IPBX plus utilisé à ce jour. Ses fonctionnalités
classiques et innovantes et sa facilité de configuration adossées à l’omniprésence du protocole
IP sur Internet font de ce logiciel l’un des fers de lance du succès de la TOIP aujourd’hui.

En somme nous pouvons dire que ces projets nous ont permis de nous familiariser les
protocoles de la TOIP les plus populaires à savoir SIP, IAX, SCCP et de configurer un certain
nombre de services qui donnent une idée de la toute-puissance d’asterisk, présentée par son
créateur comme le futur de la téléphonie.

Ces différents projets nous ont également permis de nous familiariser avec l’univers de la TOIP
et l’environnement LINUX avec lequel nous avons travaillé et de renforcer nos capacités de
travailler en équipe.

IGTT 2016 - Projets asterisk 42


Bibliographie - Webographie

 http://www.gnugk.org/gnugk-manual-fr-3.html

 http://www.cisco.com/c/en/us/support/docs/voice-unified-communications/unified-

communications-manager-express/68483-cme-add-custom-rings.html

 http://www.it-connect.fr/configurer-postfix-pour-envoyer-des-mails-avec-gmail/

 www.wikipedia.org/fr

 Mémoire de fin d’étude Ganga Doungou Innocent

IGTT 2016 - Projets asterisk 43

Vous aimerez peut-être aussi