webrtc for beginners webinar slides
TRANSCRIPT
WebRTC For Beginners
Andrew Prokop
Director of Vertical Industries
2
Agenda
gt What is WebRTC
gt Uses
gt Under the Covers
gt Tools
gt Issues
gt Whatrsquos Next
3
What is WebRTC
gt Web Real-Time Communications
gt Plug-In Free
gt Application Free
gt Browser to Browser Media
ndash Voice
ndash Video
ndash Data
gt A standard from W3C and IETF
4
Markets
gt Healthcare
gt Higher Education
gt Customer Service
gt Conferencing
gt Social Media
gt Customer Portals
gt Etc
5
Give Me a Few Reasons
gt Viruses Malware Industrial Spying
ndash Growing reluctance to run plugins or new software
gt Need for Rapid Development
gt Embedded Communications
ndash Add communications to the tools and systems that require it
gt The Internet of Things
6
A Few Real World Examples
gt Unify Circuit
gt MindMe
gt LiveNinja Katana
gt Cisco Spark
gt WhatsApp (somewhat)
gt Facebook Messenger (mobile version)
gt OnSIP (hosted VoIP)
gt Vidyo VidyoWorks
gt Interactive Intelligence PureCloud
7
MindMe
httpwwwnojittercompost240171546mindme-webrtc-for-the-greater-good
8
Click to Call
Amir Zmora
VP Alliances amp 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
gt An Extension to HTML-5
ndash RTCRtpSender RTCRtpReceiver etc
ndash Standalone and Embedded Web Browsers
gt Standard Tools
ndash HTML for display
ndash JavaScript for WebRTC Objects
12
ltDOCTYPE htmlgtlthtmlgtltheadgt
lttitlegtMy WebRTC applicationlttitlegtltstyle type=textcssgt
divlVideo width 45height 200pxbackground black
float leftltstylegtltscript type=textjavascriptsrc=myrtclibjsgtltscriptgtltscript type=textjavascriptsrc=myrtcadapterjsgtltscriptgtltheadgtltbody onLoad=onPageLoad()gt
HTML
13
WebRTC Signaling
Whatever you want it to be
gt WebSocket
gt XHR Comet
gt XMPP Jingle
gt SIP via JsSIP
gt Smoke Signals
Flexibility by design
14
Media
gt Defined by Session Description Protocol (SDP)
ndash Just like SIP
gt Audio Codecs
ndash G711 Narrowband Audio
gt And possibly iLBC and iSAC
ndash Opus Wideband Audio
gt Video Codecs
ndash H264 and VP8 (headed towards VP9)
gt Separate Point-to-Point Data Channel
15
Opus
gt Bit-rates from 6 kbs to 510 kbs
gt Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
gt Frame sizes from 25 ms to 60 ms
gt Support for both constant bit-rate and variable bit-rate Audio
gt Support for speech and music mono and stereo
gt Dynamically adjustable bitrate audio bandwidth and frame size
gt Good loss robustness and packet loss concealment (PLC)
Ah but what about firewalls and private IP addresses
17
STUN
18
TURN
19
Security
gt Signalingndash DTLS (Datagram Transport Layer Security)
ndash Think HTTPS for UDP
gt Mediandash SRTP
20
Identity
Browser is configured with identity provider(s) for the user
gt User ldquologs onrdquo using protocol downloaded from identity provider
gt Browser gets an assertion from identity provider that binds with DTLS fingerprint to the identity such as aprokoparrowsicom
gt The calling JavaScript passes the assertion to the far side
gt The far sidersquos browser verifies the assertion with identity provider and checks that DTLS fingerprint matches the assertion
gt Browser displays ldquosecure to aprokoparrowsicomrdquo
21
Challenges
gt WebRTC is still in flux
gt No defined signaling protocol
gt Not all parties are on board
ndash Apple and Microsoft still not fully onboard
ndash Microsoft has proposed competingcomplimentary technology -- ORTC
22
Taming the Beast
gt 99 (and counting) WebRTC SDKs and Toolkitsndash 39 focused on mobile devices
ndash 34 focused on messaging
gt 18 Open Source Projects
23
I
n
t
e
r
n
e
t
HTML 5
Consumer Facing Web Application
Make Call
SM SMSM
SM SMSM
BreezeBreeze
Breeze
WebRTC
Media Services
(AMS)
SIPH323
Agent
STUN TURN
Avaya SBC-E
WebRTC
Agent
WebRTCMedia
Reverse Proxy
SIP
SIP
WebRTC Snap-In
STUN TURN
Avaya SBC-E
Customer
WebRTCMedia
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW(Optional)
SIPWebSockets
ICEDTLS
OpusUDPSRTP
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
2
Agenda
gt What is WebRTC
gt Uses
gt Under the Covers
gt Tools
gt Issues
gt Whatrsquos Next
3
What is WebRTC
gt Web Real-Time Communications
gt Plug-In Free
gt Application Free
gt Browser to Browser Media
ndash Voice
ndash Video
ndash Data
gt A standard from W3C and IETF
4
Markets
gt Healthcare
gt Higher Education
gt Customer Service
gt Conferencing
gt Social Media
gt Customer Portals
gt Etc
5
Give Me a Few Reasons
gt Viruses Malware Industrial Spying
ndash Growing reluctance to run plugins or new software
gt Need for Rapid Development
gt Embedded Communications
ndash Add communications to the tools and systems that require it
gt The Internet of Things
6
A Few Real World Examples
gt Unify Circuit
gt MindMe
gt LiveNinja Katana
gt Cisco Spark
gt WhatsApp (somewhat)
gt Facebook Messenger (mobile version)
gt OnSIP (hosted VoIP)
gt Vidyo VidyoWorks
gt Interactive Intelligence PureCloud
7
MindMe
httpwwwnojittercompost240171546mindme-webrtc-for-the-greater-good
8
Click to Call
Amir Zmora
VP Alliances amp 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
gt An Extension to HTML-5
ndash RTCRtpSender RTCRtpReceiver etc
ndash Standalone and Embedded Web Browsers
gt Standard Tools
ndash HTML for display
ndash JavaScript for WebRTC Objects
12
ltDOCTYPE htmlgtlthtmlgtltheadgt
lttitlegtMy WebRTC applicationlttitlegtltstyle type=textcssgt
divlVideo width 45height 200pxbackground black
float leftltstylegtltscript type=textjavascriptsrc=myrtclibjsgtltscriptgtltscript type=textjavascriptsrc=myrtcadapterjsgtltscriptgtltheadgtltbody onLoad=onPageLoad()gt
HTML
13
WebRTC Signaling
Whatever you want it to be
gt WebSocket
gt XHR Comet
gt XMPP Jingle
gt SIP via JsSIP
gt Smoke Signals
Flexibility by design
14
Media
gt Defined by Session Description Protocol (SDP)
ndash Just like SIP
gt Audio Codecs
ndash G711 Narrowband Audio
gt And possibly iLBC and iSAC
ndash Opus Wideband Audio
gt Video Codecs
ndash H264 and VP8 (headed towards VP9)
gt Separate Point-to-Point Data Channel
15
Opus
gt Bit-rates from 6 kbs to 510 kbs
gt Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
gt Frame sizes from 25 ms to 60 ms
gt Support for both constant bit-rate and variable bit-rate Audio
gt Support for speech and music mono and stereo
gt Dynamically adjustable bitrate audio bandwidth and frame size
gt Good loss robustness and packet loss concealment (PLC)
Ah but what about firewalls and private IP addresses
17
STUN
18
TURN
19
Security
gt Signalingndash DTLS (Datagram Transport Layer Security)
ndash Think HTTPS for UDP
gt Mediandash SRTP
20
Identity
Browser is configured with identity provider(s) for the user
gt User ldquologs onrdquo using protocol downloaded from identity provider
gt Browser gets an assertion from identity provider that binds with DTLS fingerprint to the identity such as aprokoparrowsicom
gt The calling JavaScript passes the assertion to the far side
gt The far sidersquos browser verifies the assertion with identity provider and checks that DTLS fingerprint matches the assertion
gt Browser displays ldquosecure to aprokoparrowsicomrdquo
21
Challenges
gt WebRTC is still in flux
gt No defined signaling protocol
gt Not all parties are on board
ndash Apple and Microsoft still not fully onboard
ndash Microsoft has proposed competingcomplimentary technology -- ORTC
22
Taming the Beast
gt 99 (and counting) WebRTC SDKs and Toolkitsndash 39 focused on mobile devices
ndash 34 focused on messaging
gt 18 Open Source Projects
23
I
n
t
e
r
n
e
t
HTML 5
Consumer Facing Web Application
Make Call
SM SMSM
SM SMSM
BreezeBreeze
Breeze
WebRTC
Media Services
(AMS)
SIPH323
Agent
STUN TURN
Avaya SBC-E
WebRTC
Agent
WebRTCMedia
Reverse Proxy
SIP
SIP
WebRTC Snap-In
STUN TURN
Avaya SBC-E
Customer
WebRTCMedia
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW(Optional)
SIPWebSockets
ICEDTLS
OpusUDPSRTP
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
3
What is WebRTC
gt Web Real-Time Communications
gt Plug-In Free
gt Application Free
gt Browser to Browser Media
ndash Voice
ndash Video
ndash Data
gt A standard from W3C and IETF
4
Markets
gt Healthcare
gt Higher Education
gt Customer Service
gt Conferencing
gt Social Media
gt Customer Portals
gt Etc
5
Give Me a Few Reasons
gt Viruses Malware Industrial Spying
ndash Growing reluctance to run plugins or new software
gt Need for Rapid Development
gt Embedded Communications
ndash Add communications to the tools and systems that require it
gt The Internet of Things
6
A Few Real World Examples
gt Unify Circuit
gt MindMe
gt LiveNinja Katana
gt Cisco Spark
gt WhatsApp (somewhat)
gt Facebook Messenger (mobile version)
gt OnSIP (hosted VoIP)
gt Vidyo VidyoWorks
gt Interactive Intelligence PureCloud
7
MindMe
httpwwwnojittercompost240171546mindme-webrtc-for-the-greater-good
8
Click to Call
Amir Zmora
VP Alliances amp 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
gt An Extension to HTML-5
ndash RTCRtpSender RTCRtpReceiver etc
ndash Standalone and Embedded Web Browsers
gt Standard Tools
ndash HTML for display
ndash JavaScript for WebRTC Objects
12
ltDOCTYPE htmlgtlthtmlgtltheadgt
lttitlegtMy WebRTC applicationlttitlegtltstyle type=textcssgt
divlVideo width 45height 200pxbackground black
float leftltstylegtltscript type=textjavascriptsrc=myrtclibjsgtltscriptgtltscript type=textjavascriptsrc=myrtcadapterjsgtltscriptgtltheadgtltbody onLoad=onPageLoad()gt
HTML
13
WebRTC Signaling
Whatever you want it to be
gt WebSocket
gt XHR Comet
gt XMPP Jingle
gt SIP via JsSIP
gt Smoke Signals
Flexibility by design
14
Media
gt Defined by Session Description Protocol (SDP)
ndash Just like SIP
gt Audio Codecs
ndash G711 Narrowband Audio
gt And possibly iLBC and iSAC
ndash Opus Wideband Audio
gt Video Codecs
ndash H264 and VP8 (headed towards VP9)
gt Separate Point-to-Point Data Channel
15
Opus
gt Bit-rates from 6 kbs to 510 kbs
gt Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
gt Frame sizes from 25 ms to 60 ms
gt Support for both constant bit-rate and variable bit-rate Audio
gt Support for speech and music mono and stereo
gt Dynamically adjustable bitrate audio bandwidth and frame size
gt Good loss robustness and packet loss concealment (PLC)
Ah but what about firewalls and private IP addresses
17
STUN
18
TURN
19
Security
gt Signalingndash DTLS (Datagram Transport Layer Security)
ndash Think HTTPS for UDP
gt Mediandash SRTP
20
Identity
Browser is configured with identity provider(s) for the user
gt User ldquologs onrdquo using protocol downloaded from identity provider
gt Browser gets an assertion from identity provider that binds with DTLS fingerprint to the identity such as aprokoparrowsicom
gt The calling JavaScript passes the assertion to the far side
gt The far sidersquos browser verifies the assertion with identity provider and checks that DTLS fingerprint matches the assertion
gt Browser displays ldquosecure to aprokoparrowsicomrdquo
21
Challenges
gt WebRTC is still in flux
gt No defined signaling protocol
gt Not all parties are on board
ndash Apple and Microsoft still not fully onboard
ndash Microsoft has proposed competingcomplimentary technology -- ORTC
22
Taming the Beast
gt 99 (and counting) WebRTC SDKs and Toolkitsndash 39 focused on mobile devices
ndash 34 focused on messaging
gt 18 Open Source Projects
23
I
n
t
e
r
n
e
t
HTML 5
Consumer Facing Web Application
Make Call
SM SMSM
SM SMSM
BreezeBreeze
Breeze
WebRTC
Media Services
(AMS)
SIPH323
Agent
STUN TURN
Avaya SBC-E
WebRTC
Agent
WebRTCMedia
Reverse Proxy
SIP
SIP
WebRTC Snap-In
STUN TURN
Avaya SBC-E
Customer
WebRTCMedia
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW(Optional)
SIPWebSockets
ICEDTLS
OpusUDPSRTP
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
4
Markets
gt Healthcare
gt Higher Education
gt Customer Service
gt Conferencing
gt Social Media
gt Customer Portals
gt Etc
5
Give Me a Few Reasons
gt Viruses Malware Industrial Spying
ndash Growing reluctance to run plugins or new software
gt Need for Rapid Development
gt Embedded Communications
ndash Add communications to the tools and systems that require it
gt The Internet of Things
6
A Few Real World Examples
gt Unify Circuit
gt MindMe
gt LiveNinja Katana
gt Cisco Spark
gt WhatsApp (somewhat)
gt Facebook Messenger (mobile version)
gt OnSIP (hosted VoIP)
gt Vidyo VidyoWorks
gt Interactive Intelligence PureCloud
7
MindMe
httpwwwnojittercompost240171546mindme-webrtc-for-the-greater-good
8
Click to Call
Amir Zmora
VP Alliances amp 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
gt An Extension to HTML-5
ndash RTCRtpSender RTCRtpReceiver etc
ndash Standalone and Embedded Web Browsers
gt Standard Tools
ndash HTML for display
ndash JavaScript for WebRTC Objects
12
ltDOCTYPE htmlgtlthtmlgtltheadgt
lttitlegtMy WebRTC applicationlttitlegtltstyle type=textcssgt
divlVideo width 45height 200pxbackground black
float leftltstylegtltscript type=textjavascriptsrc=myrtclibjsgtltscriptgtltscript type=textjavascriptsrc=myrtcadapterjsgtltscriptgtltheadgtltbody onLoad=onPageLoad()gt
HTML
13
WebRTC Signaling
Whatever you want it to be
gt WebSocket
gt XHR Comet
gt XMPP Jingle
gt SIP via JsSIP
gt Smoke Signals
Flexibility by design
14
Media
gt Defined by Session Description Protocol (SDP)
ndash Just like SIP
gt Audio Codecs
ndash G711 Narrowband Audio
gt And possibly iLBC and iSAC
ndash Opus Wideband Audio
gt Video Codecs
ndash H264 and VP8 (headed towards VP9)
gt Separate Point-to-Point Data Channel
15
Opus
gt Bit-rates from 6 kbs to 510 kbs
gt Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
gt Frame sizes from 25 ms to 60 ms
gt Support for both constant bit-rate and variable bit-rate Audio
gt Support for speech and music mono and stereo
gt Dynamically adjustable bitrate audio bandwidth and frame size
gt Good loss robustness and packet loss concealment (PLC)
Ah but what about firewalls and private IP addresses
17
STUN
18
TURN
19
Security
gt Signalingndash DTLS (Datagram Transport Layer Security)
ndash Think HTTPS for UDP
gt Mediandash SRTP
20
Identity
Browser is configured with identity provider(s) for the user
gt User ldquologs onrdquo using protocol downloaded from identity provider
gt Browser gets an assertion from identity provider that binds with DTLS fingerprint to the identity such as aprokoparrowsicom
gt The calling JavaScript passes the assertion to the far side
gt The far sidersquos browser verifies the assertion with identity provider and checks that DTLS fingerprint matches the assertion
gt Browser displays ldquosecure to aprokoparrowsicomrdquo
21
Challenges
gt WebRTC is still in flux
gt No defined signaling protocol
gt Not all parties are on board
ndash Apple and Microsoft still not fully onboard
ndash Microsoft has proposed competingcomplimentary technology -- ORTC
22
Taming the Beast
gt 99 (and counting) WebRTC SDKs and Toolkitsndash 39 focused on mobile devices
ndash 34 focused on messaging
gt 18 Open Source Projects
23
I
n
t
e
r
n
e
t
HTML 5
Consumer Facing Web Application
Make Call
SM SMSM
SM SMSM
BreezeBreeze
Breeze
WebRTC
Media Services
(AMS)
SIPH323
Agent
STUN TURN
Avaya SBC-E
WebRTC
Agent
WebRTCMedia
Reverse Proxy
SIP
SIP
WebRTC Snap-In
STUN TURN
Avaya SBC-E
Customer
WebRTCMedia
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW(Optional)
SIPWebSockets
ICEDTLS
OpusUDPSRTP
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
5
Give Me a Few Reasons
gt Viruses Malware Industrial Spying
ndash Growing reluctance to run plugins or new software
gt Need for Rapid Development
gt Embedded Communications
ndash Add communications to the tools and systems that require it
gt The Internet of Things
6
A Few Real World Examples
gt Unify Circuit
gt MindMe
gt LiveNinja Katana
gt Cisco Spark
gt WhatsApp (somewhat)
gt Facebook Messenger (mobile version)
gt OnSIP (hosted VoIP)
gt Vidyo VidyoWorks
gt Interactive Intelligence PureCloud
7
MindMe
httpwwwnojittercompost240171546mindme-webrtc-for-the-greater-good
8
Click to Call
Amir Zmora
VP Alliances amp 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
gt An Extension to HTML-5
ndash RTCRtpSender RTCRtpReceiver etc
ndash Standalone and Embedded Web Browsers
gt Standard Tools
ndash HTML for display
ndash JavaScript for WebRTC Objects
12
ltDOCTYPE htmlgtlthtmlgtltheadgt
lttitlegtMy WebRTC applicationlttitlegtltstyle type=textcssgt
divlVideo width 45height 200pxbackground black
float leftltstylegtltscript type=textjavascriptsrc=myrtclibjsgtltscriptgtltscript type=textjavascriptsrc=myrtcadapterjsgtltscriptgtltheadgtltbody onLoad=onPageLoad()gt
HTML
13
WebRTC Signaling
Whatever you want it to be
gt WebSocket
gt XHR Comet
gt XMPP Jingle
gt SIP via JsSIP
gt Smoke Signals
Flexibility by design
14
Media
gt Defined by Session Description Protocol (SDP)
ndash Just like SIP
gt Audio Codecs
ndash G711 Narrowband Audio
gt And possibly iLBC and iSAC
ndash Opus Wideband Audio
gt Video Codecs
ndash H264 and VP8 (headed towards VP9)
gt Separate Point-to-Point Data Channel
15
Opus
gt Bit-rates from 6 kbs to 510 kbs
gt Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
gt Frame sizes from 25 ms to 60 ms
gt Support for both constant bit-rate and variable bit-rate Audio
gt Support for speech and music mono and stereo
gt Dynamically adjustable bitrate audio bandwidth and frame size
gt Good loss robustness and packet loss concealment (PLC)
Ah but what about firewalls and private IP addresses
17
STUN
18
TURN
19
Security
gt Signalingndash DTLS (Datagram Transport Layer Security)
ndash Think HTTPS for UDP
gt Mediandash SRTP
20
Identity
Browser is configured with identity provider(s) for the user
gt User ldquologs onrdquo using protocol downloaded from identity provider
gt Browser gets an assertion from identity provider that binds with DTLS fingerprint to the identity such as aprokoparrowsicom
gt The calling JavaScript passes the assertion to the far side
gt The far sidersquos browser verifies the assertion with identity provider and checks that DTLS fingerprint matches the assertion
gt Browser displays ldquosecure to aprokoparrowsicomrdquo
21
Challenges
gt WebRTC is still in flux
gt No defined signaling protocol
gt Not all parties are on board
ndash Apple and Microsoft still not fully onboard
ndash Microsoft has proposed competingcomplimentary technology -- ORTC
22
Taming the Beast
gt 99 (and counting) WebRTC SDKs and Toolkitsndash 39 focused on mobile devices
ndash 34 focused on messaging
gt 18 Open Source Projects
23
I
n
t
e
r
n
e
t
HTML 5
Consumer Facing Web Application
Make Call
SM SMSM
SM SMSM
BreezeBreeze
Breeze
WebRTC
Media Services
(AMS)
SIPH323
Agent
STUN TURN
Avaya SBC-E
WebRTC
Agent
WebRTCMedia
Reverse Proxy
SIP
SIP
WebRTC Snap-In
STUN TURN
Avaya SBC-E
Customer
WebRTCMedia
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW(Optional)
SIPWebSockets
ICEDTLS
OpusUDPSRTP
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
6
A Few Real World Examples
gt Unify Circuit
gt MindMe
gt LiveNinja Katana
gt Cisco Spark
gt WhatsApp (somewhat)
gt Facebook Messenger (mobile version)
gt OnSIP (hosted VoIP)
gt Vidyo VidyoWorks
gt Interactive Intelligence PureCloud
7
MindMe
httpwwwnojittercompost240171546mindme-webrtc-for-the-greater-good
8
Click to Call
Amir Zmora
VP Alliances amp 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
gt An Extension to HTML-5
ndash RTCRtpSender RTCRtpReceiver etc
ndash Standalone and Embedded Web Browsers
gt Standard Tools
ndash HTML for display
ndash JavaScript for WebRTC Objects
12
ltDOCTYPE htmlgtlthtmlgtltheadgt
lttitlegtMy WebRTC applicationlttitlegtltstyle type=textcssgt
divlVideo width 45height 200pxbackground black
float leftltstylegtltscript type=textjavascriptsrc=myrtclibjsgtltscriptgtltscript type=textjavascriptsrc=myrtcadapterjsgtltscriptgtltheadgtltbody onLoad=onPageLoad()gt
HTML
13
WebRTC Signaling
Whatever you want it to be
gt WebSocket
gt XHR Comet
gt XMPP Jingle
gt SIP via JsSIP
gt Smoke Signals
Flexibility by design
14
Media
gt Defined by Session Description Protocol (SDP)
ndash Just like SIP
gt Audio Codecs
ndash G711 Narrowband Audio
gt And possibly iLBC and iSAC
ndash Opus Wideband Audio
gt Video Codecs
ndash H264 and VP8 (headed towards VP9)
gt Separate Point-to-Point Data Channel
15
Opus
gt Bit-rates from 6 kbs to 510 kbs
gt Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
gt Frame sizes from 25 ms to 60 ms
gt Support for both constant bit-rate and variable bit-rate Audio
gt Support for speech and music mono and stereo
gt Dynamically adjustable bitrate audio bandwidth and frame size
gt Good loss robustness and packet loss concealment (PLC)
Ah but what about firewalls and private IP addresses
17
STUN
18
TURN
19
Security
gt Signalingndash DTLS (Datagram Transport Layer Security)
ndash Think HTTPS for UDP
gt Mediandash SRTP
20
Identity
Browser is configured with identity provider(s) for the user
gt User ldquologs onrdquo using protocol downloaded from identity provider
gt Browser gets an assertion from identity provider that binds with DTLS fingerprint to the identity such as aprokoparrowsicom
gt The calling JavaScript passes the assertion to the far side
gt The far sidersquos browser verifies the assertion with identity provider and checks that DTLS fingerprint matches the assertion
gt Browser displays ldquosecure to aprokoparrowsicomrdquo
21
Challenges
gt WebRTC is still in flux
gt No defined signaling protocol
gt Not all parties are on board
ndash Apple and Microsoft still not fully onboard
ndash Microsoft has proposed competingcomplimentary technology -- ORTC
22
Taming the Beast
gt 99 (and counting) WebRTC SDKs and Toolkitsndash 39 focused on mobile devices
ndash 34 focused on messaging
gt 18 Open Source Projects
23
I
n
t
e
r
n
e
t
HTML 5
Consumer Facing Web Application
Make Call
SM SMSM
SM SMSM
BreezeBreeze
Breeze
WebRTC
Media Services
(AMS)
SIPH323
Agent
STUN TURN
Avaya SBC-E
WebRTC
Agent
WebRTCMedia
Reverse Proxy
SIP
SIP
WebRTC Snap-In
STUN TURN
Avaya SBC-E
Customer
WebRTCMedia
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW(Optional)
SIPWebSockets
ICEDTLS
OpusUDPSRTP
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
7
MindMe
httpwwwnojittercompost240171546mindme-webrtc-for-the-greater-good
8
Click to Call
Amir Zmora
VP Alliances amp 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
gt An Extension to HTML-5
ndash RTCRtpSender RTCRtpReceiver etc
ndash Standalone and Embedded Web Browsers
gt Standard Tools
ndash HTML for display
ndash JavaScript for WebRTC Objects
12
ltDOCTYPE htmlgtlthtmlgtltheadgt
lttitlegtMy WebRTC applicationlttitlegtltstyle type=textcssgt
divlVideo width 45height 200pxbackground black
float leftltstylegtltscript type=textjavascriptsrc=myrtclibjsgtltscriptgtltscript type=textjavascriptsrc=myrtcadapterjsgtltscriptgtltheadgtltbody onLoad=onPageLoad()gt
HTML
13
WebRTC Signaling
Whatever you want it to be
gt WebSocket
gt XHR Comet
gt XMPP Jingle
gt SIP via JsSIP
gt Smoke Signals
Flexibility by design
14
Media
gt Defined by Session Description Protocol (SDP)
ndash Just like SIP
gt Audio Codecs
ndash G711 Narrowband Audio
gt And possibly iLBC and iSAC
ndash Opus Wideband Audio
gt Video Codecs
ndash H264 and VP8 (headed towards VP9)
gt Separate Point-to-Point Data Channel
15
Opus
gt Bit-rates from 6 kbs to 510 kbs
gt Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
gt Frame sizes from 25 ms to 60 ms
gt Support for both constant bit-rate and variable bit-rate Audio
gt Support for speech and music mono and stereo
gt Dynamically adjustable bitrate audio bandwidth and frame size
gt Good loss robustness and packet loss concealment (PLC)
Ah but what about firewalls and private IP addresses
17
STUN
18
TURN
19
Security
gt Signalingndash DTLS (Datagram Transport Layer Security)
ndash Think HTTPS for UDP
gt Mediandash SRTP
20
Identity
Browser is configured with identity provider(s) for the user
gt User ldquologs onrdquo using protocol downloaded from identity provider
gt Browser gets an assertion from identity provider that binds with DTLS fingerprint to the identity such as aprokoparrowsicom
gt The calling JavaScript passes the assertion to the far side
gt The far sidersquos browser verifies the assertion with identity provider and checks that DTLS fingerprint matches the assertion
gt Browser displays ldquosecure to aprokoparrowsicomrdquo
21
Challenges
gt WebRTC is still in flux
gt No defined signaling protocol
gt Not all parties are on board
ndash Apple and Microsoft still not fully onboard
ndash Microsoft has proposed competingcomplimentary technology -- ORTC
22
Taming the Beast
gt 99 (and counting) WebRTC SDKs and Toolkitsndash 39 focused on mobile devices
ndash 34 focused on messaging
gt 18 Open Source Projects
23
I
n
t
e
r
n
e
t
HTML 5
Consumer Facing Web Application
Make Call
SM SMSM
SM SMSM
BreezeBreeze
Breeze
WebRTC
Media Services
(AMS)
SIPH323
Agent
STUN TURN
Avaya SBC-E
WebRTC
Agent
WebRTCMedia
Reverse Proxy
SIP
SIP
WebRTC Snap-In
STUN TURN
Avaya SBC-E
Customer
WebRTCMedia
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW(Optional)
SIPWebSockets
ICEDTLS
OpusUDPSRTP
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
8
Click to Call
Amir Zmora
VP Alliances amp 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
gt An Extension to HTML-5
ndash RTCRtpSender RTCRtpReceiver etc
ndash Standalone and Embedded Web Browsers
gt Standard Tools
ndash HTML for display
ndash JavaScript for WebRTC Objects
12
ltDOCTYPE htmlgtlthtmlgtltheadgt
lttitlegtMy WebRTC applicationlttitlegtltstyle type=textcssgt
divlVideo width 45height 200pxbackground black
float leftltstylegtltscript type=textjavascriptsrc=myrtclibjsgtltscriptgtltscript type=textjavascriptsrc=myrtcadapterjsgtltscriptgtltheadgtltbody onLoad=onPageLoad()gt
HTML
13
WebRTC Signaling
Whatever you want it to be
gt WebSocket
gt XHR Comet
gt XMPP Jingle
gt SIP via JsSIP
gt Smoke Signals
Flexibility by design
14
Media
gt Defined by Session Description Protocol (SDP)
ndash Just like SIP
gt Audio Codecs
ndash G711 Narrowband Audio
gt And possibly iLBC and iSAC
ndash Opus Wideband Audio
gt Video Codecs
ndash H264 and VP8 (headed towards VP9)
gt Separate Point-to-Point Data Channel
15
Opus
gt Bit-rates from 6 kbs to 510 kbs
gt Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
gt Frame sizes from 25 ms to 60 ms
gt Support for both constant bit-rate and variable bit-rate Audio
gt Support for speech and music mono and stereo
gt Dynamically adjustable bitrate audio bandwidth and frame size
gt Good loss robustness and packet loss concealment (PLC)
Ah but what about firewalls and private IP addresses
17
STUN
18
TURN
19
Security
gt Signalingndash DTLS (Datagram Transport Layer Security)
ndash Think HTTPS for UDP
gt Mediandash SRTP
20
Identity
Browser is configured with identity provider(s) for the user
gt User ldquologs onrdquo using protocol downloaded from identity provider
gt Browser gets an assertion from identity provider that binds with DTLS fingerprint to the identity such as aprokoparrowsicom
gt The calling JavaScript passes the assertion to the far side
gt The far sidersquos browser verifies the assertion with identity provider and checks that DTLS fingerprint matches the assertion
gt Browser displays ldquosecure to aprokoparrowsicomrdquo
21
Challenges
gt WebRTC is still in flux
gt No defined signaling protocol
gt Not all parties are on board
ndash Apple and Microsoft still not fully onboard
ndash Microsoft has proposed competingcomplimentary technology -- ORTC
22
Taming the Beast
gt 99 (and counting) WebRTC SDKs and Toolkitsndash 39 focused on mobile devices
ndash 34 focused on messaging
gt 18 Open Source Projects
23
I
n
t
e
r
n
e
t
HTML 5
Consumer Facing Web Application
Make Call
SM SMSM
SM SMSM
BreezeBreeze
Breeze
WebRTC
Media Services
(AMS)
SIPH323
Agent
STUN TURN
Avaya SBC-E
WebRTC
Agent
WebRTCMedia
Reverse Proxy
SIP
SIP
WebRTC Snap-In
STUN TURN
Avaya SBC-E
Customer
WebRTCMedia
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW(Optional)
SIPWebSockets
ICEDTLS
OpusUDPSRTP
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
9
The WebRTC Stack
WebRTC API
Identity
SDP
ICE STUN TURN
Security
Codecs
10
The Big Picture
11
The WebRTC API
gt An Extension to HTML-5
ndash RTCRtpSender RTCRtpReceiver etc
ndash Standalone and Embedded Web Browsers
gt Standard Tools
ndash HTML for display
ndash JavaScript for WebRTC Objects
12
ltDOCTYPE htmlgtlthtmlgtltheadgt
lttitlegtMy WebRTC applicationlttitlegtltstyle type=textcssgt
divlVideo width 45height 200pxbackground black
float leftltstylegtltscript type=textjavascriptsrc=myrtclibjsgtltscriptgtltscript type=textjavascriptsrc=myrtcadapterjsgtltscriptgtltheadgtltbody onLoad=onPageLoad()gt
HTML
13
WebRTC Signaling
Whatever you want it to be
gt WebSocket
gt XHR Comet
gt XMPP Jingle
gt SIP via JsSIP
gt Smoke Signals
Flexibility by design
14
Media
gt Defined by Session Description Protocol (SDP)
ndash Just like SIP
gt Audio Codecs
ndash G711 Narrowband Audio
gt And possibly iLBC and iSAC
ndash Opus Wideband Audio
gt Video Codecs
ndash H264 and VP8 (headed towards VP9)
gt Separate Point-to-Point Data Channel
15
Opus
gt Bit-rates from 6 kbs to 510 kbs
gt Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
gt Frame sizes from 25 ms to 60 ms
gt Support for both constant bit-rate and variable bit-rate Audio
gt Support for speech and music mono and stereo
gt Dynamically adjustable bitrate audio bandwidth and frame size
gt Good loss robustness and packet loss concealment (PLC)
Ah but what about firewalls and private IP addresses
17
STUN
18
TURN
19
Security
gt Signalingndash DTLS (Datagram Transport Layer Security)
ndash Think HTTPS for UDP
gt Mediandash SRTP
20
Identity
Browser is configured with identity provider(s) for the user
gt User ldquologs onrdquo using protocol downloaded from identity provider
gt Browser gets an assertion from identity provider that binds with DTLS fingerprint to the identity such as aprokoparrowsicom
gt The calling JavaScript passes the assertion to the far side
gt The far sidersquos browser verifies the assertion with identity provider and checks that DTLS fingerprint matches the assertion
gt Browser displays ldquosecure to aprokoparrowsicomrdquo
21
Challenges
gt WebRTC is still in flux
gt No defined signaling protocol
gt Not all parties are on board
ndash Apple and Microsoft still not fully onboard
ndash Microsoft has proposed competingcomplimentary technology -- ORTC
22
Taming the Beast
gt 99 (and counting) WebRTC SDKs and Toolkitsndash 39 focused on mobile devices
ndash 34 focused on messaging
gt 18 Open Source Projects
23
I
n
t
e
r
n
e
t
HTML 5
Consumer Facing Web Application
Make Call
SM SMSM
SM SMSM
BreezeBreeze
Breeze
WebRTC
Media Services
(AMS)
SIPH323
Agent
STUN TURN
Avaya SBC-E
WebRTC
Agent
WebRTCMedia
Reverse Proxy
SIP
SIP
WebRTC Snap-In
STUN TURN
Avaya SBC-E
Customer
WebRTCMedia
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW(Optional)
SIPWebSockets
ICEDTLS
OpusUDPSRTP
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
10
The Big Picture
11
The WebRTC API
gt An Extension to HTML-5
ndash RTCRtpSender RTCRtpReceiver etc
ndash Standalone and Embedded Web Browsers
gt Standard Tools
ndash HTML for display
ndash JavaScript for WebRTC Objects
12
ltDOCTYPE htmlgtlthtmlgtltheadgt
lttitlegtMy WebRTC applicationlttitlegtltstyle type=textcssgt
divlVideo width 45height 200pxbackground black
float leftltstylegtltscript type=textjavascriptsrc=myrtclibjsgtltscriptgtltscript type=textjavascriptsrc=myrtcadapterjsgtltscriptgtltheadgtltbody onLoad=onPageLoad()gt
HTML
13
WebRTC Signaling
Whatever you want it to be
gt WebSocket
gt XHR Comet
gt XMPP Jingle
gt SIP via JsSIP
gt Smoke Signals
Flexibility by design
14
Media
gt Defined by Session Description Protocol (SDP)
ndash Just like SIP
gt Audio Codecs
ndash G711 Narrowband Audio
gt And possibly iLBC and iSAC
ndash Opus Wideband Audio
gt Video Codecs
ndash H264 and VP8 (headed towards VP9)
gt Separate Point-to-Point Data Channel
15
Opus
gt Bit-rates from 6 kbs to 510 kbs
gt Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
gt Frame sizes from 25 ms to 60 ms
gt Support for both constant bit-rate and variable bit-rate Audio
gt Support for speech and music mono and stereo
gt Dynamically adjustable bitrate audio bandwidth and frame size
gt Good loss robustness and packet loss concealment (PLC)
Ah but what about firewalls and private IP addresses
17
STUN
18
TURN
19
Security
gt Signalingndash DTLS (Datagram Transport Layer Security)
ndash Think HTTPS for UDP
gt Mediandash SRTP
20
Identity
Browser is configured with identity provider(s) for the user
gt User ldquologs onrdquo using protocol downloaded from identity provider
gt Browser gets an assertion from identity provider that binds with DTLS fingerprint to the identity such as aprokoparrowsicom
gt The calling JavaScript passes the assertion to the far side
gt The far sidersquos browser verifies the assertion with identity provider and checks that DTLS fingerprint matches the assertion
gt Browser displays ldquosecure to aprokoparrowsicomrdquo
21
Challenges
gt WebRTC is still in flux
gt No defined signaling protocol
gt Not all parties are on board
ndash Apple and Microsoft still not fully onboard
ndash Microsoft has proposed competingcomplimentary technology -- ORTC
22
Taming the Beast
gt 99 (and counting) WebRTC SDKs and Toolkitsndash 39 focused on mobile devices
ndash 34 focused on messaging
gt 18 Open Source Projects
23
I
n
t
e
r
n
e
t
HTML 5
Consumer Facing Web Application
Make Call
SM SMSM
SM SMSM
BreezeBreeze
Breeze
WebRTC
Media Services
(AMS)
SIPH323
Agent
STUN TURN
Avaya SBC-E
WebRTC
Agent
WebRTCMedia
Reverse Proxy
SIP
SIP
WebRTC Snap-In
STUN TURN
Avaya SBC-E
Customer
WebRTCMedia
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW(Optional)
SIPWebSockets
ICEDTLS
OpusUDPSRTP
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
11
The WebRTC API
gt An Extension to HTML-5
ndash RTCRtpSender RTCRtpReceiver etc
ndash Standalone and Embedded Web Browsers
gt Standard Tools
ndash HTML for display
ndash JavaScript for WebRTC Objects
12
ltDOCTYPE htmlgtlthtmlgtltheadgt
lttitlegtMy WebRTC applicationlttitlegtltstyle type=textcssgt
divlVideo width 45height 200pxbackground black
float leftltstylegtltscript type=textjavascriptsrc=myrtclibjsgtltscriptgtltscript type=textjavascriptsrc=myrtcadapterjsgtltscriptgtltheadgtltbody onLoad=onPageLoad()gt
HTML
13
WebRTC Signaling
Whatever you want it to be
gt WebSocket
gt XHR Comet
gt XMPP Jingle
gt SIP via JsSIP
gt Smoke Signals
Flexibility by design
14
Media
gt Defined by Session Description Protocol (SDP)
ndash Just like SIP
gt Audio Codecs
ndash G711 Narrowband Audio
gt And possibly iLBC and iSAC
ndash Opus Wideband Audio
gt Video Codecs
ndash H264 and VP8 (headed towards VP9)
gt Separate Point-to-Point Data Channel
15
Opus
gt Bit-rates from 6 kbs to 510 kbs
gt Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
gt Frame sizes from 25 ms to 60 ms
gt Support for both constant bit-rate and variable bit-rate Audio
gt Support for speech and music mono and stereo
gt Dynamically adjustable bitrate audio bandwidth and frame size
gt Good loss robustness and packet loss concealment (PLC)
Ah but what about firewalls and private IP addresses
17
STUN
18
TURN
19
Security
gt Signalingndash DTLS (Datagram Transport Layer Security)
ndash Think HTTPS for UDP
gt Mediandash SRTP
20
Identity
Browser is configured with identity provider(s) for the user
gt User ldquologs onrdquo using protocol downloaded from identity provider
gt Browser gets an assertion from identity provider that binds with DTLS fingerprint to the identity such as aprokoparrowsicom
gt The calling JavaScript passes the assertion to the far side
gt The far sidersquos browser verifies the assertion with identity provider and checks that DTLS fingerprint matches the assertion
gt Browser displays ldquosecure to aprokoparrowsicomrdquo
21
Challenges
gt WebRTC is still in flux
gt No defined signaling protocol
gt Not all parties are on board
ndash Apple and Microsoft still not fully onboard
ndash Microsoft has proposed competingcomplimentary technology -- ORTC
22
Taming the Beast
gt 99 (and counting) WebRTC SDKs and Toolkitsndash 39 focused on mobile devices
ndash 34 focused on messaging
gt 18 Open Source Projects
23
I
n
t
e
r
n
e
t
HTML 5
Consumer Facing Web Application
Make Call
SM SMSM
SM SMSM
BreezeBreeze
Breeze
WebRTC
Media Services
(AMS)
SIPH323
Agent
STUN TURN
Avaya SBC-E
WebRTC
Agent
WebRTCMedia
Reverse Proxy
SIP
SIP
WebRTC Snap-In
STUN TURN
Avaya SBC-E
Customer
WebRTCMedia
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW(Optional)
SIPWebSockets
ICEDTLS
OpusUDPSRTP
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
12
ltDOCTYPE htmlgtlthtmlgtltheadgt
lttitlegtMy WebRTC applicationlttitlegtltstyle type=textcssgt
divlVideo width 45height 200pxbackground black
float leftltstylegtltscript type=textjavascriptsrc=myrtclibjsgtltscriptgtltscript type=textjavascriptsrc=myrtcadapterjsgtltscriptgtltheadgtltbody onLoad=onPageLoad()gt
HTML
13
WebRTC Signaling
Whatever you want it to be
gt WebSocket
gt XHR Comet
gt XMPP Jingle
gt SIP via JsSIP
gt Smoke Signals
Flexibility by design
14
Media
gt Defined by Session Description Protocol (SDP)
ndash Just like SIP
gt Audio Codecs
ndash G711 Narrowband Audio
gt And possibly iLBC and iSAC
ndash Opus Wideband Audio
gt Video Codecs
ndash H264 and VP8 (headed towards VP9)
gt Separate Point-to-Point Data Channel
15
Opus
gt Bit-rates from 6 kbs to 510 kbs
gt Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
gt Frame sizes from 25 ms to 60 ms
gt Support for both constant bit-rate and variable bit-rate Audio
gt Support for speech and music mono and stereo
gt Dynamically adjustable bitrate audio bandwidth and frame size
gt Good loss robustness and packet loss concealment (PLC)
Ah but what about firewalls and private IP addresses
17
STUN
18
TURN
19
Security
gt Signalingndash DTLS (Datagram Transport Layer Security)
ndash Think HTTPS for UDP
gt Mediandash SRTP
20
Identity
Browser is configured with identity provider(s) for the user
gt User ldquologs onrdquo using protocol downloaded from identity provider
gt Browser gets an assertion from identity provider that binds with DTLS fingerprint to the identity such as aprokoparrowsicom
gt The calling JavaScript passes the assertion to the far side
gt The far sidersquos browser verifies the assertion with identity provider and checks that DTLS fingerprint matches the assertion
gt Browser displays ldquosecure to aprokoparrowsicomrdquo
21
Challenges
gt WebRTC is still in flux
gt No defined signaling protocol
gt Not all parties are on board
ndash Apple and Microsoft still not fully onboard
ndash Microsoft has proposed competingcomplimentary technology -- ORTC
22
Taming the Beast
gt 99 (and counting) WebRTC SDKs and Toolkitsndash 39 focused on mobile devices
ndash 34 focused on messaging
gt 18 Open Source Projects
23
I
n
t
e
r
n
e
t
HTML 5
Consumer Facing Web Application
Make Call
SM SMSM
SM SMSM
BreezeBreeze
Breeze
WebRTC
Media Services
(AMS)
SIPH323
Agent
STUN TURN
Avaya SBC-E
WebRTC
Agent
WebRTCMedia
Reverse Proxy
SIP
SIP
WebRTC Snap-In
STUN TURN
Avaya SBC-E
Customer
WebRTCMedia
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW(Optional)
SIPWebSockets
ICEDTLS
OpusUDPSRTP
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
13
WebRTC Signaling
Whatever you want it to be
gt WebSocket
gt XHR Comet
gt XMPP Jingle
gt SIP via JsSIP
gt Smoke Signals
Flexibility by design
14
Media
gt Defined by Session Description Protocol (SDP)
ndash Just like SIP
gt Audio Codecs
ndash G711 Narrowband Audio
gt And possibly iLBC and iSAC
ndash Opus Wideband Audio
gt Video Codecs
ndash H264 and VP8 (headed towards VP9)
gt Separate Point-to-Point Data Channel
15
Opus
gt Bit-rates from 6 kbs to 510 kbs
gt Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
gt Frame sizes from 25 ms to 60 ms
gt Support for both constant bit-rate and variable bit-rate Audio
gt Support for speech and music mono and stereo
gt Dynamically adjustable bitrate audio bandwidth and frame size
gt Good loss robustness and packet loss concealment (PLC)
Ah but what about firewalls and private IP addresses
17
STUN
18
TURN
19
Security
gt Signalingndash DTLS (Datagram Transport Layer Security)
ndash Think HTTPS for UDP
gt Mediandash SRTP
20
Identity
Browser is configured with identity provider(s) for the user
gt User ldquologs onrdquo using protocol downloaded from identity provider
gt Browser gets an assertion from identity provider that binds with DTLS fingerprint to the identity such as aprokoparrowsicom
gt The calling JavaScript passes the assertion to the far side
gt The far sidersquos browser verifies the assertion with identity provider and checks that DTLS fingerprint matches the assertion
gt Browser displays ldquosecure to aprokoparrowsicomrdquo
21
Challenges
gt WebRTC is still in flux
gt No defined signaling protocol
gt Not all parties are on board
ndash Apple and Microsoft still not fully onboard
ndash Microsoft has proposed competingcomplimentary technology -- ORTC
22
Taming the Beast
gt 99 (and counting) WebRTC SDKs and Toolkitsndash 39 focused on mobile devices
ndash 34 focused on messaging
gt 18 Open Source Projects
23
I
n
t
e
r
n
e
t
HTML 5
Consumer Facing Web Application
Make Call
SM SMSM
SM SMSM
BreezeBreeze
Breeze
WebRTC
Media Services
(AMS)
SIPH323
Agent
STUN TURN
Avaya SBC-E
WebRTC
Agent
WebRTCMedia
Reverse Proxy
SIP
SIP
WebRTC Snap-In
STUN TURN
Avaya SBC-E
Customer
WebRTCMedia
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW(Optional)
SIPWebSockets
ICEDTLS
OpusUDPSRTP
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
14
Media
gt Defined by Session Description Protocol (SDP)
ndash Just like SIP
gt Audio Codecs
ndash G711 Narrowband Audio
gt And possibly iLBC and iSAC
ndash Opus Wideband Audio
gt Video Codecs
ndash H264 and VP8 (headed towards VP9)
gt Separate Point-to-Point Data Channel
15
Opus
gt Bit-rates from 6 kbs to 510 kbs
gt Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
gt Frame sizes from 25 ms to 60 ms
gt Support for both constant bit-rate and variable bit-rate Audio
gt Support for speech and music mono and stereo
gt Dynamically adjustable bitrate audio bandwidth and frame size
gt Good loss robustness and packet loss concealment (PLC)
Ah but what about firewalls and private IP addresses
17
STUN
18
TURN
19
Security
gt Signalingndash DTLS (Datagram Transport Layer Security)
ndash Think HTTPS for UDP
gt Mediandash SRTP
20
Identity
Browser is configured with identity provider(s) for the user
gt User ldquologs onrdquo using protocol downloaded from identity provider
gt Browser gets an assertion from identity provider that binds with DTLS fingerprint to the identity such as aprokoparrowsicom
gt The calling JavaScript passes the assertion to the far side
gt The far sidersquos browser verifies the assertion with identity provider and checks that DTLS fingerprint matches the assertion
gt Browser displays ldquosecure to aprokoparrowsicomrdquo
21
Challenges
gt WebRTC is still in flux
gt No defined signaling protocol
gt Not all parties are on board
ndash Apple and Microsoft still not fully onboard
ndash Microsoft has proposed competingcomplimentary technology -- ORTC
22
Taming the Beast
gt 99 (and counting) WebRTC SDKs and Toolkitsndash 39 focused on mobile devices
ndash 34 focused on messaging
gt 18 Open Source Projects
23
I
n
t
e
r
n
e
t
HTML 5
Consumer Facing Web Application
Make Call
SM SMSM
SM SMSM
BreezeBreeze
Breeze
WebRTC
Media Services
(AMS)
SIPH323
Agent
STUN TURN
Avaya SBC-E
WebRTC
Agent
WebRTCMedia
Reverse Proxy
SIP
SIP
WebRTC Snap-In
STUN TURN
Avaya SBC-E
Customer
WebRTCMedia
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW(Optional)
SIPWebSockets
ICEDTLS
OpusUDPSRTP
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
15
Opus
gt Bit-rates from 6 kbs to 510 kbs
gt Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
gt Frame sizes from 25 ms to 60 ms
gt Support for both constant bit-rate and variable bit-rate Audio
gt Support for speech and music mono and stereo
gt Dynamically adjustable bitrate audio bandwidth and frame size
gt Good loss robustness and packet loss concealment (PLC)
Ah but what about firewalls and private IP addresses
17
STUN
18
TURN
19
Security
gt Signalingndash DTLS (Datagram Transport Layer Security)
ndash Think HTTPS for UDP
gt Mediandash SRTP
20
Identity
Browser is configured with identity provider(s) for the user
gt User ldquologs onrdquo using protocol downloaded from identity provider
gt Browser gets an assertion from identity provider that binds with DTLS fingerprint to the identity such as aprokoparrowsicom
gt The calling JavaScript passes the assertion to the far side
gt The far sidersquos browser verifies the assertion with identity provider and checks that DTLS fingerprint matches the assertion
gt Browser displays ldquosecure to aprokoparrowsicomrdquo
21
Challenges
gt WebRTC is still in flux
gt No defined signaling protocol
gt Not all parties are on board
ndash Apple and Microsoft still not fully onboard
ndash Microsoft has proposed competingcomplimentary technology -- ORTC
22
Taming the Beast
gt 99 (and counting) WebRTC SDKs and Toolkitsndash 39 focused on mobile devices
ndash 34 focused on messaging
gt 18 Open Source Projects
23
I
n
t
e
r
n
e
t
HTML 5
Consumer Facing Web Application
Make Call
SM SMSM
SM SMSM
BreezeBreeze
Breeze
WebRTC
Media Services
(AMS)
SIPH323
Agent
STUN TURN
Avaya SBC-E
WebRTC
Agent
WebRTCMedia
Reverse Proxy
SIP
SIP
WebRTC Snap-In
STUN TURN
Avaya SBC-E
Customer
WebRTCMedia
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW(Optional)
SIPWebSockets
ICEDTLS
OpusUDPSRTP
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
Ah but what about firewalls and private IP addresses
17
STUN
18
TURN
19
Security
gt Signalingndash DTLS (Datagram Transport Layer Security)
ndash Think HTTPS for UDP
gt Mediandash SRTP
20
Identity
Browser is configured with identity provider(s) for the user
gt User ldquologs onrdquo using protocol downloaded from identity provider
gt Browser gets an assertion from identity provider that binds with DTLS fingerprint to the identity such as aprokoparrowsicom
gt The calling JavaScript passes the assertion to the far side
gt The far sidersquos browser verifies the assertion with identity provider and checks that DTLS fingerprint matches the assertion
gt Browser displays ldquosecure to aprokoparrowsicomrdquo
21
Challenges
gt WebRTC is still in flux
gt No defined signaling protocol
gt Not all parties are on board
ndash Apple and Microsoft still not fully onboard
ndash Microsoft has proposed competingcomplimentary technology -- ORTC
22
Taming the Beast
gt 99 (and counting) WebRTC SDKs and Toolkitsndash 39 focused on mobile devices
ndash 34 focused on messaging
gt 18 Open Source Projects
23
I
n
t
e
r
n
e
t
HTML 5
Consumer Facing Web Application
Make Call
SM SMSM
SM SMSM
BreezeBreeze
Breeze
WebRTC
Media Services
(AMS)
SIPH323
Agent
STUN TURN
Avaya SBC-E
WebRTC
Agent
WebRTCMedia
Reverse Proxy
SIP
SIP
WebRTC Snap-In
STUN TURN
Avaya SBC-E
Customer
WebRTCMedia
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW(Optional)
SIPWebSockets
ICEDTLS
OpusUDPSRTP
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
17
STUN
18
TURN
19
Security
gt Signalingndash DTLS (Datagram Transport Layer Security)
ndash Think HTTPS for UDP
gt Mediandash SRTP
20
Identity
Browser is configured with identity provider(s) for the user
gt User ldquologs onrdquo using protocol downloaded from identity provider
gt Browser gets an assertion from identity provider that binds with DTLS fingerprint to the identity such as aprokoparrowsicom
gt The calling JavaScript passes the assertion to the far side
gt The far sidersquos browser verifies the assertion with identity provider and checks that DTLS fingerprint matches the assertion
gt Browser displays ldquosecure to aprokoparrowsicomrdquo
21
Challenges
gt WebRTC is still in flux
gt No defined signaling protocol
gt Not all parties are on board
ndash Apple and Microsoft still not fully onboard
ndash Microsoft has proposed competingcomplimentary technology -- ORTC
22
Taming the Beast
gt 99 (and counting) WebRTC SDKs and Toolkitsndash 39 focused on mobile devices
ndash 34 focused on messaging
gt 18 Open Source Projects
23
I
n
t
e
r
n
e
t
HTML 5
Consumer Facing Web Application
Make Call
SM SMSM
SM SMSM
BreezeBreeze
Breeze
WebRTC
Media Services
(AMS)
SIPH323
Agent
STUN TURN
Avaya SBC-E
WebRTC
Agent
WebRTCMedia
Reverse Proxy
SIP
SIP
WebRTC Snap-In
STUN TURN
Avaya SBC-E
Customer
WebRTCMedia
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW(Optional)
SIPWebSockets
ICEDTLS
OpusUDPSRTP
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
18
TURN
19
Security
gt Signalingndash DTLS (Datagram Transport Layer Security)
ndash Think HTTPS for UDP
gt Mediandash SRTP
20
Identity
Browser is configured with identity provider(s) for the user
gt User ldquologs onrdquo using protocol downloaded from identity provider
gt Browser gets an assertion from identity provider that binds with DTLS fingerprint to the identity such as aprokoparrowsicom
gt The calling JavaScript passes the assertion to the far side
gt The far sidersquos browser verifies the assertion with identity provider and checks that DTLS fingerprint matches the assertion
gt Browser displays ldquosecure to aprokoparrowsicomrdquo
21
Challenges
gt WebRTC is still in flux
gt No defined signaling protocol
gt Not all parties are on board
ndash Apple and Microsoft still not fully onboard
ndash Microsoft has proposed competingcomplimentary technology -- ORTC
22
Taming the Beast
gt 99 (and counting) WebRTC SDKs and Toolkitsndash 39 focused on mobile devices
ndash 34 focused on messaging
gt 18 Open Source Projects
23
I
n
t
e
r
n
e
t
HTML 5
Consumer Facing Web Application
Make Call
SM SMSM
SM SMSM
BreezeBreeze
Breeze
WebRTC
Media Services
(AMS)
SIPH323
Agent
STUN TURN
Avaya SBC-E
WebRTC
Agent
WebRTCMedia
Reverse Proxy
SIP
SIP
WebRTC Snap-In
STUN TURN
Avaya SBC-E
Customer
WebRTCMedia
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW(Optional)
SIPWebSockets
ICEDTLS
OpusUDPSRTP
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
19
Security
gt Signalingndash DTLS (Datagram Transport Layer Security)
ndash Think HTTPS for UDP
gt Mediandash SRTP
20
Identity
Browser is configured with identity provider(s) for the user
gt User ldquologs onrdquo using protocol downloaded from identity provider
gt Browser gets an assertion from identity provider that binds with DTLS fingerprint to the identity such as aprokoparrowsicom
gt The calling JavaScript passes the assertion to the far side
gt The far sidersquos browser verifies the assertion with identity provider and checks that DTLS fingerprint matches the assertion
gt Browser displays ldquosecure to aprokoparrowsicomrdquo
21
Challenges
gt WebRTC is still in flux
gt No defined signaling protocol
gt Not all parties are on board
ndash Apple and Microsoft still not fully onboard
ndash Microsoft has proposed competingcomplimentary technology -- ORTC
22
Taming the Beast
gt 99 (and counting) WebRTC SDKs and Toolkitsndash 39 focused on mobile devices
ndash 34 focused on messaging
gt 18 Open Source Projects
23
I
n
t
e
r
n
e
t
HTML 5
Consumer Facing Web Application
Make Call
SM SMSM
SM SMSM
BreezeBreeze
Breeze
WebRTC
Media Services
(AMS)
SIPH323
Agent
STUN TURN
Avaya SBC-E
WebRTC
Agent
WebRTCMedia
Reverse Proxy
SIP
SIP
WebRTC Snap-In
STUN TURN
Avaya SBC-E
Customer
WebRTCMedia
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW(Optional)
SIPWebSockets
ICEDTLS
OpusUDPSRTP
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
20
Identity
Browser is configured with identity provider(s) for the user
gt User ldquologs onrdquo using protocol downloaded from identity provider
gt Browser gets an assertion from identity provider that binds with DTLS fingerprint to the identity such as aprokoparrowsicom
gt The calling JavaScript passes the assertion to the far side
gt The far sidersquos browser verifies the assertion with identity provider and checks that DTLS fingerprint matches the assertion
gt Browser displays ldquosecure to aprokoparrowsicomrdquo
21
Challenges
gt WebRTC is still in flux
gt No defined signaling protocol
gt Not all parties are on board
ndash Apple and Microsoft still not fully onboard
ndash Microsoft has proposed competingcomplimentary technology -- ORTC
22
Taming the Beast
gt 99 (and counting) WebRTC SDKs and Toolkitsndash 39 focused on mobile devices
ndash 34 focused on messaging
gt 18 Open Source Projects
23
I
n
t
e
r
n
e
t
HTML 5
Consumer Facing Web Application
Make Call
SM SMSM
SM SMSM
BreezeBreeze
Breeze
WebRTC
Media Services
(AMS)
SIPH323
Agent
STUN TURN
Avaya SBC-E
WebRTC
Agent
WebRTCMedia
Reverse Proxy
SIP
SIP
WebRTC Snap-In
STUN TURN
Avaya SBC-E
Customer
WebRTCMedia
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW(Optional)
SIPWebSockets
ICEDTLS
OpusUDPSRTP
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
21
Challenges
gt WebRTC is still in flux
gt No defined signaling protocol
gt Not all parties are on board
ndash Apple and Microsoft still not fully onboard
ndash Microsoft has proposed competingcomplimentary technology -- ORTC
22
Taming the Beast
gt 99 (and counting) WebRTC SDKs and Toolkitsndash 39 focused on mobile devices
ndash 34 focused on messaging
gt 18 Open Source Projects
23
I
n
t
e
r
n
e
t
HTML 5
Consumer Facing Web Application
Make Call
SM SMSM
SM SMSM
BreezeBreeze
Breeze
WebRTC
Media Services
(AMS)
SIPH323
Agent
STUN TURN
Avaya SBC-E
WebRTC
Agent
WebRTCMedia
Reverse Proxy
SIP
SIP
WebRTC Snap-In
STUN TURN
Avaya SBC-E
Customer
WebRTCMedia
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW(Optional)
SIPWebSockets
ICEDTLS
OpusUDPSRTP
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
22
Taming the Beast
gt 99 (and counting) WebRTC SDKs and Toolkitsndash 39 focused on mobile devices
ndash 34 focused on messaging
gt 18 Open Source Projects
23
I
n
t
e
r
n
e
t
HTML 5
Consumer Facing Web Application
Make Call
SM SMSM
SM SMSM
BreezeBreeze
Breeze
WebRTC
Media Services
(AMS)
SIPH323
Agent
STUN TURN
Avaya SBC-E
WebRTC
Agent
WebRTCMedia
Reverse Proxy
SIP
SIP
WebRTC Snap-In
STUN TURN
Avaya SBC-E
Customer
WebRTCMedia
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW(Optional)
SIPWebSockets
ICEDTLS
OpusUDPSRTP
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
23
I
n
t
e
r
n
e
t
HTML 5
Consumer Facing Web Application
Make Call
SM SMSM
SM SMSM
BreezeBreeze
Breeze
WebRTC
Media Services
(AMS)
SIPH323
Agent
STUN TURN
Avaya SBC-E
WebRTC
Agent
WebRTCMedia
Reverse Proxy
SIP
SIP
WebRTC Snap-In
STUN TURN
Avaya SBC-E
Customer
WebRTCMedia
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW(Optional)
SIPWebSockets
ICEDTLS
OpusUDPSRTP
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
24
AudioCodes WebRTC Gateway
Access SBC
Transcoding GW(Optional)
SIPWebSockets
ICEDTLS
OpusUDPSRTP
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
25
Whatrsquos Next
gt Specification will solidify
gt Multiparty media
gt Widespread IoT adoption
gt Middleware (eg media stream recording)
gt Better statistics and reporting
gt ORTC and WebRTC will merge
gt Apple will finally make up its mind
Questions
Questions