Kamailio acts as a SIP load balancer and super-speed registrar.  We minimize the number of public network interfaces needed for clients and carriers by directing them to our load balancers.  Adding capacity to our platform becomes as easy as informing Kamailio of the new FreeSWITCH voice node.​  Kamailio also includes great DDoS attack blocking tools that protect both client SIP devices and FreeSWITCH media application nodes.

 

Core Capabilities:

  • SIP proxy/registrar/redirect server (RFC3261RFC3263)

  • SIP over UDP (MTU fallback support) and TCP (new asynchronous TCP)

  • SIP over TLS and SCTP (When User Agents support TLS or SCTP)

  • IPv4 and IPv6 (multi-homing support)

  • Transactional stateful proxy

  • Modular architecture

  • NAT traversal system

  • Least Cost Routing & Carrier Routing

  • Dialog Info Presence - SLA/BLA

  • XCAP and RLS

  • Topology hiding

  • Support for SIP and MSRP over WebSockets

Kamailio (OpenSER)

We use FreeSWITCH primarily as a media processing server.  We rely heavily on FreeSWITCH's realtime event modules to keep statefulness across our cluster. FreeSWITCH is a carrier-grade switch in its own right.  Adding CloudPBX's Kamailio load balancing and clustering features extend FreeSWITCH to provide a truly high quality cluster of carrier-grade media processing nodes.

 

Core Capabilities:

  • Native support for 8kHz/16kHz/32kHz/48kHz audio mixing

  • Soft conferencing

  • SIP B2UA/SRTP/TLS

  • SIP BLF/SLA & Presence

  • Real time event API

  • Logger engine

FreeSWITCH
RabbitMQ

We primarily start and conduct conversations between Kamailio and FreeSWITCH nodes and our application/logic layer using a standard protocol named AMQP. RabbitMQ is our preferred AMQP serve. While we've had discussions about "faster" systems like ZeroMQ (theoretically anyway), RabbitMQ allows us to keep everything in native Erlang data types, pass things around our software quickly, and cluster our CloudPBX application/logic nodes easily. 

 

Core Capabilities:

  • Messaging between applications

  • AMQP message broker

  • Message exchange server

  • Gateways for HTTP

  • Client libraries for most platforms and languages

BigCouch/CouchDB

It's a known secret that BigCouch/CouchDB is the magic fairy dust that makes CloudPBX so reliable.  With the ability to replicate data, dynamically adjust the read and write quorums, and a simple-to-use HTTP interface, developing our platform using BigCouch/CouchDB as the long term datastore has been a huge win.  As important, from an operational perspective, is that once you understand the knobs and levers to turn in order to tweak the performance characteristics, BigCouch/CouchDB is a breeze to operate and maintain.

 

Core Capabilities:

  • Highly available, fault-tolerant, clustered architecture

  • Auto-healing and data syncing after disconnections

  • Concurrent & duplicate copies of data

  • Geographical zone storage optimized

 

 

7 years' experience building & deploying IP-PBX systems, all poured into our platform.
Each component has been carefully selected for its performance and fexibility in a clustered environment, where 99.999% uptime is key.