2012-09-24 46 views
1

我需要幫助保持連接與通話過程中的通話。我已經使用了twilio Doc上給出的以下代碼。保持連接與頁面刷新twilio電話

PHP部分原因是這裏

$token = new Services_Twilio_Capability(TW_ID, TW_TOKEN); 
$token->allowClientIncoming($_SESSION['emp_id']); 

JS部分:

Twilio.Device.setup("<?php echo $token->generateToken();?>"); 


$("#call").click(function() { 
    params = { "tocall" : $('#tocall').val()}; 
    connection = Twilio.Device.connect(params); 
}); 

$("#hangup").click(function() { 
    Twilio.Device.disconnectAll(); 
}); 

Twilio.Device.ready(function (device) { 
     $('#status').text('Ready'); 
     console.log(Twilio.Device.status()); 
}); 

Twilio.Device.incoming(function (conn) {       
     startCall(conn); 
}); 

在頁面上加載的Twilio.Device.ready()功能使用戶登錄時接聽的電話,但用戶刷新呼叫斷開的頁面,或者如果用戶嘗試在通話斷開時更新客戶端信息。希望你能理解。

但現在不知道如何解決這個問題。一個選項我必須使用網址上的哈希值,如#status

請幫我給任何其他的解決辦法或修改這個代碼..

+0

我知道這是一箇舊的帖子,但你找到任何解決方案嗎? – bipen

+0

@bipen我不記得,我離開了那家公司。嘗試在會話中存儲令牌。 –

回答

0

您可以使用會話此... 店在會話令牌值。這樣

<?php echo $_SESSION['token'];?> 
+0

但是如果你在js部分看到''Twilio.Device.ready()'這個函數讓用戶做好準備,只是令牌解決了問題?因爲我已經通過URL傳遞令牌來使用這個方法 –

+0

如果你傳入了url,當頁面重定向回調時它將不穩定。如果您存儲在會話中,它也將在頁面刷新後可用。 –

+0

humm讓我試試 –

0

$_SESSION['token']=$your_token; 

訪問有你可以採取一些不同的選擇。

  • 呼叫連接時,通過POST請求將服務器上的呼叫狀態存儲在服務器上。然後,當客戶端刷新頁面時,將傳入(現有)呼叫推送到客戶端。
  • 使用HTML5 localStorage或類似方式將呼叫狀態存儲在客戶端上。你的JS應該在頁面加載時檢查localStorage中是否存在一個調用。如果此DB中存在呼叫,請與以前一樣連接到相同的端點。