A completely decentralized architecture

intuPBX has been developed with a great idea in mind: to eliminate every Single Point of Failure. This is the reason every component of the intuPBX can be made redundant. In addition every server added to the intuPBX pool increases the overall capacity, posing no limits to the number of peers, clients and tenants that can be handled by a single intuPBX instance.

A "five nines" (99.999%) service uptime is often really difficult to achieve. The approach of intuPBX to the service uptime problem is simple: eliminate every Single Point of Failure by enabling multiple servers to perform the same function from a user point of view and letting the users automatically choose one of the working servers. Having multiple servers providing the same service let you increase the overall capacity just by adding more servers to the pool.

Essential intuPBX components

Asterisk server

Each client can connect to each one of the Asterisk servers in the intuPBX pool and use whichever service he chooses. Internal calls, outbound calls, hunt groups, IVR, conferences, voicemails: each service works in exactly the same way regardless of where the peers are registered. A peer can change server and new calls will be immediately directed to the new server. Providers can receive registration for DIDs from multiple servers for redundancy and calls will be routed among the asterisk server to reach the registered peer.

Database server

All the info is stored in the database, so the servers holding the database are the most important servers. The preferred database for intuPBX setup is MySQL. You can choose from the easiest setup with just a pair of database servers in multimaster replication to the hardest one involving the use of MySQL Cluster. Each database server in the pool holds ALL the info about the system, so in the event of a crash, no data is lost because all the info is replicated among all the database servers. Every asterisk or web server can query and update any of the database servers and they will keep info in sync among them. To increase the performance of the system, a dedicated read-only caching database can be installed on all other types of servers.

Web server

The interface for managing intuPBX has been written in PHP and due to the fact all the info is stored in the database, the interface can be easily replicated on multiple server. Every aspect of the configuration or monitoring can be made by any of the web servers because all the info is in one place (replicated on multiple servers), the database!.

2 ways to get started with intuPBX

The intuPBX is a complete business PBX that can run on onsite PC and server, and in the cloud. No additional operating system required.

1
Rented - hosted on your server

Using this package, the system will be hosted on your servers, so you will be in charge of maintenance, storage, and back-up.

2
Purchased - never expiring licence

Buy the intuPBX and install it on unlimited servers. Per server installation cost will be applied.