SIP SoftSwitch

The SIP SoftSwitch Engine

The SIPhub SoftSwitch is a SIP Engine for providing standard calling services to residential or small-business customers. It provides Class 4 and a limited core set of Class 5 services (no multi-tenant support). The engine is addressed to operators or ITSPs entering the market of SIP services, looking to offer to their end-user call origination and termination via SIP.

The SoftSwitch Engine is 100% API driven, for provisioning, control, monitoring and data access reasons. This fully functional robust SIP Engine can be used to build around it a custom tailored calling 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 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

Architecture

A multi layer architecture makes the SIPhub SoftSwitch 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 SoftSwitch Engine enables the creation of SIP services, without actually getting into SIP.

SoftSwitch Engine Features

  • Multi-country support in dialing
  • Mobility and mobile devices supported
  • 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 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)
  • Aliase - multiple aliases per user
  • DIDs - multiple DIDs per entiti
  • CLI - extractions, checking (against DIDs) or forcing CLI, per user bases
  • 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
  • DND - do not disturbe call rejection
  • Voicemail - private and shared voicemail boxes, PIN access, multiple welcome announcements, API and IVR driven
  • Fax - fax to PDF document, inbound and outbound
  • Call Recording - SIPREC based recording (client side), ACLs and DTMF based recording controll
  • Routing Groups - multiple routing groups, per user or global
  • Multiple Carrier Trunks - 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


SoftSwitch clustering

The SoftSwitch 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


SoftSwitch Engine APIs

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

A JSONRPC REST API is provided for provisioning purposes, covering 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 SoftSwitch 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 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 calls.
The Event Broker interface is the way the SoftSwitch Engine provides realtime information (via AMQ events) about the internal processing of the Engine. The events expose information about the lifetime of the calls, about dialled star codes or about media related events - voicemail or faxes. The Event Broker also delivers notifications more service related, like fraud detection or carrier routing.
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.

Licensing

The license of the SoftSwitch 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