SlideShare a Scribd company logo
DevCon5 (July 2014): Intro to WebRTC 
Peter Dunkley, Technical Director, Acision 
Email: peter.dunkley@acision.com 
Twitter: @pdunkley 
10/3/2014 Title Version No: 0.1/ Status: DRAFT 1
Evolution on the Web 
Sir Tim Berners-Lee 
creates HTML. Web 
-pages are static 
W3C produces the 
DOM1 specification 
1990 1996 1998 2004 2011 
Microsoft and Netscape 
introduce different 
mechanisms for DHTML 
Google uses Ajax 
in Gmail (W3C 
releases 1st draft in 
2006) – the dawn 
of web-apps 
WebSocket and 
WebRTC 
implementations 
become available 
10/3/2014 Title Version No: 0.1/ Status: DRAFT 2
Revolution in Telecoms 
The revolution 
Before today the operators (big and small) 
had full control over real-time 
communications because it was hard to do 
and substantial infrastructure investment 
Claude Chappe was required. 
invented the optical 
telegraph 
Alexander 
Graham 
Bell patents 
the telephone 
From the 1960s 
onwards digital 
exchanges start to 
appear 
From the 1990s onwards 
voice started to be carried 
on technologies developed 
for data networks such as 
ATM and IP 
1792 1837 1876 1919 1960s > 1990s > 2011 
WebSocket and 
WebRTC 
implementations 
become 
available 
Rotary dial 
enters 
service 
First commercial 
electrical telegraph 
created by 
Cooke and 
Wheatstone 
1963: DTMF 
enters service 
10/3/2014 Title Version No: 0.1/ Status: DRAFT 3
RTCWeb 
There are a number of proprietary implementations that 
provide direct interactive rich communication using audio, 
video, collaboration, games, etc. between two peers' web-browsers. 
These are not interoperable, as they require 
non-standard extensions or plugins to work. There is a 
desire to standardize the basis for such communication so 
that interoperable communication can be established 
between any compatible browsers. 
Real-Time Communication in WEB-Browsers 
(rtcweb) 2013-03-13 charter 
10/3/2014 Title Version No: 0.1/ Status: DRAFT 4
Real-time communication is hard 
10/3/2014 
Title Version No: 0.1/ Status: DRAFT 
5 
• VoIP has always suffered from a lack of standard profile 
– What QoS/feedback mechanisms should be supported 
– What codecs should be supported 
– What security mechanisms should be supported 
• This means that VoIP end-point vendors can all follow the 
specifications to the letter and still produce devices that do not 
interoperate 
• This makes the job of developing a VoIP end-point far harder than it 
should be 
• This makes large scale consumer use of VoIP difficult 
– You can’t just add real-time communications to your service - you have 
to really, really, need it for it to be worth doing 
RTCWeb provides this standard profile
WebRTC 
The mission of the Web Real-Time Communications 
Working Group, part of the Ubiquitous Web Applications 
Activity, is to define client-side APIs to enable Real-Time 
Communications in Web browsers. 
These APIs should enable building applications that can be 
run inside a browser, requiring no extra downloads or 
plugins, that allow communication between parties using 
audio, video and supplementary real-time communication, 
without having to use intervening servers (unless needed for 
firewall traversal, or for providing intermediary services). 
Web Real-Time Communications 
Working Group Charter 
10/3/2014 Title Version No: 0.1/ Status: DRAFT 6
RTCWeb/WebRTC Architecture 
Your web 
app #1 
RTCWeb 
Voice Engine 
. . . 
WebRTC API 
Your web 
app #2 
WebRTC C++ API (PeerConnection) 
Session management / Abstract signalling (Session) 
G.711/OPUS Codec 
NetEQ for Voice 
Echo Canceller / 
Noise Reduction 
Video Engine 
H.264/VP8 Codec 
Video Jitter Buffer 
Image enhancements 
Transport 
Your web 
app #3 
SRTP 
Multiplexing 
P2P 
STUN + TURN + ICE 
Audio Capture/Render Video Capture Network I/O 
The web 
Your browser 
Based on the diagram from http://www.webrtc.org/reference/architecture 
10/3/2014 Title Version No: 0.1/ Status: DRAFT 7
The signalling triangle (non-interoperable) 
Server 
UA Media 
UA 
10/3/2014 Title Version No: 0.1/ Status: DRAFT 8
The signalling trapezoid (interoperable) 
Server 
Signalling Server 
UA Media 
UA 
The fact that something can interoperate does 
not mean it must, or will, interoperate 
10/3/2014 Title Version No: 0.1/ Status: DRAFT 9
Interoperability could be bad for business 
• Good for consumers doesn’t always mean good 
for business 
– Why would, for example, Microsoft want Office 365 
users to easily collaborate with Google Docs users? 
• In other situations… 
It’s the API, stupid… 
10/3/2014 Title Version No: 0.1/ Status: DRAFT 10
Picking the right API is the most important thing 
Personally, I’ve come around (the hard way) to a fairly pragmatic stance 
on this point, and I hesitate from declaring “it has to be” one approach 
for signaling protocol, or another. Let me explain: Initially, I must admit I 
used to obsess about what protocol the library was doing under the 
hood. In fact, full disclosure: when I first started looking into JavaScript 
WebRTC signaling, I thought SIP over WebSockets was a bad idea… 
However, after I did a few projects… I started to have a change of heart. 
I found that in using the library, I was able to accomplish the goals of my 
projects, and the JavaScript interface to the library could be just as 
simple and powerful as all the others. I couldn’t find the fatal flaw I was 
expecting, and it just worked. In all this I started to care less and less 
about what was happening on the wire between the library and the 
service, and more about what features of the service I could access 
through the API. 
… Most importantly, the best one for you is flexible enough to meet your 
security, architecture, and functional requirements (no matter what 
protocol it uses). 
webrtcH4cKS: What’s in a WebRTC JavaScript Library, 
Reid Stidolph 
10/3/2014 Title Version No: 0.1/ Status: DRAFT 11
Thank you 
Email: peter.dunkley@acision.com 
Twitter: @pdunkley 
10/3/2014 Title Version No: 0.1/ Status: DRAFT 12

More Related Content

What's hot (20)

PDF
A jQuery for WebRTC
Thomas Gorissen
 
PPTX
WebRTC presentation
Veselin Pizurica
 
PDF
WebRTC for Telco: Informa's WebRTC Global Summit Preconference
Tsahi Levent-levi
 
PDF
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
Dean Bubley
 
PDF
WebRTC: A front-end perspective
shwetank
 
PDF
WebRTC Business Use Cases | WebRTC Conference & Expo III
Lawrence Byrd
 
PDF
Baby Steps: A WebRTC Tutorial
Tsahi Levent-levi
 
PPTX
WebRTC overview
Rouyun Pan
 
PDF
WebRTC in the Real World
Tsahi Levent-levi
 
PDF
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
Victor Pascual Ávila
 
PDF
WebRTC on Mobile
Buşra Deniz, CSM
 
PPTX
WebRTC: Business models and implications for mobile
Harry Behrens, PhD
 
PDF
8 pre launch steps to go with the web rtc based application development
MoonTechnolabsPvtLtd
 
PPTX
WebRTC: players, business models and implications for telecommunication carriers
Harry Behrens, PhD
 
PPTX
WebRTC for Mobile
Shubh Agarwal
 
PDF
WebRTC - a quick introduction
Olle E Johansson
 
PDF
WebRTC - a History Lesson
Tsahi Levent-levi
 
PDF
WebRTC Check-in (from WebRTC Boston 6)
Chad Hart
 
PDF
WebRTC. Yet Another Overview, for IT Technicians.
Vladimir Beloborodov
 
A jQuery for WebRTC
Thomas Gorissen
 
WebRTC presentation
Veselin Pizurica
 
WebRTC for Telco: Informa's WebRTC Global Summit Preconference
Tsahi Levent-levi
 
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
Dean Bubley
 
WebRTC: A front-end perspective
shwetank
 
WebRTC Business Use Cases | WebRTC Conference & Expo III
Lawrence Byrd
 
Baby Steps: A WebRTC Tutorial
Tsahi Levent-levi
 
WebRTC overview
Rouyun Pan
 
WebRTC in the Real World
Tsahi Levent-levi
 
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
Victor Pascual Ávila
 
WebRTC on Mobile
Buşra Deniz, CSM
 
WebRTC: Business models and implications for mobile
Harry Behrens, PhD
 
8 pre launch steps to go with the web rtc based application development
MoonTechnolabsPvtLtd
 
WebRTC: players, business models and implications for telecommunication carriers
Harry Behrens, PhD
 
WebRTC for Mobile
Shubh Agarwal
 
WebRTC - a quick introduction
Olle E Johansson
 
WebRTC - a History Lesson
Tsahi Levent-levi
 
WebRTC Check-in (from WebRTC Boston 6)
Chad Hart
 
WebRTC. Yet Another Overview, for IT Technicians.
Vladimir Beloborodov
 

Similar to DevCon5 (July 2014) - Intro to WebRTC (20)

PDF
DevCon 5 (December 2013) - WebRTC & WebSockets
Crocodile WebRTC SDK and Cloud Signalling Network
 
PDF
WebRTC standards update - November 2014
Victor Pascual Ávila
 
PDF
WebRTC standards update (13 Nov 2013)
Victor Pascual Ávila
 
PDF
WebRTC standards update (Jul 2014)
Victor Pascual Ávila
 
PDF
Status of WebRTC across Asia by Alan Quayle +++
Alan Quayle
 
PDF
WebRTC Standards Update (October 2014)
Victor Pascual Ávila
 
PDF
WebRTC standards update (April 2014)
Victor Pascual Ávila
 
PDF
WebRTC - Is it ready? 2013
Hank Huang
 
PDF
Workshop oracle
Douglas Tait
 
PDF
Pkewebrtc
Sandra Kuzkhan
 
PDF
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...
Amir Zmora
 
PPTX
Upperside Webinar - WebRTC Standards Update
UppersideConferences
 
PDF
WebRTC Overview by Dan Burnett
Mojo Lingo
 
PDF
Webinar WebRTC HTML5 (english)
Quobis
 
PDF
Getting started with WebRTC
Dan Jenkins
 
PPTX
WebRTC and Web Design
Christina Inge
 
PDF
[workshop] The Revolutionary WebRTC
Giacomo Vacca
 
PPTX
WebRTC Seminar Report
srinivasa teja
 
PDF
Webrtc - rich communication - quobis - victor pascual
Alan Quayle
 
PPTX
WebRCT
Mark Daniel Galvez
 
DevCon 5 (December 2013) - WebRTC & WebSockets
Crocodile WebRTC SDK and Cloud Signalling Network
 
WebRTC standards update - November 2014
Victor Pascual Ávila
 
WebRTC standards update (13 Nov 2013)
Victor Pascual Ávila
 
WebRTC standards update (Jul 2014)
Victor Pascual Ávila
 
Status of WebRTC across Asia by Alan Quayle +++
Alan Quayle
 
WebRTC Standards Update (October 2014)
Victor Pascual Ávila
 
WebRTC standards update (April 2014)
Victor Pascual Ávila
 
WebRTC - Is it ready? 2013
Hank Huang
 
Workshop oracle
Douglas Tait
 
Pkewebrtc
Sandra Kuzkhan
 
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...
Amir Zmora
 
Upperside Webinar - WebRTC Standards Update
UppersideConferences
 
WebRTC Overview by Dan Burnett
Mojo Lingo
 
Webinar WebRTC HTML5 (english)
Quobis
 
Getting started with WebRTC
Dan Jenkins
 
WebRTC and Web Design
Christina Inge
 
[workshop] The Revolutionary WebRTC
Giacomo Vacca
 
WebRTC Seminar Report
srinivasa teja
 
Webrtc - rich communication - quobis - victor pascual
Alan Quayle
 
Ad

More from Crocodile WebRTC SDK and Cloud Signalling Network (9)

PPTX
WebRTC Conference and Expo (November 2013) - Signalling Workshop
Crocodile WebRTC SDK and Cloud Signalling Network
 
PDF
WebRTC Summit November 2013 - WebRTC Interoperability (and why it is important)
Crocodile WebRTC SDK and Cloud Signalling Network
 
PDF
Astricon 10 (October 2013) - SIP over WebSocket on Kamailio
Crocodile WebRTC SDK and Cloud Signalling Network
 
PDF
DevCon 5 (July 2013) - WebSockets
Crocodile WebRTC SDK and Cloud Signalling Network
 
PDF
ITSPA May 2013 - WebRTC, TURN, and WebSocket
Crocodile WebRTC SDK and Cloud Signalling Network
 
PDF
Kamailio World 2013 - SIP and MSRP over WebSocket
Crocodile WebRTC SDK and Cloud Signalling Network
 
ODP
FOSDEM 2013 - SIP and MSRP over WebSocket in Kamailio
Crocodile WebRTC SDK and Cloud Signalling Network
 
PDF
Crocodile RTC Launch (Google Campus) - 1: Introduction
Crocodile WebRTC SDK and Cloud Signalling Network
 
WebRTC Conference and Expo (November 2013) - Signalling Workshop
Crocodile WebRTC SDK and Cloud Signalling Network
 
WebRTC Summit November 2013 - WebRTC Interoperability (and why it is important)
Crocodile WebRTC SDK and Cloud Signalling Network
 
Astricon 10 (October 2013) - SIP over WebSocket on Kamailio
Crocodile WebRTC SDK and Cloud Signalling Network
 
DevCon 5 (July 2013) - WebSockets
Crocodile WebRTC SDK and Cloud Signalling Network
 
ITSPA May 2013 - WebRTC, TURN, and WebSocket
Crocodile WebRTC SDK and Cloud Signalling Network
 
Kamailio World 2013 - SIP and MSRP over WebSocket
Crocodile WebRTC SDK and Cloud Signalling Network
 
FOSDEM 2013 - SIP and MSRP over WebSocket in Kamailio
Crocodile WebRTC SDK and Cloud Signalling Network
 
Crocodile RTC Launch (Google Campus) - 1: Introduction
Crocodile WebRTC SDK and Cloud Signalling Network
 
Ad

Recently uploaded (20)

PDF
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
 
PDF
Plugging AI into everything: Model Context Protocol Simplified.pdf
Abati Adewale
 
PPTX
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
PDF
Open Source Milvus Vector Database v 2.6
Zilliz
 
PDF
Unlocking FME Flow’s Potential: Architecture Design for Modern Enterprises
Safe Software
 
PDF
My Journey from CAD to BIM: A True Underdog Story
Safe Software
 
PDF
Redefining Work in the Age of AI - What to expect? How to prepare? Why it mat...
Malinda Kapuruge
 
PPTX
Enabling the Digital Artisan – keynote at ICOCI 2025
Alan Dix
 
PPTX
01_Approach Cyber- DORA Incident Management.pptx
FinTech Belgium
 
PPTX
Simplifica la seguridad en la nube y la detección de amenazas con FortiCNAPP
Cristian Garcia G.
 
PDF
“Scaling i.MX Applications Processors’ Native Edge AI with Discrete AI Accele...
Edge AI and Vision Alliance
 
PPTX
𝙳𝚘𝚠𝚗𝚕𝚘𝚊𝚍—Wondershare Filmora Crack 14.0.7 + Key Download 2025
sebastian aliya
 
PDF
From Chatbot to Destroyer of Endpoints - Can ChatGPT Automate EDR Bypasses (1...
Priyanka Aash
 
PDF
The Growing Value and Application of FME & GenAI
Safe Software
 
PDF
Python Conference Singapore - 19 Jun 2025
ninefyi
 
PDF
Automating the Geo-Referencing of Historic Aerial Photography in Flanders
Safe Software
 
PDF
Optimizing the trajectory of a wheel loader working in short loading cycles
Reno Filla
 
PDF
UiPath Agentic AI ile Akıllı Otomasyonun Yeni Çağı
UiPathCommunity
 
PPTX
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Poster...
Michele Kryston
 
PPTX
Smarter Governance with AI: What Every Board Needs to Know
OnBoard
 
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
 
Plugging AI into everything: Model Context Protocol Simplified.pdf
Abati Adewale
 
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
Open Source Milvus Vector Database v 2.6
Zilliz
 
Unlocking FME Flow’s Potential: Architecture Design for Modern Enterprises
Safe Software
 
My Journey from CAD to BIM: A True Underdog Story
Safe Software
 
Redefining Work in the Age of AI - What to expect? How to prepare? Why it mat...
Malinda Kapuruge
 
Enabling the Digital Artisan – keynote at ICOCI 2025
Alan Dix
 
01_Approach Cyber- DORA Incident Management.pptx
FinTech Belgium
 
Simplifica la seguridad en la nube y la detección de amenazas con FortiCNAPP
Cristian Garcia G.
 
“Scaling i.MX Applications Processors’ Native Edge AI with Discrete AI Accele...
Edge AI and Vision Alliance
 
𝙳𝚘𝚠𝚗𝚕𝚘𝚊𝚍—Wondershare Filmora Crack 14.0.7 + Key Download 2025
sebastian aliya
 
From Chatbot to Destroyer of Endpoints - Can ChatGPT Automate EDR Bypasses (1...
Priyanka Aash
 
The Growing Value and Application of FME & GenAI
Safe Software
 
Python Conference Singapore - 19 Jun 2025
ninefyi
 
Automating the Geo-Referencing of Historic Aerial Photography in Flanders
Safe Software
 
Optimizing the trajectory of a wheel loader working in short loading cycles
Reno Filla
 
UiPath Agentic AI ile Akıllı Otomasyonun Yeni Çağı
UiPathCommunity
 
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Poster...
Michele Kryston
 
Smarter Governance with AI: What Every Board Needs to Know
OnBoard
 

DevCon5 (July 2014) - Intro to WebRTC

  • 1. DevCon5 (July 2014): Intro to WebRTC Peter Dunkley, Technical Director, Acision Email: [email protected] Twitter: @pdunkley 10/3/2014 Title Version No: 0.1/ Status: DRAFT 1
  • 2. Evolution on the Web Sir Tim Berners-Lee creates HTML. Web -pages are static W3C produces the DOM1 specification 1990 1996 1998 2004 2011 Microsoft and Netscape introduce different mechanisms for DHTML Google uses Ajax in Gmail (W3C releases 1st draft in 2006) – the dawn of web-apps WebSocket and WebRTC implementations become available 10/3/2014 Title Version No: 0.1/ Status: DRAFT 2
  • 3. Revolution in Telecoms The revolution Before today the operators (big and small) had full control over real-time communications because it was hard to do and substantial infrastructure investment Claude Chappe was required. invented the optical telegraph Alexander Graham Bell patents the telephone From the 1960s onwards digital exchanges start to appear From the 1990s onwards voice started to be carried on technologies developed for data networks such as ATM and IP 1792 1837 1876 1919 1960s > 1990s > 2011 WebSocket and WebRTC implementations become available Rotary dial enters service First commercial electrical telegraph created by Cooke and Wheatstone 1963: DTMF enters service 10/3/2014 Title Version No: 0.1/ Status: DRAFT 3
  • 4. RTCWeb There are a number of proprietary implementations that provide direct interactive rich communication using audio, video, collaboration, games, etc. between two peers' web-browsers. These are not interoperable, as they require non-standard extensions or plugins to work. There is a desire to standardize the basis for such communication so that interoperable communication can be established between any compatible browsers. Real-Time Communication in WEB-Browsers (rtcweb) 2013-03-13 charter 10/3/2014 Title Version No: 0.1/ Status: DRAFT 4
  • 5. Real-time communication is hard 10/3/2014 Title Version No: 0.1/ Status: DRAFT 5 • VoIP has always suffered from a lack of standard profile – What QoS/feedback mechanisms should be supported – What codecs should be supported – What security mechanisms should be supported • This means that VoIP end-point vendors can all follow the specifications to the letter and still produce devices that do not interoperate • This makes the job of developing a VoIP end-point far harder than it should be • This makes large scale consumer use of VoIP difficult – You can’t just add real-time communications to your service - you have to really, really, need it for it to be worth doing RTCWeb provides this standard profile
  • 6. WebRTC The mission of the Web Real-Time Communications Working Group, part of the Ubiquitous Web Applications Activity, is to define client-side APIs to enable Real-Time Communications in Web browsers. These APIs should enable building applications that can be run inside a browser, requiring no extra downloads or plugins, that allow communication between parties using audio, video and supplementary real-time communication, without having to use intervening servers (unless needed for firewall traversal, or for providing intermediary services). Web Real-Time Communications Working Group Charter 10/3/2014 Title Version No: 0.1/ Status: DRAFT 6
  • 7. RTCWeb/WebRTC Architecture Your web app #1 RTCWeb Voice Engine . . . WebRTC API Your web app #2 WebRTC C++ API (PeerConnection) Session management / Abstract signalling (Session) G.711/OPUS Codec NetEQ for Voice Echo Canceller / Noise Reduction Video Engine H.264/VP8 Codec Video Jitter Buffer Image enhancements Transport Your web app #3 SRTP Multiplexing P2P STUN + TURN + ICE Audio Capture/Render Video Capture Network I/O The web Your browser Based on the diagram from http://www.webrtc.org/reference/architecture 10/3/2014 Title Version No: 0.1/ Status: DRAFT 7
  • 8. The signalling triangle (non-interoperable) Server UA Media UA 10/3/2014 Title Version No: 0.1/ Status: DRAFT 8
  • 9. The signalling trapezoid (interoperable) Server Signalling Server UA Media UA The fact that something can interoperate does not mean it must, or will, interoperate 10/3/2014 Title Version No: 0.1/ Status: DRAFT 9
  • 10. Interoperability could be bad for business • Good for consumers doesn’t always mean good for business – Why would, for example, Microsoft want Office 365 users to easily collaborate with Google Docs users? • In other situations… It’s the API, stupid… 10/3/2014 Title Version No: 0.1/ Status: DRAFT 10
  • 11. Picking the right API is the most important thing Personally, I’ve come around (the hard way) to a fairly pragmatic stance on this point, and I hesitate from declaring “it has to be” one approach for signaling protocol, or another. Let me explain: Initially, I must admit I used to obsess about what protocol the library was doing under the hood. In fact, full disclosure: when I first started looking into JavaScript WebRTC signaling, I thought SIP over WebSockets was a bad idea… However, after I did a few projects… I started to have a change of heart. I found that in using the library, I was able to accomplish the goals of my projects, and the JavaScript interface to the library could be just as simple and powerful as all the others. I couldn’t find the fatal flaw I was expecting, and it just worked. In all this I started to care less and less about what was happening on the wire between the library and the service, and more about what features of the service I could access through the API. … Most importantly, the best one for you is flexible enough to meet your security, architecture, and functional requirements (no matter what protocol it uses). webrtcH4cKS: What’s in a WebRTC JavaScript Library, Reid Stidolph 10/3/2014 Title Version No: 0.1/ Status: DRAFT 11
  • 12. Thank you Email: [email protected] Twitter: @pdunkley 10/3/2014 Title Version No: 0.1/ Status: DRAFT 12