ini_set('max_execution_time', 3000);
require 'Services/Twilio.php';
$version = "2010-04-01";
$sid = 'xxxxxx';
$token = 'xxxxxx';
$phonenumber = 'xxxxxxxxxx';
$client = new Services_Twilio($sid, $token, $version);
try {
$call = $client->account->calls->create($phonenumber, "3104200693", "http://demo.twilio.com/docs/voice.xml", array(
"Method" => "GET",
"StatusCallback" => "http://localhost/twilio/call-response.php",
"StatusCallbackMethod" => "GET",
"StatusCallbackEvent" => array("initiated", "ringing", "answered", "completed"),
"IfMachine" => "Continue",
));
//header("Location: http://localhost/twilio/call-response.php");
} catch (Exception $e) {
echo 'Error: ' . $e->getMessage();
}
这是我拨打号码的twilio代码,我用这个成功呼叫,但我想将响应存储在数据库中,如是否已完成呼叫,如果已接听,则接听人员或机器的电话。
请帮忙。
答案 0 :(得分:1)
Twilio服务器将向StatusCallback
指定的URL发送HTTP请求。很明显,希望Twilio无法联系到您的localhost
。 1)您的计算机可能无法从网络外部实际访问,2)localhost
对每个人来说都是不同的。
您需要提供可从互联网公开访问的网址。这意味着您需要在服务器中运行代码,或者使用http://ngrok.com之类的服务在开发期间建立到本地计算机的隧道。
答案 1 :(得分:0)
我不认为"StatusCallback" => "http://localhost/twilio/call-response.php"
会让你得到电话回复。你应该给一个服务器URL。
例如
"StatusCallback" => "http://example.com/twilio/call-response.php"
在 call-response.php 中,
<?php
file_put_contents(__DIR__."/status_log.txt", json_encode($_REQUEST));
// twilio call status and other sata will be written to this file. Please check this file after call.
// I am giving because i dont know correct twilio returning params
?>