我正在使用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>
谢谢!
答案 0 :(得分:3)
这个问题是由我用来测试无法识别输入的无绳电话引起的。更换手机“解决了”这个问题。
答案 1 :(得分:3)
<Gather>
通过聆听手机或设备产生的DTMF声音来工作。让你难以听到另一端人说的话也会让Twilio难以识别DTMF音调。移动电话接收不良,背景噪音过大或连接有很多静电都会导致<Gather>
难以识别数字印刷机。
此外,VoIP电话可以安装非标准的DTMF音调,Twilio也很难识别。 VoIP电话也可能使用相当强的压缩,这可能会干扰DTMF。在任何一种情况下,咨询电话手册或安装手机的人通常都是下一步。
基于浏览器或基于应用程序的VoIP,如Skype或Google Voice,由于与VoIP电话相同的原因,有时也会遇到<Gather>
的问题。
Twilio的<Gather>
问题排查链接:http://www.twilio.com/docs/api/twiml/gather#troubleshooting
答案 2 :(得分:1)
'action'属性将绝对或相对URL作为值。
从查看文档看,action属性似乎只能包含“/page.php”或“page.php”。您需要删除协议和主机部分。所以:
<Gather action="/twilio/process_response.php" method="post" numDigits="1" timeout="3">
答案 3 :(得分:0)
我遇到了同样的问题。
后来,我发现这个问题在追加 finishOnKey 后消失了,即#
或任何其他'custom finishOnKey'
答案 4 :(得分:0)
面对同样的问题。 追加finishOnKey也不起作用。
我的解决方案是使用语音识别(input =“ speech”),即不使用DTMF,这不够可靠。