Маршрутизация / управление вызовами Twilio для небольшой группы обслуживания клиентов

<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>
1
задан James 28 March 2019 в 00:39
поделиться

2 ответа

Здесь есть евангелист-разработчик Twilio.

Это то, для чего был разработан TaskRouter, хотя я понимаю, что это может быть излишним для размера команды.

Вы можете поместить все входящие вызовы в очередь, используя <Enqueue> (без идентификатора рабочего процесса), а затем запросить ресурс очереди , чтобы отобразить все текущие входящие вызовы. Затем, когда вы решите ответить или перенаправить вызов, вы можете извлечь его из очереди, используя REST API , а затем направить его на <Dial> на [112 ] по выбору.

Дайте мне знать, если это направит вас в правильном направлении.

0
ответ дан philnash 28 March 2019 в 00:39
поделиться

Я думал, что отвечу на свой вопрос, так как решил эту проблему для себя.

Нигде ни в одном из прочитанных мной документов или вопросов о переполнении стека я не заметил упоминаний о том, что обработка нескольких входящих вызовов возможна в браузере с помощью 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 - Как перевести существующий вызов на конференцию

0
ответ дан James 28 March 2019 в 00:39
поделиться