我有一个使用Twilio客户端JS库的Chrome Extension。我将会话长度设置为1小时,以允许扩展接收以及拨打电话。每次注册令牌到期时,我重新注册,一切似乎都没问题。如果我在后台页面查看Chrome开发者工具,我会在控制台中看到:
[Device] Received error:
Object {code: 31205, message: "JWT Token Expired"}
我陷阱的错误是什么时候重新注册。每次我这样做,就在错误发生之前,我看到了:
WebSocket is already in CLOSING or CLOSED state.
平均重复40次,然后看来我的扩展名重新注册OK。大约每五个周期,我看到一个短暂的爆发:
Object {code: 31204, message: "Cannot register. Token not validated"}
每天大概5-6次见:
Object {message: "Unable to determine account.", code: 401, rt.message: "error"}
我的主要问题是我是否处于竞争状态?我通过处理Twilio.Device.error
事件然后调用Twilio.Device.destroy()
确定何时重新注册然后等待3秒并重新生成JWT并调用Twilio.Device.setup()
答案 0 :(得分:0)
我是梅根和Twilio。
听起来这可能是竞争条件。如果没有确切地看到你正在运行什么,我可以采取一些猜测,你可能会尝试修复。
您的回调错误可能没有正确的顺序。
如果您还没有,则需要terminate the active connection Twilio.Device.disconnectAll()
。
希望这有帮助!