Twilio-带有记录属性的拨号错误



我正在使用twimlbin服务来测试一个简单的Twilio xml:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say>This call may be recorded for quality purposes</Say>  
<Dial record="true" action="http://testmyapp.ca/sendmail.php" method="GET">
    555-404-3200
</Dial>
</Response>

在动作url上,我收到录音的url和持续时间,并给自己发了一封电子邮件。一切都很顺利,电子邮件已经发送,但电话上的语音显示出现了应用程序错误。该错误为12100错误(http://www.twilio.com/docs/errors/12100)。从调试器服务中,我得到了"文档第1行错误:文件过早结束。请确保响应主体是有效的XML文档。"我除了从php文件发送电子邮件外,什么都没做——我应该从php文件返回对Twilio的响应吗?我已经注释掉了sendmail.php的任何输出。我收到了带有我期望的GET参数的电子邮件,但语音仍然显示出现了应用程序错误。非常感谢您的帮助。

听起来,当Twilio向您的操作URL发出请求时,您的响应不包含任何TwiML。如果要继续调用,您应该添加一些Twiml-可能只添加一个<Hangup>,甚至可以添加一个空的<Response/>。请参阅Twilio网站上的<Dial>文档。

我遇到了同样的问题,下面是我解决它的方法。只需将此标头添加到mail.php文件中即可:

<?php
/**
 * This section ensures that Twilio gets a response.
 */
header('Content-type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<Response></Response>'; //Place the desired response (if any) here.

就是这样。没有必要做出回应。在这个标题之后,是发送电子邮件的部分。

我在某个地方读到你需要一个朝鲜文回复。没有必要。此外,我应该提到我的mail.php文件以这样一行结尾

echo '</Response>';

我刚刚删除了那行。这是没有必要的。

我希望这能帮助其他遇到同样问题的人。

相关内容