4

我正在使用 twilio 呼叫用户,但无法收集用户输入。最初的呼叫工作正常,但是当我按 1 或 3 时,似乎什么都没有发生,并且在 3 秒暂停后,它继续进行。

//This works fine, I can call and hear the options being read.
<?php
  header("content-type: text/xml");
  echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
?>
<Response>
  <Gather action="https://mydomain.com/twilio/process_response.php" method="post" numDigits="1" timeout="3">
    <Say>I can hear this.</Say>
    <Say>Press 1.</Say>
    <Say>Press 3.</Say>
   </Gather>
<Say>It looks like you didn't select an option.</Say>
</Response>

响应 - https://mydomain.com/twilio/process_response.php

<?php 
 header("content-type: text/xml");
 echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
?>
<Response>
<Say>I should hear this, but I dont...</Say>
</Response>

谢谢!

4

5 回答 5

3

这个问题是由我用来测试的无绳电话无法识别输入引起的。更换手机“解决”了这个问题。

于 2011-05-02T19:21:30.537 回答
3

<Gather>通过收听您的手机或设备产生的DTMF声音来工作。使您难以听到另一端的人在说什么的事情也会使 Twilio 难以识别 DTMF 音调。手机信号接收不良、背景噪音过大或连接有大量静电都可能导致难以<Gather>识别数字按压。

此外,VoIP 电话可以默认安装非标准 DTMF 音调,Twilio 也将难以识别。VoIP 电话也可能使用相当强的压缩,这会干扰 DTMF。在任何一种情况下,查阅手机手册或安装手机的人通常是一个很好的下一步。

基于浏览器或应用程序的 VoIP,如 Skype 或 Google Voice,有时也会<Gather>因为 VoIP 电话出现问题的原因而出现问题。

Twilio 的<Gather>故障排除链接:http ://www.twilio.com/docs/api/twiml/gather#troubleshooting

于 2012-03-01T14:08:55.237 回答
1

'action' 属性采用绝对或相对 URL 作为值。

从查看他们的文档来看,action 属性似乎只能包含“/page.php”或“page.php”。您需要删除协议和主机部分。所以:

<Gather action="/twilio/process_response.php" method="post" numDigits="1" timeout="3">
于 2011-04-23T06:50:09.907 回答
0

我遇到了同样的问题。
后来,我发现这个问题在附加finishOnKey ie #
或任何其他'custom finishOnKey'后消失了

于 2016-08-23T19:23:50.127 回答
0

面临同样的问题。附加 finishOnKey 也不起作用。

我的解决方案是使用语音识别(input="speech"),即不使用DTMF,它不够可靠。

于 2020-09-10T07:09:11.820 回答