task/reservation 超时后将 twilio 任务重定向到新的 TwiML

Redirecting a twilio task to a new TwiML after task/reservation timeout

目前正在使用 Twilio TaskRouter 构建电话呼叫中心来路由呼叫。

我的目标是:

  1. 当一个任务在一定时间内挂起时(即:没有工作人员可预约),将其重定向到语音信箱
  2. 当任务被保留但工作人员没有响应时,将其重定向到语音信箱

我当前的实现是:

  1. 同时指定任务超时和预留超时
  2. 当触发任务超时/预约超时回调时,查询Redirect Instruction预约api重定向到录音语音信箱的TwiML

但问题是:

  1. 当任务处于 pending 状态时,没有创建预留,因此我无法访问预留以执行重定向
  2. 当预留超时时,尝试执行重定向会收到来自 Twilio 的异常消息,表示预留不再可用于重定向

这里是 Twilio 开发人员布道者。

这里有两个问题,正如你最后所说的。您正在尝试移动不存在的预订或重定向无法重定向的预订。

我认为您可以通过使用工作流来实现您的目标。

首先,考虑事情的任务方面。您给任务超时。当它确实超时时,任务的正常行为是移动到它在工作流中匹配的下一个队列。

我建议设置一个最终队列,其中包含一个永久可用的工作对象(但不是真人)。当您获得该队列中任务预订的分配回调时,您可以使用 redirect assignment 将调用发送到某个 returns 和 <Record> 接收消息的 TwiML。您的 TwiML 应用程序也可以调用 REST API 来接受预订。

这适用于从未从初始队列分配给工作人员的任务。对于事物的保留超时方面,考虑这个。

当预约超时时,任务会回到原来的队列中再次分配。该任务保持在我们上面为其定义的相同原始超时下,因此当任务本身超时时最终将移至我们的语音邮件队列。这对呼叫者具有相同的效果,因为他们永远不知道何时分配预订,因为他们只会在他们所在的队列中体验等待音乐。

这有意义吗?