繁体   English   中英

与twilio保持联系刷新页面

[英]stay connected with twilio call on page refresh

在对话过程中,我需要帮助以保持与电话的联系。 我使用了twilio Doc上给出的以下代码。

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

请帮助我提供其他解决方案或修改此代码。

您可以为此使用会话...将令牌值存储在会话中。

$_SESSION['token']=$your_token; 

像这样访问

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

您可以采取几种不同的选择。

  • 呼叫连接时,通过对服务器的POST请求将呼叫状态存储在服务器上。 然后,当客户端刷新页面时,将传入(现有)呼叫推送到客户端。
  • 使用HTML5 localStorage或类似的东西在客户端上存储呼叫状态。 页面加载时,您的JS应该检查localStorage中是否存在调用。 如果此数据库中存在呼叫,则连接到与以前相同的端点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM