Hosted Virtual PBX

The Hosted Virtual PBX SIP Engine

The SIPhub VPBX is a SIP Engine for providing Virtual Hosted PBX services to enterprises or SMBes customers. A rich set of Class 5 services is available in a multi-tenant manner, combining powerful calling logic with a good granular control over the tenant resources.

The SIPhub VPBX engine is 100% API driven, for provisioning, control, monitoring and data access purposes. So, this fully functional robust SIP engine can be used in order to build around it a custom tailored VPBX hosted solution, with your personalized web portal, specific customer management or other services integration - the SIP/calling part simply works, just focus on what makes your service different, setting you in apart from the competition.

The incorporated softwares and the internal design guarantee, in terms of numbers of calls and subscribers, a high capacity solution able to geographically scale.

API driven
Geo Scalability
C5 features
Open Source


A multi layer architecture makes the SIPhub VPBX Engine easy to drive. Provisioning data and actions are pushed top down via the APIs, controlling the SIP calling; as a result, events and data (like CDRs, analytics) are generated bottom up, being exposed via both the Event Broker or API results.

This architecture allows any on-top built components (like operator specific CRM, custom user portal, integrated services) to mange and inter-operate with this SIP Engine in totally SIP agnostic mode. So, the VPBX Engine enables the creation of SIP services, without actually getting into SIP.

VPBX Engine Features

  • Tenant / PBX group
  • Site Groups - user groups(same PBX) in the same geo location, sharing capacity and resources
  • Users / SIP end-points, as PBX members
  • Users trunks - SIP end-points with IP authentication
  • Devices - multiple devices of the same user, with different authentication credentials
  • Hunt Groups - multiple sequences within the group, mixing sequantial or parallel hunting
  • Call Switch - time (schedules), caller, SIP headers based call switching to different destinations
  • Call Forward - Always, Not-Available, Busy, No-Answer redirects to other destinations or personal/shared voicemails
  • Call Transfer - attended or not-attended call transfer, user or API triggered
  • Call Pickup - multiple pickup groups with picking or pickable permissions
  • Call Park & Retrival - park calls either with auto-slot allocation or manual slot selection (BLF based)
  • Call Pull - move ongoing call to another user device while talking, without disconnecting
  • Call Waiting - limit to one the number of in/out calls for a user (no multi call support)
  • Night Call Forward - schedule based, forward all calls received by a Site Group
  • Extensions - multiple extension per entities (user, IVRs, Hunt Groups, Call Switches)
  • DIDs - multiple DIDs per entiti
  • CLI - extractions, checking (against DIDs) or forcing CLI, per user/PBX bases
  • Virtual CLI - non-geogrphical CLI support, per user/PBX, 911 CLI support
  • RingBack tones - per user, hunt group or PBX setting
  • Pre-Call Announcements - per user, hunt group, IVR setting
  • MoH - per user or PBX setting
  • Selectiv Call Acceptance / Rejection - filter CLI based incoming calls, per user, dynamic custom rules
  • Call Plans - filter destination based the dialled calls; multiple plans, multi-country support
  • Fraud Detection - detect user side frauds using realtime traffic monitoring and user calling profiles
  • Call Capacity Controll - inbound and outbound channel limitation, per user, per PBX, per site
  • Schedules - multiple complex time recurences
  • DND - do not disturbe call rejection
  • Voicemail - private and shared voicemail boxes, PIN access, multiple welcome announcements, API and IVR driven
  • Call Conference - meet-me and phone conference suport, PIN and moderator controlls
  • IVRs - multiple, custom, multi-level IVRs
  • Fax - fax to PDF document, inbound and outbound
  • Call Recording - SIPREC based recording (client side), ACLs and DTMF based recording controll
  • User Presence - end-2-end user presence support
  • BLF - dialog info support, publishing from the platform side
  • SCA - Shared Call Appearances for line sharing / seizing
  • DFKS - Device Feature Key Synchronization for DND and Call Forwarding
  • MWI - Message Waiting Indication support for Voicemail, shared voicemail support
  • Routing Groups - multiple routing groups, per user, per PBX or global
  • Multiple Carrier Trunks - per PBX (private) or global carrier trunks, with failover or balancing
  • External LCR - integrations via SIP redirect based querying of an external LCR service
  • External CNAME - integrations via SIP redirect based querying of an external CNAME service
  • Stir/Shaken Support - local or external (SIP redirect based) handling for Stir/Shaken, inbound and outbound
  • Billing/rating Accounts
  • Postpaid rating with fraud detection via cost limitation
  • Prepaid rating with realtime call rating and cutting
  • Multiple Ratesheets definition
  • Credit or time call charging
  • Bundle destinations support
  • Multiple Call Flows/Queues
  • Agents with skills
  • Various call distribution algorithms

VPBX clustering

The VPBX Engine relies on a multi-node clustered architecture in order to achieve horizontal scalability and geographical distribution. There are two fundamental types of nodes, each forming separate clusters and independently scaling:

  • Processing Node - nodes that do handle the SIP traffic / calls. Such nodes do consist of SIP and Media components, billing components and local databases
  • Management Node - nodes responsible for data (provisioning, runtime and analytics) handling, consisting of the SQL/ noSQL databases, the provisioning APIs and Event Broker.

  • each Processing Node offers exactly the same service to any user in the system (full mesh, unique experience)
  • each Processing Node may survive and provide service by itself (even if isolated)
  • a Processing Node may still operate even if disconnected from it Management Node (offline mode)
  • the Processing Nodes and Management Nodes may separately scale via different Datacenter's

VPBX Engine APIs

For provisioning, controlling and monitoring the VPBX Engine, several interfaces are available:

A JSONRPC REST API is provided for provisioning purposes, covering PBX/user related data, call services configuration, call routing data (carrier trunks), media resources, billing data and more. The API gives full read-write access to the provisioning data via any of the Management Nodes. Requests to this API may come from other admin level provisioning tools (CRMs) or user level portals (for user specific settings).
For controlling the calls through the VPBX Engine, a JSONRPC API is also provided. The API give the possibility to start, answer, hold, end calls, to perform transfer operations over the ongoing calls, to active the call barging or to do live control over the call recording. All these operations are design having in mind the idea of a user portal (web or app) that needs to manage the personal/group calls.
The Event Broker interface is the way the VPBX Engine provides realtime information (via AMQ events) about the internal processing of the Engine. The events expose information about the lifetime of the calls - including transfers, pick-ups, parking -, about dialled star codes or about media related events - voicemail, conferences, IVRs or faxes. The Event Broker also delivers notifications more service related, like fraud detection, carrier routing, or Night-Forward toggling.
The Big Data API - also a JSONRPC API - provides read-only access to the Engine's big realtime data, like statistics / analytics, user registration data and call logs. The Big Data is aggregated over all the nodes in the system and can be accessed via any of the Management nodes.


The license of the VPBX Engine is per delivered instance, meaning:

  • no per-user or per-channel limitations
  • only initial cost, no recurrent costs
  • it allows any number of nodes (in the clustered version)
  • it allows your own changes and customizations
  • gives access to the full source code
  • the instance must not be copied, re-distributed or sold