SlideShare une entreprise Scribd logo
1  sur  103
Télécharger pour lire hors ligne
WebRTC
How it works
How it breaks
How we fixed it
CAN YOU SPEAK MAGIC?
2
Ben Klang
CAN YOU SPEAK MAGIC?
2
Ben Klang
CAN YOU SPEAK MAGIC?
2
Ben Klang
CAN YOU SPEAK MAGIC?
3
CAN YOU SPEAK MAGIC?
3
WebRTC
CAN YOU SPEAK MAGIC?
3
WebRTC
How it works
CAN YOU SPEAK MAGIC?
3
WebRTC
How it works
How it breaks
CAN YOU SPEAK MAGIC?
3
WebRTC
How it works
How it breaks
How we fixed it
CAN YOU SPEAK MAGIC?
WHAT WEBRTC IS
4
CAN YOU SPEAK MAGIC?
WHAT WEBRTC IS
•Javascript access to Camera and Mic
4
CAN YOU SPEAK MAGIC?
WHAT WEBRTC IS
•Javascript access to Camera and Mic
•High Quality Video & Audio Codecs
4
CAN YOU SPEAK MAGIC?
WHAT WEBRTC IS
•Javascript access to Camera and Mic
•High Quality Video & Audio Codecs
•Techniques for traversing NAT
4
CAN YOU SPEAK MAGIC?
WHAT WEBRTC IS
•Javascript access to Camera and Mic
•High Quality Video & Audio Codecs
•Techniques for traversing NAT
•Peer-to-Peer
4
CAN YOU SPEAK MAGIC?
WHAT WEBRTC IS
•Javascript access to Camera and Mic
•High Quality Video & Audio Codecs
•Techniques for traversing NAT
•Peer-to-Peer
•A Data Channel
4
CAN YOU SPEAK MAGIC?
WHAT WEBRTC IS
•Javascript access to Camera and Mic
•High Quality Video & Audio Codecs
•Techniques for traversing NAT
•Peer-to-Peer
•A Data Channel
•A Tool for Developers
4
CAN YOU SPEAK MAGIC?
WHAT WEBRTC IS NOT
5
CAN YOU SPEAK MAGIC?
WHAT WEBRTC IS NOT
•…a Polished End-User Product
5
CAN YOU SPEAK MAGIC?
WHAT WEBRTC IS NOT
•…a Polished End-User Product
•…required to interop…but may
5
CAN YOU SPEAK MAGIC?
WHAT WEBRTC IS NOT
•…a Polished End-User Product
•…required to interop…but may
•…the same thing to every application
5
CAN YOU SPEAK MAGIC?
WHAT WEBRTC IS NOT
•…a Polished End-User Product
•…required to interop…but may
•…the same thing to every application
•…finished.
5
CAN YOU SPEAK MAGIC?
WHAT WEBRTC IS NOT
•…a Polished End-User Product
•…required to interop…but may
•…the same thing to every application
•…finished.
5
But don’t sweat it
CAN YOU SPEAK MAGIC?
Communication
Topology
6
CAN YOU SPEAK MAGIC?
7
Alice BobThe Trapezoid
CAN YOU SPEAK MAGIC?
8
Alice BobThe Triangle
CAN YOU SPEAK MAGIC?
9
The WebRTC TriangleAlice Bob
Signaling
Media
CAN YOU SPEAK MAGIC?
9
The WebRTC TriangleAlice Bob
Signaling
Media
CAN YOU SPEAK MAGIC?
WebRTC Infrastructure
10
CAN YOU SPEAK MAGIC?
11
CAN YOU SPEAK MAGIC?
11
CAN YOU SPEAK MAGIC?
11
CAN YOU SPEAK MAGIC?
11
http://
Signaling
CAN YOU SPEAK MAGIC?
11
http://
Signaling
CAN YOU SPEAK MAGIC?
11
http://
Signaling
CAN YOU SPEAK MAGIC?
11
http://
Signaling
STUN & TURNNAT Traversal
CAN YOU SPEAK MAGIC?
11
http://
Signaling
STUN & TURN
SFU or MCU
NAT Traversal
Larger Multiparty
Video Conferences
CAN YOU SPEAK MAGIC?
11
http://
Signaling
Recording
Conferencing
PSTN Gateway
STUN & TURN
SFU or MCU
NAT Traversal
Larger Multiparty
Video Conferences
CAN YOU SPEAK MAGIC?
WEBRTC SIGNALING
12
CAN YOU SPEAK MAGIC?
WEBRTC SIGNALING
•Can be anything you like
12
CAN YOU SPEAK MAGIC?
WEBRTC SIGNALING
•Can be anything you like
12
http://
CAN YOU SPEAK MAGIC?
WEBRTC SIGNALING
•Can be anything you like
12
http://
CAN YOU SPEAK MAGIC?
WEBRTC SIGNALING
•Can be anything you like
12
http://
CAN YOU SPEAK MAGIC?
WEBRTC SIGNALING
•Can be anything you like
12
http://
CAN YOU SPEAK MAGIC?
WEBRTC SIGNALING
•Can be anything you like
•Select based on application
requirements
12
http://
CAN YOU SPEAK MAGIC?
WEBRTC SIGNALING
•Can be anything you like
•Select based on application
requirements
•Integrate with existing or greenfield?
12
http://
CAN YOU SPEAK MAGIC?
WEBRTC SIGNALING
•Can be anything you like
•Select based on application
requirements
•Integrate with existing or greenfield?
•Federate? Or Not?
12
http://
CAN YOU SPEAK MAGIC?
WEBRTC SIGNALING
•Can be anything you like
•Select based on application
requirements
•Integrate with existing or greenfield?
•Federate? Or Not?
•Anonymous or Real Names?
12
http://
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
13
http://
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
13
Alice
http://
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
13
Alice Bob
http://
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
13
H
aveBob
callm
ehere!
SDP:

v=0o=alice20518
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio54609
RTP/SAVPF
109
Alice Bob
http://
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
13
H
aveBob
callm
ehere!
SDP:

v=0o=alice20518
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio54609
RTP/SAVPF
109
Alice Bob
http://
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
13
H
aveBob
callm
ehere!
SDP:

v=0o=alice20518
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio54609
RTP/SAVPF
109
Bob
is
at:
SDP:

v=0o=bob
19915
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio
61001
RTP/SAV
PF
109
Alice Bob
http://
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
13
H
aveBob
callm
ehere!
SDP:

v=0o=alice20518
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio54609
RTP/SAVPF
109
Bob
is
at:
SDP:

v=0o=bob
19915
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio
61001
RTP/SAV
PF
109
Alice Bob
http://
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
13
H
aveBob
callm
ehere!
SDP:

v=0o=alice20518
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio54609
RTP/SAVPF
109
Bob
is
at:
SDP:

v=0o=bob
19915
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio
61001
RTP/SAV
PF
109
Alice Bob
http://
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
13
H
aveBob
callm
ehere!
SDP:

v=0o=alice20518
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio54609
RTP/SAVPF
109
Bob
is
at:
SDP:

v=0o=bob
19915
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio
61001
RTP/SAV
PF
109
Alice Bob
http://
CAN YOU SPEAK MAGIC?
ICE/STUN/TURN
14
CAN YOU SPEAK MAGIC?
15
ICE/STUN/TURN
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
16
H
aveBob
callm
ehere!
SDP:

v=0o=alice20518
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio54609
RTP/SAVPF
109
Bob
is
at:
SDP:

v=0o=bob
19915
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio
61001
RTP/SAV
PF
109
Alice Bob
http://
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
16
H
aveBob
callm
ehere!
SDP:

v=0o=alice20518
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio54609
RTP/SAVPF
109
Bob
is
at:
SDP:

v=0o=bob
19915
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio
61001
RTP/SAV
PF
109
Alice Bob
SRTP
SRTP
http://
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
16
H
aveBob
callm
ehere!
SDP:

v=0o=alice20518
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio54609
RTP/SAVPF
109
Bob
is
at:
SDP:

v=0o=bob
19915
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio
61001
RTP/SAV
PF
109
Alice Bob
SRTP
SRTP
http://
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
16
H
aveBob
callm
ehere!
SDP:

v=0o=alice20518
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio54609
RTP/SAVPF
109
Bob
is
at:
SDP:

v=0o=bob
19915
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio
61001
RTP/SAV
PF
109
Alice Bob
SRTP
SRTP
X
http://
CAN YOU SPEAK MAGIC?
That’s how it works
17
CAN YOU SPEAK MAGIC?
Here’s how it breaks
18
CAN YOU SPEAK MAGIC?
ENVIRONMENTAL PROBLEMS
19
CAN YOU SPEAK MAGIC?
ENVIRONMENTAL PROBLEMS
19
•Microphone or Speakers Muted
CAN YOU SPEAK MAGIC?
ENVIRONMENTAL PROBLEMS
19
•Microphone or Speakers Muted
CAN YOU SPEAK MAGIC?
ENVIRONMENTAL PROBLEMS
19
•Microphone or Speakers Muted
•Too Dark or Too Backlit
CAN YOU SPEAK MAGIC?
ENVIRONMENTAL PROBLEMS
19
•Microphone or Speakers Muted
•Too Dark or Too Backlit
•HW or Driver Issues
CAN YOU SPEAK MAGIC?
ENVIRONMENTAL PROBLEMS
19
•Microphone or Speakers Muted
•Too Dark or Too Backlit
•HW or Driver Issues
•USB Headsets
CAN YOU SPEAK MAGIC?
ENVIRONMENTAL PROBLEMS
19
•Microphone or Speakers Muted
•Too Dark or Too Backlit
•HW or Driver Issues
•USB Headsets
•I’m looking at you, Windows
CAN YOU SPEAK MAGIC?
ENVIRONMENTAL PROBLEMS
19
•Microphone or Speakers Muted
•Too Dark or Too Backlit
•HW or Driver Issues
•USB Headsets
•I’m looking at you, Windows
•https://test.webrtc.org/
CAN YOU SPEAK MAGIC?
USABILITY PROBLEMS
20
CAN YOU SPEAK MAGIC?
USABILITY PROBLEMS
•Failing to deploy TLS Cert
20
CAN YOU SPEAK MAGIC?
USABILITY PROBLEMS
•Failing to deploy TLS Cert
•Not allowing user-chosen
device selection
20
CAN YOU SPEAK MAGIC?
USABILITY PROBLEMS
•Failing to deploy TLS Cert
•Not allowing user-chosen
device selection
•Video element rendered

off-screen
20
CAN YOU SPEAK MAGIC?
USABILITY PROBLEMS
•Failing to deploy TLS Cert
•Not allowing user-chosen
device selection
•Video element rendered

off-screen
•<video> or <audio> paused
20
CAN YOU SPEAK MAGIC?
BROWSER PROBLEMS
21
CAN YOU SPEAK MAGIC?
BROWSER PROBLEMS
•Spec still evolving
21
CAN YOU SPEAK MAGIC?
BROWSER PROBLEMS
•Spec still evolving
•…though 1.0 is on the horizon
21
CAN YOU SPEAK MAGIC?
BROWSER PROBLEMS
•Spec still evolving
•…though 1.0 is on the horizon
•Still no native IE or Safari :(
21
CAN YOU SPEAK MAGIC?
BROWSER PROBLEMS
•Spec still evolving
•…though 1.0 is on the horizon
•Still no native IE or Safari :(
•MUCH more stable than 1 year ago
21
CAN YOU SPEAK MAGIC?
BROWSER PROBLEMS
•Spec still evolving
•…though 1.0 is on the horizon
•Still no native IE or Safari :(
•MUCH more stable than 1 year ago
•Chrome dropping non-TLS HTTP
21
CAN YOU SPEAK MAGIC?
BROWSER PROBLEMS
•Spec still evolving
•…though 1.0 is on the horizon
•Still no native IE or Safari :(
•MUCH more stable than 1 year ago
•Chrome dropping non-TLS HTTP
21
CAN YOU SPEAK MAGIC?
BROWSER PROBLEMS
•Spec still evolving
•…though 1.0 is on the horizon
•Still no native IE or Safari :(
•MUCH more stable than 1 year ago
•Chrome dropping non-TLS HTTP
• https://webrtcstandards.info/
21
CAN YOU SPEAK MAGIC?
BROWSER PROBLEMS
•Spec still evolving
•…though 1.0 is on the horizon
•Still no native IE or Safari :(
•MUCH more stable than 1 year ago
•Chrome dropping non-TLS HTTP
• https://webrtcstandards.info/
•Well, Everybody Better

Restart Their Chrome
21
CAN YOU SPEAK MAGIC?
SOLVING BROWSER INCOMPAT
22
CAN YOU SPEAK MAGIC?
SOLVING BROWSER INCOMPAT
•Use a “polyfill” - Adapter.js
22
CAN YOU SPEAK MAGIC?
SOLVING BROWSER INCOMPAT
•Use a “polyfill” - Adapter.js
•https://github.com/webrtc/adapter
22
CAN YOU SPEAK MAGIC?
SOLVING BROWSER INCOMPAT
•Use a “polyfill” - Adapter.js
•https://github.com/webrtc/adapter
•IE & Safari: deploy Temasys
22
CAN YOU SPEAK MAGIC?
SOLVING BROWSER INCOMPAT
•Use a “polyfill” - Adapter.js
•https://github.com/webrtc/adapter
•IE & Safari: deploy Temasys
•http://skylink.io/plugin/
22
CAN YOU SPEAK MAGIC?
SOLVING BROWSER INCOMPAT
•Use a “polyfill” - Adapter.js
•https://github.com/webrtc/adapter
•IE & Safari: deploy Temasys
•http://skylink.io/plugin/
•Pick a great WebRTC service provider
22
CAN YOU SPEAK MAGIC?
SOLVING BROWSER INCOMPAT
•Use a “polyfill” - Adapter.js
•https://github.com/webrtc/adapter
•IE & Safari: deploy Temasys
•http://skylink.io/plugin/
•Pick a great WebRTC service provider
22
CAN YOU SPEAK MAGIC?
WEBRTC PROBLEMS & SOLUTIONS
23
CAN YOU SPEAK MAGIC?
WEBRTC PROBLEMS & SOLUTIONS
•Environmental Problems
23
CAN YOU SPEAK MAGIC?
WEBRTC PROBLEMS & SOLUTIONS
•Environmental Problems
•Change the environment
23
CAN YOU SPEAK MAGIC?
WEBRTC PROBLEMS & SOLUTIONS
•Environmental Problems
•Change the environment
•Teach the user
23
CAN YOU SPEAK MAGIC?
WEBRTC PROBLEMS & SOLUTIONS
•Environmental Problems
•Change the environment
•Teach the user
•Usability Problems
23
CAN YOU SPEAK MAGIC?
WEBRTC PROBLEMS & SOLUTIONS
•Environmental Problems
•Change the environment
•Teach the user
•Usability Problems
•Deploy TLS Certs!!!
23
CAN YOU SPEAK MAGIC?
WEBRTC PROBLEMS & SOLUTIONS
•Environmental Problems
•Change the environment
•Teach the user
•Usability Problems
•Deploy TLS Certs!!!
•Test, test, test
23
CAN YOU SPEAK MAGIC?
WEBRTC PROBLEMS & SOLUTIONS
•Environmental Problems
•Change the environment
•Teach the user
•Usability Problems
•Deploy TLS Certs!!!
•Test, test, test
•Browser Compat & Infrastructure Problems
23
CAN YOU SPEAK MAGIC?
WEBRTC PROBLEMS & SOLUTIONS
•Environmental Problems
•Change the environment
•Teach the user
•Usability Problems
•Deploy TLS Certs!!!
•Test, test, test
•Browser Compat & Infrastructure Problems
•Lean on someone who has already fixed it
23
CAN YOU SPEAK MAGIC?
24
http://mojolingo.com
@MojoLingo
@bklang
bklang@mojolingo.com
http://adhearsion.com
@Adhearsion
LINKS &
QUESTIONS
•https://test.webrtc.org/
•https://webrtcstandards.info/
•https://github.com/webrtc/adapter
•http://skylink.io/plugin/

Contenu connexe

Tendances

WebRTC: Real Time Video/Audio For Your App ...
WebRTC: Real Time Video/Audio For Your App ...WebRTC: Real Time Video/Audio For Your App ...
WebRTC: Real Time Video/Audio For Your App ...jasnow
 
Auditing Mobile Apps
Auditing Mobile AppsAuditing Mobile Apps
Auditing Mobile Appsjselvi
 
Developing rich SIP applications with SIPSIMPLE SDK
Developing rich SIP applications with SIPSIMPLE SDKDeveloping rich SIP applications with SIPSIMPLE SDK
Developing rich SIP applications with SIPSIMPLE SDKSaúl Ibarra Corretgé
 
When DevOps and Networking Intersect by Brent Salisbury of socketplane.io
When DevOps and Networking Intersect by Brent Salisbury of socketplane.ioWhen DevOps and Networking Intersect by Brent Salisbury of socketplane.io
When DevOps and Networking Intersect by Brent Salisbury of socketplane.ioDevOps4Networks
 
SWIFT: Tango's Infrastructure For Real-Time Video Call Service
SWIFT: Tango's Infrastructure For Real-Time Video Call ServiceSWIFT: Tango's Infrastructure For Real-Time Video Call Service
SWIFT: Tango's Infrastructure For Real-Time Video Call ServiceMeng ZHANG
 
2015 update: SIP and IPv6 issues - staying Happy in SIP
2015 update: SIP and IPv6 issues - staying Happy in SIP2015 update: SIP and IPv6 issues - staying Happy in SIP
2015 update: SIP and IPv6 issues - staying Happy in SIPOlle E Johansson
 
SIP and DNS - federation, failover, load balancing and more
SIP and DNS - federation, failover, load balancing and moreSIP and DNS - federation, failover, load balancing and more
SIP and DNS - federation, failover, load balancing and moreOlle E Johansson
 
Media Handling in FreeSWITCH
Media Handling in FreeSWITCHMedia Handling in FreeSWITCH
Media Handling in FreeSWITCHMoises Silva
 
Skype: A global opportunity
Skype: A global opportunitySkype: A global opportunity
Skype: A global opportunityPhil Wolff
 

Tendances (13)

WebRTC: Real Time Video/Audio For Your App ...
WebRTC: Real Time Video/Audio For Your App ...WebRTC: Real Time Video/Audio For Your App ...
WebRTC: Real Time Video/Audio For Your App ...
 
Snappy Kamailio
Snappy KamailioSnappy Kamailio
Snappy Kamailio
 
Auditing Mobile Apps
Auditing Mobile AppsAuditing Mobile Apps
Auditing Mobile Apps
 
Developing rich SIP applications with SIPSIMPLE SDK
Developing rich SIP applications with SIPSIMPLE SDKDeveloping rich SIP applications with SIPSIMPLE SDK
Developing rich SIP applications with SIPSIMPLE SDK
 
When DevOps and Networking Intersect by Brent Salisbury of socketplane.io
When DevOps and Networking Intersect by Brent Salisbury of socketplane.ioWhen DevOps and Networking Intersect by Brent Salisbury of socketplane.io
When DevOps and Networking Intersect by Brent Salisbury of socketplane.io
 
SWIFT: Tango's Infrastructure For Real-Time Video Call Service
SWIFT: Tango's Infrastructure For Real-Time Video Call ServiceSWIFT: Tango's Infrastructure For Real-Time Video Call Service
SWIFT: Tango's Infrastructure For Real-Time Video Call Service
 
2015 update: SIP and IPv6 issues - staying Happy in SIP
2015 update: SIP and IPv6 issues - staying Happy in SIP2015 update: SIP and IPv6 issues - staying Happy in SIP
2015 update: SIP and IPv6 issues - staying Happy in SIP
 
WebRTC Summit November 2013 - WebRTC Interoperability (and why it is important)
WebRTC Summit November 2013 - WebRTC Interoperability (and why it is important)WebRTC Summit November 2013 - WebRTC Interoperability (and why it is important)
WebRTC Summit November 2013 - WebRTC Interoperability (and why it is important)
 
SIP and DNS - federation, failover, load balancing and more
SIP and DNS - federation, failover, load balancing and moreSIP and DNS - federation, failover, load balancing and more
SIP and DNS - federation, failover, load balancing and more
 
Kamailio World 2014 - Kamailio - The Platform for Interoperable WebRTC
Kamailio World 2014 - Kamailio - The Platform for Interoperable WebRTCKamailio World 2014 - Kamailio - The Platform for Interoperable WebRTC
Kamailio World 2014 - Kamailio - The Platform for Interoperable WebRTC
 
Media Handling in FreeSWITCH
Media Handling in FreeSWITCHMedia Handling in FreeSWITCH
Media Handling in FreeSWITCH
 
DevCon 5 (December 2013) - WebRTC & WebSockets
DevCon 5 (December 2013) - WebRTC & WebSocketsDevCon 5 (December 2013) - WebRTC & WebSockets
DevCon 5 (December 2013) - WebRTC & WebSockets
 
Skype: A global opportunity
Skype: A global opportunitySkype: A global opportunity
Skype: A global opportunity
 

En vedette

AstriCon 2016 - Using Asterisk and XMPP to provide greater tools to your cust...
AstriCon 2016 - Using Asterisk and XMPP to provide greater tools to your cust...AstriCon 2016 - Using Asterisk and XMPP to provide greater tools to your cust...
AstriCon 2016 - Using Asterisk and XMPP to provide greater tools to your cust...Nome Sobrenome
 
ASTERISK - Open Source PBS
ASTERISK - Open Source PBSASTERISK - Open Source PBS
ASTERISK - Open Source PBSPriyank Kapadia
 
Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...
Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...
Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...Fred Posner
 
Usando Docker con sistemas Asterisk
Usando Docker con sistemas AsteriskUsando Docker con sistemas Asterisk
Usando Docker con sistemas AsteriskElio Rojano
 
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
 
Kamailio :: A Quick Introduction
Kamailio :: A Quick IntroductionKamailio :: A Quick Introduction
Kamailio :: A Quick IntroductionOlle E Johansson
 
Getting the best out of WebRTC
Getting the best out of WebRTCGetting the best out of WebRTC
Getting the best out of WebRTCDigium
 
WebRTC & Asterisk 11
WebRTC & Asterisk 11WebRTC & Asterisk 11
WebRTC & Asterisk 11Sanjay Willie
 

En vedette (9)

AstriCon 2016 - Using Asterisk and XMPP to provide greater tools to your cust...
AstriCon 2016 - Using Asterisk and XMPP to provide greater tools to your cust...AstriCon 2016 - Using Asterisk and XMPP to provide greater tools to your cust...
AstriCon 2016 - Using Asterisk and XMPP to provide greater tools to your cust...
 
Jingle
JingleJingle
Jingle
 
ASTERISK - Open Source PBS
ASTERISK - Open Source PBSASTERISK - Open Source PBS
ASTERISK - Open Source PBS
 
Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...
Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...
Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...
 
Usando Docker con sistemas Asterisk
Usando Docker con sistemas AsteriskUsando Docker con sistemas Asterisk
Usando Docker con sistemas Asterisk
 
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
 
Kamailio :: A Quick Introduction
Kamailio :: A Quick IntroductionKamailio :: A Quick Introduction
Kamailio :: A Quick Introduction
 
Getting the best out of WebRTC
Getting the best out of WebRTCGetting the best out of WebRTC
Getting the best out of WebRTC
 
WebRTC & Asterisk 11
WebRTC & Asterisk 11WebRTC & Asterisk 11
WebRTC & Asterisk 11
 

Similaire à AstriCon 2015: WebRTC: How it Works, and How it Breaks

Now Hear This! Putting Voice, Video, and Text into Ruby on Rails
Now Hear This! Putting Voice, Video, and Text into Ruby on RailsNow Hear This! Putting Voice, Video, and Text into Ruby on Rails
Now Hear This! Putting Voice, Video, and Text into Ruby on RailsMojo Lingo
 
WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013Mojo Lingo
 
Speech-Enabling Web Apps
Speech-Enabling Web AppsSpeech-Enabling Web Apps
Speech-Enabling Web AppsMojo Lingo
 
雲端影音與物聯網平台的軟體工程挑戰:以 Skywatch 為例-陳維超
雲端影音與物聯網平台的軟體工程挑戰:以 Skywatch 為例-陳維超雲端影音與物聯網平台的軟體工程挑戰:以 Skywatch 為例-陳維超
雲端影音與物聯網平台的軟體工程挑戰:以 Skywatch 為例-陳維超台灣資料科學年會
 
Professional AV with WebRTC
Professional AV with WebRTCProfessional AV with WebRTC
Professional AV with WebRTCDan Jenkins
 
Podcast & Screencasting On Rails
Podcast & Screencasting On RailsPodcast & Screencasting On Rails
Podcast & Screencasting On Railsguest75489e
 
Timeshift Everything, Miss Nothing - Mashup your PVR with Kamaelia
Timeshift Everything, Miss Nothing - Mashup your PVR with KamaeliaTimeshift Everything, Miss Nothing - Mashup your PVR with Kamaelia
Timeshift Everything, Miss Nothing - Mashup your PVR with Kamaeliakamaelian
 
An Unbiased Explanation of AV-over-IP
An Unbiased Explanation of AV-over-IPAn Unbiased Explanation of AV-over-IP
An Unbiased Explanation of AV-over-IPrAVe [PUBS]
 
"The Sorry State of SSL" Hynek Schlawack, PyConRu 2014
"The Sorry State of SSL" Hynek Schlawack, PyConRu 2014"The Sorry State of SSL" Hynek Schlawack, PyConRu 2014
"The Sorry State of SSL" Hynek Schlawack, PyConRu 2014it-people
 
Cisco ASA Firewall Lab WorkBook
Cisco ASA Firewall Lab WorkBookCisco ASA Firewall Lab WorkBook
Cisco ASA Firewall Lab WorkBookRHC Technologies
 
WebRTC is [almost] here!
WebRTC is [almost] here!WebRTC is [almost] here!
WebRTC is [almost] here!Jose de Castro
 
KazooCon 2014 - WebRTC
KazooCon 2014 - WebRTCKazooCon 2014 - WebRTC
KazooCon 2014 - WebRTC2600Hz
 
WebRTC Overview
WebRTC OverviewWebRTC Overview
WebRTC OverviewArin Sime
 
Innovative Exploit Delivery
Innovative Exploit DeliveryInnovative Exploit Delivery
Innovative Exploit DeliverySaumil Shah
 
AT&T Hack-o-ween
AT&T Hack-o-weenAT&T Hack-o-ween
AT&T Hack-o-weenEd Donahue
 
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYCPractical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYCAlexandre Gouaillard
 

Similaire à AstriCon 2015: WebRTC: How it Works, and How it Breaks (20)

Now Hear This! Putting Voice, Video, and Text into Ruby on Rails
Now Hear This! Putting Voice, Video, and Text into Ruby on RailsNow Hear This! Putting Voice, Video, and Text into Ruby on Rails
Now Hear This! Putting Voice, Video, and Text into Ruby on Rails
 
WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013
 
Speech-Enabling Web Apps
Speech-Enabling Web AppsSpeech-Enabling Web Apps
Speech-Enabling Web Apps
 
雲端影音與物聯網平台的軟體工程挑戰:以 Skywatch 為例-陳維超
雲端影音與物聯網平台的軟體工程挑戰:以 Skywatch 為例-陳維超雲端影音與物聯網平台的軟體工程挑戰:以 Skywatch 為例-陳維超
雲端影音與物聯網平台的軟體工程挑戰:以 Skywatch 為例-陳維超
 
Professional AV with WebRTC
Professional AV with WebRTCProfessional AV with WebRTC
Professional AV with WebRTC
 
Podcast & Screencasting On Rails
Podcast & Screencasting On RailsPodcast & Screencasting On Rails
Podcast & Screencasting On Rails
 
Timeshift Everything, Miss Nothing - Mashup your PVR with Kamaelia
Timeshift Everything, Miss Nothing - Mashup your PVR with KamaeliaTimeshift Everything, Miss Nothing - Mashup your PVR with Kamaelia
Timeshift Everything, Miss Nothing - Mashup your PVR with Kamaelia
 
An Unbiased Explanation of AV-over-IP
An Unbiased Explanation of AV-over-IPAn Unbiased Explanation of AV-over-IP
An Unbiased Explanation of AV-over-IP
 
Torino js
Torino jsTorino js
Torino js
 
"The Sorry State of SSL" Hynek Schlawack, PyConRu 2014
"The Sorry State of SSL" Hynek Schlawack, PyConRu 2014"The Sorry State of SSL" Hynek Schlawack, PyConRu 2014
"The Sorry State of SSL" Hynek Schlawack, PyConRu 2014
 
Cisco ASA Firewall Lab WorkBook
Cisco ASA Firewall Lab WorkBookCisco ASA Firewall Lab WorkBook
Cisco ASA Firewall Lab WorkBook
 
Prototyping: Helping to take away the suck
Prototyping: Helping to take away the suckPrototyping: Helping to take away the suck
Prototyping: Helping to take away the suck
 
WebRTC is [almost] here!
WebRTC is [almost] here!WebRTC is [almost] here!
WebRTC is [almost] here!
 
KazooCon 2014 - WebRTC
KazooCon 2014 - WebRTCKazooCon 2014 - WebRTC
KazooCon 2014 - WebRTC
 
WebRTC Overview
WebRTC OverviewWebRTC Overview
WebRTC Overview
 
Innovative Exploit Delivery
Innovative Exploit DeliveryInnovative Exploit Delivery
Innovative Exploit Delivery
 
Final.pptx
Final.pptxFinal.pptx
Final.pptx
 
Forensicating the Apple TV
Forensicating the Apple TVForensicating the Apple TV
Forensicating the Apple TV
 
AT&T Hack-o-ween
AT&T Hack-o-weenAT&T Hack-o-ween
AT&T Hack-o-ween
 
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYCPractical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
 

Plus de Mojo Lingo

FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In Sight
FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In SightFreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In Sight
FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In SightMojo Lingo
 
Using Asterisk to Create "Her"
Using Asterisk to Create "Her"Using Asterisk to Create "Her"
Using Asterisk to Create "Her"Mojo Lingo
 
Tipping the Scales: Measuring and Scaling Asterisk
Tipping the Scales: Measuring and Scaling AsteriskTipping the Scales: Measuring and Scaling Asterisk
Tipping the Scales: Measuring and Scaling AsteriskMojo Lingo
 
AdhearsionConf 2013 Keynote
AdhearsionConf 2013 KeynoteAdhearsionConf 2013 Keynote
AdhearsionConf 2013 KeynoteMojo Lingo
 
Infiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando RubyInfiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando RubyMojo Lingo
 
Enhancing FreePBX with Adhearsion
Enhancing FreePBX with AdhearsionEnhancing FreePBX with Adhearsion
Enhancing FreePBX with AdhearsionMojo Lingo
 
Connecting Adhearsion
Connecting AdhearsionConnecting Adhearsion
Connecting AdhearsionMojo Lingo
 
Testing Adhearsion Applications
Testing Adhearsion ApplicationsTesting Adhearsion Applications
Testing Adhearsion ApplicationsMojo Lingo
 
Testing Telephony: It's Not All Terrible
Testing Telephony: It's Not All TerribleTesting Telephony: It's Not All Terrible
Testing Telephony: It's Not All TerribleMojo Lingo
 
Rayo for XMPP Folks
Rayo for XMPP FolksRayo for XMPP Folks
Rayo for XMPP FolksMojo Lingo
 
Talking To Rails
Talking To RailsTalking To Rails
Talking To RailsMojo Lingo
 
Building Real Life Applications with Adhearsion
Building Real Life Applications with AdhearsionBuilding Real Life Applications with Adhearsion
Building Real Life Applications with AdhearsionMojo Lingo
 
Keeping It Realtime!
Keeping It Realtime!Keeping It Realtime!
Keeping It Realtime!Mojo Lingo
 
Integrating Voice Through Adhearsion
Integrating Voice Through AdhearsionIntegrating Voice Through Adhearsion
Integrating Voice Through AdhearsionMojo Lingo
 
Infiltrating Telecoms Using Ruby
Infiltrating Telecoms Using RubyInfiltrating Telecoms Using Ruby
Infiltrating Telecoms Using RubyMojo Lingo
 
Telephony Through Ruby Colored Lenses
Telephony Through Ruby Colored LensesTelephony Through Ruby Colored Lenses
Telephony Through Ruby Colored LensesMojo Lingo
 
Voice Applications for the Modern Open Source Hacker
Voice Applications for the Modern Open Source HackerVoice Applications for the Modern Open Source Hacker
Voice Applications for the Modern Open Source HackerMojo Lingo
 
Multidextrous Voice Application Framework
Multidextrous Voice Application FrameworkMultidextrous Voice Application Framework
Multidextrous Voice Application FrameworkMojo Lingo
 
Voice Applications with Adhearsion
Voice Applications with AdhearsionVoice Applications with Adhearsion
Voice Applications with AdhearsionMojo Lingo
 
A Hackaton Focused on Call Control
A Hackaton Focused on Call ControlA Hackaton Focused on Call Control
A Hackaton Focused on Call ControlMojo Lingo
 

Plus de Mojo Lingo (20)

FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In Sight
FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In SightFreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In Sight
FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In Sight
 
Using Asterisk to Create "Her"
Using Asterisk to Create "Her"Using Asterisk to Create "Her"
Using Asterisk to Create "Her"
 
Tipping the Scales: Measuring and Scaling Asterisk
Tipping the Scales: Measuring and Scaling AsteriskTipping the Scales: Measuring and Scaling Asterisk
Tipping the Scales: Measuring and Scaling Asterisk
 
AdhearsionConf 2013 Keynote
AdhearsionConf 2013 KeynoteAdhearsionConf 2013 Keynote
AdhearsionConf 2013 Keynote
 
Infiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando RubyInfiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando Ruby
 
Enhancing FreePBX with Adhearsion
Enhancing FreePBX with AdhearsionEnhancing FreePBX with Adhearsion
Enhancing FreePBX with Adhearsion
 
Connecting Adhearsion
Connecting AdhearsionConnecting Adhearsion
Connecting Adhearsion
 
Testing Adhearsion Applications
Testing Adhearsion ApplicationsTesting Adhearsion Applications
Testing Adhearsion Applications
 
Testing Telephony: It's Not All Terrible
Testing Telephony: It's Not All TerribleTesting Telephony: It's Not All Terrible
Testing Telephony: It's Not All Terrible
 
Rayo for XMPP Folks
Rayo for XMPP FolksRayo for XMPP Folks
Rayo for XMPP Folks
 
Talking To Rails
Talking To RailsTalking To Rails
Talking To Rails
 
Building Real Life Applications with Adhearsion
Building Real Life Applications with AdhearsionBuilding Real Life Applications with Adhearsion
Building Real Life Applications with Adhearsion
 
Keeping It Realtime!
Keeping It Realtime!Keeping It Realtime!
Keeping It Realtime!
 
Integrating Voice Through Adhearsion
Integrating Voice Through AdhearsionIntegrating Voice Through Adhearsion
Integrating Voice Through Adhearsion
 
Infiltrating Telecoms Using Ruby
Infiltrating Telecoms Using RubyInfiltrating Telecoms Using Ruby
Infiltrating Telecoms Using Ruby
 
Telephony Through Ruby Colored Lenses
Telephony Through Ruby Colored LensesTelephony Through Ruby Colored Lenses
Telephony Through Ruby Colored Lenses
 
Voice Applications for the Modern Open Source Hacker
Voice Applications for the Modern Open Source HackerVoice Applications for the Modern Open Source Hacker
Voice Applications for the Modern Open Source Hacker
 
Multidextrous Voice Application Framework
Multidextrous Voice Application FrameworkMultidextrous Voice Application Framework
Multidextrous Voice Application Framework
 
Voice Applications with Adhearsion
Voice Applications with AdhearsionVoice Applications with Adhearsion
Voice Applications with Adhearsion
 
A Hackaton Focused on Call Control
A Hackaton Focused on Call ControlA Hackaton Focused on Call Control
A Hackaton Focused on Call Control
 

Dernier

VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...Nitya salvi
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfayushiqss
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durbanmasabamasaba
 

Dernier (20)

VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 

AstriCon 2015: WebRTC: How it Works, and How it Breaks

  • 1. WebRTC How it works How it breaks How we fixed it
  • 2. CAN YOU SPEAK MAGIC? 2 Ben Klang
  • 3. CAN YOU SPEAK MAGIC? 2 Ben Klang
  • 4. CAN YOU SPEAK MAGIC? 2 Ben Klang
  • 5. CAN YOU SPEAK MAGIC? 3
  • 6. CAN YOU SPEAK MAGIC? 3 WebRTC
  • 7. CAN YOU SPEAK MAGIC? 3 WebRTC How it works
  • 8. CAN YOU SPEAK MAGIC? 3 WebRTC How it works How it breaks
  • 9. CAN YOU SPEAK MAGIC? 3 WebRTC How it works How it breaks How we fixed it
  • 10. CAN YOU SPEAK MAGIC? WHAT WEBRTC IS 4
  • 11. CAN YOU SPEAK MAGIC? WHAT WEBRTC IS •Javascript access to Camera and Mic 4
  • 12. CAN YOU SPEAK MAGIC? WHAT WEBRTC IS •Javascript access to Camera and Mic •High Quality Video & Audio Codecs 4
  • 13. CAN YOU SPEAK MAGIC? WHAT WEBRTC IS •Javascript access to Camera and Mic •High Quality Video & Audio Codecs •Techniques for traversing NAT 4
  • 14. CAN YOU SPEAK MAGIC? WHAT WEBRTC IS •Javascript access to Camera and Mic •High Quality Video & Audio Codecs •Techniques for traversing NAT •Peer-to-Peer 4
  • 15. CAN YOU SPEAK MAGIC? WHAT WEBRTC IS •Javascript access to Camera and Mic •High Quality Video & Audio Codecs •Techniques for traversing NAT •Peer-to-Peer •A Data Channel 4
  • 16. CAN YOU SPEAK MAGIC? WHAT WEBRTC IS •Javascript access to Camera and Mic •High Quality Video & Audio Codecs •Techniques for traversing NAT •Peer-to-Peer •A Data Channel •A Tool for Developers 4
  • 17. CAN YOU SPEAK MAGIC? WHAT WEBRTC IS NOT 5
  • 18. CAN YOU SPEAK MAGIC? WHAT WEBRTC IS NOT •…a Polished End-User Product 5
  • 19. CAN YOU SPEAK MAGIC? WHAT WEBRTC IS NOT •…a Polished End-User Product •…required to interop…but may 5
  • 20. CAN YOU SPEAK MAGIC? WHAT WEBRTC IS NOT •…a Polished End-User Product •…required to interop…but may •…the same thing to every application 5
  • 21. CAN YOU SPEAK MAGIC? WHAT WEBRTC IS NOT •…a Polished End-User Product •…required to interop…but may •…the same thing to every application •…finished. 5
  • 22. CAN YOU SPEAK MAGIC? WHAT WEBRTC IS NOT •…a Polished End-User Product •…required to interop…but may •…the same thing to every application •…finished. 5 But don’t sweat it
  • 23. CAN YOU SPEAK MAGIC? Communication Topology 6
  • 24. CAN YOU SPEAK MAGIC? 7 Alice BobThe Trapezoid
  • 25. CAN YOU SPEAK MAGIC? 8 Alice BobThe Triangle
  • 26. CAN YOU SPEAK MAGIC? 9 The WebRTC TriangleAlice Bob Signaling Media
  • 27. CAN YOU SPEAK MAGIC? 9 The WebRTC TriangleAlice Bob Signaling Media
  • 28. CAN YOU SPEAK MAGIC? WebRTC Infrastructure 10
  • 29. CAN YOU SPEAK MAGIC? 11
  • 30. CAN YOU SPEAK MAGIC? 11
  • 31. CAN YOU SPEAK MAGIC? 11
  • 32. CAN YOU SPEAK MAGIC? 11 http:// Signaling
  • 33. CAN YOU SPEAK MAGIC? 11 http:// Signaling
  • 34. CAN YOU SPEAK MAGIC? 11 http:// Signaling
  • 35. CAN YOU SPEAK MAGIC? 11 http:// Signaling STUN & TURNNAT Traversal
  • 36. CAN YOU SPEAK MAGIC? 11 http:// Signaling STUN & TURN SFU or MCU NAT Traversal Larger Multiparty Video Conferences
  • 37. CAN YOU SPEAK MAGIC? 11 http:// Signaling Recording Conferencing PSTN Gateway STUN & TURN SFU or MCU NAT Traversal Larger Multiparty Video Conferences
  • 38. CAN YOU SPEAK MAGIC? WEBRTC SIGNALING 12
  • 39. CAN YOU SPEAK MAGIC? WEBRTC SIGNALING •Can be anything you like 12
  • 40. CAN YOU SPEAK MAGIC? WEBRTC SIGNALING •Can be anything you like 12 http://
  • 41. CAN YOU SPEAK MAGIC? WEBRTC SIGNALING •Can be anything you like 12 http://
  • 42. CAN YOU SPEAK MAGIC? WEBRTC SIGNALING •Can be anything you like 12 http://
  • 43. CAN YOU SPEAK MAGIC? WEBRTC SIGNALING •Can be anything you like 12 http://
  • 44. CAN YOU SPEAK MAGIC? WEBRTC SIGNALING •Can be anything you like •Select based on application requirements 12 http://
  • 45. CAN YOU SPEAK MAGIC? WEBRTC SIGNALING •Can be anything you like •Select based on application requirements •Integrate with existing or greenfield? 12 http://
  • 46. CAN YOU SPEAK MAGIC? WEBRTC SIGNALING •Can be anything you like •Select based on application requirements •Integrate with existing or greenfield? •Federate? Or Not? 12 http://
  • 47. CAN YOU SPEAK MAGIC? WEBRTC SIGNALING •Can be anything you like •Select based on application requirements •Integrate with existing or greenfield? •Federate? Or Not? •Anonymous or Real Names? 12 http://
  • 48. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 13 http://
  • 49. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 13 Alice http://
  • 50. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 13 Alice Bob http://
  • 51. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 13 H aveBob callm ehere! SDP:
 v=0o=alice20518 0 IN IP4 0.0.0.0 s=-t=0 0m =audio54609 RTP/SAVPF 109 Alice Bob http://
  • 52. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 13 H aveBob callm ehere! SDP:
 v=0o=alice20518 0 IN IP4 0.0.0.0 s=-t=0 0m =audio54609 RTP/SAVPF 109 Alice Bob http://
  • 53. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 13 H aveBob callm ehere! SDP:
 v=0o=alice20518 0 IN IP4 0.0.0.0 s=-t=0 0m =audio54609 RTP/SAVPF 109 Bob is at: SDP:
 v=0o=bob 19915 0 IN IP4 0.0.0.0 s=-t=0 0m =audio 61001 RTP/SAV PF 109 Alice Bob http://
  • 54. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 13 H aveBob callm ehere! SDP:
 v=0o=alice20518 0 IN IP4 0.0.0.0 s=-t=0 0m =audio54609 RTP/SAVPF 109 Bob is at: SDP:
 v=0o=bob 19915 0 IN IP4 0.0.0.0 s=-t=0 0m =audio 61001 RTP/SAV PF 109 Alice Bob http://
  • 55. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 13 H aveBob callm ehere! SDP:
 v=0o=alice20518 0 IN IP4 0.0.0.0 s=-t=0 0m =audio54609 RTP/SAVPF 109 Bob is at: SDP:
 v=0o=bob 19915 0 IN IP4 0.0.0.0 s=-t=0 0m =audio 61001 RTP/SAV PF 109 Alice Bob http://
  • 56. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 13 H aveBob callm ehere! SDP:
 v=0o=alice20518 0 IN IP4 0.0.0.0 s=-t=0 0m =audio54609 RTP/SAVPF 109 Bob is at: SDP:
 v=0o=bob 19915 0 IN IP4 0.0.0.0 s=-t=0 0m =audio 61001 RTP/SAV PF 109 Alice Bob http://
  • 57. CAN YOU SPEAK MAGIC? ICE/STUN/TURN 14
  • 58. CAN YOU SPEAK MAGIC? 15 ICE/STUN/TURN
  • 59. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 16 H aveBob callm ehere! SDP:
 v=0o=alice20518 0 IN IP4 0.0.0.0 s=-t=0 0m =audio54609 RTP/SAVPF 109 Bob is at: SDP:
 v=0o=bob 19915 0 IN IP4 0.0.0.0 s=-t=0 0m =audio 61001 RTP/SAV PF 109 Alice Bob http://
  • 60. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 16 H aveBob callm ehere! SDP:
 v=0o=alice20518 0 IN IP4 0.0.0.0 s=-t=0 0m =audio54609 RTP/SAVPF 109 Bob is at: SDP:
 v=0o=bob 19915 0 IN IP4 0.0.0.0 s=-t=0 0m =audio 61001 RTP/SAV PF 109 Alice Bob SRTP SRTP http://
  • 61. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 16 H aveBob callm ehere! SDP:
 v=0o=alice20518 0 IN IP4 0.0.0.0 s=-t=0 0m =audio54609 RTP/SAVPF 109 Bob is at: SDP:
 v=0o=bob 19915 0 IN IP4 0.0.0.0 s=-t=0 0m =audio 61001 RTP/SAV PF 109 Alice Bob SRTP SRTP http://
  • 62. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 16 H aveBob callm ehere! SDP:
 v=0o=alice20518 0 IN IP4 0.0.0.0 s=-t=0 0m =audio54609 RTP/SAVPF 109 Bob is at: SDP:
 v=0o=bob 19915 0 IN IP4 0.0.0.0 s=-t=0 0m =audio 61001 RTP/SAV PF 109 Alice Bob SRTP SRTP X http://
  • 63. CAN YOU SPEAK MAGIC? That’s how it works 17
  • 64. CAN YOU SPEAK MAGIC? Here’s how it breaks 18
  • 65. CAN YOU SPEAK MAGIC? ENVIRONMENTAL PROBLEMS 19
  • 66. CAN YOU SPEAK MAGIC? ENVIRONMENTAL PROBLEMS 19 •Microphone or Speakers Muted
  • 67. CAN YOU SPEAK MAGIC? ENVIRONMENTAL PROBLEMS 19 •Microphone or Speakers Muted
  • 68. CAN YOU SPEAK MAGIC? ENVIRONMENTAL PROBLEMS 19 •Microphone or Speakers Muted •Too Dark or Too Backlit
  • 69. CAN YOU SPEAK MAGIC? ENVIRONMENTAL PROBLEMS 19 •Microphone or Speakers Muted •Too Dark or Too Backlit •HW or Driver Issues
  • 70. CAN YOU SPEAK MAGIC? ENVIRONMENTAL PROBLEMS 19 •Microphone or Speakers Muted •Too Dark or Too Backlit •HW or Driver Issues •USB Headsets
  • 71. CAN YOU SPEAK MAGIC? ENVIRONMENTAL PROBLEMS 19 •Microphone or Speakers Muted •Too Dark or Too Backlit •HW or Driver Issues •USB Headsets •I’m looking at you, Windows
  • 72. CAN YOU SPEAK MAGIC? ENVIRONMENTAL PROBLEMS 19 •Microphone or Speakers Muted •Too Dark or Too Backlit •HW or Driver Issues •USB Headsets •I’m looking at you, Windows •https://test.webrtc.org/
  • 73. CAN YOU SPEAK MAGIC? USABILITY PROBLEMS 20
  • 74. CAN YOU SPEAK MAGIC? USABILITY PROBLEMS •Failing to deploy TLS Cert 20
  • 75. CAN YOU SPEAK MAGIC? USABILITY PROBLEMS •Failing to deploy TLS Cert •Not allowing user-chosen device selection 20
  • 76. CAN YOU SPEAK MAGIC? USABILITY PROBLEMS •Failing to deploy TLS Cert •Not allowing user-chosen device selection •Video element rendered
 off-screen 20
  • 77. CAN YOU SPEAK MAGIC? USABILITY PROBLEMS •Failing to deploy TLS Cert •Not allowing user-chosen device selection •Video element rendered
 off-screen •<video> or <audio> paused 20
  • 78. CAN YOU SPEAK MAGIC? BROWSER PROBLEMS 21
  • 79. CAN YOU SPEAK MAGIC? BROWSER PROBLEMS •Spec still evolving 21
  • 80. CAN YOU SPEAK MAGIC? BROWSER PROBLEMS •Spec still evolving •…though 1.0 is on the horizon 21
  • 81. CAN YOU SPEAK MAGIC? BROWSER PROBLEMS •Spec still evolving •…though 1.0 is on the horizon •Still no native IE or Safari :( 21
  • 82. CAN YOU SPEAK MAGIC? BROWSER PROBLEMS •Spec still evolving •…though 1.0 is on the horizon •Still no native IE or Safari :( •MUCH more stable than 1 year ago 21
  • 83. CAN YOU SPEAK MAGIC? BROWSER PROBLEMS •Spec still evolving •…though 1.0 is on the horizon •Still no native IE or Safari :( •MUCH more stable than 1 year ago •Chrome dropping non-TLS HTTP 21
  • 84. CAN YOU SPEAK MAGIC? BROWSER PROBLEMS •Spec still evolving •…though 1.0 is on the horizon •Still no native IE or Safari :( •MUCH more stable than 1 year ago •Chrome dropping non-TLS HTTP 21
  • 85. CAN YOU SPEAK MAGIC? BROWSER PROBLEMS •Spec still evolving •…though 1.0 is on the horizon •Still no native IE or Safari :( •MUCH more stable than 1 year ago •Chrome dropping non-TLS HTTP • https://webrtcstandards.info/ 21
  • 86. CAN YOU SPEAK MAGIC? BROWSER PROBLEMS •Spec still evolving •…though 1.0 is on the horizon •Still no native IE or Safari :( •MUCH more stable than 1 year ago •Chrome dropping non-TLS HTTP • https://webrtcstandards.info/ •Well, Everybody Better
 Restart Their Chrome 21
  • 87. CAN YOU SPEAK MAGIC? SOLVING BROWSER INCOMPAT 22
  • 88. CAN YOU SPEAK MAGIC? SOLVING BROWSER INCOMPAT •Use a “polyfill” - Adapter.js 22
  • 89. CAN YOU SPEAK MAGIC? SOLVING BROWSER INCOMPAT •Use a “polyfill” - Adapter.js •https://github.com/webrtc/adapter 22
  • 90. CAN YOU SPEAK MAGIC? SOLVING BROWSER INCOMPAT •Use a “polyfill” - Adapter.js •https://github.com/webrtc/adapter •IE & Safari: deploy Temasys 22
  • 91. CAN YOU SPEAK MAGIC? SOLVING BROWSER INCOMPAT •Use a “polyfill” - Adapter.js •https://github.com/webrtc/adapter •IE & Safari: deploy Temasys •http://skylink.io/plugin/ 22
  • 92. CAN YOU SPEAK MAGIC? SOLVING BROWSER INCOMPAT •Use a “polyfill” - Adapter.js •https://github.com/webrtc/adapter •IE & Safari: deploy Temasys •http://skylink.io/plugin/ •Pick a great WebRTC service provider 22
  • 93. CAN YOU SPEAK MAGIC? SOLVING BROWSER INCOMPAT •Use a “polyfill” - Adapter.js •https://github.com/webrtc/adapter •IE & Safari: deploy Temasys •http://skylink.io/plugin/ •Pick a great WebRTC service provider 22
  • 94. CAN YOU SPEAK MAGIC? WEBRTC PROBLEMS & SOLUTIONS 23
  • 95. CAN YOU SPEAK MAGIC? WEBRTC PROBLEMS & SOLUTIONS •Environmental Problems 23
  • 96. CAN YOU SPEAK MAGIC? WEBRTC PROBLEMS & SOLUTIONS •Environmental Problems •Change the environment 23
  • 97. CAN YOU SPEAK MAGIC? WEBRTC PROBLEMS & SOLUTIONS •Environmental Problems •Change the environment •Teach the user 23
  • 98. CAN YOU SPEAK MAGIC? WEBRTC PROBLEMS & SOLUTIONS •Environmental Problems •Change the environment •Teach the user •Usability Problems 23
  • 99. CAN YOU SPEAK MAGIC? WEBRTC PROBLEMS & SOLUTIONS •Environmental Problems •Change the environment •Teach the user •Usability Problems •Deploy TLS Certs!!! 23
  • 100. CAN YOU SPEAK MAGIC? WEBRTC PROBLEMS & SOLUTIONS •Environmental Problems •Change the environment •Teach the user •Usability Problems •Deploy TLS Certs!!! •Test, test, test 23
  • 101. CAN YOU SPEAK MAGIC? WEBRTC PROBLEMS & SOLUTIONS •Environmental Problems •Change the environment •Teach the user •Usability Problems •Deploy TLS Certs!!! •Test, test, test •Browser Compat & Infrastructure Problems 23
  • 102. CAN YOU SPEAK MAGIC? WEBRTC PROBLEMS & SOLUTIONS •Environmental Problems •Change the environment •Teach the user •Usability Problems •Deploy TLS Certs!!! •Test, test, test •Browser Compat & Infrastructure Problems •Lean on someone who has already fixed it 23
  • 103. CAN YOU SPEAK MAGIC? 24 http://mojolingo.com @MojoLingo @bklang bklang@mojolingo.com http://adhearsion.com @Adhearsion LINKS & QUESTIONS •https://test.webrtc.org/ •https://webrtcstandards.info/ •https://github.com/webrtc/adapter •http://skylink.io/plugin/