Webitel Architecture

Встановлення та ліцензування Webitel на одному сервері — до 50 тис. дзвінків на день.

Базова архітектура промислового середовища — близько 400 тис. дзвінків на день.

Розширена архітектура промислового середовища — близько 500 тис. дзвінків на день.

Назва

Опис

Назва

Опис

Debian Linux 12

Операційна система, під якою ведеться розробка комплексу додатків Webitel.

PostgreSQL 15

Критично важливий елемент архітектури. Основна база даних для зберігання конфігурації та даних користувачів. Усі додатки (крім RTP, FreeSWITCH і nginx) підключені до бази даних.
Фізично файли бази даних зберігаються в /var/lib/postgresql, якщо під час встановлення не було вказано інше.
До базової поставки включаються додаткові модулі:

  • TimescaleDB;

  • Webitel Extension.

Consul

Критично важливий елемент архітектури. Децентралізований відмовостійкий discovery-сервіс від компанії HashiCorp. Кожен застосунок (крім PostgreSQL, RTP, OpenSIPS і nginx) реєструється в цьому сервісі.

rabbitmq

Критично важливий елемент архітектури. Шина обміну повідомленнями між сервісами:

  • OpenSIPS - публікація статусів реєстрацій пристроїв і діалогів;

  • FreeSWITCH - публікація статусів діалогів і виконання голосових застосунків;

  • Webitel - публікація і читання статусів користувачів і голосових каналів;

  • Messages - публікація текстових додатків;

  • Engine - публікація та читання статусів користувачів;

  • CallCenter - публікація і читання статусів операторів. Публікація та читання статусів роботи дайлерів;

  • Flow - публікація і читання статусів виконання голосових і текстових застосунків;

  • Storage - читання статусів діалогів.

OpenSIPS

SIP Proxy - забезпечує роботу сигнального протоколу (SIP\WebRTC).

RTP

rtpengine - забезпечує роботу мультимедіа протоколів.

FreeSWITCH

Голосовий медіасервер. Дозволяє створити IVR меню та об'єднувати голосові канали.
До базової поставки включаються додаткові модулі:

  • Webitel GRPC;

  • AMD - робота з автовідповідачами;

  • AMQP - робота з rabbitmq;

  • Transcribe - модуль асинхронної роботи зі STT;

  • PUSH - підтримка PUSH повідомлень для реєстрацій на мобільних пристроях (iOS\Android).

nginx

Вебсервер додатків. Забезпечує проксування HTTP REST API та WebSocket.

Grafana

Сервіс побудови звітів і дашбордів із бази даних за дзвінками, чатами та користувачами.

Webitel API Gateway

Шлюз між публічним HTTP REST API та внутрішнім GRPC протоколом.

Webitel Applications

Менеджер ліцензій і статусів користувачів.

Webitel UAC

Підтримка SIP підключень з реєстрацією на оператора (PSTN).

Messages Bot

Публічний сервіс реєстрації та взаємодії з чат-ботами.

Messages Worker

Внутрішній сервіс обробки текстових повідомлень.

Engine Worker

Внутрішній сервіс роботи з WebSocket протоколом і API.

CallCenter Worker

Внутрішній сервіс роботи з менеджером черг, дайлерів і операторів КЦ.

Flow Manager

Внутрішній сервіс інтерпретації JSON схем у маршрутизацію дзвінків, ботів, голосових меню та іншого. Взаємодіє із зовнішніми HTTP-вебсервісами, викликає Web-хуки, може виконувати запити до зовнішніх SQL-баз даних.

Storage

Сервіс обробки та зберігання медіафайлів. Забезпечує роботу сервісів TTS\STT.
Якщо не використовується S3 сховище, то файли записів розмов зберігаються в /opt/storage, якщо під час установлення не було вказано інше.

Logger

Сервіс відстеження змін.