Vous êtes sur la page 1sur 65

Etude et Conception d’un Serveur Vocal Interactif 2012

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 : Encadré par :


Joseph KAPOU M. Christian OUDANG
Email : josepkap@hotmail.fr Email : christianoud@gmail.com
Mémoire présenté et soutenu
Année par Joseph
universitaire KAPOU
2011-2012 1
Etude et Conception d’un Serveur Vocal Interactif 2012

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

Mémoire présenté et soutenu par Joseph KAPOU 2


Etude et Conception d’un Serveur Vocal Interactif 2012

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 ».

Mémoire présenté et soutenu par Joseph KAPOU 3


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Mémoire présenté et soutenu par Joseph KAPOU 4


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Mémoire présenté et soutenu par Joseph KAPOU 5


Etude et Conception d’un Serveur Vocal Interactif 2012

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

Mémoire présenté et soutenu par Joseph KAPOU 6


Etude et Conception d’un Serveur Vocal Interactif 2012

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

Mémoire présenté et soutenu par Joseph KAPOU 7


Etude et Conception d’un Serveur Vocal Interactif 2012

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

Mémoire présenté et soutenu par Joseph KAPOU 8


Etude et Conception d’un Serveur Vocal Interactif 2012

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

Mémoire présenté et soutenu par Joseph KAPOU 9


Etude et Conception d’un Serveur Vocal Interactif 2012

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

Mémoire présenté et soutenu par Joseph KAPOU 10


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Mémoire présenté et soutenu par Joseph KAPOU 11


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Mémoire présenté et soutenu par Joseph KAPOU 12


Etude et Conception d’un Serveur Vocal Interactif 2012

PREMIERE PARTIE

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.

Mémoire présenté et soutenu par Joseph KAPOU 13


Etude et Conception d’un Serveur Vocal Interactif 2012

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

Mémoire présenté et soutenu par Joseph KAPOU 14


Etude et Conception d’un Serveur Vocal Interactif 2012

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).

Mémoire présenté et soutenu par Joseph KAPOU 15


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Mémoire présenté et soutenu par Joseph KAPOU 16


Etude et Conception d’un Serveur Vocal Interactif 2012

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.).

Mémoire présenté et soutenu par Joseph KAPOU 17


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Mémoire présenté et soutenu par Joseph KAPOU 18


Etude et Conception d’un Serveur Vocal Interactif 2012

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 à

Mémoire présenté et soutenu par Joseph KAPOU 19


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Mémoire présenté et soutenu par Joseph KAPOU 20


Etude et Conception d’un Serveur Vocal Interactif 2012

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é

Mémoire présenté et soutenu par Joseph KAPOU 21


Etude et Conception d’un Serveur Vocal Interactif 2012

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

Mémoire présenté et soutenu par Joseph KAPOU 22


Etude et Conception d’un Serveur Vocal Interactif 2012

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

Mémoire présenté et soutenu par Joseph KAPOU 23


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Mémoire présenté et soutenu par Joseph KAPOU 24


Etude et Conception d’un Serveur Vocal Interactif 2012

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

Mémoire présenté et soutenu par Joseph KAPOU 25


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Mémoire présenté et soutenu par Joseph KAPOU 26


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Mémoire présenté et soutenu par Joseph KAPOU 27


Etude et Conception d’un Serveur Vocal Interactif 2012

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

Mémoire présenté et soutenu par Joseph KAPOU 28


Etude et Conception d’un Serveur Vocal Interactif 2012

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
Figure10
10::Dispositif
Dispositifsimulant
simulantleleréseau
réseaudedetéléphonie
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
Mémoire présenté et soutenu par Joseph KAPOU 29
Etude et Conception d’un Serveur Vocal Interactif 2012

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

Mémoire présenté et soutenu par Joseph KAPOU 30


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Mémoire présenté et soutenu par Joseph KAPOU 31


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Mémoire présenté et soutenu par Joseph KAPOU 32


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Mémoire présenté et soutenu par Joseph KAPOU 33


Etude et Conception d’un Serveur Vocal Interactif 2012

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

Mémoire présenté et soutenu par Joseph KAPOU 34


Etude et Conception d’un Serveur Vocal Interactif 2012

«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

Mémoire présenté et soutenu par Joseph KAPOU 35


Etude et Conception d’un Serveur Vocal Interactif 2012

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

Mémoire présenté et soutenu par Joseph KAPOU 36


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Mémoire présenté et soutenu par Joseph KAPOU 37


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Mémoire présenté et soutenu par Joseph KAPOU 38


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Mémoire présenté et soutenu par Joseph KAPOU 39


Etude et Conception d’un Serveur Vocal Interactif 2012

DEUXIEME PARTIE

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

Mémoire présenté et soutenu par Joseph KAPOU 40


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Mémoire présenté et soutenu par Joseph KAPOU 41


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Mémoire présenté et soutenu par Joseph KAPOU 42


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Mémoire présenté et soutenu par Joseph KAPOU 43


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Ces modules sont fournis sur plusieurs


Asterisk-sounds 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

Mémoire présenté et soutenu par Joseph KAPOU 44


Etude et Conception d’un Serveur Vocal Interactif 2012

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 »

Mémoire présenté et soutenu par Joseph KAPOU 45


Etude et Conception d’un Serveur Vocal Interactif 2012

Figure 14 : Configuration dans sip.conf

Mémoire présenté et soutenu par Joseph KAPOU 46


Etude et Conception d’un Serveur Vocal Interactif 2012

 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

Mémoire présenté et soutenu par Joseph KAPOU 47


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Mémoire présenté et soutenu par Joseph KAPOU 48


Etude et Conception d’un Serveur Vocal Interactif 2012

Cette page présente la configuration du serveur vocal

La page suivante présente la configuration des informations sur les départements

Mémoire présenté et soutenu par Joseph KAPOU 49


Etude et Conception d’un Serveur Vocal Interactif 2012

Les pages qui suivent mettent en évidence la configuration des départements


info_telecom et gestion.

Mémoire présenté et soutenu par Joseph KAPOU 50


Etude et Conception d’un Serveur Vocal Interactif 2012

Cette page met en exergue le transfert d’appel concernant le contact de l’administration


dans notre menu vocal.

Mémoire présenté et soutenu par Joseph KAPOU 51


Etude et Conception d’un Serveur Vocal Interactif 2012

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

Mémoire présenté et soutenu par Joseph KAPOU 52


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Mémoire présenté et soutenu par Joseph KAPOU 53


Etude et Conception d’un Serveur Vocal Interactif 2012

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

Mémoire présenté et soutenu par Joseph KAPOU 54


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Mémoire présenté et soutenu par Joseph KAPOU 55


Etude et Conception d’un Serveur Vocal Interactif 2012

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

Mémoire présenté et soutenu par Joseph KAPOU 56


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Figure 18 : Scénario de test


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 19 : Configuration du client X-lite

Mémoire présenté et soutenu par Joseph KAPOU 57


Etude et Conception d’un Serveur Vocal Interactif 2012

 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

Mémoire présenté et soutenu par Joseph KAPOU 58


Etude et Conception d’un Serveur Vocal Interactif 2012

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

Mémoire présenté et soutenu par Joseph KAPOU 59


Etude et Conception d’un Serveur Vocal Interactif 2012

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.

Mémoire présenté et soutenu par Joseph KAPOU 60


Etude et Conception d’un Serveur Vocal Interactif 2012

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

Mémoire présenté et soutenu par Joseph KAPOU 61


Etude et Conception d’un Serveur Vocal Interactif 2012

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

Mémoire présenté et soutenu par Joseph KAPOU 62


Etude et Conception d’un Serveur Vocal Interactif 2012

 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.

Mémoire présenté et soutenu par Joseph KAPOU 63


Etude et Conception d’un Serveur Vocal Interactif 2012

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));

Mémoire présenté et soutenu par Joseph KAPOU 64


Etude et Conception d’un Serveur Vocal Interactif 2012

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

Mémoire présenté et soutenu par Joseph KAPOU 65

Vous aimerez peut-être aussi