Как стать автором
Обновить

Комментарии 18

2 месяца назад для своего сервиса содержащего видеозвонки выбрали именно эту технологию, потому что увидели как это отлично работает в Битрикс24.

Спасибо за такую развернутую статью!
Если я правильно понял

: В WebRTC можно поступить проще — в видеоконференции каждый браузер держит видеопоток каждого участника. Это вы должны запрограммировать внутри браузера на js самостоятельно и связать с signaling. Да, трафик тут увеличивается, но для звонков внутри компании на несколько человек — данное решение подкупает своей простотой и эффективностью.


то технология идеальна для соединения точка-точка, но хлопотны именно конференции?
Кстати, спасибо за статью. Нам это нужно

От чего зависит relay-режим?
Если только от внутренних фаерволов то я думаю тут можно в большинстве случаев все отстроить самим.
Relay-режим нужен тогда, когда один браузер не может отправить другому зашифорованный UDP-пакет с медиа-данными. Это обычно случается при использовании особой конфигурации — симметричного NAT в одной из подсетей компании. Но по статистике такое происходит в 10% случаев.

Да, если внутри компании у вас symmetric-NAT, то звонки могут не ходить без внутреннего TURN relay-сервера.
Все верно, технология была именно для этого и сделана, совершать звонки пользователь-пользователь.
Можно по WebRTC проводить видеоконференции на несколько человек спокойно.
Количество этих нескольких? 2-3 или 10-15
3-4
Кто рос в СССР — тот поймет )))

image
ах да :-) повеяло электронником, бременскими музыкантами и кружками «Юный техник»
Если нужны детали — можем поделиться, но задача статьи была — дать общее видение технологии, фич и рисков для принятия бизнес-решений.
Chrome, Firefox, Opera — или не работают, или формально работают, а фактически нет.

Недавно баловался видео конференциями и честно говоря не наблюдал особых проблем связи хрома с лисой. Быть может я что то упустил. Поведайте о каких именно вы проблемах говорите.
У нас была/есть другая проблема — соединение с Asterisk нормально отрабатывает только Chrome.

Firefox не отрабатывает посылку каких-то заголовков, есть у них вялотекущий тикет на эту тему.
Asterisk пока что не умеет работать с dtls-srtp. Хром работает на sdes-srtp. Точнее поддерживает оба этих алгоритма, а fitefox только dtls. Отсюда и проблема.
Была проблема поддержкой Firefox опций авторизации на TURN-сервере, когда требовалось реализовать relay-звонок. Еще помню кейс — когда с одного на другой можно позвонить, наоборот проблемно. Коллеги дополнят.
А все просто — рассуждая на пальцах SIP — это разновидность мощного и гибкого signaling (см. выше). Но если вы напишите signaling сами — зачем вам тогда зведолет межгалактического уровня с фотонными ракетами SIP?


WebRTC отличная технология но у нее есть один большой минус, она способна работать самостоятельно в рамках только одной системы. Иными словами вы не сможете позвонить из вашего приложения в чужое, так как вы не способны обмениваться информацией между двумя системами, этого WebRTC просто не предусматривает. Попробуйте отправить сообщение из вконтакта в фейсбук или гуглплюс. Понимаете о чем я? А написать письмо из яндекса в гугл!
Протокол SIP так-же как и mail создавался как-раз для того чтобы объединять независимые системы и это у него в крови, именно он должен составлять ядро всей телекоммуникационной системы.
vasyapupkin@example.com — вот что действительно представляет большую ценность и способно объединять людей. Хотя для бизнеса важнее обратное (я так думаю).

P.S. Говорить о том что WebRTC сделает всем хорошо, лукаво, оно сделает хорошо только в рамках конкретной группы людей.
Загадочное слово signaling переводится на русский, как телефонная сигнализация. ru.wikipedia.org/wiki/Телефонная_сигнализация

А по существу статьи, я и раньше подозревал что WebRTC это попытка впихнуть невпихуемое. То что авторам статьи это удаолсь — жму руку! Такое ощущение, что создатели WebRTC дали пользователям только половину технологии: кодирование и декодирование медиапотока, ну а если вы хотите еще и вызовы совершать, так напишите себе signaling. (и здесь картинка соединения двух браузеров через двойной NAT из статьи)
Можно будет взять готовое решение, чтобы не ломать голову над этим вопросом, коллеги упомянули нашу платформу в тексте — она все упрощает до JS API
Зарегистрируйтесь на Хабре, чтобы оставить комментарий