Документация Webitel

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

Этот раздел описывает базовую архитектуру промышленной среды Webitel, рассчитанную на ~400 тыс. звонков и ~100 тыс. чатов в день.

1. Общая схема архитектуры

Webitel Basic.png

2. Требования к среде развертывания

Архитектура Webitel рассчитана на работу в средах с изолированными и гарантированными ресурсами. Использование бюджетных VPS/VDS (Virtual Private/Dedicated Server) с разделённым процессорным временем (Shared CPU) не рекомендуется из-за рисков появления “шумных соседей” (noisy neighbors) и высоких сетевых задержек, что критично для качества работы VoIP-компонентов (FreeSWITCH, RTP, OpenSIPS).

Поддерживаемые платформы:

  • On-Premise (локальные серверы):

    • Физические серверы (Bare Metal);

    • Корпоративные гипервизоры (VMware, KVM, Xen, Proxmox VE).

  • Облачные провайдеры (Cloud Providers):

    • AWS (Amazon EC2);

    • Google Cloud (Compute Engine);

    • Microsoft Azure (Virtual Machines);

    • DigitalOcean (Droplets);

    • Hetzner (Cloud / Dedicated).

ВАЖНО! При выборе тарифных планов у облачных провайдеров (особенно DigitalOcean и Hetzner) настоятельно рекомендуется выбирать виртуальные машины категории:

  • Dedicated vCPU, или

  • Compute-Optimized,

для компонентов, отвечающих за обработку медиа и голоса.

3. Описание общей инфраструктуры

Для промышленной среды со средней нагрузкой ~400 тыс. звонков в день (250–350 одновременных с записью) и ~100 тыс. чатов в день необходимо подготовить 3 виртуальных машины (пункты 1–3 в таблице ниже).

Требования к развертыванию:

  • Установить только операционную систему и оставить доступ в Интернет для загрузки и установки дополнительного ПО.

  • После завершения установки доступ в Интернет может быть отключён.

  • Доступ разработчикам предоставляется по SSH с правами root на время, необходимое для установки и тестирования приложений.

  • Виртуальные машины 1–3 должны работать в едином VLAN, без фильтрации трафика по портам (разрешить всё).

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

4. Спецификация серверов

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 протоколу и работы телефонии в браузере.


  1. 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, >5000 IOPS

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



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

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

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

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

  1. 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


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

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

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

  1. External Data Services




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

  1. Team

Microsoft Windows 11 / Linux 64bit

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

  • 4 vCPU

  • 8Gb RAM

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

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

  1. Hardware SIP Phone



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

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

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

  1. PSTN




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

5. Требования к сетевым параметрам


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

Задержка (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% значительно ухудшат качество связи, вызывая ощутимые прерывания, артефакты или «зависание» видео.