Sie könnten dies tun, indem StatusCallBack
nutzen, etwas wie folgt aus:
$sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
$token = "your_auth_token";
$client = new Services_Twilio($sid, $token);
$call = $client->account->calls->create("+18668675309", "+14155551212", "http://demo.twilio.com/docs/voice.xml", array(
"Method" => "GET",
"IfMachine"=>"Hangup",
"StatusCallback" => "https://www.myapp.com/check_call_status.php",
"StatusCallbackMethod" => "POST"
));
StatusCallBack: eine URL, die Twilio asynchrone Webhook Anfragen bei jedem Aufruf Ereignis im StatusCallbackEvent Parameter angegeben schicken . Wenn kein Ereignis vorhanden ist, sendet Twilio den Standardcode . Wenn ein ApplicationSid-Parameter vorhanden ist, wird dieser Parameter ignoriert. URLs müssen einen gültigen Hostnamen enthalten (Unterstriche sind nicht zulässig).
Also in Ihrem StatusCallBack URL (https://www.myapp.com/check_call_status.php) würden Sie eine gewisse Logik haben, um zu bestimmen, ob der Anruf beantwortet wurde, und wenn es von einem Menschen nicht ein Anrufbeantworter beantwortet. Ihr StatusCallBack-Endpunkt würde etwa so aussehen:
<?php
if($_REQUEST['CallStatus'] == 'no-asnwer' || $_REQUEST['AnsweredBy'] == 'machine'){
// call again!
$sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
$token = "your_auth_token";
$client = new Services_Twilio($sid, $token);
$call = $client->account->calls->create("+18668675309", "+14155551212", "http://demo.twilio.com/docs/voice.xml", array(
"Method" => "GET",
"IfMachine"=>"Hangup",
"StatusCallback" => "https://www.myapp.com/check_call_status.php",
"StatusCallbackMethod" => "POST"
));
}