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});

помог мне заставить работать исходящие звонки.

Другие вопросы по тегам