小型客户服务团队的Twilio呼叫路由/管理

时间:2019-03-28 00:39:42

标签: twilio

我正在尝试使用Twilio Javascript客户端SDK为小型客户服务团队创建电话系统,其标准如下:

  1. 每个客户可以查看是否同时打了多个电话,并选择接听哪个电话
  2. 每个客户可以将呼叫转移到另一个客户

据我所知,无法看到多个来电

这意味着,在转移呼叫时,如果电话也同时响铃,则要接收转移呼叫的客户将无法看到/接受来电。

我们有一个小组(同一时间在线有2-4个客户),在同一办公室工作。看来TaskRouter是唯一可行的选择,但考虑到我们团队的规模和我要解决的问题的简单性,这感觉有些过头。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

这里是Twilio开发人员的传播者。

这是TaskRouter设计的目的,尽管我知道这对于团队规模来说可能是过大的。

您可以使用<Enqueue>(没有工作流程ID)将所有来电放入队列中,然后查询Queue resource以显示所有当前来电。然后,当您选择接听或转接电话时,您也可以eject it from the queue using the REST API,然后将其转接到所选的<Dial> <Client>

让我知道这是否指向正确的方向。

答案 1 :(得分:0)

我以为自己已经解决了这个问题,所以我会回答自己的问题。

在我阅读的任何文档或堆栈溢出问题中,没有发现任何提及使用JavaScript SDK可以在浏览器中处理多个传入呼叫的​​地方。但是,我已经能够这样做。似乎每个Twilio.Device()可以具有多个Connections。因此,通过按如下所示创建一个新的电话容器,可以分别管理每个电话容器。

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'))
    }

});

关于转移呼叫,我已经使用会议室进行管理。类似于Devin Rader对这个问题的回答:Twilio - How to move an existing call to a conference