Twilio <gather>,numDigits =&#34; 3&#34;或按0 </gather>

时间:2013-08-01 18:00:49

标签: twilio twiml

我觉得这是一个简单的问题。也许它很简单,以前从未被问到过?我似乎无法找到答案或弄明白。

调用者呈现的第一个TwiML看起来像这样。

<Response>
    <Gather action="handle-extension.php" numDigits="3">
        <Play>greatings/maingreating.mp3</Play>
        <!-- Hello, if you know your party's 3 digit extenstion, please dial it at any time or press 0 for the directory. Otherwise, pelase hold while we find someone to take your call.  -->
    </Gather>
    <!-- If customer doesn't input anything, prompt and try again. -->
    <Redirect>handle-queue-main.php</Redirect>
</Response> 

呼叫者应该能够拨打3位数的分机,并且该信息应该传递给“handle-extension.php”。这样工作正常,但是......如果呼叫者为目录拨“0”,则只需等待另外2位数即可收集。

在搜索时,我确实发现显然你可以使用“&lt;”和“&gt;”在numDigits中如此:

<Gather action="handle-extension.php" numDigits="&lt; 3">

但是这给了我与原始代码相同的结果。

我想到的另一种解决方案是使用:

<Gather action="handle-extension.php" numDigits="3" finishOnKey="0">

但是这对于其中包含零的扩展不起作用(101向下一个脚本发送“1”,110发送“11”等)。

也许简单的解决方案是将目录扩展名更改为#,但坦率地说这不是我想要的。

有什么建议吗?我想做什么甚至可能?

感谢您的时间! :)

1 个答案:

答案 0 :(得分:2)

我不知道如何做到你想要做的事情。

话虽如此,你可以做两件简单的事情:

  • 要求客户在完成输入后使用#(使用finishOnKey属性)
  • 设置超时而不是位数

这些是我要探索的可能性。如果这个人输入的数字多于或少于3位数,我会用php检查处理输入来捕获它。

希望这会有所帮助。对不起,答案令人失望。