【问题标题】:VXML DTMF get input from callerVXML DTMF 从调用方获取输入
【发布时间】:2012-02-13 17:24:25
【问题描述】:

平台:sandbox testing place

我想再添加一套sn-p集

下面的sn-p会从来电者那里获取手机号码,并将来电者输入的号码发布到另一个页面,代码工作正常,

但我想检查表中的那个号码并拉出“输入的电话号码详细信息”,即在 contact_tbl 中保存电话号码、名字、姓氏、地址, 现在我想提取给定电话号码的这些详细信息。

<?php
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
?>
<vxml version = "2.1">
  <meta name="maintainer" content="your_email_address@wherever.com"/>

  <property name="inputmodes" value="dtmf" />
  <form id="get_mobile_no">
    <field name="mobileno" type="digits?minlength=10;maxlength=10">
      <prompt>
        <prosody rate="slow"> please enter your 10 digit mobile number !</prosody>
      </prompt>
      <!--INVALID-->
      <nomatch count = "1">
        <prompt>
          <prosody rate="slow"> Is that a number? Please try again. </prosody>
        </prompt>
        <reprompt/>
      </nomatch>
      <!--TIMEOUT-->
      <noinput count = "1">
        <prompt>Again, please enter your 10 digit mobile number !</prompt>
        <reprompt/>
      </noinput>
      <catch event="noinput nomatch" count="3">
      <prompt>Please try again later. Good bye.</prompt>
      <exit/> </catch>
      <filled>
        <prompt>
          <prosody rate="slow"> you said
            <value expr="mobileno"/>
            ! Thanks for calling, you may now hang up.</prosody>
        </prompt>
      </filled>
    </field>
    <block name="sendData">
      <prompt>Entering   entering...</prompt>
      <submit next="get_dtmf_ip.php" namelist="mobileno" method="post" />
    </block>
  </form>
</vxml>

示例 VXML ivr 应用程序,它从用户获取输入并播放呼叫者输入的号码。

下面的代码工作正常,但是当我删除语法标签时,它会播放一些错误代码,我无法跟踪该错误代码。

现在我想做一点改变,那个用户可以输入多个数字。

来电者必须输入他们的手机号码。

如何更改代码以接受多个号码。

<?php
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
?>
<vxml version = "2.1">
      <meta name="maintainer" content="your_email_address@wherever.com"/>
    <form id="guessNumber">
        <field name="guess">
          <grammar type="text/gsl">
            [dtmf-1 dtmf-2 dtmf-3 dtmf-4 dtmf-5 dtmf-6 dtmf-6 dtmf-7 dtmf-8 dtmf-9]
          </grammar>
          <prompt>
            <prosody rate="slow">
Guess what the computer is thinking! Pick a number between 0 and 9.
            </prosody>
          </prompt>
          <nomatch>
            <prompt>
              <prosody rate="slow">
Is that a number? Please try again.
              </prosody>
            </prompt>
            <reprompt/>
          </nomatch>
          <filled>
            <prompt>
              <prosody rate="slow">
you said
                <value expr="guess"/>
                !
              </prosody>
            </prompt>
          </filled>
        </field>
      </form>
      </vxml>

【问题讨论】:

    标签: xml ivr vxml


    【解决方案1】:

    这个问题有点老了,但对于未来的读者......

    很难说出你在问什么。要允许多于一位,请将语法更改为:

    <grammar version="1.0" xml:lang="en-US" root="keypress" 
             mode="dtmf" scope="document">
        <rule id="keypress" scope = "public">
          <one-of>
              <item> 1 </item>
              <item> 2 </item>
              <item> 3 </item>
              <item> 4 </item>
              <item> 5 </item>
              <item> 6 </item>
              <item> 7 </item>
              <item> 8 </item>
              <item> 9 </item>
              <item> 0 </item>
          </one-of>
        </rule>
    </grammar>
    

    然后使用以下命令指定位数:

    <field name="guess" type="digits?length=2" >
    

    但是,如果您询问如何从调用者那里获得多个响应,只需将第二个字段元素添加到表单中,如下所示:

    <form id="guessNumber">
        <field name="guess1" type="digits?length=1" >
            <prompt>
                Guess what the computer is thinking! Pick a number between 0 and 9.
            </prompt>
        </field>
    
        <field name="guess2" type="digits?length=1" >
            <prompt>
                Guess what the computer is thinking now! Pick a number between 0 and 9.
            </prompt>
            <filled>
                You guessed <value expr="guess1"> and <value expr="guess2">.
            </filled>
        </field>
    </form>
    

    为了清晰起见,nomatch 和 prosody 元素删除了它们。它们可以重新添加。

    【讨论】:

    • 请输入你的10位手机号码那是怎么解决的? .如何输入 10 dtmf 并发送该数字怎么做?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多