SlideShare a Scribd company logo
1 of 27
Download to read offline
WEBRTC STANDARDS AND
UNDERPINNINGS
Tim Panton, Westhawk Ltd - @steely_glint
What is webRTC?






Haven’t used webRTC
Your laptop is on wifi
Have Chrome/firefox
Browse to:
http://phono.com – click ‘call’
What did we just do?








Placed a video call with no plugins
zero config
just by browsing to a site
encrypted
free
over local wifi
WebRTC Definition








Realtime
voice / video /data
browser based
no plugins
secure
interoperable
Standards






IETF
W3C
Loosely based on pre-existing standards
$100s Millions of IPR - donated
Google, Cisco, Mozilla, Skype, Tropo, ATT, E///,
Lucent etc.
Big Picture
HTTP(s) signaling via webserver
Peer to Peer media between Browsers
Protocol standards (IETF)
The IETF has responsibility for the wire protocols
in RTCWeb
Signaling Standards
None!



It is up to the javascript in the browser
to do what ever is needed.
Media Standards (RIA 2.0)
Many!











STUN
ICE
TURN
DTLS
SRTP
RTCP
OPUS
ULAW
Why so many?
The network environment of a web browser is not the
same as a desk phone.




Security – hostile lans (coffee shops/hotels)
Variablity – home networks, wifi/3g
Programability – Javascript is dynamically
loadable

This stack of media standards addresses the
differences.
NAT

NAT

STUN and ICE address NAT
ICE sends multiple STUN packets down all possible interfaces to try and find a
path. First Bi-directional route found is used.
TURN
NAT

NAT

TURN is for when ICE fails to find a viable path
A TURN server in the cloud acts as a packet reflector
Many Telco 3g networks isolate users from each other.
MS
NAT

NAT

Bridging via a media server.
If additional services are required – recording, conferences, PSTN interop etc. then
bridging via a media server may be required.
DTLS
DTLS is the UDP version of TLS (as used in https etc)
It serves 2 purposes in the WebRTC




Exchange keys used by the SRTP media encryption
Carry the data channel streams
Demo – sharefest.me
Data channel provides Peer 2 Peer data between
browsers.
It can be used for file transfer, game moves etc.
It may also become important in M2M or IOT as a secure
NAT friendly P2P protocol.
Demo show file transfer between 2 browsers by sharing a
URL, but not through that server.
SRTP + RTCP
Encrypted version of the classic RTP protocol, with the
RTCP reporting mechanism.
Multiple media streams may be multiplexed over the
same pair of ports – still under discussion.
Standard Codecs
Audio





OPUS
Wideband
Flexible, efficient, loss correcting
Expensive to transcode
ULAW
Narrowband PSTN codec
High bandwidth
Poor in lossy/variable networks
Codecs - No video standard yet.
Video




VP8
H264

Differences are largely commercial and
legal rather than technical, either is plenty
good enough.
Standard APIs (W3c)
These are the API’s offered to the javascript
programmer – aka ‘JSEP’
Javascript : getUserMedia()
navigator.webkitGetUserMedia({
'audio':true,
'video':true
},
function(stream) {
var url =webkitURL.createObjectURL(stream);
createPeer(stream);

},
function(error) {
});
Javascript : RTCPeerConnection
pc = new RTCPeerConnection(configuration,constraints);
pc.onicecandidate = function(evt) {
sendCandyToAlice(evt.candidate);
};
pc.onaddstream = function (event) {
var remotePlay = document.getElementById(”videoTag");
remotePlay.src = webkitURL.createObjectURL(event.stream);
};
pc.addStream(localStream);
pc.createOffer(
function(offer) {
pc.setLocalDescription(offer);
sendOfferToAlice(pc.localDescription.sdp);
},
null, constraints);
HTML : <Video> tag





Extended to accept a webRTC stream as a source
Either a local or remote
See previous slides
Additional mute etc.
Javascript:RTCSessionDescription
function onMessageFromAlice(message){
var sd = new RTCSessionDescription(

{'sdp':message,'type':"answer”} );
pc.setRemoteDescription(sd,sessionOk,sessionFail);
}
Dissention with SDP as an API








SDP is emitted by pc.createOffer()
Complex SDP
May be manipulated to select codecs/candidates…
Source of much complaint
Currently ill defined
May be replaced in 2.0 std
Other co-operating W3C APIs




WebGL
Can be used to apply effects to video
WebAudio
Can be used to apply effects to audio

Both will be able to be applied to local or remote
streams
Javascript libraries






Most web coders will use a library
JS Sip
ATT.js
Phono
OpenRTC
Demo – WebGL effects
Demo of WebGL doing realtime effects on a webRTC
video stream

More Related Content

What's hot

NZNOG 2020 - The Trouble With NAT
NZNOG 2020 - The Trouble With NATNZNOG 2020 - The Trouble With NAT
NZNOG 2020 - The Trouble With NATMark Smith
 
Brief LoRaWAN Overview
Brief LoRaWAN OverviewBrief LoRaWAN Overview
Brief LoRaWAN OverviewAlper Yegin
 
DASH7 Alliance Protocol Technical Presentation
DASH7 Alliance Protocol Technical PresentationDASH7 Alliance Protocol Technical Presentation
DASH7 Alliance Protocol Technical PresentationMaarten Weyn
 
The Role of the Communication Protocols in the IoT: Pitfalls and Advantages
The Role of the Communication Protocols in the IoT: Pitfalls and AdvantagesThe Role of the Communication Protocols in the IoT: Pitfalls and Advantages
The Role of the Communication Protocols in the IoT: Pitfalls and AdvantagesFabio Gatti
 
Getting the Most Out of Bluetooth 5
Getting the Most Out of Bluetooth 5Getting the Most Out of Bluetooth 5
Getting the Most Out of Bluetooth 5Silicon Labs
 
How to Configure NetFlow v5 & v9 on Cisco Routers
How to Configure NetFlow v5 & v9 on Cisco RoutersHow to Configure NetFlow v5 & v9 on Cisco Routers
How to Configure NetFlow v5 & v9 on Cisco RoutersSolarWinds
 
Albert Chen Work experience20150722
Albert Chen Work experience20150722Albert Chen Work experience20150722
Albert Chen Work experience20150722Yu Yong Chen
 
Dash7 alliance protocol - where rfid meets wsn
Dash7 alliance protocol -  where rfid meets wsnDash7 alliance protocol -  where rfid meets wsn
Dash7 alliance protocol - where rfid meets wsnMaarten Weyn
 
LPWAN Cost Webinar
LPWAN Cost WebinarLPWAN Cost Webinar
LPWAN Cost WebinarBrian Ray
 
Sigfox Technology Overview (nov 2017)
Sigfox Technology Overview (nov 2017)Sigfox Technology Overview (nov 2017)
Sigfox Technology Overview (nov 2017)Nicolas Lesconnec
 
AntTail white paper: Technology scan IoT Datacommunications: LoRa, NB-IoT, GPRS
AntTail white paper: Technology scan IoT Datacommunications: LoRa, NB-IoT, GPRSAntTail white paper: Technology scan IoT Datacommunications: LoRa, NB-IoT, GPRS
AntTail white paper: Technology scan IoT Datacommunications: LoRa, NB-IoT, GPRSMark Roemers
 
Where is the 6 GHz beef?
Where is the 6 GHz beef?Where is the 6 GHz beef?
Where is the 6 GHz beef?Jeff Green
 
Zigbee intro v5
Zigbee intro v5Zigbee intro v5
Zigbee intro v5rajrayala
 
Internet and studio to transmitter link (STL)
Internet and studio to transmitter link (STL)Internet and studio to transmitter link (STL)
Internet and studio to transmitter link (STL)Manoj Kumar Rai
 

What's hot (20)

NZNOG 2020 - The Trouble With NAT
NZNOG 2020 - The Trouble With NATNZNOG 2020 - The Trouble With NAT
NZNOG 2020 - The Trouble With NAT
 
Brief LoRaWAN Overview
Brief LoRaWAN OverviewBrief LoRaWAN Overview
Brief LoRaWAN Overview
 
Netflow slides
Netflow slidesNetflow slides
Netflow slides
 
DASH7 Alliance Protocol Technical Presentation
DASH7 Alliance Protocol Technical PresentationDASH7 Alliance Protocol Technical Presentation
DASH7 Alliance Protocol Technical Presentation
 
The Role of the Communication Protocols in the IoT: Pitfalls and Advantages
The Role of the Communication Protocols in the IoT: Pitfalls and AdvantagesThe Role of the Communication Protocols in the IoT: Pitfalls and Advantages
The Role of the Communication Protocols in the IoT: Pitfalls and Advantages
 
Getting the Most Out of Bluetooth 5
Getting the Most Out of Bluetooth 5Getting the Most Out of Bluetooth 5
Getting the Most Out of Bluetooth 5
 
How to Configure NetFlow v5 & v9 on Cisco Routers
How to Configure NetFlow v5 & v9 on Cisco RoutersHow to Configure NetFlow v5 & v9 on Cisco Routers
How to Configure NetFlow v5 & v9 on Cisco Routers
 
Iot protocols seminar
Iot protocols seminarIot protocols seminar
Iot protocols seminar
 
Albert Chen Work experience20150722
Albert Chen Work experience20150722Albert Chen Work experience20150722
Albert Chen Work experience20150722
 
Dash7 alliance protocol - where rfid meets wsn
Dash7 alliance protocol -  where rfid meets wsnDash7 alliance protocol -  where rfid meets wsn
Dash7 alliance protocol - where rfid meets wsn
 
LPWAN Cost Webinar
LPWAN Cost WebinarLPWAN Cost Webinar
LPWAN Cost Webinar
 
Wifi- technology_moni
Wifi- technology_moniWifi- technology_moni
Wifi- technology_moni
 
Sigfox Technology Overview (nov 2017)
Sigfox Technology Overview (nov 2017)Sigfox Technology Overview (nov 2017)
Sigfox Technology Overview (nov 2017)
 
AntTail white paper: Technology scan IoT Datacommunications: LoRa, NB-IoT, GPRS
AntTail white paper: Technology scan IoT Datacommunications: LoRa, NB-IoT, GPRSAntTail white paper: Technology scan IoT Datacommunications: LoRa, NB-IoT, GPRS
AntTail white paper: Technology scan IoT Datacommunications: LoRa, NB-IoT, GPRS
 
Where is the 6 GHz beef?
Where is the 6 GHz beef?Where is the 6 GHz beef?
Where is the 6 GHz beef?
 
What is Wi-Fi 6? - C&T RF Antennas Inc
What is Wi-Fi 6? - C&T RF Antennas IncWhat is Wi-Fi 6? - C&T RF Antennas Inc
What is Wi-Fi 6? - C&T RF Antennas Inc
 
8051 zigbee interface
8051 zigbee interface8051 zigbee interface
8051 zigbee interface
 
Wi-Fi Module
Wi-Fi ModuleWi-Fi Module
Wi-Fi Module
 
Zigbee intro v5
Zigbee intro v5Zigbee intro v5
Zigbee intro v5
 
Internet and studio to transmitter link (STL)
Internet and studio to transmitter link (STL)Internet and studio to transmitter link (STL)
Internet and studio to transmitter link (STL)
 

Similar to WebRTC Standards from Tim Panton

Building a WebRTC Communication and collaboration platform - techleash barcamp
Building a WebRTC Communication and collaboration platform  -  techleash barcampBuilding a WebRTC Communication and collaboration platform  -  techleash barcamp
Building a WebRTC Communication and collaboration platform - techleash barcampALTANAI BISHT
 
WebRTC overview
WebRTC overviewWebRTC overview
WebRTC overviewRouyun Pan
 
WebRTC, Whats in it for me?
WebRTC, Whats in it for me?WebRTC, Whats in it for me?
WebRTC, Whats in it for me?SeanDuBois3
 
Effective and Secure Scheme for Video Multicasting using Real Time Transport ...
Effective and Secure Scheme for Video Multicasting using Real Time Transport ...Effective and Secure Scheme for Video Multicasting using Real Time Transport ...
Effective and Secure Scheme for Video Multicasting using Real Time Transport ...IRJET Journal
 
Webrt integration by altanai bisht
Webrt integration by altanai bishtWebrt integration by altanai bisht
Webrt integration by altanai bishtALTANAI BISHT
 
Voice Over IP (VoIP) and STREAMING
Voice Over IP (VoIP) and STREAMINGVoice Over IP (VoIP) and STREAMING
Voice Over IP (VoIP) and STREAMINGRagheb Gmira
 
WebRTC Videobroadcasting
WebRTC VideobroadcastingWebRTC Videobroadcasting
WebRTC VideobroadcastingRavi Kuril
 
What is WebRTC and How does it work?
What is WebRTC and How does it work?What is WebRTC and How does it work?
What is WebRTC and How does it work?SandipPatel533958
 
Videoconferencing Technology Workshop
Videoconferencing Technology WorkshopVideoconferencing Technology Workshop
Videoconferencing Technology WorkshopVideoguy
 
WbeRTC in IOT presented in KrankyGeek
WbeRTC in IOT presented in KrankyGeekWbeRTC in IOT presented in KrankyGeek
WbeRTC in IOT presented in KrankyGeekALTANAI BISHT
 
Getting the best out of WebRTC
Getting the best out of WebRTCGetting the best out of WebRTC
Getting the best out of WebRTCDigium
 
Getting the Best Out Of WebRTC - Astricon 2014
Getting the Best Out Of WebRTC - Astricon 2014Getting the Best Out Of WebRTC - Astricon 2014
Getting the Best Out Of WebRTC - Astricon 2014Dan Jenkins
 

Similar to WebRTC Standards from Tim Panton (20)

Building a WebRTC Communication and collaboration platform - techleash barcamp
Building a WebRTC Communication and collaboration platform  -  techleash barcampBuilding a WebRTC Communication and collaboration platform  -  techleash barcamp
Building a WebRTC Communication and collaboration platform - techleash barcamp
 
WebRTC overview
WebRTC overviewWebRTC overview
WebRTC overview
 
WebRTC, Whats in it for me?
WebRTC, Whats in it for me?WebRTC, Whats in it for me?
WebRTC, Whats in it for me?
 
Effective and Secure Scheme for Video Multicasting using Real Time Transport ...
Effective and Secure Scheme for Video Multicasting using Real Time Transport ...Effective and Secure Scheme for Video Multicasting using Real Time Transport ...
Effective and Secure Scheme for Video Multicasting using Real Time Transport ...
 
WebRCT
WebRCTWebRCT
WebRCT
 
WebRTC presentation
WebRTC presentationWebRTC presentation
WebRTC presentation
 
Webrt integration by altanai bisht
Webrt integration by altanai bishtWebrt integration by altanai bisht
Webrt integration by altanai bisht
 
DevCon 5 (December 2013) - WebRTC & WebSockets
DevCon 5 (December 2013) - WebRTC & WebSocketsDevCon 5 (December 2013) - WebRTC & WebSockets
DevCon 5 (December 2013) - WebRTC & WebSockets
 
Voice Over IP (VoIP) and STREAMING
Voice Over IP (VoIP) and STREAMINGVoice Over IP (VoIP) and STREAMING
Voice Over IP (VoIP) and STREAMING
 
WebRTC Videobroadcasting
WebRTC VideobroadcastingWebRTC Videobroadcasting
WebRTC Videobroadcasting
 
Internet Video
Internet VideoInternet Video
Internet Video
 
What is WebRTC and How does it work?
What is WebRTC and How does it work?What is WebRTC and How does it work?
What is WebRTC and How does it work?
 
Html5 RTC - 1
Html5 RTC  - 1Html5 RTC  - 1
Html5 RTC - 1
 
Workshop oracle
Workshop oracleWorkshop oracle
Workshop oracle
 
Videoconferencing Technology Workshop
Videoconferencing Technology WorkshopVideoconferencing Technology Workshop
Videoconferencing Technology Workshop
 
WbeRTC in IOT presented in KrankyGeek
WbeRTC in IOT presented in KrankyGeekWbeRTC in IOT presented in KrankyGeek
WbeRTC in IOT presented in KrankyGeek
 
Webrtc and tokbox
Webrtc and tokboxWebrtc and tokbox
Webrtc and tokbox
 
Webrtc in Real world
Webrtc in Real world Webrtc in Real world
Webrtc in Real world
 
Getting the best out of WebRTC
Getting the best out of WebRTCGetting the best out of WebRTC
Getting the best out of WebRTC
 
Getting the Best Out Of WebRTC - Astricon 2014
Getting the Best Out Of WebRTC - Astricon 2014Getting the Best Out Of WebRTC - Astricon 2014
Getting the Best Out Of WebRTC - Astricon 2014
 

More from Alan Quayle

Supercharging CPaaS Growth & Margins with Identity and Authentication, Aditya...
Supercharging CPaaS Growth & Margins with Identity and Authentication, Aditya...Supercharging CPaaS Growth & Margins with Identity and Authentication, Aditya...
Supercharging CPaaS Growth & Margins with Identity and Authentication, Aditya...Alan Quayle
 
Building a sub-second virtual ThunderDome: Considerations for mass scale sub-...
Building a sub-second virtual ThunderDome: Considerations for mass scale sub-...Building a sub-second virtual ThunderDome: Considerations for mass scale sub-...
Building a sub-second virtual ThunderDome: Considerations for mass scale sub-...Alan Quayle
 
What makes a cellular IoT API great? Tobias Goebel
What makes a cellular IoT API great? Tobias GoebelWhat makes a cellular IoT API great? Tobias Goebel
What makes a cellular IoT API great? Tobias GoebelAlan Quayle
 
eSIM as Root of Trust for IoT security, João Casal
eSIM as Root of Trust for IoT security, João CasaleSIM as Root of Trust for IoT security, João Casal
eSIM as Root of Trust for IoT security, João CasalAlan Quayle
 
Architecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin SimeArchitecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin SimeAlan Quayle
 
CPaaS Conversational Platforms and Conversational Customer Service – The Expe...
CPaaS Conversational Platforms and Conversational Customer Service – The Expe...CPaaS Conversational Platforms and Conversational Customer Service – The Expe...
CPaaS Conversational Platforms and Conversational Customer Service – The Expe...Alan Quayle
 
Programmable Testing for Programmable Telcos, Andreas Granig
Programmable Testing for Programmable Telcos, Andreas GranigProgrammable Testing for Programmable Telcos, Andreas Granig
Programmable Testing for Programmable Telcos, Andreas GranigAlan Quayle
 
How to best maximize the conversation data stream for your business? Surbhi R...
How to best maximize the conversation data stream for your business? Surbhi R...How to best maximize the conversation data stream for your business? Surbhi R...
How to best maximize the conversation data stream for your business? Surbhi R...Alan Quayle
 
Latest Updates and Experiences in Launching Local Language Tools, Karel Bourgois
Latest Updates and Experiences in Launching Local Language Tools, Karel BourgoisLatest Updates and Experiences in Launching Local Language Tools, Karel Bourgois
Latest Updates and Experiences in Launching Local Language Tools, Karel BourgoisAlan Quayle
 
What Everyone Needs to Know about Protecting the CPaaS Ecosystem from Unlawfu...
What Everyone Needs to Know about Protecting the CPaaS Ecosystem from Unlawfu...What Everyone Needs to Know about Protecting the CPaaS Ecosystem from Unlawfu...
What Everyone Needs to Know about Protecting the CPaaS Ecosystem from Unlawfu...Alan Quayle
 
Master the Audience Experience Multiverse: AX Best Practices and Success Stor...
Master the Audience Experience Multiverse: AX Best Practices and Success Stor...Master the Audience Experience Multiverse: AX Best Practices and Success Stor...
Master the Audience Experience Multiverse: AX Best Practices and Success Stor...Alan Quayle
 
Open Source Telecom Software Survey 2022, Alan Quayle
Open Source Telecom Software Survey 2022, Alan QuayleOpen Source Telecom Software Survey 2022, Alan Quayle
Open Source Telecom Software Survey 2022, Alan QuayleAlan Quayle
 
OpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei Iancu
OpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei IancuOpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei Iancu
OpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei IancuAlan Quayle
 
TADS 2022 - Shifting from Voice to Workflow Management, Filipe Leitao
TADS 2022 - Shifting from Voice to Workflow Management, Filipe LeitaoTADS 2022 - Shifting from Voice to Workflow Management, Filipe Leitao
TADS 2022 - Shifting from Voice to Workflow Management, Filipe LeitaoAlan Quayle
 
What happened since we last met TADSummit 2022, Alan Quayle
What happened since we last met TADSummit 2022, Alan QuayleWhat happened since we last met TADSummit 2022, Alan Quayle
What happened since we last met TADSummit 2022, Alan QuayleAlan Quayle
 
Stacuity - TAD Summit 2022 - Time to ditch the dumb-pipe, Mike Bromwich
Stacuity - TAD Summit 2022 - Time to ditch the dumb-pipe, Mike BromwichStacuity - TAD Summit 2022 - Time to ditch the dumb-pipe, Mike Bromwich
Stacuity - TAD Summit 2022 - Time to ditch the dumb-pipe, Mike BromwichAlan Quayle
 
AWA – a Telco bootstrapping product development: Challenges with dynamic mark...
AWA – a Telco bootstrapping product development: Challenges with dynamic mark...AWA – a Telco bootstrapping product development: Challenges with dynamic mark...
AWA – a Telco bootstrapping product development: Challenges with dynamic mark...Alan Quayle
 
Founding a Startup in Telecoms. The good, the bad and the ugly. João Camarate
Founding a Startup in Telecoms. The good, the bad and the ugly. João CamarateFounding a Startup in Telecoms. The good, the bad and the ugly. João Camarate
Founding a Startup in Telecoms. The good, the bad and the ugly. João CamarateAlan Quayle
 
How to bring down your own RTC platform. Sandro Gauci
How to bring down your own RTC platform. Sandro GauciHow to bring down your own RTC platform. Sandro Gauci
How to bring down your own RTC platform. Sandro GauciAlan Quayle
 

More from Alan Quayle (20)

What is a vCon?
What is a vCon?What is a vCon?
What is a vCon?
 
Supercharging CPaaS Growth & Margins with Identity and Authentication, Aditya...
Supercharging CPaaS Growth & Margins with Identity and Authentication, Aditya...Supercharging CPaaS Growth & Margins with Identity and Authentication, Aditya...
Supercharging CPaaS Growth & Margins with Identity and Authentication, Aditya...
 
Building a sub-second virtual ThunderDome: Considerations for mass scale sub-...
Building a sub-second virtual ThunderDome: Considerations for mass scale sub-...Building a sub-second virtual ThunderDome: Considerations for mass scale sub-...
Building a sub-second virtual ThunderDome: Considerations for mass scale sub-...
 
What makes a cellular IoT API great? Tobias Goebel
What makes a cellular IoT API great? Tobias GoebelWhat makes a cellular IoT API great? Tobias Goebel
What makes a cellular IoT API great? Tobias Goebel
 
eSIM as Root of Trust for IoT security, João Casal
eSIM as Root of Trust for IoT security, João CasaleSIM as Root of Trust for IoT security, João Casal
eSIM as Root of Trust for IoT security, João Casal
 
Architecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin SimeArchitecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin Sime
 
CPaaS Conversational Platforms and Conversational Customer Service – The Expe...
CPaaS Conversational Platforms and Conversational Customer Service – The Expe...CPaaS Conversational Platforms and Conversational Customer Service – The Expe...
CPaaS Conversational Platforms and Conversational Customer Service – The Expe...
 
Programmable Testing for Programmable Telcos, Andreas Granig
Programmable Testing for Programmable Telcos, Andreas GranigProgrammable Testing for Programmable Telcos, Andreas Granig
Programmable Testing for Programmable Telcos, Andreas Granig
 
How to best maximize the conversation data stream for your business? Surbhi R...
How to best maximize the conversation data stream for your business? Surbhi R...How to best maximize the conversation data stream for your business? Surbhi R...
How to best maximize the conversation data stream for your business? Surbhi R...
 
Latest Updates and Experiences in Launching Local Language Tools, Karel Bourgois
Latest Updates and Experiences in Launching Local Language Tools, Karel BourgoisLatest Updates and Experiences in Launching Local Language Tools, Karel Bourgois
Latest Updates and Experiences in Launching Local Language Tools, Karel Bourgois
 
What Everyone Needs to Know about Protecting the CPaaS Ecosystem from Unlawfu...
What Everyone Needs to Know about Protecting the CPaaS Ecosystem from Unlawfu...What Everyone Needs to Know about Protecting the CPaaS Ecosystem from Unlawfu...
What Everyone Needs to Know about Protecting the CPaaS Ecosystem from Unlawfu...
 
Master the Audience Experience Multiverse: AX Best Practices and Success Stor...
Master the Audience Experience Multiverse: AX Best Practices and Success Stor...Master the Audience Experience Multiverse: AX Best Practices and Success Stor...
Master the Audience Experience Multiverse: AX Best Practices and Success Stor...
 
Open Source Telecom Software Survey 2022, Alan Quayle
Open Source Telecom Software Survey 2022, Alan QuayleOpen Source Telecom Software Survey 2022, Alan Quayle
Open Source Telecom Software Survey 2022, Alan Quayle
 
OpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei Iancu
OpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei IancuOpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei Iancu
OpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei Iancu
 
TADS 2022 - Shifting from Voice to Workflow Management, Filipe Leitao
TADS 2022 - Shifting from Voice to Workflow Management, Filipe LeitaoTADS 2022 - Shifting from Voice to Workflow Management, Filipe Leitao
TADS 2022 - Shifting from Voice to Workflow Management, Filipe Leitao
 
What happened since we last met TADSummit 2022, Alan Quayle
What happened since we last met TADSummit 2022, Alan QuayleWhat happened since we last met TADSummit 2022, Alan Quayle
What happened since we last met TADSummit 2022, Alan Quayle
 
Stacuity - TAD Summit 2022 - Time to ditch the dumb-pipe, Mike Bromwich
Stacuity - TAD Summit 2022 - Time to ditch the dumb-pipe, Mike BromwichStacuity - TAD Summit 2022 - Time to ditch the dumb-pipe, Mike Bromwich
Stacuity - TAD Summit 2022 - Time to ditch the dumb-pipe, Mike Bromwich
 
AWA – a Telco bootstrapping product development: Challenges with dynamic mark...
AWA – a Telco bootstrapping product development: Challenges with dynamic mark...AWA – a Telco bootstrapping product development: Challenges with dynamic mark...
AWA – a Telco bootstrapping product development: Challenges with dynamic mark...
 
Founding a Startup in Telecoms. The good, the bad and the ugly. João Camarate
Founding a Startup in Telecoms. The good, the bad and the ugly. João CamarateFounding a Startup in Telecoms. The good, the bad and the ugly. João Camarate
Founding a Startup in Telecoms. The good, the bad and the ugly. João Camarate
 
How to bring down your own RTC platform. Sandro Gauci
How to bring down your own RTC platform. Sandro GauciHow to bring down your own RTC platform. Sandro Gauci
How to bring down your own RTC platform. Sandro Gauci
 

Recently uploaded

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

WebRTC Standards from Tim Panton

  • 1. WEBRTC STANDARDS AND UNDERPINNINGS Tim Panton, Westhawk Ltd - @steely_glint
  • 2. What is webRTC?      Haven’t used webRTC Your laptop is on wifi Have Chrome/firefox Browse to: http://phono.com – click ‘call’
  • 3. What did we just do?       Placed a video call with no plugins zero config just by browsing to a site encrypted free over local wifi
  • 4. WebRTC Definition       Realtime voice / video /data browser based no plugins secure interoperable
  • 5. Standards      IETF W3C Loosely based on pre-existing standards $100s Millions of IPR - donated Google, Cisco, Mozilla, Skype, Tropo, ATT, E///, Lucent etc.
  • 6. Big Picture HTTP(s) signaling via webserver Peer to Peer media between Browsers
  • 7. Protocol standards (IETF) The IETF has responsibility for the wire protocols in RTCWeb
  • 8. Signaling Standards None!  It is up to the javascript in the browser to do what ever is needed.
  • 9. Media Standards (RIA 2.0) Many!         STUN ICE TURN DTLS SRTP RTCP OPUS ULAW
  • 10. Why so many? The network environment of a web browser is not the same as a desk phone.    Security – hostile lans (coffee shops/hotels) Variablity – home networks, wifi/3g Programability – Javascript is dynamically loadable This stack of media standards addresses the differences.
  • 11. NAT NAT STUN and ICE address NAT ICE sends multiple STUN packets down all possible interfaces to try and find a path. First Bi-directional route found is used.
  • 12. TURN NAT NAT TURN is for when ICE fails to find a viable path A TURN server in the cloud acts as a packet reflector Many Telco 3g networks isolate users from each other.
  • 13. MS NAT NAT Bridging via a media server. If additional services are required – recording, conferences, PSTN interop etc. then bridging via a media server may be required.
  • 14. DTLS DTLS is the UDP version of TLS (as used in https etc) It serves 2 purposes in the WebRTC   Exchange keys used by the SRTP media encryption Carry the data channel streams
  • 15. Demo – sharefest.me Data channel provides Peer 2 Peer data between browsers. It can be used for file transfer, game moves etc. It may also become important in M2M or IOT as a secure NAT friendly P2P protocol. Demo show file transfer between 2 browsers by sharing a URL, but not through that server.
  • 16. SRTP + RTCP Encrypted version of the classic RTP protocol, with the RTCP reporting mechanism. Multiple media streams may be multiplexed over the same pair of ports – still under discussion.
  • 17. Standard Codecs Audio   OPUS Wideband Flexible, efficient, loss correcting Expensive to transcode ULAW Narrowband PSTN codec High bandwidth Poor in lossy/variable networks
  • 18. Codecs - No video standard yet. Video   VP8 H264 Differences are largely commercial and legal rather than technical, either is plenty good enough.
  • 19. Standard APIs (W3c) These are the API’s offered to the javascript programmer – aka ‘JSEP’
  • 20. Javascript : getUserMedia() navigator.webkitGetUserMedia({ 'audio':true, 'video':true }, function(stream) { var url =webkitURL.createObjectURL(stream); createPeer(stream); }, function(error) { });
  • 21. Javascript : RTCPeerConnection pc = new RTCPeerConnection(configuration,constraints); pc.onicecandidate = function(evt) { sendCandyToAlice(evt.candidate); }; pc.onaddstream = function (event) { var remotePlay = document.getElementById(”videoTag"); remotePlay.src = webkitURL.createObjectURL(event.stream); }; pc.addStream(localStream); pc.createOffer( function(offer) { pc.setLocalDescription(offer); sendOfferToAlice(pc.localDescription.sdp); }, null, constraints);
  • 22. HTML : <Video> tag     Extended to accept a webRTC stream as a source Either a local or remote See previous slides Additional mute etc.
  • 23. Javascript:RTCSessionDescription function onMessageFromAlice(message){ var sd = new RTCSessionDescription( {'sdp':message,'type':"answer”} ); pc.setRemoteDescription(sd,sessionOk,sessionFail); }
  • 24. Dissention with SDP as an API       SDP is emitted by pc.createOffer() Complex SDP May be manipulated to select codecs/candidates… Source of much complaint Currently ill defined May be replaced in 2.0 std
  • 25. Other co-operating W3C APIs   WebGL Can be used to apply effects to video WebAudio Can be used to apply effects to audio Both will be able to be applied to local or remote streams
  • 26. Javascript libraries      Most web coders will use a library JS Sip ATT.js Phono OpenRTC
  • 27. Demo – WebGL effects Demo of WebGL doing realtime effects on a webRTC video stream