2017-09-19 2 views
2

Comment retourner l'entrée DTMF pendant la lecture du fichier vocal. J'exécute l'AGI à partir du plan de numérotation Asterisk et à partir du fichier vxml je veux retourner le DTMF collecté. Voici mon VXMLRécupération des données du plan de numérotation VXML vers Asterisk

<?xml version="1.0" encoding="UTF-8"?> 
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml"> 
<form id="top"> 
    <property name="inputmodes" value="dtmf"/> 
    <field name="mydigits" type="digits?maxlength=1"> 
    <prompt> 
     <audio type="audio/basic" src="http://127.0.0.1/soundfiles/mysound.wav"/>  
    </prompt> 
    <grammar mode="dtmf" version="1.0"> 
    <rule id="digit" scope="public"> 
    <one-of>  
     <item> 1 </item> 
     <item> 2 </item> 
     <item> 3 </item>  
    </one-of> 
    </rule> 
    </grammar>  
    </field> 
    <filled mode="any">  
    <return namelist="mydigits"/> 
    </filled> 
</form> 
</vxml> 

je lis que de mon plan de numérotation astérisque comme: -

;;this will call the local hosted vxml file above  
    exten => 1,n,Agi(agi://127.0.0.1/url=${vxmlurl}) 


;;try to read the data set at vxml file.  
exten => 1,n,Verbose(0, "got mydigits ${mydigits} !") 

Mais qu'il ne soit pas autre chose que vide à la variable du plan de numérotation Asterisk.
Une idée de ce qui me manque là?

Répondre

0

Utilisez-vous Voximal? Si vous souhaitez renvoyer une valeur de Voical au Dialplan, la manière la plus simple est d'utiliser tag like. La valeur passera au canal contextuel du dialplan avec la variable VOXIMAL_RESULT.

0

BINGO. J'ai été capable de le passer via l'élément de sortie.

Et j'ai été en mesure de l'obtenir à partir du plan de numérotation astérisque.

Aussi je suis en utilisant le Voiceglue

dans mon plan de numérotation

exten => 1,n(PLAYAGI),Agi(agi://127.0.0.1/url=${vxmlurl}) 
exten => 1,n,Verbose(0, "got mydigits ${mydigits} !") 

dans mes vmxl mydigits contient l'entrée DTMF par l'appelant.

<exit namelist="mydigits"/> 

interprète vmxl prendre soin du reste du travail et il définit à la variable Asterisk pour que je puisse accéder comme variables normales $ {} mydigits