Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kamailio как proxy для WebRTC

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for IqTek IqTek
September 30, 2019

Kamailio как proxy для WebRTC

Транспорт, такой как TCP, TLS или UDP
Требуемые модули: sl, nathelper/outbound, xhttp, websocket
Полезные модули: auth_ephemeral, rtpproxy-ng

Avatar for IqTek

IqTek

September 30, 2019
Tweet

More Decks by IqTek

Other Decks in Programming

Transcript

  1. Конференция Kamailio 2019 WebSocket • Транспорт, такой как TCP, TLS

    или UDP • Требуемые модули: sl, nathelper/outbound, xhttp, websocket • Полезные модули: auth_ephemeral, rtpproxy-ng
  2. Конференция Kamailio 2019 NAT • JS приложение всегда за NAT,

    так как не имеет возможности узнать адрес и порт внешнего подключения • SIP сервер не может доверять адресу и порту в SIP сообщения, полученных через WS • nathelper/outbound могут решить эту проблему
  3. Конференция Kamailio 2019 Авторизация • У веб-сайта есть собственная авторизация

    • Реальные SIP учетные данные - плохо Для WebRTC не требуется выделение реальных SIP учетных данных
  4. Конференция Kamailio 2019 auth_ephemeral • Выделение имени и пароля из

    GET запроса и авторизация • Проверка from-uri или to-uri в SIP как имени пользователя
  5. Конференция Kamailio 2019 Задача • Поддержка WebRTC для PBX, не

    имеющих такой возможности • Разгрузить Asterisk от транскодинга и шифрования • Авторизация на Asterisk
  6. Конференция Kamailio 2019 Проблемы • Пересылка по TCP, так как

    тело WebRTC запросов слишком велико • Уменьшение тела SDP, из-за ограничений pjsip (sic!) • Регистрация ◦ Сохранение при получении запроса ◦ Удаление при любом неудачном ответе ◦ В ON_REPLY save() не тот сокет ◦ Хранение только в памяти ◦ БД - для отладки