twilio php顺序拨号

时间:2011-06-20 20:14:46

标签: php arrays twilio

我打算建立一个顺序拨号twilio程序,到目前为止,我有一些代码,我有点卡住......我该怎么做或能做些什么才能让Twilio拨打一个号码,如果那样的话号码没有接听电话号码中的下一个号码,如果该号码没有接听另一个号码....

<?php
    require "twilio.php";

    // initiate response library
    $response = new Response();

    header("content-type: text/xml");
    echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";


$PhoneNumbers= array('4167841543','6478704858');



$variableToCall=$PhoneNumbers[0];

    if(($_REQUEST['DialStatus'] == "busy" || $_REQUEST['DialCallStatus'] == "no-answer" || $_REQUEST['DialCallStatus'] == "failed" || $_REQUEST['DialCallStatus'] == "canceled")) {

       $variableToCall=$PhoneNumbers[1];

    }




?>


<Response>
<Dial> <?php echo $variableToCall ?> </Dial>

</Response>

3 个答案:

答案 0 :(得分:2)

为了最好地使用Twilio,您需要发送Web服务请求(REST)以及提供Twilio将发布呼叫数据并获取进一步指示的URL(TwiML)

使用REST进行初始调用。 http://www.twilio.com/docs/api/rest/making_calls。如果您需要稍后调用等待初始调用完成。然后,在创建另一个呼叫之前,您的脚本必须等待第一个呼叫完成。由于Twilio无法发布到您正在运行的脚本,因此您必须使用某种共享存储机制来跟踪调用的状态。

Twilio将发布到您在通话请求中提供的网址。该URL将有一个脚本,用于更新共享存储中的呼叫状态。您的其他脚本将检查状态并等待您的呼叫完成。

答案 1 :(得分:1)

如果我直接了解您的用例,您希望拨打一个电话直到超时,然后拨打另一个号码,最后拨打您在PHP代码中存储在阵列中的最后一个号码。

虽然您可以在会话中执行此操作,但我认为您可以通过在calls-&gt; create方法中使用callback参数来更轻松地找到实现。例如,您当前使用回调方法来引用我们的默认语音欢迎,如下所示:

https://gist.github.com/1155487/919a93ed2ea9f5c8eb9f7cb75d99951f76430f2b

传递脚本当前索引的简单方法是更改​​第三个回调参数以引用您自己的脚本:

https://gist.github.com/1155487/533223a4199dacc2dffff3bb5a6ceb107f94a697

答案 2 :(得分:0)

您还应该查看this example application,了解有关拨打电话的详细信息。它说明了您需要采取的许多步骤。