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.