任务预约失败后没有得到回调

Not getting callback after task reservation fails

我正在使用 Twilio TaskRouter。有一个电话打入我们的号码,Twilio 对我们的来电端点进行 API 呼叫。我发送以下回复:

<Response>
    <Say voice="woman">Thank you for calling</Say>
    <Enqueue waitUrl="/Call/HoldMusic" workflowSid="WW..."/>
</Response>

呼叫已成功排队,我的工作流程开始了。我收到工作流分配回调并使用以下 JSON:

进行响应
{
  "instruction": "dequeue",
  "to": "+18885551213",
  "timeout": 10,
  "status_callback_url": "/Workflow/Changed",
  "status_callback_events": "initiated,ringing,answered,completed",
  "from": "+18885551212"
}

我的"to"号码成功拨出。如果我接受呼叫,我会将 reservation.accepted 事件发送到我的任务路由器回调端点。如果我不接受呼叫(让它超时),我不会收到通知。因为我没有收到出队失败的通知,所以我无法取消预订并让呼叫在队列中响起。

我还将工作流分配回调更改为 return 一条 "call" 指令并设置了 "status_callback_url" 但同样,我只在呼叫被接听时收到回调,而不是在呼叫被接听时收到回调超时。

有没有我做错了什么,或者我不理解的基本内容?

回答我自己的问题。如果您不包含 "status_callback_events" 值,则 Twilio 将为 all 事件发送一个事件。丢失的事件是 no-answer。我将此标记为已回答,以便未来的人可以看到 dequeuecall 指令的 Twilio 事件列表。

当前已知的 dequeuecall 事件列表:

  • 排队
  • no-answer
  • 发起
  • 铃声
  • 已回答
  • 完成
  • in-progress
  • 已取消
  • 失败