我正在使用其余 api 创建呼叫-
try{
// Initiate a new outbound call
$call = $this->client->calls->create(
// to call.
"num2",
// Step 5: Change the 'From' number below to be a valid Twilio number
// that you've purchased or verified with Twilio.
"num1",
array("url" => "url-tw",
'IfMachine'=>'Continue')
);
echo "Started call: " . $call->sid;
} catch(Exception $e){
echo "Error: " . $e->getMessage();
}
在 url-tw 上我应该使用什么 twiml 来无法断开呼叫。
在我使用 TwiML 处理呼叫之前,但现在我必须检测 AnsweredBy 选项,该选项仅在我使用 REST API 进行呼叫时才可用。
现在我使用的 twiml 与我之前使用 twiML 拨打电话时使用的相同,例如使用<Dial>
这让我再次拨号,但如果我不使用任何 twiml,它就会断开通话。所以任何建议我哪里出错了。
Twilio 传道者在这里。
的价值url
参数应该是一个可公开访问的 URL,返回TwiML https://www.twilio.com/docs/api/twiml/your_response包含您希望 Twilio 对调用者执行的指令。
启动调用的 PHP 如下所示:
// Initiate a new outbound call
$call = $this->client->calls->create(
"num2",
"num1",
array("url" => "http://example.com/answer.php", 'IfMachine'=>'Continue')
);
Then in answer.php
,你可以做两件事:
- 检查AnsweredBy https://www.twilio.com/docs/api/rest/making-calls#handling-outcomes-answering-machines-continuing参数来查看 Twilio 是否检测到机器或人类。
- 根据该值生成您想要返回的 Twiml
例如,要表达与机器和人类不同的东西,您可以在 PHP 中执行以下操作:
<?php
header("content-type: text/xml");
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
?>
<?php if ($_REQUEST['AnsweredBy']=='machine'): ?>
<Response>
<Say>Hello machine</Say>
</Response>
<?php else: ?>
<Response>
<Dial>+15555555555</Dial>
</Response>
<?php endif ?>
希望有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)