OpenTok Pre-Call test, Network test, and getStats() API

What is the getStats API?

getStats is defined in the WebRTC standard. It provides a guideline on how browsers can communicate raw quantitative data to applications. Our APIs make this data available using the getStats() call in our JavaScript SDK. These are available for both the publisher and subscriber.

This is useful for developers that are very comfortable with OpenTok core concepts/session architecture and have familiarity with online audio/video metrics.

What is the OpenTok Network Test?

The Network Test is a Node module that enables an additional set of APIs. These are built on top of and using the getStats API. They take the raw data from getStats() and present it in a way that is easier to understand and use.

The Network Test provides information that can be useful for diagnosing session health (bitrate, packet loss, latency, and MOS quality score). This is the recommended tool for most cases. It can be used to build a solution similar to the Pre-call test, diagnose potential issues programmatically, or simply to determine expected call quality.

What is the OpenTok Pre-call test?

The OpenTok Pre-call test is an application that uses Network test APIs to check a client's capabilities including:

browser compatibility

acquiring camera and microphone

reaching OpenTok API servers

connecting to OpenTok signaling server

connecting to OpenTok media server

connecting to OpenTok signaling server

It also provides a summary of expected call quality at the time. This tool is intended to help diagnose potentially problematic clients and provide a way to determine why they are running into issues.