Twilio接听电话

时间:2017-04-27 12:27:02

标签: php twilio twilio-api twilio-php twilio-click-to-call

我正在使用Twilio服务和来自twilio的语音通话。我能够成功调用浏览器,但有一个问题。每当我通过我的twilio号码(在浏览器上)拨打电话(来自移动电话)时,每次登录的用户都会收到来电通知。在我的情况下,我向他们展示一个警报框。当一个用户收到呼叫时,我想从其他用户窗口关闭alertify框。对此有什么解决方案吗?

这是我的语音网址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>

1 个答案:

答案 0 :(得分:0)

Twilio开发者传道者在这里。

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

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

这只是一个想法,因为你可以采取许多途径来做到这一点。 Twilio内部没有任何内容可以提供帮助,因为我们希望每个代理商都有不同的名称,并且一次只能接听一个电话。

让我知道这是否有帮助。