在`Twilio.TaskRouter.Worker()`上使用`disconnectedActivitySid`

时间:2017-11-03 11:43:03

标签: javascript twilio twilio-api

从我Twilio.TaskRouter.Worker上的latest doc我发现Twilio.TaskRouter.Worker()上的disconnectedActivitySid函数的参数为​​Offline,其解释如下:

  

(可选)ActivitySid将worker放在Websocket Disconnecting

当用户关闭相应的网页时,我试图将Twilio Taskrouter的工作人员推送到离线活动,所以我将此参数设置为disconnectedActivitySid的acitivitySid,但后来我得到了不稳定的结果关于那个。

大约有40%的案例,当我关闭网页时,工作人员没有被推到离线状态。

想知道这个s是否在Twilio Server上注册侦听器以查看websocket是否已断开连接,或者是否在websocket断开连接时从客户端发出事件?如果是从客户端发起事件,那么处理突然断开连接的稳定解决方案是什么,以便工作人员可以通过Twilio的方式立即推送到离线状态?

1 个答案:

答案 0 :(得分:1)

Twilio开发者传道者在这里。

目前,TaskRouter JS会触发该事件客户端,这就是它不是100%稳定的原因。有一个计划可以改善这一点,但与此同时,这就是我们的建议:

  1. Twilio Sync service目前包含由Twilio后端控制的可访问性功能。将Sync SDK添加到您的应用程序,并使用Sync授权和TaskRouter授权发出令牌。
  2. 在该Sync实例上启用Reachability Webhooks。这些是由Twilio后端发送的。
  3. 每当您收到endpoint_disconnected事件:

    a)将其与一个隆重的离开相关联(您的应用程序能够优雅地断开连接)并且什么都不做;

    b)将其与同一端点的重新连接相关联(以处理连接中的轻微波动)并且什么都不做;或

    c)超时(10秒?)后,标记用户与后端断开连接。

  4. 让我知道这是否有帮助。