Twilio 拒绝呼叫发送到语音邮件和电子邮件 Link 或语音邮件文件 (mp3)
Twilio Reject Call Send To Voicemail and Email Link or Voicemail File (mp3)
我的服务器上有一个简单的调用结构文件夹,其中包含 PHP 和 XML。为我的业务处理来电。
我似乎无法将它正确无误地转发到语音信箱。 (已于 2021 年 12 月 18 日解决 - 请参阅下面的 Voicemail.php 文件更新)
我现在唯一的问题是我希望将语音邮件通过电子邮件发送到邮箱,而不是只放在 Twilio 的控制台上。
呼叫的触发方式如下。
客户呼叫 -> 到 Webhook 的路由 -> 处理传入 -Call.XML
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Redirect>handle-extension.php</Redirect>
</Response>
然后Handle-Extension.PHP看起来像这样
<?php
header('Content-type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<Response>';
# @start snippet
echo '<Say>Thank you for calling, My Business</Say>';
echo '<Dial record="true" timeout="15" action="voicemail.php">';
echo '<Number url="screen-caller.xml">+10000000000</Number>';
echo '</Dial>';
# @end snippet
echo '</Response>';
?>
然后 Screen-Caller.XML 看起来像这样(这是我作为企业在接机时会听到的)
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Gather action="handle-screen-input.php" numDigits="1">
<Say>Call for Your Business</Say>
<Say>To accept the call, press 1.</Say>
<Say>To reject the call, press 2.</Say>
</Gather>
</Response>
当我按 1 时,我接到了电话,但当我按 2 时,我希望它转到语音信箱。
这是Handle-Screen-Input.PHP
<?php
header('Content-type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<Response>';
$user_pushed = (int) $_REQUEST['Digits'];
if ($user_pushed == 1)
{
echo '<Say>Connecting, say hello.</Say>';
}
else {
echo '<Hangup />';
}
echo '</Response>';
?>
我创建了另一个 Webhook,如果万一失败,它会转到 TwimLets 将语音邮件转发到电子邮件。
这是我在 Stack 的一篇帖子中找到的 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 recordingStatusCallback="/recording-complete.php"></Record>
</Response>
是否需要添加文件名“录音
-complete.php" 如果是这样,该结构是什么样的?
语音信箱有效,我只是缺少发送到电子邮件。
如有任何帮助,我们将不胜感激。谢谢
我终于弄明白了,我会回答我自己的问题,以防将来有人或目前遇到与我相同的问题。
在 voicemail.php 文件中,我将“记录”行更改为以下内容
<Record action="mail.php"></Record>
然后我创建了一个 mail.php 文件来将录制的语音邮件 link 发送到我选择的电子邮件地址。
希望对您有所帮助。
我的服务器上有一个简单的调用结构文件夹,其中包含 PHP 和 XML。为我的业务处理来电。
我似乎无法将它正确无误地转发到语音信箱。 (已于 2021 年 12 月 18 日解决 - 请参阅下面的 Voicemail.php 文件更新)
我现在唯一的问题是我希望将语音邮件通过电子邮件发送到邮箱,而不是只放在 Twilio 的控制台上。
呼叫的触发方式如下。
客户呼叫 -> 到 Webhook 的路由 -> 处理传入 -Call.XML
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Redirect>handle-extension.php</Redirect>
</Response>
然后Handle-Extension.PHP看起来像这样
<?php
header('Content-type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<Response>';
# @start snippet
echo '<Say>Thank you for calling, My Business</Say>';
echo '<Dial record="true" timeout="15" action="voicemail.php">';
echo '<Number url="screen-caller.xml">+10000000000</Number>';
echo '</Dial>';
# @end snippet
echo '</Response>';
?>
然后 Screen-Caller.XML 看起来像这样(这是我作为企业在接机时会听到的)
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Gather action="handle-screen-input.php" numDigits="1">
<Say>Call for Your Business</Say>
<Say>To accept the call, press 1.</Say>
<Say>To reject the call, press 2.</Say>
</Gather>
</Response>
当我按 1 时,我接到了电话,但当我按 2 时,我希望它转到语音信箱。
这是Handle-Screen-Input.PHP
<?php
header('Content-type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<Response>';
$user_pushed = (int) $_REQUEST['Digits'];
if ($user_pushed == 1)
{
echo '<Say>Connecting, say hello.</Say>';
}
else {
echo '<Hangup />';
}
echo '</Response>';
?>
我创建了另一个 Webhook,如果万一失败,它会转到 TwimLets 将语音邮件转发到电子邮件。
这是我在 Stack 的一篇帖子中找到的 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 recordingStatusCallback="/recording-complete.php"></Record>
</Response>
是否需要添加文件名“录音 -complete.php" 如果是这样,该结构是什么样的?
语音信箱有效,我只是缺少发送到电子邮件。
如有任何帮助,我们将不胜感激。谢谢
我终于弄明白了,我会回答我自己的问题,以防将来有人或目前遇到与我相同的问题。
在 voicemail.php 文件中,我将“记录”行更改为以下内容
<Record action="mail.php"></Record>
然后我创建了一个 mail.php 文件来将录制的语音邮件 link 发送到我选择的电子邮件地址。
希望对您有所帮助。