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

Архитектура Webitel

Этот раздел описывает общую архитектуру платформы Webitel, основные компоненты системы и требования к среде развертывания.

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

Screenshot 2026-05-25 at 16.44.09.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. Варианты развертывания

4. Детальная схема взаимодействия компонентов

Architecture by services.png

4.1. Описание компонентов

Название

Описание

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 - чтение статусов диалогов

  • Cases - обмен событиями Обращений

OpenSIPS

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

STUN/TURN

coTURN - используется функционалом подключения к рабочему столу оператора для прохождения NAT (опционально).

RTP

rtpengine - обеспечивает работу мультимедиа протоколов

FreeSWITCH

Голосовой медиасервер. Позволяет создать IVR меню и объединять голосовые каналы.
К базовой поставке включаются дополнительные модули:

  • Webitel GRPC

  • AMD - работа с автоответчиками

  • AMQP - работа с rabbitmq

  • Transcribe - модуль асинхронной работы с STT

  • PUSH - поддержка PUSH сообщений для регистраций на мобильных устройствах (iOS\Android)

AI AMD v2

Нейронная сеть для определения автоответчиков при работе автодайлеров (опционально).

WebRTC Rec

Сервис записей экранов оператора (опционально).

nginx

Веб-сервер приложений. Обеспечивает проксирование HTTP REST API и WebSocket.

Grafana

Сервис построения отчетов и дашбордов из базы данных по звонкам, чатам и пользователям

Webitel API Gateway

Шлюз между публичным HTTP REST API и внутренним GRPC протоколом

Webitel Applications

Менеджер лицензий и статусов пользователей

Webitel UAC

Поддержка SIP подключений с регистрацией на оператора (PSTN)

Messages Bot

Публичный сервис регистрации и взаимодействия с чат-ботами

Messages Portal

Сервис работы с внешними портальными пользователями и мобильным SDK

Messages Worker

Внутренний сервис обработки текстовых сообщений

Engine Worker

Внутренний сервис работы с WebSocket протоколом и API

CallCenter Worker

Внутренний сервис работы с менеджером очередей, дайлеров и операторов КЦ

Flow Manager

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

Storage

Сервис обработки и хранения медиафайлов. Обеспечивает работу сервисов TTS\STT.
Если не используется S3 хранилище, то файлы записей разговоров хранятся в /opt/storage , если при установки не было указано другое.

Logger

Сервис отслеживания изменений.

Cases

Сервис работы модуля Обращений

ESF

Сервис полнотекстового поиска (опционально)