首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VXML使用输入进行传输。

VXML使用输入进行传输。
EN

Stack Overflow用户
提问于 2016-12-12 10:12:32
回答 1查看 375关注 0票数 0

我正在尝试获取用户输入(国家代码+电话号码),以便在稍后使用transfer元素时调用它。

我的问题发生在传输元素上,它刚刚挂断。我不知道如何调试它们。我在用NEXMO作为提供者。我事先搜索并尝试了很多东西,包括分别测试每个函数(这是有效的!)

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.1">
   <property name="inputmodes" value="dtmf" />
   <form id="get_mobile_number">
      <field name="mobileno" type="digits?minlength=7;maxlength=13">
         <prompt>
            <prosody rate="slow"> please enter your 7 to 13 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 7 to 13 digit mobile number !</prompt>
            <reprompt/>
         </noinput>
         <catch event="noinput nomatch" count="3">
            <prompt>Please try again later. Good bye.</prompt>
            <exit/>
         </catch>
         <filled>
            <goto next="#call_number"/>
         </filled>
      </field>
   </form>

   <form id="call_number">
      <transfer name="result" destexpr="'tel:+'+ mobileno" bridge="true">
         <prompt>Please wait while we transfer you.</prompt>
         <grammar xml:lang="en-US" root = "TOPLEVEL" mode="voice">
            <rule id="TOPLEVEL" scope="public">
               <one-of>
                  <item> disconnect </item>
               </one-of>
            </rule>
         </grammar>
      </transfer>
      <filled>
         <if cond="result == 'busy'">
            <prompt>Sorry, they're busy.</prompt>
            <elseif cond="result == 'noanswer'" />
            <prompt>Sorry, they didn't answer.</prompt>
            <else />
            <prompt>
               You spoke for <value expr="result$.duration" /> seconds.
            </prompt>
         </if>
         <if cond="result$.inputmode == 'voice'">
            You ended the call by saying,<value expr="result$.utterance" />.
         </if>
      </filled>
   </form>
</vxml>

有人知道这是怎么回事吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-23 12:40:41

从表面上看,逻辑似乎是正确的。

要调试这一点,我建议只运行表单call_number (没有表单get_mobile_number),并在表单'call_ number‘中输入实际数字而不是+ mobileno。然后你就会知道这个电话是否真的经过了。

如果它仍然没有通过,那么您可能必须按照提供者所期望的那样处理正确的格式(它可能不是VXML错误)。

或者,您只需检查IVR日志,并查看正在拨号的号码(如果您能够识别任何明显的错误本身)

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

https://stackoverflow.com/questions/41098452

复制
相关文章

相似问题

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