Форум программистов, компьютерный форум, киберфорум
brain-4-me
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  

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 (благо там все настроено за нас это надо только включить)
JavaScript
1
  JsSIP.debug.enable('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 сек. связь намного стабильниее и устойчивее (до этого пропадал звук ну не думаю что это связано)

Итого код
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
    options = {
      eventHandlers   : eventHandlers,
      mediaConstraints : { 'audio': 1, 'video': false },
      rtcOfferConstraints: {'offerToReceiveAudio': 1, 'offerToReceiveVideo': false},
      sessionTimersExpires: 7200,
      iceRestart: true,
      pcConfig: {
        iceServers: [
          { 'urls': ['stun:stun.l.google.com:19302','stun:stun01.sipphone.com','stun:stun.ideasip.com','stun:s1.voipstation.jp','stun:stun.services.mozilla.com'] },
        ]
      }
    };
Мой вывод.
Не стоит ограничиваться одним STUN адресом даже если он от гугла.

p.s. Тех.поддержка сказала что использовать стоит только stun:stun.l.google.com:19302
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии
 
Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru