用Twilio拨号后退

时间:2014-01-03 08:02:12

标签: twilio

我正在处理我的入站TwiML。有一次,我想尝试将呼叫转接到我的手机号码。

所以我得到了5555555555,但如果没有答案或没有人为答案,我想重定向到不同的TwiML脚本。例如,如果我不回答并且Twilo获取我的Cell VM,我宁愿让Twilo在另一个TwiML脚本中尝试其他人,而不是让他们在我的个人VM上留言。

我知道我可以设置它所以我必须按1来连接呼叫,然后我假设如果我不按1它会继续处理TwiML之后是否可以这样做而不需要我按1?< / p>

1 个答案:

答案 0 :(得分:4)

来自Twilio的Joel。

做你想做的事情的最好方法是使用你描述的呼叫筛选过程(&#34;按1连接呼叫&#34;)。这是因为自动检测语音邮件是一个非常容易出错的过程。

我们对如何执行此操作有深入的Call Screening HowTo。这是概述:

创建一个名为&#34; attempt_call.php&#34;的文件。在您的Web服务器上包含以下代码(特别注意第4行的$numbers数组):

<?php
// Set the numbers to call
$numbers = array("<number to call 1>", "<number to call 2>", "<number to call n>");
$number_index = isset($_REQUEST['number_index']) ? $_REQUEST['number_index'] : "0";
$DialCallStatus = isset($_REQUEST['DialCallStatus']) ? $_REQUEST['DialCallStatus'] : "";
header("content-type: text/xml");
// Check the status of the call and
// that there is a valid number to call
if($DialCallStatus!="completed" && $number_index<count($numbers)){
?>
    <Response>
    <Dial action="attempt_call.php?number_index=<?php echo $number_index+1 ?>">
        <Number url="screen_for_machine.xml">
        <?php echo $numbers[$number_index] ?>
        </Number>
    </Dial>
    </Response>
<?php
} else {
?>
    <Response>
        <Hangup/>
    </Response>
<?php
}
?>

接下来,在与&#34; attempt_call.php&#34;相同的位置文件,创建一个名为&#34; screen_for_machine.xml&#34;具有以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Gather action="complete_call.xml">
        <Say>Press any key to accept this call</Say>
    </Gather>
    <Hangup/>
</Response>

然后,在&#34; attempt_call.php&#34;的同一位置;文件,创建一个名为&#34; complete_call.xml&#34;的文件。包含以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Gather action="complete_call.xml">
        <Say>Press any key to accept this call</Say>
    </Gather>
    <Hangup/>
</Response>

最后,设置&#34;语音请求网址&#34;将您的Twilio号码转换为&#34; attempt_call.php&#34;的完整公开URL你创建的文件。

有关详细信息,上面的所有代码也可以通过我们网站上提供的Call Screening HowTo进行模式深入说明。