Incompatible sdp
Запись от brain-4-me размещена 18.06.2020 в 10:37
Показов 4951
Комментарии 0
|
Добрый день друзья! В продолжении предыдущей темы про подключение клиентов WebRTC когда браузер уж долго искал ICE кандидатов для подключения. Прошло три месяца с моей правки в JsSIP клиенте для быстрого подключения к первому попавшемуся ICE кандидату. все было хорошо. звонок соединялся в течении 5 секунд...я тогда и не подозревал что такое WebRTC и все эти ICE кандидаты... Сделав звонилку на основе JsSIP + OnlinePBX я решил углубится в эту тему, пересмотрел много роликов хотел переделать полностью мой код подключения и настройки соединения но пучина будней втянула меня и я про все это благополучно забыл. Но вот пару дней назад звонит клиент и говорит ваша звонилка не работает Ну это не в первый раз я начал проходится по стандартным причинам - Вы пробовали перезагрузить? - Да. не звонит, после 5 секунд звонок срывается - У Вас все хорошо с интернетом (были проблемы что интернет тупит и ничего не звонит) - Да. с интернетом все хорошо Я подключаюсь к роутеру клиента смотрю чтобы были обязательно проброшены порты 443 [TCP] — HTTPS; 80 [TCP] — HTTP; 8093-8094 [TCP] — Websokets (Для работы API); 5060-5080 [TCP / UDP] — SIP Сигнальные порты; 16384-32768 [UDP] — RTP передача голосового соединения; 3478 [UDP] — STUN; 8082 [TCP] — webRTC все проброшено. не работает.... Было принято решение пройтись по логам подключения в JsSIP (благо там все настроено за нас это надо только включить)
Клиент авторизуется.....ok Начинаем звонок 1. Проходит сигнальный до сервера OnlinePbx (не буду уточнять что там и как если интересно расскажу) 2. JsSIP собирает ICE кандидатов (почему то собрал и получил всего двух...странно на рабочем собирает от 8 до 10) 3. Отправляет кодеки который он поддерживает на клиенте и вот тут то падает... Кодеки отправляет такие UDP/TLS/RTP/SAVPF сервер отвечает хрен тебе я такого не поддерживаю что странно с рабочего отправляются точно такие и поддерживаются...Разбираемся...сидел пробовал. тыкал поставил ожидание ICE кандидатов 10 секунд то же самое... гуглил, много гуглил на 100500 странице гугла уже от безысходности открывают американоязычный сайт вообще с другой проблемой: парень пишет что у него провайдет сидит за 100500 NAT И никак не получалось получить адрес клиента который сигналил на сервер для установки связи...заинтересовало а вдруг... решение пришло само собой (ну и + подсказка на форуме) добавить stun серверов чтобы было больше возможностей обхода NAT и получение адреса клиента и вуаля! Добавил еще 4 STUN сервера и все заработало. Камень с плеч. Звоню клиенту говорю проверяйте! Итого звонок соединяется менее 3 сек. хотя ожидание ICE кандидатов стоит 5 сек. связь намного стабильниее и устойчивее (до этого пропадал звук ну не думаю что это связано) Итого код
Не стоит ограничиваться одним STUN адресом даже если он от гугла. p.s. Тех.поддержка сказала что использовать стоит только stun:stun.l.google.com:19302
| ||||||||||
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии


