Product for creating fault-tolerant systems running Linux OS.

The INCOPLAX platform


The product has a unique concept – the unification of information and communication processes in a single system.
Using the low-code platform designer, you can create various information systems to automate business processes and seamlessly integrate with communications.

INCOPLAX use cases

Data processing centers & customer support centers

Corporate telephony

Call centers

Contact centers

Service Desk

Help Desk

LMS

CRM

Functional architecture

IP-PBX

Call recording
Interactive voice response (IVR)
Feature codes
Call routing and forwarding
Autoprovisioning
Speech-to-Text and Text-to-Speech
CRM Integration

Contact-center

Omnichannel queues (voice, email, messengers)
Call queue management
Workforce management (WFM)
Reports and analytics Real-time monitoring and dashboards
Outbound campaign (manual, preview, progressive, predictive)
Skill-based routing Call progress detection (CPD)

Low-code builder

Highly reliable architecture
Flexible yet powerful administration
Automation features
REST API and WS
Form builder
Document process automation
Flexible reporting

Technology stack

  • Debian / Ununtu server
  • Deployment: Docker
  • DB: Mnesia, PostgreSQL
  • DB: Kafka (optional), ClickHouse (optional)
  • Microservice Architecture (80+)
  • Storage: volume, NFS, S3
  • REST API (HTTP(s) / WS)
  • Erlang programming language
  • TypeScript, NodeJS (runtime environment)

Scalability

The platform operates on physical or virtual machines running Linux OS. As the workload increases, horizontal scaling takes place and additional servers are connected in Active-Active mode. The multi-servers ensure superior performance and robust fault tolerance.

The platform architecture allows for configuration changes, adding new servers without stopping services or rebooting the system.

On servers, all processes can be duplicated, or only certain services can be increased. For example, to handle more calls, only the number of media gateways is increased, while the signaling system remains unchanged.

The platform's non-stop operating time is more than 3 years

Reliability

The smooth operation of the platform is ensured by its microservice architecture. Each server contains a set of roles-microservices. Resource-intensive roles exist in multiple instances and provide dynamic load distribution.

If any server fails, the system remains operational, ongoing conversations are not interrupted.

The core of the platform is developed in Erlang, which provides decades of trouble-free operations for high-load communication solutions.

Performance

High performance indicators are achieved by the platform even for mid-range servers. Based on the planned workload, the number of servers required and the distribution of roles between these servers can be determined.

Each server with 2 x Xeon processors Silver 4214 R provides up to 200 calls per second, 3200 simultaneous calls or 20,000 active SIP registrations.

We provide high performance using advanced technologies recognized by the global developer community: Erlang, JS / TS + React, C++, Kafka, PostgreSQL DBMS and ClickHouse.

Modifiability

The INCOPLAX platform has been designed, developed and built exclusively by our company. We don't use opensource telephony libraries. The system has been completely designed and implemented by us, and we are able to add or expand any options and functions.

We will ensure rapid updates to the platform according to business requirements in contrast to large players.
Our partners can adapt the platform without involving developers, using low-code designers that ensure quick changes.

No central hub

The Platform does not have a central node, the disconnection of which may lead to the system stopping.
When you turn off any server, the system will automatically be rebuilt into a new structure without interrupting service. Thus, upon exiting any servers that are down, the system ensures continued performance.

Each server has a set of roles (serves several microservices). Each role exists on the site in one or more copies and is reserved in the Active-Active or Active–Passive mode. Resource-intensive roles exist in multiple instances and provide dynamic load balancing

Multi-domain

The platform allows you to build systems with centralized and distributed control.

The multi-domain configuration allows service for all structural divisions, branches, departments or independent companies on the same group of servers.

We will provide an isolated information space – a domain – for different branches and departments of any company with a complex structure. Each domain is fully functional, has its own number plan, rules, routing, call processing scripts, reports, databases, etc.

The domain can be managed as an administrator domain and by the main administrator.

Deployment Schemes

One server

The system can be deployed on one server.
Interfaces:

  • External SIP trunks to providers
  • Web applications for configuration and management
  • Internal SIP subscribers
  • HTTP / WS for integration connections

Deployment Schemes

Two servers

Deploying the system on two servers allows you to solve the problem of scaling or redundancy in case of a failure of one server.
  • Databases are replicated (PostgreSQL failover replication)
  • It is recommended to move the DBMS and storage to an external resource
  • To store recorded conversations, it is recommended to use external storage using S3 or NFS technologies

Deployment Schemes

Four servers or more

Roles are distributed between servers in such a way that SIP signaling (sg, esg, b2b, etc.) does not interfere with media.

Changing the configuration (adding a new server or removing an old one from service) is carried out without stopping the service.

Deployment Schemes

Deployment and multiple data centers

The INCOPLAX platform allows you to build geographically distributed systems, maintaining their functionality when the regional data center is unavailable.

Full-featured instances of the platform are deployed in the regions which can work both in conjunction with each other and in isolation, for example in the event of an accident on an inter-regional communication channel. If one data center is unavailable, all services are maintained by a back-up instance of the platform.

Data integrity is ensured automatically by setting up ETL processes. If the connection between data centers is lost, synchronization will continue after it is restored. Deploying the system on four or more servers allows you to ensure the continuation of the conversation if any server fails.