Библиотека JsSIP - нет запроса или ответа для метода вызова - PullRequest
0 голосов
/ 04 ноября 2018

Я использую библиотеку JsSIP для подключения к моему SIP-серверу freeswitch и вызова на нем. вот мой код, такой же, как пример кода на странице JsSIP github :

jssip_1.debug.enable('JsSIP:*');
var socket = new jssip_1.WebSocketInterface('wss://85.85.8.5:7443');
var configuration = {
   sockets: [socket],
   uri: 'sip:282132646427442@abc.xyz',
   password: '123456',
   register_expires: 1800,
};
var ua = new jssip_1.UA(configuration);
ua.start();

// Register callbacks to desired call events
var eventHandlers = {
   'progress': function (e) {
       console.log('call is in progress');
   },
   'failed': function (e) {
       console.log('call failed with cause: ' + e.data.cause);
   },
   'ended': function (e) {
       console.log('call ended with cause: ' + e.data.cause);
   },
   'confirmed': function (e) {
       console.log('call confirmed');
   }
};
var options = {
   'eventHandlers': eventHandlers,
   'mediaConstraints': { 'audio': true, 'video': true },
   'extraHeaders': [
   'X-rol: caller',
   'X-rid: 01',
   'X-src-app: 12345' ,
   'X-srv: a2a',
   'X-ver: 1'
   ],
};
setTimeout(function () {
   var session = ua.call('sip:25896456525@abc.xyz', options);
}, 3000);

С этим кодом я отправляю запрос на регистрацию, и соединение установлено успешно. Я выложил здесь несколько журналов связи:

JsSIP: Транспортное отправляющее сообщение:

РЕГИСТРАЦИЯ sip: @ abc.xyz SIP / 2.0

Через: SIP / 2.0 / WSS hdnbf6qreal4.invalid; ветвь = z9hG4bK8363908

Макс-форварды: 69

Кому: sip: 282132646427442@abc.xyz>

От: sip: 282132646427442@abc.xyz>; tag = gkej80tf03

Call-ID: fnblcnmvcbr9p61nl9slv0

CSeq: 2 РЕГИСТРАЦИЯ

Авторизация: алгоритм дайджеста = MD5, имя пользователя = "282132646427442", realm = "abc.xyz", nonce = "16352d5c-d761-43f0-af0b-7eb4bfd607c0",

uri = "sip: abc.xyz", response = "f8c20be99ca1b84b5a6bf805c84662dd",

qop = auth, cnonce = "75c61daautv7", nc = 00000001

* +1032 * Контакт: + sip.ice; р-ID = 1 + sip.instance = ""; истекает = 1800

Истекает: 1800

Разрешить: INVITE, ACK, ОТМЕНА, BYE, ОБНОВЛЕНИЕ, СООБЩЕНИЕ, ОПЦИИ, REFER, INFO

Поддерживается: путь, груу, исходящий

Пользователь-агент: JsSIP 3.2.15

Длина содержимого: 0

JsSIP: Транспорт получило текстовое сообщение:

SIP / 2.0 200 OK

Через: SIP / 2.0 / WSS hdnbf6qreal4.invalid; ответвление = z9hG4bK8363908; получено = 192.168.104.182; rport = 57890

От:; tag = gkej80tf03

Кому:; tag = r672gj5BUmH1m

Call-ID: fnblcnmvcbr9p61nl9slv0

CSeq: 2 РЕГИСТРАЦИЯ

Контакт:; истекает = 497

Контакт:; истекает = 1800

Дата: вс, 04 ноября 2018 12:56:14 GMT

Пользователь-агент: FreeSWITCH-mod_sofia / 1.6.13 + git ~ 20161214T213702Z ~ d422498d0f ~ 64bit

Разрешить: ПРИГЛАСИТЬ, ACK, BYE, ОТМЕНА, ОПЦИИ, СООБЩЕНИЕ, ИНФОРМАЦИЯ, ОБНОВЛЕНИЕ, РЕГИСТРАЦИЯ, ССЫЛКА, УВЕДОМЛЕНИЕ

Поддерживается: таймер, путь, заменяет

После этого я ожидал, что отправлю и получу сообщение типа INVITE для начала вызова, но в консоли браузера ничего не печаталось:

JsSIP: вызов UA () + 3s browser.js: 183 JsSIP: RTCSession новый + 22м

browser.js: 183 JsSIP: RTCSession connect () + 1ms

browser.js: 183 JsSIP: RTCSession отправляет "peerconnection" + 4ms

browser.js: 183 JsSIP: RTCSession newRTCSession () + 1ms

browser.js: 183 JsSIP: сбой сеанса RTCSession + 81мс

browser.js: 183 JsSIP: RTCSession close () + 1ms

browser.js: 183 JsSIP: отправка RTCSession «сбой» + 2ms

Есть ли проблема в моем коде или на моем сервере? Я проверил логи сервера, но после регистрации нет запроса на какой-либо звонок.

...