2016-02-10 193 views
1

請我需要一些幫助。Twilio傳出呼叫ID

我一直在閱讀關於這個API Twilio,因爲必須解決一些我沒有做的代碼。

它正在PHP的頁面上打電話給客戶。有一個運行頻繁的進程,檢查日誌或CVS,並在信息Twilio中插入一條記錄。

理想情況下,如果在傳出呼叫結束時,它可能知道呼叫的唯一ID並將其與一些註釋一起保存。

如何獲取客戶端調用的參數?或者有其他方法? (持續時間,希德,對等)

我已經看過,但我不明白這一點

謝謝!

https://www.twilio.com/docs/api/rest/making-calls

https://www.twilio.com/docs/api/rest/call

<?php 
require_once('Services/Twilio.php'); // Loads the library 
$API_VERSION = '2010-04-01'; 
$accountSid = 'AC7d3444f83611xxxxxxxxxxxxxxxx'; 
$authToken = 'd72d5f036e96abexxxxxxxxxxxxxx'; 

$capability = new Services_Twilio_Capability($accountSid, $authToken); 
$capability->allowClientOutgoing('AP29cb5d9e0dcxxxxxxxxxxxxxxxxxx'); 
$capability->allowClientIncoming('name'); 
$token = $capability->generateToken(); 
//error_log("token is $token"); 
?> 

<script type="text/javascript">  
     Twilio.Device.setup("<?php echo $token; ?>");  
     function call() {   
     params = {"PhoneNumber": $("#number_no").val(), "callerid": $("#callerid").val(), "agent_id": $("#agent_id").val(), "lead_id": $("#lead_id").val()}; 
     Twilio.Device.connect(params); 
     }  
     function hangup() {   
     Twilio.Device.disconnectAll(); 
     //Twilio.Device.disconnect(); 
     }  
    </script> 

當你在這裏更新的東西

<script> 
$(document).ready(function() { 

    $('.call_status').change(function() 
    { 
     var status = $(this).val(); 
     var rec_val = $(this).parent().find('.rec_val').val(); 
     var pledge_amt = $('#pledge_amt'+rec_val).val(); 
     hangup(); 
    $.ajax({ 
    url: '<?php echo site_url('agent/agent_status/'); ?>', 
    type: 'post', 
    data: {'rec_val': rec_val, 'status': status, 'pledge_amt': pledge_amt}, 
    success:function(resp) 
    { 
     if(resp) 
     { 
      window.location.href="<?php echo site_url('agent/call_leads/'); ?>"; 
      //$('.msg').html("Status Updated Successfully!").fadeOut(5000); 

     } else 
      { 
      alert('Please check your selected data'); 
      } 
    }, 
    error:function(resp) 
    { 
     alert(resp); 
    } 
    }); 

    }); 
    jQuery('.status_update').fadeOut(5000); 
}); 
</script> 
+0

你好,讓我知道如果你是第一次實施twilio。也許我可以幫助你 。我也想檢查一下你的當前代碼 –

+0

這是我第一次和Twilio一起,我只是試圖在別人的代碼中解決一個問題。 – Carlos

+0

這是瀏覽器調用功能好友。 –

回答

0

Twilio開發佈道者此代碼調用。

當你create the call, you get a connection object。你已經在REST API文檔中瞭解到有關撥打電話的connection object contains all the parameters。您可以通過這種方式獲得呼叫SID(它是唯一的ID)。在下面的代碼,我用發出呼叫註銷調用的參數時創建的connection對象:

<script type="text/javascript">  
     Twilio.Device.setup("<?php echo $token; ?>");  
     function call() {   
      params = {"PhoneNumber": $("#number_no").val(), "callerid": $("#callerid").val(), "agent_id": $("#agent_id").val(), "lead_id": $("#lead_id").val()}; 
      var connection = Twilio.Device.connect(params); 
      console.log(connection.parameters); 
     }  
    </script> 

讓我知道,如果這有助於!

編輯:

要使用在您需要保存通話功能的範圍外的連接對象掛斷功能,此連接。你可以通過將currentConnection定義爲兩個函數之外的變量,然後在動作發生時設置和使用它來做到這一點。請參閱下面的更新代碼(查看更多信息的意見):

<script type="text/javascript">  
     Twilio.Device.setup("<?php echo $token; ?>"); 
     // define currentConnection here, but don't set it to anything. 
     var currentConnection = null; 

     function call() {   
      params = {"PhoneNumber": $("#number_no").val(), "callerid": $("#callerid").val(), "agent_id": $("#agent_id").val(), "lead_id": $("#lead_id").val()}; 
      // create and set the currentConnection 
      currentConnection = Twilio.Device.connect(params); 
      console.log(currentConnection.parameters); 
     } 

     function hangup() { 
     console.log("Do stuff with parameters"); 
     console.log(currentConnection.parameters) 
     Twilio.Device.disconnectAll(); 

     // reset currentConnection until the next call is made 
     currentConnection = null; 
     } 
</script> 
+0

謝謝@philnash,但我怎麼在js noob如何可以在函數hangup() – Carlos

+0

我已經編輯了答案與一些更多的細節。希望有幫助。 – philnash

+0

我認爲這是行不通的。TypeError:currentConnection在函數掛斷中爲null – Carlos