0

我正在用 PHP 为 twilio编写一个应用程序,我需要一些关于逻辑或我能做什么的帮助。我有点卡在你可以说的逻辑过程中。

我想知道 Twilio 中是否有一个功能或任何功能可以让您跟踪您在一个会话中拨打了多少次电话。我正在制作一个顺序拨号应用程序,如果我可以跟踪呼叫未接听或占线的次数,则可用于拨打下一个号码。一种可能性是使用计数器...

就像是

$R++ 在操作 URL 代码的开头,因此每次执行该操作 url 时,它都会添加 1,这会告诉您调用失败的次数,但问题在于每次操作 url 运行时都会启动变量$R 作为新值或 0,因此 $R 不会被存储,这会阻止我们知道进行了多少次调用。

我当前的代码是:

<?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('4167641543','6478604858');


?>

<Response>
<Say voice="woman">Calling the first person</Say>
<Dial action="handle-key.php" method="POST" timeout="15"> <?php echo $PhoneNumbers[0] ?> </Dial>

</Response>

----------------------handle-key.php----------- ------------

   <?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('4167641543','6478604858');


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

           $variableToCall=$PhoneNumbers[1];

        }

        $R++;

    ?>

    <Response>
    <Say voice="woman">Calling the first person</Say>
    <Dial action="handle-key.php" method="POST" timeout="15"> <?php echo $PhoneNumbers[1] ?> </Dial>
    <Say voice="woman"> <?php $R=0; ?> </Say>
    </Response>
4

1 回答 1

0

您可以增加(例如 MySQL)数据库值,而不是增加 $R...

如果您需要在整个调用中保持该值的持久性,则可以将该值与调用的 cookie 相关联。

Kyle 在GetSatisfaction中提到过:

拨打电话时,Twilio 将每个呼叫视为一个新会话。Cookie 将在通话期间持续存在;但是,一旦调用完成,cookie 就会被处理掉。

如果您需要在用户的一生中保持该值,那么您可以将该值与呼叫者的电话号码相关联。

于 2011-08-23T21:12:24.330 回答