Call Center Software for Cloud Deployment using Asterisk

Asterisk is a versatile VoIP PBX telephony engine that has experienced phenomenal growth from inception. Its market penetration is not easily measurable due to the diversity of applications using it.   It should come as no surprise that Asterisk has a significant presence in Cloud installations as it can function as a telephone switch, a media server, a protocol gateway, and a conference bridge. Asterisk has become a preferred choice for the underlying telephony platform for setting up distributed multi-tenant PBX and call centers.

We are seeing more providers choose Asterisk or telephony platform built around it for their cloud deployments.  For example a recent announcement about VitalVox selecting the Q-Suite platform which uses Asterisk.

Most providers are not going to roll their own Asterisk solutions due to the extensive toolset needed to maintain the dialplan while separating multiple tenants easily.  This is where the value of a product like the Q-Suite comes into play as it handles low level configuration of Multi-Tenant PBX and Contact Center.  Then of course there are Reports which are also included in these products which provide real time and historical system utilization, call stats, etc.

Which Telephony Interface for your Solution: VoIP Gateway VS PCI card?

What is your PBX or CTI solution without an interface to the outside world. One can use VoIP but there are still a lot of systems going the traditional route and connecting to a Telco either via Analog (POTS) or a T1/PRI/E1.  With Asterisk the two main solutions to do this are an internal PCI card or an external Gateway device. Both options will make and receive calls from the telco but which one is better?

I’ll cut to the chase and say PCI cards should not be recommended for High Availability solutions. They can still have their place in a system without HA and where costs are a major factor, but the decision to use them should be made with their limitations in mind.

Using a Gateway device, such as Patton or Audiocodes, provides the following benefits over an internal card:

  • Multiple telephony servers can connect to a single gateway. Which is important for the next two items.
  • With multiple servers connected to a single gateway in a HA solution calls will be routed to the active server(s).
  • Load balancing done at the gateway level in a high volume centers to distributed calls across servers.
  • Independence from a single server. If a specific server needs to be rebooted or taken offline for maintenance a gateway will keep working.
  • Location of telco demarc can be independant of telephony system. This can be in a different room, floor, building or even country. Just be careful of lag causing issues. But given the proper connections can allow moving the IP PBX system into the cloud while still supporting traditional telco trunks.
  • In a mixed trunk environment of VoIP and traditional telco connections the Gateway can abstract this so the IP PBX’s configuration is similar for all trunks.
  • Scaling up only requires adding a new gateway and a configuration change to the telephony system which minimizes downtime and risk.  Mainly due to avoiding the need to open the system to install new cards.

Considering the above it is hard to see the case for a PCI card, especially in an HA solution.  They may still have their place elsewhere but I’ll be recommending a VoIP Gateway going forward.

SIP Registration Timeout Settings for High Availability

In setting up a high available telephony system most worry about the back end and ensure it functions as they would expect and require.  However one highly visible user issue I have seen is a misconfiguration of the connected SIP phones in regards to the registration timeouts.  When these are very high on your SIP phone then it may not notice a service has moved (via IP/DNS/etc changes) due to a HA switchover and can potentially miss incoming calls until it does.  Typically an outgoing call attempt will work or at the very least cause a registration attempt to the new server the service has moved to.

For example take a look at Aastra, their defaults in a few models I’ve seen are at a half hour for a failed registration.


If the failed registration timeout is half an hour and the phone attempts to re-register and fails your phone will show an error or unregistered for the next half hour.  This can happen in the cases where the registration comes in as a box is failing or a failover happened and the configuration is being written/updated due to the switchover process.  More reasonable set of values are shown in the following.


In this one I’ve lowered the registration failed retry and also the timeout retry timers.  These will make the SIP phone resolve the registration issue quicker by retrying more often than the defaults.  They could be lower depending on the situation.

One precaution before everyone sets these very low.  These settings should be set appropriately when the SIP phone is off-site and there are protections, for example Fail2Ban, in place to block brute force attacks.  In these cases where the SIP phone is on an app on a mobile device this failed registration timeout should be set high enough to not trigger a lockout of a valid device.  If the devices are in-house or IPs can be whitelisted then the values can be lower without worry.

Rightsizing your Telephony System from the Beginning

A number of common questions come up when purchasing telephony systems. One of the most important which affects costing the system is the expected usage in terms of number of users, ports and active calls. Knowing current needs is relatively straight forward especially for an existing business. However the real issue is businesses are not static and you want your new ACD/PBX system to be able to grow with your organization.

Obviously one can throw money at the issue up front and spec out the system for the projected size required in the future. However the better option is to choose a solution that can scale as your business grows without the need to replace the full system.

We find some systems have a large hardware cost upfront and limit usage via licensing so later expansion is done via purchasing new licenses to unlock the hardware already paid for. The issue here is the initial investment is large and compromises are often made to fit within the current budget which limit future growth on the system.

Two better alternatives are:

  1. Purchasing a system which meets your needs for the near term which can scale properly to meet the demands of the business well into the future.  The Q-Suite telephony platform accomplishes this by having the built-in ability of adding additional asterisk servers and web servers to an existing installation to scale to meet the needs of a business as it grows.  Recently the option of monthly licensing has been offered to save even further on initial costs.
  2. Using a Cloud based ACD/PBX System. This lets a provider worry about hardware upgrades, trunks, etc and allows growth in smaller increments.  Look at the hosted provider VitalVox where your role is only to configure and manage the users, campaign, queues, and other features of your ACD/PBX system.

The Differences in Call Survival and Call Recovery

While investigating High Availability (HA) in CTI and PBX systems you will often find mention of Call Recovery. Another term you run into is Call Survival, which is often used interchangeably with Call Recovery incorrectly. This is because each is a different approach to solving a problem. The problem being a failure which would interrupt the calls of a system.

With Call Survival when a failure happens the caller and callee do not have to take action to continue their call as it survives the failure. At a high level this is done by reacting to the failure quickly and re-routing the audio path around the failure.

With Call Recovery when a failure happens the recovery is different depending on the system. Sometimes the caller will need to initiate the redial the callee or it could be an automated process but the callee still have to answer this new call.

From a user perspective the better option is Call Survival as they may only experience a momentary interruption in their audio as the path is rerouted around the failure instead of having to re-initiate a call to recovery it.

The Q-Suite platform supports Call Survival with the help of the Overseer Watchdog providing HA for other services in addition to being one part of the Call Survival solution.

Audio alerts triggered by real-time contact center ACD activities

Automatic Call Distributors (ACD) control and manage the work-flow of a contact center. A multi-channel contact center ACD offers skills based routing and queue prioritization for phone calls, emails, and web channels. The real-time queue metrics are a good indicator of the contact center activities. Even with work-force  management (WFM) software predictions, it is not always possible to staff adequately for handling sudden spurts in call volumes. Organizations should have procedures in place to handle such events. One such option is having supervisory staff and supplementary employees participate in call handling if required.

Key queue metrics like the total number of calls waiting in a given queue, the wait time, the abandon rate, and the overall service level provide a measure of  real-time call center activities. A good contact center software will allow call center managers to set conditions based on the  queue metrics to trigger audio alerts. Different audible alerts can be set, each specific to a particular queue metrics parameter.

Q-Suite for Asterisk is a powerful contact center ACD offering such feature as a part of its call center software. It is a multi-tenant software for setting up Cloud based fault tolerant High Availability (HA) contact center solutions. Its audible notifications can be triggered by setting conditions on queue parameters that are monitored as a part of the real-time contact center reporting. These notifications allow the contact center floor operations to initiate procedures that are put in place for handling sudden spurt in call volumes.

Visual call flow designer for Asterisk based contact centers

Call flow represents the service work flow offered to an incoming call through the voice portal of a contact center solution. A clean and effective call flow improves efficiency and enhances customer service. Incorporating Interactive Voice Responses (IVR) within a call flow provides an opportunity for integrating information from the back-end systems to enable more self service options . The IVR also introduces call flow automation to reduce wait-time and empower the customer. Based on interactive customer responses, call routing decisions are made from the IVR,

A Visual designer is a drag and drop  tool-set for visual call flow modeling with graphical icons representing the IVR and contact center ACD functions. In Asterisk based contact center center solutions, the call flow designer will include a powerful set of telephony and scripting functions, intrinsic to Asterisk Dialplans. Multi-tenant contact center solutions in cloud deployments scale over multiple Asterisk servers. The contact center software controlling the Asterisk cluster through its call center ACD, will deploy the output of the visual call flow designer across all the Asterisk servers. The capabilities of the call center ACD determine the extent of sophistication available in a particular call center solution.

The expanding user base of Asterisk in contact centers, due to its fast evolution, lower costs of acquisition, and superior telephony, have generated a great demand for powerful, dynamic, and visual, modeling tool for building calls Flow and IVR. Contact center software like Q-Suite come with an intuitive graphical visual dialplan builder to create and deploy powerful IVR driven call flow applications.

Contact Center ACD interface through Asterisk Manager Interface (AMI)

Large contact center installations with many concurrent users will scale to multiple Asterisk servers. This is the norm when building out a multi-tenant contact center or PBX roll out. With the growing popularity of Asterisk, it is being adopted for special mission critical applications with large concurrent users. In all such applications, the call center ACD plays a vital roll in managing queues and users. It routes the calls in the queues to the appropriate user console based on skills based routing and queue prioritization.

For more dynamic applications, the console application would want to have the real-time status information of all the calls in the queues. This data provides an opportunity to build additional powerful logic in the user consoles to better manage the calls. Such user consoles for customer service representatives and supervisors can empower them to intervene and handle calls based on the business rules of the organization.

A contact center ACD will manage multiple Asterisk telephony servers in a cluster through the Asterisk Manager Interface. Console applications can have continuous feed of the dynamic channel status information from all the incoming and outgoing calls handled by the call center ACD, by incorporating a listener in the console software. With adequate filters, this listener can be tuned to feed data to a versatile call handling logic, taking advantage of the real-time state information of all the channels, queues and users of the call center software.

Features and trends dictating Multi-tenant Cloud services using Asterisk telephony

The global forecast of the Unified Communications market as a service is astounding. Predominant delivery of this service will be through Cloud based installations offering managed multi-tenant PBX and contact center ACD functionality. Asterisk PBX, the world’s leading  telephony engine, is  a complete platform for communications  that can fulfill the role of a soft-switch, a protocol gateway, a media server, and a VoIP gateway. With a world-wide following, it exercises considerable influence over the trends in the multi-tenant Cloud offering of PBX and call center services.

From its humble beginning as a hybrid PBX, it has risen to a position of consequence with serious implications for the legacy technology platforms. By virtue of being one of the most powerful telephony platforms with an extensive ecosystem, Asterisk offers functionality unmatched by most of its PBX peers.

Cloud based multi-tenant platforms for Asterisk can scale to multiple Asterisk servers with an external ACD, taking effective control of the switching through the Asterisk Manager Interface (AMI) available for individual servers. Powerful multi-tenant contact center ACD software for Asterisk work in a similar way.

The work-flow requirements for Unified Communications is a blend of inbound, outbound and PBX functionality. The PBX functionality includes everything from auto-attendant, find-me-follow-me, to advanced call routing on an individual basis. Organization require conferencing capabilities, email to voice-mail functions and a host of features like virtual cloud extensions, call accounting, ring groups, and ACD (Automatic Call Distribution) from the PBX.

Inbound call center ACD features include queues driven by skills based routing, powerful IVR, call routing, and call distribution. Queues have skills association and calls are routed to the appropriate staff available at the time. The ACD provides powerful real-time stats. Outbound workflow has changed dramatically in the last decade. From mass dialing, it has become selective dialing driven by effective CRM. The integration to CRM packages like Salesforce, Netsuite and Microsoft Dynamics provide visibility into the life cycle of leads.

Most Cloud multi-tenant PBX installation achieve greater marketability by offering call center functionality along with the PBX. A multi-tenant contact center software will be incomplete without offering full function PBX. The user-interface of a good Unified Communications system should blend inbound, outbound and PBX functions.

Multi-channel ACD in a Cloud setup

Cloud is the new frontier for voice telephony and the contact center ACD (Automatic Call Distribution). The convergence of the transport mechanism for Voice with Data through Internet Protocol (IP), the acceptance of Session Initiation Protocol (SIP) as the default standard for Voice over IP (VoIP) transmission, and the consolidation of infrastructure accessible through Internet, have created a favorable environment for the growth of ‘Cloud’ based contact services.

Depending on the size and scale of a contact center operation, there are some options on how best to migrate to the Cloud. The larger operations can move to managed services in a Cloud platform where they exercise control over the operation without actually owning all the infrastructure. The smaller operations can be a part of a multi-tenant installation that is segmented and partitioned to provide an exclusive setup. Both these options provide a number of advantages including lower cost of setup and operation as well as the ability to have a geographic distributed work-force.

A multi-channel ACD handles more than voice. The additional channels may handle Chat. Email, and Social media. The ACD serves to distribute the conversations based on skills based routing but the media in the individual channels are handled by the respective media server. In the case of voice communications, the media server is the PBX switch. Asterisk dominates this category as a hybrid PBX which works seamlessly with both VoIP and the traditional Time Division Multiplexing (TDM).

The underlying technology stack for setting up multi-channel contact center ACD does not differ very much between a premise installation or a data center installation in the Cloud. With a competent hosted service provider to offer managed services, this can dramatically reduce the associated Information Technology (IT) operational cost. Also, sites with good connectivity offer the ability to have geographically distributed and remote agents. Some contact center software are multi-tenant by design and this enables the hosted service provider to offer shared IT resources for its tenants, thereby lowering the overall operational cost.