Sunday, April 14, 2013

Integrating Chat, Email and Twitter into ACD with Skills based Routing

Automatic Call Distribution (ACD) has evolved to provide an efficient mechanism for routing and distributing incoming phone calls to the right agent in a timely manner and increase the productivity of the contact center. A sophisticated Call Center ACD offers Skills based Routing where calls are routed into separate queues based on the number dialed by the caller or the options selected through an IVR interaction after the call lands in the phone system.

Skills based routing distributes calls from queues to agents. Queues are abstractions that hold the position of the incoming calls. They are tagged with skills to associate attributes that may be required to handle the calls. The agents are contact center employees who are assigned with skills and associated skill-levels. The ACD has two scenarios to consider.
  1. When Agents are waiting and a call comes in
  2. When calls are waiting and an agent becomes available
Skill level is used as a determinant to distribute calls when multiple agents are ready and available to take calls. Queue priority is used to distribute calls when multiple calls are waiting for the agent.

Chat and Twitter integration to an ACD can be treated as a media analogous to a voice call. Therefore they can be routed into their separate queues, each with priority and skills association. This allows the Skills based Routing mechanism to treat them like any call and distribute it to the most appropriate agent.  For an Agent, handling Email is more like handling a voice call. Other text media calls like Chat and Twitter are different since the conversation need not be synchronous. This can impact productivity due to idle time between texts. The contact center software will provide mechanisms to enhance productivity and minimize idle time by,
  1. Handling multiple Chats concurrently
  2. Having Chat time-out for conversations
  3. Planning Voice to Chat and Chat to Voice transitions while distributing calls from the ACD
Q-Suite offers an integrated ACD that allows Asterisk based contact centers to integrate Chat, EMail and Twitter.

Sunday, February 17, 2013

Chat management through ACD Skills Based Routing

Chat as a communication means is not as synchronous as a voice call. The responsiveness of an individual wanting to engage in a chat cannot be controlled. This introduces challenges in efficiency of operation while integrating Chat into the distribution scheme of a Contact Center ACD. In a multi-channel environment within the contact center, Chat can be treated on par with telephone inquiries. This makes Chat an equally expensive channel to man and run in comparison to web self-service options. 

Skills Based Routing is critical to the efficient distribution of calls within a contact center operation. An advanced ACD like Q-Suite can queue and distribute different media like Voice, Chat and E-mail. The ACD is responsible for queuing, routing and the distribution where as the respective media servers handle the actual media. Chat and E-Mail as they come in, are inserted into the appropriate queues through the API. Once in a queue, the distribution is driven by skills, skill levels, availability and service level escalations.

With voice calls, the start and end points of a conversation are crisp and there is control over the interaction time. Chat on the other hand cannot not force the other end to be responsive in a timely fashion. This increases the complexity of interaction and makes it a more expensive service to run if Chat is treated on par with Voice. With Voice, we have the "Music On Hold" to retain the caller before routing the call to an available agent. The Chat users are web based and can easily go away to something else unless there is an immediate response. Even when engaged, they can be multi-tasking and consuming the multi-channel call center time. Therefore an individual Chat can be a more expensive channel when than a voice channel.

Advanced contact center solutions will offer the ability to deliver multiple chats to an agent to make better use of their time. This strategy works well only when there is a constant flow of concurrent chats. The wrap-up of concurrent chats will end with the wrap-up of the last chat with an associated time-out. It is important to have a good strategy to handle Chat based on the volume and the relative value of the communications.

Wednesday, January 2, 2013

High Availability with Load Balancing for contact centers using Asterisk

Contact center software is immensely complex for a variety of reasons. The functionality required for efficient operation of modern call centers is immense. The software system needs to be convergent, capable of handling voice and data, while allowing the operators of contact centers to take advantage of the all the information available within the system. In the last decade, technology evolution and economic forces have continually pushed the cost per seat down, while features and functionality have expanded tremendously. Managed and hosted contact center services are slowly becoming mainstream because they offer just in time contact centers with very little up-front capital cost investment. Managed Hosted services also does away with the need to keep expensive in-house dedicated IT resources.

Asterisk, the leading open source hybrid telephony platform has played a central role in all this. Using commodity hardware, Asterisk does all the DSP (Digital Signal Processing) within the motherboard reducing the dependence on expensive add-on hardware. Of course, this and the commodity hardware imposes an upper limit on the total number of concurrent calls that an individual Asterisk server can handle. The ability to cluster Asterisk and scale to handle larger volume of concurrent calls is a necessity when deploying Asterisk for large contact center solutions.

Call center software has an ACD which provides the call flow, Skills based Routing, Queues and call distribution. It also offers the ability to provide IVR interactions with TTS and ASR during the call-flow. Contact center software uses the telephone switch (PBX) as the media server for voice. As one of the most powerful media servers for voice, Asterisk can be leveraged to provide extraordinary amount of features for a contact center. For larger contact center setup, the ACD should be able to scale and cluster multiple Asterisk servers seamlessly.

Once a call center ACD is capable of handling multiple Asterisk servers in a cluster, it requires a mechanism to bring large call volumes (that exceed the capacity of individual Asterisk servers) into the ACD and still retain the ability to maintain the sequence and order of calls coming to the individual queues. Here, the calls may arrive into any of the Asterisk servers in the cluster. A simple round robin load balancing, will distribute the calls evenly among the servers in the Asterisk cluster. Q-Suite, Indosoft's call center software has a High availability SIP proxy which also provides load balancing to distribute calls to the Asterisk cluster. The call center ACD within Q-Suite controls the switching of calls through the manager interface of Asterisk. The ACD controls the order of calls as they come in, irrespective of the Asterisk server in the cluster to provide Skills based routing and call distribution as per queues. 

Sunday, December 9, 2012

High Availability SIP Proxy

Q-Suite has gone through a remarkable product evolution. It started out as a contact center ACD using Asterisk as the voice media server in 2004 and gradually evolved into a powerful contact center technology platform with High Availability, that scales and competes feature to feature with all the established players in the contact center industry. The underlying technology stack of Linux, Asterisk, MySQL and Apache makes Q-Suite very economical to license, install and support. It  is an extremely powerful multi-channel contact center suite available in the market that uses Asterisk as the voice media server.

Q-Suite has evolved into this powerful next generation contact center solution in part due to the development of key components, positioning the product as a market leader in the multi-tenant, distributed contact center market. One such component is the High Availability (HA) SIP proxy with its Overseer Watchdog system. The HA SIP proxy is a critical component of Q-Suite's Call Survival mechanism and offers High Availability and redundancy. As a SIP proxy, it provides load balancing and call routing. It has the in-built mechanism to fail-over in case of internal Asterisk or Hardware failures. This fail-over is triggered by the Overseer Watchdog mechanism which anticipates call disruption through its monitoring of the servers and services. In a redundant Active and Standby High Availability (HA) SIP proxy setup with state synchronization, the Overseer Watchdog system will perform a seamless fail-over for the SIP proxy failure as well, providing that greater redundancy required for mission critical systems.

Monday, November 26, 2012

Transitioning Q-Suite 5.7 to use Asterisk 1.8

We have been a big beneficiary of the development and evolution of Asterisk, the leading next generation telephony switch. It probably has by far the largest deployed of PBX around the world. Like every good telephone switch, Asterisk has found its way into many different business applications. It is ubiquitous in the contact center industry today. Sometimes you will have to peel the outer layers of a telecom entity to realize that the underlying telephony platform has some Asterisk based application. There are very good reasons for all this. It is as powerful and flexible as you get when it comes to a telephone switch and a PBX.

The early Asterisk version 1.2 gave us the impetus to include a development initiative for a contact center ACD using Asterisk, to take advantage of its hybrid VoIP/TDM switching capability. As we anticipated, the next significant version Asterisk 1.4 blossomed into a powerful telephony platform that did so much more than a conventional PBX. With SIP becoming mainstream, the rampant adaptation of Asterisk 1.4 into contact centers was a sight and delight. The enormous demands of contact center industry and the large scale deployments exposed many little deficiencies in Asterisk. Considering the amount of demand placed on the underlying switch, Asterisk evolved very nicely into a stable platform by version 1.4.3x. Indosoft call center software Q-Suite versions 5.6 and 5.7, deployed around the world, use Asterisk 1.4 and benefit from its features and functionality.

Like everything good in life, Asterisk 1.4 will give way to Asterisk 1.8, the next long term version. Asterisk 1.8 may have some ways to go before we can start deploying it in large call centers but we are starting to use it in a small way to test it out. The biggest concern is the bugs that may have crept into it. As with any software development, this is something unavoidable. With bug fixes and patches, it will become as good as 1.4.3x. Call Center ACD is a separate software layer that leverages Asterisk as the PBX and depends on it for stability and robustness. The hope is that Asterisk 1.8 will mature at a faster than 1.4 for deployment in larger and mission call center applications. Asterisk also has some inbuilt call center ACD capabilities for small offices but in conjunction with a powerful call center software like Q-Suite, you can setup a feature-rich, cost effective contact center platform for Cloud and premise based installations.

Q-Suite 5.7 is now available for Asterisk 1.8. It is a Cloud enabled software offering the flexibility to setup either a multi-tenant contact center platform or a single tenant exclusive contact center solution for your organizational needs. It scales to multiple Asterisk servers and provides full control over themes. Inbound call center operations will appreciate it’s powerful and flexible ACD which provides Skills Based Routing, Queue Prioritization, Virtual/Personal Queues, Agent Hot-Desking and Customizable IVR. Outbound call center operation will benefit from it’s efficient self-pacing Predictive Dialer along with Preview and Progressive dialing for multiple concurrent outbound campaigns. It has an inbuilt Script Builder for developing powerful agent-customer interaction scripts and a Dialplan Call Flow Builder to develop powerful IVR. 

Wednesday, October 3, 2012

Essential Features for ACD Queues

ACD Queues are vital to efficient call distribution in today's multi-channel contact center operations. It is also important to provide the customer with a good experience while waiting in the Queue. There are a number of essential features for ACD queues that increase productivity and improve customer experience.

1. Queue Priority
In a skills based routing driven ACD, Agents get calls from any of the Queues for which they have the required Skills. Queue priority will allow the ACD to distribute calls from higher priority Queues ahead of lower priority Queues.  If priorities are identical, the longer waiting calls are distributed. Queue priority differentiates Queues especially when the skill requirements are identical. This can be used to offer different service levels.

2. Queue Overflow
Management of Service Level is important for Contact Centers. Service Level is dictated by the wait time for calls in a Queue. Overflow methods are built-in alerts that indicate potential bottlenecks for which pre-determined routing and call handling plans can be designed. Typically a caller might be waiting beyond what is considered acceptable for the Queue or there may be too many callers waiting in a particular Queue. The Call Center ACD should allow a time based overflow trigger that automatically moves calls to higher priority Queues once the wait time exceeds the acceptable threshold. Similarly, if the number of callers waiting in a particular Queue exceeds the threshold, additional calls can be moved elsewhere or to a different Queue.

3. Queue Callback
The ability to callback abandoned call by design is a great way to enhance customer experience. ACD queues needs the ability to callback a caller who hangs up waiting in the Queue(after being told that the caller has the option of being called back). The caller should also be able to provide alternate number for the callback. ACD queues from Q-Suite for Asterisk provide the ability to retain the caller in the same Queue or move them to a different Queue, there by providing control over the priority of the callback.

4. Queue Position and Average Wait-time
Making periodic Queue position announcement is  a simple way to allow the caller to decide if they want to receive a callback instead of waiting. Announcing average wait-time based on past calls may not be a good indicator of the present wait-time for a call and can result in customer dissatisfaction.

Saturday, September 8, 2012

Complexities of Call Center Software development

Not often do we sit down and analyse call center software from a software development perspective. We are all familiar with data systems where the software primarily deal with data storage, retrieval and work-flow. Voice systems are a combination of telephony and software dealing with voice communications and CRM software (Customer Relationship Management). Though they have similarities, development of call center software is far more challenging.

Convergence of voice and data is a fast evolving phenomenon that has taken deep roots in the last decade, driven by the growth of Internet and the ability to use common infrastructure. SIP (Session Initiation Protocol) is the big driver, allowing telecommunication systems to replace time synchronized signalling with event driven communications. The successful shift to event based communication signalling is made possible by the tremendous improvements in the capability and performance of the infrastructure.

Contact centers are modern day factories, by-product of the information age. Setup with multiple software and hardware components they have become mission critical to day-to-day commerce and require high resiliency. The developers of call center software have to cater to such an environment where the contact center employees are handling both voice and data at the same time. The voice call-flow and IVR (interactive voice response) is managed by the underlying ACD (Automatic Call Distributor). The data  window to manage the employee-customer interaction has scripting and CRM interfaces. The big task of the call center software is to handle the integrated call work-flow requirements of voice and data within a contact center operations.

The ability to do good QA (quality Assurance) on call center software is limited by the inability of lab environments to mimic the complexity of a real large volume contact center operations with its dynamics and call-flow. But most call center software mature very fast once deployed, due to the same reason.