Twilio Device.connect()导致“msg中的错误JSON”

时间:2018-03-30 21:48:39

标签: javascript twilio twilio-api

我们的React应用程序向我们的API发送请求Twilio令牌的GET请求。 Out API然后从Twilio请求令牌。然后,令牌将在响应中发送回React应用程序。 React应用程序然后执行Twilio.Device.setup(token, {debug: true}),这似乎成功发生。

Twilio.Device.instance对象似乎从服务器检索到令牌,令牌与服务器响应的内容以及服务器打印到日志的内容相匹配。

然后我们调用Twilio.Device.connect(),这会向控制台发出错误消息:

{"payload":{"callsid":"<SOME_ID>","error":{"code":31100,"message":"Bad JSON in msg"}},"type":"hangup","version":""}

打开开发控制台我看到这一切都发生在Web套接字连接中,并且在此消息出现之前有效负载已发送(并且在响应之前可靠地发送它,所以我相信这是触发错误的原因)是这种形式的有效载荷:

{
    "type":"invite",
    "version":"1.4",
    "payload":{
        "sdp":"v=0\r\no=- 436124720934282410 2 IN ... A BUNCH OF DATA WITH CARRIAGE RETURNS ... f-d0582b8dc5e6\r\n",
        "callsid":"TJSceeec256-b343-4d13-bf26-febd73fcd484",
        "twilio":{}
}}  

所以payload.sdp属性肯定不是Json,但它看起来并不像它甚至试图成为,所以它不是一些有点错字。

请求的整个主体正确形成JSON,渲染和漂亮的打印。

那么使用Twilio 1.4 JavaScript SDK开始拨打电话需要做什么?大约一个月前,处理这个问题的开发人员正在成功拨打电话,所以这肯定是可能的,但我不确定是什么改变了。

1 个答案:

答案 0 :(得分:5)

我得到了同样的错误。改变

Twilio.Device.connect();

Twilio.Device.connect({x:null});

帮助我拨打电话。