SlideShare a Scribd company logo
1 of 38
Download to read offline
WebRTC
Is it ready?

Henry

2013
Web RTC is:
● A free, open project that enables web
browsers with Real-Time Communications
(RTC) capabilities via simple Javascript APIs
to conduct SECURE communications.
● Features:
○
○
○
○

Secure
Secure
Secure
Secure

Audio Channel (CD Quality)
Video (Full HD)
Screen Sharing
Data Channel
Web RTC Block Diagram
Very Active Community
Some Complexities
Designed for P2P communications so includes
intricate mechanisms to traverse NAT using
STUN, ICE and a TURN server which is a media
relay.
WebRTC JavaScript API
● MediaStream (getUserMedia)
○ Microphone (Audio)
○ Webcam (Video)
○ Desktop ???

● RTCPeerConnection
○ Media Multiplexing
○ Authenticate against identity providers

● RTCDataChannel
○ SCTP over UDP

https://www.simpl.info/index.html
Built-in Voice Engine Capabilities
●

NetEQ
○ Dynamic jitter buffer management
○ Packet Loss Concealment (PLC)

●

Acoustic Echo Canceler (AEC)
○ Removes, in real time, the acoustic echo resulting
from the voice being played out coming into the
active microphone.

●

Noise Reduction (NR)
○

Removes certain types of background noise usually
associated with VoIP. (Hiss, fan noise, etc...)
Supported Audio Codecs
● G.711
● Opus - Free CD Quality codec (Even Stereo)
○ 20ms frames
○ Variable Bit Rate 8K to 64K bps
Built-In Video Engine
Video Jitter Buffer
○ Dynamic Jitter Buffer

Image Enhancement
○ Remove video noise

VP8 Codec
○ Royalty free
○ Full HD 1080p encoding
WebRTC Connection Flow
1. Obtain Local Media (GetUserMedia)
2. Setup Peer Connection
(RTCPeerConnection)
3. Attach Media or Data
4. Exchange Offer/Answer
(RTCPeerConnection)
Supporting Protocols
● Application Layer:
○ HTTP, WebSocket, SRTP, SDP, ICE/STUN/TURN

● Transport Layer:
○ TLS (TCP), DTLS (UDP), SCTP (for data channel)

● Network Layer:
○ IPv4 & IPv6
Peer Connection Diagram
Pure Web
Peer Connection Diagram
Over Legacy Network
3rd Party Authentication
Signaling
Proprietary
○ RESTful
○ BOSH (long polling)
○ WebSockets

Open Standards
○ XMPP over BOSH/WebSockets (14 years)
○ SIP over WebSockets (17 years)
Standards
It's a joined effort
● IETF
○ Focus on protocol and interoperability

● W3C
○ Hight level APIs and device control (mic, camera,
network)
○ PeerConnection API proposal
Concerns
● Video Codec Patent:
○ Since March 2013 Nokia has asserted a patent claim
against HTC and Google for the use of VP8 in
Android in a German court

● Browser Support:
○ Chrome, Firefox, and Opera
○ Apple and Microsoft have not publicly shown
interest in the support of WebRTC in IE and Safari
○ (Note: Temporary IE supported via Chrome Frame)
Demos
Canvas Integration:
● Webcam Toy (GetUserMedia + Canvas)
● Audio Recorder (GetUserMedia + Canvas)
Video Chat:
● talky (GetUserMedia + RTCPeerConnection)
File Sharing
● Sharefest (GetUserMedia +
RTCDataChannel)
More Demos
Games:
● Facekat (GetUserMedia + JS head tracking)
● Cube Slam (???)
Tools
Browser Tool
● chrome://webrtc-internals/
● adapter.js (http://www.webrtc.
org/interop)
Mobile App
Vonage iPhone - https://itunes.apple.
com/app/id491391564?mt=8

Vonage Android - https://play.google.
com/store/apps/details?id=com.vonage.
TimeToCall
FreeSWITCH and WebRTC
● SIP Over WebSockets
● Media over SRTP
● Opus supported
Issues:
○ Inconsistent client support
○ DTMF issues (INFO)
○ No video transcoding is supported

Note: Asterisks Already supported WebRTC
(but only with G.711 codec)
Business Applications
●
●
●
●
●

Call Center
PAAS (Open Source API)
WebRTC enabled SBC
Video Conference
Outsourcing Development Vendor
Call Center Applications
Teledini - Display web visitor key information
when call arrives. Receive call from browser.
Talkdesk
Platform as a Service
Apidaze - API service for Voice, SMS, WebRTC
and worldwide DID numbers. XML style
structure.
Crocodile RTC - Javascript SDK for Call, Video,
IM, File Sharing, and Payment system over
their platform.
Requestec - Mobile SDK, virtual meeting with
billing, recording, appointments, and
collaboration.
Requestec
Hardware Solution
Genband - WebRTC to VoIP gateway with
RESTful API
Ingate - VoIP enabled smart enterprise firewall
now optimized also for WebRTC. Realtime
traffic shaping
Sansay - WebSBC, REST API, Proprietary
signaling (not SIP)
Video Conference (PAAS)
Bistri - Free video chat service that binds all
your social network contacts.
UberConference
Opentok
Other
PubNub - High performance and low latency
communication of arbitrary data
Using WebRTC on Mobile Device
● Open Source VoIP engine (and Video)
○
○
○
○
○
○
○
○
○
○

Active community support
PLC - Packet Loss Concealment
Jitter Buffer handling
CD Quality Codec
RTP at the core
RTCP implemented for QoS monitoring
SRTP for secure media transport
NAT traversal by ICE
ECHO Cancellation & Noise Reduction
Mobile Integration contributed by Vonage

Everything one might need to build their
own Mobile Native Client
Presentations from WebRTC conf
● http://www.webrtcworld.
com/conference/west/presentations.aspx
What's Cookin Doc?
Thanks

More Related Content

What's hot

#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...Paris Open Source Summit
 
A Moribund Smalltalk Still Alive and Kicking
A Moribund Smalltalk Still Alive and KickingA Moribund Smalltalk Still Alive and Kicking
A Moribund Smalltalk Still Alive and KickingESUG
 
ORTC Library - Introduction
ORTC Library - IntroductionORTC Library - Introduction
ORTC Library - IntroductionErik Lagerway
 
SIPPO Datasheet from Quobis
SIPPO Datasheet from QuobisSIPPO Datasheet from Quobis
SIPPO Datasheet from QuobisAlan Quayle
 
Upperside WebRTC conference - WebRTC intro
Upperside WebRTC conference - WebRTC introUpperside WebRTC conference - WebRTC intro
Upperside WebRTC conference - WebRTC introVictor Pascual Ávila
 
Is Webrtc Transforming Collaboration
Is Webrtc Transforming CollaborationIs Webrtc Transforming Collaboration
Is Webrtc Transforming CollaborationErik Lagerway
 
CDRTool: CDR mediation and rating engine for OpenSIPS
CDRTool: CDR mediation and rating engine for OpenSIPSCDRTool: CDR mediation and rating engine for OpenSIPS
CDRTool: CDR mediation and rating engine for OpenSIPSSaúl Ibarra Corretgé
 
LAS16-100K1: Welcome Keynote
LAS16-100K1: Welcome KeynoteLAS16-100K1: Welcome Keynote
LAS16-100K1: Welcome KeynoteLinaro
 
WebRTC Webinar & Q&A - Sending DTMF in WebRTC the standard way
WebRTC Webinar & Q&A -  Sending DTMF in WebRTC the standard wayWebRTC Webinar & Q&A -  Sending DTMF in WebRTC the standard way
WebRTC Webinar & Q&A - Sending DTMF in WebRTC the standard wayAmir Zmora
 
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxPractical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxSamsung Open Source Group
 
MediaTek Linkit Smart 7688 Webinar
MediaTek Linkit Smart 7688 WebinarMediaTek Linkit Smart 7688 Webinar
MediaTek Linkit Smart 7688 WebinarMediaTek Labs
 
Full Service Residential Gateway for Connected Home - D Zhang
Full Service Residential Gateway for Connected Home - D ZhangFull Service Residential Gateway for Connected Home - D Zhang
Full Service Residential Gateway for Connected Home - D Zhangmfrancis
 
4000 sdi a-specification- www.ttbvs.com
4000 sdi a-specification- www.ttbvs.com4000 sdi a-specification- www.ttbvs.com
4000 sdi a-specification- www.ttbvs.comTTBVS
 

What's hot (14)

#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
 
A Moribund Smalltalk Still Alive and Kicking
A Moribund Smalltalk Still Alive and KickingA Moribund Smalltalk Still Alive and Kicking
A Moribund Smalltalk Still Alive and Kicking
 
ORTC Library - Introduction
ORTC Library - IntroductionORTC Library - Introduction
ORTC Library - Introduction
 
SIPPO Datasheet from Quobis
SIPPO Datasheet from QuobisSIPPO Datasheet from Quobis
SIPPO Datasheet from Quobis
 
Upperside WebRTC conference - WebRTC intro
Upperside WebRTC conference - WebRTC introUpperside WebRTC conference - WebRTC intro
Upperside WebRTC conference - WebRTC intro
 
Is Webrtc Transforming Collaboration
Is Webrtc Transforming CollaborationIs Webrtc Transforming Collaboration
Is Webrtc Transforming Collaboration
 
CDRTool: CDR mediation and rating engine for OpenSIPS
CDRTool: CDR mediation and rating engine for OpenSIPSCDRTool: CDR mediation and rating engine for OpenSIPS
CDRTool: CDR mediation and rating engine for OpenSIPS
 
LAS16-100K1: Welcome Keynote
LAS16-100K1: Welcome KeynoteLAS16-100K1: Welcome Keynote
LAS16-100K1: Welcome Keynote
 
WebRTC Webinar & Q&A - Sending DTMF in WebRTC the standard way
WebRTC Webinar & Q&A -  Sending DTMF in WebRTC the standard wayWebRTC Webinar & Q&A -  Sending DTMF in WebRTC the standard way
WebRTC Webinar & Q&A - Sending DTMF in WebRTC the standard way
 
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxPractical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
 
MediaTek Linkit Smart 7688 Webinar
MediaTek Linkit Smart 7688 WebinarMediaTek Linkit Smart 7688 Webinar
MediaTek Linkit Smart 7688 Webinar
 
Full Service Residential Gateway for Connected Home - D Zhang
Full Service Residential Gateway for Connected Home - D ZhangFull Service Residential Gateway for Connected Home - D Zhang
Full Service Residential Gateway for Connected Home - D Zhang
 
FastCLOUD ovirt meetup
FastCLOUD ovirt meetupFastCLOUD ovirt meetup
FastCLOUD ovirt meetup
 
4000 sdi a-specification- www.ttbvs.com
4000 sdi a-specification- www.ttbvs.com4000 sdi a-specification- www.ttbvs.com
4000 sdi a-specification- www.ttbvs.com
 

Similar to WebRTC - Is it ready? 2013

WebRTC overview
WebRTC overviewWebRTC overview
WebRTC overviewRouyun Pan
 
Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Quobis
 
WbeRTC in IOT presented in KrankyGeek
WbeRTC in IOT presented in KrankyGeekWbeRTC in IOT presented in KrankyGeek
WbeRTC in IOT presented in KrankyGeekALTANAI BISHT
 
An hour with WebRTC FIC UDC
An hour with WebRTC FIC UDCAn hour with WebRTC FIC UDC
An hour with WebRTC FIC UDCQuobis
 
WebRTC and Mobile Integration
WebRTC and Mobile IntegrationWebRTC and Mobile Integration
WebRTC and Mobile IntegrationGiorgio Natili
 
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
 
Introduction to WebRTC
Introduction to WebRTCIntroduction to WebRTC
Introduction to WebRTCArt Matsak
 
WebRTC Standards Update (October 2014)
WebRTC Standards Update (October 2014)WebRTC Standards Update (October 2014)
WebRTC Standards Update (October 2014)Victor Pascual Ávila
 
WebRTC Workshop 2013 given at the IMS World Forum
WebRTC Workshop 2013 given at the IMS World ForumWebRTC Workshop 2013 given at the IMS World Forum
WebRTC Workshop 2013 given at the IMS World ForumAlan Quayle
 
WebRTC Webinar & Q&A - All About Microsoft & WebRTC Hosting Guest Speaker Ja...
WebRTC Webinar & Q&A -  All About Microsoft & WebRTC Hosting Guest Speaker Ja...WebRTC Webinar & Q&A -  All About Microsoft & WebRTC Hosting Guest Speaker Ja...
WebRTC Webinar & Q&A - All About Microsoft & WebRTC Hosting Guest Speaker Ja...Amir Zmora
 
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...Amir Zmora
 
TADS Developer Summit WebRTC Dan Burnett
TADS Developer Summit WebRTC Dan BurnettTADS Developer Summit WebRTC Dan Burnett
TADS Developer Summit WebRTC Dan BurnettAlan Quayle
 

Similar to WebRTC - Is it ready? 2013 (20)

WebRTC overview
WebRTC overviewWebRTC overview
WebRTC overview
 
DevCon 5 (December 2013) - WebRTC & WebSockets
DevCon 5 (December 2013) - WebRTC & WebSocketsDevCon 5 (December 2013) - WebRTC & WebSockets
DevCon 5 (December 2013) - WebRTC & WebSockets
 
Webrtc and tokbox
Webrtc and tokboxWebrtc and tokbox
Webrtc and tokbox
 
Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World
Asterisk World (January 2014) - Taking Enterprise Telephony into the Web WorldAsterisk World (January 2014) - Taking Enterprise Telephony into the Web World
Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World
 
Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)
 
WbeRTC in IOT presented in KrankyGeek
WbeRTC in IOT presented in KrankyGeekWbeRTC in IOT presented in KrankyGeek
WbeRTC in IOT presented in KrankyGeek
 
Html5 RTC - 1
Html5 RTC  - 1Html5 RTC  - 1
Html5 RTC - 1
 
An hour with WebRTC FIC UDC
An hour with WebRTC FIC UDCAn hour with WebRTC FIC UDC
An hour with WebRTC FIC UDC
 
WebRTC and Mobile Integration
WebRTC and Mobile IntegrationWebRTC and Mobile Integration
WebRTC and Mobile Integration
 
WebRTC eduCONF
WebRTC eduCONFWebRTC eduCONF
WebRTC eduCONF
 
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
 
Teksun Corporate Overview 2014
Teksun Corporate Overview 2014Teksun Corporate Overview 2014
Teksun Corporate Overview 2014
 
Introduction to WebRTC
Introduction to WebRTCIntroduction to WebRTC
Introduction to WebRTC
 
WebRTC in action
WebRTC in actionWebRTC in action
WebRTC in action
 
WebRTC Standards Update (October 2014)
WebRTC Standards Update (October 2014)WebRTC Standards Update (October 2014)
WebRTC Standards Update (October 2014)
 
WebRTC Workshop 2013 given at the IMS World Forum
WebRTC Workshop 2013 given at the IMS World ForumWebRTC Workshop 2013 given at the IMS World Forum
WebRTC Workshop 2013 given at the IMS World Forum
 
WebRTC Webinar & Q&A - All About Microsoft & WebRTC Hosting Guest Speaker Ja...
WebRTC Webinar & Q&A -  All About Microsoft & WebRTC Hosting Guest Speaker Ja...WebRTC Webinar & Q&A -  All About Microsoft & WebRTC Hosting Guest Speaker Ja...
WebRTC Webinar & Q&A - All About Microsoft & WebRTC Hosting Guest Speaker Ja...
 
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
 
TADS Developer Summit WebRTC Dan Burnett
TADS Developer Summit WebRTC Dan BurnettTADS Developer Summit WebRTC Dan Burnett
TADS Developer Summit WebRTC Dan Burnett
 
WebRTC
WebRTCWebRTC
WebRTC
 

Recently uploaded

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
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
 
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
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
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
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
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
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
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
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 

Recently uploaded (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
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!
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
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
 
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
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
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
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
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
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
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
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 

WebRTC - Is it ready? 2013

  • 2. Web RTC is: ● A free, open project that enables web browsers with Real-Time Communications (RTC) capabilities via simple Javascript APIs to conduct SECURE communications. ● Features: ○ ○ ○ ○ Secure Secure Secure Secure Audio Channel (CD Quality) Video (Full HD) Screen Sharing Data Channel
  • 3. Web RTC Block Diagram
  • 5. Some Complexities Designed for P2P communications so includes intricate mechanisms to traverse NAT using STUN, ICE and a TURN server which is a media relay.
  • 6. WebRTC JavaScript API ● MediaStream (getUserMedia) ○ Microphone (Audio) ○ Webcam (Video) ○ Desktop ??? ● RTCPeerConnection ○ Media Multiplexing ○ Authenticate against identity providers ● RTCDataChannel ○ SCTP over UDP https://www.simpl.info/index.html
  • 7. Built-in Voice Engine Capabilities ● NetEQ ○ Dynamic jitter buffer management ○ Packet Loss Concealment (PLC) ● Acoustic Echo Canceler (AEC) ○ Removes, in real time, the acoustic echo resulting from the voice being played out coming into the active microphone. ● Noise Reduction (NR) ○ Removes certain types of background noise usually associated with VoIP. (Hiss, fan noise, etc...)
  • 8. Supported Audio Codecs ● G.711 ● Opus - Free CD Quality codec (Even Stereo) ○ 20ms frames ○ Variable Bit Rate 8K to 64K bps
  • 9. Built-In Video Engine Video Jitter Buffer ○ Dynamic Jitter Buffer Image Enhancement ○ Remove video noise VP8 Codec ○ Royalty free ○ Full HD 1080p encoding
  • 10. WebRTC Connection Flow 1. Obtain Local Media (GetUserMedia) 2. Setup Peer Connection (RTCPeerConnection) 3. Attach Media or Data 4. Exchange Offer/Answer (RTCPeerConnection)
  • 11. Supporting Protocols ● Application Layer: ○ HTTP, WebSocket, SRTP, SDP, ICE/STUN/TURN ● Transport Layer: ○ TLS (TCP), DTLS (UDP), SCTP (for data channel) ● Network Layer: ○ IPv4 & IPv6
  • 15. Signaling Proprietary ○ RESTful ○ BOSH (long polling) ○ WebSockets Open Standards ○ XMPP over BOSH/WebSockets (14 years) ○ SIP over WebSockets (17 years)
  • 16. Standards It's a joined effort ● IETF ○ Focus on protocol and interoperability ● W3C ○ Hight level APIs and device control (mic, camera, network) ○ PeerConnection API proposal
  • 17. Concerns ● Video Codec Patent: ○ Since March 2013 Nokia has asserted a patent claim against HTC and Google for the use of VP8 in Android in a German court ● Browser Support: ○ Chrome, Firefox, and Opera ○ Apple and Microsoft have not publicly shown interest in the support of WebRTC in IE and Safari ○ (Note: Temporary IE supported via Chrome Frame)
  • 18. Demos Canvas Integration: ● Webcam Toy (GetUserMedia + Canvas) ● Audio Recorder (GetUserMedia + Canvas) Video Chat: ● talky (GetUserMedia + RTCPeerConnection) File Sharing ● Sharefest (GetUserMedia + RTCDataChannel)
  • 19. More Demos Games: ● Facekat (GetUserMedia + JS head tracking) ● Cube Slam (???)
  • 20. Tools Browser Tool ● chrome://webrtc-internals/ ● adapter.js (http://www.webrtc. org/interop)
  • 21. Mobile App Vonage iPhone - https://itunes.apple. com/app/id491391564?mt=8 Vonage Android - https://play.google. com/store/apps/details?id=com.vonage. TimeToCall
  • 22. FreeSWITCH and WebRTC ● SIP Over WebSockets ● Media over SRTP ● Opus supported Issues: ○ Inconsistent client support ○ DTMF issues (INFO) ○ No video transcoding is supported Note: Asterisks Already supported WebRTC (but only with G.711 codec)
  • 23. Business Applications ● ● ● ● ● Call Center PAAS (Open Source API) WebRTC enabled SBC Video Conference Outsourcing Development Vendor
  • 24. Call Center Applications Teledini - Display web visitor key information when call arrives. Receive call from browser.
  • 25.
  • 27. Platform as a Service Apidaze - API service for Voice, SMS, WebRTC and worldwide DID numbers. XML style structure. Crocodile RTC - Javascript SDK for Call, Video, IM, File Sharing, and Payment system over their platform. Requestec - Mobile SDK, virtual meeting with billing, recording, appointments, and collaboration.
  • 29. Hardware Solution Genband - WebRTC to VoIP gateway with RESTful API Ingate - VoIP enabled smart enterprise firewall now optimized also for WebRTC. Realtime traffic shaping Sansay - WebSBC, REST API, Proprietary signaling (not SIP)
  • 30. Video Conference (PAAS) Bistri - Free video chat service that binds all your social network contacts.
  • 31.
  • 34. Other PubNub - High performance and low latency communication of arbitrary data
  • 35. Using WebRTC on Mobile Device ● Open Source VoIP engine (and Video) ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ Active community support PLC - Packet Loss Concealment Jitter Buffer handling CD Quality Codec RTP at the core RTCP implemented for QoS monitoring SRTP for secure media transport NAT traversal by ICE ECHO Cancellation & Noise Reduction Mobile Integration contributed by Vonage Everything one might need to build their own Mobile Native Client
  • 36. Presentations from WebRTC conf ● http://www.webrtcworld. com/conference/west/presentations.aspx