首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VXML DTMF从调用方获取输入

VXML DTMF从调用方获取输入
EN

Stack Overflow用户
提问于 2012-02-14 01:24:26
回答 1查看 6.7K关注 0票数 2

平台:sandbox testing place

我想再添加一个代码段集

下面的代码片段将从呼叫者那里获取手机号码,并将呼叫者输入的号码发布到另一个页面,Code working fine,

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

代码语言:javascript
复制
<?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应用程序从用户获得输入,并播放呼叫者输入的号码。

下面的代码运行良好,但当我删除语法标签时,它播放了一些错误代码,我无法跟踪该错误代码。

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

呼叫者必须准确地输入他们的手机号码。

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

代码语言:javascript
复制
<?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>
EN

回答 1

Stack Overflow用户

发布于 2012-10-05 04:58:34

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

很难说你在问什么。要允许多个数字,请将语法更改为:

代码语言:javascript
复制
<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>

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

代码语言:javascript
复制
<field name="guess" type="digits?length=2" >

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

代码语言:javascript
复制
<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和韵律元素删除了它们。它们可以重新添加进来。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9264962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档