Your SlideShare is downloading. ×
  • Like
Serveur Vocal Interactif plus d'autres technologies
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Serveur Vocal Interactif plus d'autres technologies

  • 1,246 views
Published

 

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,246
On SlideShare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
138
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 1 REPUBLIQUE DU SENEGAL UN PEUPLE-UN BUT-UNE FOI --------------------- Ministère de l’Enseignement Supérieur et de la Recherche Direction de l’Enseignement Supérieur ------------------------------ Av. Bourguiba prolongée × Front de terre BP : 5549 Dakar-Fann Tel : 33 827 28 89.Fax : 33 867 11 17 Email : estm@orange.sn/www.estm.sn MEMOIRE DE FIN DE CYCLE Pour l’obtention de : DIPLOME DE LICENCE PROFESSIONNELLE EN TELEINFORMATIQUE Option : TELECOMMUNICATIONS ET RESEAUX Soutenu et présenté par : Joseph KAPOU Email : josepkap@hotmail.fr Encadré par : M. Christian OUDANG Email : christianoud@gmail.com Année universitaire 2011-2012
  • 2. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 2 Dédicace JE DEDIE LE FRUIT DE CE TRAVAIL A MES PARENTS A qui Je Dois, Ce Que, Je Suis Aujourd’hui Que La Paix De Dieu Le Tout Miséricordieux & Sa Miséricorde Les accompagne Que Dieu Les Protège & Leur Accorde Une Bonne Santé &Une Longue Vie A MES FRERES & SŒURS Pour Leurs Encouragements Continus Que Dieu Les Protège & Leur accorde Une Bonne Santé & Une Longue Vie A LA MESM (Mission d’Evangélisation pour le Salut du Monde) Que Dieu, Le Tout Puissant Seigneur Continu D’Œuvrer, Au Travers De Ses Serviteurs Qu’Il y a Etabli, Avec Puissance Et Amour Dans La Délivrance De Son Peuple Et Pour Sauver Ceux Qui Sont Perdus
  • 3. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 3 Remerciements 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 à remercier vivement, le Tout Puissant Dieu à travers son fils Jésus, qui m’a accordé la santé, l’intelligence, le courage, la détermination dans la réalisation de ce projet. J’exprime ma reconnaissance à mon encadreur Mr. Christian OUDANG à qui sa grande culture scientifique, sa disponibilité et sa simplicité sont autant d’éléments qui ont favorisé la réalisation de ce travail. La qualité de ce projet fut enrichie par l’apport de l’imminent Dr. Samuel OUYA. Qu’il reçoive également toute ma gratitude pour les suggestions et conseils qu’il a pu me prodiguer. Mes remerciements vont également à l’administration de l’ESTM et au corps professoral qui grâce à la qualité de la formation qu’ils m’ont donnée m’a conduit à réaliser ce projet. Mes plus tendres pensées iront vers ma famille (Othniel, Evodie, Nathan, Eliel, Merveille de Dieu, Emmanuel, Abraham), et surtout mes parents (Théodore et Anicette KAPOU), qui m’auront permis de poursuivre mes études jusqu’à aujourd’hui et m’auront également aidé dans les périodes de doute. Ces remerciements ne seraient pas complets sans une pensée pour mes amis de longue date, Mérimée GUEZEWANE, Bellarmin MIANSI, Léonel FEINDIRONGAI, Nathan Vladimir FEIKERAM. Merci de m’avoir aidé et encouragé, et pour m’avoir changé les idées quand j’en avais besoin. Enfin pour paraphraser une expression de reconnaissance de chez moi, à vous que j’ai nommé et à vous tous qui avez participé dans l’anonymat à ma formation, notez ceci « lorsque le soleil rayonne, sachez que c’est moi qui vous exprime ma gratitude ».
  • 4. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 4 Avant-propos L’École Supérieure de Technologie et de Management (ESTM) est une école privée d’enseignement supérieur universitaire et professionnel, créée par des universitaires et des professionnels des secteurs de nouvelles technologies de l’information et de la gestion. Les cours sont dispensés par des enseignants qui sont des universitaires et des professionnels dans les secteurs concernés. La pédagogie de l’Ecole Supérieure de Technologie et de Management comme celle de toutes les grandes écoles est de participer en collaboration avec l’étudiant à la recherche de stage de fin d’études. Le 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 notre document.
  • 5. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 5 Abstract The introduction of the voice as additional form of communication to deploy applications certainly revolutionized the world of computing as a way to access the information without a computer. Indeed, has been a liability in recent years, since people are always connected in network, especially in the rural world. The use of interactive voice servers (IVR) has significantly improved the availability of information and voice applications have continuous access to data remotely with accessible tools for any category of population (the phone is an example). This thesis gets in a scientific exploration because this area is recent and most solutions are owners. Thus, in general we focused voice servers, and in particular on voice server "Open Sources". The result enables us to choose Asterisk for the implementation of a voice application. To validate the proper functioning of our implementation, we have adapted this work to the consultation (notes, information about the school) for students remotely by telephone, and to a permanent contact with the administration. Another aspect of the work is the improvement of our Asterisk platform. Indeed, voice applications have added an additional level of communication between human and artificial systems. However, the ability to transform text (words) in vocal form is not as flexible as we could imagine. Thus, this improvement aims mainly to change the voice synthesis engine that offers Asterisk by an another synthesizer, capable of reading words, because the voice synthesis engine before it reads only numbers, which is a major brake having regard to the general objectives of the project.
  • 6. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 6 Table des matières Dédicace .................................................................................................................................................. 2 Remerciements ....................................................................................................................................... 3 Avant-propos........................................................................................................................................... 4 Abstract ................................................................................................................................................... 5 Table de figures....................................................................................................................................... 9 Table de tableaux .................................................................................................................................. 10 Introduction........................................................................................................................................... 11 Problématique....................................................................................................................................... 12 1. Mise en contexte....................................................................................................................... 12 2. Importance de la question ........................................................................................................ 12 PREMIERE PARTIE.................................................................................................................................. 13 CHAPITRE I. PRESENTATION DE L’ESTM............................................................................................ 14 I.1. Présentation .......................................................................................................................... 14 I.2. Présentation des départements............................................................................................ 14 I.3. Organigramme de l’ESTM...................................................................................................... 15 I.4. Le réseau de l’ESTM............................................................................................................... 15 CHAPITRE II. ETUDE SUR LES SERVEURS VOCAUX INTERCTIFS....................................................... 16 I. Etat de l’art des Serveurs Vocaux Interactifs................................................................................. 16 I.1. Définition............................................................................................................................... 16 I.2. Rôle d’un SVI.......................................................................................................................... 16 I.3. Les domaines d’applications des SVI..................................................................................... 17 I.4. Les types de base d’un SVI .................................................................................................... 18 I.4.1. La borne d’information.................................................................................................. 18 I.4.2. Le standard téléphonique ............................................................................................. 18 I.4.3. Le Couplage Téléphonie Informatique.......................................................................... 19 I.4.4. Les fonctionnalités annexes .......................................................................................... 19 II. Fonctionnement d’un SVI.............................................................................................................. 20 III. Les technologies composantes de SVI....................................................................................... 21 III.1. L’architecture matérielle....................................................................................................... 22 III.2. L’architecture logicielle ......................................................................................................... 22 IV. L’interaction Clients-SVI / SVI-Clients........................................................................................ 23 IV.1. Interaction Clients-SVI........................................................................................................... 23 IV.1.1. Les touches DTMF......................................................................................................... 23
  • 7. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 7 IV.1.2. La reconnaissance vocale ............................................................................................. 24 IV.2. Interactions SVI-Clients ......................................................................................................... 25 IV.2.1. Annonce avec un fond sonore....................................................................................... 25 IV.2.2. Annonces classiques..................................................................................................... 25 V. La synthèse vocale......................................................................................................................... 26 V.1. Mbrola................................................................................................................................... 26 V.2. Lia_Phon................................................................................................................................ 27 V.3. Liambrola............................................................................................................................... 27 CHAPITRE III. ETUDE DES DIFFERENTES SOLUTIONS DE SVI............................................................ 28 I. La plateforme WebSphere ............................................................................................................ 28 I.1. Architecture........................................................................................................................... 28 I.2. Caractéristiques..................................................................................................................... 30 II.3. Avantages et inconvénients .................................................................................................. 31 II.3.1. Avantages ...................................................................................................................... 31 II.3.2. Inconvénients ................................................................................................................ 32 II. La plate-forme Bayonne................................................................................................................ 32 II.1. Architecture........................................................................................................................... 33 II.2. Caractéristiques..................................................................................................................... 33 II.3. Avantages et inconvénients .................................................................................................. 34 II.3.1. Avantages ...................................................................................................................... 34 II.3.2. Inconvénients ................................................................................................................ 35 III. La plate-forme Asterisk ............................................................................................................. 35 III.1. Architecture........................................................................................................................... 36 III.2. Caractéristiques..................................................................................................................... 37 III.3. Fonctionnalités...................................................................................................................... 38 III.4. Avantages et inconvénients .................................................................................................. 38 III.4.1. Avantages ...................................................................................................................... 38 III.4.2. Inconvénients ................................................................................................................ 38 DEUXIEME PARTIE ................................................................................................................................. 40 ............................................................................................................................................................... 40 CHAPITRE I. CONCEPTION ET MISE EN OEUVRE D’UN SERVEUR VOCAL INTERACTIF....................... 41 I. Conception .................................................................................................................................... 41 I.1. L’application vocale............................................................................................................... 41 I.2. Le noyau vocal....................................................................................................................... 41 I.3. Le traitement des appels....................................................................................................... 41
  • 8. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 8 II. Mise en œuvre............................................................................................................................... 42 II.1. L’opérateur téléphonique ..................................................................................................... 42 II.2. Le MIC.................................................................................................................................... 42 II.3. Le simulateur......................................................................................................................... 42 I.4. La carte vocale....................................................................................................................... 42 CHAPITRE II. REALISATION D’UN SERVEUR VOCAL INTERACTIF POUR UNE DEMANDE AU SEIN DE L’ESTM................................................................................................................................................... 43 I. Choix d’une solution et de l’environnement................................................................................. 43 II. Implémentation de la solution...................................................................................................... 43 II.1. Mise en place du serveur Asterisk......................................................................................... 43 I.1.1. Installation de Linux (Ubuntu 12.04)............................................................................. 43 I.1.2. Installation d’Asterisk.................................................................................................... 43 II.1.3. Configuration du serveur (Asterisk) .............................................................................. 45 II.2. Mise en place de la synthèse vocale ..................................................................................... 52 II.2.1. Application Mbrola........................................................................................................ 52 II.2.2. Application Lia Phon...................................................................................................... 53 II.2.3. Application Liambrola.................................................................................................... 55 III. Test et Scénario................................................................................................................................ 57 ............................................................................................................................................................... 57 Conclusion générale et perspective ...................................................................................................... 60 Bibliographie.......................................................................................................................................... 61 Webographie......................................................................................................................................... 61 Glossaire................................................................................................................................................ 62 Annexe................................................................................................................................................... 64
  • 9. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 9 Table de figures Figure 1: Organigramme de l'ESTM........................................................................................................15 Figure 2 : Architecture du réseau téléphonique de l’ESTM .............................................................15 Figure 3 : Couplage Téléphonie Informatique.....................................................................................19 Figure 4 : Fonctionnement d’un SVI........................................................................................................21 Figure 5: Tableau récapitulatif des différentes fréquences du standard DTMF ......................24 Figure 6: Processus de la reconnaissance vocale................................................................................24 Figure 7: Processus de la synthèse vocale .............................................................................................26 Figure 8 : Architecture de Websphere....................................................................................................28 Figure 9 : Types de téléphones utilisés avec Websphere..................................................................29 Figure 10 : Dispositif simulant le réseau de téléphonie....................................................................29 Figure 11 : Architecture de Bayonne ......................................................................................................33 Figure 12 : Architecture d’Asterisk..........................................................................................................37 Figure 13 : Carte vocale Digium...............................................................................................................37 Figure 14 : Configuration dans sip.conf.................................................................................................46 Figure 15 : Configuration de plan de numérotation des clients dans extensions.conf...........47 Figure 16: Arborescence de l’application..............................................................................................48 Figure 17: Configuration du fichier extensions.conf pour le serveur vocal ..............................52 Figure 18 : Scénario de test........................................................................................................................57 Figure 19 : Configuration du client X-lite.............................................................................................57 Figure 20 : Aperçu sur la communication entre les utilisateurs et le serveur vocal...............59 Figure 21 : Script agi....................................................................................................................................65
  • 10. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 10 Table de tableaux Tableau 1 : Principaux modules du logiciel Asterisk…………………………………………………...44 Tableau 2 : Syntaxe générale pour le fichier sip.conf…………………………………………………...45 Tableau 3 : Syntaxe générale pour le fichier extensions.conf…………………………………….....47
  • 11. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 11 Introduction 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 méthodologies et technologies mettre en place pour concevoir et développer des applications permettant à tout un chacun de bien s’informer à temps et avec un quelconque moyen de communication ? 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 peut être utilisé sur un système d'exploitation à base d'Unix (Linux, BSD, Unix) et sous les systèmes d'exploitation à base de DOS (Windows 2000, Windows 2003). Aujourd'hui il est important d'interconnecter les différents PABX ou d’utiliser Asterisk pour effectuer de différentes tâches sur d'autres ordinateurs. D’où le problème de connexion entre deux machines 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. Ce faisant, la transformation du texte (mots) sous forme vocale n’est pas une tâche aisée. C’est ainsi que, l’amélioration que l’on se propose d’apporter vise surtout à changer le moteur de synthèse vocale que propose Asterisk par un autre synthétiseur capable de lire des mots, vu que le moteur de synthèse vocale dont il dispose ne lit que des nombres, ce qui constitue une entrave majeure contenu des objectifs généraux du projet. C'est dans cette optique que le projet d’ «Étude et Conception d’un serveur vocal interactif au sein de l’ESTM » nous a été confié. De ce qui précède, il s’agit d’une part de faire une présentation de l’ESTM, suivie d’une étude sur les serveurs vocaux interactifs, et d’autre part, de concevoir et réaliser une application vocale permettant de se renseigner et aussi de programmer un appel au niveau de l’ESTM, avant de procéder à l’intégration d’un synthétiseur vocal.
  • 12. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 12 Problématique 1. Mise en contexte Ce projet a été mis sur pied dans le souci d’aider les services d’accueil de certaines entreprises à dialoguer de façon permanente avec leurs clients et, ce, sans mobiliser assez de ressources. Le projet consiste à mettre en place des serveurs vocaux capables de dialoguer en langues internationales et nationales (anglais, français, sangho, etc.) L’ESTM, en tant qu’une grande école, s’intéresse aussi à l’automatisation de gestion de la relation clientèle qui est quelque chose de très important. Donc son objectif est de proposer un service irréprochable, ainsi que des conseillers joignables à tout moment. 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 serveur vocal interactif au sein de l’ESTM et de lui attribuer un numéro pour que ceux qui désirent s’inscrire ou de continuer leur formation, voire même de chercher des informations sur les différentes filières au niveau de ladite structure puissent programmer un appel à l’aide d’un serveur vocal. Grâce à ce dispositif, l’administration pourra avoir les numéros et entrer en contact si possible avec des personnes qui ont appelé en dehors des heures normales du travail. Pour arriver à mettre en place cette application nous utiliserons le Serveur PABX « Open source » Asterisk. 2. Importance de la question Le choix d’une application vocale n’est pas anodin. En effet, le moyen de communication le plus naturel, plus efficient et plus flexible entre les humains est la parole. L’interaction vocale est devenue un enjeu technologique du 21ème siècle, en ce sens où elle permet d’accroître le naturel de la communication, favorisant l’accès à l’information pour tous, et particulièrement les personnes défavorisées par l’usage des dispositifs technologiques. Mais force est de constater que l’élaboration de tels systèmes d’informations décuple la compétence des ressources humaines qui y sont investies, et par-delà la maîtrise technologique dans le domaine.
  • 13. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 13 Cette partie s’attache à : La présentation de l’ESTM ; Faire une étude les Serveurs Vocaux Interactifs ; La présentation des différentes plateformes pouvant permettre la mise en œuvre d’un serveur vocal interactif dont la plate-forme Asterisk. PREMIERE PARTIE
  • 14. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 14 CHAPITRE I. PRESENTATION DE L’ESTM I.1. Présentation L’ESTM (École Supérieure de Technologie et de Management) est une école privée d’enseignement supérieur, universitaire et professionnel. Elle a été créée en 2002 par des professionnels des secteurs des nouvelles technologies de l’information, de la communication et de la gestion. Les enseignements dispensés s’inspirent des normes exigées par le CAMES (Centre Africain et Malgache pour l’Enseignement Supérieur) et sont donc superposables à ceux dispensés dans les meilleurs écoles tant sur le continent africain que sur le continent européen et américain. Le programme est élaboré en fonction du monde professionnel, et adapté à l’évolution de la technologie de manière à donner à l’étudiant des compétences aussi bien théoriques que pratiques. L’école compte toujours rester à la pointe de la technologie dans un environnement qui se veut compétitif. Elle participe en collaboration avec l’étudiant à la recherche de stage de fin d’études. Le stage donne lieu à une soutenance devant un jury. L’école forme des techniciens supérieurs en Informatique de Gestion, en Réseaux Téléinformatique et Maintenance Informatique dans le premier cycle de son département des sciences de l’informatique. Au second du même département elle forme des ingénieurs spécialisés en Réseaux Téléinformatique, en Génie Logiciel et en Système de gestion de base de données (SGBD). Dans son département des sciences de gestion, elle forme des diplômés de premier et second cycle en marketing, en comptabilité, en tourisme et en gestion. L’ESTM est sise à l’avenue Bourguiba prolongée X front de terre derrière la Brioche Dorée. I.2. Présentation des départements Le département des sciences de l’informatique compte quatre formations en cours du jour et en cours du soir : Départements des sciences de l’informatique Cours du jour Cycle 1  Téléinformatique et Réseaux  Réseaux télécoms Cours du soir Cycle 2  Ingénieur 1 et 2 en réseaux Téléinformatique  Master 1 et 2 Téléinformatique et Télécommunication Départements des sciences de la gestion Le département de sciences de la gestion compte trois formations :  Marketing  Comptabilité  Gestion
  • 15. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 15 I.3. Organigramme de l’ESTM Figure 1: Organigramme de l'ESTM I.4. Le réseau de l’ESTM Nous avons deux types de réseaux au niveau de l’ESTM :  Un réseau téléphonique géré par un PABX physique BELLS à 8 sorties.  Un réseau informatique indépendant du réseau téléphonique. Figure 2 : Architecture du réseau téléphonique de l’ESTM  Des infrastructures de réseaux et télécoms  Liens inter sites, Interconnexion RAP  Firewall, Routeurs, commutateurs et bornes de Sites  Téléphonie classique totalement indépendante du réseau informatique, une sortie T2 et un autocommutateur local BELLS PABX (non IP) de 8 ports accès internet via un modem-routeur point d’accès wifi (WAG200G).
  • 16. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 16 CHAPITRE II. ETUDE SUR LES SERVEURS VOCAUX INTERCTIFS I. Etat de l’art des Serveurs Vocaux Interactifs 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-Informatique (CTI). I.1. Définition 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.). I.2. Rôle 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.
  • 17. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 17 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 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. I.3. Les domaines d’applications des SVI Les domaines d’applications des SVI sont variés, leur utilisation à bon escient dans le cadre des émissions et réceptions d’appels est un atout majeur pour certains services clients par la permanence du service. Les applications vocales sont mises en œuvre pour la création d'un standard automatisé au sein d'une entreprise. En effet, le SVI se charge de l'accueil et de l'orientation du client, déchargeant ainsi le standard traditionnel. Ce dernier peut toutefois être accessible depuis le SVI, en fonction des options d'orientations proposées. A défaut de standard traditionnel, le client peut être orienté vers une messagerie vocale si sa requête n'est pas prise en compte par l'arborescence vocale du SVI. Également, il existe d'autres applications nécessitant un SVI telles les aboutements fax (fax à la demande), la banque à domicile, le routage d'appels, les systèmes d'alerte automatisée, le serveur de renseignements statistiques pour des réponses répétitives, le serveur de renseignements dynamiques pour des consultations ponctuelles de situation, le serveur d’information dynamique, le serveur d’identification et d’authentification, la file d’attente interactive. Les serveurs vocaux interactifs peuvent être utilisés dans de nombreux services, tels que la banque, le rechargement d'un compte de téléphonie mobile, l´identification d´un appelant, vente par correspondance, accès aux services clients etc. Les répondeurs classiques ne sont pas considérés comme serveurs vocaux interactifs tant que la communication ne va que dans un sens (l´appelant laisse un message) alors que les systèmes serveurs vocaux interactifs offrent une interaction (à double sens). Les répondeurs plus récents sont des serveurs vocaux interactifs, car ils permettent une plus grande interaction, notamment dans la gestion des messages (consultation, suppression, archivage, etc.).
  • 18. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 18 Plus généralement les serveurs vocaux interactifs sont utilisés comme porte d´entrée d´un centre d'appel pour identifier le service demandé par l´appelant ou traiter des demandes simples. Les serveurs vocaux interactifs sont souvent critiqués comme étant peu utiles et difficiles à utiliser à cause de leur programmation simpliste et leur manque de réactivité aux demandes des appelants. Une mesure courante de l'efficacité d'un système de serveurs vocaux interactifs est le nombre d'interactions nécessaires pour satisfaire le besoin de l'utilisateur (par exemple, le nombre minimum de questions pour établir la connexion de l´appelant avec le service désiré). Notons qu'avec l'utilisation croissante des téléphones portables, un problème de taille est l'utilisation des serveurs vocaux interactifs dans des milieux parfois bruyants comme les rues, ce qui nécessite l'utilisation de modèles et de techniques plus robustes. I.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). I.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. I.4.2. Le standard téléphonique 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.
  • 19. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 19 I.4.3. Le Couplage Téléphonie Informatique Figure 3 : 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. I.4.4. Les fonctionnalités annexes La fonction la plus élémentaire pour un serveur vocal est la borne d’informations. Cependant, le SVI est en mesure de jouer d’autres rôles mis à part les trois fonctionnalités standard qui viennent d’être explicitées dans la section précédente. Parmi ces nombreux rôles nous avons la messagerie vocale, la messagerie unifiée et le service de fax à la demande qui sont les plus connus. I.4.4.1. La messagerie vocale La messagerie vocale est un répondeur télématique permettant d'enregistrer les paroles du correspondant en l'absence de l'abonné. Dans une entreprise utilisant un SVI remplissant la fonction de messagerie vocale, une boîte vocale est attribuée à chaque employé où l’appelant peut être dirigé pour laisser un message lorsque le correspondant souhaité n’est pas disponible. Dans ce cas, le SVI joue le rôle de répondeur téléphonique. L’employé peut consulter à distance sa boîte vocale très facilement avec son clavier téléphonique ; il se laisse guider par une arborescence vocale qui lui évite ainsi d’avoir recours à un mode d’emploi papier. Ce type de SVI permet aussi d’envoyer un message à
  • 20. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 20 plusieurs destinataires, de réexpédier un message, de l’annoter, etc. En outre, la messagerie vocale permet également de gérer les messages vocaux: transfert avec ajout de commentaires, auto-login, notification des appels reçus, personnalisation des messages d’accueil, etc. Une autre fonction caractéristique des messageries vocales est la possibilité au sein du groupe d'utilisateurs de la messagerie de réexpédier un message, de l'annoter, et surtout d'envoyer un message à plusieurs destinataires. Il existe aussi d'autres fonctions selon les systèmes :  Horodatage, identification du numéro de l'appelant,  Création automatique de boîtes vocales (nombre illimité)  Lecture, suppression des messages  Envoi des fichiers sons sur la messagerie internet du correspondant  Fonction d’avertissement des correspondants (e-mail) I.4.4.2. La messagerie unifiée La messagerie unifiée permet de faire converger les messages, écrits ou vocaux, issus de différentes sources (courrier électronique, fax, téléphone...) vers un seul serveur accessible à tout type de terminal (ordinateur, téléphone, mobile, PDA). Elle centralise la gestion des messages vocaux, e-mails et fax. L’utilisateur peut écouter ses messages vocaux, avoir une lecture de ses e-mails grâce à la technologie Text-To-Speech (Synthèse vocale), éditer un fax et profiter de toutes les fonctionnalités de sa boîte vocale. La consultation à distance est donc simplifiée. La messagerie unifiée joue le même rôle que la messagerie vocale mais en complément de cette dernière qui se limite aux messages vocaux, elle centralise et permet de consulter tout type de messages (électroniques, vocaux et parfois fax) à partir d’une interface unique (téléphone ou logiciel de messagerie). I.4.4.3. Service de fax à la demande Face au succès qu’a Internet de nos jours, le service de fax à la demande est de plus en plus mis en oubliette. En effet, envoyer ou recevoir un document (fichier…) par Internet est plus commode que par fax. Cependant, il existe des serveurs vocaux capables de commander un serveur fax par exemple pour envoyer à la demande le plan d'un appartement, un itinéraire routier, etc. L’utilisateur de ces services fait son choix en s’aidant d’une arborescence vocale et de touches téléphonique. Certains serveurs vocaux peuvent aussi commander un serveur fax. Les services de fax à la demande audio-fax utilisent de tels SVI. Les fax « commandés » peuvent être soit envoyé en rappel (call back). Dans ce cas, les frais d’émission sont à la charge du service audio-fax ; soit en cours d’appel, ce qui permet de facturer le fax à l’appelant. II. 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.
  • 21. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 21 Figure 4 : Fonctionnement d’un SVI  La reconnaissance de la parole : c’est une technique informatique qui permet d'analyser la parole capté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. III. Les technologies composantes de SVI Un serveur vocal est avant tout un ordinateur. Il peut avoir la configuration d’un PC ou d’un VME (Virtual Memory Extension). Un SVI de type PC est préférable pour les moyennes et grandes entreprises. Il est capable de recevoir 60 appels en simultané et est idéal pour les moyennes et grandes entreprises qui l’utilisent par exemple pour leurs centres d’appels ou de réservation. Dans le cas d'une utilisation intensive dans le milieu des réseaux de télécommunications, un serveur de type VME ou PC Industriel est nécessaire. Il offre des fonctions permettant de sécuriser la machine afin de réduire les pannes informatiques et de supporter des applications exigeantes. Le SVI de type VME autorise une plus grande quantité de traitement d'appels et présente une interactivité
  • 22. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 22 améliorée du fait de son intégration dans les réseaux téléphoniques. Les principaux constructeurs de plates-formes VME sont Philips et Motorola. L'architecture du SVI découle simplement de l'utilisation qui en sera faite. Les contraintes d'architecture varient essentiellement en fonction de la volumétrie des appels entrants mais aussi en fonction du niveau d'interactivité du SVI avec des bases de données distantes ou locales. Un serveur vocal interactif est constitué d’une architecture matérielle et d’une autre qui est logicielle. III.1. L’architecture matérielle L’architecture matérielle décrit l’agencement de composants électroniques ainsi que leur interaction. Un serveur vocal annexe toujours des ressources, applicatives et, de télécommunications, connues sous le nom de frontaux vocaux et de serveur d’application. Ces deux ressources peuvent résider ensemble, mais si le serveur incorpore la reconnaissance de la parole ou la synthèse vocale, il est préférable d’affecter une tâche à chacun. Généralement, l’architecture physique d’un Serveur vocal peut être décrite comme suit : Le frontal vocal : C’est le serveur de raccordement télécom. Il peut contenir des cartes électroniques dédiées à ces tâches, ce qui est systématiquement le cas lors d’un raccordement avec des liens de téléphonie traditionnelle de types analogiques, T0 ou T2 mais ce qui devient optionnel lors d’un raccordement en VoIP. En effet, en IP, le frontal vocal ne peut contenir aucun hardware spécifique, mais seulement les logiciels d’interconnexion SIP ou H323 appropries. La tendance étant plutôt à des frontaux vocaux sans rajout matériel et en raccordements SIP. Une attention particulière devra alors être portée sur la puissance du serveur et donc sur sa capacité à tenir un nombre d’accès suffisant. Le serveur d’application : C’est un logiciel d'infrastructure offrant un contexte d'exécution pour des composants applicatifs. C’est ce serveur qui embarque l’ensemble des applications de développement, d’administration et de supervision du serveur vocal. Il peut être sur le même serveur physique que le frontal vocal et sur le même LAN voire à distance. III.2. L’architecture logicielle L’architecture logicielle encore appelée Middleware se situe entre les interfaces de programmation des cartes médias et l’application qui sera développée à l’aide de ces dernières. L’architecture logicielle décrit d’une manière symbolique et schématique les différents éléments d’un ou de plusieurs systèmes informatiques, leurs interrelations et leurs interactions. Toute la richesse d’un serveur vocal interactif réside dans sa bibliothèque d’éléments actifs. Toute sa puissance repose dans sa capacité à proposer des outils permettant de regrouper facilement ces éléments fonctionnels. En définitive, un serveur vocal interactif se différencie par ses qualités logicielles et non matérielles. L’architecture logicielle peut être définie comme étant une couche logicielle intermédiaire permettant d’ajouter des fonctions CTI à des applications existantes sans avoir à les modifier. Il n’y a pas de dépendance entre les applications CTI et les cartes médias ; le serveur vocal est doté d’outils logiciels donnant accès aux données ou aux traitements, capables de faire communiquer selon un formalisme des systèmes
  • 23. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 23 hétérogènes ou des applications portées par différents systèmes. Les constructeurs de cartes médias fournissent avec leur module électronique une interface logicielle appelé driver nécessaire à fin d’assurer son bon fonctionnement. Il s’agit d’une solution qui est adaptée au système d’exploitation. Un serveur vocal interactif est offert sous différents environnements d’exploitations : Windows, linux, Unix etc. IV. 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 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. IV.1. Interaction Clients-SVI IV.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
  • 24. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 24 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 5: Tableau récapitulatif des différentes fréquences du standard DTMF 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. IV.1.2. La reconnaissance vocale Figure 6: 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.
  • 25. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 25 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 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. IV.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. IV.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. IV.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
  • 26. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 26 stocker l’annonce est plus important que dans le second. Pour cela, on préfère donc la technique de la synthèse vocale. V. La synthèse vocale Figure 7: 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. V.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 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.
  • 27. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 27 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. V.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. V.3. Liambrola Le fait d’installer Mbrola puis Lia_Phon peut sembler quelque fois fastidieuse. C’est dans ce sens qu’un module d’interface nommé Asterisk-liambrola a été écrit afin d’interfacer Lia_phon et MBROLA au plan de numérotation d’Asterisk. Ce module permet l’ajout de l’application Liambrola au plan de numérotation, ce qui permet d’utiliser Lia_phon et Mbrola comme synthétiseur vocal « français » directement dans Asterisk. Le module Liambrola fait appel à Lia_phon et Mbrola via un appel système, car il n’existe pas d’interface de programmation applicative « API » pour ces deux composants.
  • 28. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 28 CHAPITRE III. ETUDE DES DIFFERENTES SOLUTIONS DE SVI Plusieurs plateformes sur le marché et en open source nous permettent la mise en œuvre d’un serveur vocal interactif. Nous choisissons d’étudier les trois les plus répandues en l’occurrence WebSphere, Bayonne et Asterisk. Au terme de cette étude, nous procéderons à un choix. Pour ce faire, plusieurs aspects doivent être pris en compte. Ainsi pour chaque solution, nous étudierons son architecture, ses caractéristiques et enfin ses avantages et ses inconvénients. I. La plateforme WebSphere L’une des inventions majeures qui a profondément impactée la société humaine est le téléphone. Par ailleurs, le système de téléphonie a aussi évolué, allant des systèmes de mise en connexion manuelle avec opérateur humain, aux systèmes électromécaniques, et plus récemment à l’intégration des fibres optiques. Le téléphone est aujourd’hui largement adopté à travers le monde. De même l’invention des technologies du traitement de la voix telles que la reconnaissance automatique de la voix et la génération automatique de la voix à partir de texte seront universellement adoptées. Les compagnies disposant de telles technologies seront demain, sans aucun doute, les leaders au niveau mondial. C’est ainsi que IBM a mis en place un serveur d’application appelé WebSphere qui regroupe en son sein les différents modules cités plus haut. Ce qui fait de WebSphere l’une des solutions qui répond le plus aux besoins des entreprises. I.1. Architecture La technologie du traitement de la voix proposée par IBM comporte : la technologie de reconnaissance automatique de la voix (ASR) et la technologie de la production du langage parlé à partir d’un texte (TTS). Ainsi un certain nombre de dispositifs doivent être mis en œuvre d’où le schéma ci-dessous. Figure 8 : Architecture de Websphere En effet pour mettre en place un serveur vocal interactif utilisant la technologie d’IBM plusieurs éléments interviennent. Tout d’abord le téléphone, qui peut être de types diverses
  • 29. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 29 Figure 9 : Types de téléphones utilisés avec Websphere Ainsi l’utilisateur peut solliciter le serveur en utilisant un de ces téléphones. S’il s’agit d’un téléphone IP ou d’un softphone, l’appel émis passe d’abord par un Gateway et ensuite par un opérateur de téléphonie ou par un autre dispositif capable de simuler le réseau de téléphonie. Ce dispositif est appelé Gordon Kapes System (GKS) et peut être utilisé comme centrale de téléphonie ou un Private Branch eXchange (PBX). Ce dispositif permet également d’interconnecter plusieurs serveurs vocaux. Figure 10 : Dispositif simulant le réseau de téléphonie L’appel ainsi reçu par le serveur, doit être traité. Pour effectuer ces traitements l’application vocale fait appel à plusieurs autres serveurs notamment le serveur de reconnaissance vocale et le serveur de synthèse vocale. La reconnaissance des mots prononcés par l’utilisateur se fait grâce à la grammaire spécifiée et aux fichiers VoiceXML. Le serveur vocal pour répondre à l’utilisateur interagit avec les autres serveurs en utilisant plusieurs protocoles, notamment HTTP, RTP, RGCP. HTTP: HyperText Transfert Protocole a été mis en service par l'initiative globale de l'information d'enchaînement mondial depuis 1990. Ces spécifications définissent le protocole désigné sous le nom de "HTTP/1.1". HTTP est un protocole de réseau de couche application construit sur TCP. HTTP permet à des Figure 10 : Dispositif simulant le réseau de téléphonie
  • 30. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 30 browsers d'enchaînement et à des serveurs d'enchaînement de communiquer. Les clients et les serveurs de http communiquent par l'intermédiaire des messages de demande et de réponse. HTTP utilise le port 80 de TCP par défaut, bien que d'autres ports tels que 8080 soient également employés. C'est le protocole employé pour transférer des données sur le World Wide Web. Le protocole HTTP est le support du Web, la partie la plus utilisée d'Internet et celle qui connaît la plus forte croissance. C'est pourquoi toutes les adresses de site Web commencent par "HTTP://". Toutes les fois que l’on dactylographie un URL dans son navigateur, l’ordinateur envoie une demande HTTP au "web server" approprié. Ce dernier, conçu pour manipuler des demandes HTTP, envoie la page HTML demandée. RTP : Le but de RTP (Real-time Transfert Protocole) est de fournir un moyen uniforme de transmettre sur IP des données soumises à des contraintes de temps réel (audio, vidéo,...). Le rôle principal de RTP consiste à mettre en œuvre des numéros de séquence de paquets IP pour reconstituer les informations de voix ou vidéo même si le réseau sous-jacent change l'ordre des paquets. Plus généralement, RTP permet : D’identifier le type de l'information transportée ; D'ajouter des marqueurs temporels et des numéros de séquence l'information transportée ; De contrôler l'arrivée à destination des paquets ; De plus, RTP peut véhiculer des paquets multicast afin d'acheminer des conversations vers des destinataires multiples. MRCP : Le but du protocole MRCP (Media Ressource Control Protocol) est de standardiser les dialogues informatiques entre les moteurs d'ASR et de TTS avec les serveurs vocaux. Il s'agit d'un dialogue client-serveur. Le protocole définit les requêtes, les réponses et le contrôle du média. Il est également basé sur une base des protocoles RTSP (Real Time Streaming Protocol) et RTP (Real Time Protocole). Websphere utilise uniquement ce protocole pour les fonctions avancées de reconnaissance vocale liées au langage VoiceXML. I.2. Caractéristiques Le serveur vocal d’IBM présente plusieurs caractéristiques. Websphere est propriétaire : En effet Websphere est une solution commercialisée par IBM, mais il existe une version d’évaluation de quatre-vingt-dix jours disponible sur Internet. Il supporte les plates-formes suivantes : Red Hat Enterprise Linux WS/ES/AS V3.0 Update 1 pour les processeurs Intel Pentium III (1 GHz ou plus) SUSE Linux Enterprise Server (SLES) V8.0 powered by United Linux V1.0 avec le Service Pack 2a ou 3 pour les processeurs Intel Pentium III (1 GHz ou plus) Microsoft Windows Server 2003 Il supporte le VoiceXML : Voice eXtensible Markup Language ou VoiceXML, est conçu pour créer les dialogues audio qui comportent le discours synthétisé, l'acoustique digitalisée, le DTMF, et l'enregistrement de l'acoustique pour des applications de téléphonie. Il
  • 31. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 31 apporte l'avantage des technologies d'enchaînement aux utilisateurs d'un téléphone en fournissant un mécanisme interactif de la réponse de voix. Une application développée en VoiceXML doit permettre de "parler" à l'utilisateur en synthétisant de la parole, mais également "écouter" la voix de l'utilisateur grâce à la reconnaissance vocale. VoiceXML représente le ‘HTML’ pour la téléphonie et les applications de voix. C’est le langage de programmation des applications vocales. Il est basé sur XML et permet l’accès aux applications Web à partir de téléphones ou autres appareils fonctionnant avec la voix. L’éditeur VoiceXML est l'interface de développement d'applications vocales sur le modèle Web. La connexion aux informations issues du site Web devient naturelle car elle répond aux exigences de la norme VoiceXML. Elle permet ainsi d'échanger des informations avec tout moteur répondant à cette norme : reconnaissance vocale, synthèse de texte, analyse sémantique. Grâce à l’éditeur VoiceXML, on peut donner de la voix à un site Web en permettant un accès téléphonique aux données en ligne. VoiceXML est une passerelle entre le contenu Web et le portail vocal. Etant un langage d'un seul bloc de présentation conçu pour accepter l'entrée d'utilisateur sous forme de DTMF (tonalités de contact produites par un téléphone) et de parole, VoiceXML est une nouvelle technologie très utilisée dans la conception de serveur vocal car facilitant celle-ci. En effet avec VoiceXML, le développement d'application de reconnaissance de la parole est considérablement simplifié. Au lieu d'utiliser un PC avec un navigateur Web, n'importe quel téléphone peut accéder à des applications de VoiceXML par l'intermédiaire d'un VoiceXML browser fonctionnant sur un serveur de téléphonie. Considérant que le HTML est généralement employé pour créer des applications graphiques d'enchaînement, VoiceXML peut être employé pour des applications voix-permises d'enchaînement. Il supporte plusieurs langues dont : Anglais, Français, Chinois, Japonais, Espagnol, Allemand etc. La configuration minimale du serveur :  Intel Pentium III (minimum 1 GHz ou processeurs équivalent)  Mémoire (RAM): 2 GB (minimum)  Espace disque disponible: 2 GB  Réseaux: TCP/IP  Adresse IP statique II.3. Avantages et inconvénients II.3.1. Avantages Fiabilité : En effet, installé dans un réseau stable, Websphere nous offre une grande résistance aux pannes. Ce qui permet d’ailleurs d’avoir une grande satisfaction de la part des clients. Ceci est essentiellement dû à l’utilisation de composants robustes pour sa mise en œuvre. Websphere est très scalable : dans la mesure où on a la possibilité de changer les caractéristiques (Mémoire, etc.…) de certains de ces composants dans le but d’augmenter ses performances.
  • 32. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 32 Haute disponibilité : Cette avantage vient du fait que plusieurs appels peuvent être traités en même temps par le serveur sans aucune interférence ni interaction entre eux. C’est ce qui fait que la plus part des appels aboutissent. II.3.2. Inconvénients Cette solution présente néanmoins quelques inconvénients, parmi lesquels : Manque de fiabilité du moteur de reconnaissance vocale L’inconvénient majeur de cette solution réside au niveau de son moteur de reconnaissance vocale. En effet, en dépit du progrès accompli par la reconnaissance de la parole ces dernières années, il reste beaucoup à faire. Les algorithmes actuellement employés ont en partie échoué dans une variété de situations, d'un changement simple de voix à un changement d'environnement. Par conséquent, un effort de perfectionnement doit se faire au niveau des caractéristiques suivantes :  Mots hors vocabulaire Un vocabulaire contient tous les mots qu'un moteur d'identification de voix devrait identifier. Cependant, il n'est pas possible de garantir qu'un haut-parleur n'emploiera jamais un mot non inclus dans le vocabulaire, puisqu’il peut ne pas se rendre compte de ce que le vocabulaire contient. Actuellement, le processus d'identification essaye d'identifier le brin le plus étroit pour l'entrée reçue, parce qu'il ne peut pas distinguer, qu'un mot donné appartienne au vocabulaire ou pas. Ce comportement n'est pas souhaitable pour des applications de commande puisqu'une fausse action sera appelée. Une bonne manière de résoudre ce problème pourrait être, employer les niveaux de seuil minimum pour un brin de mots. L’inconvénient est que, selon le seuil, les mots qui appartiennent au vocabulaire pourraient être mal classifiés.  Discours spontané Pendant une conversation normale, il peut jaillir, se produire, que les gens éternuent, toussent ou hésitent avant de poursuivre une conversation. Dans toutes ces circonstances, la reconnaissance de la parole s’exécute tout à fait mal parce que le bruit supplémentaire affecte la qualité du discours réel. Il est certainement souhaitable d'avoir un système où toutes ces conditions pourraient facilement être traitées. Demande beaucoup de ressources : En effet, les différents serveurs qui composent l’architecture proposée par Websphere ont une certaine caractéristique. Ainsi leur installation et configuration nécessitent aussi bien des ressources matérielles qu’humaines. Et ces dernières doivent avoir une certaine expérience pour être capables de mener à bien le travail. Très coûteuse également, comme tenu précédemment dans notre propos, il demeure propriétaire. Et son acquisition implique d’autres dépenses supplémentaires notamment le dispositif qui doit simuler le réseau de téléphonie si l’on désire faire des tests en local. II. La plate-forme Bayonne Les serveurs vocaux ont été pendant longtemps le monopole de quelques vendeurs qui proposent des solutions fermées. Chacun d'eux développant des serveurs IVR (Interactive Voice Response) adaptés à leur propre matériel. Bayonne est la réponse du monde open source à cette situation.
  • 33. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 33 GNU Bayonne est un serveur de téléphonie sous licence libre permettant aux petites et grandes entreprises ainsi qu'aux opérateurs de créer, déployer et gérer les solutions téléphoniques intégrées pour des capacités allant de la simple ligne analogique jusqu'à plusieurs lignes ISDN. Un serveur GNU Bayonne doté d'une carte de téléphonie numérique ou analogique permet de prototyper et de déployer des services applicatifs commerciaux de qualité professionnelle. Cette facilité de développement et d'intégration avec d'autres logiciels libres ouvre les portes du développement d'applications téléphoniques à un large public d'utilisateurs et de développeurs, sans nécessiter d'autres compétences spéciales ou des API propriétaires. II.1. Architecture Utilisant un PC ordinaire tournant sous GNU/linux équipée de cartes téléphoniques multicanaux (disponibles auprès de fabricants divers), GNU Bayonne a déjà été utilisé pour créer et déployer des applications vocales commerciales s'interfaçant avec le réseau téléphonique public. De telles applications peuvent être des services d'Email vocal, des services web intégrés de commerce vocal ou des systèmes de gestion de la relation client. GNU Bayonne est également facilement dimensionnable afin de permettre le déploiement de services avancés d'opérateur fonctionnant sur des systèmes d’exploitation open source. Figure 11 : Architecture de Bayonne II.2. Caractéristiques La principale caractéristique de Bayonne est d'offrir une plateforme IVR virtuelle qui est indépendante du matériel utilisé. Indépendance vis à vis des plates-formes Bayonne peut fonctionner avec une partie des familles IVR (pas toutes encore) sans pour autant avoir besoin d'une d'entre elles. En effet, Bayonne a un tronc commun modulaire qui définit un ensemble d'instructions et un environnement virtuel, pour un usage général. Dans cet environnement virtuel on peut développer une application vocale sans être restreint par le matériel utilisé. Il est donc possible de changer de plateforme ou mettre en communication un service IVR à un autre système avec une plateforme différente sans avoir à réécrire le code.
  • 34. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 34 Possibilité de test en local Pour essayer ou tester Bayonne, il ne faut pas de plateforme IVR coûteuse. Actuellement, il suffit d'une carte son, car Bayonne utilise un pilote qui émule une plateforme IVR utilisant les entrées/sorties du PC (clavier, microphone et écouteurs). Bayonne tourne sur un PC de bureau. Donc pour lancer des services IVR, Bayonne utilise son propre langage, appelé CcScript. Ce langage est très simple, avec des actions informatiques complètes et les principales structures de programmation: blocs conditionnels, boucles, sauts conditionnels ou non, routines.... Une fonction principale de CcScript est d'avoir des instructions «limitées temporellement : avant qu'une instruction ne soit exécutée, le langage connaît son temps maximum d'exécution ». Pour des opérations incluant des appels à des systèmes externes, comme les systèmes de fichiers, les bases de données et les connexions réseau, il y a un paramètre «timeout ». Si l'exécution dure plus longtemps que le timeout, l'opération échoue. Du point de vue du serveur, cette fonction est très importante car elle permet à Bayonne d'offrir des services déterministes et reliés. Les possibilités informatiques de Bayonne ne sont pas seulement limitées à ceux de CcScript. En fait, Bayonne peut interagir avec des langages de haut niveau comme le Perl et le Python. Grâce à cette intégration directe, Bayonne hérite de toutes les bibliothèques et modules disponibles pour ces langages: chaque opération informatique, algorithme habituel ou non, manipulation de données, raccordement à la base de données ou serveur externe (enchaînement, courriel, LDAP, dossier partagés)... Ainsi Bayonne peut traiter tout ce qu'on peut lui demander. Accès direct aux ressources distantes Même sans Perl et Python, Bayonne peut directement accéder à des bases de données MySql ou PostGres et aux requêtes SQL. De la même manière, Bayonne peut accéder au Systèmes de fichiers et se connecter par l'intermédiaire du réseau à des ressources distantes. En outre, Bayonne peut directement interagir avec un synthétiseur de voix TTS, thêta (seulement les voix anglaises sont disponibles) et festival (multilingue). Actuellement, Bayonne ne peut se relier aux systèmes de reconnaissance de la parole, mais ce dispositif est au statut de développement. Gestion synchronisée et/ou désynchronisée Bayonne peut gérer des entrées venant de connections téléphoniques et des entrées provenant du système lui−même dans plusieurs buts : gestion synchronisée, où Bayonne attend pour un signal d'entrée (exemple : attendre qu'une touche soit pressée par l'utilisateur) et de la gestion désynchronisée, où Bayonne reçoit une notification quand un événement arrive (exemple : une touche pressée ou un timeout expiré) sans explicitement les attendre. Ces deux modes de gestion d'entrées permettent à Bayonne de réagir rapidement à l'utilisateur et aux événements système sans aucune perte de temps. Système d’exploitation Bayonne est la réponse du monde open source et du projet GNU au monde propriétaire et fermé. Donc, le système d’exploitation sur lequel tourne Bayonne est le GNU Linux. II.3. Avantages et inconvénients II.3.1. Avantages Multitraitement Comme vu précédemment, Bayonne a été développé pour gérer un grand nombre de lignes téléphoniques simultanément, donc il permet des commandes et des instructions
  • 35. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 35 «multithreading » (gestion simultanée de plusieurs processus). Chaque processus peut interagir avec les autres par le biais de signaux. Cela autorise des processus de synchronisation et des échanges de données entre les processus et, de plus, en connectant des tâches qui utilisent des lignes différentes (exemple : deux utilisateurs peuvent se parler à travers Bayonne). Modules TTS intégrés Pour la plupart des services IVR, Bayonne n'a pas besoin de systèmes externes « Texte à Parole » car il possède déjà ces propres modules vocaux multilingues (Anglais, Français, Italien et Russe) qui peuvent dire des nombres (ordinaires ou cardinaux), et des dates (ces modules sont complètement personnalisables). Ils incluent des voies humaines préenregistrées et qui peuvent être utilisées pour la plus part directement dans l’architecture de Bayonne. Flexibilité Toutes ces caractéristiques rendent Bayonne utile dans un large éventail de situations. Il peut être utilisé pour de petits services téléphoniques IVR avec quelques lignes, tout aussi bien que pour un grand service central supportant des centaines de lignes. Avec Bayonne on peut facilement avoir des services « simples et rapides » ou des services complexes invoquant par là même des systèmes externes. Ainsi, on peut dire que Bayonne est une bonne solution de serveur IVR pour tous les besoins en services IVR. II.3.2. Inconvénients Incompatibilité avec des modems Comme indiqué précédemment, Bayonne supporte plusieurs panneaux, même très différents les uns des autres, de 2 à 120 lignes téléphoniques (analogique ou numérique). D'ailleurs, dans la nouvelle version de Bayonne, on peut même utiliser des panneaux de différentes familles en même temps, ainsi des centaines de lignes téléphoniques peuvent être manipulées simultanément. Malheureusement Bayonne ne supporte pas les modems habituels série/USB (analogique, RNIS ou GSM). Inexistence d’un moteur de reconnaissance vocale L’une des faiblesses majeures de cette plate-forme, est qu’elle n’a pas de moteur de reconnaissance vocale. Ainsi la seule interaction qu’il peut y avoir entre un utilisateur et l’application vocale est l’ensemble des touches du téléphone en l’occurrence les touches DTMF. III. La plate-forme 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 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
  • 36. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 36 gamme de dispositifs matériels, et notamment ceux fabriqués par ses sponsors, tels que digium, ou encore Quicknet. Asterisk offre des services tel 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 est ajoutée 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. Création d’une base de données de test, elle comporte 4 tables fonctionnelles. Mais il est à noter qu’elle ne constitue pas la base de données définitive car ne servant ici que d’un support pour exploiter le serveur vocal. L’application ainsi développée est sous forme de script. Ce script doit être exécutable (chmod 755 monscript.agi) et déposé au niveau du répertoire /var/lib/asterisk/agi- bin/. Pour être accessible via un téléphone, l’application vocale doit être associée à un numéro, et doit être mis au niveau du fichier extensions.conf. Machine distante : exten=> numéro, 1, AGI(agi://adresseIP/monscripts.agi) Même machine : exten => numéro, 1, Agi (monscripts.agi). III.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
  • 37. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 37 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 technologie disponible (maintenant ou à l'avenir) pour exécuter ces fonctions essentielles, en connectant le matériel et les applications. Figure 12 : 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é. Figure 13 : Carte vocale Digium III.2. Caractéristiques 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.
  • 38. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 38 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. 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 III.3. Fonctionnalités 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. III.4. Avantages et inconvénients III.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. III.4.2. Inconvénients 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.
  • 39. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 39 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.
  • 40. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 40 Cette partie aura pour tâches : La conception et la mise en œuvre de notre Serveur Vocal Interactif ; Sa réalisation au sein de l’ESTM ; La mise en place du serveur Asterisk La mise en œuvre et l’intégration de la synthèse vocale dans le serveur Asterisk De faire un test pour le bon fonctionnement du projet DEUXIEME PARTIE
  • 41. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 41 CHAPITRE I. CONCEPTION ET MISE EN OEUVRE D’UN SERVEUR VOCAL INTERACTIF I. Conception I.1. L’application vocale Une application vocale est un programme informatique de téléphonie qui permet à une personne de discuter au téléphone avec un serveur vocal interactif. Elle est basée sur l’échange d’informations sous forme vocale avec l’appelant. Elle permet la communication de l'utilisateur vers le système soit par des codes DTMF (touches musicales à l'aide des touches du clavier téléphonique soit par reconnaissance vocale) ; elle permet aussi la communication du système vers l'utilisateur soit par des annonces enregistrées, par exemple en studio, soit par des annonces en synthèse vocale. L'application vocale est l'outil indispensable qui gère le fonctionnement du serveur vocal. Cette application est adaptée à une situation spécifique, pour fonctionner en simple messagerie, pour faire du commerce en ligne, pour fonctionner en service d’informations, etc. Un nombre infini de fonctionnalités est imaginable. Les quatre principaux types d’application vocale sont :  Standard automatique : routage selon un choix dans un menu vocal  Audiotex : diffusion vocale d’informations préenregistrées  Messagerie vocale : réception et envoi d’enregistrements vocaux  Réponse vocale interactive : annonce vocale du SI (Système d’Information). I.2. Le noyau vocal Le noyau vocal est, quant à lui, le cœur du serveur vocal. Le noyau de la plateforme d’un serveur vocal est constitué d'un serveur (le moniteur d'exploitation) et d'un environnement de développement (le générateur de services). A ces deux éléments viennent s’ajouter des bibliothèques d'objets spécifiques à chaque média sur lequel sera distribué le service en ligne. Ces bibliothèques sont disponibles sous forme de modules qu’on peut ajouter au générateur de service, formant autant d'ateliers de développement qu'il y a de médias de communication possibles. I.3. Le traitement des appels Le traitement des appels peut se faire de manière automatique, ce qui permet au client d’obtenir des réponses à ses questions sans être mis en contact avec un conseiller. Les Automatic Call Distributor (ACD) figurent également dans cette catégorie. Ils permettent de distribuer automatiquement les appels entrant ou sortant sur un ensemble de lignes, de mettre en place des règles de priorité et peuvent être couplés, à un système de remontée de fiche sur le poste de travail du conseiller. L’ACD effectue une distribution sélective des appels quel que soit leur nombre. Pour répartir les appels, nous utilisons les ACD qui centralisent les données statistiques des téléconseillers afin de pouvoir router les appels de manière optimale. Cette répartition se fait en fonction des disponibilités, des compétences recherchées, des profils clients, etc. Ces ACD permettent aussi de gérer les files d’attente, d’estimer les temps d’attente et de parquer les appels sur le SVI.
  • 42. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 42 II. Mise en œuvre La réalisation d’un serveur vocal interactif nécessite un certain nombre d’outils. Dans cette partie nous définirons le rôle de tous les équipements qui s’inscrivent dans la mise en place d’un serveur vocal. II.1. L’opérateur téléphonique Afin d’accéder au serveur vocal interactif, un certain nombre de lignes téléphoniques est attribué aux clients leur permettant d’atteindre simultanément le serveur. Cette tâche d’attribution de lignes téléphoniques est réalisée par un opérateur. Ce dernier occupe une place importance dans la réalisation d’un serveur vocal. Cependant, l’opérateur téléphonique peut être contourné pour des séances de test au niveau du serveur vocal. Dans ce cas on utilise le simulateur. En effet, le SVI doit disposer d'un numéro d'accès à la tarification adaptée à la cible visée par le service qui est mis à disposition. II.2. Le MIC (Modulation par Impulsions Codées) Le MIC est un dispositif qui permet de véhiculer un signal analogique sous forme numérique. Le MIC comme son nom l’indique, Modulation par Impulsions Codées, utilise une technique de modulation pour transformer un signal analogique en numérique. Lors de l’appel d’un numéro de serveur vocal, l’opérateur téléphonique transmet les signaux analogiques au MIC qui va se charger de les transmettre sous forme de signaux numériques à la carte vocale qui lui est reliée. Certaines cartes vocales intègrent les fonctions du MIC, ce qui contourne l’utilisation du MIC. Dans ce cas, les signaux analogiques venant de l’opérateur téléphonique sont directement reçus et convertis en signaux numériques par la carte vocale. La modulation par impulsions codées est un procédé de transmission de la parole par échantillonnage du signal (à une cadence double de sa fréquence maximale) et codage numérique: l'amplitude de chaque échantillon est exprimée par un nombre, qui est représenté par un train d'impulsions binaires. II.3. Le simulateur L'innovation dans le test et le développement d’un serveur vocal interactif a été effective grâce à l’utilisation d’un simulateur. Le simulateur de ligne RTC, est un dispositif qui simule un appel entrant et peut en conséquence jouer le même rôle que l’opérateur téléphonique en interne. Des postes téléphoniques sont directement reliés aux ports du simulateur qui est relié à la carte vocale. I.4. La carte vocale La carte vocale est une carte d’interface qui gère la connexion entre l’entrée voix et l’ordinateur. Elle se présente sous deux types. Il existe des cartes vocales numériques et des cartes vocales analogiques. Les cartes vocales numériques sont prévues pour le réseau téléphonique numérique. Elles disposent des ressources voix et interfaces lignes numériques avec un connecteur RJ45 ou un connecteur BNC. Par contre, les cartes vocales analogiques sont prévues pour le réseau téléphonique analogique et disposent des ressources voix et interfaces lignes analogiques. La carte vocale est disposée sur un seul slot PC et il est possible de chaîner les cartes au sein d’un même PC via les connecteurs SCBUS qui sont des connecteurs secondaires.
  • 43. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 43 CHAPITRE II. REALISATION D’UN SERVEUR VOCAL INTERACTIF POUR UNE DEMANDE AU SEIN DE L’ESTM I. Choix d’une solution et de l’environnement Il existe plusieurs solutions propriétaires pour la mise en œuvre des serveurs vocaux. Cependant, vu l’importance que les SVI ne cessent de prendre, et vu les exigences du projet nous optons pour une solution open source. Ainsi, la solution qui a été retenue est Asterisk. En effet le développement des serveurs vocaux en environnement Open Source offre à ces derniers une plus grande ampleur dans le sens où avec Open Source on accède au code, ce qui fait que les applications vocales pourront rapidement et facilement être améliorées. De plus, les produits Open Source ont toujours donné une entière satisfaction aux développeurs par leur simplicité et aux clients par leur efficacité. Asterisk regroupe également en son sein les différents éléments cités plus haut, nécessaires pour la conception et la mise en œuvre. Donc avec Asterisk, on n’a pas besoin de ressources additionnelles. Une raison supplémentaire qui a guidé notre choix est qu’Asterisk comprend un nombre très élevé de fonctions permettant l'intégration complète pour répondre à la majorité des besoins en téléphonie. Il permet de remplacer totalement un PABX propriétaire, et d'y adjoindre des fonctionnalités de VoIP pour le transformer en PBX IP. Il permet également de fonctionner totalement en VOIP, par le biais de téléphones SIP. II. Implémentation de la solution Le serveur qui héberge la plate-forme Asterisk est un serveur GNU/Linux. Pour implémenter la téléphonie sur IP nous avons choisi le PABX-IP (Autocommutateur sur IP) qui jouera aussi le rôle de serveur vocal. II.1. Mise en place du serveur Asterisk I.1.1. Installation de Linux (Ubuntu 12.04) En effet, vu qu’Asterisk ne fonctionne que sous linux, nous avons choisi la distribution d’Ubuntu 12.04. Nous effectuerons une installation minimale en l’occurrence le noyau pour ne pas surcharger le serveur avec des paquetages dont nous n’aurons pas besoin pour la suite. Ainsi tous les paquetages nécessaires pour le bon fonctionnement d’Asterisk seront installés manuellement. I.1.2. Installation d’Asterisk Version installée : Asterisk-1.8.10.1.tar.gz Télécharger les composants utiles Les composants d’Asterisk se présentent sous forme d’archives portant l’extension ‘’.tar.gz’’ et non de fichiers binaires, qu’il faut compiler puis installer manuellement. La version stable du logiciel Asterisk peut être téléchargée sur l’adresse http://www.Asterisk.org/download. Dans le cas où l’on souhaite supporter la connectivité avec le réseau téléphonique RTC, il est nécessaire d’installer les drivers Zaptel et Libpri. Tous deux concernent la gestion des cartes FXO/FXS avec Asterisk pour des composants de type Zaptel.
  • 44. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 44 Modules Descriptions Asterisk Cœur du logiciel, ce programme est le seul véritablement indispensable à son fonctionnement. Il est donc indispensable de le télécharger. Asterisk-addons Ce paquet contient le code source du logiciel Asterisk, ainsi que plusieurs modules complémentaires qui peuvent se révéler utiles. Il est vivement recommandé de l’installer. Asterisk-sounds Ces modules sont fournis sur plusieurs fichiers de paquetage. Ils offrent une quantité de sons qui peuvent être utilisés dans des messages d’accueil ou pour signaler à l’appelant diverses informations. Ces messages audio sont disponibles en trois langues, anglais, espagnol et français, et sous plusieurs formats de codec, comme G.711, G.722, G.729 et GSM. Libiax Cette bibliothèque de codes sources pour les communications utilisant le protocole IAX n’est pas indispensable. Elle est surtout destinée au développement de clients IAX. Libpri Cette bibliothèque est utilisée pour assurer l’interface avec différents types de réseaux non-IP. Zaptel Ce paquet contient les pilotes permettant de prendre en charge les cartes d’interface avec les réseaux non-IP. Tableau 1 : Principaux modules du logiciel Asterisk Il y a trois façons d’installer le serveur Asterisk : Soit par mode texte (nécessitant une connexion internet) en tapant sur le terminal # apt-get install asterisk Soit en cliquant sur : #système=>Administration=>Gestionnaire de paquets synaptic, recherche asterisk ensuite l’installer (ceci nécessite une connexion internet). Soit enfin, téléchargé les fichiers (modules). Ces fichiers téléchargés sont au formant compressés tar.gz. Dans notre cas nous aurons besoin des paquets suivants:  libpri-1.4.0.tar.gz  Asterisk-addons-1.6.2.4.tar.gz  Asterisk-1.8.10.1.tar.gz
  • 45. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 45 Déplacer le fichier compressé dans le répertoire /usr/src puis décompresser et compiler les sources : #cd /usr/src/ Les paquets libpri pour la prise en compte des interfaces PRI (Numeris). #tar -xzvf libpri-1.4.0.tar.gz -C /usr/local/ #cd /usr/local/ libpri-1.4.0 #make ou make linux26 #make clean && make install Les paquets Asterisk #cd /usr/src/asterisk #tar -xzvf asterisk-1.8.10.1.tar.gz -C /usr/local/ #cd /usr/local/ asterisk-1.8.10.1 #./configure #make clean && make install #make samples II.1.3. Configuration du serveur (Asterisk) Par défaut les fichiers de configurations se trouvent dans le répertoire /etc/asterisk/. En effet en faisant le make samples lors de la compilation, des fichiers de configuration ont été générés dans ce répertoire et serviront de configurer votre propre PABX. Le répertoire de configuration fait l’objet d’une multitude de fichiers. Cependant, nous travaillons avec les fichiers de configuration d’interface suivants:  sip.conf : Le fichier sip.conf permet la création de comptes SIP. Chaque compte est imbriqué dans un bloc où sont énumérés tous les paramètres qui lui sont liés. Pour ce faire, il faut éditer le fichier en tapant sur le terminal: #cd /etc/asterisk/nano sip.conf dans lequel on ajoute une entrée pour chaque client. Plusieurs options permettent de définir et de paramétrer un client : Syntaxe générale [utilisateur] ; début du bloc de création de compte SIP. type=friend ; type de compte host=dynamic ; adresse IP adresse du serveur (PABX) username=user ; nom d’utilisateur secret=mysecret ; mot de passe en clair context=entreprise ; contexte dans lequel le compte est associé. mailbox=102 ; numéro de la boîte vocale associée. language=fr ; langue associé au compte dtmfmode=rfc2833 ; gère les touches du clavier nat=yes ; activation du nat (Network adress translation) sur le réseau. Tableau 2: Syntaxe générale du fichier sip.conf Exemple : Création des comptes clients : nous avons créé des comptes dans avec deux « context » que sont « estm et mesm »
  • 46. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 46 Figure 14 : Configuration dans sip.conf
  • 47. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 47  extensions.conf : Le fichier extensions.conf permet de définir les règles de routage. Dans ce fichier on définit les contextes et les plans de numérotation. Chaque extension a un plan de numérotation interne qui va être interprété et acheminé vers des liens physiques (IAX, SIP,…). Syntaxe générale : [nom_contexte] Exten=> numéro, priorité, commande (paramètres) Tableau 3 : Syntaxe générale du fichier extensions.conf L’inclusion d’un contexte dans un autre permet aux utilisateurs de ces différents contextes de pouvoir communiquer. Figure 15 : Configuration de plan de numérotation des clients dans extensions.conf  Conception d’un un menu vocal Dans un SVI, une application est constituée de composants élémentaires chaînés entre eux. L’ensemble des composants constituant l’application d’un SVI peut être représentée par une structure arborescente. L’arborescence vocale représente les différentes étapes du fonctionnement de l’application. Cette arborescence est constituée de menus, eux- mêmes constitués de sous menus : de menu en menu, la requête de l'appelant se fait de plus en plus précise. Les choix sont faits à l'aide du clavier téléphonique (touches DTMF) ou grâce à la reconnaissance vocale. Une application peut ainsi être confortablement mise au point et testée sur un simple PC. Généralement l'arborescence est réalisée graphiquement à l'aide d'un PC et d'un logiciel spécifique au constructeur du SVI, puis elle est implémentée dans la mémoire du serveur vocal via une liaison série, dans le cas d'un SVI autonome. Avec le générateur d'arborescence on peut créer rapidement l’application, la visualiser sur écran et la tester immédiatement, et aussi la modifier si besoin. Ce générateur permet d’élaborer une
  • 48. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 48 arborescence vocale décisionnelle pour router l’appel ou renseigner correctement l’appelant. Chaque nœud de l'arborescence possède un paramétrage ce qui lui permet de guider l’utilisateur, afin de bien répondre à ses questions ou de transférer son appel au bon endroit ou d’accéder à un document précis. L’efficacité du serveur vocal va dépendre de la rigueur avec laquelle l’arborescence de tous les dialogues avec le serveur vocal est conçue. Cette arborescence se fera sous forme graphique c'est-à-dire un organigramme détaillant tous les parcours possibles de tous les appels entrants. Figure 16: Arborescence de l’application Dans le fichier extensions.conf Si jamais, le menu à créer est assez simple et a une profondeur peu étendue, il sera alors conseillé d'utiliser cette méthode. Voici un exemple d'application pouvant être implémenté avec cette méthode. L'utilisateur reçoit un message disant : Bienvenue sur notre serveur vocal interactif de l’ESTM  Pour avoir des informations, tapez 1 ; - pour le département info_telecom tapez 1 ; - pour le département gestion tapez 2 ;  Pour joindre l’Administration, tapez 2 ; - Pour joindre l’utilisateur josep (directeur des études), tapez 1, - Pour joindre l’utilisateur juldice (chef de scolarité), tapez 2. - Pour joindre l’utilisateur emma (surveillant général), tapez 3.
  • 49. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 49 Cette page présente la configuration du serveur vocal La page suivante présente la configuration des informations sur les départements
  • 50. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 50 Les pages qui suivent mettent en évidence la configuration des départements info_telecom et gestion.
  • 51. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 51 Cette page met en exergue le transfert d’appel concernant le contact de l’administration dans notre menu vocal.
  • 52. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 52 Figure 17: Configuration du fichier extensions.conf pour le serveur vocal II.2. Mise en place de la synthèse vocale II.2.1. Application Mbrola Il faut ouvrir une session « Shell » sur Asterisk afin d’exécuter les lignes de commandes suivantes : #cd /usr/local/bin #mkdir mbrola #cd mbrola #wget http://tcts.fpms.ac.be/synthesis/mbrola/bin/pclinux/mbr301h.zip #unzip mbr301h.zip #rm -f mbr301h.zip #ln -s mbrola-linux-i386 mbrola Vu que notre projet est destiné à être utilisé dans un espace francophone (ESTM Sénégal), nous avons maintenant besoin de voix pour la langue française. Il est à noter que plusieurs autres langues sont disponibles, entre autres les suivantes : Anglais, Allemand, Espagnol, etc. Les choix possibles sont les suivants : Français masculin (fr1-990204.zip) Faculté Polytechnique De Mons Français féminin (fr2-980806.zip) Celine Egea Français masculin (fr3-990324.zip) Babel Technology Français féminin (fr4-990521.zip) Babel Technology Français belge (fr5-991020.zip) Faculté Polytechnique De Mons Français masculin (fr6-010330.zip) Faculté Polytechnique De Mons Français belge (fr7-010330.zip) Faculté Polytechnique De Mons Français masculin canadien (ca1.zip) Vincent Arnaud Français masculin canadien (ca2.zip) Silex Création Inc. Nous pouvons les télécharger en exécutant les lignes de commandes ci-dessous : wget http://tcts.fpms.ac.be/synthesis/mbrola/dba/fr1/fr1-990204.zip wget http://tcts.fpms.ac.be/synthesis/mbrola/dba/fr2/fr2-980806.zip wget http://tcts.fpms.ac.be/synthesis/mbrola/dba/fr3/fr3-990324.zip wget http://tcts.fpms.ac.be/synthesis/mbrola/dba/fr5/fr5-991020.zip wget http://tcts.fpms.ac.be/synthesis/mbrola/dba/fr6/fr6-010330.zip wget http://tcts.fpms.ac.be/synthesis/mbrola/dba/fr7/fr7-010330.zip wget http://tcts.fpms.ac.be/synthesis/mbrola/dba/ca1/ca1.zip
  • 53. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 53 wget http://tcts.fpms.ac.be/synthesis/mbrola/dba/ca2/ca2.zip find . -name "fr*.zip" -print -exec unzip {} ; find . -name "ca*.zip" -print -exec unzip {} ; Il faudrait ensuite enlever les archives, simplement via les lignes de commandes suivantes : rm –f fr*.zip rm –f ca*.zip L’archive pour la voix fr4 doit être traitée de façon plus particulière puisque ses fichiers ne sont pas inclus dans un sous répertoire. Suivons donc les étapes ci-dessous. mkdir fr4 cd fr4 wget http://tcts.fpms.ac.be/synthesis/mbrola/dba/fr4/fr4-990521.zip unzip fr4-990521.zip; rm –f fr4-990521.zip cd .. Nous sommes maintenant prêts à effectuer un test. Alors, il faut exécuter la ligne de commande suivante afin de générer un fichier format WAV à partir de phonème prédéfinit. ./mbrola fr1/fr1 fr1/TEST/bienvenu_estm.pho bienvenu_estm.wav Nous devrions donc avoir un fichier contenant la représentation sonore du texte « bienvenue sur le serveur vocal de l’ESTM ». Ce texte a été inclus dans le phonème. Il y a la possibilité de changer de voix. Ce changement se fait en remplaçant fr1 à fr7 comme écrit dans la ligne de commande précédente. II.2.2. Application Lia Phon La première étape étant effectuée, passons maintenant à la mise en place de Lia_phon. Afin d’installer Lia_phon, nous devrions poursuivre via la session « Shell ». Ainsi, nous allons exécuter les lignes de commandes suivantes : cd /usr/local/bin wget http://tcts.fpms.ac.be/synthesis/mbrola/tts/French/lia_phon.v1.2.tar.gz tar zxvf lia_phon.v1.2.tar.gz rm –f lia_phon.v1.2.tar.gz cd lia_phon find . -print -exec chown root:root {} ; Il faut maintenant définir une variable au niveau de notre session en exécutant la ligne de commande suivante : export LIA_PHON_REP=/usr/local/bin/lia_phon Afin de vérifier que la variable a bien été définie, il faut exécuter la ligne de commande ci-dessous : export -p | grep LIA_PHON_REP NB : Il est nécessaire de s’assurer de la présence de « csh » avant de compiler lia_phon. Si « csh » n’est pas installé, il faudrait exécuter la ligne de commande suivante afin d’en faire l’installation : apt-get install csh.
  • 54. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 54 Passons maintenant à l’étape de la compilation du code source. Les lignes de commandes suivantes doivent être exécutées: make all make ressource make check Le tout devrait se terminer avec le message suivant : « Congratulation, LIA_PHON is correctly installed » Effectuons maintenant un transfert de propriétaire des fichiers de lia_phon à l’utilisateur Asterisk. Exécutons la ligne de commande suivante : find . -print -exec chown asterisk:asterisk {} ; Nous pouvons aussi remplacer « asterisk:asterisk » par « root:root » dans la mesure où le serveur Asterisk est hébergé sur un système local plutôt que sur un serveur lointain. Nous sommes maintenant prêts à effectuer un autre test. Nous exécutons les lignes de commandes suivantes afin de valider notre générateur de prosodie en plus du synthétiseur vocal. cd doc $LIA_PHON_REP/script/lia_text2mbrola < bienvenu_estm.txt > bienvenu_estm.ola cd ../../mbrola ./mbrola -I $LIA_PHON_REP/data/initfile.lia fr1/fr1 $LIA_PHON_REP/doc/bienvenu_estm.ola bienvenu_estm.wav Le résultat du test devrait ressembler à ceci : « Bienvenue sur le serveur vocal de l’ESTM. Tapez 1 pour les informations sur les départements de l’école. Tapez 2 pour contacter l’administration » La version audio de ce dernier test est disponible ici : bienvenu_estm.wav Pour notre menu vocal, nous allons procéder à la création des sons. Ceci se fera en convertissant les textes en parole. Pour ce faire nous exécuterons les lignes de commandes suivantes afin valider avec nos propres textes. Toujours à partir du même répertoire, « /usr/local/bin/mbrola », créons les fichiers nommés : - bienvenu_estm.txt - info.txt - note.txt - contact.txt Et insérons-y les textes suivants respectivement : Nous prenons juste l’exemple du fichier bienvenu_estm.txt pour la démonstration. Nous allons procédés de la sorte pour le reste de fichiers conformément aux textes de notre menu vocal comme spécifier sur la figure 15 de notre document. «Bienvenue sur le serveur vocal de l’ESTM. Tapez 1 pour les informations sur les départements de l’école. Tapez 2 pour contacter l’administration» NB : Le texte doit être encodé dans le format ISO-8859-1. Si l’ordinateur supporte un autre format tel que UTF8, il est important alors de le convertir afin de pourvoir écouter le message, sinon les accents ne seront pas lu correctement par Lia_phon. Pour convertir sous Linux, on utilise la ligne de commande suivante : iconv –from-code=UTF-8 –to-code=ISO-8859-1 FichierEntrant.txt > FichierSortant.txt
  • 55. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 55 Nous allons effectuer maintenant la phonétisation en exécutant la commande suivante. Le fichier bienvenu_estm.txt est déjà dans le bon format ISO-8859-1 : $LIA_PHON_REP/script/lia_nett < bienvenu_estm.txt | $LIA_PHON_REP/script/lia_taggreac | $LIA_PHON_REP/script/lia_phon | $LIA_PHON_REP/bin/lia_add_proso > bienvenu_estm.pho Finalement, effectuons la synthèse vocale en exécutant la commande ci-dessous. ./mbrola -I $LIA_PHON_REP/data/initfile.lia fr1/fr1 bienvenu_estm.pho bienvenu_estm.wav La version audio est disponible ici : bienvenu_estm.wav II.2.3. Application Liambrola Exécutons maintenant les lignes de commandes suivantes afin d’installer Liambrola : cd /usr/src wget http://sourceforge.net/projects/liambrola/files/asterisk-liambrola-0.3.tgz tar xzvf asterisk-liambrola-0.3.tgz rm -f asterisk-liambrola-0.3.tgz cd asterisk-liambrola-0.3 Pour compiler sous Asterisk 1.4, exécuter : make make install Pour compiler sous Asterisk 1.8, exécuter : make ASTERISKVERSION=1.8 make install ASTERISKVERSION=1.8 Il faut se rassurer qu’il existe bel et bien un fichier app_liambrola.so dans le répertoire /usr/lib/asterisk/modules/ Exécutons maintenant les lignes de commandes suivantes afin de charger le module Liambrola dans Asterisk : asterisk –rvvv module load app_liambrola.so core show application liambrola exit Nous devrions obtenir les fonctions offertes par Lia_phon et MBROLA dans le plan de numérotation d’Asterisk. Pour tester, il faut modifier simplement le fichier /etc/asterisk/extensions_custom.conf ou le fichier /etc/asterisk/extensions.conf et y ajouter les lignes ci-dessous : exten => 542,1,Answer exten => 542,2,Wait(1) exten => 542,3,Liambrola(“Bienvenue sur le serveur vocal de l’ESTM.”) exten => 542,4,AGI(agi-liambrola-test.agi) exten => 542,5,Hangup Après cette étape il ne faut pas oublier de recharger la configuration d’Asterisk avec : asterisk -rx reload Maintenant, il ne reste qu’à prendre le combiné et de composer le numéro « 542 » qui correspondent aux lettres LIA sur le clavier téléphonique.
  • 56. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 56 Si l’on désire modifier les paramètres opérationnels de Lia_phon ou de MBROLA, il faudrait éditer le fichier /etc/asterisk/liambrola.conf. Ce fichier contient des paramètres d’ajustement qui influenceront notre synthétiseur vocal Liambrola. Les paramètres sont basés sur les paramètres natifs de Lia_phon et de MBROLA. Il est à noter que dans l’éventualité où l’on n’aurait pas installé les exécutables MBROLA et Lia_phon dans les répertoires tels que spécifiés, le chemin d’accès pour les exécutables MBROLA et Lia_phon peuvent être ajusté via les paramètres mbrolaPath et liaphonPath dans le fichier liambrola.conf. Pour faire appel à liambrola, deux méthodes s’imposent à nous : La première méthode est via le plan de numérotation. Il suffit d’ajouter la commande suivante à notre plan, comme dans l’exemple ci-dessous: exten => 542,3,Liambrola(“Bienvenue sur le serveur vocal de l’ESTM.”) La deuxième méthode est via un script AGI. Là encore, il faut d’abord ajouter la commande suivante à notre plan, comme dans l’exemple ci-dessous : exten => 542,4,AGI(agi-liambrola-test.agi) Le premier paramètre de Liambrola doit être le texte à convertir en parole. Nous pouvons aussi interagir dynamiquement sur Lia_phon ou MBROLA via les paramètres passés à Liambrola. Chaque paramètre est séparé par une barre verticale « | ». Il est à noter que les paramètres contenus dans le fichier /etc/asterisk/liambrola.conf sont évalués en premier et que par la suite, les paramètres dynamiques seront eux aussi évalués. Nous pouvons aussi passer plusieurs paramètres dynamiques à Liambrola en les séparant par une barre verticale « | » sous Asterisk 1.4. Il est à signaler que le séparateur de paramètres sous Asterisk 1.8 est une virgule «, » plutôt qu’une barre verticale « | » comme sous Asterisk 1.4. Si l’on utilise Asterisk 1.8 comme dans notre cas, alors il faut en tenir bien compte. De plus, le fichier /var/lib/asterisk/agi-bin/agi- liambrola-test.agi a été ajusté en conséquence pour Asterisk 1.8. Voici quelques explications sur comment cela fonctionne. - Exemple sous Asterisk 1.4, avec le paramètre « any » : Liambrola (“Appuyez sur une touche pour interrompre la transmission de ce message.|any”) - Exemple sous Asterisk 1.8, avec le paramètre « any » : Liambrola (“Appuyez sur une touche pour interrompre la transmission de ce message.,any”) Pour interrompre la lecture du message, il faut juste appuyer sur une touche. En l’absence du paramètre «any», il sera impossible d’interrompre la transmission du message. À partir de la version 0.3, liambrola offre maintenant l’utilisation de liambrola via une ligne de commande « shell ». Il est donc possible de faire appel à la synthèse vocale liambrola en spécifiant un fichier d’entrée de texte et un fichier de sortie audio dans lequel liambrola produira une synthèse vocale française du texte d’entrée. Par exemple, on peut faire appel à liambrola en exécutant la ligne de commande suivante : liambrola –f fichier_entree.txt –o fichier_sortie.wav
  • 57. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 57 Ce nouvel exécutable est pratique dans le cas de scripts externe au plan de numérotation d’Asterisk. De plus, il serait aussi possible d’interagir dynamiquement sur Lia_phon ou MBROLA via les paramètres passés à liambrola dans le texte du fichier d’entrée. L’opposé de la fonction liambrola faisant partie du plan de numérotation, les paramètres contenus dans le fichier /etc/asterisk/liambrola.conf ne sont pas évalués lorsque l’on utilise l’exécutable liambrola via une ligne de commande. Les paramètres à défauts sont plutôt codés dans l’application liambrola. III. Test et Scénario La communication entre un utilisateur et le serveur vocal mis en place se fait de la manière comme indiquée sur le schéma ci-dessous. Ainsi, avant de passer au test il convient de configurer tout d’abord le combiné de l’abonné, c’est-à-dire son téléphone (hard ou soft). Pour notre cas, il s’agit d’un Softphone « X-Lite » disponible sur le site http://x-lite.softonic.fr/telecharger. La configuration se fait comme indiquer sur la figure ci-dessous. Figure 18 : Scénario de test Figure 19 : Configuration du client X-lite
  • 58. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 58  Il faut d’abord la machine cliente et le serveur Asterisk soient dans le même réseau.  Il faut créer le compte dans le fichier sip.conf puis éditer le fichier extensions.conf pour attribuer le numéro d’appel du client.  Après il faut inéluctablement redémarrer le serveur Asterisk.  Cliquer droit sur l’interface X-lite _ SIP, Account Settings puis Propreties.  Il faut renseigner les champs Display Name, User name et Password qui permettent au client de s’identifier sur le serveur.  Le champ Authorization user name est défini sur le serveur Asterisk et on rentre l’adresse IP du serveur dans le champ Domain (on notera que l’adresse IP du proxy est la même que celle du serveur). Étant dans un cas atypique, c’est-à-dire une application non classique qui ne présente aucune interface de saisie, nous avons fait des captures d’écran lors de la réception d’un appel du serveur. On peut voir apparaitre les differents messages préenregistrés tels que bienvenu_estm.gsm, info.gsm
  • 59. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 59 On peut également observer le message de redirection dans le fichier contact.gsm. Figure 20 : Aperçu sur la communication entre les utilisateurs et le serveur vocal
  • 60. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 60 Conclusion générale et perspective Les révolutions technologiques dans l'informatique et les télécommunications ont rendu possible le développement de nouveaux services qui fournissent une grande valeur ajoutée par rapport à certains services traditionnels. Dans ce cadre, le présent projet avait pour but la mise en place d'un serveur vocal interactif à base d'un outil de synthèse vocal pour la résolution de la problématique de la disponibilité des notes et de quelques informations courantes devant être à la disposition permanente des étudiants de l’ESTM. En effet, l'absence d'un système centralisé a fait sentir ses effets, créant par exemple des inflexibilités pour la consultation des notes. C’est en ce sens que nous avions procédés à une auscultation : Des serveurs vocaux interactifs d’une manière bien soignée ; Des différentes solutions des serveurs vocaux interactifs dont la plate-forme d’Asterisk qui nous a servi pour la mise en œuvre ; Et enfin : Faire une étude de la conception et la mise en œuvre d’un serveur vocal interactif. Procéder à la réalisation pratique de ce projet dans le cadre d’une demande au sein de l’ESTM. Nous pouvons ainsi en venir aux conclusions suivantes : Les serveurs vocaux apparaissent partout, conquérant aussi bien dans le monde professionnel que le grand public, s’immisçant dans nos divertissements, dans la formation, au travail, dans l’assistance, etc. Elles présentent néanmoins quelques limites significatives actuellement. En effet il est très difficile de décider de la quantité (ou la qualité) d’information dont des utilisateurs ont besoin. Trop peu d'information peut créer l'ambiguïté, les malentendus et le sentiment d'une approche plutôt artificielle. Réciproquement, trop de détails peuvent mener à la confusion et l'utilisateur peut alors perdre le temps en essayant de corriger ses erreurs. Par conséquent, une bonne application de voix représente un compromis équilibré qui évite trop ou peu d'informations. Comme perspectives nous pouvons dire que : Bon nombre d’améliorations sont à envisager notamment au niveau des technologies du traitement automatique de la parole, comme la synthèse ou la reconnaissance vocale, utilisées dans les serveurs vocaux interactifs. En effet, ces dernières doivent être l’objet d’une étude approfondie, surtout si elles doivent être en langues nationales, afin de permettre l’accès à l’information au monde rural conformément aux objectifs généraux du projet. Concernant l’application qui a été conçue, Il faudra penser à implémenter la solution non pas au niveau logiciel (application) mais au niveau du système c’est- à -dire au sein de Asterisk. 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.
  • 61. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 61 Bibliographie  Asterisk, la téléphonie d’entreprise libre de Philippe SULTANT collection EYROLLES ;  Téléphonie sur IP (2è édition) de Laurent OUAKIL et Guy PUJOLLE collection EYROLLES ;  La téléphonie open source de Jim Van Meggelen, Jared Simth et Leif Madsen  VoIP et ToIP ASTERISK, la téléphonie sur IP : (conception, installation, configuration et déploiement) de Sébastien DEON Webographie Asterisk http://www.voip-info.org/wiki-Asterisk http://www.aterisk.fr/category/svi/ Websphere http://www-306.ibm.com/software/websphere/ Bayonne http://www.voip-info.org/wiki/view/Bayonne Mysql http://dev.mysql.com/downloads/ Reconnaissance vocale http://www.archisoftint.com/vocal/index.html http://fr.wikipedia.org/wiki/Reconnaissance_vocale http://www.vecsys.fr/ Synthèse vocale http://www.vocalcom.fr/Solutions-centre-d-appels.aspx http://www.webopedia.com/TERM/I/IVR.html http://fr.wikipedia.org/wiki/Synth%C3%A8se_vocale http://f5exo.free.fr/articles.php?lng=fr&pg=85 http://doc.ubuntu-fr.org/synthese_vocale http://www.tux89.com/telephonie/synthese-vocale-en-francais-sous-asterisk/ Les Agi http://www.voip-info.org/wiki-Asterisk+AGI http://home.cogeco.ca/~camstuff/agi.html http://perl.enstimac.fr/ Mbrola http://tcts.fpms.ac.be/synthesis/mbrola/mbrcopybin.html http://en.wikipedia.org/wiki/MBROLA Lia_Phon http://www.elda.org/fr/proj/euromap/panofr/tools/152.html http://www.atala.org/LIA-PHON
  • 62. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 62 Glossaire  Codecs : Compression et Décompression. C'est un procédé logiciel (une 'formule mathématique automatisée') encodant des informations afin de diminuer le volume de stockage occupé initialement sur les différents supports DVD, CD, disques durs, disquettes... En d’autres termes les codecs sont des algorithmes utilisés pour la compression et la décompression. Il existe des codecs matériels aussi.  IAX : Inter-Asterisk eXchange. Ce protocole permet la communication entre deux serveurs Asterisk ainsi qu'entre client et serveur Asterisk.  Open source : L'expression Open Source caractérise les logiciels dont le code source est visible, modifiable et librement redistribuable sous certaines conditions, ces conditions peuvent être plus ou moins strictes.  PABX : Private Automatic Branch eXchange. Plus connu sous le nom de standard téléphonique, il s´agit généralement d´un boîtier ou d´un coffret central assurant le lien entre le réseau téléphonique de l´opérateur et les communications internes de l´entreprise. Grâce à lui, tout appel est acheminé à son destinataire ou stocké sur une messagerie en cas d´absence de ce dernier. Il peut également s´agir d´une télécopie ou de tout autre fichier, le PABX gérant aussi bien la voix que les données.  Protocole : Spécification d'un dialogue entre plusieurs ordinateurs qui s'échangent des données.  TCP/IP : Transmission Control Protocol/Internet Protocol. Protocole utilisé sur le réseau Internet pour transmettre des données entre deux machines.  ToIP : Téléphonie sur IP. TOIP, représente la VOIP en addition de toutes les applications téléphoniques qu'il peut y avoir.  VoIP : Voix sur IP. VoIP, représente seulement la technologie de transport de voix sur le protocole Internet.  IP : Internet Protocol  SIP: (Session Initiation Protocol) est un protocole standard ouvert de gestion de sessions utilisé dans la télécommunication multimédia.  DTMF: Dual-Tone Multi-Frequency  MGCP: Media Gateway Control Protocol  IPBX: Internet Protocol Private Branch eXchange  RTP: Real-time Transport Protocol  RTCP: Real-time Transport Control Protocol  SVI : Serveur Vocal Interactif  RTC : Réseau Téléphonique Commuté  IETF: Internet Engineering Task Force  UDP: User Datagram Protocol  TCP: Transmission Control Protocol  HTTP: Hypertext Transfer Protocol  RNIS : Réseau Numérique à Intégration de Services
  • 63. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 63  IVR: Interactive Voice Response  TTS: Text To Speech  ACD: Automatic Call Distributor  API: Application Programming Interface  AGI: Asterisk Gateway Interface  CTI : Couplage Téléphonie-Informatique  Dial Plan : C’est le plan de numérotation d’Asterisk  mailbox indique la boite vocale associée à ce compte.  Background Lit un message audio de manière non bloquante. Autrement dit, une saisie d’une ou plusieurs touches par l’appelant est possible en parallèle. Dans ce cas, la lecture du message audio en cours est interrompue. L’extension correspondant aux touches saisies par l’appelant est automatiquement appelée.  Dial : Met en relation l’appelant et l’utilisateur ou le service spécifié en argument de l’application Dial. Cette commande est donc utilisée pour affecter un numéro de téléphone à un utilisateur, à un terminal ou à un service. En argument de l’application, il faut indiquer le nom du compte à contacter, préfixé par le protocole de signalisation que le compte utilise (IAX2, SIP, etc.). Cela permet au serveur Asterisk de déterminer dans quel fichier de configuration se trouvent les propriétés du compte appelé (iax.conf, sip.conf, etc.).  Answer : Répond à un appel téléphonique entrant.  Goto : Branchement inconditionnel vers un contexte, une extension et une priorité particuliers.  GotoIf : Branchement conditionnel vers un contexte, une extension et une priorité particuliers lorsqu’une condition est vérifiée.  Playback : Lit un message audio de manière bloquante. La lecture du message doit se faire intégralement, et l’appelant ne peut interrompre cette diffusion par une saisie de touche sur le clavier téléphonique.  Read : Lit une variable. L’appelant est invité à entrer une valeur qui est sauvegardée sous forme de variable par le système. Cela permet notamment de demander un mot de passe à l’utilisateur avant d’accéder à un service spécifique.  System Exécute une commande système du système d’exploitation.  Wait Attend pendant un certain délai spécifié en argument.  WaitExten Attend une saisie d’une extension par l’utilisateur.
  • 64. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 64 Annexe 1. Explication des fichiers d’extension mis en place dans le serveur Asterisk exten => 300, 1, Answer ; Réponse du serveur asterisk exten => 300, 2, Background (fichier sonore sans l’extension gsm) ; Lit simplement le fichier sonore. exten => 300, 3, WaitExten ; Attente par asterisk d’une décision de l’utilisateur ; exten => 1, 1, Goto (information, 100,1) ; Appel vers le contexte information exten => 2, 1, Goto (admin, 200,1) ; Appel vers le contexte admin exten => 3, 1, Dial (SIP/josep, 40, tr) ; Appel de l’utilisateur josep et sonne pendant 40 secondes ; 2. Quelques précisions par rapport à la configuration de la synthèse vocale find . –print –exec chown asterisk :asterisk {} ; Transfert de propriétaire des fichiers à l’utilisateur Asterisk. Lors de l’exécution de la commande « find. -print … » sous Debian, les accolades {} devraient être entourées d’apostrophes ” pour éviter une erreur d’interprétation de la commande. Ainsi elle devient « find . -name “fr*.zip” -print -exec unzip ‘{}’ ; » $LIA_PHON_REP/script/lia_text2mbrola < bienvenu_estm.txt > bienvenu_estm.ola cd ../../mbrola ; Cette ligne permet de convertir le texte de format « txt » en format « ola » ./mbrola -I $LIA_PHON_REP/data/initfile.lia fr1/fr1 $LIA_PHON_REP/doc/bienvenu_estm.ola bienvenu_estm.wav ; Cette ligne de commande permet de convertir le fichier bienvenu_estm de format « ola » en format « wav » pour être lisible sur l’ordinateur de l’utilisateur. 3. Les tables qu’il faut créer dans la base de données. Nous avons utilisé MySQL comme notre serveur. Le nom de la base de données que nous avons créée est « asterisk » (comme indiquer sur notre script agi sur la figure 21). Ainsi, les tables que nous avons créées sont : Table Etudiant CREATE TABLE etudiant (numcarte varchar(50), nom varchar(50), prenom varchar(50), datenaissance varchar(50), classe varchar(50), PRIMARY KEY (numcarte)); Table Classe CREATE TABLE classe (codeclasse varchar(50) not null , classe varchar(50), PRIMARY KEY (codeclasse));
  • 65. Etude et Conception d’un Serveur Vocal Interactif 2012 Mémoire présenté et soutenu par Joseph KAPOU 65 Table Matiere CREATE TABLE matiere (codematiere varchar(50) not null, classe varchar(50), matiere varchar (50), note varchar(20), PRIMARY KEY (codematiere)); Table Note CREATE TABLE note (codenote varchar(50) not null, numcarte varchar(4), codematiere varchar (50), typenote varchar(20), note varchar(20), FOREIGN KEY (code_server) REFERENCES etudiant (numcarte) AND matiere (codematiere), PRIMARY KEY (codenote)); 4. Le script agi (écrit en perl) pour l‘affichage des notes des étudiants, à ajouter dans le répertoire : /var/lib/asterisk/agi-bin Figure 21 : Script agi