Автор Тема: SIP  (Прочитано 1723 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн lan143

  • Знакомое лицо
  • Пол: Мужской
SIP
« : 27 Мая 2015, 11:44:38 »
Начал изучать SIP телефонию, но просто утонул в огромном кол-ве информации и не понятны некоторые моменты. Надеюсь на вашу помощь. Итак, у нас есть провайдер IP телефонии. Сейчас все трубки подключаются напрямую к нему. И это в принципе все замечательно, но встала такая проблема, что нужно звонить с сайта. Провайдер не поддерживает sip через websocket, поэтому погуглив наткнулся на проект OverSIP. Он как я понял может являться проксей между websocket и провайдером. Настроил на тесте, запустил, пытаюсь звонить с браузера, звонок идет, но когда принимающая сторона берет трубку звонок сбрасывается браузером (библиотека говорит Bad Media Description). Из описания ошибок в библиотеке (JsSIP) сказано, что это Received SDP is wrong. Но не понятно что именно не так, кодек не поддерживается или реально не правильный формат сообщения. Сам блок SDP выглядит вот так:
v=0
o=- 18446744072400999728 18446744072400999728 IN IP4 81.88.86.69
s=-
c=IN IP4 81.88.86.69
t=0 0
m=audio 47450 RTP/AVP 8 126
c=IN IP4 81.88.86.69
a=rtpmap:8 PCMA/8000
a=rtpmap:126 telephone-event/8000
a=sdpmangled:yes
и судя по описанию с википедии формат верный (разве что меня смущает пустая строка названия сессии).
А вот то, что говорит провайдер:
Цитировать
Используемый кодек - G.711A (PCMA), G.729А
«Рекомендуем использовать payload для g.711 20мс» (как правило это значение по умолчанию во всех телефонах).
Рекомендуем видеокодек - VP8, H.264
Метод передачи DTMF - RFC 2833
Как я понял, Asterisk поддерживает все полностью. Поэтому вопрос: можно ли его как-то настроить, чтобы он являлся шлюзом между провайдером и websocket соединением? Или может кто-нибудь сталкивался с OverSIP и в курсе как его использовать? По документации на офф сайте мало чего понятно.

Оффлайн Raido

  • Редкий гость
Re: SIP
« Ответ #1 : 01 Июня 2015, 01:16:57 »
посмотрите,  data transfer method RFC 2833 у вашего провайдера. когда как jssip работают с вебсокетами, описанными в RFC  6455 https://github.com/versatica/JsSIP/blob/master/dist/jssip.js#L23803
что то подобное поддерживает вот это либа (или связки либ) https://github.com/mscdex/sipster

Оффлайн Raido

  • Редкий гость
Re: SIP
« Ответ #2 : 01 Июня 2015, 01:35:32 »
Хотя я могу и ошибиться в чем то. Особо не курил это дело. Но тема интересная. И интересно было посмотреть на реализацию.

Оффлайн lan143

  • Знакомое лицо
  • Пол: Мужской
Re: SIP
« Ответ #3 : 20 Июня 2015, 21:22:09 »
Да вот с реализацией самая фигня и есть. В том, что имеется на данный момент SIP траффик без проблем гоняется между браузером и провайдером, но вот конкретно с передачей медиа данных туго. Методом изучения ошибок, которые выдают API браузера пришел к тому, что с какой-то версии хрома требуется обязательное шифрование медиа данных, или как-то так (точно не помню, давно уже этим вопросом не занимался), что провайдер не предоставляет. Я тогда попробовал другие сервера, но так и не получилось их нормально настроить, чтобы все работало. Скоро опять вернусь к этому вопросу, и если ничего дельного не получится придумать, походу придется Flashphone покупать :-(

Оффлайн lan143

  • Знакомое лицо
  • Пол: Мужской
Re: SIP
« Ответ #4 : 12 Июля 2015, 15:37:34 »
Кто-нить с FreeSwitch сталкивался?

Оффлайн lan143

  • Знакомое лицо
  • Пол: Мужской
Re: SIP
« Ответ #5 : 13 Июля 2015, 18:55:54 »
В общем сам разобрался.

Оффлайн Dr. Dro

  • Авторитет
  • сингулярность неизбежна
Re: SIP
« Ответ #6 : 14 Июля 2015, 10:14:11 »
И так всегда

Оффлайн DoReMi

  • Админы
  • *****
  • Пол: Мужской
    • БЛОГОДОРЕМИЕ
Re: SIP
« Ответ #7 : 14 Июля 2015, 10:26:13 »
И так всегда
не всегда, а обычно ;)
Вы держитесь здесь,  вам всего доброго, хорошего настроения, здоровья. ©

Оффлайн point212

  • Модераторы
  • *****
  • Пол: Мужской
  • Мосс смотрит на вас...
Re: SIP
« Ответ #8 : 14 Июля 2015, 11:53:09 »
Дык расписал бы решение. Гугл форумы индексирует. Может кто-то когда-то будет искать решение подобной проблемы и тут найдёт.