如果所有工作人员明确拒绝预订,则将 Twilio 呼叫重定向到语音邮件
Redirect Twilio call to voicemail if all Workers explicitly rejected the reservation
我正在使用 Twilio 任务路由将调用路由到可用 Workers
以及使用 TaskRouting.js 构建的自定义应用程序 UI。
假设我有 2 个 Idle Worker,来了一个电话。
- UI 在两个工作人员的屏幕上显示接受或拒绝屏幕
- 工人 1 命中拒绝
- 工人 2 命中拒绝
- 此时,任务显然返回到任务路由队列中,并重复步骤 2 和 3。
所有 名员工拒接来电后,如何将其重定向到语音信箱?
这里是 Twilio 开发人员布道者。
我会通过添加一个 new array attribute to your Task 来记录拒绝任务的工作人员的 SID 来实现这一点。然后,当工作人员拒绝预订时,在任务上添加该属性。
然后你可以添加到你的target expression:
worker.sid NOT IN task.rejected_workers
一旦任务未能通过该表达式,将其移动到一个新队列,该队列有一个空闲工作人员,而不是接受预订,只是将呼叫重定向到某个 TwiML 到 <Record>
语音邮件。
如果有帮助请告诉我。
编辑
事实证明,这并不是实现此目的的正确方法,因为即使目标 worker 表达式与任何 worker 都不匹配,Task 也会等待,直到他们必须达到的过滤器级别出现超时。如果您想确保调用不会两次定向到同一个工作人员,我所描述的方法非常有用。
因此,我建议您仍然保留已拒绝该任务的工作人员列表,并且每次有另一个拒绝时,评估队列中的工作人员以及您的任务的属性现在是否涵盖所有工作人员,即它有被所有人拒绝了。如果是这样,请设置另一个属性,例如 "totallyRejected": true
。然后,添加到您的原始过滤器表达式:
totallyRejected == false
然后,当一个任务被完全拒绝时,它将使表达式失败并继续下一个过滤器。
我正在使用 Twilio 任务路由将调用路由到可用 Workers
以及使用 TaskRouting.js 构建的自定义应用程序 UI。
假设我有 2 个 Idle Worker,来了一个电话。
- UI 在两个工作人员的屏幕上显示接受或拒绝屏幕
- 工人 1 命中拒绝
- 工人 2 命中拒绝
- 此时,任务显然返回到任务路由队列中,并重复步骤 2 和 3。
所有 名员工拒接来电后,如何将其重定向到语音信箱?
这里是 Twilio 开发人员布道者。
我会通过添加一个 new array attribute to your Task 来记录拒绝任务的工作人员的 SID 来实现这一点。然后,当工作人员拒绝预订时,在任务上添加该属性。
然后你可以添加到你的target expression:
worker.sid NOT IN task.rejected_workers
一旦任务未能通过该表达式,将其移动到一个新队列,该队列有一个空闲工作人员,而不是接受预订,只是将呼叫重定向到某个 TwiML 到 <Record>
语音邮件。
如果有帮助请告诉我。
编辑
事实证明,这并不是实现此目的的正确方法,因为即使目标 worker 表达式与任何 worker 都不匹配,Task 也会等待,直到他们必须达到的过滤器级别出现超时。如果您想确保调用不会两次定向到同一个工作人员,我所描述的方法非常有用。
因此,我建议您仍然保留已拒绝该任务的工作人员列表,并且每次有另一个拒绝时,评估队列中的工作人员以及您的任务的属性现在是否涵盖所有工作人员,即它有被所有人拒绝了。如果是这样,请设置另一个属性,例如 "totallyRejected": true
。然后,添加到您的原始过滤器表达式:
totallyRejected == false
然后,当一个任务被完全拒绝时,它将使表达式失败并继续下一个过滤器。