Académique Documents
Professionnel Documents
Culture Documents
REPUBLIQUE DU SENEGAL
---------------------
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
Pour l’obtention de :
Option :
TELECOMMUNICATIONS ET RESEAUX
Dédicace
A MES PARENTS
A qui
A LA MESM
Continu D’Œuvrer, Au
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.
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 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 ».
Avant-propos
Abstract
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.
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
Table de figures
Table de tableaux
Introduction
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.
PREMIERE PARTIE
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.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.).
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.
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.
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.
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.
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
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.
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.
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.
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
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
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
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.
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.
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.
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.
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
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.
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.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.
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.
DEUXIEME PARTIE
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).
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.
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.
Exemple : Création des comptes clients : nous avons créé des comptes dans avec deux
« context » que sont « estm et mesm »
L’inclusion d’un contexte dans un autre permet aux utilisateurs de ces différents
contextes de pouvoir communiquer.
wget http://tcts.fpms.ac.be/synthesis/mbrola/dba/ca2/ca2.zip
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.
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.
Bibliographie
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
Glossaire
Annexe
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));
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