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

JsSip проблема с долгим подключением к sdp

Запись от brain-4-me размещена 17.03.2020 в 15:55
Показов 4297 Комментарии 0

Здравствуйте! Может у кого будет еще проблема с которой я боролся три дня! В инете собирал по крупицам! В общем проблема такая, настраивали JsSip + WebRTC все работало нормально, но в один прекрасный момент дозвон стал доходить только через 40 секунд, проблем с сервером не было, STUN сервера перебрали все...
проблема заключалась (а может и не проблема) в самом JsSip (на данный момент версия 3.3.11)
есть так прекрасный Promis который заключается в отдаче sdp кандидатов браузеру для дальнейшего соединения, так вот она перебирала всех! кого только можно) итого задержка вызова +40с

а решается просто нужно заменить немного в функции
а именно (по моей версии строки 18575 - 18612)
все что там есть на
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
        return new Promise(function (resolve) {
          var listener;
          connection.addEventListener('icecandidate', listener = (event) =>
          {
            setTimeout(function()
            {
              if (connection.iceGatheringState === 'complete')
              {
                return;
              }
              debug('ICE Timeout reached!');
              connection.removeEventListener('icecandidate', listener);
              _this13._rtcReady = true;
 
              const e = { originator: 'local', type: type, sdp: connection.localDescription.sdp };
 
              debug('emit "sdp"');
 
              _this13.emit('sdp', e);
 
              resolve(e.sdp);
 
            }, 1000);
            const candidate = event.candidate;
            if (! candidate)
            {
              connection.removeEventListener('icecandidate', listener);
              _this13._rtcReady = true;
 
              const e = { originator: 'local', type: type, sdp: connection.localDescription.sdp };
 
              debug('emit "sdp"');
 
              _this13.emit('sdp', e);
              resolve(e.sdp);
            }
          });
        });
и все прекрасно соединяется за секунды!
может кому поможет) если будут вопросы спрашивайте) я на нем уже "собаку съел"

ошибка вида такого

JsSIP:RTCSession new +0ms
JsSIP:RTCSession connect() +1ms
JsSIP:RTCSession emit "peerconnection" +6ms
JsSIP:RTCSession newRTCSession() +0ms
JsSIP:RTCSession session connecting +42ms
JsSIP:RTCSession emit "connecting" +0ms
JsSIP:RTCSession createLocalDescription() +40s
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии
 
Новые блоги и статьи
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка 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С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru