【发布时间】:2021-01-14 07:11:50
【问题描述】:
我正在创建一个基于 Twilio 的应用程序,如果未接听电话,它将接收语音邮件。
目前,我已经在控制台中针对电话号码设置了来电 URL。
<?php
header('content-type: text/xml');
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
error_reporting(E_ALL);
ini_set('display_errors', 1);
file_put_contents('incoming_call.log', "\n" .json_encode($_REQUEST) . "\n", FILE_APPEND);
?>
<Response>
<Dial timeout="15" action="/voicemail.php">
</Dial>
</Response>
而我的 voicemail.php 文件必须编码
<?php
// echo "hello ";exit;
header('content-type: text/xml');
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
file_put_contents('incoming_voicemail.log', "\n" .json_encode($_REQUEST) . "\n", FILE_APPEND);
?>
<Response>
<Say voice="alice">Your call could not be answered at the moment. Please leave a voice message.
</Say>
<Record></Record>
</Response>
我没有收到语音邮件。我在哪里可以在 twiml 中设置 recordingStatusCallback attribute?
其次,我正在尝试通过拨打一个电话将语音邮件从 Twilio 号码发送到电话号码,然后再次拨打第二个电话,因为第二个电话将收到忙状态,我们能够发送语音邮件,但它不起作用。我的代码是
$call = $twilio->account->calls->create(
$phone_no, // To
$from_no, // From
array(
"method" => "GET",
"statusCallback" => SURL . "voicemail?to_phone_no=" . $phone_no,
"statusCallbackEvent" => ["initiated","ringing"],
"statusCallbackMethod" => "POST",
"twiml" => '<Response><Say>Testing voicemail</Say></Response>'
)
);
sleep(3);
$call2 = $twilio->account->calls->create(
$phone_no, // To
$from_no, // From
array(
"url" => AURL.'Vm/audio_file'
)
);
请指导我做错了什么。在此先感谢您的帮助。
【问题讨论】:
标签: twilio twilio-php twilio-twiml