SlideShare a Scribd company logo
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/

More Related Content

What's hot

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
 
Snappy Kamailio
Snappy KamailioSnappy Kamailio
Snappy Kamailio
Daniel-Constantin Mierla
 
Auditing Mobile Apps
Auditing Mobile AppsAuditing Mobile Apps
Auditing Mobile Apps
jselvi
 
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
Saú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.io
DevOps4Networks
 
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
Meng 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 SIP
Olle E Johansson
 
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)
Crocodile WebRTC SDK and Cloud Signalling Network
 
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
Olle E Johansson
 
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
Crocodile WebRTC SDK and Cloud Signalling Network
 
Media Handling in FreeSWITCH
Media Handling in FreeSWITCHMedia Handling in FreeSWITCH
Media Handling in FreeSWITCH
Moises Silva
 
DevCon 5 (December 2013) - WebRTC & WebSockets
DevCon 5 (December 2013) - WebRTC & WebSocketsDevCon 5 (December 2013) - WebRTC & WebSockets
DevCon 5 (December 2013) - WebRTC & WebSockets
Crocodile WebRTC SDK and Cloud Signalling Network
 
Skype: A global opportunity
Skype: A global opportunitySkype: A global opportunity
Skype: A global opportunity
Phil Wolff
 

What's hot (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
 

Viewers also liked

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
 
Jingle
JingleJingle
Jingle
stpeter
 
ASTERISK - Open Source PBS
ASTERISK - Open Source PBSASTERISK - Open Source PBS
ASTERISK - Open Source PBS
Priyank 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 Asterisk
Elio 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 possibilities
Dan Jenkins
 
Kamailio :: A Quick Introduction
Kamailio :: A Quick IntroductionKamailio :: A Quick Introduction
Kamailio :: A Quick Introduction
Olle E Johansson
 
Getting the best out of WebRTC
Getting the best out of WebRTCGetting the best out of WebRTC
Getting the best out of WebRTC
Digium
 
WebRTC & Asterisk 11
WebRTC & Asterisk 11WebRTC & Asterisk 11
WebRTC & Asterisk 11
Sanjay Willie
 

Viewers also liked (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
 

Similar to 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 Rails
Mojo Lingo
 
WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013
Mojo Lingo
 
Speech-Enabling Web Apps
Speech-Enabling Web AppsSpeech-Enabling Web Apps
Speech-Enabling Web Apps
Mojo Lingo
 
雲端影音與物聯網平台的軟體工程挑戰:以 Skywatch 為例-陳維超
雲端影音與物聯網平台的軟體工程挑戰:以 Skywatch 為例-陳維超雲端影音與物聯網平台的軟體工程挑戰:以 Skywatch 為例-陳維超
雲端影音與物聯網平台的軟體工程挑戰:以 Skywatch 為例-陳維超
台灣資料科學年會
 
Professional AV with WebRTC
Professional AV with WebRTCProfessional AV with WebRTC
Professional AV with WebRTC
Dan Jenkins
 
Podcast & Screencasting On Rails
Podcast & Screencasting On RailsPodcast & Screencasting On Rails
Podcast & Screencasting On Rails
guest75489e
 
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
kamaelian
 
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
rAVe [PUBS]
 
Torino js
Torino jsTorino js
Torino js
Matteo Avalle
 
"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
it-people
 
Cisco ASA Firewall Lab WorkBook
Cisco ASA Firewall Lab WorkBookCisco ASA Firewall Lab WorkBook
Cisco ASA Firewall Lab WorkBook
RHC Technologies
 
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
Harvard Web Working Group
 
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 - WebRTC
2600Hz
 
WebRTC Overview
WebRTC OverviewWebRTC Overview
WebRTC Overview
Arin Sime
 
Innovative Exploit Delivery
Innovative Exploit DeliveryInnovative Exploit Delivery
Innovative Exploit Delivery
Saumil Shah
 
Final.pptx
Final.pptxFinal.pptx
Final.pptx
ZacheryEdwards
 
Forensicating the Apple TV
Forensicating the Apple TVForensicating the Apple TV
Forensicating the Apple TV
Reality Net System Solutions
 
AT&T Hack-o-ween
AT&T Hack-o-weenAT&T Hack-o-ween
AT&T Hack-o-ween
Ed 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 @ NYC
Alexandre Gouaillard
 

Similar to 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
 

More from 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 Sight
Mojo 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 Asterisk
Mojo Lingo
 
AdhearsionConf 2013 Keynote
AdhearsionConf 2013 KeynoteAdhearsionConf 2013 Keynote
AdhearsionConf 2013 Keynote
Mojo Lingo
 
Infiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando RubyInfiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando Ruby
Mojo Lingo
 
Enhancing FreePBX with Adhearsion
Enhancing FreePBX with AdhearsionEnhancing FreePBX with Adhearsion
Enhancing FreePBX with Adhearsion
Mojo Lingo
 
Connecting Adhearsion
Connecting AdhearsionConnecting Adhearsion
Connecting Adhearsion
Mojo Lingo
 
Testing Adhearsion Applications
Testing Adhearsion ApplicationsTesting Adhearsion Applications
Testing Adhearsion Applications
Mojo 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 Terrible
Mojo Lingo
 
Rayo for XMPP Folks
Rayo for XMPP FolksRayo for XMPP Folks
Rayo for XMPP Folks
Mojo Lingo
 
Talking To Rails
Talking To RailsTalking To Rails
Talking To Rails
Mojo Lingo
 
Building Real Life Applications with Adhearsion
Building Real Life Applications with AdhearsionBuilding Real Life Applications with Adhearsion
Building Real Life Applications with Adhearsion
Mojo 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 Adhearsion
Mojo Lingo
 
Infiltrating Telecoms Using Ruby
Infiltrating Telecoms Using RubyInfiltrating Telecoms Using Ruby
Infiltrating Telecoms Using Ruby
Mojo Lingo
 
Telephony Through Ruby Colored Lenses
Telephony Through Ruby Colored LensesTelephony Through Ruby Colored Lenses
Telephony Through Ruby Colored Lenses
Mojo 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 Hacker
Mojo Lingo
 
Multidextrous Voice Application Framework
Multidextrous Voice Application FrameworkMultidextrous Voice Application Framework
Multidextrous Voice Application Framework
Mojo Lingo
 
Voice Applications with Adhearsion
Voice Applications with AdhearsionVoice Applications with Adhearsion
Voice Applications with Adhearsion
Mojo Lingo
 
A Hackaton Focused on Call Control
A Hackaton Focused on Call ControlA Hackaton Focused on Call Control
A Hackaton Focused on Call Control
Mojo Lingo
 

More from 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
 

Recently uploaded

E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
ISH Technologies
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLESINTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
anfaltahir1010
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
VALiNTRY360
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
safelyiotech
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
Marcin Chrost
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
kalichargn70th171
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
Project Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdfProject Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdf
Karya Keeper
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
The Third Creative Media
 
What’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete RoadmapWhat’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete Roadmap
Envertis Software Solutions
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
Yara Milbes
 

Recently uploaded (20)

E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLESINTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
Project Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdfProject Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdf
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
 
What’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete RoadmapWhat’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete Roadmap
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
 

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/