WebRTC For Beginners
Andrew Prokop
Director of Vertical Industries
2
Agenda
> What is WebRTC
> Uses
> Under the Covers
> Tools
> Issues
> What’s Next
3
What is WebRTC
> Web Real-Time Communications
> Plug-In Free
> Application Free
> Browser to Browser Media
– Voice
– Video
– Data
> A standard from W3C and IETF
4
Markets
> Healthcare
> Higher Education
> Customer Service
> Conferencing
> Social Media
> Customer Portals
> Etc.
5
Give Me a Few Reasons
> Viruses / Malware / Industrial Spying
– Growing reluctance to run plugins or new software
> Need for Rapid Development
> Embedded Communications
– Add communications to the tools and systems that require it
> The Internet of Things
6
A Few Real World Examples
> Unify Circuit
> MindMe
> LiveNinja Katana
> Cisco Spark
> WhatsApp (somewhat)
> Facebook Messenger (mobile version)
> OnSIP (hosted VoIP)
> Vidyo VidyoWorks
> Interactive Intelligence PureCloud
7
MindMe
http://www.nojitter.com/post/240171546/mindme-webrtc-for-the-greater-good
8
Click to Call
Amir Zmora
VP Alliances & Partnerships
AudioCodes
Mobile: +972-54-7769603
Call my Lync extension using WebRTC
9
The WebRTC Stack
WebRTC API
Identity
SDP
ICE / STUN / TURN
Security
Codecs
10
The Big Picture
11
The WebRTC API
> An Extension to HTML-5
– RTCRtpSender, RTCRtpReceiver, etc.
– Standalone and Embedded Web Browsers
> Standard Tools
– HTML for display
– JavaScript for WebRTC Objects
12
<!DOCTYPE html>
<html>
<head>
<title>My WebRTC application</title>
<style type="text/css">
div#lVideo {
width: 45%;
height: 200px;
background: black;
float: left;
}
</style>
<script type="text/javascript"src="myrtclib.js"></script>
<script type="text/javascript"src="myrtcadapter.js"></script>
</head>
<body onLoad="onPageLoad();">
HTML
13
WebRTC Signaling
Whatever you want it to be!
> WebSocket
> XHR / Comet
> XMPP / Jingle
> SIP via JsSIP
> Smoke Signals
Flexibility by design
14
Media
> Defined by Session Description Protocol (SDP)
– Just like SIP!
> Audio Codecs
– G.711 Narrowband Audio
> And possibly iLBC and iSAC
– Opus Wideband Audio
> Video Codecs
– H.264 and VP8 (headed towards VP9)
> Separate Point-to-Point Data Channel
15
Opus
> Bit-rates from 6 kb/s to 510 kb/s
> Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
> Frame sizes from 2.5 ms to 60 ms
> Support for both constant bit-rate and variable bit-rate Audio
> Support for speech and music, mono and stereo
> Dynamically adjustable bitrate, audio bandwidth, and frame size
> Good loss robustness and packet loss concealment (PLC)
Ah, but what about firewalls and private
IP addresses?
17
STUN
18
TURN
19
Security
> Signaling
– DTLS (Datagram Transport Layer Security)
– Think HTTPS for UDP
> Media
– SRTP
20
Identity
Browser is configured with identity provider(s) for the user
> User “logs on” using protocol downloaded from identity provider
> Browser gets an assertion from identity provider that binds with DTLS
fingerprint to the identity such as aprokop@arrowsi.com
> The calling JavaScript passes the assertion to the far side
> The far side’s browser verifies the assertion with identity provider and checks
that DTLS fingerprint matches the assertion
> Browser displays “secure to aprokop@arrowsi.com”
21
Challenges
> WebRTC is still in flux
> No defined signaling protocol
> Not all parties are on board
– Apple and Microsoft still not fully onboard
– Microsoft has proposed competing/complimentary technology -- ORTC
22
Taming the Beast
> 99 (and counting) WebRTC SDKs and Toolkits
– 39 focused on mobile devices
– 34 focused on messaging
> 18 Open Source Projects
23
I
n
t
e
r
n
e
t
HTML 5
Consumer
Facing Web
Application
Make Call
SM SMSM
SM SM
SM
Breeze
Breeze
Breeze
Web
RTC
Media Services
(AMS)
SIP/H.323
Agent
STUN/
TURN
Avaya SBC-E
WebRTC
Agent
WebRTC
Media
Reverse
Proxy SIP
SIP
WebRTC Snap-In
STUN/
TURN
Avaya SBC-E
Customer
WebRTC
Media
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW
(Optional)
SIP/WebSockets
ICE/DTLS
Opus/UDP/SRTP
25
What’s Next
> Specification will solidify
> Multiparty media
> Widespread IoT adoption
> Middleware (e.g. media stream recording)
> Better statistics and reporting
> ORTC and WebRTC will merge
> Apple will finally make up its mind
Questions

WebRTC for Beginners Webinar Slides

  • 1.
    WebRTC For Beginners AndrewProkop Director of Vertical Industries
  • 2.
    2 Agenda > What isWebRTC > Uses > Under the Covers > Tools > Issues > What’s Next
  • 3.
    3 What is WebRTC >Web Real-Time Communications > Plug-In Free > Application Free > Browser to Browser Media – Voice – Video – Data > A standard from W3C and IETF
  • 4.
    4 Markets > Healthcare > HigherEducation > Customer Service > Conferencing > Social Media > Customer Portals > Etc.
  • 5.
    5 Give Me aFew Reasons > Viruses / Malware / Industrial Spying – Growing reluctance to run plugins or new software > Need for Rapid Development > Embedded Communications – Add communications to the tools and systems that require it > The Internet of Things
  • 6.
    6 A Few RealWorld Examples > Unify Circuit > MindMe > LiveNinja Katana > Cisco Spark > WhatsApp (somewhat) > Facebook Messenger (mobile version) > OnSIP (hosted VoIP) > Vidyo VidyoWorks > Interactive Intelligence PureCloud
  • 7.
  • 8.
    8 Click to Call AmirZmora VP Alliances & Partnerships AudioCodes Mobile: +972-54-7769603 Call my Lync extension using WebRTC
  • 9.
    9 The WebRTC Stack WebRTCAPI Identity SDP ICE / STUN / TURN Security Codecs
  • 10.
  • 11.
    11 The WebRTC API >An Extension to HTML-5 – RTCRtpSender, RTCRtpReceiver, etc. – Standalone and Embedded Web Browsers > Standard Tools – HTML for display – JavaScript for WebRTC Objects
  • 12.
    12 <!DOCTYPE html> <html> <head> <title>My WebRTCapplication</title> <style type="text/css"> div#lVideo { width: 45%; height: 200px; background: black; float: left; } </style> <script type="text/javascript"src="myrtclib.js"></script> <script type="text/javascript"src="myrtcadapter.js"></script> </head> <body onLoad="onPageLoad();"> HTML
  • 13.
    13 WebRTC Signaling Whatever youwant it to be! > WebSocket > XHR / Comet > XMPP / Jingle > SIP via JsSIP > Smoke Signals Flexibility by design
  • 14.
    14 Media > Defined bySession Description Protocol (SDP) – Just like SIP! > Audio Codecs – G.711 Narrowband Audio > And possibly iLBC and iSAC – Opus Wideband Audio > Video Codecs – H.264 and VP8 (headed towards VP9) > Separate Point-to-Point Data Channel
  • 15.
    15 Opus > Bit-rates from6 kb/s to 510 kb/s > Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband) > Frame sizes from 2.5 ms to 60 ms > Support for both constant bit-rate and variable bit-rate Audio > Support for speech and music, mono and stereo > Dynamically adjustable bitrate, audio bandwidth, and frame size > Good loss robustness and packet loss concealment (PLC)
  • 16.
    Ah, but whatabout firewalls and private IP addresses?
  • 17.
  • 18.
  • 19.
    19 Security > Signaling – DTLS(Datagram Transport Layer Security) – Think HTTPS for UDP > Media – SRTP
  • 20.
    20 Identity Browser is configuredwith identity provider(s) for the user > User “logs on” using protocol downloaded from identity provider > Browser gets an assertion from identity provider that binds with DTLS fingerprint to the identity such as aprokop@arrowsi.com > The calling JavaScript passes the assertion to the far side > The far side’s browser verifies the assertion with identity provider and checks that DTLS fingerprint matches the assertion > Browser displays “secure to aprokop@arrowsi.com”
  • 21.
    21 Challenges > WebRTC isstill in flux > No defined signaling protocol > Not all parties are on board – Apple and Microsoft still not fully onboard – Microsoft has proposed competing/complimentary technology -- ORTC
  • 22.
    22 Taming the Beast >99 (and counting) WebRTC SDKs and Toolkits – 39 focused on mobile devices – 34 focused on messaging > 18 Open Source Projects
  • 23.
    23 I n t e r n e t HTML 5 Consumer Facing Web Application MakeCall SM SMSM SM SM SM Breeze Breeze Breeze Web RTC Media Services (AMS) SIP/H.323 Agent STUN/ TURN Avaya SBC-E WebRTC Agent WebRTC Media Reverse Proxy SIP SIP WebRTC Snap-In STUN/ TURN Avaya SBC-E Customer WebRTC Media
  • 24.
    24 AudioCodes WebRTC Gateway AccessSBC Transcoding GW (Optional) SIP/WebSockets ICE/DTLS Opus/UDP/SRTP
  • 25.
    25 What’s Next > Specificationwill solidify > Multiparty media > Widespread IoT adoption > Middleware (e.g. media stream recording) > Better statistics and reporting > ORTC and WebRTC will merge > Apple will finally make up its mind
  • 26.