如果所有工人明确拒绝预订,则重定向Twilio呼叫语音邮件

时间:2017-09-04 22:08:08

标签: twilio twilio-api

我使用Twilio任务路由将呼叫路由到使用TaskRouting.js构建的自定义应用UI的可用Workers

我们说我有2名空闲工人,并且有来电。

  1. UI显示两个工作人员的屏幕接受或拒绝'屏
  2. 工人1击中拒绝
  3. 工人2击中拒绝
  4. 此时,任务显然会返回任务路由队列,并重复步骤2和3。
  5. 所有工作人员拒绝来电后,如何将其重定向到语音信箱?

1 个答案:

答案 0 :(得分:1)

Twilio开发者传道者在这里。

我会通过添加new array attribute to your Task来记录拒绝任务的工作人员的SID。然后,当工作人员拒绝保留时,在任务上添加该属性。

然后您可以添加到target expression

worker.sid NOT IN task.rejected_workers

一旦任务失败了该表达式,将其移动到一个新队列,该队列有一个空闲工作者,而不是接受预订,只需将呼叫重定向到某个TwiML到<Record>语音邮件。

让我知道这是否有帮助。

修改

事实证明,这并不是实现这一目标的正确方法,即使目标工作人员表达式与任何工作人员不匹配,任务将等到过滤器级别的超时时间必须。如果您希望确保呼叫不会被定向到同一个工作人员两次,那么我所描述的方式非常有用。

所以,我建议您仍然保留拒绝任务的工作人员列表,每次有另一次拒绝时,评估队列中的工作人员以及您的任务属性现在是否涵盖所有工作人员,即它被大家拒绝了。如果是这样,请设置其他属性,例如"totallyRejected": true。然后,添加到原始过滤器表达式:

totallyRejected == false

然后,当任务被完全拒绝时,它将使表达式失败并继续下一个过滤器。