Twilio Device.connect() приводит к "Плохой JSON в сообщении"
Наше приложение React отправляет запрос GET нашему API с запросом токена 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":""}
Открывая консоль Dev, я вижу, что все это происходит в соединении через веб-сокет, и полезная нагрузка, отправленная ПРАВО перед тем, как это сообщение появляется (и оно надежно отправляется непосредственно перед ответом, поэтому я считаю, что именно это вызывает ошибку), является полезной нагрузкой эта форма:
{
"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 ответ
Я получаю ту же ошибку. изменения
Twilio.Device.connect();
в
Twilio.Device.connect({x:null});
помог мне заставить работать исходящие звонки.