Перейти к содержанию

3. Состав и структура ПП

3.1. Общая архитектура ПП

ПП представляет собой единый серверный процесс, выполненный в виде нативного исполняемого файла (Windows/Linux) или контейнера Docker. Процесс включает встроенные подсистемы:

  • HTTPS/WSS‑сервер — обработка сигнализации, командных запросов, stateless API и раздача статических файлов (клиенты, ресурсы приложения);
  • UDP‑транспорт (SRTP/RTP) — приём, маршрутизация и ретрансляция медиапотоков между участниками;
  • Локальная база данных — хранение основных служебных данных ПП;
  • Модуль авторизации — при наличии интеграции выполняет обращения к внешнему SSO/LDAP/AD по SPN пользователя;
  • Статические файлы — клиентские дистрибутивы (Windows, Linux), web‑клиент, ресурсы интерфейса.

ПП может запускаться:

  • как нативный сервис Windows;
  • как systemd‑служба в Linux;
  • как контейнер Docker.

Клиенты ПП:

  • нативные клиенты Windows и Linux;
  • web‑клиент (SPA, JavaScript), взаимодействующий через WSS/WebRTC;
  • специальные клиенты‑агенты (микшер, рекордер), подключающиеся к конференции как отдельные участники.

3.2. Основные программные компоненты

  1. Core‑сервер (VGServer Process) — ядро ПП, обеспечивающее работу всех подсистем.
  2. HTTPS/WSS‑подсистема — управление сессиями, командами, сигналинг, работа с SPA‑клиентом.
  3. UDP‑транспортный модуль — работа с RTP/SRTP, маршрутизация медиапотоков.
  4. Translator — обработка медиапотоков отдельных пользователей.
  5. Mixer (консолидатор) — формирование единого смешанного потока для клиентов с низкой пропускной способностью.
  6. Recorder — специальный клиент для записи конференции.
  7. Auth/SSO модуль — взаимодействие с AD/LDAP/SSO (при наличии интеграции у Заказчика).
  8. Local Database Engine — работа с основными служебными данными ПП.
  9. Web‑клиент (SPA) — клиентская часть, поставляемая как статические файлы.
  10. Native Client Engine (Windows/Linux) — нативные клиенты, использующие протоколы ПП напрямую.

3.3. Взаимодействие компонентов

  • Пользовательские клиенты устанавливают соединение с HTTPS/WSS‑подсистемой для сигналинга.
  • Медиапотоки пересылаются через UDP‑транспорт (SRTP), при недоступности UDP web‑клиент использует бинарный WebSocket‑канал.
  • Каждый RTP‑поток обрабатывается соответствующим Translator.
  • При ухудшении канала клиента ПП автоматически подключает Mixer, формируя единый смешанный поток для данного участника.
  • Recorder присоединяется к конференции как клиент и записывает медиапотоки.
  • SSO/LDAP/AD используется при наличии внешней системы авторизации (интеграция опциональна).
  • Все статические файлы, включая web‑клиент, отдаёт сам VGServer.

3.4. Архитектурные уровни

Уровень клиентов:

  • Нативные клиенты (Win/Linux).
  • Web‑клиент SPA.
  • Спецклиенты: Mixer, Recorder.

Уровень транспортной подсистемы:

  • HTTPS/WSS — сигналинг, авторизация.
  • UDP (RTP/SRTP) — медиатрафик.

Уровень серверных модулей:

  • VGServer Process:
  • HTTP/Signal Layer
  • Media Transport Layer
  • Translators
  • Mixer
  • Recorder
  • Auth Adapter
  • Static Files Engine
  • Local DB

Уровень хранения:

  • Основная БД
  • БД исторических данных
  • Файлы пользователей
  • Записи конференций