SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
Getting the Best out 
of WebRTC 
Tim Panton - Protocol Droid - Westhawk Ltd 
Dan Jenkins - Chief Ape - nimblea.pe & Respoke
Simple 1 for 1 replacement ? 
No! 
Bandwidth / CPU use are different
How to plan a deployment 
A talk in two parts
Architecture and Choices
Practical numbers and graphs
Assumptions 
If you are here you are probably 
Doing this commercially - Quality matters 
Using Asterisk - Hybrid model with some PSTN 
Have Asymmetric calls - agents and users 
Are on a tight bandwidth and CPU budget 
Video not top priority (yet) 
Have a clue
WebRTC Topologies
Video Peer Calls 
Video 
User Agent 
Internet 
SIP 
Audio 
HTML 
Context 
Asterisk Webservice
Internal Audio Agents 
Asterisk 
L 
A 
N 
App 
Server 
User 
P 
S 
T 
N 
Agent 
Agent 
Agent 
Agent 
Agent
External Audio Agents 
I 
N 
T 
E 
R 
N 
E 
T 
User 
P 
S 
T 
N 
Agent 
Agent 
Agent 
Agent 
Agent 
WebRTC 
App 
Server 
Asterisk
External Audio Users 
L 
A 
N 
User 
I 
N 
T 
E 
R 
N 
E 
T 
Agent 
Agent 
Agent 
Agent 
Agent 
DeskPhones 
HTML 
WebRTC Audio 
App 
Server 
Asterisk 
SIP Phones
Hybrid 
L 
A 
N 
User 
I 
N 
T 
E 
R 
N 
E 
T 
Agent 
Agent 
Agent 
Agent 
Agent 
DeskPhones 
WebRTC 
Audio 
HTML 
App 
Server 
Asterisk 
Agent 
WebRTC 
SIP Phones 
PSTN 
Audio FAX SMS 
User 
Skype 
Twitter 
Chat 
Email 
Facebook
WebRTC issues 
How webRTC differs from plain old SIP 
ICE - can penetrate NAT at cost of setup time 
DTLS - encrypted traffic but call setup costs CPU 
Web service - may expose your Asterisk 
SRTP - encrypted media costs some CPU too.
Codecs 
Codecs implemented in browsers today: 
ULAW - old favourite - high bandwidth/ low cpu 
2 quality modes - landline or incomprehensible 
Opus - new comer - low bandwidth / high cpu 
flexible quality and error correction settings 
VP8 - free video codec - High but variable bandwidth 
H264 - licensed video codec - free if < 100k (IANAL)
Codecs - ideal choices 
(audio only) 
Codec Setting Reasoning 
P2P 
video Opus None The browser knows best 
Int 
Agents ulaw None low loss on LAN + 
will end up on PSTN 
Ext 
Agent Opus High BW / low loss Can set minimum DSL 
standards for staff 
Ext 
User Opus Low BW / high loss Users share DSL with 
web/games etc 
Note - Digium does not support opus on Asterisk
DTLS - crypto selection
WebRTC uses DTLS to generate SRTP key 
Different Cypher suites 
Different key lengths 
Multiple certificate sources 
All impacts CPU usage at call setup.
ICE - Tricks
Assume your asterisk has a public IP 
Probably don’t need a TURN server 
Avoid offering candidates for internal IPs 
Don’t offer VPN candidates 
Can probably get away with setting ice-lite
Architecture - Asymmetry
In future we expect more asymmetric cases 
Mayday - they see your screen not you 
Baby monitor - 1 way video but 2 way audio ? 
Security cameras
What does that all mean in practice 
Probably: 
Higher CPU use (especially with Opus) 
Longer call setup times 
Very high bandwidth with Video (if enabled)
Tools to monitor 
Probably: 
WebRTC stats (Respoke Stats) 
www.npmjs.org/package/getstats 
chrome://webrtc-internals 
CollectD / Graphite
Some Numbers 
Test scenario: 
Asterisk: 11.8.1 
on machine: Centos Intel(R) Core(TM) i3-4010U CPU @ 1.70GHz 
Chrome 38 
Ramp up 24 calls 
Play back intermittent audio (IVR usage) 
Graph - bandwidth / CPU / calls / time
24 ulaw audio calls 
Graph
24 opus audio calls - No settings 
Graph
24 opus audio calls 
Low BW high loss 
Graph
Some MORE “Numbers” 
Test scenario: 
Digital Ocean 
Medium Droplet 
San Francisco
1 P2P video call - LAN/WAN 
http://bit.ly/dt-demo
1 P2P video call - WAN 
http://bit.ly/dt-demo
Live demo using respoke 
Chrome (android too) browse here! 
URL: 
http://bit.ly/dt-asterisk
Thank you! 
Questions? 
More info at: 
github.com/danjenkins/web-examples 
@dan_jenkins 
@steely_glint 
www.respoke.io
Images Used 
http://upload.wikimedia.org/wikipedia/commons/c/ca/Padlock_2010.JPG 
http://upload.wikimedia.org/wikipedia/commons/8/8e/ 
Ice_road_in_the_Northwest_Territories_-a.jpg 
http://upload.wikimedia.org/wikipedia/commons/4/41/Asymmetric_%28PSF 
%29.png

Contenu connexe

Tendances

Hackference 2014 - Node.js, the awesome parts
Hackference 2014 - Node.js, the awesome partsHackference 2014 - Node.js, the awesome parts
Hackference 2014 - Node.js, the awesome partsDan Jenkins
 
WebRTC Reborn Hackference
WebRTC Reborn HackferenceWebRTC Reborn Hackference
WebRTC Reborn HackferenceDan Jenkins
 
WebRTC Reborn SignalConf 2016
WebRTC Reborn SignalConf 2016WebRTC Reborn SignalConf 2016
WebRTC Reborn SignalConf 2016Dan Jenkins
 
Twilio Signal 2016 Bringing P2P to the Masses with WebRTC
Twilio Signal 2016 Bringing P2P to the Masses with WebRTCTwilio Signal 2016 Bringing P2P to the Masses with WebRTC
Twilio Signal 2016 Bringing P2P to the Masses with WebRTCTwilio Inc
 
Astricon 2016 - Scaling ARI and Production
Astricon 2016 - Scaling ARI and ProductionAstricon 2016 - Scaling ARI and Production
Astricon 2016 - Scaling ARI and ProductionDan Jenkins
 
DevSecCon Boston 2018: My rage quit journey: configuring Netflix tools by Sar...
DevSecCon Boston 2018: My rage quit journey: configuring Netflix tools by Sar...DevSecCon Boston 2018: My rage quit journey: configuring Netflix tools by Sar...
DevSecCon Boston 2018: My rage quit journey: configuring Netflix tools by Sar...DevSecCon
 
DevSecCon Boston 2018: Secure by Design by Chris Wysopal
DevSecCon Boston 2018: Secure by Design by Chris WysopalDevSecCon Boston 2018: Secure by Design by Chris Wysopal
DevSecCon Boston 2018: Secure by Design by Chris WysopalDevSecCon
 
WebRTC 101 - How to get started building your first WebRTC application
WebRTC 101 - How to get started building your first WebRTC applicationWebRTC 101 - How to get started building your first WebRTC application
WebRTC 101 - How to get started building your first WebRTC applicationDan Jenkins
 
BUILD THE NEW GENERATION OF REAL-TIME STREAMING SOLUTIONS
BUILD THE NEW GENERATION OF REAL-TIME STREAMING SOLUTIONSBUILD THE NEW GENERATION OF REAL-TIME STREAMING SOLUTIONS
BUILD THE NEW GENERATION OF REAL-TIME STREAMING SOLUTIONSRyan Jespersen
 
Буткит через СМС: оценка безопасности сети 4G
Буткит через СМС: оценка безопасности сети 4GБуткит через СМС: оценка безопасности сети 4G
Буткит через СМС: оценка безопасности сети 4GPositive Hack Days
 
DevSecCon Boston 2018: How come appsec is still not in the curriculum by Gabo...
DevSecCon Boston 2018: How come appsec is still not in the curriculum by Gabo...DevSecCon Boston 2018: How come appsec is still not in the curriculum by Gabo...
DevSecCon Boston 2018: How come appsec is still not in the curriculum by Gabo...DevSecCon
 
Reactive web
Reactive webReactive web
Reactive webdega1999
 
It’s All About Developers. Discover Cisco DevNet. - Jason Goecke - Codemotion...
It’s All About Developers. Discover Cisco DevNet. - Jason Goecke - Codemotion...It’s All About Developers. Discover Cisco DevNet. - Jason Goecke - Codemotion...
It’s All About Developers. Discover Cisco DevNet. - Jason Goecke - Codemotion...Codemotion
 
Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016
Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016
Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016Codemotion
 

Tendances (15)

Hackference 2014 - Node.js, the awesome parts
Hackference 2014 - Node.js, the awesome partsHackference 2014 - Node.js, the awesome parts
Hackference 2014 - Node.js, the awesome parts
 
WebRTC Reborn Hackference
WebRTC Reborn HackferenceWebRTC Reborn Hackference
WebRTC Reborn Hackference
 
WebRTC Reborn SignalConf 2016
WebRTC Reborn SignalConf 2016WebRTC Reborn SignalConf 2016
WebRTC Reborn SignalConf 2016
 
Twilio Signal 2016 Bringing P2P to the Masses with WebRTC
Twilio Signal 2016 Bringing P2P to the Masses with WebRTCTwilio Signal 2016 Bringing P2P to the Masses with WebRTC
Twilio Signal 2016 Bringing P2P to the Masses with WebRTC
 
Designing & Building Secure Web APIs
Designing & Building Secure Web APIsDesigning & Building Secure Web APIs
Designing & Building Secure Web APIs
 
Astricon 2016 - Scaling ARI and Production
Astricon 2016 - Scaling ARI and ProductionAstricon 2016 - Scaling ARI and Production
Astricon 2016 - Scaling ARI and Production
 
DevSecCon Boston 2018: My rage quit journey: configuring Netflix tools by Sar...
DevSecCon Boston 2018: My rage quit journey: configuring Netflix tools by Sar...DevSecCon Boston 2018: My rage quit journey: configuring Netflix tools by Sar...
DevSecCon Boston 2018: My rage quit journey: configuring Netflix tools by Sar...
 
DevSecCon Boston 2018: Secure by Design by Chris Wysopal
DevSecCon Boston 2018: Secure by Design by Chris WysopalDevSecCon Boston 2018: Secure by Design by Chris Wysopal
DevSecCon Boston 2018: Secure by Design by Chris Wysopal
 
WebRTC 101 - How to get started building your first WebRTC application
WebRTC 101 - How to get started building your first WebRTC applicationWebRTC 101 - How to get started building your first WebRTC application
WebRTC 101 - How to get started building your first WebRTC application
 
BUILD THE NEW GENERATION OF REAL-TIME STREAMING SOLUTIONS
BUILD THE NEW GENERATION OF REAL-TIME STREAMING SOLUTIONSBUILD THE NEW GENERATION OF REAL-TIME STREAMING SOLUTIONS
BUILD THE NEW GENERATION OF REAL-TIME STREAMING SOLUTIONS
 
Буткит через СМС: оценка безопасности сети 4G
Буткит через СМС: оценка безопасности сети 4GБуткит через СМС: оценка безопасности сети 4G
Буткит через СМС: оценка безопасности сети 4G
 
DevSecCon Boston 2018: How come appsec is still not in the curriculum by Gabo...
DevSecCon Boston 2018: How come appsec is still not in the curriculum by Gabo...DevSecCon Boston 2018: How come appsec is still not in the curriculum by Gabo...
DevSecCon Boston 2018: How come appsec is still not in the curriculum by Gabo...
 
Reactive web
Reactive webReactive web
Reactive web
 
It’s All About Developers. Discover Cisco DevNet. - Jason Goecke - Codemotion...
It’s All About Developers. Discover Cisco DevNet. - Jason Goecke - Codemotion...It’s All About Developers. Discover Cisco DevNet. - Jason Goecke - Codemotion...
It’s All About Developers. Discover Cisco DevNet. - Jason Goecke - Codemotion...
 
Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016
Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016
Hacking for Salone: Drone Races - Di Saverio; Lippolis - Codemotion Milan 2016
 

Similaire à Getting the Best Out Of WebRTC - Astricon 2014

Gathering of State Networks
Gathering of State NetworksGathering of State Networks
Gathering of State NetworksVideoguy
 
WebRTC Standards from Tim Panton
WebRTC Standards from Tim PantonWebRTC Standards from Tim Panton
WebRTC Standards from Tim PantonAlan Quayle
 
Sinnreich Henry Johnston Alan Pt 2
Sinnreich Henry Johnston Alan   Pt 2Sinnreich Henry Johnston Alan   Pt 2
Sinnreich Henry Johnston Alan Pt 2Carl Ford
 
Going Thin: Implementing Thin Client Technology in a Library Reference Area
Going Thin:  Implementing Thin Client Technology in a Library Reference AreaGoing Thin:  Implementing Thin Client Technology in a Library Reference Area
Going Thin: Implementing Thin Client Technology in a Library Reference AreaRichard Bernier
 
WebRTC overview
WebRTC overviewWebRTC overview
WebRTC overviewRouyun Pan
 
10 Reasons to use the Renesas R-IN multi-protocol industrial ethernet solutio...
10 Reasons to use the Renesas R-IN multi-protocol industrial ethernet solutio...10 Reasons to use the Renesas R-IN multi-protocol industrial ethernet solutio...
10 Reasons to use the Renesas R-IN multi-protocol industrial ethernet solutio...Renesas Electronics Corporation
 
Voice over Internet Protocol (VoIP) using Asterisk
Voice over Internet Protocol (VoIP) using AsteriskVoice over Internet Protocol (VoIP) using Asterisk
Voice over Internet Protocol (VoIP) using AsteriskSameer Verma
 
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)Ontico
 
How To Successfully Implement IP Video
How To Successfully Implement IP VideoHow To Successfully Implement IP Video
How To Successfully Implement IP VideoVideoguy
 
Internetix Video Kills
Internetix Video KillsInternetix Video Kills
Internetix Video Killsdegrumpysmurf
 
PLNOG16: Usługi w sieciach operatorskich, Marcin Aronowski
PLNOG16: Usługi w sieciach operatorskich, Marcin AronowskiPLNOG16: Usługi w sieciach operatorskich, Marcin Aronowski
PLNOG16: Usługi w sieciach operatorskich, Marcin AronowskiPROIDEA
 
Westhawk integration
Westhawk integrationWesthawk integration
Westhawk integrationTim Panton
 
Videoconferencing Technology Workshop
Videoconferencing Technology WorkshopVideoconferencing Technology Workshop
Videoconferencing Technology WorkshopVideoguy
 
16.) layer 3 (basic tcp ip routing)
16.) layer 3 (basic tcp ip routing)16.) layer 3 (basic tcp ip routing)
16.) layer 3 (basic tcp ip routing)Jeff Green
 
NZNOG 2020 - The Trouble With NAT
NZNOG 2020 - The Trouble With NATNZNOG 2020 - The Trouble With NAT
NZNOG 2020 - The Trouble With NATMark Smith
 
Qnap iei partners_day_2016 1108
Qnap iei partners_day_2016 1108Qnap iei partners_day_2016 1108
Qnap iei partners_day_2016 1108qnapivan
 

Similaire à Getting the Best Out Of WebRTC - Astricon 2014 (20)

Gathering of State Networks
Gathering of State NetworksGathering of State Networks
Gathering of State Networks
 
WebRTC Standards from Tim Panton
WebRTC Standards from Tim PantonWebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
 
Sinnreich Henry Johnston Alan Pt 2
Sinnreich Henry Johnston Alan   Pt 2Sinnreich Henry Johnston Alan   Pt 2
Sinnreich Henry Johnston Alan Pt 2
 
Gda ipsoc blr_hic_final
Gda ipsoc blr_hic_finalGda ipsoc blr_hic_final
Gda ipsoc blr_hic_final
 
Going Thin: Implementing Thin Client Technology in a Library Reference Area
Going Thin:  Implementing Thin Client Technology in a Library Reference AreaGoing Thin:  Implementing Thin Client Technology in a Library Reference Area
Going Thin: Implementing Thin Client Technology in a Library Reference Area
 
WebRTC overview
WebRTC overviewWebRTC overview
WebRTC overview
 
10 Reasons to use the Renesas R-IN multi-protocol industrial ethernet solutio...
10 Reasons to use the Renesas R-IN multi-protocol industrial ethernet solutio...10 Reasons to use the Renesas R-IN multi-protocol industrial ethernet solutio...
10 Reasons to use the Renesas R-IN multi-protocol industrial ethernet solutio...
 
MarcoMorenoResume
MarcoMorenoResumeMarcoMorenoResume
MarcoMorenoResume
 
Voice over Internet Protocol (VoIP) using Asterisk
Voice over Internet Protocol (VoIP) using AsteriskVoice over Internet Protocol (VoIP) using Asterisk
Voice over Internet Protocol (VoIP) using Asterisk
 
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
 
Internet Video
Internet VideoInternet Video
Internet Video
 
How To Successfully Implement IP Video
How To Successfully Implement IP VideoHow To Successfully Implement IP Video
How To Successfully Implement IP Video
 
Internetix Video Kills
Internetix Video KillsInternetix Video Kills
Internetix Video Kills
 
PLNOG16: Usługi w sieciach operatorskich, Marcin Aronowski
PLNOG16: Usługi w sieciach operatorskich, Marcin AronowskiPLNOG16: Usługi w sieciach operatorskich, Marcin Aronowski
PLNOG16: Usługi w sieciach operatorskich, Marcin Aronowski
 
Westhawk integration
Westhawk integrationWesthawk integration
Westhawk integration
 
Videoconferencing Technology Workshop
Videoconferencing Technology WorkshopVideoconferencing Technology Workshop
Videoconferencing Technology Workshop
 
16.) layer 3 (basic tcp ip routing)
16.) layer 3 (basic tcp ip routing)16.) layer 3 (basic tcp ip routing)
16.) layer 3 (basic tcp ip routing)
 
NZNOG 2020 - The Trouble With NAT
NZNOG 2020 - The Trouble With NATNZNOG 2020 - The Trouble With NAT
NZNOG 2020 - The Trouble With NAT
 
Mips track a
Mips   track aMips   track a
Mips track a
 
Qnap iei partners_day_2016 1108
Qnap iei partners_day_2016 1108Qnap iei partners_day_2016 1108
Qnap iei partners_day_2016 1108
 

Plus de Dan Jenkins

Yup... WebRTC Still Sucks
Yup... WebRTC Still SucksYup... WebRTC Still Sucks
Yup... WebRTC Still SucksDan Jenkins
 
Professional AV with WebRTC
Professional AV with WebRTCProfessional AV with WebRTC
Professional AV with WebRTCDan Jenkins
 
Getting started with WebRTC
Getting started with WebRTCGetting started with WebRTC
Getting started with WebRTCDan Jenkins
 
JanusCon - Building Native Mobile Apps with WebRTC
JanusCon - Building Native Mobile Apps with WebRTCJanusCon - Building Native Mobile Apps with WebRTC
JanusCon - Building Native Mobile Apps with WebRTCDan Jenkins
 
Getting physical with web bluetooth in the browser hackference
Getting physical with web bluetooth in the browser hackferenceGetting physical with web bluetooth in the browser hackference
Getting physical with web bluetooth in the browser hackferenceDan Jenkins
 
Getting Physical with Web Bluetooth in the Browser Full Stack Toronto
Getting Physical with Web Bluetooth in the Browser Full Stack TorontoGetting Physical with Web Bluetooth in the Browser Full Stack Toronto
Getting Physical with Web Bluetooth in the Browser Full Stack TorontoDan Jenkins
 
Getting physical with web bluetooth in the browser
Getting physical with web bluetooth in the browserGetting physical with web bluetooth in the browser
Getting physical with web bluetooth in the browserDan Jenkins
 
Getting physical with web bluetooth in the browser
Getting physical with web bluetooth in the browserGetting physical with web bluetooth in the browser
Getting physical with web bluetooth in the browserDan Jenkins
 
Web technology is getting physical, join the journey
Web technology is getting physical, join the journeyWeb technology is getting physical, join the journey
Web technology is getting physical, join the journeyDan Jenkins
 
Building the Best Experience for Your Customers and Your Business
Building the Best Experience for Your Customers and Your BusinessBuilding the Best Experience for Your Customers and Your Business
Building the Best Experience for Your Customers and Your BusinessDan Jenkins
 
Developing Yourself for Industry - University of Kent EDA MTD DA
Developing Yourself for Industry - University of Kent EDA MTD DADeveloping Yourself for Industry - University of Kent EDA MTD DA
Developing Yourself for Industry - University of Kent EDA MTD DADan Jenkins
 
Building 21st Century Contact Centre Applications
Building 21st Century Contact Centre ApplicationsBuilding 21st Century Contact Centre Applications
Building 21st Century Contact Centre ApplicationsDan Jenkins
 
Bringing Real-time VoIP metrics to 2013
Bringing Real-time VoIP metrics to 2013Bringing Real-time VoIP metrics to 2013
Bringing Real-time VoIP metrics to 2013Dan Jenkins
 
Asterisk, HTML5 and NodeJS; a world of endless possibilities
Asterisk, HTML5 and NodeJS; a world of endless possibilitiesAsterisk, HTML5 and NodeJS; a world of endless possibilities
Asterisk, HTML5 and NodeJS; a world of endless possibilitiesDan Jenkins
 

Plus de Dan Jenkins (15)

Yup... WebRTC Still Sucks
Yup... WebRTC Still SucksYup... WebRTC Still Sucks
Yup... WebRTC Still Sucks
 
Professional AV with WebRTC
Professional AV with WebRTCProfessional AV with WebRTC
Professional AV with WebRTC
 
SIMCON 3
SIMCON 3SIMCON 3
SIMCON 3
 
Getting started with WebRTC
Getting started with WebRTCGetting started with WebRTC
Getting started with WebRTC
 
JanusCon - Building Native Mobile Apps with WebRTC
JanusCon - Building Native Mobile Apps with WebRTCJanusCon - Building Native Mobile Apps with WebRTC
JanusCon - Building Native Mobile Apps with WebRTC
 
Getting physical with web bluetooth in the browser hackference
Getting physical with web bluetooth in the browser hackferenceGetting physical with web bluetooth in the browser hackference
Getting physical with web bluetooth in the browser hackference
 
Getting Physical with Web Bluetooth in the Browser Full Stack Toronto
Getting Physical with Web Bluetooth in the Browser Full Stack TorontoGetting Physical with Web Bluetooth in the Browser Full Stack Toronto
Getting Physical with Web Bluetooth in the Browser Full Stack Toronto
 
Getting physical with web bluetooth in the browser
Getting physical with web bluetooth in the browserGetting physical with web bluetooth in the browser
Getting physical with web bluetooth in the browser
 
Getting physical with web bluetooth in the browser
Getting physical with web bluetooth in the browserGetting physical with web bluetooth in the browser
Getting physical with web bluetooth in the browser
 
Web technology is getting physical, join the journey
Web technology is getting physical, join the journeyWeb technology is getting physical, join the journey
Web technology is getting physical, join the journey
 
Building the Best Experience for Your Customers and Your Business
Building the Best Experience for Your Customers and Your BusinessBuilding the Best Experience for Your Customers and Your Business
Building the Best Experience for Your Customers and Your Business
 
Developing Yourself for Industry - University of Kent EDA MTD DA
Developing Yourself for Industry - University of Kent EDA MTD DADeveloping Yourself for Industry - University of Kent EDA MTD DA
Developing Yourself for Industry - University of Kent EDA MTD DA
 
Building 21st Century Contact Centre Applications
Building 21st Century Contact Centre ApplicationsBuilding 21st Century Contact Centre Applications
Building 21st Century Contact Centre Applications
 
Bringing Real-time VoIP metrics to 2013
Bringing Real-time VoIP metrics to 2013Bringing Real-time VoIP metrics to 2013
Bringing Real-time VoIP metrics to 2013
 
Asterisk, HTML5 and NodeJS; a world of endless possibilities
Asterisk, HTML5 and NodeJS; a world of endless possibilitiesAsterisk, HTML5 and NodeJS; a world of endless possibilities
Asterisk, HTML5 and NodeJS; a world of endless possibilities
 

Dernier

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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
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
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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
 

Dernier (20)

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...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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...
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

Getting the Best Out Of WebRTC - Astricon 2014

  • 1. Getting the Best out of WebRTC Tim Panton - Protocol Droid - Westhawk Ltd Dan Jenkins - Chief Ape - nimblea.pe & Respoke
  • 2. Simple 1 for 1 replacement ? No! Bandwidth / CPU use are different
  • 3. How to plan a deployment A talk in two parts
  • 6. Assumptions If you are here you are probably Doing this commercially - Quality matters Using Asterisk - Hybrid model with some PSTN Have Asymmetric calls - agents and users Are on a tight bandwidth and CPU budget Video not top priority (yet) Have a clue
  • 8. Video Peer Calls Video User Agent Internet SIP Audio HTML Context Asterisk Webservice
  • 9. Internal Audio Agents Asterisk L A N App Server User P S T N Agent Agent Agent Agent Agent
  • 10. External Audio Agents I N T E R N E T User P S T N Agent Agent Agent Agent Agent WebRTC App Server Asterisk
  • 11. External Audio Users L A N User I N T E R N E T Agent Agent Agent Agent Agent DeskPhones HTML WebRTC Audio App Server Asterisk SIP Phones
  • 12. Hybrid L A N User I N T E R N E T Agent Agent Agent Agent Agent DeskPhones WebRTC Audio HTML App Server Asterisk Agent WebRTC SIP Phones PSTN Audio FAX SMS User Skype Twitter Chat Email Facebook
  • 13. WebRTC issues How webRTC differs from plain old SIP ICE - can penetrate NAT at cost of setup time DTLS - encrypted traffic but call setup costs CPU Web service - may expose your Asterisk SRTP - encrypted media costs some CPU too.
  • 14. Codecs Codecs implemented in browsers today: ULAW - old favourite - high bandwidth/ low cpu 2 quality modes - landline or incomprehensible Opus - new comer - low bandwidth / high cpu flexible quality and error correction settings VP8 - free video codec - High but variable bandwidth H264 - licensed video codec - free if < 100k (IANAL)
  • 15. Codecs - ideal choices (audio only) Codec Setting Reasoning P2P video Opus None The browser knows best Int Agents ulaw None low loss on LAN + will end up on PSTN Ext Agent Opus High BW / low loss Can set minimum DSL standards for staff Ext User Opus Low BW / high loss Users share DSL with web/games etc Note - Digium does not support opus on Asterisk
  • 16. DTLS - crypto selection
  • 17. WebRTC uses DTLS to generate SRTP key Different Cypher suites Different key lengths Multiple certificate sources All impacts CPU usage at call setup.
  • 19. Assume your asterisk has a public IP Probably don’t need a TURN server Avoid offering candidates for internal IPs Don’t offer VPN candidates Can probably get away with setting ice-lite
  • 21. In future we expect more asymmetric cases Mayday - they see your screen not you Baby monitor - 1 way video but 2 way audio ? Security cameras
  • 22. What does that all mean in practice Probably: Higher CPU use (especially with Opus) Longer call setup times Very high bandwidth with Video (if enabled)
  • 23. Tools to monitor Probably: WebRTC stats (Respoke Stats) www.npmjs.org/package/getstats chrome://webrtc-internals CollectD / Graphite
  • 24. Some Numbers Test scenario: Asterisk: 11.8.1 on machine: Centos Intel(R) Core(TM) i3-4010U CPU @ 1.70GHz Chrome 38 Ramp up 24 calls Play back intermittent audio (IVR usage) Graph - bandwidth / CPU / calls / time
  • 25. 24 ulaw audio calls Graph
  • 26. 24 opus audio calls - No settings Graph
  • 27. 24 opus audio calls Low BW high loss Graph
  • 28. Some MORE “Numbers” Test scenario: Digital Ocean Medium Droplet San Francisco
  • 29. 1 P2P video call - LAN/WAN http://bit.ly/dt-demo
  • 30. 1 P2P video call - WAN http://bit.ly/dt-demo
  • 31. Live demo using respoke Chrome (android too) browse here! URL: http://bit.ly/dt-asterisk
  • 32. Thank you! Questions? More info at: github.com/danjenkins/web-examples @dan_jenkins @steely_glint www.respoke.io
  • 33. Images Used http://upload.wikimedia.org/wikipedia/commons/c/ca/Padlock_2010.JPG http://upload.wikimedia.org/wikipedia/commons/8/8e/ Ice_road_in_the_Northwest_Territories_-a.jpg http://upload.wikimedia.org/wikipedia/commons/4/41/Asymmetric_%28PSF %29.png