Memoire finale sfallou

1 587 vues

Publié le

Mise en place d'une plateforme de prise de rendez-vous autonome sous asterisk

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 587
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
69
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Memoire finale sfallou

  1. 1. Année universitaire: 2013– 2014 SUJET : MISE EN PLACE D’UNE PLATEFORME DE PRISE DE RENDEZ-VOUS AUTONOME SOUS ASTERISK MEMOIRE DE FIN DE CYCLE Pour l’obtention du : DIPLOME UNIVERSITAIRE DE TECHNOLOGIE(D.U.T) Lieu de stage : EmC2-Group Durée de stage : 45 jours ECOLE SUPERIEURE POLYTECHNIQUE DEPARTEMENT GENIE INFORMATIQUE TELECOMS-RESEAUX Centre de Dakar REPUBLIQUE DU SENEGAL UNIVERSITE CHEIKH ANTA DIOP DE DAKAR Présenté et soutenu par : Serigne Fallou NDIAYE Professeur encadreur : Mr. Ibrahima GAYE Maître de stage: Mr. Thierno KANE
  2. 2. UCAD/ESP/DGI Serigne Fallou NDIAYE 2 TABLE DES MATIERES Table des figures ..................................................................................................................................................... 4 Dédicaces ................................................................................................................................................................ 5 Remerciements....................................................................................................................................................... 6 Avant-propos .......................................................................................................................................................... 7 Abstract................................................................................................................................................................... 8 Introduction ............................................................................................................................................................ 9 Chapitre I : Présentation Générale........................................................................................................................ 10 1. Présentation d’EmC2-Group.................................................................................................................... 11 1.1 Le département informatique................................................................................................................ 12 1.2 Le département Télécommunication ..................................................................................................... 12 1.3 Le département Electronique................................................................................................................. 14 1.4 Le département Energie......................................................................................................................... 14 2. Présentation du sujet............................................................................................................................... 14 2.1 Problématique........................................................................................................................................ 14 2.2 Objectifs ................................................................................................................................................. 15 Chapitre II : Analyse de l’existant et étude prealable........................................................................................... 16 1. Analyse de l'existant ..................................................................................................................................... 17 2. Critique de l'existant..................................................................................................................................... 17 3. Solutions proposées...................................................................................................................................... 17 Chapitre III : Etude globale de la téléphonie sur IP .............................................................................................. 19 I. Présentation de la ToIP.................................................................................................................................. 20 1. La téléphonie par circuit et par parquet................................................................................................... 20 2. La problématique de base de la téléphonie sur IP ................................................................................... 21 3. Avantage de la ToIP.................................................................................................................................. 22 4 .Les différentes solutions de ToIP open source......................................................................................... 23 5. Conclusion ................................................................................................................................................ 23 II. La plateforme Asterisk.................................................................................................................................. 23 1. Architecture.............................................................................................................................................. 24 2. Caractéristiques........................................................................................................................................ 25 3. Fonctionnalités......................................................................................................................................... 26 4. Avantages et inconvénients ..................................................................................................................... 27 III. Etude sur les serveurs vocaux interactifs..................................................................................................... 27 1. Introduction.............................................................................................................................................. 27 2. Définition.................................................................................................................................................. 28
  3. 3. UCAD/ESP/DGI Serigne Fallou NDIAYE 3 3. Rôle d’un SVI............................................................................................................................................. 28 4. Les types de base d’un SVI ....................................................................................................................... 29 5. Fonctionnement d’un SVI......................................................................................................................... 30 6. L’interaction Clients-SVI / SVI-Clients....................................................................................................... 31 7. La synthèse vocale................................................................................................................................... 35 8. Conclusion ................................................................................................................................................ 36 Chapitre IV : Description et mise en place de la plateforme................................................................................ 37 I. Description..................................................................................................................................................... 38 1. Les acteurs de la plateforme .................................................................................................................... 38 2. Les fonctionnalités de la plateforme ............................................................................................................ 38 II. Réalisation de la plateforme......................................................................................................................... 39 1. Architecture de la plateforme .................................................................................................................. 39 2. Prérequis et outils nécessaires :............................................................................................................... 40 3. Mise en place du serveur vocal interactif................................................................................................. 40 3.3 Mise en place de la passerelle GSM avec chan_mobile ......................................................................... 45 3.4 Mise en place d’une passerelle SMS avec chan_dongle ........................................................................ 48 3.5 Mise en oeuvre du Serveur Vocal Interactif........................................................................................... 52 3.6 Création des fichiers sons....................................................................................................................... 55 4. INTERFACE DE TEST...................................................................................................................................... 59 5. Déploiement en ligne.................................................................................................................................... 60 Conclusion générale et perspectives .................................................................................................................... 60 Bibliographie ET Webographie.............................................................................................................................. 62 glossaire ................................................................................................................................................................ 63 Annexes................................................................................................................................................................. 65
  4. 4. UCAD/ESP/DGI Serigne Fallou NDIAYE 4 TABLE DES FIGURES Figure 1: organigrammes de l'entreprise ............................................................................................................... 11 Figure 2: Technique de transfert de paquets ......................................................................................................... 20 Figure 3: Un flot de paquets téléphoniques........................................................................................................... 21 Figure 4: Architecture d’Asterisk.......................................................................................................................... 25 Figure 5: Carte vocale Digium.............................................................................................................................. 25 Figure 6: Les API d’Asterisk ................................................................................................................................ 26 Figure 7: Couplage Téléphonie Informatique ....................................................................................................... 30 Figure 8: Fonctionnement d’un SVI ..................................................................................................................... 31 Figure 9: Tableau récapitulatif des différentes fréquences du standard DTMF .................................................... 32 Figure 10: Processus de la reconnaissance vocale ................................................................................................ 33 Figure 11:Processus de la synthèse vocale............................................................................................................ 35 Figure 12: Architecture de la plateforme .............................................................................................................. 39
  5. 5. UCAD/ESP/DGI Serigne Fallou NDIAYE 5 JE DEDIE LE FRUIT DE CE TRAVAIL À mes parents À qui Je dois ce que je suis aujourd’hui. Que la paix du Tout Miséricordieux Et Sa Bénédictions les accompagnent. Que le Bon Dieu accorde une longue vie à ma mère NDEYE KANDJI Et le paradis à mon père El Hadj CHEIKH NDIAYE (paix à son âme). À ma famille et surtout à mes amis Pour leurs soutiens et encouragements continus. Que Dieu les protège. À mes professeurs Du collège, du lycée et de l’université Qui m’ont toujours soutenue et encouragé. DEDICACES
  6. 6. UCAD/ESP/DGI Serigne Fallou NDIAYE 6 C’est avec un grand plaisir que je réserve ces lignes en signe de gratitude et de reconnaissance à tous ceux qui ont contribué de près ou de loin à l’élaboration de ce travail. Je tiens tout d’abord à remercier Allah le Tout Puissant, Son Prophète Mouhamed (PSL) et notre vénéré guide Cheikh Ahmadou Bamba qui nous a montré le droit chemin. J’exprime ma reconnaissance à mon mentor Kalidou SY. Une personne généreuse à qui sa disponibilité, ses conseils et son aide sont autant d’éléments qui ont permis la réalisation de ce travail. La qualité de ce projet fut enrichie par l’apport de mon cher ami et promotionnaire Bassirou Ngom. Qu’il reçoive également toute ma gratitude pour les suggestions et conseils qu’il a pu me prodiguer. Mes remerciements vont également à l’endroit de l’entreprise EmC2-Group qui m’a offert l’opportunité de réaliser ce projet dans de bonnes conditions ; à Monsieur Elimane KANE pour son soutien et ses conseils ; à mon maitre de stage Monsieur Thierno KANE qui m’a soutenu tout le long de ce travail et à tout le personnel de l’entreprise. J’exprime ma gratitude à mon encadreur Monsieur IBRAHIMA GAYE, pour l’effort fourni, les conseils prodigués et pour son soutien sans condition. Mes plus tendres pensées iront vers ma famille (mes frères, mes sœurs, mes cousins, mes cousines, mes tantes et tontons), et surtout à mes parents, ma mère, mon père (paix à son âme) Ces remerciements ne seraient pas complets sans une pensée pour mes meilleurs amis et amies de longue date. Merci de m’avoir aidé et encouragé, et d’être présent quand j’en ai besoin. REMERCIEMENTS
  7. 7. UCAD/ESP/DGI Serigne Fallou NDIAYE 7 L’école supérieure polytechnique (E.S.P) forme en deux années d’études des techniciens supérieurs, et en cinq ans des ingénieurs dans plusieurs spécialités. Dans le cadre de leur formation les étudiants de fin de chaque cycle sont tenus d’effectuer un stage pratique au sein d’une entreprise. Ce stage en entreprise est un moment privilégié de mise en pratique des enseignements reçus. Il permet tout d’abord à l’étudiant de faire une application réelle des connaissances théoriques. Ensuite, il emmène l’étudiant à transformer les acquis pédagogiques en savoir- faire et savoir être, lui permettant de se positionner dans le milieu professionnel ainsi, de s’impliquer comme un acteur véritable dans le processus de l’entreprise. En outre, il doit permettre à l’étudiant de mettre en évidence, son niveau de maturité, son autonomie et sa capacité à s’évaluer en dehors du milieu scolaire, dans le strict respect des règles du monde du travail. A la fin de ce stage, l’étudiant doit produire un mémoire et le soutenir devant un jury. Ce document décrit les activités effectuées au sein de la structure d’accueil en rapport avec un sujet ou projet qui lui a été confié. C’est dans ce cadre que nous venons à présenter ce document. AVANT-PROPOS
  8. 8. UCAD/ESP/DGI Serigne Fallou NDIAYE 8 My training course was held at the company EMC2-GROUP. This is a Senegalese company founded by young engineers and scientists of many nationalities, which aims to make available to customers the latest technologies. Service provider, the company is involved in Telecommunications, Electronics, Computer and Energy. My project was to create a platform for making appointments under asterisk. This platform enables service agencies, individuals and offices to plan their calendar appointments and manage the allocation of appointments independently. Indeed, customers call a dedicated number and the server offers them a choice on appointments available. The implementation of this platform lasted six weeks and allowed me to gain a lot of experience on the VoIP technology and development of web application. The basis of this platform is essentially and primarily on IVR with asterisk. ABSTRACT
  9. 9. UCAD/ESP/DGI Serigne Fallou NDIAYE 9 Avec l’émergence de la téléphonie IP, le secteur des services, informatiques et télécoms, à valeur ajoutée connaît de nos jour un progrès sans précédent. L’avènement du serveur vocal interactif en est un des plus beaux exemples. Le SVI (Serveur Vocal Interactif) qui fut l’apanage des grandes entreprises devient accessible aux plus petites. Il fonctionne souvent avec des messages préenregistrés qu'il diffuse, mais peut aussi utiliser un synthétiseur vocal pour générer son discours. Le SVI constitue une aide appréciée par toutes les PME qui veulent optimiser la qualité de leurs services clients, en permettant notamment une accessibilité 24h/24 et une liaison personnalisée avec les bases de données de l'entreprise. A cet effet, il convient de se poser la question de savoir : Quelles genres de plateformes et services mettre en place pour concevoir et développer des applications permettant à tout un chacun de bien s’approprier les merveilles de ces technologies? A ce titre, il s’avère raisonnable de disposer d'une solution efficace et moins coûteuse. Pour répondre à ce besoin, il existe des logiciels sur le marché, à l'instar d’Asterisk qui est un logiciel libre. Asterisk est un IPBX, c'est à dire un commutateur téléphonique qui fonctionne aussi bien sur le réseau téléphonique traditionnel que sur les nouveaux réseaux Internet (IP). Il est généralement utilisé sur un système d'exploitation à base d'Unix (Linux, BSD, Unix). Ainsi la recherche à mener dans ce projet doit améliorer la communication entre un système d’informations et ses utilisateurs au travers de l’analyse et de la conception de l’interface homme-machine. C'est dans cette optique que le projet de « Mise en place d’une plateforme de prise de Rendez-vous autonome sous asterisk » nous a été confié. Après avoir présenté le sujet, on fera une théorique sur la téléphonie IP. Ensuite nous faisons une description détaillée des technologies utilisées. Enfin nous allons mettre en place la plateforme de prise de rendez-vous sous asterisk. INTRODUCTION
  10. 10. UCAD/ESP/DGI Serigne Fallou NDIAYE 10 CHAPITRE I : PRESENTATION GENERALE
  11. 11. UCAD/ESP/DGI Serigne Fallou NDIAYE 11 1. PRESENTATION D’EMC2-GROUP Créé en 2010 par de jeunes ingénieurs et chercheurs de plusieurs nationalités, EmC2 est une entreprise spécialisée dans les TIC. Fournisseur et prestataire de services, l’entreprise intervient dans les domaines de l’Electronique, l’Energie, l’Informatique et les Télécommunications. Sa devise est de fournir aux clients les technologies de dernière génération. Ainsi, EmC2 est spécialisée dans le développement logiciel, les ventes de biens électroniques et informatiques (routeurs, modems, caméras IP,…), les technologies de paiement mobile, les énergies renouvelables, etc. Composée d’une équipe dynamique et expérimentée, son capital humain montre une valeur extraordinaire à travers son savoir-faire et sa qualité de service. L'encadrement de son personnel est assuré grâce à des formations régulières sur les nouvelles technologies. En fonction de ses différents départements, l’entreprise EmC2 offre à ses clients une diversité de services d’installation et de maintenance des réseaux télécom, informatiques, et électriques, de développement logiciel et de fournitures de biens et d’équipements.  Les locaux de l’entreprise se situent à l’adresse suivante : 4, Cité Comico II, VDN-Dakar  Les contacts : contact@emc2-group.com Tel: +221 30 114 16 24 / +221 33 867 19 67 Site : www.emc2-group.com  Distinction : EmC2 a été primée par le Comité « Business Iniative and Directions » (www.bid-org.com) les 26 & 27 Octobre 2013 à Paris au titre de : « INTERNATIONAL GOLD STAR FOR QUALITY ». Figure 1: organigrammes de l'entreprise
  12. 12. UCAD/ESP/DGI Serigne Fallou NDIAYE 12 1.1 LE DEPARTEMENT INFORMATIQUE Depuis sa création, EmC2 a développé dans le cadre de ses activités, une connaissance éprouvée dans les technologies Java/J2EE et PHP5 qui constituent aujourd’hui ses domaines d’expertise ; ce qui lui permet aujourd’hui de gagner la confiance de ses clients qui attendent des solutions simples et adaptées à leurs besoins. EmC2 mise sur les technologies open source. De nombreux logiciels libres atteignent ou dépassent la qualité des solutions propriétaires et ont en plus, l’avantage de donner une indépendance vis-à-vis d’un éditeur. Aujourd’hui l’open source connaît de plus en plus de notoriété. Ainsi, les principaux services fournis par ce département sont : ● La Monétique : avec notre système de paiement par carte et sur internet ● Contrôle d’accès par cartes ● La conception de sites web ● Le développement de solutions Open Source ● Le développement de technologies Web et mobile, spécifiques aux besoins de chaque client. ● L’audit et les conseils informatiques Les principales réalisations au sein de ce département sont les suivantes:  Plateforme de Géolocalisation qui donne la vitesse et la position des véhicules grâce aux balises GPS ou aux téléphones portables, en temps réel.  Système de paiement par cartes électroniques rechargeables et jetables (Restaurants, Supers Marchés, Bus, Banques, Ecoles, Universités, Station d’essence, etc.).  Système de pointage horaire par badges électroniques  Système de Recouvrement des recettes municipales par téléphones mobiles  Système de collecte de données à partir de formulaires embarqués dans les Smartphones. Pour des campagnes de recensement, d’enquête, sondage, étude de marché, etc.  Le site www.jevousoffre.com  Le site www.osez-vert.com  Le site www.senfive.com  Le site www.avenuemarchand.com  Le site www.harmattan-senegal.com  Le site www.agenceculturelleafricaine.ch  Le site www.emc2-group.com  Etc. 1.2 LE DEPARTEMENT TELECOMMUNICATION Les opérateurs télécoms disposent d’un vaste réseau aussi bien mobile que fixe. L’exploitation de ce réseau et son extension représentent un enjeu considérable pour ces
  13. 13. UCAD/ESP/DGI Serigne Fallou NDIAYE 13 derniers. EmC2 dispose de solutions adaptées pour aider les opérateurs à garantir à leurs clients des services de qualité. EmC2 installe également les éléments du réseau comme les stations de base BTS/NODEB, les BSC/RNC, …, gère les intégrations d’antennes RF MW, la recherche et négociation des sites, l’ingénierie design APD et AS-built. Aussi, l’entreprise se propose-t-elle d’accompagner chaque partenaire, dans la mise en place des réseaux électriques, LAN et téléphonie d’entreprise. De plus, elle offre un service d’audit des réseaux télécoms ainsi qu’un contrôle sur toutes les étapes de la progression de l’installation des réseaux. Ce département fournit les services suivants :  La construction de sites GSM, CDMA, Node B, BSC, RNC  Le survey des sites GSM, FH et confection des APD : Avant-Projet Détaillé  L’entretien et la construction des pylônes de toutes sortes (haubanés ou auto stables)  L’installation et la mise en service des baies d’énergie  La configuration ou upgrade des sites BTS pour optimisation réseau  Le commissioning et l’acceptance des sites GSM (MBI, MBO, CBO)  La maintenance et la mesure corrective de VSWR, ROS sur des installations GSM  L’assemblage des shelters de toutes sortes (Alga, Zeppelin, ZDMI, How Stone) et de pylônes  L’audit des installations pour l’amélioration de service  Le développement et l’installation de solutions en Réseau et Informatique  Le câblage des réseaux IP  L’interconnexion des sites par VPN  Les services relatifs aux solutions WIFI (déploiement, Itinérance, Sécurité…)  Le développement de solutions VoIP/ToIP Nos solutions de téléphonie sur IP permettent de réduire considérablement les coûts de communication des entreprises, particuliers et organisations. Elles présentent les avantages suivants :  une communication gratuite au sein de toute une entreprise (PC, Smart Phone, appareil fixe)  le paiement d’un montant forfaitaire pour des communications vers une centaine de pays étrangers 24h/7j.  la mise en place d’un centre d’appel  la gestion de files d’attentes  l’utilisation de la fonction Transfert d’appels (transfert d’appels lors de non réponse, sur occupation de poste,...)  la possibilité de planifier et/ou d’initier des conférences téléphoniques (Salles de conférence, recherche d’extensions/utilisateurs)  les appels vidéo, le chat la mise en place d’un Serveur Vocal,  etc.
  14. 14. UCAD/ESP/DGI Serigne Fallou NDIAYE 14 1.3 LE DEPARTEMENT ELECTRONIQUE Dans ce département, des ingénieurs en électronique programmable et électrotechniciens s’occupent essentiellement de la programmation des microcontrôleurs et interfaces GSM, ainsi que de toute activité relative à ce domaine. Les principales activités au sein de ce département sont citées comme suit : ● La vente de consommables:  Routeur 3G/WIFI compatible avec les clés Expresso, Orange et Tigo  Caméra IP (Visibilité diurne et nocturne), motorisée  Antennes Omnidirectionnelles de 1Km de rayon  Routeur avec OS Linux modifiable pour les développeurs ● La mise en place de système de géolocalisation permettant :  La gestion centralisée en temps réel d’un parc automobile  L’immobilisation de véhicule en cas de vol par un code SMS. ● La mise en place de systèmes de vidéo surveillance ● La mise en place de systèmes en domotique 1.4 LE DEPARTEMENT ENERGIE Ce département regroupe des ingénieurs et des techniciens en électricité. Il propose les services suivants :  La fourniture et l’installation de systèmes de secours électrique (Backup Batterie)  L’installation solaire  La fourniture et l’installation de compteurs électriques spéciaux, gérés grâce à des microcontrôleurs embarqués et connectés à des téléphones mobiles embarqués pour envoyer la consommation journalière du client, et être en mesure d’effectuer une coupure et un rétablissement à distance par SMS. 2. PRESENTATION DU SUJET 2.1 PROBLEMATIQUE Ce projet a été mis sur pied dans le souci d’aider les agences de service, les cabinets de consultation et les entreprises à gérer de façon efficiente leur agenda d’attribution de rendez-vous pour leurs clients et leurs patients. En effet, au Sénégal, le constat est que la prise de rendez-vous au niveau des agences de service, des centres médicaux, des entreprises, peut être une opération fastidieuse pour la population. Très souvent, pour prendre un rendez-vous on est obligé de se pointer dans les locaux de la structure sans pour autant être sûre de la disponibilité de leur agenda. Cela peut s’avérer très couteux en termes de temps et d’argent.
  15. 15. UCAD/ESP/DGI Serigne Fallou NDIAYE 15 Cependant, le développement des nouvelles technologies notamment dans le domaine des télécommunications offre des solutions simples pour pallier ce problème. Voilà, en résumé, le contexte qui justifie l’intérêt de ce sujet de stage portant exclusivement sur la gestion à distance des Rendez-Vous. 2.2 OBJECTIFS EmC2-Group, en tant que prestataire de services, s’intéresse beaucoup à l’automatisation des tâches récurrentes qui sont effectuées dans les entreprises ; et la gestion des rendez-vous entre dans ce cadre. Donc son objectif est de proposer un service unique et irréprochable dans ce domaine, c’est dans cet ordre d’idée que nous nous proposons de réaliser ce travail aussi passionnant qu’il soit de mettre en place un système basé sur la ToIP qui soit capable de dialoguer avec les clients et le système d’information de la structure afin de gérer avec autonomie le calendrier des rendez-vous. En principe, il s’agit d’une part, d’un serveur vocal interactif qui va permettre aux appelants de faire un choix parmi les différentes structures qui sont présentes dans le système afin de prendre un rendez-vous avec l’une d’elle. En fonction du choix fait, le système va exécuter des scripts qui vont interroger la base de données et renvoyer les dates de rendez-vous disponibles. Ensuite, le serveur se chargera d’annoncer la date et l’heure du rendez-vous qu’il a fixé à l’appelant. Cette notification se fera vocalement via l’IVR mais aussi par sms D’autre part, il sera question de concevoir une plateforme web qui va permettre aux différentes structures de planifier leur agenda, de visualiser les rendez-vous attribués par le système, d’annuler ou de reporter des rendez-vous, de contacter l’administrateur (EmC2-Group) et les autres structures qui sont abonné au système. Et enfin une interface d’administration destinée à EmC2-Group. Pour arriver à mettre en place cette application nous utiliserons le Serveur PABX « Open source » Asterisk qui constituera le noyau du projet.
  16. 16. UCAD/ESP/DGI Serigne Fallou NDIAYE 16 CHAPITRE II : ANALYSE DE L’EXISTANT ET ETUDE PREALABLE
  17. 17. UCAD/ESP/DGI Serigne Fallou NDIAYE 17 Ce chapitre est destiné à décrire ce qui existait dans l’entreprise et relatif au projet avant sa mise en place. 1. ANALYSE DE L'EXISTANT EmC2-Group est un prestataire de service reconnu dans le domaine de l’informatique et des télécommunications notamment dans les services de VoIP. En effet, l’entreprise dispose déjà d’un serveur Asterisk en ligne. En d’autres termes, elle est un fournisseur de ToIP. En effet, toute personne qui dispose d’un compte utilisateurs au niveau de l’entreprise peut s’enregistrer auprès du serveur et bénéficier des services n’importe où dès lors qu’il a accès à internet. Ce serveur est déployé sur un Cloud avec une adresse IP publique et un nom de domaine spécifique. Les fonctionnalités de ce serveur sont entre autre :  Emission et réception d’appel  SVI de redirection d’appel  Messagerie vocale 2. CRITIQUE DE L'EXISTANT Les critiques vont porter principalement sur les services offerts par le serveur Asterisk de l’entreprise déployé en ligne. Si on revient sur l’analyse de l’existant, on remarque que les fonctionnalités mentionnées dans cette partie sont bien intéressantes mais insuffisantes et à la limite même trop standards. En effet, les fonctionnalités déployées sont des fonctionnalités standards d’un serveur Asterisk ; il s’agit juste de quelques configurations de base à la portée de tout technicien avec quelques notions sur Asterisk. Certes l’essentiel est là mais on ne trouve aucun service original qui pourrait rendre attractif le serveur et le différencier des autres. De plus, aucun dispositif pouvant servir de passerelle avec le monde GSM ou RTC n’est mis en place. Par ailleurs, l’entreprise ne dispose pas d’une application web qui permettrait d’administrer avec facilité ce serveur en ligne. En effet, pour créer des comptes utilisateurs, on est obligé d’éditer plusieurs fichiers de configuration et ensuite redémarrer le serveur avec des lignes de commande. Cela exige donc la présence d’une personne maitrisant les configurations dans Asterisk. Comme l’entreprise se veut être leader dans les services de VoIP au Sénégal et qu’elle est consciente qu’un opérateur sans services et un opérateur voué à la disparition, elle a pris les devants en proposant des solutions uniques et originales dans ce domaine. Ce projet que nous comptons réaliser en est la parfaite illustration. 3. SOLUTIONS PROPOSEES Tous d’abord nous avons décidé de travailler en local pour raisons techniques liés à l’utilisation de certains dispositifs physiques que nous allons employer pour la réalisation du projet.
  18. 18. UCAD/ESP/DGI Serigne Fallou NDIAYE 18 Donc voici comment on a décidé de procéder : - Mettre en place un serveur Asterisk en local - Configurer ce serveur avec les services de base identiques à ceux qu’on a dans le serveur en ligne - Mettre en place le service de prise de rendez-vous dans ce serveur - Mettre en place une interface web pour l’administration de ce serveur à savoir la création des comptes utilisateurs et d’abonnement, la visualisation de l’historique des appels… - Faire un Trunk entre ce serveur local et celui qui est en ligne - Faire une redirection de port au niveau du routeur pour que le serveur soit accessible à travers le net.
  19. 19. UCAD/ESP/DGI Serigne Fallou NDIAYE 19 CHAPITRE III : ETUDE GLOBALE DE LA TELEPHONIE SUR IP
  20. 20. UCAD/ESP/DGI Serigne Fallou NDIAYE 20 I. PRESENTATION DE LA TOIP 1. LA TELEPHONIE PAR CIRCUIT ET PAR PARQUET Dans la communication à transfert de paquets, toutes les informations à transporter sont découpées en paquets pour être acheminées d’une extrémité à une autre du réseau. Cette technique est illustrée à la figure 1 ci-dessous. L’équipement terminal A souhaite envoyer un message à B. Le message est découpé en trois paquets, qui sont émis de l’équipement terminal vers le premier nœud du réseau, lequel les envoie à un deuxième nœud, et ainsi de suite, jusqu’à ce qu’ils arrivent à l’équipement terminal B. Dans l’équipement terminal les paquets rassemblés reconstituent le message de départ. Le paquet peut en fait provenir de différents médias. Sur la figure, nous supposons que la source est un message composé de données, comme une page de texte préparée au moyen d’un traitement de texte. Le terme message est cependant beaucoup plus vaste et recoupe toutes les formes sous lesquelles de l’information peut se présenter. Cela va d’une page Web à un flot de parole téléphonique représentant une conversation. Dans la parole téléphonique, l’information est regroupée pour être placée dans un paquet, comme illustré à la figure 2. Le combiné téléphonique produit des octets, provenant de la numérisation de la parole, c’est-à-dire le passage d’un signal analogique à un signal sous forme de 0 et de 1, qui remplissent petit à petit le paquet. Dès que celui-ci est plein, il est émis vers le destinataire. Une fois le paquet arrivé à la station terminale, le processus inverse s’effectue, restituant les éléments binaires régulièrement à partir du paquet pour reconstituer la parole téléphonique. Le réseau de transfert est lui-même composé de nœuds, appelés nœuds de transfert, reliés entre eux par des lignes de communication, sur lesquelles sont émis les éléments binaires constituant les paquets. Le travail d’un nœud de transfert consiste à recevoir des paquets et à déterminer vers quel nœud suivant ces derniers doivent être acheminés. Figure 2: Technique de transfert de paquets
  21. 21. UCAD/ESP/DGI Serigne Fallou NDIAYE 21 Figure 3: Un flot de paquets téléphoniques 2. LA PROBLEMATIQUE DE BASE DE LA TELEPHONIE SUR IP La voix sur IP adresse deux types d’applications : celles qui, comme la téléphonie, mettent en jeu une interaction humaine, laquelle implique un temps de transit très court, et celles qui transportent des paroles unidirectionnelles, qui n’exigent pas de temps réel. Cette dernière catégorie rassemble essentiellement des transferts de fichiers contenant de la parole. La téléphonie transportée par paquets, et plus particulièrement par paquet IP, permet d’intégrer dans un même réseau les services de données et la téléphonie. Les entreprises sont de plus en plus nombreuses à intégrer leur environnement téléphonique dans leur réseau à transfert de paquets. Les avantages de cette intégration sont, bien sûr, la baisse des frais de communication, mais aussi la simplification de la maintenance de leurs réseaux, qui passent de deux (téléphonie et données) à un seul (données). La difficulté de la téléphonie par paquets réside dans la très forte contrainte temporelle due à l’interaction entre individus. Le temps de latence doit être inférieur à 300 ms si l’on veut garder une interaction humaine acceptable. Si l’on souhaite une bonne qualité de la conversation, la latence ne doit pas dépasser 150 ms. Un cas encore plus complexe se produit lorsqu’il y a un écho, c’est-à-dire un signal qui revient dans l’oreille de l’émetteur. L’écho se produit lorsque le signal rencontre un obstacle, comme l’arrivée sur le combiné téléphonique. L’écho qui repart en sens inverse est numérisé par un codec (codeur-décodeur) et traverse sans problème un réseau numérique. La valeur normalisée de la latence de l’écho étant de 56 ms, pour que l’écho ne soit pas gênant à l’oreille, il faut que le temps aller ne dépasse pas 28 ms, en supposant un réseau symétrique prenant le même temps de transit à l’aller qu’au retour. Il faut donc que, dans les équipements terminaux, les logiciels extrémité soient capables de gérer les retards et de resynchroniser les octets qui arrivent. Les équipements modernes, comme les terminaux GSM, possèdent des suppresseurs d’écho évitant cette contrainte temporelle forte. Une autre caractéristique essentielle de la téléphonie provient du besoin d’avertir par une sonnerie la personne qui est appelée. La communication téléphonique est pour cela décomposée en deux phases : une première permettant d’avertir le destinataire, et une seconde correspondant au transport de la parole proprement dite. Il existe en réalité une troisième phase, qui consiste en
  22. 22. UCAD/ESP/DGI Serigne Fallou NDIAYE 22 la finalisation de la communication lorsqu’un des deux terminaux raccroche. Cette phase utilise le même type de protocole que la première : un protocole de signalisation. 3. AVANTAGE DE LA TOIP La téléphonie n’a jamais été une application simple. Les contraintes temps réel et de synchronisation pèsent lourdement sur sa mise en œuvre, et la téléphonie par paquet ne fait que compliquer le transport. Cependant, plusieurs raisons expliquent le succès de la téléphonie par paquet, et plus spécifiquement de la téléphonie sur IP :  Convergence Quel que soit le type de données véhiculées, le réseau est unique : les flux de voix, de vidéo, de textes et d’applicatifs transitent sur le même réseau. Les communications deviennent plus riches, et sans avoir besoin de multiplier les canaux de transport.  Optimisation des ressources. Le réseau IP utilisant un transfert de paquets, l’utilisation des ressources est optimisée en comparaison des solutions de type commutation de circuits. Dans le réseau RTC, qui est à commutation de circuits, des ressources sont dédiées pour toute la durée de la communication, qu’elles soient utilisées ou non. Or les très nombreux silences d’une conversation téléphonique rendent le dimensionnement du canal réservé systématiquement trop grand. Pour que la voix supporte simultanément la superposition des deux paroles correspondant aux deux intervenants d’une communication téléphonique (full-duplex), les réseaux RTC doivent allouer pour chaque intervenant des canaux différents, l’un en émission, l’autre en réception. Dans la pratique, lors d’une conversation téléphonique, une seule personne parle en même temps. Les ressources sont donc globalement gaspillées. C’est pourquoi la réservation effectuée dans les réseaux RTC représente un coût nettement supérieur à celui des réseaux IP.  Coût de transport quasiment nul. Grâce à l’intégration de la téléphonie parmi de nombreuses autres applications, le coût du transport devient pratiquement nul. Le réseau permettant d’effectuer le transport est le réseau cœur des opérateurs, celui qui effectue tous les transports de données. Ces opérateurs, qui étaient auparavant obligés de maintenir au moins deux réseaux, celui de téléphonie et celui de données, n’en ont plus qu’un seul à maintenir. L’intégration supplémentaire de la télévision dans le réseau de données fait également chuter les coûts de transport de cette application.  Services exclusifs. Certains services sont propres aux réseaux IP. Par exemple, le service de présence, consistant à détecter si un utilisateur est connecté au réseau ou non, ne nécessite aucune réservation de ressources dans un réseau IP, à la différence du réseau RTC. De façon analogue, pour le nomadisme des utilisateurs, il est plus simple de passer, partout dans le monde, par le réseau IP plutôt que par le réseau RTC.
  23. 23. UCAD/ESP/DGI Serigne Fallou NDIAYE 23  Disparition des commutateurs locaux. Liée à la précédente, cette nouvelle donne résulte de la possibilité de gérer les téléphones depuis le réseau de l’opérateur (système Centrex). Des solutions intermédiaires, comme les PBX-IP, permettent de passer petit à petit des circuits numériques aux liaisons paquet IP. 4 .LES DIFFERENTES SOLUTIONS DE TOIP OPEN SOURCE Il existe aujourd’hui plusieurs solutions de téléphonie sur IP. Globalement elles utilisent les mêmes principes de bases mais les fonctionnalités peuvent être différentes. Parmi celles-ci on peut citer :  FreeSWITCH FreeSWITCH est un PBX IP open source créé en 2006. Il offre quasiment tout ce qu’un PBX IP de renom comme asterisk dispose. Il implémente les différents types de signalisation à savoir SIP, H323, MGCP ….  Asterisk Asterisk est un autocommutateur téléphonique privé (PABX) open source et propriétaire (publié sous licence GPL et licence propriétaire) pour systèmes GNU/Linux. 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. 5. CONCLUSION La téléphonie reste une des applications dominantes du monde des réseaux, et ce pour encore de nombreuses années, en raison notamment de l’émergence de nouveaux et immenses marchés, comme celui de la Chine. La VoIP reste aujourd’hui majoritairement prise en charge par les réseaux à commutation de circuits, mais une forte concurrence s’exerce avec les réseaux à transfert de paquets. Le passage vers le tout-IP téléphonique, permettant d’intégrer les services de données et la téléphonie dans un même réseau, paraît inéluctable. Cependant, parmi la panoplie de choix qui s’offre à nous, on a préféré travailler avec l’IPBX Asterisk grâce notamment à sa facilité de mise en œuvre et les innombrables avantages qu’il met à notre disposition. II. LA PLATEFORME ASTERISK Asterisk est un commutateur téléphonique privé à part entière mais d'implémentation logicielle, compatible avec Linux et qui s'interconnecte avec quasiment tous les équipements de téléphonie de base. Il rassemble plus de 100 ans de connaissance sur la téléphonie dans une robuste suite d’applications de télécommunication fortement intégrées. C’est probablement l’un des outils les plus puissants, les plus flexibles et les plus extensibles fournissant tous les services de télécommunications qui soient. Il a été développé par Mark Spencer à l'origine de l'entreprise Digium, et qui continue, grâce à de nombreux contributeurs, à évoluer régulièrement. Ce logiciel a été conçu pour une
  24. 24. UCAD/ESP/DGI Serigne Fallou NDIAYE 24 flexibilité maximale et reste un système ouvert à de nouvelles applications. Asterisk fournit toutes les fonctionnalités attendues d'un PABX mais aussi la voix sur IP et n'a besoin d'aucun matériel supplémentaire pour l'assurer. Dans l'interconnexion avec les équipements de téléphonie numériques et analogiques, Asterisk reconnaît une large gamme de dispositifs matériels, et notamment ceux fabriqués par ses sponsors, tels que digium, ou encore Quicknet. Asterisk offre des services tels que la conférence téléphonique, le répondeur interactif, la mise en attente d'appels, la messagerie vocale, la musique d'attente, les enregistrements d'appels pour l'intégration avec des systèmes de facturation, etc... Asterisk crée un environnement unique qui peut être façonné pour s’adapter à n’importe quel cas d’utilisation notamment en tant que serveur vocal interactif. Asterisk est conçu pour s’interfacer avec n’importe quel dispositif logiciel ou matériel de télécommunication de manière cohérente et progressive. Asterisk est un logiciel assez complexe, dont la configuration peut être ardue. Il propose des options avancées de configuration et d’ouverture parmi lesquelles nous avons une base de données interne et un système de communication avec des applications externes : AGI. AGI (Asterisk Gateway Interface) est une interface permettant de faire communiquer le plan de numérotation (extensions.conf) avec des programmes extérieurs à Asterisk, écrits avec des langages de programmation aussi divers que PHP, Perl, Python, C, Shell Linux. AGI est matérialisé par l'écriture de scripts qui sont exécutés dans le plan de numérotation. A chaque lancement d'un script AGI, Asterisk envoie au script un ensemble de variables avec leurs valeurs. Les fonctionnalités des scripts AGI sont aussi diverses que le langage de programmation choisi ne permet de possibilités. Il est entre autres possible de :  Faire des requêtes dans une base de données (et ainsi lier un serveur Asterisk à une application)  Modifier les informations à l'affichage  Améliorer les manipulations dans le plan de numérotation  Améliorer le traitement des appels  Créer un historique personnalisé  Etc. A cela s’ajoute la possibilité d'utiliser les autres applications de type AGI. A savoir :  EAGI (): Permet de lire le canal son.  DeadAGI (): Permet de contrôler les canaux désactivés (hangup/raccroché).  FastAGI (): Permet au script d'être utilisé sur un serveur Asterisk distant. 1. ARCHITECTURE Asterisk a une architecture très simple. Il se comporte comme un middleware connectant les applications et les technologies de téléphonie. Il a tout d’abord été développé sur GNU/LINUX pour x/86. Mais il a été soigneusement conçu pour une flexibilité maximale. Ainsi les APIS spécifiques sont définies autour d'un système PBX central. Ce noyau avancé manipule l’interconnexion interne du PBX proprement soustrait des protocoles spécifiques, des codecs et des interfaces matérielles des applications de téléphonie. Cela permet à Asterisk d'utiliser n'importe quel matériel approprié et
  25. 25. UCAD/ESP/DGI Serigne Fallou NDIAYE 25 technologie disponible (maintenant ou à l'avenir) pour exécuter ces fonctions essentielles, en connectant le matériel et les applications. Figure 4: Architecture d’Asterisk  Equipement d’interconnexion Il est à noter que pour un usage en interne, Asterisk ne nécessite aucun matériel supplémentaire mais nécessite une ou plusieurs cartes pour atteindre le réseau téléphonique commuté. Exemple : Figure 5: Carte vocale Digium 2. CARACTERISTIQUES Les solutions de commutations téléphoniques d’Asterisk offrent un assortiment à caractères riches et flexibles. Asterisk offre les fonctionnalités du PBX classique ainsi que des caractéristiques avancées et fonctionne avec les systèmes traditionnels de commutations téléphoniques à base standard et aussi avec les systèmes Voix sur IP. Asterisk fournit toutes les caractéristiques souhaitables d’un large système PBX. Asterisk prend en charge de nombreux protocoles MRT (Multi-Threaded Routing Toolkit) pour le traitement et la transmission de la voix par les interfaces de téléphonie traditionnelle. Asterisk est compatible avec les types de signalisations standards américaines et européennes utilisés dans les systèmes téléphoniques d’affaire standard ; il établit un pont entre la prochaine génération de réseaux d'intégration voix-données et les infrastructures déjà en place.
  26. 26. UCAD/ESP/DGI Serigne Fallou NDIAYE 26 Non seulement Asterisk est compatible avec les équipements de téléphonie traditionnels, mais il étend leurs capacités techniques. Asterisk est muni d'un noyau de commutation, de quatre API pour effectuer le chargement modulaire des applications de téléphonie, gérer les interfaces d'équipement, les différents formats de fichiers et des codecs (voir figure ci-dessous). Figure 6: Les API d’Asterisk La commutation entre les différentes interfaces qui sont prises en charge s'effectue de façon transparente, c'est pourquoi il peut intégrer tellement de systèmes de téléphonies différents en un seul réseau de commutation. Asterisk pour fonctionner, a besoin d'une configuration matérielle et logicielle minimale:  Processeur : Pentium III 900Mhz ou supérieur  Mémoire : mini 256Mo de RAM 3. FONCTIONNALITES Asterisk propose toutes les fonctionnalités d’un standard téléphonique de niveau professionnel, des plus élémentaires aux plus complexes. Non seulement, il permet de gérer le routage des appels au sein du réseau, mais en plus il supporte une large gamme de services :  Authentification des utilisateurs appelants.  Serveur vocal, ou standard d’accueil téléphonique automatisé, aussi appelé IVR (Interactive Voice Response). Cette fonction permet de demander à l’appelant le service qu’il souhaite utiliser et d’effectuer le routage correspondant.  Numérotation abrégée pour définir des raccourcis.  Transfert d’appel.  Filtrage des appels.  Messagerie vocale (répondeur automatique).  Notification et écoute par e-mail des messages laissés sur son répondeur (voicemail).  Gestion des conférences etc.
  27. 27. UCAD/ESP/DGI Serigne Fallou NDIAYE 27 4. AVANTAGES ET INCONVENIENTS 4.1 AVANTAGES Asterisk est très flexible et on peut construire des réseaux de taille variable qui vont du PBX connectant un seul téléphone analogique ou IP aux grands systèmes connectant plusieurs téléphones analogiques et IP Asterisk fusionne de façon transparente le trafic de la voix et des données sur des réseaux disparates au moyen du protocole voix sur IP IAX (Inter-Asterisk eXchange). Il est possible, au moyen de paquets de données vocales, de transmettre des données, telles que les adresses URL et des images, alignées au trafic de la voix. C'est ce qui permet l'intégration évoluée des données Asterisk permet la réduction des coûts car étant un logiciel Open Source et ne nécessitant pas de dispositif très important pour sa mise en œuvre. Évolutif, car les programmeurs Open Source participent au codage. Ainsi Asterisk grossit rapidement avec de nouvelles fonctionnalités supplémentaires qui sont fréquemment ajoutées. 4.2 INCONVENIENTS La liaison doit être de bonne qualité car aussi bien la voix que les données passent par le même réseau. Ainsi ce réseau se doit d’être de bonne qualité, sinon plusieurs appels entre terminaux ou entre les terminaux et le serveur peuvent être rejetés ou ne peuvent pas aboutir. Dépendant du réseau électrique, car le serveur et certains des terminaux sont liés non pas au réseau téléphonique commuté (RTC), mais au réseau informatique. Donc, dès qu’il y a coupure d’électricité, le serveur devient indisponible, ce qui constitue d’ailleurs l’un des principaux inconvénients de cette solution. III. ETUDE SUR LES SERVEURS VOCAUX INTERACTIFS 1. INTRODUCTION La numérisation et l’informatique sont de nos jours en grand essor, ce qui a conduit à une importante évolution au niveau des réseaux téléphoniques. Nous assistons à une mise en place d’applications logicielles pour une meilleure gestion du flux des appels entrants et sortants. Le premier essai d'application des SVI a été réalisé par IBM en 1972 pour le compte de la Banque Bred. L'introduction des SVI dans les entreprises s'est généralisée dans le milieu des années 1980. Depuis 1991, les serveurs vocaux ne sont plus seulement présents dans les grandes entreprises, mais aussi dans les petites et moyennes entreprises qui s’activent dans les domaines de l’artisanat et des services fournis aux particuliers. Le SVI a constitué une étape historique de l'évolution des technologies informatiques et des télécommunications, au sens où c'était la première fois que l'intégration des technologies informatiques et vocales, et celle des technologies téléphoniques au sein d'un unique équipement débouchaient sur un véritable marché d'équipements de télécommunication. Le serveur vocal interactif constitue la première étape dans l'évolution du Couplage Téléphonie-
  28. 28. UCAD/ESP/DGI Serigne Fallou NDIAYE 28 Informatique (CTI). 2. DEFINITION Un serveur vocal interactif (SVI) est un système informatique qui prend en charge les appels entrants à l’aide de messages vocaux enregistrés ou de synthèse vocale. En d’autres termes, c’est une plateforme, un ensemble logiciel et/ou matériel, qui sert de répondeur vocal contrôlé par l'ensemble des touches du téléphone ou des technologies de reconnaissance vocale, permettant d'échanger de manière automatique des informations divers (messages, fax, etc.). Le système est interactif dès lors qu'une réponse à une question posée par l'appelant entraîne un traitement particulier de la part du serveur, car, l’appelant est appelé à interagir avec le serveur par la voix ou par l’utilisation des touches de son téléphone fixe, mobile ou d’un softphone 24h sur 24 et 7 jours sur 7 pour certaines applications. Le serveur vocal interactif peut orienter l’utilisateur vers un opérateur humain ou traiter entièrement la demande. L’accès à cette application se fait par un simple numéro de téléphone ou par un numéro spécialisé dont la demande s'effectue auprès d'un opérateur téléphonique. Plus précisément, un SVI est chargé de la délivrance d'informations courtes et simples. Il permet également d'identifier les appelants, de les aiguiller vers des services automatiques ou des téléopérateurs compétents. Le SVI permet aussi d’interroger une base de données dans le Système d’Information (SI). Les SVI sont adaptés à une large gamme de services et fonctions. Les applications classiques du serveur vocal sont les services de transaction (réservation, télépaiement, etc) et les services de consultation (horaires, comptes bancaires, etc.). 3. ROLE D’UN SVI Autre fois, le SVI avait, que, pour rôle la gestion intelligente du temps d'attente. A présent, nous assistons à une variation du rôle des serveurs vocaux, grâce notamment à la synthèse vocale qui a profondément modifié le fonctionnement de la messagerie et de l'accueil. En même temps, le couplage téléphonie-informatique a révolutionné les centres d'appels en donnant un nouveau rôle aux serveurs vocaux interactifs. Les réseaux téléphoniques acceptant la numérotation en fréquence vocale, celle qui permet d'envoyer les signaux DTMF (Dual Tone Multi Frequency) avec les touches du combiné, ont offert la possibilité de communiquer à distance avec les serveurs interactifs. Etant donné qu’aujourd'hui, le téléphone s'affirme comme le centre névralgique d'une entreprise, qu'elle soit une TPE, une PME ou une grande compagnie, un simple combiné et un répondeur classique ne suffisent plus pour répondre au mieux à des nombreuses demandes des clients. De ce fait, la téléphonie, à travers les SVI, apparait comme indispensable pour le développement d’une entreprise. Plus le nombre d’appels reçus par l’entreprise croît et plus celle-ci doit assurer un meilleur accueil à ses clients potentiels. Pour ce faire, l’entreprise doit administrer au mieux les files d’attente. Dans les années 1990, la prise de conscience que l'image d'une entreprise dépend de la qualité de son accueil téléphonique va engendrer une multitude d'investissements. Ainsi, l'acquisition d'un serveur vocal qui répond immédiatement aux appels et limite le nombre d'appels non aboutis, vise à améliorer l'image de l'entreprise dans un premier temps, puis le contact client/entreprise. Concrètement, la fonction première d'un SVI consiste à répondre aux appels reçus avec un niveau de qualité optimale, en s'appuyant sur les atouts intrinsèques de l'automate. Avec
  29. 29. UCAD/ESP/DGI Serigne Fallou NDIAYE 29 un serveur vocal interactif, fini les longues attentes dans les périodes d'encombrement du standard, une voix vous guide et vous permet d'accéder directement au service correspondant à votre demande. Le SVI permet de traiter une partie des demandes et de suppléer aux centres d’appels pendant les heures de fermeture. Le SVI est aussi en mesure de faire une sélection d'appels en limitant les appels polluants. En résumé, un SVI offre une solution pour le traitement des appels entrants qui se résume à la devise : « être disponible lorsque les clients appellent, traiter au mieux chaque appel de vos clients et rester efficace, précis quand le téléphone sonne sans cesse ». Avec le développement de l’Internet et l’émergence de nouveaux médias notamment les téléphones mobiles, le SVI connaît un regain d’intérêt et ouvre de nouveaux champs d’application qui permettent l’accès en base de données. 4. LES TYPES DE BASE D’UN SVI Avec un serveur vocal interactif, on peut mettre en place plusieurs fonctionnalités telles que la mise à disposition d’informations spécifiques sous forme vocale, un standard automatique à partir d’une certaine heure avec possibilité d’aiguillage automatique, la diffusion d’alertes, l’interrogation de bases de données. De ce fait les SVI se regroupent en trois types d'utilisation standards: la borne d'informations, le standard téléphonique et l'utilisation d'un SVI en liaison avec une base de données ou CTI (Couplage Téléphonie Informatique). 4.1 LA BORNE D’INFORMATION Le fonctionnement en borne d’information est le service le plus basique que puisse rendre un SVI. Ce dernier diffuse des messages répétitifs, plus précisément des informations pratiques, sans aucune intervention humaine. Cette fonction permet à l’appelant d’être guidé dans une arborescence afin de trouver les informations qu’il cherche. Il passe d’un menu à l’autre par simple choix. Les SVI bornes d'informations sont quelques fois utilisées en cas de "débordement d'appels" c'est à dire quand le service de réception assuré par du personnel est saturé. Les appels entrants sont redirigés vers des SVI fonctionnant en débordement d’appel. 4.2 LE STANDARD TELEPHONIQUE Le standard téléphonique, encore appelé standard pré-décroché, est un commutateur, c'est-à-dire un appareil assurant automatiquement les connexions téléphoniques entre appelé et appelant (à l'intérieur de l'entreprise comme vers l'extérieur). Il se charge de l’accueil de l’appelant et lui propose par des choix dans des menus vocaux d’accéder à son correspondant. Les choix s’effectuent par fréquence vocale sur le clavier téléphonique de l’appelant ou parfois par reconnaissance vocale. Le standard téléphonique permet de transférer les appels, les guider vers les différents services et correspondants, les filtrer en cas de besoin. Le SVI doit alors faire suivre l'appel, et pour cela il doit commander le PABX (Private Automatic Branch eXchange) qui à son tour peut conduire des appels sans interposition manuelle en se basant entièrement sur le numéro composé, c’est un outil très puissant et très flexible en terme de mécanisme de routage.
  30. 30. UCAD/ESP/DGI Serigne Fallou NDIAYE 30 4.3 LE COUPLAGE TELEPHONIE INFORMATIQUE Figure 7: Couplage Téléphonie Informatique La notion de CTI est la réunion et l'intégration des mondes de la téléphonie et de l'informatique sur une plateforme commune. Le CTI donne la possibilité d’interroger une base de données, d’y stocker des informations saisies par l’appelant, mais aussi de lui diffuser des informations qui lui sont propres. Pour parvenir à cela, il faut intégrer la base de données dans le logiciel de gestion du SVI. Ce qui différencie ces SVI des autres ne se situe pas au niveau matériel, mais plutôt au niveau logiciel. Le logiciel employé n'est plus un logiciel aux fonctions limitées mais un progiciel. Ce sont par exemple les SVI de type prise de commandes, consultations de comptes bancaires, etc. En effet, le couplage téléphonie informatique (CTI) permet notamment l’utilisation de bases de données qui contiennent les traces des appels (nombre, durée, qualité, agent, etc) et facilitent une approche statistique pour aider à la décision. Les fonctions du CTI permettent d’effectuer le chargement de la fiche du demandeur sur l’applicatif métier lors de la présentation de l’appel à l’opérateur. Grâce au CTI les messages vocaux sont des fichiers informatiques que l’on peut à souhait placer dans des scénarii où naviguent les interlocuteurs. De plus le couplage téléphonie informatique permet une gestion plus aisée en associant par exemple le numéro de téléphone de l’appelant ou un code émis par l’appelant, avec une fiche personnalisée. 5. FONCTIONNEMENT D’UN SVI Un serveur vocal interactif fonctionne en se basant le plus souvent sur cinq modules : la reconnaissance de la parole, l’analyseur sémantique, le gestionnaire du dialogue, la gestionnaire de réponse et la synthèse de parole.
  31. 31. UCAD/ESP/DGI Serigne Fallou NDIAYE 31 Figure 8: Fonctionnement d’un SVI  La reconnaissance de la parole : c’est une technique informatique qui permet d'analyser la parole cap0tée au moyen d'un microphone pour la transcrire sous la forme d'un texte exploitable par une machine. Elle vise à transformer le signal acoustique produit par l'interlocutoire en une chaine textuelle équivalente.  Analyseur sémantique: L’objectif de la compréhension est de dégager les intentions de l’usager et d’identifier les actes de langage employés. Il s’agit de donner du sens à la ou aux phrases reconnues. C’est aussi une phase de l’analyse qui en établit la signification en utilisant le sens des éléments (mots) du texte, par opposition aux analyses lexicales ou grammaticales qui décomposent le message à l'aide d'un lexique ou d'une grammaire.  Gestionnaire de parole: Véritable chef d’orchestre du système, le contrôleur de dialogue est chargé d’interagir avec le système d’information, de gérer l’interaction (choix de la réponse à apporter).  Gestionnaire de réponse: Pour la génération, deux étapes peuvent être distinguées. La première est la génération profonde. Elle correspond à la question quoi dire ? c’est-à-dire qu'elle vise à déterminer le contenu sémantique de la réponse à l’utilisateur. La deuxième phase, dite génération de surface, permet de choisir les mots pour exprimer la réponse à l’utilisateur. Elle correspond à la question comment le dire ?  La synthèse de la parole : Dernière composante du système, c’est une technique informatique de synthèse sonore qui permet de créer de la parole artificielle à partir de n'importe quel texte. La synthèse vocale restitue de manière orale le message généré par la chaine de traitement. 6. L’INTERACTION CLIENTS-SVI / SVI-CLIENTS Les SVI se sont imposés aujourd’hui comme un outil stratégique pour les relations clients entreprises. Typiquement, pour un standard automatisé. L’appelant est guidé à travers une arborescence vocale et fait des choix au fur et à mesure soit à l’aide du clavier téléphonique avec les touches DTMF, soit grâce à la reconnaissance vocale par mots-clés. Ce sont les interactions Clients-SVI. Cette interaction client à SVI est obligatoire pour pouvoir s'orienter
  32. 32. UCAD/ESP/DGI Serigne Fallou NDIAYE 32 dans la série de menus vocaux proposés par la plate-forme vocale. Ainsi, au fil des menus, la précision de la demande s'accentue. Cette interaction est effectuée de 2 façons différentes :  L’utilisation des touches DTMF du téléphone  L'utilisation de la reconnaissance vocale Le SVI doit aussi transmettre les différentes possibilités à l’appelant. Ces possibilités lui sont transmises vocalement : ce sont les interactions SVI-Clients. 6.1 INTERACTION CLIENTS-SVI 6.1.1 LES TOUCHES DTMF Un code DTMF (Dual Tone Multi Frequency) est une combinaison de fréquences utilisée pour la téléphonie moderne. Ces codes sont utilisés pour la composition des numéros de téléphones (en opposition aux téléphones dits à impulsions), et ils ont permis la création des premiers serveurs vocaux interactifs. Techniquement, chaque touche d'un téléphone correspond à un couple de deux fréquences audibles qui sont jouées simultanément. De cette façon, huit fréquences bien distinctes permettent de coder seize touches. Ces fréquences peuvent être reconnues par des dispositifs électroniques et sont utilisées pour réaliser des serveurs vocaux. Dans le tableau suivant figurent des touches « A » à « D » : celles-ci étaient utilisées par l'armée américaine pour représenter la priorité d'une communication. Ce système moderne a été développé par la firme américaine Bell. Le but recherché était de définir un système de numérotation rapide pouvant être utilisé par les appareils numériques (ordinateurs, centraux numériques). La signalisation DTMF est employée pour permettre à l’utilisateur de transmettre des ordres au SVI. Avec cette technique, les touches du clavier téléphonique sont identifiées par leur fréquence en mode DTMF qui permet l’émission de tonalités multifréquences destinées à la signalisation sur le réseau analogique. Chaque chiffre ou digit correspond à un signal sonore. Le signal est constitué de l'addition de deux sons (Dual Tone), dont les fréquences caractérisent un digit (Multi Frequency). Le signal ainsi envoyé correspond à l'émission de deux fréquences précise qu'un bruit intempestif sur la ligne ne peut perturber. Les digits définis par le DTMF sont les mêmes que pour le système à impulsions (de 0 à 9) avec en plus 6 nouveaux digits (#, *, A, B, C et D). Cependant, on ne trouve généralement que les deux nouveaux digits # et * sur les claviers de téléphone. Un digit est défini par la somme de signaux sinusoïdaux de fréquences différentes. Les fréquences utilisées sont caractéristiques et leurs valeurs sont regroupées ci-contre. Un 5 sera, par exemple, généré en additionnant deux signaux de fréquences 770Hz et 1336Hz. Les avantages de ce système sont multiples, les numéros de téléphone peuvent être composés très rapidement et peuvent être générés par des systèmes informatiques. Figure 9: Tableau récapitulatif des différentes fréquences du standard DTMF
  33. 33. UCAD/ESP/DGI Serigne Fallou NDIAYE 33 Cependant la signalisation DTMF est remplacée dans certaines plateformes par la reconnaissance vocale qui se trouve être plus facile à utiliser. Avec le DTMF, le système donne des ordres à l'utilisateur, avec la reconnaissance vocale, c'est l'inverse. L’inconvénient majeur du DTMF est que certains postes téléphoniques n’y ont pas accès, il concerne les postes émettant des sons à la numérotation. De plus, en termes purement fonctionnels le DTMF est limité car il ne peut pas être utilisé par un SVI qui propose un nombre de choix qui dépasse le nombre de touches du clavier téléphonique. 6.1.2 LA RECONNAISSANCE VOCALE Figure 10: Processus de la reconnaissance vocale La reconnaissance vocale est l’une des tâches pionnières de l’Intelligence Artificielle (IA) consistant à reproduire la capacité d’un être humain à extraire des informations de la parole produite par un autre être humain. Cette tâche, trop complexe pour être reproduite par un système informatique unique, a été subdivisée en plusieurs sous problèmes en fonction du type d’informations à extraire et à reconnaître. Les problématiques les plus étudiées sont la reconnaissance du locuteur, de son état émotionnel, de la langue employée et du langage parlé. Les recherches sur la résolution de ces tâches ont donné lieu, depuis une vingtaine d’années, à des dizaines de milliers de publications, des centaines de bases de données de parole, des dizaines de campagnes internationales d’évaluation. Les progrès ont été importants et ont permis le développement d’applications importantes en communication homme-machine comme la dictée vocale ou les systèmes de dialogues finalisés des serveurs vocaux interactifs (SVI). Cependant de nombreuses recherches restent indispensables en raison de l’ampleur du problème et de sa variabilité : 7 milliards de locuteurs, plus de 500 noms d’émotions, près de 7000 langues et quelques centaines de milliers de mots par langue. D’autres types d’information restent pour l’instant pratiquement inexploités comme l’accent, l’état physiologique, le niveau de stress ou de fatigue. Pour les utilisateurs, la reconnaissance vocale est plus souple d’utilisation que les touches DTMF. Cette fonction permet de rendre les applications plus interactives. La reconnaissance automatique de la parole en langage naturel s'effectue par repérage des mots clés. Cette technologie permet de remplacer les interfaces DTMF. Avec la reconnaissance vocale, c’est l’utilisateur qui impose
  34. 34. UCAD/ESP/DGI Serigne Fallou NDIAYE 34 ses choix de navigation au système. La reconnaissance vocale permet une plus grande souplesse pour l'utilisateur mais implique un coût plus élevé pour la configuration du serveur vocal : mémoire, applications, espaces disques, processeurs, etc. Un module de reconnaissance de mots ou de phrases d'un système nécessite des quantités importantes de connaissances acoustiques et linguistiques. Les connaissances acoustiques permettent au système de reconnaître les sons, alors que les connaissances linguistiques permettent de retrouver les mots et de valider leur enchaînement. Pour obtenir des performances suffisantes, il est indispensable de disposer de corpus enregistrés dans des conditions aussi proches que possible de celles des applications visées. Deux approches, l'une plus globale, l'autre plus analytique permettent d'appréhender la reconnaissance des mots. Dans l'approche globale, l'unité de base sera le plus souvent le mot considéré comme une entité globale, c'est-à-dire non décomposée. L'idée de cette méthode est de donner au système une image acoustique de chacun des mots qu'il devra identifier par la suite. Cette opération est faite lors de la phase d'apprentissage, où chacun des mots est prononcé une ou plusieurs fois. Cette méthode a pour avantage d'éviter les effets de coarticulation, c'est à dire l'influence réciproque des sons à l'intérieur des mots. Elle est cependant limitée aux petits vocabulaires prononcés par un nombre restreint de locuteurs. L’approche analytique, qui tire parti de la structure linguistique des mots tente de détecter et d’identifier les composantes élémentaires (phonèmes, syllabes). Celles-ci sont les unités de base à reconnaître. Cette approche a un caractère plus général que la précédente : pour reconnaître de grands vocabulaires, il suffit d’enregistrer dans la mémoire de la machine les principales caractéristiques des unités de base. Actuellement, bien que la reconnaissance vocale soit encore loin d’être parfaite, les échecs de cette technique sont le plus souvent causés par une mauvaise compréhension notamment pour les mots hors vocabulaire, un modèle de dialogue inadapté ou encore par le comportement et les attitudes de l‘utilisateur mal modélisés. Ce dernier n’agissant pas comme prévu, le système comprend mal ses attitudes et la stratégie de dialogue peut alors devenir déroutante pour l’usager. 6.2 INTERACTIONS SVI-CLIENTS Le SVI guide l’utilisateur à travers l’arborescence vocale par le biais d’annonces vocales. On distingue les annonces avec un fond sonore et les annonces classiques. 6.2.1 ANNONCE AVEC UN FOND SONORE Un fond sonore est ajouté au message vocal pour améliorer l’interface vocale. Cette opération est réalisée par un enregistrement ou suivant la technique d’encodage MIC, le message est numérisé à 64 kbps. Il peut être compressé pour prendre moins d’espace disque sur le SVI. 6.2.2 ANNONCES CLASSIQUES Dans le cas d’un message composé de texte sans fond sonore (annonce classique), on peut soit enregistrer directement l’annonce sous forme de fichier sonore, soit utiliser la technique de la synthèse vocale. Dans le premier cas, l’espace disque nécessaire pour stocker l’annonce est plus important que dans le second. Pour cela, on préfère donc la technique de la synthèse vocale.
  35. 35. UCAD/ESP/DGI Serigne Fallou NDIAYE 35 7. LA SYNTHESE VOCALE Figure 11:Processus de la synthèse vocale La synthèse de la parole à partir du texte est la passerelle-clé entre le monde de l'écrit et celui de l'oral. La synthèse vocale est une technologie qui produit « des sons de parole à partir d’une représentation phonétique du message ». Cette technologie ne doit pas être confondue avec la restitution d’un message préenregistré dans laquelle le texte est fixe puisque la synthèse à partir du texte est utilisée à la place de la restitution de messages préenregistrés, dès que la fréquence (et donc le coût) de mise à jour de ces messages devient trop importante. Le principe est extrêmement simple, tout texte écrit peut être traduit en message vocal grâce à une simple carte de synthèse vocale. Deux grandes familles de synthèse vocale sont à distinguer :  Les systèmes qui utilisent la concaténation de mots entiers qui ont un vocabulaire limité et qui offrent une qualité de parole excellente. Ces systèmes ne nécessitent pas d’analyse linguistique.  Les systèmes dits de synthèse à partir du texte qui dans une première étape convertissent un texte en une chaîne de phonèmes marqués par des informations prosodiques (ensemble des phénomènes d’intonation d’une langue), et dans une seconde étape qui transforment cette chaîne en un ensemble de données acoustiques à transmettre à un synthétiseur. Le synthétiseur vocal permet de créer une voix artificielle semblable à celle de l'homme. Il convertit le texte codé au moyen d’un lecteur sonore d’écran et le transmet à la carte son, afin d’obtenir une reproduction orale en appliquant au signal les caractéristiques linguistico- prosodiques. Contrôlé au moyen d’un logiciel de lecteur sonore, le synthétiseur vocal peut faire varier la cadence, le débit, le volume et la langue. 7.1 MBROLA Mbrola est un synthétiseur vocal initié par le laboratoire de la Faculté Polytechnique de Mons en Belgique. Il est à l’origine d’un projet visant à obtenir un ensemble de
  36. 36. UCAD/ESP/DGI Serigne Fallou NDIAYE 36 synthétiseurs vocaux pour une multitude de langues qui est fournie gratuitement lorsqu’il s’agit d’applications non commerciales. Mbrola n’est pas sous licence de source libre. D’un point de vue, plus, concret, le synthétiseur vocal Mbrola est basé sur la concaténation de diphones. Ainsi, il prend une liste de phonèmes en entrée, avec des informations prosodiques, c’est-à-dire la durée des phonèmes et une description linéaire par morceaux de la tonalité, et produit des échantillons de parole sur 16 bits linéaire. Les fréquences d’échantillonnage proviennent d’une base de données de diphone. MBROLA n’est donc pas un synthétiseur « Text-To-Speech », puisqu’il n’accepte pas de texte brut en entrée, mais plutôt une représentation de phonèmes. Chaque base de données de diphone est adaptée au format MBROLA. Une voix françaises a été mise à la disposition par les auteurs de MBROLA, et le projet MBROLA a été lui-même organisée de manière à inciter les laboratoires de recherche et les entreprises à partager leurs bases de données de diphone. Il est à noter que les bases de données sont aussi rendues disponibles pour utilisation non commerciale et utilisation non militaires dans le cadre du projet MBROLA. 7.2 LIA_PHON Comme nous l’avions évoqués précédemment, MBROLA n’étant pas un synthétiseur «Text-To-Speech», Lia_Phon va être utilisé pour cette fonction, en le reliant au synthétiseur vocal MBROLA, afin d’obtenir effectivement une sortie audio basée sur un texte d’origine. Lia_Phon est un système de phonétisation de textes qui a été développé au LIA (Laboratoire Informatique de l’Avignon) par Frédéric Bechet. Ce système permet de nettoyer, étiqueter, accentuer et phonétiser un texte libre. Un module de génération d’une prosodie minimale est également fourni afin de générer des fichiers compatibles avec le synthétiseur vocal MBROLA. Lia_Phon est disponible gratuitement sous licence GNU GPL. 8. CONCLUSION En définitif on peut dire que les serveurs vocaux sont promus à un bel avenir en ce sens qu’ils proposent des solutions accessibles à un plus grand nombre d’utilisateurs, mais nécessitent un plus grand investissement pour pouvoir en tirer le maximum de profit. Cependant, il existe toujours des solutions libres permettant, dans une moindre mesure, de faire du Service Vocal Interactif avec une qualité de service optimale. Sans chercher loin, on peut citer la solution Asterisk. En effet, les SVI dans Asterisk conviennent parfaitement pour la mise en place de notre plateforme.
  37. 37. UCAD/ESP/DGI Serigne Fallou NDIAYE 37 CHAPITRE IV : DESCRIPTION ET MISE EN PLACE DE LA PLATEFORME
  38. 38. UCAD/ESP/DGI Serigne Fallou NDIAYE 38 I. DESCRIPTION 1. LES ACTEURS DE LA PLATEFORME Dans le cahier de charge, il est question de réaliser une plateforme de prise de Rendez- vous autonome sous Asterisk. En principe cette plateforme met en jeu 2 acteurs mais on peut les scinder en 3 :  Un utilisateur est toute personne autre que l’administrateur qui utilise la plateforme pour bénéficier de ses différentes fonctionnalités. Cet utilisateur peut être un abonné ou un client (ou appelant)  L’abonné peut être une personne, un cabinet médical ou une entreprise. Il s’abonne au niveau du système et dispose automatiquement d’un ensemble de fonctionnalités qui lui permet de gérer son agenda d’attribution de rendez-vous. En effet, il pourra enregistrer les heures dont il est disponible dans une base de données et le système se chargera de lui faire fixer ses rendez-vous et de l’informer. Il pourra voir les coordonnées des autres abonnées et de pouvoir les appeler avec un softphone gratuitement. Il peut visualiser les rendez-vous que le système a réservés et de pouvoir annuler ceux pour lesquels il n’est plus disponible.  Un client : il s’agit d’une personne lambda qui va appeler vers le serveur pour avoir un rendez-vous avec l’abonné X. Ce client va utiliser son téléphone personnel et le serveur va d’abord enregistrer son numéro puis lui demande de faire un choix en fonction des abonnés qui existe dans le système. Une fois le choix fait, le serveur va traiter sa requête. Si l’abonné X a des rendez-vous disponibles dans son agenda, le serveur en choisit une et l’attribue au client en le lui disant vocalement et en le lui notifiant par SMS avec un code de 10 caractères qui est unique et qui permet d'authentifier le rendez-vous. Si aucun rendez-vous n’est disponible, son numéro est sauvegardé dans la liste d’attente et dès qu’un RV est disponible on lui envoie un SMS pour le lui notifier  L’administrateur : Il est chargé de paramétrer et d’administrer le système. C’est lui qui enregistre les abonnés, créée des comptes pour permettre aux gens d’utiliser le serveur Asterisk afin d'émettre et de recevoir des appels … 2. LES FONCTIONNALITES DE LA PLATEFORME Dans cette partie on va vous présenter l’ensemble des fonctionnalités dont dispose notre plateforme.  Prendre rendez-vous : le client d’une entreprise ou le patient d’une clinique appelle sur le numéro dédié au serveur s’il désire avoir un rendez-vous avec le responsable. Le système se charge de lui en attribuer.  Gérer agenda : il consiste à l’ensemble des opérations relatives à la gestion du calendrier de l’abonné. C’est-à-dire enregistrer dans le système les dates et heures où il est disponible pour donner un rendez-vous ; consulter la date de ses rendez-vous ; annuler un rendez-vous qui ne l’arrange plus.  Appeler : il s’agit d’une fonctionnalité qui permet à l’abonné d’appeler un correspondant via WebRTC.  Annuler RV : c’est la fonctionnalité qui permet à l’abonné d’annuler un rendez-vous.  Enregistrer abonné : un abonné est toute structure souhaitant confier son système de gestion de rendez-vous à l’entreprise EmC2. L’enregistrement est effectué par l’administrateur qui se trouve à EmC2-Group.
  39. 39. UCAD/ESP/DGI Serigne Fallou NDIAYE 39  Créer utilisateur : c’est lorsque l’administrateur créée un compte sur le serveur asterisk pour permettre aux gens de communiquer.  Visualiser informations : c’est la fonctionnalité qui permet à l’administrateur de voir les statistiques du système comme le nombre d’abonnés, de compte d’utilisateur et l’historique des appels.  Consulter message : l’administrateur va pouvoir consulter les messages envoyés par les abonnés.  Consulter contacts : c’est la fonctionnalité qui permet à l’abonné d’avoir une vue sur les utilisateurs et leur numéro pour pouvoir les appeler.  Mettre en attente : c’est quand le système met dans une liste d’attente les clients qui ont appelé mais qui n’ont pas trouvé de date libre pour un RV.  Notifier client : il s’agit des SMS envoyés aux clients pour leur confirmer un rendez- vous ou leur dire que le RV est annulé ou bien les informer qu’ils sont dans la liste d’attente.  Contacter administrateur : il s’agit des messages envoyés par les abonnés à l’administrateur pour donner ou demander des informations. II. REALISATION DE LA PLATEFORME Cette partie est la plus importante, il s’agit ici de montrer les différentes procédures à adopter pour la réalisation du projet. Toutefois, comme nous l’avons annoncé dans l’introduction, ce projet est constitué principalement de deux grandes parties. La première partie est celle qui s’intéresse aux configurations du serveur pour la mise en place d’un système fonctionnel capable de proposer des choix et de satisfaire la demande des clients. La seconde partie est purement informatique et consiste à développer les différentes interfaces qui vont permettre d’administrer et de gérer l’application. 1. ARCHITECTURE DE LA PLATEFORME Figure 12: Architecture de la plateforme client/mobile client/softphone IP softphone mobile serveur Asterisk avec SVI Base de données abonné serveur web prendre RV prendre RV traitement requete traitements des requetes planifier,consulter, annuler RV
  40. 40. UCAD/ESP/DGI Serigne Fallou NDIAYE 40 2. PREREQUIS ET OUTILS NECESSAIRES :  Un Ordinateur avec les caractéristiques minimales requises  Une Clé Bluetooth  Une Clé 3G Huawei 1552  Un Téléphone portable avec Bluetooth supportant Asterisk-mobile (Samsung, Nokia, LG...)  Installer apache2 et php5 3. MISE EN PLACE DU SERVEUR VOCAL INTERACTIF 3.1 INSTALLATION D’ASTERISK On a choisi de travailler sur un système d’exploitation Ubuntu 12.04 version 32bits et la version d’asterisk-11.2.2  Tout d’abord on va faire une mise à jour et installer quelques dépendances  Télécharger les paquets sources nécessaires   Décompresser les paquets  Compiler et installer # su root # apt-get update # apt-get install build-essential wget libssl-dev libncurses5- dev libnewt-dev libxml2-dev linux-headers-$(uname -r) libsqlite3-dev libcurl4-nss-dev Bluetooth blueman bluez* libbluetooth-dev # cd /usr/src/ # wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4- current.tar.gz # wget http://downloads.asterisk.org/pub/telephony/dahdi-linux- complete/dahdi-linux-complete-current.tar.gz # wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk- 11.2.2.tar.gz # tar zxvf dahdi-linux-complete-current.tar.gz # tar zxvf libpri-1.4-current.tar.gz # tar zxvf asterisk-11-2.2.tar.gz
  41. 41. UCAD/ESP/DGI Serigne Fallou NDIAYE 41  DAHDI  LibPRI  Asterisk  Remarque : Lors de l’exécution de la commande « make menuselect », il faut s’assurer que le module « chan_mobile » est bien prise en compte : [*] chan_mobile A la fin des installations, on va d’abord démarrer dahdi et ensuite asterisk. Puis on va se connecter dans asterisk pour vérifier si tout est OK Maintenant on peut s’attaquer à la configuration # cd /usr/src/dahdi-linux-complete-2.6.2+2.6.2/ # make && make install && make config # cd /usr/src/libpri-1.4.14/ # make && make install # cd /usr/src/asterisk-11.2.2/ # ./configure && make menuselect && make && make install && make config && make samples #/etc/init.d/dahdi start #/etc/init.d/asterisk start # asterisk –rvvvvvvvvvvvvv *CLI> dahdi show version DAHDI Version: 2.6.1 Echo Canceller: HWEC *CLI> pri show version libpri version: 1.4.13
  42. 42. UCAD/ESP/DGI Serigne Fallou NDIAYE 42 3.2 CONFIGURATION DE QUELQUES FONCTIONNALITES Avant d’entamer les configurations, voici quelques précisions :  Le nom du « contexte » sur lequel on va travailler tout le long est « emc2 »  Le plan de numérotation est la suivante :  5XXX pour les comptes utilisateurs  6000 pour la consultation de la boite vocale  1XXX pour les enregistrements vocaux  2000 pour l’IVR avec l’outil de synthèse vocal googletts  3000 pour l’IVR classique avec voix personnalisée  2025 pour le SVI de prise de rendez-vous  ## pour le transfert d’appel (transfert ‘aveugle’)  ** pour le transfert d’appel supervisé  700 pour le parking d’appel  4000 pour la visioconférence  5999 pour la redirection d’appel jusqu’à trouver un poste libre  *1 pour l’enregistrement d’appel à la demande de l’utilisateur 3.2.1 SIP.CONF
  43. 43. UCAD/ESP/DGI Serigne Fallou NDIAYE 43  register => trunkemc2 :passer@91.X.X.X est la ligne qui permet à mon serveur de se connecter sur le serveur en ligne.  [trunk_cloud] est le compte que j’ai créé sur mon serveur pour le trunk avec le serveur asterisk en ligne  [sfallou] est l’un des comptes utilisateurs que j’ai créé 3.2.2 EXTENSIONS.CONF 3.2.2.1 CONSULTATION DE LA BOITE VOCALE Comme son nom l’indique, c’est une fonctionnalité qui permet aux utilisateurs d’appeler sur un numéro et de taper leur mot de passe pour écouter les messages vocaux laissés sur sa boite vocale (Voir annexe 1). 3.2.2.2 REDIRECTION VERS UN POSTE LIBRE L’objectif de cette fonctionnalité est de permettre à l’appelant de joindre au moins une personne dans un centre d’appel. (Voir annexe 2). 3.2.2.3 ENREGISTREMENT D’APPEL A LA DEMANDE DE L’UTILISATEUR De temps en temps l’utilisateur a besoin d’enregistrer sa conversation téléphonique. C’est pourquoi on a mis en place cette fonctionnalité au cas où cela se présenterait. (Voir annexe 3) 3.2.2.4 ENREGISTREMENT VOCAL Cette fonctionnalité permet de faire des enregistrements vocaux qu’on va utiliser dans nos IVR. Il suffit juste d’appeler sur un numéro de la plage définie, d’enregistrer ce que l’on veut et appuyer sur # pour l’écouter. Le fichier son sous format ulaw est enregistré dans /var/lib/asterisk/sounds avec un nom « IVR-XXX.ulaw ». Pour l’écraser il faut juste rappeler sur le même numéro et faire un nouvel enregistrement. (Annexe 4) 3.2.2.5 IVR AVEC GOOGLETTS Le rôle de cet IVR est de rediriger les appels vers un utilisateur selon le choix. En d’autres termes c’est un SVI de type standard téléphonique. Cependant il utilise une technique de synthèse vocale appelée Text-To-Speech (TTS).(Annexe 5)
  44. 44. UCAD/ESP/DGI Serigne Fallou NDIAYE 44 Remarque : Avant d’éditer ces lignes ci-dessus dans le ficher extensions.conf ; il a fallu d’abord installer quelques dépendances, télécharger et rendre exécutable l’agi googletts. 3.2.2.6 IVR CLASSIQUE AVEC VOIX PERSONNALISEE Cet IVR fait la même chose que la précédente à la différence que celui-ci ne se base pas sur un TTS mais plutôt sur des voix préenregistrées. (Annexe 6) 3.2.2.7 VISIOCONFERENCE Dans le contexte [emc2] on inclue le contexte internal et on fait comme suit Cette dialplan permet de participer à une conférence. Le fichier de configuration des conférences est « confbridge.conf » qu’on va éditer dans la suite. (Voir annexe 7). 3.2.3 FEATURES.CONF Le fichier de configuration features.conf permet de configurer les fonctionnalités de redirection et de parking d’appel (Annexe 8). 3.2.4 VOICEMAIL.CONF Avec cette configuration les messages vocaux laissés sur la boite vocale d’un utilisateur sont envoyés dans sa boite mail en tant que pièce jointe accompagnée d’un message écrit. (Annexe 9) 3.2.5 CONFBRIDGE.CONF C’est le fichier de configuration pour la visioconférence. Dans ce fichier on peut définir autant de « room » de conférence que l’on veut. Ainsi, à la fin du fichier de configuration on a défini un « room » de conférence (voir Annexe 10). 3.2.6 TRUNK AVEC LE SERVEUR EN LIGNE Après avoir créé un compte sur chacun des deux serveurs pour le trunk, j’ai défini le dialplan ci-dessus au niveau de mon serveur. Ainsi tous appels commençant par 6000 (c’est le plan de numérotation du serveur en ligne) sont redirigés sur le serveur en ligne. (Voir annexe 11). Remarque : On a eu quelques problèmes pour faire fonctionner le trunk. En effet, l’enregistrement de mon serveur s’effectue correctement mais les appels ne passent pas. Ainsi, # apt-get install perl libwww-perl sox mpg123 # cd /var/lib/asterisk/agi-bin # wget https://raw.github.com/zaf/asterisk- googletts/master/googletts.agi
  45. 45. UCAD/ESP/DGI Serigne Fallou NDIAYE 45 c’est l’administrateur du serveur en ligne qui va finir ce travail car j’ai eu des contraintes de temps pour trouver le problème. 3.3 MISE EN PLACE DE LA PASSERELLE GSM AVEC CHAN_MOBILE Comme on le sait, cette plateforme est destinée à la prise de rendez-vous à distance. Ceci implique que n’importe quelle personne doit pouvoir appeler pour avoir un rendez-vous, et cela, autant de fois que nécessaire. Donc la question qu’on a envie de se poser tout de suite est « est- ce qu’on doit créer des comptes au niveau du serveur pour toutes les personnes désirant prendre un rendez-vous ? ». La réponse est non. En effet, cette solution est inadaptée ne serait-ce que pour les trois raisons suivantes  On ne peut pas prévoir le nombre de personne qui voudra utiliser la plateforme ni à quel moment. Du coup il devient impossible de créer des comptes utilisateurs pour chaque personne  Si la personne dispose d’un compte utilisateur au niveau du serveur, il est obligé de savoir paramétrer un softphone et d’avoir une connexion internet stable. Ce qui est loin d’être évident au Sénégal  En fin, il sera impossible d’envoyer directement un sms à l’appelant pour lui notifier le rendez-vous avec son code. Avec autant de contraintes, il devient impératif pour nous de mettre en place une passerelle GSM pour simplifier les choses. Ainsi, les gens vont juste appeler le numéro de la passerelle qui est un numéro mobile (77 XXXXXXX par exemple) et tout se passe comme s’il s’agissait d’un appel normal vers un autre numéro. Cependant, il existe plusieurs types de passerelle GSM dont la plupart sont très chères. Comme nous avons opté pour la mise en place d’une plateforme efficace à moindre coût, la solution qui s’impose à nous est chan_mobile qui permet de relier notre téléphone mobile à asterisk via Bluetooth. Ainsi, le téléphone va nous servir comme passerelle GSM. Voici comment procéder pour mette en place cette passerelle. Etape 1 : Insérer la clé Bluetooth dans un port USB de l’ordinateur Etape 2 : Taper les commandes suivantes pour activer le Bluetooth avec la possibilité de scan. NB : Dans certains cas hci0 peut être hci1. Pour s’en assurer on peut taper la commande hcitool dev. Etape 3 : Lancez le scan pour voir si le Bluetooth de l’ordinateur détecte le Bluetooth du téléphone. Pour cela, on active le Bluetooth du téléphone et le rendre visible puis on fait # hciconfig hci0 up # hciconfig hci0 piscan
  46. 46. UCAD/ESP/DGI Serigne Fallou NDIAYE 46 Etape 4 : Connecter les deux appareils. Cette connexion peut se faire facilement au niveau du téléphone ou bien au niveau de l’ordinateur avec blueman. C’est la même procédure que l’appareillage de deux téléphones. Etape 5 : Relever l’adresse MAC de la clé Bluetooth Etape 6 : Détecter le téléphone à partir du cli d’Asterisk Etape 7 : Editer le fichier /etc/asterisk/chan_mobile.conf
  47. 47. UCAD/ESP/DGI Serigne Fallou NDIAYE 47 Etape 8 : Redémarrer Asterisk puis se reconnecter à la console NB : Si tout s’est bien passé on doit voir quelque chose comme ça : Etape 9 : S’assurer que tout fonctionne avec la commande suivante Etape 10 : Editer le fichier extensions.conf Les deux premières lignes après le commentaire concernent les appels sortants. Lorsqu’un utilisateur veut utiliser son softphone pour appeler vers un numéro mobile, il compose le numéro avec le préfixe (par exemple : +22177XXXXXX) et la passerelle se charge du reste. La troisième ligne est celle qui redirige tous les appels arrivant sur le numéro de la passerelle vers le numéro associé au Serveur Vocal Interactif. La dernière ligne est celle qui redirige les appels vers le poste de l’utilisateur sfallou au cas où on ne peut pas atteindre le SVI. Conclusion Cette solution de passerelle avec Bluetooth est facile à mettre en place et ne nécessite pas un grand investissement. En plus il est possible d’utiliser cette technique pour faire du sms avec asterisk mais cela n’est pas toujours facile car actuellement il n’y a que trois types de téléphones qui supportent les sms (il s’agit des modèles Nokia E51, 6021 et 6230i). Aussi, il faudra faire une configuration assez complexe. C’est pourquoi on a décidé de mettre en place une passerelle SMS en utilisant les clés 3G Huawei. L’un des inconvénients majeurs de la passerelle Bluetooth est qu’on ne peut pas avoir simultanément plusieurs appels.
  48. 48. UCAD/ESP/DGI Serigne Fallou NDIAYE 48 3.4 MISE EN PLACE D’UNE PASSERELLE SMS AVEC CHAN_DONGLE Une passerelle GSM-VoIP très accessible peut être obtenue en utilisant Huawei E155X ou tout autre modem USB compatible avec chan_dongle. Chan_dongle est un module d’asterisk permettant d’utiliser les clés 3G Huawei en tant que passerelle GSM. Ainsi, il est possible d’utiliser la clé pour émettre et recevoir des appels, d’envoyer et de recevoir des SMS et USSD mais aussi des commandes DTMF. C’est un moyen pas cher et facile à déployer pour ajouter à notre serveur asterisk la possibilité communication avec le monde GSM. D’ailleurs on a essayé de remplacer notre passerelle Bluetooth avec cette clé 3G pour les appels entrants et sortants. Cependant, à cause des contraintes de temps on a seulement eu à mettre en œuvre l’envoie et la réception de SMS. Voici la procédure à suivre pour mettre en place cette passerelle : Etape1: Préparer notre carte SIM Il faut désactiver la protection de la puce par code pin. On peut le faire avec notre téléphone. On doit aussi s’assurer que les appels sortants ne sont pas bloqués au niveau du SIM. Etape 2 : Préparer l’ordinateur pour accepter la clé 3G Par défaut, la clé Huawei 1552 est considérée par le système comme un port USB. C’est pourquoi on va insérer la clé contenant la puce et installer le paquet usb-modeswitch. Ensuite on va devoir configurer usb-modeswitch et pour cela nous allons ajouter une règle au niveau de /etc/udev/rules.d/ comme suit : Le contenu de ce fichier est le suivant : En fin on redémarre les services # apt-get install usb-modeswitch #gedit /etc/udev/rules.d/50-huawei-e1552.rules SUBSYSTEM==”usb”, ATTR{idVendor}==”12d1″, ATTR{idProduct}==”1446″, RUN+=”/lib/udev/usb-modeswitch -v 0x%s{idVendor} -p 0x%s{idProduct} -t option-zerocd” #cd /etc/init.d/ && ./udev restart
  49. 49. UCAD/ESP/DGI Serigne Fallou NDIAYE 49 Etape 3 : Compiler et configurer chan_dongle On va taper les commandes suivantes pour télécharger, compiler et installer chan_dongle. On édite le fichier /etc/asterisk/dongle.conf Dès fois en fonction des systèmes, à la place de ttyUSB0 et ttyUSB1 on a ttyUSB1 et ttUSB2 Etape 4 : Tests On va redémarrer asterisk et se connecter au cli puis on charge le module avec la commande # cd /usr/src # wget https://github.com/jstasiak/asterisk-chan- dongle/archive/asterisk11.zip # unzip asterisk11.zip # cd asterisk-chan-dongle-asterisk11 # aclocal # autoconf # automake -a # ./configure # make & make install # cp etc/dongle.conf /etc/asterisk/ module load chan_dongle
  50. 50. UCAD/ESP/DGI Serigne Fallou NDIAYE 50 Pour voir si la passerelle est active on va taper la commande suivante
  51. 51. UCAD/ESP/DGI Serigne Fallou NDIAYE 51 Etape 5 : Editer extensions.conf pour recevoir et envoyer des SMS Avec cette configuration on peut recevoir nos SMS et en envoyer. Il suffit juste de changer le numéro destinataire et le message à envoyer. Le reste est de composer le numéro 500 sur un softphone et le message est envoyé. Il existe aussi des commandes qu’on peut utiliser directement au niveau du cli par exemple : [dongle-incoming] exten => sms,1,Verbose(Incoming SMS from ${CALLERID(num)} ${BASE64_DECODE(${SMS_BASE64})}) exten => sms,n,System(echo ‘${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} – ${DONGLENAME} – ${CALLERID(num)}: ${BASE64_DECODE(${SMS_BASE64})}’ >> /var/log/asterisk/sms.txt) exten => sms,n,Hangup() [emc2] exten => 500,1,DongleSendSMS(dongle0,+221778757730,’hello emc2!’,1440,yes)  dongle stop now <device> Stop <device> now. Stops <device> immediately, ending any calls/SMS/USSD in progress  dongle stop when convenient <device> Stop <device> when convenient. Waits until <device> has no calls/SMS/USSD in progress, and then it stops <device>. It does not prevent new calls/SMS/USSD from entering the <device>.  dongle show device settings <device> Shows settings for <device>  dongle show device state <device> Shows detailed state for <device>  dongle show device statistics <device> Shows statistics for <device>  dongle show devices Shows summarized state for all devices  dongle show version Show module version  dongle sms <device> <number> <message> Send SMS to <number> with the <message> using <device>  dongle pdu <device> <pdu> Send PDU using <device>  dongle ussd <device> <ussd> Send USSD command <ussd> using <device>  dongle start <device> Start <device> if not removed from before.  dongle restart gracefully <device> Prevents new incoming and outgoing calls and SMS and outgoing USSD from starting up in <device>, but allows

×