好的,我基本上就是这里的开始。我有一些代码可以调用我的手机,并且应该说" Tim正在测试系统"对我来说。
我的代码可以拨打电话。我在其中包含了一个我知道它可以访问的回调URL。当我运行回调代码时,它会输出" 蒂姆正在测试这个系统 " (显然没有引号)。
但是当我使用Twilio进行调用时出错了,当我看到调试器时,问题似乎是twilio看不到正文(我看到" No Body"在调试器输出中)
有谁知道我做错了什么?给我问题的代码是:
include(FCPATH . APPPATH . 'libraries/Twilio/Twilio.php');
include(FCPATH . APPPATH . 'libraries/Twilio/Twilio/Twiml.php');
$response = new Services_Twilio_Twiml;
$sayMessage = 'Tim is testing the system';
$response->say($sayMessage);
header('Content-Type: text/xml');
echo $response;
答案 0 :(得分:1)
TwiML看起来不错。
可能有多种原因。
Twilio应该公开提供返回TwiML的URL。本地托管的URL或内部网络URL无效。
将UrL公开是一种安全风险,但Twilio提供了一种方法,您可以使用该方法验证仅由Twilio对URL发出请求。如果它不是twilio,你可以立即拒绝请求。
https://www.twilio.com/blog/2009/08/new-feature-http-auth-for-twilio.html
您尝试在twilio帐户中调用的国家/地区可能未启用语音呼叫。 您需要登录twilio门户并导航到以下URL。 https://www.twilio.com/user/account/settings/international
您可以在此处为短信和语音呼叫启用/禁用国家/地区。检查是否在该页面中启用了您尝试拨打语音呼叫的国家/地区。如果没有,您可以启用它并再次尝试拨打语音电话。
正如我在评论中提到的,您可以在登录Twilio帐户后浏览https://www.twilio.com/console/voice/logs/calls来查看语音通话记录。您可以找到失败的语音呼叫,选择它将提供有关失败原因的详细信息。
如果出现错误12100 Document Parse Failure,您需要确保TwiMl字符串的开头和结尾以及XML声明和根元素之间没有多余的空格或换行符。