Check out our Amazon Connect solution! Learn More

Passive WebRTC Call Monitoring and Active Network Testing – Why You Need Both

By Lennart Schulte on September 13, 2019
read

If you’re using WebRTC to connect agents with your contact center as a service (CCaaS) provider, you’re probably investigating WebRTC test and monitoring tools. While CCaaS providers offer a wide range of productivity management tools, most don’t provide tools to ensure customers and agents are receiving high-quality voice services. Common problems such as one-way audio, aborted calls and device configuration errors aren’t reported or easily diagnosed using a CCaaS provider’s dashboard.

The tools you may have used with legacy on-premises infrastructure to measure MOS scores and other performance metrics don’t work with WebRTC. They were designed for legacy VoIP protocols. You’ll need new tools to monitor WebRTC call quality, troubleshoot network problems, and keep your agents and customers satisfied—especially if you’re at the mercy of best-effort internet service providers.

A question we often hear as contact center managers begin this journey is “what are the differences between the various WebRTC tools available and what do I really need?” The answer to this question begins by explaining two categories of tools: passive monitoring and active testing solutions. Passive monitoring systems let you capture key WebRTC performance statistics throughout the life of a call to gauge user experiences, debug problems and analyze trends.

Active testing solutions let you check critical network performance characteristics between WebRTC calls to anticipate service quality, evaluate ISPs or identify connectivity issues. The two capabilities go hand-in-hand. You’ll need both to detect and resolve a full range of performance and connectivity issues, and deliver quality user experiences.

Passive Monitoring for Analyzing WebRTC Call Characteristics

Passive WebRTC monitoring tools provide real-time visibility into key network performance and service quality metrics. You can use passive monitoring tools to assess the actual user experience for a WebRTC call. You can also use them to troubleshoot network performance problems and debug infrastructure (STUN/TURN/ICE) issues, endpoint configuration errors, and signaling and media protocol incompatibilities.

The callstats.io Monitoring and Analytics solution, for example, passively monitors live WebRTC sessions, collecting hundreds of data points (jitter, round-trip time, packet loss, etc.) every few seconds throughout a call. The data is stored in a central repository so you can analyze trends and debug problems across the entire system, or quickly drill down on individual calls to pinpoint issues. We provide a unique eMOS metric that lets you easily evaluate the user experience for each call.

2018-ai-notifications

Passive monitoring is ideal for keeping tabs on what users are actually experiencing. It's also your first stop when a user complains about a call. But what if the call only lasted a couple seconds? How can you troubleshoot the problem when you have no data?

And how can you evaluate internet service performance when you have no historical data? What if you're evaluating a new location for a contact center and need to measure ISP performance? What if a remote agent wants to validate service quality before taking customer calls?

That’s where active testing comes into play.

WebRTC Testing for Evaluating Network Performance

Active testing tools let you evaluate network conditions and assess probable service quality without establishing a complete end-to-end WebRTC call between two parties. They work by setting up a short simulated WebRTC session between an agent’s endpoint device and an infrastructure element in the cloud, such as a WebRTC TURN server or media server. 

In the case of a TURN server, the test is similar to an IP ping test. The WebRTC client sends WebRTC packets addressed to itself via the TURN server and measures the resulting performance. Metrics may include network layer performance (throughput, packet loss, delay and jitter) and audio/video media quality.

Using a media server, the test initiates a WebRTC session using the server as an endpoint. It sends media packets to the server and the server provides feedback to the agent via Real-Time Transport Control Protocol (RTCP) packets that measure the connection’s performance and media quality.

By running an active test in the background, between live WebRTC sessions, you can characterize the agent’s local network performance over an extended time interval. It enables you to evaluate the call quality that the connection is capable of supporting.

You can use an active connectivity test to:

  • Augment the data collected by passive monitoring for easier troubleshooting. This is particularly helpful when an agent handling infrequent and/or short duration calls is experiencing poor quality.
  • Debug connectivity problems with new agents or temporary work-from-home agents where no historical data is available.
  • Make informed network engineering and planning decisions. For example, when setting up a new contact center site, you could run tests to determine which ISP offers the best potential service quality.
  • Evaluate ISP performance. For example, you could automatically run active tests between calls, and collect historical data to correlate agent issues with specific ISPs.
  • Add a “signal strength meter” or self-test functionality to a contact center app so mobile agents or work-from-home agents can evaluate network conditions before making a call.

callstats.io offers a Smart Connectivity Test that lets you proactively check key media and network quality stats like round-trip time, throughput and packet loss under simulated WebRTC session load. You can embed the functionality into WebRTC apps to turn endpoints into network probes. You can also expose the functionality in your applications so agents can execute tests on their own to give your help desk some relief. Like our passive monitoring solution, our active test tool logs all test results in a centralized database that makes it easy to analyze issues and spot trends, both system-wide and for individual users.

If you use Amazon Connect, we’ve already done the Smart Connectivity Test integration work for you. Our open-source Amazon Connect dialer extensions add callstats.io Smart Connectivity Test functionality to the Amazon Connect Contact Control Panel so your agents can easily validate network performance before engaging customers.

Next Steps

Cloud contact centers can help improve business agility and save money. But when you move to the cloud you’ll need to take a fresh look at how you evaluate service quality and troubleshoot connectivity problems. Be sure to include passive monitoring tools and active testing tools in your plan. You’ll need both to manage WebRTC performance and deliver first-rate user experiences.

Whitepaper Download: An Introduction to Seven Critical Metrics For WebRTC Monitoring in Contact Centers

Tags: Contact Centers, WebRTC Monitoring, Smart Connectivity Test