以优雅的方式处理twilio中的3个呼叫队列

时间:2018-01-30 17:25:38

标签: twilio twilio-api twilio-php twilio-taskrouter

对于我正在努力解决的问题,我喜欢关于twilio设置的一些建议。

概述

客户可以拨打我们的twilio号码并处理以下三种情况之一: - 是我们的客户并有一个问题 - 应该转移到CC队列(2ppl), - 想要购买我们的服务 - 应该转移到销售队列(7ppl), - 有一些其他情况 - 应该转移到不同的队列,让我们称之为其他(1人)

当前解决方案

客户致电:

  • 欢迎辞
  • 我们收集他的数字输入
  • 将对适当队列的调用排入队列
  • 使用会议指令将任务分配给可用的工作人员

当前解决方案的问题

如果办公室里没有工作人员来处理电话,客户将永远等待,直到他自己挂断电话。回答的wroker不知道客户的电话号码,所以如果有必要的话,他就不能休息。

问题

  • 在客户选择队列后,我想检查办公室中是否有任何工作人员(不在离线模式下)。如果每个人都处于离线模式,重定向到语音邮件,并且电子邮件将通过来电号码和语音邮件记录网址发送到指定的电子邮件地址。
  • 在工人接听(接受预订)后,向他发送一条带有客户电话号码的消息。
  • 如果没有工作人员在指定的时间内(例如5分钟)应答,则会将呼叫重定向到语音邮件,并使用来电号码和语音邮件记录URL将电子邮件发送到指定的电子邮件地址。
  • 2 个答案:

    答案 0 :(得分:1)

    Twilio开发者传道者在这里。

    顺序答案,第1部分和第3部分需要谈谈我将在底部报道的语音邮件:

    1. 您可以使用skip_if expression to skip a queue if there are no available workers
    2. 我假设这是使用reservation.conference instruction in the JavaScript SDK。您实际上也可以在此阶段检查reservation对象,查看reservation.task.attributes以获取所有任务属性,其中应包括调用属性。您可以使用它在屏幕上显示您的座席或以其他方式向他们发送消息。
    3. 为此,您应设置timeout on your queue。当超时触发时,任务应该下降到工作流中的下一个队列。
    4. 语音信箱

      对于第1部分和第3部分,我们从一个队列中弹出一个任务,但它需要去其他地方处理。您希望将呼叫发送到语音邮件,而不需要代理处理它。目前,处理此问题的最佳方法是将任务指向具有一个机器人工作者的队列。工作人员的工作是将传入的预订直接重定向到某些TwiML。您可以立即responding to an assignment callback with the redirect instruction实现此目标。

      要创建语音邮件,您可以合并<Say><Record>。确保将recordingStatusCallback attribute设置为应用程序中的URL,然后您可以使用结果通过电子邮件将链接通过电子邮件发送到语音邮件记录。

      让我知道这是否有帮助。

    答案 1 :(得分:0)

    谢谢你抽出时间回答我的问题。以下是我的回复: 1.似乎这在控制台中不起作用 - 我在文档中找不到这些信息&#34; skip_if无法通过控制台配置 - 它必须发布在工作流API&#34;上。由于我没有使用工作流程API,这可能不适合我。 2.我使用本教程:https://www.twilio.com/docs/quickstart/php/taskrouter/twiml-dequeue-call但是我使用会议而不是使用出列指令。我不会放弃如何检查预订&#34; - 也许你有一个关于它的教程?在寻找其他解决方案时,我提出了工作区事件回调,但我不确定这是否可行。 3)我怎样才能在控制台中执行此操作?