Звонки и стримы в Диалог

Звонки и стримы в Диалог


1. Звонки 1-на-1 — сервер НЕ видит медиа

Архитектура: P2P WebRTC. rtc-server.js — только сигналинг (передаёт SDP/ICE), сам медиапоток через него не проходит.

Почему сервер не видит:

DTLS-handshake идёт напрямую между устройствами — ключи шифрования выводятся на телефонах, сервер их не получает.

Медиа идёт P2P или через TURN-релей; TURN форвардит запечатанные SRTP-пакеты вслепую — ключей у него нет, расшифровать не может.

Шифрование: DTLS-SRTP (включено по умолчанию), сигналинг — TLS/WSS.

➡️ Результат: содержимое звонка 1-на-1 недоступно ни серверу, ни провайдеру, ни прослушке из сети. Фактически E2E.


2. Трансляции через SFU — сервер ВИДИТ поток (by design)

Архитектура: stream-server.js на mediasoup (SFU), схема producer → consumer.

Почему SFU видит стрим:

SFU — не P2P, а ретранслятор. Чтобы раздать один поток множеству зрителей, он обязан терминировать DTLS на себе:

Вещатель шифрует поток и отправляет в SFU (DTLS-сессия вещатель↔SFU).

SFU расшифровывает SRTP — иначе не прочитает RTP-заголовки и не сможет маршрутизировать.

SFU заново шифрует и рассылает каждому зрителю (своя DTLS-сессия на зрителя).

Между шагами 2–3 поток лежит в памяти worker'а mediasoup в открытом виде — у SFU есть ключи обеих сторон. Это принцип работы любого SFU, а не дефект: forwarding-сервер физически должен видеть RTP, чтобы раздать его аудитории. Цена за масштабирование на много зрителей — отсутствие E2E.

Тип Транспорт Сервер видит контент?

Звонок 1-на-1 P2P / TURN (DTLS-SRTP) Нет — ключи только на устройствах

Трансляция / SFU mediasoup (DTLS-SRTP до SFU) Да — SFU расшифровывает для раздачи

Транспорт защищён везде (DTLS-SRTP + TLS). Разница в одном: P2P-звонок шифруется от собеседника к собеседнику, а SFU-стрим — только до сервера, потому что сервер должен ретранслировать поток.

mediasoup — это не SaaS и не готовый продукт. Компании встраивают его как библиотеку и не обязаны об этом говорить. По данным агрегаторов, около 38 компаний публично используют mediasoup (Reo) , но реальная цифра значительно выше.

Также на его основе построены популярные open-source платформы (MiroTalk SFU, multiparty-meeting), которые в свою очередь используются другими организациями.

Report Page