Я использую Twilio Service и голосовые звонки от Twilio. Я могу успешно звонить в браузере, но есть одна проблема. Всякий раз, когда я звоню (с мобильного) на свой номер twilio (в браузере), каждый пользователь, вошедший в это время, получает уведомление о входящем звонке. В моем случае я показываю им окно оповещения. Когда один пользователь получает вызов, я хочу закрыть окно оповещения из окна других пользователей. Есть ли решение для этого?
Это мой голос url 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>
Twilio разработчик евангелист здесь.
Во-первых, хотите ли вы, чтобы все получали входящий звонок? Лучшая система может быть использовать TaskRouter Twilio для маршрутизации звонков доступному агенту.
Однако в текущем случае вам необходимо уведомить каждого из других операторов о том, что на вызов был дан ответ. Для этого можно настроить подключение веб-сокета к вашему серверу для каждого из агентов. Затем, когда один агент отвечает на вызов, вы можете отправить сообщение через веб-сокет, которое вы можете ретранслировать другим агентам, и закрыть окно предупреждения.
Это всего лишь идея, так как для этого есть много путей. В Twilio нет ничего, что могло бы помочь, поскольку мы ожидаем, что каждый агент будет иметь разные имена и получать только один вызов за раз.
Дайте мне знать, если это поможет.
Других решений пока нет …