Webitel Architecture



Name

Description

Name

Description

Debian Linux 12

The operating system under which Webitel application suite is being developed

PostgreSQL 15

A critical piece of architecture. The main database for storing configuration and user data. All applications (except RTP, FreeSWITCH, and Nginx) are connected to the database.
The database files are physically stored in /var/lib/postgresql unless otherwise specified during installation.
The basic package includes additional modules:

  • TimescaleDB

  • Webitel Extension

Consul

A critical piece of architecture. Decentralized fault-tolerant discovery service from HashiCorp. Every application (except PostgreSQL, RTP, OpenSIPS, and Nginx) registers with this service.

rabbitmq

A critical architectural element. Messaging bus between services:

  • OpenSIPS - publishing device registration statuses and dialogs

  • FreeSWITCH - publishing statuses of dialogs and execution of voice applications

  • Webitel - publishing, and reading user statuses and voice channels

  • Messages - publishing text applications

  • Engine - publishing and reading user statuses

  • CallCenter - publishing and reading agent statuses. Publication and reading of work statuses of dialers

  • Flow - publishing and reading the execution statuses of voice and text applications

  • Storage - read dialog statuses

OpenSIPS

SIP Proxy - provides signaling protocol (SIP/WebRTC)

RTP

rtpengine - provides multimedia protocols

FreeSWITCH

Voice media server. Allows to create an IVR menu and combine voice channels.
The basic package includes additional modules:

  • Webitel GRPC

  • AMD - work with autoresponders

  • AMQP - work with rabbitmq

  • Transcribe - asynchronous work module with STT

  • PUSH - support for PUSH messages for registrations on mobile devices (iOS/Android)

nginx

Application Web Server. Provides HTTP REST API and WebSocket proxying.

Grafana

Service for building reports and dashboards from a database of calls, chats and users

Webitel API Gateway

Gateway between public HTTP REST API and internal GRPC protocol

Webitel Applications

License and user status manager

Webitel UAC

Support for SIP connections with registration (PSTN)

Messages Bot

Public service for registration and interaction with chatbots

Messages Worker

Internal text message processing service

Engine Worker

Internal service for working with the WebSocket protocol and API

CallCenter Worker

Internal service for working with the queue manager, dialers, and CC agents

Flow Manager

An internal service for interpreting JSON schemas for routing calls, bots, voice menus, and more. Interacts with external HTTP web services, invokes Web hooks, and can execute queries against external SQL databases.

Storage

Service for processing and storing media files. Provides TTS/STT services.
If S3 storage is not used, then the conversation recording files are stored in /opt/storage , unless otherwise specified during installation.

Logger

Change tracking service.