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, 2000 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% значно погіршать якість зв’язку, викликаючи відчутні переривання, артефакти або “зависання” відео.