Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Gliffy
imageAttachmentIdatt27590667
baseUrlhttps://webitel.atlassian.net/wiki
macroId5a36957919fec11b-9f0214bb-44774ca7-9b0999f9-f2b46d5dcf2a204c932aeca0
displayNameWebitel General Architecture
nameWebitel ArchitecturepagePin5General Architecture
diagramAttachmentIdatt27459599
containerId21307774
timestamp1706521551026

Gliffy
imageAttachmentIdatt29261859
baseUrlhttps://webitel.atlassian.net/wiki
macroId863d1203eba0eafb-c87310aa-42bf417e-9ac2a9e5-251d341a04f6daeeddd011d9
displayNamenameArchitecture by services
diagramAttachmentIdatt29491223
namecontainerIdArchitecture by services21307774
pagePintimestamp61706612739075

НазваниеОписание
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 - чтение статусов диалогов
OpenSIPSSIP Proxy - обеспечивает работу сигнального протокола (SIP\WebRTC)
RTPrtpengine - обеспечивает работу мультимедиа протоколов
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Сервис отслеживания изменений.