我想向用户发出本地呼叫,直到用户应答呼叫为止(递归呼叫)。如果在语音邮件的情况下比也这样做。是否可以在我的iOS应用程序中使用Twilio
。
我也想知道电话是人还是机接听的。
如果可以,请给我建议一些解决方案。
最佳答案
您可以利用StatusCallBack
这样的方式来实现:
$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:Twilio将发送异步Webhook的URL
对StatusCallbackEvent中指定的每个呼叫事件的请求
参数。如果没有事件,Twilio将发送完成
默认。如果存在ApplicationSid参数,则此参数为
忽略了。网址必须包含有效的主机名(下划线不是
允许)。
因此,在您的StatusCallBack URL(https://www.myapp.com/check_call_status.php)中,您将具有一些逻辑来确定呼叫是否已应答以及是否由非应答机的人员应答。您的StatusCallBack端点将如下所示:
<?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"
));
}
关于ios - 在iOS应用程序中使用twilio同时向用户发出调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37965345/