Базовая архитектура промышленной среды

Для промышленной среды со средней нагрузкой около 400 тыс. звонков в день, (250-350 одновременных звонков с записью) и около 100 тыс. чатов в день необходимо подготовить 3 виртуальных машины, указанных в пунктах 1-3 таблицы ниже. Необходимо установить только операционную систему и оставить доступ в Интернет для возможности скачать установить все дополнительное ПО. По завершению установки, доступ в Интернет с виртуальных машин может быть отключен. Доступ к серверу разработчикам предоставляется по SSH с правами пользователя root  на время нужное для установки и тестирования приложений. Виртуальные машины 1-3 должны иметь возможность работать в едином VLAN без фильтрации трафика по портам (разрешить все).

Резервирование должно происходить средствами виртуальных машин.

Object

Software

Resources (min)

Connectivity

Description

Object

Software

Resources (min)

Connectivity

Description

1. Telephony application server

Debian 12 Linux 64bit - базовая серверная установка с SSH подключением;

Установим самостоятельно:

OpenSIPS 3.4; rtpengine; nginx; SSL; 

  • 4 vCPU > 2,6 GHz (поколение Haswell или новее), Не более 2 виртуальных ядер на 1 физическое ядро

  • 8Gb RAM

  • 60 GB, 1000 IOPS

  • 1 сетевой интерфейс >= 1 GbE

in-out: 80/tcp, 443/tcp, 5060/tcp, 5060/udp

in-out: 10000-50000/udp

Сервер телефонии. Обязательно наличие SSL сертификатов с доверенным CA для обеспечения защищенного подключения по HTTPS протоколу и работы телефонии в браузере.



2. Database Server

Debian 12 Linux 64bit - базовая серверная установка с SSH подключением;

Установим самостоятельно:

Linux; PostgreSQL 15; Grafana; Consul; RabbitMQ; 

  • 8 vCPU, > 2,8 GHz (поколение Haswell или новее), Не более 2 виртуальных ядер на 1 физическое ядро

  • 16Gb RAM

  • 60 GB, 1000 IOPS

  • 250 GB, 2000 IOPS

  • 1 сетевой интерфейс >= 1 GbE





  • База данных.

  • Сервис регистрации микросервисов.

  • Шина обмена сообщениями.

Рекомендуем продублировать сервер, для настройки Streaming Replica

3. Application Server

Debian 12 Linux 64bit - базовая серверная установка с SSH подключением;

Установим самостоятельно:

FreeSWITCH 10; Webitel FlowManager; Webitel App; Webitel API GW; Storage; CallCenter; Engine; Messages

  • 8 vCPU, > 2,6 GHz (поколение Haswell или новее), Не более 2 виртуальных ядер на 1 физическое ядро

  • 16Gb RAM

  • 80 GB, 1000 IOPS

  • 1 TB, 200 IOPS, <10 мс (если не используется S3)

  • 1 сетевой интерфейс >= 1 GbE



  • Сервер приложений.

  • Сервер создания голосовых меню.

  • Хранилище записей разговоров.

4. External Data Services







Взаимодействие с внешними системами происходит по средствам HTTP REST.

5.  Team

Microsoft Windows 11 / Linux 64bit

Google Chrome / Microsoft Edge (последняя либо предпоследняя версии)

  • 4 vCPU

  • 8Gb RAM

Подключение к ИС не менее 2 Мб/c на пользователя, с задержками не более 15-20 мс.

Рабочее место  сотрудников

6. Hardware SIP Phone





Подключение к ИС не менее 5 Мб/c на аппарат, с задержками не более 15-20 мс.

in-out: 5060/udp, 10000-20000/udp

Аппаратный телефон с поддержкой протокола SIP 2.0

7. PSTN







Телефонная сеть общего пользования (Public Switched Telephone Network) — всеобщая абонентская сеть связи, для доступа к которой используются телефонные аппараты, АТС и оборудование передачи данных.





Скорость подключения

Задержка (Ping)

Джитер (Jitter)

Потери пакетов



Скорость подключения

Задержка (Ping)

Джитер (Jitter)

Потери пакетов

WebRTC  

  • Для аудиозвонков: минимум 100-300 Kbps.

  • Для видеозвонков (стандартное качество): минимум 1-2 Mbps.

  • Для видео в высоком качестве (HD или Full HD): минимум 2-4 Mbps.

  • Для конференций или трансляций (4K видео): рекомендуется 8-25 Mbps.

  • Оптимальная задержка для WebRTC должна быть меньше 50 мс.

  • Допустимая задержка: 50-100 мс.

  • Если задержка превышает 150 мс, это может привести к ощутимым задержкам во время разговора, или видео.

  • Оптимальное значение джитера должно быть менее 30 мс. Джитер является вариацией в задержке пакетов, и если это значение слишком высокое, качество аудио, или видео, может значительно ухудшиться.

  • Значение более 50 мс может вызвать искажения или задержки аудио/видео.

  • Оптимальное значение потерь пакетов для WebRTC: менее 1%.

  • Потери до 2-3% могут быть приемлемыми для аудио, но уже ухудшат качество видео.

  • Потери более 5% значительно ухудшат качество связи, вызывая ощутимые прерывания, артефакты или «зависание» видео.