【问题标题】:Twilio - Dial with Record attribute errorTwilio - 拨号记录属性错误
【发布时间】:2015-12-03 06:29:37
【问题描述】:

我正在使用 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


    【解决方案1】:

    听起来,当 Twilio 向您的操作 URL 发出请求时,您的响应不包含任何 TwiML。如果要继续通话,您应该添加一些 Twiml - 可能只是一个 &lt;Hangup&gt;,或者甚至是一个空的 &lt;Response/&gt;。请参阅 &lt;Dial&gt; on Twilio's website 的文档。

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,这就是我解决它的方法。只需将此标头添加到您的 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>';
      

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

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

      【讨论】:

        猜你喜欢
        • 2018-08-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多