26
WebRTC For Beginners Andrew Prokop Director of Vertical Industries

WebRTC for Beginners Webinar Slides

Embed Size (px)

Citation preview

Page 1: WebRTC for Beginners Webinar Slides

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

Page 2: WebRTC for Beginners Webinar Slides

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

Page 3: WebRTC for Beginners Webinar Slides

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

Page 4: WebRTC for Beginners Webinar Slides

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

Page 5: WebRTC for Beginners Webinar Slides

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

Page 6: WebRTC for Beginners Webinar Slides

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

Page 7: WebRTC for Beginners Webinar Slides

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

Page 8: WebRTC for Beginners Webinar Slides

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

Page 9: WebRTC for Beginners Webinar Slides

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

Page 10: WebRTC for Beginners Webinar Slides

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

Page 11: WebRTC for Beginners Webinar Slides

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

Page 12: WebRTC for Beginners Webinar Slides

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

Page 13: WebRTC for Beginners Webinar Slides

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

Page 14: WebRTC for Beginners Webinar Slides

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

Page 15: WebRTC for Beginners Webinar Slides

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

Page 16: WebRTC for Beginners Webinar Slides

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

Page 17: WebRTC for Beginners Webinar Slides

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

Page 18: WebRTC for Beginners Webinar Slides

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

Page 19: WebRTC for Beginners Webinar Slides

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

Page 20: WebRTC for Beginners Webinar Slides

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

Page 21: WebRTC for Beginners Webinar Slides

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

Page 22: WebRTC for Beginners Webinar Slides

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

Page 23: WebRTC for Beginners Webinar Slides

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

Page 24: WebRTC for Beginners Webinar Slides

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

Page 25: WebRTC for Beginners Webinar Slides

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

Page 26: WebRTC for Beginners Webinar Slides

Questions