2

我正计划构建一个顺序拨号 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>
4

3 回答 3

2

为了最好地使用 Twilio,您需要发送 Web 服务请求 (REST) 并提供 Twilio 将向其发布呼叫数据并获得进一步说明的 URL (TwiML)

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

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

于 2011-06-20T23:59:59.337 回答
1

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

虽然您可以在会话中执行此操作,但我认为您可能会发现通过在调用->创建方法中使用回调参数更容易实现。例如,您当前使用回调方法来引用我们默认的语音欢迎,如下所示:

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

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

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

于 2011-08-19T00:15:19.450 回答
0

您还应该查看此示例应用程序,了解有关拨打电话的更多详细信息。它说明了您需要采取的许多步骤。

于 2011-07-17T02:00:50.543 回答