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

Pan*_*ate 1 javascript twilio twilio-api

我们的React应用程序向我们的API发送GET请求,请求Twilio令牌.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":{}
}}  
Run Code Online (Sandbox Code Playgroud)

因此,该payload.sdp属性绝对不是Json,但它看起来并不像它甚至试图成为,所以它不是一些有点错字.

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

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

小智 5

我收到同样的错误.更改

Twilio.Device.connect();
Run Code Online (Sandbox Code Playgroud)

Twilio.Device.connect({x:null});
Run Code Online (Sandbox Code Playgroud)

帮助我拨打电话.