Rapport de pfe gestion de parc informatique et Helpdesk
Amadou Bory Diallo (document sur la téléphonie sur IP)
1. RÉPUBLIQUE DU SÉNÉGAL
Un peuple, Un but, Une foi
Ministère de l’Enseignement Supérieur, de la Recherche et de l’Innovation
École Centrale des logiciels Libres et de Télécommunications
Téléphonie sur IP & services
Présenté par : Prof :
Amadou Bory DIALLO Dr Samuel OUYA
2. Sommaire
Introduction..........................................................................................................................................4
Avantages de la ToIP.........................................................................................4
Les principaux atouts de la téléphonie sur IP.......................................................5
Le protocole SIP...................................................................................................................................5
Les entités de SIP........................................................................................................................6
Quelques requêtes SIP........................................................................................6
Les principales réponses SIP...............................................................................7
I. Asterisk..............................................................................................................................................7
Fonctionnalités d’Asterisk...................................................................................8
Quelques fichiers de configuration.......................................................................8
Installation d’Asterisk.........................................................................................9
Explication du rôle de quelques fichiers d’Asterisk.............................................13
Mise en place de services sous Asterisk.............................................................14
1. Activation de la langue française sur Asterisk......................................................................14
2. Création de comptes et tests des premiers appels audios......................................................15
3. Les appels Vidéos..................................................................................................................18
4. Prise en charge de la boite vocale.........................................................................................20
5. Personnalisation de sonnerie.................................................................................................22
5.1 Avec une classe de musique..........................................................................................22
5.2 Avec la fréquence d’une radio.......................................................................................23
6. Inclusion de contextes...........................................................................................................24
7. La conférence de base...........................................................................................................28
8. Mise en Place d’un centre d’appel........................................................................................28
9. Personnalisation de la sonnerie selon l’appelant...................................................................31
10. Messagerie instantanée avec Asterisk.................................................................................33
11. Asterisk & le PAP de Cisco.................................................................................................37
Architecture..........................................................................................................................38
Explication de l’architecture................................................................................................38
But de la configuration.........................................................................................................38
Mise en place........................................................................................................................38
Accès à l’interface du PAP...................................................................................................39
II. ToIP en environnement CISCO.....................................................................................................44
Le protocole SCCP............................................................................................44
Étapes d’enregistrement d’un client SCCP...............................................................................44
Configuration d’un CUCME ou CME..................................................................45
Configuration du CME comme contrôleur SCCP.....................................................................46
Configuration du CME comme contrôleur SIP.........................................................................53
III. Trunk entre un serveur Asterisk & un serveur CME....................................................................58
Configuration côté Asterisk...............................................................................59
Configuration du CME......................................................................................61
Trunk CME/SCCP & Asterisk.............................................................................64
Gestion de boîtes vocales..................................................................................66
IV. Asterisk comme contrôleur SCCP................................................................................................70
Mise en œuvre.................................................................................................70
3. V. Kamailio.........................................................................................................................................85
1. Installation de Kamailio..............................................................................85
2. Configuration du serveur SIP.......................................................................85
3. Création de la base de données de kamailio.................................................87
4. Création des utilisateurs..............................................................................89
Test d’appels..............................................................................................................................91
Test d’envoi de SMS.................................................................................................................91
Test appels vidéo.......................................................................................................................93
VI. Trunk CallManager Express & KAMAILIO...............................................................................94
Config côté CME..............................................................................................94
Configurations Coté Kamailio............................................................................98
Définition du dialplan sur le CME...................................................................100
Test 1 : Kamailio ===> CME..........................................................................100
Test 2 : CME ===> Kamailio..........................................................................102
VII. Les enregistrements SRV & NAPTR........................................................................................103
7.1 : Définition de NAPTR..............................................................................103
7.2 : Définition de SRV...................................................................................104
7.3 : Objectifs................................................................................................104
1. Mise en place du DNS.......................................................................................................105
Les enregistrements SRV........................................................................................................105
VIII. Trunk Kamailio & Asterisk......................................................................................................114
Config côté Asterisk........................................................................................114
Configuration côté kamailio.............................................................................115
IX. Freeswitch...................................................................................................................................118
1. Installation.................................................................................................119
2. Démarrage de Freeswitch............................................................................126
3. Les services de bases de Freeswitch.............................................................128
3.1. Configuration des téléphones SIP et tests d’appels..........................................................128
3.2 Création de comptes SIP sur Freeswitch...........................................................................130
3.3 Ajout d’un ensemble de comptes......................................................................................134
3.4 Gestion des conférences....................................................................................................136
Conclusion........................................................................................................................................141
4. Introduction
La voix sur IP (VoIP, Voice over IP) est une technologie
de communication vocale en pleine émergence. Elle fait
partie d'un tournant dans le monde de la communication.
En effet, la convergence du triple play (voix, données et
vidéo) fait partie des enjeux principaux des acteurs de la
télécommunication.
Aujourd'hui au lieu de disposer à la fois d'un réseau
informatique et d'un réseau téléphonique commuté (RTC), l'entreprise peut donc,
grâce à la VoIP, tout fusionner sur un même réseau.
Comme toute innovation technologique, la VoIP non seulement simplifie l'exploitation
des réseaux mais aussi économise de l'argent à ses clients.
Les entreprises dépensent énormément en communications téléphoniques, or le prix
des communications de la ToIP (Téléphonie sur IP) est dérisoire en comparaison. En
particulier, plus les interlocuteurs sont éloignés, plus la différence de prix est
intéressante. De plus, la téléphonie sur IP utilise jusqu'à dix fois moins de bande
passante que la téléphonie traditionnelle. Il semblerait que les entreprises après avoir
émis un certain nombre de doutes sur la qualité de services, soient désormais
convaincues de la plus grande maturité technologique des solutions VoIP proposées
sur le marché.
Le scénario vers lequel va s'orienter la téléphonie sur IP dépend beaucoup de
l'évolution du réseau lui-même. En effet, si internet garde sa configuration actuelle où
elle est essentiellement dimensionnée en fonction d'une qualité de service moyenne
pour la transmission des données, cependant cette nouvelle technologie constitue une
solution idéale pour le cas d'interconnexion de PBX d'entreprises. En effet, les
entreprises multi-sites cherchent à économiser des dépenses énormes dues aux
communications inter-sites. Il serait donc envisageable de profiter de cette nouvelle
technologie émergente afin d'assurer cette interconnexion.
Avantages de la ToIP
La téléphonie sur IP séduit les entreprises avant tout grâce aux réductions de
dépenses qu’elle permet : appels inter-sites gratuits, appels lointains à tarifs très bas,
pas de frais de câblage supplémentaires. Mais la téléphonie IP propose encore
d’autres avantages...
Elle permet la transmission des communications vocales via des réseaux au protocole
IP (en clair, par Internet dans la plupart des cas) et permet la convergence de tous
les postes informatiques d’une entreprise en un seul réseau unifié, bien. Mais quels
sont les avantages que procure la ToIP aux entreprises ?
5. Les principaux atouts de la téléphonie sur IP
➢ Coûts d’installation : Économie sur les frais de câblage si vous possédez déjà
un réseau Internet d’entreprise. La téléphonie IP utilise la même connectique.
En d’autres termes, pas d’achat de câbles et de frais de pose à assumer.
➢ Coûts de communication : La téléphonie IP demande peu de bande passante.
Les entreprises peuvent donc constituer un réseau privé pour relier plusieurs
sites distants entre eux. Les communications téléphoniques entre ces derniers
sont alors totalement gratuites.
➢ Simplicité de gestion : La téléphonie traditionnelle obligeait les équipes
techniques et informatiques à composer avec des lignes séparées : les données
informatiques d’un coté, données « voix » de l’autre. Grâce à la technologie
Voix sur IP, cette distinction disparaît puisqu’il s’agit d’unique et même
réseau. Les opérations de maintenance ou d’évolution sont donc simplifiées, ce
qui constitue une source de gains de productivité pour l’entreprise.
➢ Évolutivité : Dans une architecture VoIP, il est très facile d’ajouter des postes
supplémentaires ou d’agrandir le réseau, ce qui n’était pas le cas avec la
téléphonie non-IP.
Le protocole SIP
Session Initiation Protocol (SIP) est un protocole TCP/IP de couche application
normalisé et standardisé par l’IETF (RFC 3261). Il a été conçu pour établir, modifier
et terminer des sessions multimédia. Il prend en charge l’authentification et la
localisation de multiples participants. S’il se charge de la négociation des médias, il
laisse le soin à d’autres protocoles de transporter du texte, de la voix ou de la vidéo.
SIP fonctionne aussi bien avec IPv4 qu’avec IPv6. Il est supporté par TCP ou UDP sur
le port 5060 par défaut. La version sécurisée SIP-TLS utilise par défaut le port TCP
5061.
SIP ne fournit pas de services. Plus justement, il fournit des primitives qui peuvent
être utilisées pour mettre en œuvre différents services. Par exemple, SIP peut localiser
un utilisateur et livrer un objet opaque à l’endroit où il se trouve. Une seule
primitive est normalement utilisée pour fournir plusieurs services différents.
Le protocole SIP travail de concert avec d’autres protocoles VoIP afin de fournir le
nécessaire depuis la signalisation jusqu’au transport média en passant par la qualité
de service (QoS). Voici d’ailleurs un schéma qui explique clairement ce qui a été
avancé plus haut :
6. Les entités de SIP
Le User Agent
Le serveur proxy
Le serveur d’enregistrement
Le serveur de localisation
Le B2BUA (Back to Back User Agent)
Quelques requêtes SIP
INVITE : établit une session
ACK : Confirme la requête INVITE
BYE : Met fin à une session
7. CANCEL : Annule l’établissement de la session
REGISTER : Donne l’emplacement de l’utilisateur
SUBSCRIBE : Souscrit à la notification du notifiant
NOTIFY : Prévient l’abonné d’un nouvel événement
UPDATE : Modifie l’état d’une session.
Les principales réponses SIP
1XX : Réponses informatives
2XX : Réponses réussies
3XX : Réponses de renvoi
4XX : Échec de requêtes
5XX : Erreurs de serveur
6XX : Échec général
Les grands fournisseurs de solutions de ToIP
Asterisk
Cisco (CUCM & CUCME)
Freeswitch
Kamailio
Avaya,...
I. Asterisk
Asterisk est une solution de téléphonie sur IP, Open Source. Il s’agit donc d’une
solution gratuite, avec une communauté très active. Il a été développé par la société
Digium.
Asterisk est disponible sous Linux et Windows, même si la version Linux utilisée est
de loin la moins rependue. Il fait office d’IPBX, mais il est aussi capable de
s’interfacer avec un réseau de téléphonie analogique, à l’aide de cartes additionnelles.
Asterisk peut donc faire office d’IPBX et de PABX.
8. Un serveur Asterisk permet donc de faire de la VoIP ainsi que de la téléphonie
analogique. En plus d’être gratuit, Asterisk est donc aussi très complet et supporte de
très nombreux codecs audio, dont le G.711 (u-Law et a-Law), le G.729, Opus, ...
Fonctionnalités d’Asterisk
Voici une liste non exhaustive des fonctionnalités que nous offre Asterisk :
Conférence
Musique d’attente
File d’attente
Groupement d’appel
Messagerie vocale
Transfert d’appel
Transcodage entre différents codecs
Interface de développement de services (ARI
Notification mail en cas de message (avec message audio en PJ)
IVR (standard automatique avec choix au clavier)
Synthèse vocale
Chiffrement des appels
Ne pas déranger
Parking d’appel
Failover
Etc...
Quelques fichiers de configuration
Messagerie vocale voicemail.conf
Parking d’appel features.conf
Transfert d’appels features.conf
Conférence meetme.conf
Centre d’appels queues.conf ; agents.conf
Musique d’attente musiconhold.conf
9. Installation d’Asterisk
La méthode la plus respectueuse et la plus efficace d’installer Asterisk est : soit se
rendre sur son site officiel en cliquant ici et choisir la version souhaitée puis la
télécharger, soit le faire en ligne de commandes si nous connaissons déjà la version
dont nous avons besoins. Dans notre cas, c’est la version 16 qui nous intéresse. Voici
donc les actions à faire :
# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
Il atterrira dans le répertoire dans lequel vous y étiez lors de l’exécution de la
commande
Désarchivez et décompressez dans un dossier de choix, personnellement je
préfère /usr/src
# tar -xzf asterisk-16-current.tar.gz -C /usr/src/
# cd /usr/src/asterisk-16.18.0
# contrib/scripts/install_prereq install
Pour la prise en compte du codec audio opus, et du codecs vidéo vp8 il faudra faire
ceci :
10. # apt install libopus-dev libvpx-dev -y
si nous voulons gérer facilement le format mp3, il faudra exécuter le script
suivant :
# contrib/scripts/get_mp3_source.sh
Dans certains cas, lors de son installation, Asterisk vous dira qu’il lui manque des
prérequis, il faudra donc les installer avec :
# apt install libxml2-dev libxml2-utils libcurl4-openssl-dev libeditline-dev libsqlite3-
dev curl autoconf gcc g++ build-essential linux-headers-$(uname -r) libssl-dev openssl
libc-dev ncurses-dev -y
# ./bootstrap
# ./configure
NB : Il arrive qu’on nous génère des erreurs lors de l’exécution de cette commande.
La solution est de se rendre dans le répertoire /tmp puis exécuter la commande
suivante :
# wget https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/2.10/
pjproject-2.10.tar.bz2
Et ensuite reprendre le ./configure qui devrait finir par un truc de ce genre :
11. Pour allons activer les modules qui nous intéressent en tapant la commande :
# make menuselect
Activer le format MP3 pour supporter les sons MP3
12. Activer le codec opus
Nous avons prévu tout de même d’activer la langue française sur notre
Asterisk, donc nous allons activer les modules qui nous permettent de le faire
Les autres modules restant
13. Nous allons sauvegarder et sortir pour faire les actions suivantes :
make pour compiler asterisk
make install pour installer les fonctionnalités choisies
make samples pour installer les fichiers de configurations
make config pour générer les scripts de démarrage de Asterisk
Explication du rôle de quelques fichiers d’Asterisk
Les fichiers dans /etc/asterisk Leurs signification
sip.conf Fichier dans lequel on crée des comptes.
Il contient des paramètres importants
comme : videosupport=yes qui permet
d’activer la prise en charge de la
visiophonie, nous avons aussi
language=en qu’il faudra mettre à fr pour
activer la langue française, et beaucoup
d’autres paramètres.
extensions.conf Fichier dans lequel on définit le plan de
numérotation, et les actions à faire selon
les évènements
voicemail.conf Fichier dans lequel on définit le contexte
de la boite vocale et les comptes
14. concernés par cette boîte vocale
confbridge.conf Fichier ans lequel on définit les
conférences audios et vidéos
musiconhold.conf Fichier dans lequel on crée les classes de
musique que nous pourrons utiliser
comme musique d’attente ou sonnerie
queues.conf Fichier dans lequel on crée des files
d’attente des centres d’appels.
agents.conf Fichier de création des agents répondant
aux appels dans les centres d’appels
features.conf Fichier ou on peut trouver des
combinaisons de touches a faire pour
utiliser certaines fonctionnalités d’asterisk
telles que : enregistrements d’appels,
fonction patron secrétaire, mise en attente
d’appels(parking)
modules.conf Fichier gérant les modules d’Asterisk
Note : Pour les versions 18 de Asterisk, il existe au moins deux types de canaux : le
SIP et le PJSIP qui ne peuvent pas être activés à la fois. Donc pour éviter un conflit
entre les deux canaux, il faudra éditer le fichier modules.conf et décharger le module
qui gère le canal qui ne vous intéresse pas.
Mise en place de services sous Asterisk
Asterisk étant un serveur SIP puissant qui se respecte, il exige donc de configurer les
services avant de les utiliser.
1. Activation de la langue française sur Asterisk
# nano /etc/asterisk/sip.conf
Nous le remplaçons par ceci :
15. Nous allons ensuite faire les actions suivantes
# adduser asterisk
# mkdir /var/lib/asterisk/sounds/fr
# cd /var/lib/asterisk/sounds/fr
# wget -O core.zip https://www.asterisksounds.org/fr-fr/download/asterisk-sounds-
core-fr-FR-sln16.zip
# wget -O extra.zip https://www.asterisksounds.org/fr-fr/download/asterisk-sounds-
extra-fr-FR-sln16.zip
# unzip core.zip
# unzip extra.zip
# chown -R asterisk.asterisk /var/lib/asterisk/sounds/fr
# find /var/lib/asterisk/sounds/fr -type d -exec chmod 0775 {} ;
A partir de maintenant, notre Asterisk parle français !
2. Création de comptes et tests des premiers appels audios
Tous les fichiers de configurations se trouvent dans le dossier /etc/asterisk
# vim /etc/asterisk/sip.conf
[bory]
defaultuser = bory
host = dynamic
type = friend
secret = passer
context = telephonie
16. [ibrahima]
defaultuser = ibrahima
host = dynamic
type = friend
secret = passer
context = telephonie
[aminata]
defaultuser = aminata
host = dynamic
type = friend
secret = passer
context = telephonie
Nous venons de créer trois comptes.
Nous allons maintenant définir leur plan de numérotation
# nano /etc/asterisk/extensions.conf
[telephonie]
exten => 1000,1,Dial(SIP/bory,40,tr)
exten => 1001,1,Dial(SIP/ibrahima,40,tr)
exten => 1002,1,Dial(SIP/aminata,40,tr)
Si c’est la première fois de lancer Asterisk, nous le ferons comme suit :
# asterisk
# asterisk -rvvvvvvvvvvvvvvvvvvvvvvvvv
17. Lorsque les trois utilisateurs s’enregistrent, voici la réaction du serveur :
Affichons la liste des comptes
Test d’appels
L’utilisateur aminata utilise microsip comme softphone
Quand on lance Microsip, nous allons procéder ainsi pour créer un compte
18. La capture ci-dessous montre l’utilisateur bory qui reçoit un appel de aminata
3. Les appels Vidéos
Dans sip.conf, nous allons activer le paramètre videosupport=yes
Puis ajouter le paramètre allow = h263,vp8 au niveau de chaque compte comme
suit :
[bory]
type = friend
host = dynamic
defaultuser = bory
secret = passer
context = telephonie
19. allow = h263,vp8
[ibrahima]
type = friend
host = dynamic
defaultuser = ibrahima
secret = passer
context = telephonie
allow = h263,vp8
Place au test
Test 1 : Avec le softphone Zoiper
20. Test 2 : Utilisation de blink
Blink est un logiciel de collaboration ultra polyvalent et très puissant.
4. Prise en charge de la boite vocale
Dans extensions.conf
Dans voicemail.conf
La syntaxe est la suivante :
[Le_contexte_de_la_boite_vocale]
numéro => mot_de_passe,Le_nom_utilisant_cette_boite_vocale
21. Nous allons maintenant définir un numéro qui permettra aux abonnés d’accéder à
leur boite vocale
Toujours dans extensions.conf
Place au test
Pour le test, l’utilisateur bory va appeler ibrahima qui ne va pas décrocher. Au bout
de 20 secondes, le système lui dira de laisser un message vocale ensuite d’appuyer
sur Diez (#) ou bien de raccrocher.
Bory va composer le 200 pour accéder à sa boite vocale : Il va entendre une voix lui
disant de saisir le numéro de sa boite vocale, une autre voix lui demandera de saisir
le mot de passe de sa boite vocale. Les captures ci-dessous sont très éloquentes pour
comprendre ce qui se passe.
22. La réaction du serveur
Il a écouté ses différents messages vocaux !
5. Personnalisation de sonnerie
5.1 Avec une classe de musique
Avec cette config, l’appelant écoutera une musique MP3 que l’admin a définie à
l’appelé.
Il faut installer le prérequis mpg123
Créer la classe de musique
# vim musiconhold.conf
[sonnerie]
mode=custom
directory=/var/lib/asterisk/groupe
application=/usr/bin/mpg123 -q -r 8000 -f 8192 -b 2048 --mono -s
23. Créer le dossier devant contenir la musique et y mettre la musique en question
Dans extensions.conf, mettre le nom de la classe définie à l’utilisateur concerné
Place au test
N’importe quel utilisateur essayant d’appeler le user bory écoutera une musique à la
place de la sonnerie. Voici d’ailleurs ce qui se passe dans la console du serveur :
Nous remarquons que la musique joue.
5.2 Avec la fréquence d’une radio
Dans cette partie, au lieu d’écouter une musique, l’appelant écoutera une radio.
Toujours dans le fichier musiconhold.conf
24. Dans extensions.conf
Ici nous avons ajouté cette classe au user ibrahima
Place au test
N’importe quel user essayant d’appeler ibrahima écoutera une Webradio
6. Inclusion de contextes
Il y a une règle qui dit que quand un utilisateur compose un numéro, le système
cherche ce numéro dans le contexte cet utilisateur. En claire, par défaut deux
utilisateurs se trouvant dans deux contextes différents ne peuvent pas communiquer.
Nous allons créer un compte utilisateur en le mettant dans un contexte différent de
celui déjà existant
# vim sip.conf
25. # vim extensions.conf
Nous avons fait des inclusions de contexte de part et d’autre afin de permettre aux
abonnés de communiquer avec des utilisateurs d’autres contextes en appelant ou en
étant appelé.
Place au test
L’utilisateur bory (1000) qui appelle le 100
26. de l’autre côté
Test dans le sens inverse
L’utilisateur dont le numéro est 100 tente d’appeler bory dont le numéro est 1000
27. ça sonne de l’autre côté
Nos utilisateurs de contextes différents arrivent à communiquer sans aucun
problème !
28. 7. La conférence de base
Un seul numéro à composer pour être en communication avec tous ceux qui ont
composé ce numéro. C’est la philosophie de la conférence !
Dans le confbridge.conf
[conference]
type=bridge
video_mode = sfu
Dans extension.conf
exten => 777,1,Confbridge(conference)
Place au test
Pour le test, il suffit aux utilisateurs de composer le 777 pour accéder à la
conférence !
8. Mise en Place d’un centre d’appel
Un abonné souhaitant avoir des informations sur un quelconque service, n’a qu’à
composer un numéro qui aura pour effet de faire sonner le téléphone de plusieurs
agents qui pourront lui apporter d’amples informations sur son sujet. C’est un peu ça
le centre d’appels !
Dans le fichier queues.conf
# vim queues.conf
[centre]
musicclass=default
strategy=fewestcalls
joinempty=yes
member =>Local/1000@telephonie
member =>Local/1001@telephonie
29. Notions de stratégie
strategy=fewestcalls ===> L’agent ayant reçu le moins d’appels sera celui à qui le
prochain appel sera destiné !
strategy=ringall ===> Les téléphones de tous les agents vont sonner en temps à
l’arrivée d’un appel
Ensuite dans :
# vim extensions.conf
exten => 9999,1,Answer()
exten => 9999,2,Set(CHANNEL(musicclass)=sonnerie)
exten => 9999,3,Queue(centre)
Nous avons utilisé notre classe de musique qui s’appelle sonnerie pour accueillir les
clients !
Affichons la liste des agents qui font partie du centre
Place au test :
Lorsqu’un client compose le 9999, il est censé écouter une musique. Pendant ce
temps il y a le téléphone d’un agent qui sonne. Voici d’ailleurs la réaction du
serveur lorsque ce numéro est composé par l’abonné binta :
30. Lorsqu’un utilisateur compose le 9999 pour accéder au centre, l’appelle sera routé
grâce à la politique(fewestcalls) du paramètre strategy qui permet de rediriger
l’appelle vers l’agent qui a reçu le moins d’appels.
Gestion des agents du centre d’appels en ligne de commande
Ajout d’un membre dans le centre d’appels
> queue add member SIP/bory to centre
Cette commande permet d’ajouter le téléphone de bory comme agent devant répondre
aux appels entrant dans la file d’attente qui s’appelle centre.
Suppression d’un agent
> queue remove memeber SIP/bory centre
31. Nous venons de retirer le téléphone de bory de la la file d’attente centre.
9. Personnalisation de la sonnerie selon l’appelant
Nous allons personnaliser la sonnerie de bory selon l’appelant. Si c’est ibrahima qui
appelle, la sonnerie sera différente de celle que binta va écouter si c’est elle qui
appelle bory.
Pour cela, nous allons définir deux classes de musiques
# vim musiconhold.conf
[ibrahima]
mode=custom
directory=/var/lib/asterisk/groupe
application=/usr/bin/mpg123 -q -r 8000 -f 8192 -b 2048 --mono -s
[binta]
mode=custom
directory=/var/lib/asterisk/binta
application=/usr/bin/mpg123 -q -r 8000 -f 8192 -b 2048 --mono -s
Comme nous le constatons, les deux classes ont des dossiers de stockage de sons
différents !
Ensuite ajouter la ligne suivante au niveau de chaque compte dans sip.conf
#vim sip.conf
callerid= "le nom"<le numéro>
32. Voici en claire ce qui se trouve dans sip.conf
[bory]
type=friend
host=dynamic
defaultuser=bory
secret=passer
context=telephonie
allow=h263,vp8
callerid="bory"<1000>
[ibrahima]
type=friend
host=dynamic
defaultuser=ibrahima
secret=passer
context=telephonie
allow=h263,vp8
callerid="ibrahima"<1001>
[binta]
type=friend
host=dynamic
defaultuser=binta
secret=passer
context=telephonie
allow=h263,vp8
callerid="binta"<1002>
Dire maintenant au système de faire la différence entre les appelants.
# vim extensions.conf
33. exten => 1000,1,Dial(SIP/bory,20,trm(${CALLERID(name)}))
C’est la ligne qui fait toute la différence dans extensions.conf
Place au test :
Si c’est l’utilisateur ibrahima qui appelle Bory, voici la réaction du serveur :
Si c’est binta qui appelle, la réaction du serveur sera différente de la précédente
Et voilà, la personnalisation de sonnerie est faite avec succès !
10. Messagerie instantanée avec Asterisk
Asterisk propose même de la messagerie texte entre ses abonnés, comme chez les
opérateurs classique. Trop stylé !
# nano sip.conf
Donner les valeurs suivantes aux paramètres suivants en les dé-commentant bien-
sûr !
accept_outofcall_message=yes
outofcall_message_context=sms
auth_message_requests=yes
34. Créer des utilisateurs si c’est pas encore fait :
Nous allons créer deux comptes dans sip.conf
[100]
username = 100
host = dynamic
context = ec2lt
secret = passer
type = friend
[101]
username = 101
host = dynamic
context = ec2lt
secret = passer
type = friend
Inclure le contexte des utilisateurs dans les contextes [public] et [default]
# vim extensions.conf
Nous allons définir le plan de numérotation. Ça c’est du classique !
[ec2lt]
exten => _X.,1,Dial(SIP/${EXTEN},25)
Définition du contexte SMS.
Attention : Le contexte [sms] sera définit sous le contexte [ec2lt]
35. [sms]
; Contexte des sms
; Affichage des détails du msg à la console
exten => _.,1,NoOp(SMS receiving dialplan invoked)
exten => _.,n,NoOp(To ${MESSAGE(to)})
exten => _.,n,NoOp(From ${MESSAGE(from)})
exten => _.,n,NoOp(Body ${MESSAGE(body)})
;
; Construction des paramétres de MessageSend()
exten => _.,n,Set(ACTUALTO=${CUT(MESSAGE(to),@,1)})
exten => _.,n,Set(ACTUALFROM=${CUT(MESSAGE(from),<,2)})
exten => _.,n,Set(ACTUALFROM=${CUT(ACTUALFROM,@,1)})
exten => _.,n,Set(ACTUALFROM=${CUT(ACTUALFROM,:,2)})
;
; Envoie du message
exten => _.,n,MessageSend(${ACTUALTO},${ACTUALFROM} ${MESSAGE(from)})
exten => _.,n,NoOp(Status : ${MESSAGE_SEND_STATUS})
exten => _.,n,GotoIf($["${MESSAGE_SEND_STATUS}" != "SUCCESS"]?sendfailedmsg)
exten => _.,n,Hangup()
Place au test
L’utilisateur 101 va envoyer un texto au 100
37. Le message s’affiche en claire sur le serveur, grâce au paramètre Body.
11. Asterisk & le PAP de Cisco
L'adaptateur Cisco PAP2 permet l'accès à un service de téléphonie sur IP (voice over
IP) offrant de nombreuses fonctions de haute qualité via votre connexion Internet
haut débit. ... Vous avez une réception téléphonique claire et des connexions fax
fiables, même lorsque vous utilisez Internet en même temps.
Il permet :
D'appeler et de recevoir des appels par la ligne téléphonique classique ou
Gratuitement par Internet sans changer de téléphone
Il a : 2 ports RJ11 pour téléphones traditionnels ou fax avec 2 n° de téléphone
indépendants
1 port RJ-45 pour connexions Ethernet 10/100 Mbits
Protocole SIP
Compatibilité avec toutes les fonctions de votre téléphone
Il ressemble à ceci :
38. Architecture
L’architecture ci-dessous donne une vue globale de ce qui va être réalisé dans cette
partie
Explication de l’architecture
Un point d’accès permettant à des clients comme des smartphones de bénéficier des
services d’Asterisk est directement connecté au switch, sur lequel le serveur Asterisk
et le Cisco-PAP sont aussi connectés. Un téléphone analogique est aussi branché sur
le Cisco-PAP.
But de la configuration
Le but de cette partie est de permettre au clients SIP d’Asterisk de pouvoir passer des
appels vers les téléphones analogiques dont les comptes sont aussi stockés chez
Asterisk.
Mise en place
La première chose à faire est de créer un compte au PAP chez Asterisk. Nous savons
tous que cela se fait dans le fichier sip.conf
# vim /etc/asterisk/sip.conf
[110]
username=110
39. host = dynamic
context=ec2lt
secret=passer
type=friend
dans l’autre fichier :
# vim /etc/asterisk/extensions.conf
exten => _1XX,1,Dial(SIP/${EXTEN},40,tr)
Accès à l’interface du PAP
Pour accéder à l’interface du PAP, il faut non seulement le connecter au LAN, mais
aussi le connecter à un téléphone analogique sur lequel composer ****110# , une
voix vous dictera l’adresse IP chiffre par chiffre en anglais bien-sûr !
Le système vient de nous dire que l’adresse IP du PAP est 192.168.0.92. Testons cela
tout d’abord en ligne de commande
Pour accéder à son interface, il nous faut un navigateur
41. Puisque notre PAP est connecté au téléphone analogique par le port phone1, nous
allons donc configurer ce port en cliquant sur Line 1 et renseigner les informations
du compte que nous lui avons créé chez Asterisk
Après avoir renseigné les paramètres de connexion au compte que nous l’avons créé
chez Asterisk, il faudra donc sauvegarder la configuration en cliquant sur Save
Settings en bas pour avoir la fenêtre suivante :
Après ces configurations, nous pouvons même voir le statut de la Ligne
42. La ligne est en état Online. Ce qui veut dire que le téléphone analogique s’est bien
connecté au serveur Asterisk.
Place au test
D’abord sur la console d’Asterisk, vérifions si l’équipement s’est bien connecté
La dernière ligne montre qu’il s’est connecté avec succès !
Test d’appels
le 100 qui reçoit l’appel du téléphone analogique
44. Nous pouvons aussi passer un appel dans le sens inverse !
II. ToIP en environnement CISCO
CISCO en plus de sa large gamme de serveurs et de solutions informatiques qu’il
nous offre, il met à la disposition du monde des solutions de ToIP derniers cri. Parmi
lesquelles nous avons :
Le Cisco Unified Communications Manager (CUCM) : Qui est un système de
communication basé sur IP intégrant la voix et la vidéo. Il fait partie d’un
ensemble de produits de la gamme VoIP de CISCO. Il est utilisé pour de très
grandes entreprises dont le nombre du personnel est assez important.
Le Cisco Unified Communication Manager Express (CUCME) ou CME : Qui est
un système de communication basé aussi sur IP intégrant la voix et la vidéo,
tournant sur des routeurs avec des IOS adaptés. Le CallManager Express est fait
pour les PME.
Le protocole SCCP
Skinny Call Control Protocol (SCCP) est un protocole propriétaire Cisco évoluant au
niveau de la couche application du modèle OSI et utilisant le port 2000. Il est utilisé
pour la gestion des appels téléphoniques et de la signalisation. SCCP est supporté
nativement dans le CUCM, et est exclusivement utilisé entre un serveur SCCP et des
clients SCCP.
Étapes d’enregistrement d’un client SCCP
Lorsqu’on connecte un téléphone avec le protocole SCCP, il y a plusieurs étapes pour
que ce téléphone soit utilisable :
1. Le téléphone charge l’image enregistré en mémoire.
2. Avec le protocole CDP, le téléphone découvre quel VLAN utiliser (Voice VLAN).
3. Le téléphone envoie une requête DHCP pour connaître son adresse IP. Il reçoit
de plus de la part du serveur DHCP l’adresse du serveur TFTP.
4. Le téléphone envoie une requête au serveur TFTP pour récupérer sa
configuration au préalable créer par le CUCM lorsque l’on créer le téléphone.
5. Le téléphone vient s’enregistrer dans le CUCM.
Note 1 : C’est le CUCM qui gère la signalisation ainsi que le routage des appels.
45. Note 2 : Un CUCM et/ou CME est capable de piloter autant des téléphones SCCP que
des téléphones SIP selon les configurations encours.
Configuration d’un CUCME ou CME
Dans nos travaux pratiques, nous allons utiliser l’IOS 3745-ipvoice_ivs-mz.124-
15,T7.bin . Pour l’avoir, il faudra se rendre sur le site de CISCO en cliquant ici et
aussi GNS3 en utilisant le cloud pour permettre à notre routeur CUCME de
communiquer avec le réseau physique.
Voici un tableau comparatif des commandes CUCME SCCP et SIP
46. Configuration du CME comme contrôleur SCCP
Configuration IP du routeur
Notre CME vient d’obtenir une adresse IP par DHCP qui est 192.168.6.72/16
Nous allons ensuite activer le SCCP en précisant son port qui est 2000 et
définir 5 téléphones et 5 numéros.
47. Création des numéros de téléphones 4000, 4001 et 4002
Nous allons ensuite faire de sorte que notre CME attribue les numéros de
téléphones par ordre de connexion. Ça s’appelle l’auto-assignation des
numéros.
La configuration terminée, Nous allons utiliser des clients SCCP pour bénéficier des
services déployés sur notre CME.
Le choix du client SCCP est tombé sur ip communicator de CISCO qui est un client
natif du protocole SCCP. Dans notre cas, nous allons utiliser sa version logicielle
(softphone).
Pour le télécharger, il faudra juste cliquer ici . C’est un logiciel exclusivement dédié
au système Windows. Mais il est possible de le faire tourner aussi sous Linux grâce à
la couche de virtualisation wine, en faisant ceci :
# sudo apt install wine-development
Pour l’installer, il suffit d’exécuter la commande suivante en tant que simple
utilisateur en précisant le chemin absolu du logiciel téléchargé :
# wine Documents/CiscoIPCommunicatorSetup.exe
48. Dans mon cas, il est dans Documents. Après cette commande, suivre les instructions
pour l’installer correctement, Il créera même un raccourci sur le Bureau sur lequel
cliquer pour le lancer.
Mais dans l’exemple suivant, nous l’avons installé sur Windows.
Nous allons lancer notre softphone
Après lancement, nous aurons une fenêtre de ce genre :
49. Nous allons ensuite donner l’adresse IP du CME dans Menu > Préférences > Réseau
Comme le montre la figure ci-dessous :
51. Les traces d’enregistrement du softphone sur le CME
Nous pouvons même afficher les détails de la configuration SCCP comme suit :
52. Les liaisons TFTP du service de téléphonie
On peut procéder de la même manière pour faire enregistrer un autre softphone et
tester les appels.
53. Configuration du CME comme contrôleur SIP
En plus de gérer facilement le protocole SCCP pour la signalisation, Le CallManager
Express de Cisco supporte aussi le protocole standard SIP.
Mise en place
Activer le protocole SIP
Définir le CME comme serveur d’enregistrement
Créer le numéro 5000 à un utilisateur. Binta dans notre cas.
Création du second numéro : 5001 qui sera attribué à l’utilisateur bory
Création de téléphone pour chaque numéro
Le premier téléphone qui correspondra au numéro 5000
54. Le second téléphone pour le numéro 5001
Un fidèle abonné va utiliser le softphone Zoiper sur un téléphone Android pour se
connecter au compte 5000
Après s’être enregistré, voici la réaction du serveur indiquant qu’un téléphone ayant
l’adresse IP 192.168.6.110 s’est connecté avec le compte 5000
55. Un deuxième abonné utilisera le compte 5001 pour se connecter. Voici la réaction du
serveur
Nos deux comptes SIP se sont bien connectés !
Test 1
Un client SIP appelant celui SCCP
Le IP communicator qui sonne
58. Nous pouvons aussi tester l’appel dans l’autre sens.
Nous voyons clairement que les abonnés SCCP arrivent à communiquer avec ceux de
SIP !
III. Trunk entre un serveur Asterisk & un serveur CME
L’architecture du réseau téléphonique d’une entreprise pourrait se composer de deux
solutions : une solution propriétaire (le CME dans notre cas), et une solution Libre
(Asterisk dans notre cas). Pour unifier ce réseau, il faut donc interconnecter ces deux
serveurs.
Le but de cette interconnexion est de permettre aux abonnés du CME d’appeler ceux
d’Asterisk et inversement.
Architecture
59. Cette architecture est plus éloquente que du texte !
De ce fait, le CME doit disposer d’un compte chez Asterisk. Et ça se passe dans le
fichier sip.conf
Configuration côté Asterisk
Nous allons créer trois comptes. Le dernier sera le compte du serveur SIP distant
Créer des comptes à nos clients
;le premier compte Asterisk
[300]
username=300
host=dynamic
context = ec2lt
secret = passer
type=friend
callerid=<300>"fatoumata"
mailbox=300@ec2lt
;le deuxième compte Asterisk
[301]
60. username=301
host=dynamic
context = ec2lt
secret = passer
type=friend
callerid=<301>"mariam"
mailbox=301@ec2lt
;Le compte du SIP côté CME
[cmeasterisk]
username= cmeasterisk
secret=passer
type=friend
host = 192.168.6.72 ; l’adresse IP du CME
context=ec2lt
qualify=yes
dtmfmode=rfc2833
allow=ulaw
insecure=port,invite
careinvite=yes
mailbox=cmeasterisk@ec2lt
En claire :
Dans extensions.conf on définit le contexte de nos utilisateurs et les critères d’envoi
des appels vers le serveur SIP distant
# vim extensions.conf
[ec2lt]
exten => _3XX,1,Dial(SIP/${EXTEN},20,tr)
exten => _5XXX,1,Dial(SIP/cmeasterisk/${EXTEN},20)
61. Recharger Asterisk avec la commande reload, dans sa console bien-sûr !
Dès que vous finissez cette étape, nous pouvons voir que le CME est
automatiquement devenu un client de Asterisk
Côté Asterisk la config est terminée !
Configuration du CME
De la même manière nous avons indiqué à Asterisk le processus pour joindre les
utilisateurs du CME, nous ferons de même sur le CME afin de permettre à ses
utilisateurs de pouvoir joindre ceux d’Asterisk.
Authentification du compte
Le CME aussi a un plan de numérotation
Il faudra apprendre au CME comment joindre les clients Asterisk en activant le codec
audio g711
Place au test
Connexion à Asterisk
Un très cher abonné va utiliser Zoiper Desktop pour se connecter. Il procédera
comme suit :
63. Cliquer sur Next
Il a trouvé le compte. Voici la réaction du serveur :
Test d’appels
Un des abonnés du CME va essayer de joindre celui d’Asterisk
64. Et quand il décroche :
Un appel dans le sens inverse (Asterisk qui appelle le CME)
L’interconnexion est faite avec succès !
Trunk CME/SCCP & Asterisk
Tout à l’heure nous avons fait des configurations permettant aux abonnés Asterisk
d’échanger avec ceux du CME/SIP . Ici le but est de permettre aux abonnés SCCP du
CME de pouvoir s’appeler avec ceux SIP d’Asterisk. En se basant sur l’interconnexion
précédente, nous allons ici faire le nécessaire.
Ajouter la ligne suivante dans le fichier extensions.conf
exten => _4XXX,1,Dial(SIP/cmeasterisk/${EXTEN},20)
Sur le CME, nous n’aurons aucune action à faire car le plan de numérotation est déjà
établi !
65. Place au test
Appel depuis le CME/SCCP vers Asterisk
Dans le sens inverse : Asterisk vers CME/SCCP
Interconnexion validée !
66. Gestion de boîtes vocales
Le but de cette partie est l’activation de la boite vocale pour tous nos clients : CME/
SIP, CME/SCCP et Asterisk et en suite stoker ces messages au niveau d’Asterisk. Ça
veut dire que les abonnés du CME auront leurs boîte vocale au niveau de chez
Asterisk.
Config côté Asterisk
# vim sip.conf
Ajouter la ligne mailbox=numéro@contexte au niveau de chaque numéro.
Dans l’autre fichier
# vim extensions.conf
[ec2lt]
;les appels
exten => _3XX,1,Dial(SIP/${EXTEN},20,tr)
exten => _5XXX,1,Dial(SIP/cmeasterisk/${EXTEN},20)
exten => _4XXX,1,Dial(SIP/cmeasterisk/${EXTEN},20)
;la boite vocale
exten => _3XX,2,Voicemail(${EXTEN}@bvocale)
exten => _5XXX,2,Voicemail(${EXTEN}@bvocale)
exten => _4XXX,2,Voicemail(${EXTEN}@bvocale)
;les numéros à composer
exten => 399,1,VoicemailMain(${CALLERID(num)}@bvocale)
exten => 5999,1,VoicemailMain(${CALLERID(num)}@bvocale)
exten => 4999,1,VoicemailMain(${CALLERID(num)}@bvocale)
En claire :
67. Ici nous avons :
Pour les Clients Asterisk :
Les messages vocaux seront transférés sur le numéro de l’appelé
Ils utiliseront le numéro 399 pour écouter leurs messages
Pour les client CME/SIP
Les messages vocaux seront transférés sur le numéro de l’appelé
Il utiliseront le numéro 5999 pour écouter leurs messages
Pour les clients CME/SCCP
Les messages vocaux seront transférés sur le numéro de l’appelé
Il utiliseront le numéro 4999 pour écouter leurs messages.
Dans le fichier suivant :
# vim voicemail.conf
[bvocale]
300 => 1234
301 => 1234
4000 => ,
4001 => ,
5000 => ,
5001 => ,
Cette configuration montre que les abonnés du CME ne saisiront aucun mot de passe
pour accéder à leur boîte vocale.
Configuration du CME
Activation de la boite vocale pour les comptes CME/SCCP
Le compte 4000
68. Pour le compte 4001
Activation de la boite vocale pour les comptes CME/SIP
Pour le compte 5000
Pour le compte 5001
Nous avons remarqué que l’activation de la boîte vocale pour un compte CME/SCCP
est différente de celle d’un CME/SIP.
Configuration du plan de numérotation pour joindre les boites vocales
Le cas CME/SCCP
Le cas CME/SIP
69. Place au test
Un abonné du CME/SIP tente de joindre celui de Asterisk qui ne va pas décrocher. Il
va donc lui laisser un message dans sa boîte vocale. Les informations de cette action
s’affichent clairement sur la console du serveur Asterisk comme le montre la capture
ci-dessous :
Ce dernier peut composer le 399 pour écouter ses messages en suivant les instructions
!
L’abonné du CME/SCCP peut aussi consulter sa boite vocale en composant le 4999
70. Tous les abonnés ont accès à leur boite vocale !
IV. Asterisk comme contrôleur SCCP
Asterisk en plus de supporter nativement les protocoles de signalisation IAX et SIP, il
supporte aussi celui de Cisco qui est le SCCP afin de piloter des téléphones Cisco à
travers quelques paramétrages.
Mise en œuvre
1. Télécharger et installer le module chan-sccp comme suit :
# cd ~/
# apt install git
71. # git clone https://github.com/chan-sccp/chan-sccp.git chan-sccp
Accéder au dossier du canal chan-sccp pour installer le module permettant à Asterisk
de devenir un contrôleur SCCP en exécutant les commandes suivantes :
# cd chan-sccp/
# ./configure --enable-conference
Qui doit finir par un truc de ce genre :
Ensuite exécuter les commandes
# make && make install
2. Gestion de modules
Se déplacer dans le répertoire de config d’Asterisk /etc/asterisk pour éditer le fichier
modules.conf
72. Il faudra donc désactiver le module de l’ancienne version de SCCP qui est
chan_skinny.so pour activer la nouvelle version qui est chan_sccp.so comme suit :
Pour que le nouveau module soit pris en compte, il faudra carrément arrêter le
serveur puis le démarrer à nouveau
# asterisk -rvvvvvvvvvvvvvvvvvvvvvvvvvvvv
core stop now
Puis le relancer comme suit :
3. Installation d’un serveur TFTP
Le serveur TFTP aura pour tâche d’héberger les fichiers de configuration des
téléphones IP.
On l’installe comme suit :
73. # apt install tftp-hpa tftpd-hpa -y
Après installation, il faudra éditer le fichier /etc/default/tftpd-hpa pour connaître son
répertoire.
Nous remarquons que son répertoire de base est désigné par le paramètre
TFTP_DIRECTORY qui a pour valeur /var/lib/tftpboot
Attribuer ce répertoire à l’utilisateur tftp
# chown -R tftp:tftp /var/lib/tftpboot/
Redémarrer le serveur
# service tftpd-hpa restart
Copier les exemples de configuration des téléphones dans ce répertoire
Le dossier contenant les exemples de configurations des téléphones se trouve dans un
sous dossier de là où vous vous êtes placé pour télécharger le module chan-sccp par
git.
Vous pouvez vérifier si ce serveur tourne sur son port habituel 69
74. Le service tourne correctement !
4. Configuration proprement dite de Asterisk comme contrôleur SCCP
# cd /etc/asterisk
Définir les paramètres généraux du contrôleur dans la section [general]. Voici les
paramètres à modifier dans cette section :
# vim sccp.conf
Dans cette section, voici les paramètres à modifier
[general]
context = ec2lt
;deny=0.0.0.0/0.0.0.0
permit=0.0.0.0/0.0.0.0
;permit=192.168.1.0/255.255.255.0
localnet = 192.168.0.0/255.255.0.0
Note : Je suis dans le réseau 192.168.0.0/16
On définit un téléphone et on précise ses lignes :
Note : Dans la vraie vie, un téléphone IP a une adresse MAC unique, mais avec des
softphones comme dans notre cas, l’adresse MAC du téléphone est la même que celle
de la carte réseau de la machine hébergeant ledit softphone.
Voici l’adresse MAC de la carte réseau de la machine sur laquelle notre IP
Communicator est installé :
75. Donc on fait SEP suivit de cette adresse MAC en mettant tous les caractères en
majuscule
Donc voici les paramètres à modifier dans la section actual definition :
[SEP507B9D91F93A]
button = line, 98011,default
button = line, 98012
;permit=192.168.1.5/255.255.255.255
On crée les deux lignes que nous venons d’attribuer car nous aimerions que le
téléphone ait deux lignes. (98011 et 98012).
Pour la ligne 98011
[98011]
id = 1000
type = line
pin = 1234
label = Phone 1 Line 1
description = Line 98011
mailbox = 10011
cid_name = Bory
cid_num = 98011
accountcode=79011
callgroup=1,3-4
pickupgroup=1,3-5
directed_pickup = on
76. directed_pickup_context = ""
pickup_modeanswer = on
;amaflags =
context = ec2lt
incominglimit = 2
transfer = on
vmnum = 600
meetme = on
meetmeopts = qxd
meetmenum = 700
trnsfvm = 1000
secondary_dialtone_digits = 9
secondary_dialtone_tone = Outside Dial Tone
musicclass=default
language=en
echocancel = on
silencesuppression = off
setvar=testvar2=my value
dnd = reject
parkinglot = myparkspace
On fait la même chose pour la ligne 98012
[98012]
id = 1001
type = line
pin = 1234
label = Phone 1 Line 2
description = Line 98012
mailbox = 10012
77. cid_name = Amadou
cid_num = 98012
accountcode=79002
callgroup=1,4-9
pickupgroup=1,3-9
directed_pickup = on
directed_pickup_context = "another"
pickup_modeanswer = on
echocancel = off
context = ec2lt
incominglimit = 2
transfer = on
vmnum = 600
trnsfvm = 1000
secondary_dialtone_digits = 9
secondary_dialtone_tone = Outside Dial Tone
musicclass=default
language=en
echocancel = on
silencesuppression = off
Nous allons éditer le fichier extensions.conf pour définir le contexte et le plan de
numérotation de nos utilisateurs
# vim extensions.conf
[ec2lt]
exten => 98011,1,Dial(SCCP/98011,40,tr)
exten => 98012,1,Dial(SCCP/98012,40,tr)
78. Rendez-vous dans le dossier du serveur TFTP
On passe maintenant à l’adaptation du fichier de configuration de chaque téléphone
SCCP
# cd /var/lib/tftpboot
Note : On copie un exemple de configuration de téléphone dans un fichier dont le
nom est l’adresse MAC de la machine qui héberge le client SCCP. Ça se passe comme
suit :
# cp SEP0000000000.cnf.xml_annotated SEP507B9D91F93A.cnf.xml
Éditer ce fichier puis donner l’adresse du serveur Asterisk comme suit :
ça se passe dans la balise <processNodeName>
On édite ensuite le fichier XMLDefault.cnf.xml pour y mettre l’adresse du serveur
Asterisk, c’est le fichier de configuration par défaut de tous les téléphones se
trouvant toujours dans /var/lib/tftpboot
On passe en suite à la configuration de notre softphone
79. ça se passe dans Menu > Préférences > Réseau pour y mettre l’adresse du serveur
Asterisk.
Quand on valide par la touche OK, voici ce qui devrait apparaître :
80. Notre IP communicator est bien enregistré !
Voici la réaction du serveur après l’enregistrement du softphone :
81. Place au test
Nous allons tester un appel entre nos anciens abonnés Asterisk et notre client IP
communicator
L’utilisateur bory qui a le numéro 100, va essayer de joindre l’abonné qui utilise le
IP communicator dont le numéro est 98011.
84. Et quand il décroche :
Les deux abonnés arrivent à communiquer sans problèmes !
85. V. Kamailio
Kamailio (successeur des anciens OpenSER et SER) est un serveur SIP Open Source
publié sous GPLv2+, capable de gérer des milliers d'établissements d'appels par
seconde. Kamailio peut être utilisé pour créer de grandes plates-formes pour les
communications VoIP et en temps réel - présence, WebRTC, messagerie instantanée et
autres applications. De plus, il peut être facilement utilisé pour faire évoluer des
passerelles SIP vers PSTN, des systèmes PBX ou des serveurs multimédias comme
Asterisk, FreeSWITCH ou SEMS.
Kamailio peut être utilisé sur des systèmes aux ressources limitées ainsi que sur des
serveurs de classe opérateur. Il est écrit en C pur pour les systèmes de type
Unix/Linux avec des optimisations spécifiques à l'architecture pour offrir des
performances élevées. Kamailio Project vise à être un environnement collaboratif de
ses utilisateurs pour développer un serveur SIP sécurisé et extensible afin de fournir
des services de communication unifiée et VoIP modernes.
1. Installation de Kamailio
# apt-get install apache2 mariadb-server php php-mysql php-gd php-curl php-xml
libapache2-mod-php flex bison libcurl4-openssl-dev libpcre3-dev kamailio kamailio-
utils-modules kamailio-mysql-modules kamailio-presence-modules kamailio-xml-
modules kamailio-carrierroute-modules -y
2. Configuration du serveur SIP
Nous allons faire la configuration de base du serveur permettant de donner les
paramètres nécessaires pour générer sa base de données.
# vim /etc/kamailio/kamctlrc
Dé-commenter les lignes suivantes en les adaptant à votre situation
## the SIP domain
SIP_DOMAIN=ec2lt.sn
DBENGINE=MYSQL
## database hostDBHOST=localhost
DBPORT=3306
## database name (for ORACLE this is TNS name)
DBNAME=kamailio
86. ## database path used by dbtext, db_berkeley or sqlite
# DB_PATH="/usr/local/etc/kamailio/dbtext"
## database read/write user
DBRWUSER="kamailio"
## password for database read/write user
DBRWPW="kamailiorw"
## database read only user
DBROUSER="kamailioro"
## password for database read only user
DBROPW="kamailioro"
DBROOTUSER="root"
USERCOL="username"
Faire la résolution de noms dans le fichier suivant :
# vim /etc/hosts
Test de connectivité
Résolution faite avec succès !
Si le serveur de base de données n’est pas sécurisé, il faudra le faire comme suit,
avant de passer à l’étape suivante.
# mysql
87. MariaDB [(none)]> UPDATE mysql.user SET plugin = NULL WHERE user = 'root' AND
plugin ='unix_socket';
Query OK, 1 row affected, 1 warning (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 1
MariaDB [(none)]>
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]>
MariaDB [(none)]> SET PASSWORD FOR root@'localhost'=PASSWORD('passer123');
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye
root@bory-diallo:~#
Le nouveau mot de passe de notre serveur de base de données est passer123
3. Création de la base de données de kamailio
Kamailio utilise une base de données pour stocker les informations de ses abonnés.
Pour la générer, on procède comme suit :
# kamdbctl create
✔ Vous entrez le mot de passe de root que venez de définir
✔ Vous choisissez l’encodage Big5
✔ Vous répondez par y à toutes les questions qui seront posées
Et ça devrait très bien se passer !
Voici la preuve que tout s’est bien passé :
88. Vérifions si la base de données a été générée
Vous pouvez aussi vérifier si les tables ont bien été générée !
Voici quelques informations concernant notre serveur Kamailio
89. 4. Création des utilisateurs
# kamctl add numéro mot_de_passe
Nous venons de créer cinq comptes : 500, 501, 502, 503 et le 504
Voici d’ailleurs la preuve
Place au test
Un utilisateur va tenter de se connecter avec le compte 500 à travers un softphone
Zoiper
90. L’utilisateur 500 s’est connecté avec succès !
Un deuxième compte va se connecter avec Microsip
92. De l’autre côté
Après avoir rédigé sa réponse, il clique sur la touche Entrée pour valider l’envoi
93. Test appels vidéo
Sans aucune configuration particulière, Kamailio supporte les services que nous
venons de tester.
94. VI. Trunk CallManager Express & KAMAILIO
Le but de cette partie est de faire un Trunk entre le serveur CME et Kamailio qui
permettra au clients Kamailio de passer des appels vers le CME et inversement.
Config côté CME
CallManager Express (CME) est un serveur de téléphonie propriétaire à Cisco. Il
permet de gérer un nombre limités d’abonnés.
Architecture
Configuration IP
Activation du port Skinny et définition du nombre de téléphones
CME(config)#telephony-service
CME(config-telephony)#ip source-address 192.168.10.254 port 2000
95. CME(config-telephony)#max-ephone 15
CME(config-telephony)#max-dn 15
CME(config-telephony)#create cnf-files version-stamp 7960
Creating CNF files
CNF-FILES: Clock is not set or synchronized, retaining old versionStamps
CME(config-telephony)#exit
CME(config)#
Création des numéros
Un premier numéro
CME(config)#ephone-dn 1
CME(config-ephone-dn)#number 1000
CME(config-ephone-dn)#exit
CME(config)#ephone-dn 2
Un deuxième numéro
CME(config-ephone-dn)#number 1001
CME(config-ephone-dn)#exit
CME(config)#ephone-dn 3
CME(config-ephone-dn)#number 1002
CME(config-ephone-dn)#exit
CME(config)#
Activation de l’auto assignation des numéros
CME(config)#telephony-service
CME(config-telephony)#auto assign 1 to 15
CME(config-telephony)#exit
CME(config)#
Place au test
Nous allons utiliser un softphone IPcommunicator pour se connecter
96. Quand il lance son softphone, il devra renseigner l’adresse du CME en cliquant sur
Menu > Préferences > Réseau
Ensuite valider afin de s’enregistrer
La preuve que le softphone est enregistré avec succès :
97. Les traces de son enregistrement sur la console du serveur :
Un autre softphone vient aussi de se connecter, voici ses traces
98. Le 1001 qui reçoit l’appel du 1000
Les deux abonnés du CME communiquent sans problèmes !
Configurations Coté Kamailio
Activer kamailio pour cet effet
99. # vim /etc/default/kamailio
Créer une route vers le CME
Dans la section request_route entre les routes (PSTN) et (LOCATION)
# vim /etc/kamailio/kamailio.cfg
Note : On définit toujours les routes dans le contexte request_route
route(CME) ;
Définition de la méthode
Note : On définit toujours les méthodes en dehors du contexte request_route
Nous allons ensuite indiquer à kamailio comment joindre les abonnés du CME.
Toujours dans le même fichier. Cette partie est l’équivalent du dialplan chez Asterisk.
Cette fois-ci c’est après la section request_route
route[CME]{
if(($rU=~"^1[0-9][0-9][0-9]$")){
$ru = "sip:" + $rU + "@" + "192.168.10.254:5060";
route(RELAY);
exit;
}
}
En claire
100. Traduction : Les lignes barbares ci-dessus signifient que : Tout numéro composé
commençant par 1 et suivit de trois chiffres compris entre 0 et 9, doit être redirigé
vers le CME qui a pour adresse 192.168.10.254. Vu que les numéro des abonnés du
CME sont de la forme : 1XXX
Arrêter le service et ensuite le démarrer
# service kamailio stop
# service kamailio start
La configuration est finie de ce côté !
Définition du dialplan sur le CME
Côté CME, nous allons définir un plan de numérotation qui permettra de joindre les
clients Kamailio.
CME(config)#dial-peer voice 2 voip
CME(config-dial-peer)#destination-pattern 5..
CME(config-dial-peer)#session protocol sipv2
CME(config-dial-peer)#session target ipv4:192.168.4.148
CME(config-dial-peer)#codec g711ulaw
CME(config-dial-peer)#exit
CME(config)#
Place au test
Test 1 : Kamailio ===> CME
Les appels de Kamailio vers le CME
102. Test 2 : CME ===> Kamailio
Les appels du CME vers Kamailio
103. Les deux serveurs communiquent sans aucun problème !
VII. Les enregistrements SRV & NAPTR
Dans cette partie, nous allons coupler notre serveur Kamailio à un DNS afin de pouvoir joindre les
abonnés dudit serveur par un TEL/URI
7.1 : Définition de NAPTR
Un pointeur d'autorité de nom ( NAPTR ) est un type d' enregistrement de ressource
dans le système de noms de domaine d'Internet.
Les enregistrements NAPTR sont le plus souvent utilisés pour des applications de
téléphonie. Internet, par exemple, dans le mappage de serveurs et d'adresses
d'utilisateur dans le protocole SIP ( Session Initiation Protocol ). La combinaison
d'enregistrements NAPTR avec des enregistrements de service (SRV) permet
l'enchaînement de plusieurs enregistrements pour former des règles de réécriture
complexes qui produisent de nouvelles étiquettes de domaine ou des identificateurs de
ressources uniformes (URI).
Les noms de ressources uniformes ( URN ) sont un sous-ensemble d'identificateurs de
ressources uniformes ( URI ) utilisés pour les identificateurs abstraits, tels que le nom
104. d'une personne ou son numéro de téléphone. Pour que les URN aient un sens, elles
doivent être mappées sur une ressource concrète quelconque. Les URL (Uniform
Resource Locator) sont souvent utilisés pour décrire de telles ressources, telles qu'un
nom d'hôte d' ordinateur ou un fichier local.
L’enregistrement NAPTR facilite la normalisation des URN. Les enregistrements
NAPTR mappent entre des ensembles d'URN, d'URL et de noms de domaine simples
et suggèrent aux clients les protocoles disponibles pour la communication avec la
ressource mappée.
7.2 : Définition de SRV
Un enregistrement SRV ou enregistrement de service est une catégorie de données du
DNS d'Internet qui vise à indiquer quels sont les services disponibles.
Ce type d'enregistrement est défini dans la RFC 2782.Les enregistrements SRV sont
souvent utilisés par les clients Microsoft Windows afin de trouver le contrôleur de
domaine pour un service donné.
Par ailleurs, les enregistrements SRV sont communément utilisés en association avec
les protocoles standards ci- dessous :
XMPP (Jabber)
SIP
LDAP
7.3 : Objectifs
Notre objectif est d’utiliser les enregistrements de type SRV et NAPTR en téléphonie
sur IP pour :
Faciliter le paramétrage des terminaux SIP;
Permettre aux terminaux, connaissant simplement le nom de domaine, de faire
des requêtes SRV pour avoir l’adresse IP du Serveur et pouvoir se connecter ;
Permettre l’interconnexion de deux serveurs de téléphonie ;
Permettre l’utilisation du TEL/URI au lieu du SIP/URI pour pouvoir joindre les
abonnes se trouvant dans d’autres serveurs SIP.
Le but de cette partie est de faire intervenir un DNS dans les configurations de
Kamailio afin de pouvoir joindre les abonnés par TEL/URI
105. 1. Mise en place du DNS
# apt install bind9 bind9utils
# cd /etc/bind
# vim named.conf.default-zones
# cp db.local ec2lt.zone
# vim ec2lt.zone
Les enregistrements SRV
Un enregistrement SRV ou enregistrement de service est une catégorie de données du
DNS d'Internet qui vise à indiquer quels sont les services disponibles.
Ce type d’enregistrement est souvent utilisé en association avec certains protocoles
standards comme : XMPP, SIP, LDAP.
La syntaxe d’un enregistrement de type SRV
Service : le nom symbolique (commençant généralement par un symbole de
soulignement) du service concerné (par exemple _sip ).
Protocole : généralement, c'est soit _tcp pour TCP, soit _udp pour UDP.
Nom.de.domaine : le domaine de validité de l'enregistrement (pleinement
qualifié au format FQDN ou local à la zone DNS en cours de définition pour la
même autorité d'origine).
TTL : champ standard DNS indiquant la durée de validité (Time-To-Live, durée
de vie) de la réponse (en secondes).
Classe : champ standard DNS indiquant la classe d'adressage (c'est toujours IN
pour Internet).
Type : l'identifiant du type d'enregistrement DNS (toujours SRV ici pour un
enregistrement de service) ;
Priorité : la priorité du serveur cible (valeur entière non négative, plus elle est
faible, plus ce serveur sera utilisé s'il est disponible) ;
Poids : poids relatif pour les enregistrements de même priorité ;
106. Port : le numéro de port (TCP ou UDP selon le protocole ci-dessus) où le
service est disponible ;
Cible : le nom du serveur qui fournit le service concerné (doit être résolu en
adresse IPv4 ou IPv6 par d'autres requêtes DNS sur les enregistrements A ou
AAAA du nom de service cible) avec le protocole et sur le port indiqué.
Mise en place
On suppose que la déclaration de la zone est déjà faite dans le fichier
/etc/named.conf.default-zones avant de faire ceci dans le fichier indiqué :
Mettre à jour le fichier /etc/resolv.conf
Redémarrer le serveur
# service bind restart
Test de bon fonctionnement du DNS
107. Notre serveur DNS marche à merveille !
Tester les enregistrements SRV comme suit :
Pour le canal udp
# dig _sip._udp.ec2lt.sn SRV
108. Pour le canal tcp
# dig _sip._tcp.ec2lt.sn SRV
Passons aux enregistrements NAPTR
# vim ec2lt.zone
109. Note : Les numéros Kamailio sont sous la forme 5XX
On peut aussi tester les enregistrement NAPTR comme suit :
# dig -t naptr 0.0.5.ec2lt.sn
Les enregistrements NAPTR fonctionnent à merveille !
110. Chargement du module enum.so
ENUM, est un mécanisme permettant d'utiliser un numéro de téléphone comme clé de
recherche dans le DNS pour trouver la manière de joindre une personne ou une autre
entité.
L'objectif d'ENUM est d'utiliser un numéro unique pour accéder à plusieurs
identifiants de service caractérisant un individu : Grâce au numéro ENUM, on pourra
atteindre un e-mail, une URL, un numéro de téléphone (fax, mobile, SIP), etc. Les
priorités d'accès à ces différents services seront définies par l'utilisateur.
# cd /etc/kamailio
# vim kamailio.cfg
Activer le module enum
Création de la route enum
Définition de la méthode
Préciser au niveau du paramètre alias le domaine qu’il gère
111. Redémarrer le serveur
Place au test
Un utilisateur souhaitant se connecter, lance son softphone Microsip et fait les actions
suivantes dans la rubrique Paramètres
Il souhaite utiliser le compte 502
112. Le compte s’est enregistré avec succès !
Test d’appels
Le 502 qui va appeler le 501
113. Voici le 501 qui reçoit l’appel
L’appel par domaine marche avec succès !
114. Voici un appel vidéo
VIII. Trunk Kamailio & Asterisk
Le but est claire. Permettre aux abonnés Kamailio de communiquer avec ceux
d’Asterisk et inversement.
Config côté Asterisk
L’algo est claire. Pour qu’un abonné d’un serveur puisse appeler un autre abonné, il
faut que ce dernier dispose d’un compte sur ce serveur.
# vim sip.conf
[sipkamailio]
username=sipkamailio
secret=
type=friend
host=192.168.4.148
115. context=ec2lt
allow=ulaw
En claire
Note : Le champ secret est vide, car le serveur pour lequel le compte est créé
(Kamailio à l’occurrence) n’a pas moyen d’authentifier les comptes serveur comme le
fait le CME avec les arguments de la commande sip-ua
# vim extensions.conf
exten => _5XX,1,Dial(SIP/sipkamailio/${EXTEN},40,tr)
Configuration côté kamailio
Il suffit juste de l’indiquer comment joindre les abonnés de Asterisk
# vim /etc/kamailio/kamailio.cfg
Dans la section request_route, on crée une route vers Asterisk comme suit :
# Route vers Asterisk
route(ASTERISK);
En dehors de la section request_route, nous allons définir une méthode liée à cette
route.
route[ASTERISK]{
if(($rU=~"^3[0-9][0-9]$")){
$ru = "sip:" + $rU + "@" + "192.168.2.164:5060";
route(RELAY);
exit;
116. }
}
Redémarrer le serveur
# service kamailio restart
Tests d’appels
Un client d’Asterisk qui tente d’appeler un abonné de Kamailio.
Le softphone Kamailio qui sonne.
117. Faisons le test dans le sens inverse : C’est à dire, l’abonné du Kamailio qui appelle
celui d’Asterisk
118. Le softphone Asterisk qui sonne
Nous constatons que les appels passent de part et d’autre !
IX. Freeswitch
Étant un logiciel libre de VoIP multi-plateformes lancé en 2006, FreeSWITCH est
aussi un serveur d'applications gratuit et open source pour la communication en
temps réel, WebRTC, télécommunications, vidéo et Voice over Internet Protocol.
Multiplateforme, il fonctionne sous Linux, Windows, macOS et FreeBSD. En claire, est
un serveur de TOIP issu du serveur Asterisk mais ses fichiers de configuration sont au
format xml.
Pour sa simplicité et ses performances, beaucoup de plateformes de communication
l’intègre. C’est le cas de FusionPBX utilisé par certains opérateurs de télécoms en
Afrique et Bigbluebutton qui est une une plateforme de webconference.
119. Le but de cette rubrique est de maîtriser l’installation de ce logiciel et aussi de se
familiariser à la mise en place de ses services de base.
1. Installation
Les prérequis
# apt-get install --yes build-essential pkg-config uuid-dev zlib1g-dev libjpeg-dev
libsqlite3-dev libcurl4-openssl-dev libpcre3-dev libspeexdsp-dev libldns-dev libedit-dev
libtiff5-dev yasm libopus-dev libsndfile1-dev unzip libsmpp34-dev git
Installer le paquet libilbc-dev
Il faudra faire les actions suivantes :
Ajouter la ligne deb http://www.deb-multimedia.org stretch main dans
/etc/apt/sources.list
# nano /etc/apt/sources.list
comme suit :
Autoriser la mise à jour depuis des dépôts non signés et non autorisés
# apt-get update -oAcquire::AllowInsecureRepositories=true
Et en suite :
# apt-get install deb-multimedia-keyring -oAcquire::AllowInsecureRepositories=true
# apt install libilbc-dev
Passons maintenant au téléchargement de Freeswitch
# cd /usr/src
# wget https://files.freeswitch.org/freeswitch-releases/freeswitch-1.8.6.zip
120. Le dézipper
# unzip freeswitch-1.8.6.zip
La gestion des modules
# vim freeswitch-1.8.6/modules.conf
Dans la capture qui suit, il faut s’assurer que applications/mod_signalwire est
commenté.
124. Si vous rencontrez des erreurs pendant la configuration, il faudra juste installer les
paquets suivants :
# apt install libreadline-dev lua5.2 lua5.2-doc liblua5.2-dev -y
Et ensuite faire les actions suivantes
# cp /usr/include/lua5.2/*.h /usr/src/freeswitch-1.8.6/src/mod/languages/mod_lua/
En claire
Faire le lien entre le langage et le serveur
# ln -s /usr/lib/x86_64-linux-gnu/liblua5.2.so /usr/lib/x86_64-linux-gnu/liblua.so
En claire
# make
125. Qui doit normalement finir par un truc de ce genre :
# make install
Si l’installation se passe correctement, nous aurons des informations par rapport à
l’installation des sons comme suit :
Installer les fichiers fichiers sons en français à l’aide des commandes ci-
dessous :
126. # make cd-sounds-fr-install
# make uhd-sounds-fr-install
# make hd-sounds-fr-install
# make sounds-fr-install
Ensuite créer les fichiers de configuration comme suit :
# make samples
Maintenant que l’installation est terminée, on doit se familiariser aux répertoires de
configuration de FreeSWITCH qui est /usr/local/freeswitch
Et c’est le nouveau dossier de configuration de freeswwitch !
2. Démarrage de Freeswitch
Pour démarrer freeswitch on tape la commande ./bin/freeswitch -nc dans le dossier
/usr/local/freeswitch
Pour accéder à l’interface de freeswitch on lance la commande ./bin/fs_cli toujours
dans le même dossier, comme le montre la capture ci-dessous :
127. On est enfin dans la console de freeswitch !
Une fois dans la console freeswitch on peut taper la commande /help pour voir les
commande disponibles
La commande reloadxml permet de recharger les fichiers de configuration de
freeswitch qui sont au format xml
128. 3. Les services de bases de Freeswitch
Nous allons découvrir les services de base de notre nouveau serveur SIP.
3.1. Configuration des téléphones SIP et tests d’appels
Après installation de freeswitch, des comptes SIP sont créés par défaut et on peut les
voir dans le dossier /usr/local/freeswitch/conf/directory/default/
Nous voyons clairement qu’il existe 20 comptes SIP de 1000 à 1019 et un compte
SCCP par défaut.
Le mot de passe de ces comptes est par défaut : 1234 et est fixé dans le fichier
/usr/local/freeswitch/conf/vars.xml
Nous allons nous connecter au compte 1001
129. Un autre utilisateur s’est aussi connecté avec le compte 1000
Test d’appels
Le 1001 qui reçoit l’appel du 1000
130. 3.2 Création de comptes SIP sur Freeswitch
Il existe un script en perl de gestion de freeswitch qui s’occupe des histoires des
comptes.
Exécuter la commande suivante pour ajouter un compte :
# cd /usr/local/freeswitch/scripts
# cp -r /usr/src/freeswitch-1.8.6/scripts/perl/ ./
# perl/add_user 1020
Nous venons d’ajouter l’utilisateur 1020
Voici la preuve
131. Il faudra ensuite recharger les configurations de freeswitch
Testons notre nouveau compte
132. Voici le contenu de notre nouveau fichier
# nano /usr/local/freeswitch/conf/directory/default/1020.xml
Un compte freeswitch comporte :
user id
des paramètres
des variables
Notre nouveau compte parvient à appeler les autres comptes. Mais lorsque nous
utilisons un autre compte pour appeler le nouveau compte qui est 1020, nous
remarquons que l’appel ne passe pas.
Pour remédier à ce problème, il faudra définir une extension pour ce numéro. Le
1020 bien sûr !
Nous allons éditer le plan de numérotation
# nano /usr/local/freeswitch/conf/dialplan/default.xml
133. Nous constatons que le dialplan ne gère que des numéros compris entre 1000 à 1019.
Faisons la modification suivante :
Ce qui signifie que le troisième digit peut être aussi à 2.
Il faudra ensuite recharger les fichiers de configuration
Il suffit de mettre reloadxml dans la console de freeswitch
Place au test
Le numéro 1000 va tenter de joindre le 1020
Le 1020 reçoit à présent des appels correctement !
134. 3.3 Ajout d’un ensemble de comptes
Nous allons ajouter des comptes compris entre 1021 et 1030
Nous utiliserons donc la commande suivante :
# cd /usr/local/freeswitch
# scripts/perl/add_user --users=1021-1030
Voici la preuve
Comme toujours, recharger les fichiers de configuration du serveur avec la commande
reloadxml dans sa console !
Place au test
Nous allons utiliser l’un des comptes que nous venons de créer. Le 1029 pour être
précis
136. On constate que le 1029 reçoit l’appel, car dans le dialplan les numéros ayant 2
comme troisième digit était prévu !
Note : Le port d’écoute de freeswitch est géré par le paramètre
‘’internal_sip_port=5060’’ du fichier /usr/local/freeswitch/conf/vars.xml qu’on peut
modifier à tout moment !
3.4 Gestion des conférences
mod_conference fournit un service de passerelle de conférence entrante et sortante
pour FreeSWITCH. Il peut traiter plusieurs débits binaires, charger divers profils qui
spécifient les commandes DTMF, jouer des sons et des tonalités rapides, et de
nombreuses autres fonctions .
Les conférences créées dans le plan de numérotation utilisent des profils définis dans
/usr/local/freeswitch/conf/autoload_configs/conference.conf.xml. Dans ce fichier
plusieurs profils de conférence sont définis et les numéros pour attribués à ces
conférences sont définis dans le fichier /usr/local/freeswitch/conf/dialplan/default.xml.
Voici le un tableau récapitulatif des numéros de conférence selon le taux
d’échantillonnage
Nous pouvons regarder certains profils dans le fichier
/usr/local/freeswitch/conf/autoload_configs/conference.conf.xml
Le profile wideband
137. Le profile ultrawideband
Le profile video-mcu-stereo-720
On peut regarder aussi la définition du plan de numérotation des conférences dans
fichier /usr/local/freeswitch/conf/dialplan/default.xml
Tout numéro commençant par 30 suivit de 2 chiffres pour accéder à la
conférence du profile default
138. Tous numéros commençant par 31 suivant de 2 chiffres pour accéder à la
conférence du profile wideband
Tous numéros commençant par 33 suivit de 2 chiffres pour accéder à la
conférence du profile cdquality
Tous numéros commençant par 36 suivis de 2 chiffres pour accéder à la
conférence du profile video-mcu-stereo-720
Place au test
On peut tester par exemple une conférence en composant le numéro 3000.
Naturellement vous serez le seul participant de ladite conférence au début, mais
d‘autres abonnés pourront vous y rejoindre !
On constate qu’il y a trois comptes connectés actuellement : le 1029 et le 1005 et le
1016
139. Un utilisateur va composer le 3000. Il choisit de faire une conférence
Un autre compose le même numéro, 3000. Mais en appel vidéo cette-fois ci
140. Note : Cette conférence est réservée au appels audios. Mais elle supporte tout de
même les appels vidéos !
Conférence Vidéo
Aucune configuration à faire, juste composer le 3600 qui s’occupe de cette action
Sur l’un des smartphones connectés
141. Freeswitch nous réserve d’innombrables fonctionnalités dont nous n’avons pas eu le
temps d’énumérer dans ce TP.
Conclusion
Ce TP est hyper éloquent en ce qui concerne la vulgarisation de la puissance des
solutions de ToIP et de la réduction drastique des coûts de communications dans les
entreprises.
De nos jours, toute entreprise " économiquement correcte " utilise en son sein au
moins l’une des solutions de ToIP énumérées dans ce TP, car elles ne cherchent qu’à
maximiser le rendement et le profit tout en minimisant les coûts.