SlideShare a Scribd company logo
1 of 27
Download to read offline
Getting Started with
callstats.io
Varun Singh
CEO, callstats.io
31. 07. 2015
RTP/RTCP, Extension Reports, Multipath, FEC
Congestion Control, Statistics API
Ph.D. Thesis: Protocols and Algorithms for adaptive multimedia systems
http://urn.fi/URN:ISBN:978-952-60-6221-1
http://geek-and-poke.com/
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.
It is not all about throughput*
• … it is about latency or delay!
*)capacity
bandwidth
speed
audio only call
Gameplan
• Do Nothing
• Wait for emails from customers
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).
Manual Data Gathering
Gameplan
• Do Nothing
• Wait for feedback
• Active Monitoring
• endpoint monitoring
• network monitoring
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
Monitoring What?
• Annoyances
• Transport quality
• Per-stream media quality
Aggregate Dashboard
Filter Dashboard by Time
Failed conferences
ICE connection failure
the endpoints encounter
a NAT/Firewall.
What was the
main cause of
failure?
Totally failed: Sessions
failed for all participants.
Partially failed: some
participants were not
able to join the
conference.
Search
• for a particular conferenceID
• by criteria: failed calls, TCP calls,
relayed calls
• monitor ongoing calls in real-time
Session Details
hidden
Annoyances
Setup times: waiting for the conference to
begin: NAT traversal, negotiation, etc.
Note: gathering and connectivity
checks can happen concurrently
Connectivity Failure
reportError()New API:
catches other types of errors, for example
when negotiation fails due to SDP errors
callstats.js automatically detects when connectivity checks fail and reports it
Churn
some people are unable to join,
they reload the page, maybe it works?
Events
Disruptions
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.
Disruptions and user behaviour
User Behaviour: The user tries to correct for the
disruption by turning on and off videoZoom in to the events
to view disruptions
Transport Metrics
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.
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)
Gather
Report
Analyze
FIX
Deploy?
webrtc-internal?
via email?
Hasthisbeen
reportedbefore?
Did it solve the issue?
Until next report?
Collect
Diagnose
Fix
Deploy
• 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/

More Related Content

Similar to Getting Started with callstats.io

Early watch report
Early watch reportEarly watch report
Early watch reportcecileekove
 
Messaging is not just for investment banks!
Messaging is not just for investment banks!Messaging is not just for investment banks!
Messaging is not just for investment banks!elliando dias
 
Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introMykola Kovsh
 
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...Dakiry
 
6 profiling tools
6 profiling tools6 profiling tools
6 profiling toolsvideos
 
Parallel machines flinkforward2017
Parallel machines flinkforward2017Parallel machines flinkforward2017
Parallel machines flinkforward2017Nisha Talagala
 
Сервис, ты как? Практики и подходы к мониторингу ИТ-сервисов системами инфрас...
Сервис, ты как? Практики и подходы к мониторингу ИТ-сервисов системами инфрас...Сервис, ты как? Практики и подходы к мониторингу ИТ-сервисов системами инфрас...
Сервис, ты как? Практики и подходы к мониторингу ИТ-сервисов системами инфрас...ALG Systems (АЛЖ Системс)
 
ClueCon 2018: AI For Real-time Communications by Binoy Chemmagate
ClueCon 2018: AI For Real-time Communications by Binoy ChemmagateClueCon 2018: AI For Real-time Communications by Binoy Chemmagate
ClueCon 2018: AI For Real-time Communications by Binoy Chemmagatecallstats.io
 
Unlock your power with 4 dimensional actionable intelligence
Unlock your power with 4 dimensional actionable intelligence Unlock your power with 4 dimensional actionable intelligence
Unlock your power with 4 dimensional actionable intelligence BSP Media Group
 
Performance Testing using LoadRunner
Performance Testing using LoadRunnerPerformance Testing using LoadRunner
Performance Testing using LoadRunnerKumar Gupta
 
Difference between Quality of Service and Grade of Service (General description)
Difference between Quality of Service and Grade of Service (General description)Difference between Quality of Service and Grade of Service (General description)
Difference between Quality of Service and Grade of Service (General description)Donaire Carapichoso
 
Event-Driven Architectures Done Right | Tim Berglund, Confluent
Event-Driven Architectures Done Right | Tim Berglund, ConfluentEvent-Driven Architectures Done Right | Tim Berglund, Confluent
Event-Driven Architectures Done Right | Tim Berglund, ConfluentHostedbyConfluent
 
Fight Back Against ISP Scorecards
Fight Back Against ISP ScorecardsFight Back Against ISP Scorecards
Fight Back Against ISP ScorecardsProcera Networks
 
Tune Up Your Network for the New Year
Tune Up Your Network for the New YearTune Up Your Network for the New Year
Tune Up Your Network for the New YearSavvius, Inc
 

Similar to Getting Started with callstats.io (20)

Early watch report
Early watch reportEarly watch report
Early watch report
 
Messaging is not just for investment banks!
Messaging is not just for investment banks!Messaging is not just for investment banks!
Messaging is not just for investment banks!
 
QoE in DASH
QoE in DASHQoE in DASH
QoE in DASH
 
Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter intro
 
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
 
Network and Multimedia QoE Management
Network and Multimedia QoE ManagementNetwork and Multimedia QoE Management
Network and Multimedia QoE Management
 
6 profiling tools
6 profiling tools6 profiling tools
6 profiling tools
 
PACE-IT: Analyzing Monitoring Reports
PACE-IT: Analyzing Monitoring ReportsPACE-IT: Analyzing Monitoring Reports
PACE-IT: Analyzing Monitoring Reports
 
soc
socsoc
soc
 
Parallel machines flinkforward2017
Parallel machines flinkforward2017Parallel machines flinkforward2017
Parallel machines flinkforward2017
 
Сервис, ты как? Практики и подходы к мониторингу ИТ-сервисов системами инфрас...
Сервис, ты как? Практики и подходы к мониторингу ИТ-сервисов системами инфрас...Сервис, ты как? Практики и подходы к мониторингу ИТ-сервисов системами инфрас...
Сервис, ты как? Практики и подходы к мониторингу ИТ-сервисов системами инфрас...
 
Video Traffic Management
Video Traffic ManagementVideo Traffic Management
Video Traffic Management
 
ClueCon 2018: AI For Real-time Communications by Binoy Chemmagate
ClueCon 2018: AI For Real-time Communications by Binoy ChemmagateClueCon 2018: AI For Real-time Communications by Binoy Chemmagate
ClueCon 2018: AI For Real-time Communications by Binoy Chemmagate
 
Unlock your power with 4 dimensional actionable intelligence
Unlock your power with 4 dimensional actionable intelligence Unlock your power with 4 dimensional actionable intelligence
Unlock your power with 4 dimensional actionable intelligence
 
Performance Testing using LoadRunner
Performance Testing using LoadRunnerPerformance Testing using LoadRunner
Performance Testing using LoadRunner
 
Manikandan_Resume
Manikandan_ResumeManikandan_Resume
Manikandan_Resume
 
Difference between Quality of Service and Grade of Service (General description)
Difference between Quality of Service and Grade of Service (General description)Difference between Quality of Service and Grade of Service (General description)
Difference between Quality of Service and Grade of Service (General description)
 
Event-Driven Architectures Done Right | Tim Berglund, Confluent
Event-Driven Architectures Done Right | Tim Berglund, ConfluentEvent-Driven Architectures Done Right | Tim Berglund, Confluent
Event-Driven Architectures Done Right | Tim Berglund, Confluent
 
Fight Back Against ISP Scorecards
Fight Back Against ISP ScorecardsFight Back Against ISP Scorecards
Fight Back Against ISP Scorecards
 
Tune Up Your Network for the New Year
Tune Up Your Network for the New YearTune Up Your Network for the New Year
Tune Up Your Network for the New Year
 

More from callstats.io

Finding Hidden Call Quality Issues with Machine Learning
Finding Hidden Call Quality Issues with Machine LearningFinding Hidden Call Quality Issues with Machine Learning
Finding Hidden Call Quality Issues with Machine Learningcallstats.io
 
How Active WebRTC Connectivity Tests Are Improving User Experiences
How Active WebRTC Connectivity Tests Are Improving User ExperiencesHow Active WebRTC Connectivity Tests Are Improving User Experiences
How Active WebRTC Connectivity Tests Are Improving User Experiencescallstats.io
 
All thingsrtc finding hidden issues with ml
All thingsrtc finding hidden issues with mlAll thingsrtc finding hidden issues with ml
All thingsrtc finding hidden issues with mlcallstats.io
 
ClueCon 2018: Real-time Communications Monitoring 101 by Varun Singh
ClueCon 2018: Real-time Communications Monitoring 101 by Varun SinghClueCon 2018: Real-time Communications Monitoring 101 by Varun Singh
ClueCon 2018: Real-time Communications Monitoring 101 by Varun Singhcallstats.io
 
The Fun and User-Friendly Guide to the Secure Real-time Transport Protocol
The Fun and User-Friendly Guide to the Secure Real-time Transport ProtocolThe Fun and User-Friendly Guide to the Secure Real-time Transport Protocol
The Fun and User-Friendly Guide to the Secure Real-time Transport Protocolcallstats.io
 
A Clear Summary of the Real-time Transport Protocol in 2 Minutes
A Clear Summary of the Real-time Transport Protocol in 2 MinutesA Clear Summary of the Real-time Transport Protocol in 2 Minutes
A Clear Summary of the Real-time Transport Protocol in 2 Minutescallstats.io
 
Components of Delay
Components of DelayComponents of Delay
Components of Delaycallstats.io
 
6 Cost Saving Benefits of Real-time Speech Analytics
6 Cost Saving Benefits of Real-time Speech Analytics6 Cost Saving Benefits of Real-time Speech Analytics
6 Cost Saving Benefits of Real-time Speech Analyticscallstats.io
 
What are WebRTC Use Cases?
What are WebRTC Use Cases?What are WebRTC Use Cases?
What are WebRTC Use Cases?callstats.io
 
The History of the WebRTC API
The History of the WebRTC APIThe History of the WebRTC API
The History of the WebRTC APIcallstats.io
 
Who Really Needs to Monitor WebRTC? [Infographic]
Who Really Needs to Monitor WebRTC? [Infographic]Who Really Needs to Monitor WebRTC? [Infographic]
Who Really Needs to Monitor WebRTC? [Infographic]callstats.io
 
Kranky Geek Sao Paulo 2016 - WebRTC Statistics and Analytics
Kranky Geek Sao Paulo 2016 - WebRTC Statistics and AnalyticsKranky Geek Sao Paulo 2016 - WebRTC Statistics and Analytics
Kranky Geek Sao Paulo 2016 - WebRTC Statistics and Analyticscallstats.io
 
Basics of WebRTC getStats() API
Basics of WebRTC getStats() APIBasics of WebRTC getStats() API
Basics of WebRTC getStats() APIcallstats.io
 

More from callstats.io (13)

Finding Hidden Call Quality Issues with Machine Learning
Finding Hidden Call Quality Issues with Machine LearningFinding Hidden Call Quality Issues with Machine Learning
Finding Hidden Call Quality Issues with Machine Learning
 
How Active WebRTC Connectivity Tests Are Improving User Experiences
How Active WebRTC Connectivity Tests Are Improving User ExperiencesHow Active WebRTC Connectivity Tests Are Improving User Experiences
How Active WebRTC Connectivity Tests Are Improving User Experiences
 
All thingsrtc finding hidden issues with ml
All thingsrtc finding hidden issues with mlAll thingsrtc finding hidden issues with ml
All thingsrtc finding hidden issues with ml
 
ClueCon 2018: Real-time Communications Monitoring 101 by Varun Singh
ClueCon 2018: Real-time Communications Monitoring 101 by Varun SinghClueCon 2018: Real-time Communications Monitoring 101 by Varun Singh
ClueCon 2018: Real-time Communications Monitoring 101 by Varun Singh
 
The Fun and User-Friendly Guide to the Secure Real-time Transport Protocol
The Fun and User-Friendly Guide to the Secure Real-time Transport ProtocolThe Fun and User-Friendly Guide to the Secure Real-time Transport Protocol
The Fun and User-Friendly Guide to the Secure Real-time Transport Protocol
 
A Clear Summary of the Real-time Transport Protocol in 2 Minutes
A Clear Summary of the Real-time Transport Protocol in 2 MinutesA Clear Summary of the Real-time Transport Protocol in 2 Minutes
A Clear Summary of the Real-time Transport Protocol in 2 Minutes
 
Components of Delay
Components of DelayComponents of Delay
Components of Delay
 
6 Cost Saving Benefits of Real-time Speech Analytics
6 Cost Saving Benefits of Real-time Speech Analytics6 Cost Saving Benefits of Real-time Speech Analytics
6 Cost Saving Benefits of Real-time Speech Analytics
 
What are WebRTC Use Cases?
What are WebRTC Use Cases?What are WebRTC Use Cases?
What are WebRTC Use Cases?
 
The History of the WebRTC API
The History of the WebRTC APIThe History of the WebRTC API
The History of the WebRTC API
 
Who Really Needs to Monitor WebRTC? [Infographic]
Who Really Needs to Monitor WebRTC? [Infographic]Who Really Needs to Monitor WebRTC? [Infographic]
Who Really Needs to Monitor WebRTC? [Infographic]
 
Kranky Geek Sao Paulo 2016 - WebRTC Statistics and Analytics
Kranky Geek Sao Paulo 2016 - WebRTC Statistics and AnalyticsKranky Geek Sao Paulo 2016 - WebRTC Statistics and Analytics
Kranky Geek Sao Paulo 2016 - WebRTC Statistics and Analytics
 
Basics of WebRTC getStats() API
Basics of WebRTC getStats() APIBasics of WebRTC getStats() API
Basics of WebRTC getStats() API
 

Recently uploaded

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 

Recently uploaded (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

Getting Started with callstats.io

  • 1. Getting Started with callstats.io Varun Singh CEO, callstats.io 31. 07. 2015
  • 2. RTP/RTCP, Extension Reports, Multipath, FEC Congestion Control, Statistics API Ph.D. Thesis: Protocols and Algorithms for adaptive multimedia systems http://urn.fi/URN:ISBN:978-952-60-6221-1
  • 4. 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.
  • 5. It is not all about throughput* • … it is about latency or delay! *)capacity bandwidth speed audio only call
  • 6. Gameplan • Do Nothing • Wait for emails from customers
  • 7. 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).
  • 9. Gameplan • Do Nothing • Wait for feedback • Active Monitoring • endpoint monitoring • network monitoring
  • 10. 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
  • 11. Monitoring What? • Annoyances • Transport quality • Per-stream media quality
  • 14. Failed conferences ICE connection failure the endpoints encounter a NAT/Firewall. What was the main cause of failure? Totally failed: Sessions failed for all participants. Partially failed: some participants were not able to join the conference.
  • 15. Search • for a particular conferenceID • by criteria: failed calls, TCP calls, relayed calls • monitor ongoing calls in real-time
  • 17. Annoyances Setup times: waiting for the conference to begin: NAT traversal, negotiation, etc. Note: gathering and connectivity checks can happen concurrently
  • 18. Connectivity Failure reportError()New API: catches other types of errors, for example when negotiation fails due to SDP errors callstats.js automatically detects when connectivity checks fail and reports it
  • 19. Churn some people are unable to join, they reload the page, maybe it works?
  • 21. Disruptions 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.
  • 22. Disruptions and user behaviour User Behaviour: The user tries to correct for the disruption by turning on and off videoZoom in to the events to view disruptions
  • 24. 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.
  • 25. 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)
  • 26. Gather Report Analyze FIX Deploy? webrtc-internal? via email? Hasthisbeen reportedbefore? Did it solve the issue? Until next report? Collect Diagnose Fix Deploy
  • 27. • 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/