2017-04-27 193 views
1

我正在使用Twilio服务和来自twilio的语音电话。我能够成功地调用浏览器,但有一个问题。每当我拨打(来自手机)的号码(在浏览器上)时,每个登录该用户的用户都会收到来电通知。在我的情况下,我向他们展示了一个警示框。当一个用户收到呼叫时,我想关闭其他用户窗口的提醒框。有没有解决方案?Twilio接听电话

这是我的声音网址example.com/incoming.php:

<?php 
header('Content-type: text/xml'); 
?> 
<Response> 
    <Dial> 
      <Client>someone</Client> 
    </Dial> 
</Response> 

这是我的看法文件twilio.php

<?php 
     $capability = new ClientToken(xxx,xxx); 
     $capability->allowClientOutgoing(xxxxxx); 
     $capability->allowClientIncoming("someone"); 
     $token = $capability->generateToken(); 
?> 

<script type="text/javascript"> 

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

     Twilio.Device.connect(function (conn) { 
     alertify.confirm().close() 
     }); 

     Twilio.Device.disconnect(function (conn) { 
     alertify.confirm().close() 
     }); 

     Twilio.Device.incoming(function (conn) { 
     alertify.confirm('Incoming connection from ' + conn.parameters.From).set('onok', function (closeEvent) { 
      conn.accept(); 
     }) 
     }); 
</script> 

回答

0

Twilio开发者传道这里。

首先,你希望每个人都能接到来电吗?更好的系统可能是使用Twilio's TaskRouter将呼叫路由到可用代理。

但在目前的情况下,您需要通知其他每个座席该呼叫已被应答。实现这一点的一种方法是为每个代理设置与您的服务器的Web套接字连接。然后,当一个座席接听电话时,您可以向网络套接字发送一条消息,您可以将其重新广播到其他座席并关闭警报框。

虽然这只是一个想法,因为您可以采取很多措施来做到这一点。 Twilio中没有任何东西可以提供帮助,但我们预计每个代理商都有不同的名称,并且一次只能接收一个电话。

让我知道这是否有帮助。