Overblog Tous les blogs Top blogs Technologie & Science Tous les blogs Technologie & Science
Editer l'article Suivre ce blog Administration + Créer mon blog
MENU
Aquila Networks : Sécurité & Réseaux Étudiant en Master SSI à l'ESMT

SVI-Serveur-Vocal-Interactif

El Hadji Diakhate
Mise en place du SVI (Serveur Vocal Interactif)

Dans cette partie, nous allons configurer un système de Serveur Vocal Interactif (SVI) avec Asterisk.
Ce système permet d’interagir avec les utilisateurs via un menu vocal et de rediriger automatiquement les appels selon les choix effectués.

 1. Introduction

Le Serveur Vocal Interactif (SVI) est un système permettant d’interagir automatiquement avec un utilisateur via la voix ou les touches du téléphone (DTMF).

Dans notre projet, le SVI est implémenté avec Asterisk et permet :

  • d’accueillir l’utilisateur
  • de proposer un menu vocal
  • de rediriger les appels selon les choix

 

2. Architecture du SVI

Le système repose sur :

  • Serveur Asterisk
  • Script vocal via Google Text-to-Speech
  • Clients SIP (MicroSIP, Zoiper)
 Fonctionnement :
  1. L’utilisateur appelle 5081
  2. Le SVI joue un message vocal
  3. L’utilisateur appuie sur une touche
  4. Le système redirige l’appel

 3. Installation des dépendances


 
 
# apt-get install perl libwww-perl sox mpg123

 

# apt install sox libsox-fmt-mp3 -y

 

 Ces outils permettent :

  • conversion audio
  • lecture des fichiers MP3
  • interaction avec le script vocal

 4. Installation du module Google TTS

 
# cd /var/lib/asterisk/agi-bin
# wget https://raw.github.com/zaf/asterisk-googletts/master/googletts.agi
 


# chmod +x googletts.agi

# chown asterisk:asterisk /var/lib/asterisk/agi-bin/googletts.agi
# chown -R asterisk:asterisk /var/lib/asterisk/sounds/
# chmod 1777 /tmp/
 

 

Le script googletts.agi permet de transformer du texte en message vocal en utilisant Google Text-to-Speech.


 5. Configuration du Dialplan (extensions.conf)

Modifiez le fichier de configuration :

# vim /etc/asterisk/extensions.conf

 

 

6 Rechargement de la configuration

Accédez à la console Asterisk :

# asterisk -rvvvvv
 

Puis rechargez :

> dialplan reload
 

7 Test du SVI

Pour tester le système, utilisez un client SIP :

  • MicroSIP
  • Zoiper
Étapes :
  1. Configurer un compte SIP (1000 ou 1001)
  2. Appeler le numéro 5081
  3. Écouter le message vocal
  4. Appuyer sur :
    • 1 → appel vers 1000
    • 2 → appel vers 1001
 

8 Problème rencontré et solution

Problème

Lors du test, le SVI commence directement par le message :

"Pour Fatou appuyez sur la touche 2"

et ignore les premières phrases.

Solution

Modifiez le fichier :

vim /etc/asterisk/extensions.conf

 Remplacez toutes les occurrences de gtts.agi par : googletts.agi

 

 

 

;SVI

exten => 5081,1,Answer();On met un timeout de 10 secondes pour le choix du destinatire
exten => 5081,2,Set(TIMEOUT(response)=10)
exten => 5081,3,AGI(googletts.agi,"Bienvenues à ESMT",fr,any)
exten => 5081,4,AGI(googletts.agi,"Vous êtes dans le serveur Vocal Interactif de L'ESMT !",fr,any)
exten => 5081,5,AGI(googletts.agi,"Pour joindre Saher appuyez sur la touche 1",fr,any)
exten => 5081,6,AGI(googletts.agi,"Pour Fatou appuyez sur la touche 2",fr,any)
exten => 5081,7,AGI(googletts.agi,"Appuyez sur la touche diese pour reecouter le
message",fr,any)
;On attend que l'utilisateur appuis sur une touche
exten => 5081,8,WaitExten()
exten => 1,1,Goto(1000,1)
exten => 2,1,Goto(1001,1)
;Si l'utilisateur tape un numéro compris entre 3 et 9 et # il retourne à l'étape 3 de l'IVR
exten => _[3-9#],1,Goto(5081,3)
;Si l'utilisateur ne fait rien il retourne à l'étape 3 de l'IVR au bout de 10 secondes.
exten => t,1,Goto(5081,3)
 

9 Chargement des modules Asterisk

Si nécessaire, chargez les modules suivants :

> module load func_timeout.so
> module load res_speech.so
> module load res_agi.so
Vérification :

> module show like timeout
> module show like speech

 

 

10 Rechargement de la configuration

 

Accédez à la console Asterisk :

# asterisk -rvvvvv
 

Puis rechargez :

> dialplan reload
> core reload
Test du SVI

Pour tester le système, utilisez un client SIP :

  • MicroSIP
  • Zoiper
Étapes :
  1. Configurer un compte SIP (1000 ou 1001)
  2. Appeler le numéro 5081
  3. Écouter le message vocal
  4. Appuyer sur :
    • 1 → appel vers 1000
    • 2 → appel vers 1001

 

 

 

 

11 Conclusion

La mise en place d’un SVI avec Asterisk permet de créer un système interactif capable d’automatiser la gestion des appels.

En combinant la VoIP, la synthèse vocale et l’interaction utilisateur, cette solution constitue une base solide pour le développement de services à valeur ajoutée (SVA).

 

 

Pour être informé des derniers articles, inscrivez vous :
Commentaires