Académique Documents
Professionnel Documents
Culture Documents
© 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
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.
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
#mkdir /usr/src/asterisk
#cd /usr/src/asterisk
Décompression du paquet :
#gunzip asterisk-1.8.5.0.tar.gz
#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
#make menuselect
Compilation de Asterisk :
#make
#make install
#make samples
#make config
Commande Utilité
#apt-get update
#apt-get install gnugk
#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 :
#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.
#cd /etc/asterisk/
#cp chan_h323.conf ooh323.conf
#gedit ooh323.conf
#/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.
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.
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
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.
Les modifications dans les deux fichiers vont porter sur les lignes suivantes :
<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.
https://sourceforge.net/projects/chan-sccp-b/files/
#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
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
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
[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é
[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
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.
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.
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
[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
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.
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.
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)
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.
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.
Une étude récente du cabinet E-Soft concluait que 32% des serveurs mails publics au monde
fonctionnaient avec Postfix.
relayhost = [smtp.gmail.com]:587
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 !
#postmap /etc/postfix/sasl/sasl_passwd
[formation]
562001 => 1234,tapha,moustapha.ba@outlook.com
562002 => 2468,izo,izdiakhate@gmail.com
562008 => ,fatima,fagassama2100@gmail.com
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
; Silence threshold (what we consider silence: the lower, the more sensitive)
silencethreshold=128
;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}.
[562001]
Mailbox= 562001
[562002]
Mailbox=562002
[562008]
Mailbox=562008
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.
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.
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.
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 :
<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>
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.
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.
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