【问题标题】:Retrunning data from VXML to Asterisk dialplan将数据从 VXML 重新运行到 Asterisk 拨号方案
【发布时间】:2017-09-19 06:34:46
【问题描述】:

如何在语音文件播放过程中返回 DTMF 输入。 我正在从 Asterisk 拨号计划和要返回收集的 DTMF 的 vxml 文件执行 AGI。 这是我的 vxml

<?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>

我从我的星号拨号计划中读到:-

;;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} !")

但除了 Asterisk 拨号计划变量为空之外,它什么都没有。
知道我错过了什么吗?

【问题讨论】:

    标签: asterisk sip voip vxml


    【解决方案1】:

    您在使用 Voximal 吗? 如果你想从 Voximal 返回一个值到 Dialplan,最简单的方法是使用标签 like 。 该值将通过变量 VOXIMAL_RESULT 传递到拨号方案上下文通道。

    【讨论】:

      【解决方案2】:

      宾果游戏。我能够通过退出元素传递它。

      我能够从星号拨号计划中获得它。

      我也在使用 Voiceglue

      在我的拨号计划中

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

      在我的 vmxl mydigits 中包含调用者输入的 DTMF。

      <exit namelist="mydigits"/>
      

      vmxl 解释器负责其余的工作并将其设置为 Asterisk 变量,以便我可以作为普通变量访问 ${我的数字}

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-02-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-22
        相关资源
        最近更新 更多