Mbaye Ndiaye Samb l3
Mbaye Ndiaye Samb l3
Mbaye Ndiaye Samb l3
**************
MINISTÈRE DE L’ENSEIGNEMENT SUPÉRIEUR ET DE LA RECHERCHE
SCIENTIFIQUE
*************
ÉCOLE CENTRALE DES LOGICIELS LIBRES ET DES TÉLÉCOMMUNICATIONS
Email: [email protected]
➢ COMPTE RENDU DE TELEPHONIE SUR IP
➢ TRAVAUX PRATIQUES TOIP
➢ HybrideAsterisk en tant que serveur SCCP
➢ Configuration de freeswitch sous ubuntu
➢ Paramétrage et utilisation de verto
➢ TP FONCTION DE BASE DE FREESWITCH
➢ CENTRE D’APPEL SUR FREESWITCH
I-OBJECTIFS
Démarré il y a trois ans, ce projet de développement est sponsorisé par la société américaine
Digium. L'objectif alors était de réaliser une version logicielle des PBX (private branch
exchange), les centraux téléphoniques "hardware", qui gèrent la commutation entre
plusieurs appelants et appelés.On les utilise généralement dans les entreprises.
Asterisk a été conçu pour remplacer les remplacer. Une fois installé sur un ordinateur
fonctionnant sous Linux et muni de cartes d'interfaces spécifiques, le "PC-PBX" est capable
de gérer des appels sur un réseau commuté classique (RTC) ou en VoIP.
✗ Les prérequis
Pour avoir certaines fonctionnalités, on a besoin d’installer certains paquets, Ici tous les paquets à
installer sont dans les fichiers install_prereq et get_mp3_source.sh il suffit tout simplement
d’exécuter le fichier par la commande suivante
Ensuite, on installe les prérequis pour la prise en charge des nouveaux codecs opus et vp8
Nous allons activer le format MP3 sous asterisk pour les chansons
✗ -Dans extensions.conf
la formule: exten=>numero,priorite,action
✗ Pour acceder sur l’interface d’asterisk en vue de visualiser les informations des requêtes en
tapant la commande
✗ Nous allons vérifier les informations au niveau du console asterisk pour voir si les
utilisateurs sont connectés
les deux utilisateurs sont connectés au serveur asterisk d’après la capture ci-dessus
✗ Test d’appel entre les deux utilisateurs
le numéro 200 appelle 201 si tout ce passe bien on doit la capture ci-dessous sur notre console
asterisk
✗ Par défaut sur asterisk deux utilisateurs de contexte peuvent pas se communiquer donc
comment faire pour que ces derniers puissent communiquer. Pour cela on fait appel à la
notion de inclusion. Comme dans une entreprise, pour des raisons professionnelles on peut
mettre à un employé de ne pas appeler son patron mais son patron peut l’appeler. Pour cela
nous allons mettre le patron et son employé dans deux contexte différents et inclure le
contexte de l’employé dans celui du patron comme suite
-D’après la capture ci-dessous l’employé ne parvient pas à appeler son patron ce qui était
notre objectif
Il est important aussi de faire un reload à chaque fois pour que asterisk puisse prendre en charge
les modifications
✗ Nous allons effectuer un appel de 201 vers 200 et laisser un message vocal comme suite
✗ Après 20 secondes sans réponse l’utilisateur 201 tombe dans la boite vocale de 200 pour
laisser un message vocale après ce dernier. L’utilisateur 200 peut composer le numéro 401
pour écouter son message vocal
✗ Puis on définit les codecs vidéo dans chaque utilisateur dans le fichier sip.conf
✗ Pour le test, le numéro 200 va appeler le numéro 201 en appel vidéo comme la capture ci-
dessous dans notre console asterisk
✗ on crée le numéro de la conférence dans extensions.conf puis reload sur le console asterisk
✗ Pour le test l’utilisateur 200 et 201 vont appeler le numéro 1000 puis ils tombent sur la
conférence comme suite
Puis nous allons mettre le son de notre choix dans le dossier créé /var/lib/asterisk/mohmp3
✗ On affecte le contexte de la classe de notre utilisateur de notre choix comme suite. On met
« m » suivi du nom de contexte de la classe
✗ Nous allons faire le test l utilisateur 201 va appeler 200 et il aura une tonalité définie comme
suite
✗ création de la file d’entente dans queues.conf en définissant les membres comme suite
stratégie fewestcall: le membre qui a resté plus de temps sans prendre de l’appel va répondre
strategy ringall : tous les telephones des agents vont sonner en mème temps
member: Local/numero_compte@contexte permet d ajouter l’utilisateur aux membres de la file
✗ Pour le test le numéro 201 va appeler le numéro de la file et normalement le téléphone 200
va sonner car il est unique membre de la file
D’après la capture ci-dessus l’utilisateur 201 est bel et bien ajouté dans la file
✗ Le numéro 201 va composer le 801 pour se retirer de la file
D’après la capture ci-dessus l’utilisateur 201 est bel et bien retiré dans la file
✗ On aura les traces suivantes pour montrer que l’utilisateur est connecter
Notre objectif est atteint, on parvient à faire communiquer un téléphone Cisco et Sip grâce à un
routeur bien choisi
II-Objectifs
La démarrage à suivre pour mettre en place une téléphonie IP SCCP sous asterisk :
✗ Configuration du module SCCP
✗ le serveur tftp pour permettre aux téléphone de télécharger les fichiers de configuration
✗ les paramètres généraux du contrôleur SCCP(adresse IP, port d’écoute, codecs à activer etc.)
✗ les numéro de téléphones
✗ les téléphones
✗ plan de numérotation
II-Mettre en œuvre
Pour mettre en œuvre le SCCP, nous allons besoin un outil de téléchargement comme git pour
télécharger le module sccp comme suite
✗ Installation de git
Pour préciser le téléphone, on prend l’adresse MAC de la machine qui contient le client
téléphonique et on enlève les : précédé par SEP la formule : [SEP+MAC sans les :]
✗ D’après la capture ci-dessous notre téléphone est connecté avec les deux numéros
✗ On a la possibilité de vérifier les téléphones créés et leurs numéros par la commande sccp
show lines
✗ On a aussi la possibilité de vérifier les téléphones disponibles par la commande sccp show
devices avec leur adresse IP correspondante
✗ On peut décrocher pour établir la communication entre les deux phones comme suite
✗ Par défaut le serveur freeswitch crée les comptes d’utilisateurs de 1000 à 1019 soit 20
compte et un compte sccp qui sont dans le dossier
/usr/local/freeswitch/conf/directory/default comme la capture suivante
✗ Par défaut le mot de passe des utilisateurs est de 1234 qui est stocké dans le fichier
/usr/local/freeswitch/conf/vars.xml
✗ Nous allons faire le test en appelant le nunéro 1001 à partir du phone 1000
Notre objectif est atteint on partvient à configurer un serveur freeswitch et son environnement en
connaissant quelques commande de base et certains fichier de configuration. Puis on a pu faire
communiquer deux utilisateurs de freeswitch
I-OBJECTIFS
1- Paramétrer Webrtc qui est un standard de communication multimédia sur le web sur Freeswitch
2- Paramétrer Verto qui est protocole de signalisation qui couplé à Webrtc permet d’offrir une
communication moderne avec la possibilité de communiquer avec les abonnés des opérateurs de
télécoms
3- Installer et configurer verto communicator qui est client verto permettant d’offrir une interface
web de communication avec des fonctionnalités telle la webconference, le Tchat, le partage
d’ecran
✗ Nous allons désinstaller l’ancienne version de npm en tapant les commandes suivantes
#apt remove --purge nodejs npm
#apt clean
#apt autoclean
#apt install -f
#apt autoremove
-Installation de nodejs
#npm install
/etc/apache2/sites-available/default-ssl.conf
✗ On précise les paramètre de connexion d’un compte de frreeswitch comme suite puis sur
NOM D’UTILISATEUR pour se connecter au serveur freeswitch
✗ Nous allons configurer un autre client sur un navigateur chrome comme précédemment et
composer le numéro 3500 pour joindre la conférence
Avant on avait l’habitude de travailler sur des clients Sip applications comme microsip, xlite,zoiper
mais avec le module verto il est possible de faire la téléphonie avec des clients navigateurs comme
chrome. Qui a beaucoup de fonctionnalité c est à dire appel simple, appel vidéo, conférence,
partage d’écran…
✗ Nous allons vérifier si le compte est ajouté dans le dossier des comptes
2-Plan de numérotation
L’utilisateur 1020 est bien connecté au serveur freeswitch nous allons constater que le numéro peut
émettre des appels mais il ne peut pas recevoir d’appel pour cela nous allons allusion au plan de
numérotation dans le fichier /usr/local/freeswitch/conf/diaplan/default.xml comme suite
✗ Nous allons vérifier les deux ports asterisk et freeswitch comme suite
✗ Nous allons vérifier si l’utilisateur 1010 freeswitch est connecté au serveur asterisk
On nous faire savoir qu on n est seul à la conférence. Il est possible de prendre un autre phone et
appeler le 3500 pour être en communication
On voit bien que l’utilisateur mbaye est présent dans la liste des agents
✗ Suppression d’un agent de la file par ligne de commande
callcenter_config agent del [agent name]
Ce TP nous a permis de mieux comprendre la gestion des compte dans freeswitch ,le centre d’appel
et la conférence. Nous avons aussi appris l’interconnexion de asterisk et freeswitch
✗ Création de notre centre d’appel en précisant son nom support@default et la stratégie top-
down qui signifie si un utilisateur appelle sur le numéro de la file. Le numéro de la première
position va sonner dans le fichier
/usr/local/freeswitch/conf/autoload_configs/callcenter.conf.xml
✗ Définition des agents 1000 et 1005de notre file d’entente comme suite
✗ Nous allons attribuer les agents à notre file d’entente en précisant leur position et leur
niveau
Dans l’exemple ci-dessus, le nom de la file d’attente est : support@default, on a definit les agents
1000 et 1005, dans la balise tier , on a ajouté les agents 1000 et 1005 dans la file d’attente
support@default
17-Nous allons recharger notre serveur freeswitch reload mod_callcenter puis vérifier les agents
disponibles par la commande suivante
18-On recharge le module son pour les musiques d’entente par la commande suivante
Notre objectif est atteint, nous avons mis en place un centre d’appel avec un numéro bien défini et
ces agents. La réponse des appels dépend de la stratégie précisée.
Conclusion
Ce tp nous a permis de bien comprendre la téléphonie sur IP en environnement Linux comme
asterisk et freeswitch et Cisco comme le sccp et aussi l’interconnexion entre freeswitch et asterisk
et asterisk et sccp