Asterisk has revolutionized telecom, PBX and call centers. Asterisk is also widely used as a media gateway and voice recording server. It is a vast and daunting task to document all the vertical and horizontal applications of Asterisk. We at Indosoft have experienced the impact of Asterisk on contact centers as well as call center software development. The growth and maturity of Asterisk is startling. As a consequence, we do from time to time encounter difficulties in the implementation of the features essential in a contact center software as Asterisk introduces new and extremely useful functional enhancements.
Asterisk introduced MySQL CDR as an enhancement to its CDR (Call Detail Record). CDRs provide a detailed log of call activity and an ideal CDR especially for use in contact center software should capture the complete event life cycle of a call. Typically PBX and media gateways might want to be able to do ‘Third Party Billing’. CDR is also critical for ‘Least cost Routing’ billing as well as fraud detection, and resource management. Call center software requires complete cradle to grave life cycle capture of the call detail. In a multi-tenant software these call details are segmented based on the tenants of the call center software suite. Within a tenant, the billing details of the call center software will have to be identified at Queue level so that an outsourced contact center can share its agents among multiple clients and be able to bill them appropriately based on calls.
By default, Asterisk provides CDR output as a flat text file. The Asterisk MySQL CDR add-on can be used to insert this data into a MySQL database. Unfortunately, this can cause serious issues for a call center software. Within a contact center, the call center software needs to be able to use resources quickly and efficiently for both inbound ACD and outbound predictive dialing. After a hangup of a call, the channel in Asterisk stays open till the CDR write has completed. With the flat text file, this only takes milliseconds due to operating system file buffering. If you are writing the CDR to MySQL and the database is slow to respond, the channel will stay open and locked for several seconds. Implementing extra features within Asterisk that expect a channel to be freed and available for other operations within reasonable time, will encounter nasty surprises. A perfect example would be to implement a TPV (Third Party verification) for completing a sale in both inbound and outbound call centers using techniques that expect the channel to be free once you disconnect a call. A contact center with limited outgoing line resources will experience serious difficulty if the call center software is unable to use these lines in a time effective manner for calls. Taking this a step further, if the MySQL database server fails or if the call center has network issues, the channels will stay open indefinitely causing your contact center enormous grief. This will go on until the channel count reaches a threshold and the call activities will cease.
There are many details in selecting the right call center software. The business requirements of the call center and costs are primary considerations. The obvious current requirements for the call center software are easily identified but it is the future unanticipated requirements that may limit the capability of your call center due to the limitations of the call center software. In many cases, it may be very difficult to anticipate all the functional requirements for the call center software with fine granularity. Once a call center is operational, changes or software upgrades increase the risk of disruption and impose enormous overheads on project planning and execution.
Let us examine the requirements for an inbound call center. It could be either at a company premise or an out-sourced call center. Most out sourced call centers manage multiple clients at the same time. This means that the call center software should be able to segregate and manage multiple clients. This is different from a Multi-tenant call center software. Hosted providers require multi-tenant call center software so that they can offer the services to different tenants.
Inbound call centers require good ACD with skills based routing as well as front-end call routing and processing capability. An IVR (interactive voice response) will provide flexibility for the call center to process calls before moving them to Queues with live agents. The call center software should have good GUI based tool to setup and change call routing and processing without requiring skilled programmers. Once calls move into Queues, skills based routing is a good way to get the most suitable to agent to answer the call.
There are numerous occasions when a call center software will have to use sophisticated call routing and call processing to improve the efficiency of the call center. IVR and automated call processing can be used to handle calls that do not require agent intervention. The call center may want to offer seperate premium and normal service by providing separate phone numbers or using any other identifiable parameters.
More to Follow…