Enterprises migrating their contact center infrastructure to the cloud have an opportunity to adopt a WebRTC interface for agent communications, instead of continuing to use a separate legacy SIP-based protocol stack to access the CCaaS provider. In my last blog I reviewed some of the technical considerations for migrating an on-premises contact center to the cloud and introducing WebRTC-based communications. In this blog, I’ll look at how network performance problems, software faults and human errors can impair WebRTC call quality, and explain how callstats.io can help you proactively monitor, detect and isolate service quality issues, and deliver better user experiences.
Identifying and Pinpointing Call Quality Issues
The figure below depicts a typical WebRTC-based Contact Center as a Service (CCaaS) implementation with an end-customer communicating with a contact center agent using a cloud-based platform, like Amazon Connect or Twilio Flex. In this particular scenario, the customer leg of the conversation occurs over the PSTN and the agent leg of the conversation occurs over the public internet using a WebRTC protocol model.
Many contact center support teams are charged with ensuring a good quality of experience for the voice communications sessions between agent and customer. They need visibility into the WebRTC leg of the call to measure quality and identify issues. Audio quality for the WebRTC leg of the conversation can suffer for a variety of reasons, including:
- Performance problems in the underlying IP transport network, i.e. the agent’s end-to-end connection through the public internet to the CCaaS platform.
- Software errors in the WebRTC protocol stack running in the agent’s browser, i.e. problems associated with signaling, media engine or NAT traversal code.
- Human errors, i.e. contact center agent configuration mistakes and user mishaps.
Let’s take a closer look at each one of these individually.
Network Performance Issues
Even though WebRTC features advanced technologies that enable it to overcome many problems and deliver excellent user experiences, subpar networks can still cause call quality impairments because the network’s performance can vary widely.
The consumer network service used by a work-at-home agent may differ significantly from the commercial service that connects a brick-and-mortar contact center. Consumer services can suffer from in-home network congestion, poor Wi-Fi coverage and bandwidth throttling. Geography can also play a role: service can vary by country, based on its infrastructure.
A poorly performing network can introduce gaps into the conversation, cause garbled or robotic-sounding speech, and generally degrade voice quality. You can use callstats.io to proactively monitor a variety of key network performance indicators, including:
- Delay – the time it takes to transmit a packet from one endpoint to another.
- Jitter – a variation in the delay of packets received at an endpoint due to network congestion.
- Packet Loss – the percentage of packets dropped over a given measurement period.
- Bandwidth – the network capacity available to an endpoint.
- Throughput – the actual data transmit rate achieved by an endpoint.
These metrics enable you to identify congestion and other types of performance problems. Poor performance is symptomatic of a constrained ISP connection, or congestion further downstream in the provider’s network.
In addition, agents who work outside the confines of the corporate contact center are far more likely to experience excessive delay, jitter or packet loss than on-prem agents connected directly to the enterprise network. Consumer ISP connections are far less predictable and reliable than their enterprise counterparts.
Remote agents can use a tool like the Smart Connectivity Test to evaluate network conditions before engaging a customer. This intuitive, browser-based tool lets agents quickly assess network performance before placing or accepting a call.
Download the Whitepaper: How WebRTC Can Improve Your Contact Center Communications
WebRTC Software Issues
WebRTC software errors can also impair the user experience by causing one-way audio, dropped calls and other problems. You can use callstats.io to monitor and analyze various faults and errors throughout the WebRTC stack including:
- Errors associated with the signaling software used to negotiate connections e.g. SIP/XMPP, SDP generation, SDP negotiation errors.
- Problems associated with the ICE and transport algorithms used to traverse NAT devices e.g. connectivity failures, set-up delays, connection time-outs, dropped connections.
- Errors related to the media device and engine that processes and encodes audio and video streams e.g. one-way audio errors, one-way video errors, CODEC failures.
When any of these errors occurs, it is logged by the callstats.io library that runs in the browser and reported to the dashboard. This enables support teams to easily diagnose the gamut of software issues.
Good old-fashioned human errors can also lead to dropped calls and garbled communications. Examples of common agent mishaps and configuration mistakes include:
- Unintentionally closing a browser tab and thus aborting a call.
- Incorrectly configuring browser permissions and accidentally disabling media.
- Misconfiguring application settings and selecting an inappropriate microphone or speaker.
- Accidentally connecting to a poorly performing network, e.g. 3G mobile instead of Wi-Fi.
- Running too many resource-intensive apps on a PC, degrading system performance and call quality.
callstats.io collects a range of detailed platform and browser data that can help you diagnose many of these problems.
Make the Move to WebRTC Today!
WebRTC delivers excellent HD user experiences for customers and contact center agents that are far superior to legacy SIP-based communications models. Notwithstanding its many advanced features (off-the shelf congestion control and error-resilience algorithms), WebRTC sessions encounter a range of issues that can impair call quality. Contact center engineers and support teams can quickly diagnose and resolve these issues by monitoring WebRTC sessions using the callstats.io Monitoring and Analytics service.
In this blog series we’ve shown how a WebRTC-based CCaaS solution can help you improve contact center performance, eliminate equipment expense and complexity, and increase business agility. We reviewed some of the key functional differences between WebRTC and SIP-based protocol models, provided some technical recommendations for optimizing audio quality in a WebRTC implementation, and explained how callstats.io can help you proactively monitor and analyze real-time communications, and deliver superior user experiences.
Today’s mobile-first users expect convenient and reliable access to all their applications and services from any location, using any device. IT organizations are moving enterprise applications to the cloud and introducing browser-based services to improve user satisfaction and worker productivity, accelerate the pace of innovation and streamline operations. Why should contact center communications services be any different?
Say goodbye to outdated, stand-alone SIP clients. Make the move to WebRTC today, and enjoy all the benefits of browser-based communications. Follow the tips in this blog series and use callstats.io to optimize WebRTC call quality and ensure a successful transition.