<html>
<head>
<title>HTML Document</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
</head>
<body>
<div id="hover-id">
Hello World
</div>
<script>
jQuery(document).ready(function($){
$(document).on('mouseover', '#hover-id', function(){
$(this).css('color','yellowgreen');
});
$(document).on('mouseout', '#hover-id', function(){
$(this).css('color','black');
});
});
</script>
</body>
</html>
Здесь есть евангелист-разработчик Twilio.
Это то, для чего был разработан TaskRouter, хотя я понимаю, что это может быть излишним для размера команды.
Вы можете поместить все входящие вызовы в очередь, используя <Enqueue>
(без идентификатора рабочего процесса), а затем запросить ресурс очереди , чтобы отобразить все текущие входящие вызовы. Затем, когда вы решите ответить или перенаправить вызов, вы можете извлечь его из очереди, используя REST API , а затем направить его на <Dial>
на [112 ] по выбору.
Дайте мне знать, если это направит вас в правильном направлении.
Я думал, что отвечу на свой вопрос, так как решил эту проблему для себя.
Нигде ни в одном из прочитанных мной документов или вопросов о переполнении стека я не заметил упоминаний о том, что обработка нескольких входящих вызовов возможна в браузере с помощью JavaScript SDK. Тем не менее, я смог это сделать. Кажется, что каждый Twilio.Device () может иметь несколько соединений. Таким образом, создав новый контейнер для телефона, как описано ниже, вы можете управлять каждым из них отдельно.
HTML
<div id="main_container">
<div class="phone_container" call_sid="">
<div class="well well-sm call-status">
Connecting to Twilio...
</div>
<div class="phone_btn_container">
<button class="btn btn-md btn-success answer-button" disabled>Answer</button>
<button class="btn btn-md btn-danger hangup-button" disabled>End</button>
<button class="btn btn-md btn-default mute-button" disabled>Mute</button>
</div>
</div>
</div>
Javascript
device.on('incoming', function(connection) {
// get call sid
var call_sid = connection.parameters.CallSid
// get phone container which holds the buttons and call status etc.
var phone_container = $('.phone_container')
// if there is only one container and it's empty, use this to handle call
if (phone_container.length == 1 && phone_container.attr('call_sid') == '') {
// set call sid to container
$('.phone_container').attr('call_sid', call_sid)
}
// else clone phone container for new call
else {
// clone , set call sid and append to main container
$('.phone_container').first().clone().attr('call_sid', call_sid).appendTo($('#main_container'))
}
});
Что касается передачи вызовов, я использовал конференц-залы для управления этим. Аналогично ответу Девина Рэйдера на этот вопрос: Twilio - Как перевести существующий вызов на конференцию