Mise en place du SVI
Source : http://tsrit.unblog.fr/2014/06/04/tuto-svi-sous-xivo/
Ou sont les fichiers sons ?
Musiques d'attente :
Les musiques d'attentes peuvent être gérées directement par interface graphique sur :
Le repertoire default est le répertoire xivo original. Nous pouvons créer un autre répertoire, ici a été créé le repertoire attente , grâce au "+" en haut à gauche:

Ce répertoire contient les musiques d'attente qui seront jouées de façon aléatoire lors l'appelant sera en attente.
Ici : Musique-attente-CCP.10min.wav

Ces musiques d'attente peuvent tout a fait faire office d'offre promotionnelles en fonction des listes d'attente.
TODO : Voir avec Philemon si on peut faire un RAZ du répertoire default.
Pour info, les fichiers sons sont dans :
/var/lib/asterisk/moh
Fichiers voix (annonces):
Les fichiers voix originaux sont dans
/var/lib/xivo/sounds/svi/fr_FR pour le svi français.
Comment fonctionne le SVI ?
-> S'en inspirer si modifications a apporter.
Le SVI se présente sous la forme d'un fichier de configuration.
Le fichier de configuration utilisé dans notre cas est :
/etc/asterisk/extensions_extra.d/svi-ccp-demo.conf
[svi-ccp-prenat]
exten = s,1,NoOp(### selection de la langue en fonction du prefixe national ###)
same = n,NoOp(XIVO_SRCNUM=${XIVO_SRCNUM})
same = n,Set(PRENAT=${XIVO_SRCNUM:0:2})
same = n,NoOp(PRENAT=${PRENAT})
;same = n,Gotoif($[${PRENAT}=06]?pt)
same = n,NoOp(Destination fr par défaut)
same = n(fr),Goto(svi-ccp-fr,s,1)
;same = n(pt),Goto(svi-ccp-pt,s,1)
[svi-ccp-fr]
exten = s,1,NoOp(### svi fr camping car park ###)
same = n,Set(CHANNEL(language)=fr_FR)
same = n,Set(Langage=${CHANNEL(language)})
same = n,NoOp(Set the directory containing your ivr sounds)
same = n,Set(GV_DIRECTORY_SOUNDS=/var/lib/xivo/sounds/svi/${Langage})
same = n,NoOp(the system answers the call and waits for 1 second before continuing)
same = n,Answer(1000)
;same = n,DumpChan()
same = n,NoOp(the system plays the first part of the audio file "welcome to ...")
same = n(first),Playback(${GV_DIRECTORY_SOUNDS}/Message1)
same = n,Playback(${GV_DIRECTORY_SOUNDS}/Message4)
same = n,NoOp(variable "counter" is set to 0)
same = n(beginning),Set(counter=0)
same = n,NoOp(variable "counter" is incremented and the label "start" is defined)
same = n(start),Set(counter=$[${counter} + 1])
same = n,NoOp(counter variable is now = ${counter})
same = n,NoOp(waiting for 1 second before reading the message that indicate all choices)
same = n,Wait(1)
same = n,NoOp(play the message ivr-example-choices that contain all choices)
same = n,Background(${GV_DIRECTORY_SOUNDS}/Message3)
same = n,NoOp(waiting for DTMF during 5s)
same = n,Waitexten(5)
;##### CHOICE 1 #####
exten = 1,1,NoOp(pressed digit is 1, redirect to queue FR-ASSCLT in default context)
exten = 1,n,Goto(default,100,1)
;##### CHOICE 2 #####
exten = 2,1,NoOp(pressed digit is 2, redirect to queue FR-RENSEIGNT in default context)
;##### CHOICE 3 #####
exten = 3,1,NoOp(pressed digit is 3, redirect to first label in this context)
exten = 3,n,Goto(s,start)
;##### TIMEOUT #####
exten = t,1,NoOp(no digit pressed for 5s, process it like an error)
exten = t,n,Goto(i,1)
;##### INVALID CHOICE #####
exten = i,1,NoOp(if counter variable is 3 or more, then goto label "error")
exten = i,n,GotoIf($[${counter}>=3]?error)
exten = i,n,NoOp(pressed digit is invalid and less than 3 errors: the guide ivr-exemple-invalid-choice is now played)
exten = i,n,Playback(${GV_DIRECTORY_SOUNDS}/Message6)
exten = i,n,Goto(s,start)
exten = i,n(error),Playback(${GV_DIRECTORY_SOUNDS}/Message6)
exten = i,n,Playback(${GV_DIRECTORY_SOUNDS}/Message15)
exten = i,n,Hangup()
[svi-ccp-pt]
exten = s,1,NoOp(###### 06 ######)
same = n,Set(CHANNEL(language)=pt_PT)
same = n,NoOp(redirect to queue PT-ASSCLT in default context)
same = n,Goto(default,105,1)
C'est du code asterisk, il peu s'éditer dans la fenêtre d'administration Xivo ou bien directement dans vim
Un svi peut être affecté à un SDA, cela signifie que chaque numéro appelé peut avoir son propre SVI
Le Svi s'affecte par une commande.
Ici, :
Goto(svi-ccp-prenat,s,1)
Le SVI pointe dans un premier temps vers le fichier de conf, et ensuite exécute la fonction svi-ccp-prenat

Pas de commentaires