2011-06-21 81 views
0

我正在編寫一個twilio in PHP的應用程序,我需要一些關於邏輯的幫助或我能做些什麼..我有點卡在邏輯過程中,你可以說。twilio php順序撥號邏輯

我想知道在Twilio中是否有一個函數或任何功能可以讓您跟蹤一次會話中有多少次呼叫。我正在製作順序撥號應用程序,如果我可以跟蹤呼叫未能接聽或忙碌的次數,那麼可以用它來呼叫下一個號碼。一種可能性是在動作URL代碼,以便每次執行該操作URL它增加了1,告訴你一個電話多少次,有時間的開始使用反...

$ R ++失敗了,但問題在於,每次動作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> 

----------------------把手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> 

回答

0

而不是增加$ R,你可以增加一個(例如MySQL)數據庫值...

如果您需要保持整個調用的持續值,那麼您可以將該值與調用的cookie相關聯。

凱爾GetSatisfaction提到過:

當打電話,Twilio將每個呼叫作爲一個新的會話。 Cookie在通話期間會持續存在;但是,一旦 調用完成,Cookie將被丟棄。

如果您需要保持該值在用戶的生活中持續存在,那麼您可以將該值與呼叫者的電話號碼相關聯。