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.
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
- 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
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:
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