What is callstats.io?
callstats.io provides analytics for WebRTC multimedia communications.
We gather network and multimedia metrics from each participant in a call. As a next step, callstats.io summarises the quality of experience for each participant, taking into account several factors including device and network capabilities. Thus, we have a quality measurement value for each participant in a call. We take these values and aggregate them across all calls served by an WebRTC service. We visualise these results on a dashboard via which the WebRTC service can proactively search for calls with mediocre quality or calls reported by a user. callstats.io also helps to diagnose other performance related issues like call setup times, capacity issues, etc.
Who is it for?
callstats.io is built for WebRTC-enabled services. Web monitoring services like Google Analytics and Mixpanel are similar to callstats.io, however we measure the quality of multimedia calls. In addition to quality metrics, we measure service statistics, for
example: total number of calls, reasons for failed calls, distribution of setup times, etc.
What benefits do callstats.io customers get?
As consumers of communication services, we all have at one point or another experienced poor media quality. When this happens on a service using callstats.io, the service provider can easily search for the particular conference’s metrics. The callstats.io’s dashboard shows a timeline for connectivity, user events (audio muting, video pausing, etc) and the variation of both media quality and the network metrics over time. For example the screenshot below shows the quality variation for four users over time, including that two participants have similar quality while the third and fourth have lower quality of experience.
Similarly, we track the application usage statistics, for example, we measure the total calls, failed calls, duration of calls, etc. This helps the WebRTC service focus on areas that need improvement.
How is callstats.io different from competitors/alternatives?
WebRTC services can use Google Analytics, Mixpanel or similar tools to track the application usage. If they collect media metrics in a CSV file via the getStats() API, they can import it into Guavus or Splunk to calculate statistical measures like median, average, etc. however, none of these tools are optimised to perform statistical analysis on media or network measurements. callstats.io is built from the beginning to be a real-time analysis system that enables WebRTC services to deploy fixes before a call drops and impacts the user experience.
Varun, you are also a co-author of the WebRTC Statistics API. Could you tell us how WebRTC v1.0 is evolving?
In the past few months, the WebRTC application is moving towards stability and tackling deployment issues. However, the most exciting feature that we are awaiting release in deployments are RtpSender and RtpReceiver. These objects allow for more fine-grained control (e.g., setting maximum bitrate) of the media stream from the application.