Irish technology company Spearline acquires Callstats from 8x8.  Learn More

Helping our Customers Understand Smart Connectivity Test to Check End-user Network Quality

By callstats on July 20, 2018

Many of our customers want to maintain a seamless user experience, but struggle with poor media quality. Media quality can be affected by many factors, but one of the most frequent issues we have seen our customers struggle with is poor end-user network environments.

It is crucial that our customers be able to understand their end-user network conditions so they can provide the highest quality calls possible. In order to address this, we launched a new feature called the Smart Connectivity Test in February of 2018. If you’d like to see theSmart Connectivity Test, it is publicly available at

TheSmart Connectivity Test to Measure Network Quality

The Smart Connectivity Test API runs WebRTC-specific tests to measure the network quality of end-users before a call begins. It measures status of media connectivity, round-trip time, fractional losses and available end-user device throughput. With this test, we aim to help developers understand their end user network conditions better so they may predict media quality.

Obtaining the Smart Connectivity Test results is as simple as accessing our on function, as shown below:

callstats.on("preCallTestResults", csPreCallTestResultsCallback);
function preCallTestResultsCallback(status, results) {
//Check the status
    if (status == callstats.callStatsAPIReturnStatus.success) {
       var connectivity = results.mediaConnectivity;
       var rtt = results.rtt;
       var loss = results.fractionalLoss;
       var throughput = results.throughput;
    else {
        console.log("Smart Connectivity Test could not be run");
What do Customers think of the Smart Connectivity Test?

We have found many of our customers keen to use our Smart Connectivity Test feature. However, some concerns continue to pop up that we have had to address. While we typically direct customers to our help center for such problems, some require a more in-depth look.

When is the Smart Connectivity Test Triggered?

The Smart Connectivity Test API is enabled by default and triggered when callstats.initialize() is called. By the time the conference begins, the Smart Connectivity Test is completed.

Why is this Relevant to the Customer?

Understanding when the Smart Connectivity Test is triggered is relevant because many of our customers want to be able to trigger the Smart Connectivity Test before starting a call, then potentially disable users from starting the call if they have poor network conditions. In order to address this, we recommended our customers call callstats.initialize() before starting the call and wait for the Smart Connectivity Test results to be returned. If no results are returned by the end of the customer-specified timeout, they should begin the conference.

Can we Trigger the Smart Connectivity Test on Demand?

In order to address this question, we have implemented an API called makePrecallTest(), which can be called at any time and will return the Smart Connectivity Test results callback.

Why is this relevant to the customer?

Some of our customers have end users that only accept incoming calls. In order to properly prepare for these calls, developers want to be able to call callstats.initialize() when the user opens their website and then every several minutes to check call quality. If the end-user has poor network conditions, the developer can identify it and fix the problem. Our makePrecallTest() API is a payable feature available exclusively for Enterprise customers that addresses this problem. If you want more information on how to make use of this API, please contact our support team.

Why the Smart Connectivity Test is Important

This API fits the needs of customers who want to improve the user experience by identifying and optimizing the conditions on the network. The end goal is to use the Smart Connectivity Test information to improve their logic and prevent calls established under poor network conditions.

Interested in improving the quality of audio and video calls in your application? Request a demo of our dashboard for more information.

Tags: WebRTC, WebRTC Monitoring, Smart Connectivity Test