Softdial Telephony Gateway™ (STG) clustering is introduced in V10.6 to provide:
Clustering is achieved through the architecture shown in Fig. 1:
Fig. 1 - Clustering Architecture
The main change to the non-clustered architecture is the addition of a Python script within Softdial CallGem™ to facilitate call routing within the cluster(s).
For reliability reasons (see below), Sytel limits the number of voice channels that may be handled by one STG process / server instance to 1000.
For basic inbound calls to agents or preview / progressive outbound, this equates to around 450 calls per process / server - one channel for the agent connection, one for the contact connection with some additional channels (~10%) reserved for call queuing and IVR.
For predictive dialing, the number of outbound channels required will depend on the dialing rate. This can typically be 2 or 3 times the number of agents (or higher for very low connect rates).
Call transfers, conferencing and other functions that require additional voice channels will add to the channel usage.
In practice, Sytel recommends a clustered configuration for any users deploying more than 100 agent endpoints (whether human or IVR).
See also Softdial Telephony Gateway™ Configuration Issues
As a general rule, the more processing that is pushed through a single processing node, the greater the likelihood of failure.
This increased likelihood of failure is exponential rather than linear, which is why Sytel specify a maximum of 1000 voice channels per STG process.
By sharing the processing load over two or more processes, system reliability is improved.
The cost of failure is similarly reduced; loss of productivity is limited to:
number of failed nodes / total number of nodes * 100 %.
There are many deployment models for clustering. The 3 most common models are described below:
To configure a campaign to use a cluster of STGs or a single STG: in the Softdial Campaign Manager™ Client, on the Telephony Setup tab/ page, set the CT Layer Identifier (Fig. 2):
In this example, STG_Cluster1 can either be a single STG or a cluster of STGs.
By default, a single STG instance runs as a standalone cluster.
To configure multiple STGs as a single cluster:
In the config.xml file of every STG that will be part of a cluster, set the following tags:
A cluster can include both host based nodes (e.g. ProsodyS) and card based nodes (e.g. ProsodyX) to support both TDM and SIP trunks. Note however that the card used for the TDM node must also provide a SIP interface as this is used for bridging calls across nodes. For this reason, it is not possible to include TDM only card based nodes (e.g. Prosody) in a cluster.
Advanced routing of calls through a specific cluster can be configured using the Python script (SelectTelephonyNode.py) in the Softdial\SP\Scripts folder. This script is used by the dialer service to select a node within a cluster, based on user settings. The following variables are available within this script at run-time:
The following are examples of possible modifications using the above variables:
The script cannot be configured dynamically; a change in this script requires a service restart.
Please talk to Sytel before making a change to this script, as a complex script can affect the performance of the system.