23
Getting Started with callstats.io Varun Singh CEO, callstats.io 07. 07. 2015

Getting Started with callstats.io

Embed Size (px)

Citation preview

Page 1: Getting Started with callstats.io

Getting Started with callstats.io

Varun Singh CEO, callstats.io

07. 07. 2015

Page 2: Getting Started with callstats.io

http://geek-and-poke.com/

Page 3: Getting Started with callstats.io

B r i n g i n g h i g h q u a l i t y o f experience to every interaction.

Page 4: Getting Started with callstats.io

It is not all about throughput*• … it is about latency or delay!

*)capacity bandwidth speed

audio only call

Page 5: Getting Started with callstats.io

Gameplan

• Do Nothing

• Wait for emails from customers

Page 6: Getting Started with callstats.io

Gameplan• Do nothing

—> It is someone else’s problem

• use the following reasons in support: 1.Insufficient  Capacity    (upgrade  plan)  

2.Misbehaving  Browser/Device  (update  or  change)  

3.Or…  NATs/Firewall              (change?)  

• Bonus tip: you can use the same reasons for the other customer’s ISP (Internet Service Provider).

Page 7: Getting Started with callstats.io

Manual Data Gathering

Page 8: Getting Started with callstats.io

Gameplan

• Do Nothing

• Wait for feedback

• Active Monitoring

• endpoint monitoring

• network monitoring

Page 9: Getting Started with callstats.io

Low hanging fruit

• Endpoint monitoring (Traffic lights)

• colors to show connection is active/inactive

• off/online

• good/bad/ugly

Page 10: Getting Started with callstats.io

HTML APIs• HTMLVideoElement Extensions

• http://www.w3.org/TR/2014/CR-media-source-20140717/#htmlvideoelement-extensions

• droppedVideoFrames,  corruptedVideoFrames,  totalFrameDelay

• WebRTC Statistics API

• (work in progress) http://www.w3.org/TR/2015/WD-webrtc-stats-20150206/

• PeerConnection Metrics: RTP, datachannel

• Transport Metrics: active and passive candidates

• Security cipher suite

Page 11: Getting Started with callstats.io

Monitoring What?

• Annoyances

• Transport quality

• Per-stream media quality

Page 12: Getting Started with callstats.io

Aggregate Dashboard

Totally failed: Sessions failed for all participants.

Partially failed: some participants were not able to join the conference.

Page 13: Getting Started with callstats.io

Filter Dashboard by Time

What was the main cause of failure?

ICE connection failure occurs when the endpoints encounter a NAT/Firewall.

Page 14: Getting Started with callstats.io

Session Details

hidden

Page 15: Getting Started with callstats.io

Conference Events

visualises media events like muted audio, pausing video. Additionally, events like call hold and resume

Page 16: Getting Started with callstats.io

Annoyances Setup times: waiting for the conference to begin: NAT traversal, negotiation, etc.

Note: gathering and connectivity checks can happen concurrently

Page 17: Getting Started with callstats.io

Annoyances

Disruption: loss of connectivity when network interfaces change, low available capacity,or high delay

The light grey vertical lines show disruption, highlighted by the red bounding boxes.

User Behaviour: The user tries to correct for the disruption by turning on and off video

Zoom in to the events to view disruptions

Page 18: Getting Started with callstats.io

Transport Metrics

Page 19: Getting Started with callstats.io

Quality Metrics

In this case, it shows two users have comparable quality of experience, meanwhile the third user has one order lesser q u a l i t y a n d a l s o indicative that the user drops and rejoins.

Also shows that the congestion control has a late joiner problem. As the quality improves as when one user drops off at the end of the call.

higher value indicates better user experience.

Page 20: Getting Started with callstats.io

Search

• for a particular conferenceID

• by criteria: failed calls, TCP calls, relayed calls

• monitor ongoing calls in real-time

Page 21: Getting Started with callstats.io

Notifications

• WebRTC Clients Notifications

• (e.g., modify settings to deliver optimum quality)

• Dashboard/Operation Notifications

• (e.g., aggregate quality or number of completed session dropped below a threshold, etc)

Page 22: Getting Started with callstats.io

Gather

Report

Analyze

FIX

Deploy?

webrtc-internal?

via email?

Has

this

bee

n re

port

ed b

efor

e?

Did it solve the issue?Until next report?

Collect

Diagnose

Fix

Deploy

Page 23: Getting Started with callstats.io

• Analytics for WebRTC

• 3 lines of code —> 5 minutes.

1. include <script>

2. initialize() —> needs registration keys

3. addNewFabric(pc,  …) —> call started

• optionally: send user events: audio muted/unmuted, video paused/resumed, call terminated, call held.

• optionally: reportError() —> call failed to be setup due to SDP or Firewalls.

• optionally: associateMstWithUserID() —> bridges using multiple media streams in a single peerconnection may want to correlate mediastream quality across endpoints.

• optionally: collect and send user feedback

http://www.callstats.io/api/