【问题标题】:Handing incoming calls - broadcast to multiple agents处理来电 - 广播给多个代理
【发布时间】:2019-07-14 23:50:46
【问题描述】:

我有一个应用程序,我需要延迟接听来电,同时我同时拨打多个座席,然后将呼入呼叫连接到一个选定的座席。请注意,对于此应用程序,不能选择接听电话和播放模仿电话铃声的 MP3 - 呼叫系统是一个自动系统,可识别何时接听电话并立即寻找座席响应。

如果我想转发到单个代理的电话,<Dial> + answerOnBridge 可以完美运行。

我还没有想出一个解决方案来同时振铃多个代理。我的问题是阻止接听来电。我试过了:

  • 在我找到代理时延迟响应传入的 webhook(Twilio 超时)
  • 仅以短时间 <Pause> 响应传入的 webhook。 Twilio 在超时后重新发送传入的 webhook(使用新的 CallSid,这会使事情变得复杂)。这可能有效(一旦找到代理,我可以在稍后重试时桥接呼叫),但不幸的是,一些运营商似乎只处理<Pause> - 我看到Call Failed
  • 长时间响应传入的 webhook <Pause> + <Hangup>。然后,当座席应答时,使用client.calls().update() 重定向来电。这失败了:

    TwilioRestException:HTTP 400 错误:无法更新记录:呼叫不在进行中。无法重定向。

注意:update() 可以在我以接听来电的方式进行响应时工作......但这对我不起作用。

当我广播呼叫几个座席时,是否有其他方法可以保持来电响铃/真正无人接听,然后将来电者连接到一个选定的座席?从概念上讲,我想要一个 <Enqueue> + answerOnBridge 的东西,但我对如何做到这一点没有任何想法......

【问题讨论】:

    标签: twilio twilio-api


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    您是否尝试过在原始<Dial answerOnBridge="true"> 中使用多个<Number>s?这将拨打每个号码,直到有一个被接听,连接接听的座席并取消其他呼叫。

    类似:

    <Response>
      <Dial answerOnBridge="true">
        <Number>FIRST_NUMBER</Number>
        <Number>SECOND_NUMBER</Number>
      </Dial>
    </Response>
    

    如果有帮助,请告诉我。

    【讨论】:

    • 嗨菲尔 - 我没有。听起来这可能是一个不错的选择,谢谢。对于转发的工作方式,我尝试了几种不同的选项……其中一个是我使用 来要求座席确认来电(以防止呼叫者收到他们的语音邮件。如果我想下去那条路,有什么选择吗?
    • 另外,有没有办法为每个 提供唯一的延迟?例如,如果我想让 FIRST_NUMBER 立即响铃,然后让 SECOND_NUMBER 开始响铃,比如说 5 秒后呢? (给 FIRST_NUMBER 一个先机/有机会先抓住来电者)
    • 我突然想到我需要知道哪个号码“获胜”(首先回答并连接到来电)。我想有一些方法可以通过呼叫状态回调获取该信息?
    • 做了一些测试。来电在广播到座席号码时一直响铃 - 太棒了!然后我尝试为每个号码添加url,然后向每个代理提出&lt;Gather&gt; 质询以确认它是一个活人。当我添加url 时,只要第一个代理回答它就会断开所有其他代理呼叫。所以基本上这种方法是有效的,但会遇到文档中提到的“代理的语音邮件提早接收”问题。有什么办法可以将 twilio 端的代理“选择”推迟到我确认它是一个活人之后(通过&lt;Gather&gt;)?
    • 啊,好的。不,这种方法仍然存在问题。另一种方法是您自己使用 API 生成所有调用。这使您可以控制这些呼叫,包括延迟它们,但又使您回到了在等待某人接听时必须让呼叫继续响铃的问题。我想不出办法来处理代理的语音邮件应答。
    猜你喜欢
    • 1970-01-01
    • 2016-08-28
    • 2014-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-31
    • 1970-01-01
    • 2017-02-14
    相关资源
    最近更新 更多