webrtc meetup @ oracle san francisco

16
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Connectivity in WebRTC WebRTC San Francisco Meet-up 28 April 2016 Amitha Pulijala Director, Product Management Oracle Communications 1

Upload: amithap07

Post on 15-Feb-2017

162 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: WebRTC Meetup @ Oracle San Francisco

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Connectivity in WebRTC WebRTC San Francisco Meet-up 28 April 2016

Amitha Pulijala Director, Product Management Oracle Communications

1

Page 2: WebRTC Meetup @ Oracle San Francisco

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 2

What’s Oracle Doing with WebRTC?

Audio Video Data

Connecting User’s journey through your application with WebRTC Communications

Data Transfer Screen Share

Chat Audio/Video

Call

Oracle WebRTC Session Controller

Client SDK

Signaling & Media Engine

Interoperability

Page 3: WebRTC Meetup @ Oracle San Francisco

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

What do Customers Expect from Great Experiences?

CONSISTENT VIDEO & VOICE

CONNECTED INTERACTIONS

PERSONALIZED JOURNEY

EFFICIENT SERVICE

REWARDING RELATIONSHIP

3

Page 4: WebRTC Meetup @ Oracle San Francisco

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

WebRTC Simple View

Oracle Confidential – Internal/Restricted/Highly Restricted 4

Signaling Signaling

Media (SRTP) App App

Page 5: WebRTC Meetup @ Oracle San Francisco

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

WebRTC Session Controller

Signaling Engine

WebRTC “Real-World” Architecture

Oracle Confidential – Internal/Restricted/Highly Restricted 5

Identity Server

App

Notification Server

Signaling Normalization

Media Engine

Media Normalization

Transcoding

STUN/TURN

APNS, GCM

Web Server

Browser

PSTN Gateway JSON/ WebSocket

SIP

REST

RTP

JSON/ WebSocket

SRTP

SRTP

MCU/SFU

REST/ JSR 309

RTP

Page 6: WebRTC Meetup @ Oracle San Francisco

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

What makes WebRTC Connectivity Complex?

Oracle Confidential – Internal/Restricted/Highly Restricted 6

STUN

TURN

UDP/TCP/HTTP Proxy

Multiple Media Hops

End Point Latencies

Firewalls

Topology (Operational)

Congestion

Packet Loss

Bit Rate

Transcoding

Mixing

Network Conditions

Video Processing

Encoding & Decoding

WebRTC Connectivity

Geography

WebRTC Connectivity and Quality - Common Considerations

Page 7: WebRTC Meetup @ Oracle San Francisco

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 7

Sounds Familiar?

Copyright & Trademark Dilbert by Scott Adams

Page 8: WebRTC Meetup @ Oracle San Francisco

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Some Common Connectivity Issues

• We can see the video in the beginning, but some time later (a couple of seconds?), the video is frozen!

• Audio is only heard one-way

• Connected but can’t see video at all (this happens, but not very often!)

• Noise in the call, don’t quite know why?

• Delayed video track

8

Page 9: WebRTC Meetup @ Oracle San Francisco

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Why do you see these? Key Metrics to capture

• Talk over effects

– With round trip latencies above 300 msec or so, users may experience annoying talk-over effects.

• Garbled voice/video

– Jitter causes packets to arrive at their destination with different timing and possibly in a different order than they were sent (spoken), with some arriving faster and some slower than they should.

• Choppy voice/video

– Knowing the average packet loss for a call gives you an overall sense for the quality of the call. Key Frames are dropped.

• Frozen video, can’t see video after some time

– Check STUN/TURN connectivity, validity of long term credentials, TURN allocations and reconnection.

• Connected, audio choppy or goes out

– Check audioInputLevel, analyze packet loss (PLC/VLC) at every media interface

9

Page 10: WebRTC Meetup @ Oracle San Francisco

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

How to capture the metrics and debug

• Tools

– Wireshark Traces

– WebRTC Statistics API (getStats)

– Advanced Quality Analysis • PESQ Tools for analyzing high-bandwidth audio

• PEVQ Tools for analyzing video quality

• Callstats io (proprietary quality metrics)

• Trouble Triggers – High Packet Loss

– High Jitter Buffer

– Total Frame Delay

– Round Trip Latency

10

WebRTC internals

Page 11: WebRTC Meetup @ Oracle San Francisco

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Better Connectivity Experience

• Optimize Topologies

– Avoid Multiple Hops

– Avoid Media Encoding/Decoding

• Fallback Strategies – Downgrade to audio

– Mid call resolution changes

11

Page 12: WebRTC Meetup @ Oracle San Francisco

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 12

Better Moments of Truth

Sometimes you just need to disconnect, but still stay engaged!

Page 13: WebRTC Meetup @ Oracle San Francisco

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

WebRTC Notifications – Optimizing the Connectivity

• Customers expect to stay “engaged” when they wander away from the app without draining device resources

• This can be solved by:

– Optimizing the WebSocket connections with Push Notifications • Hibernation of the session during periods of inactivity

• Session is activated upon wake up/ call resume

– Mobile Push Notification Gateway • Manages connectivity to APNS, GCM; registers and activates multiple apps

• Delivers push notifications to iOS and Android

– Chrome Push Notifications – Service Worker, W3C API • On desktop and mobile browsers

13

Page 15: WebRTC Meetup @ Oracle San Francisco

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Thank You!

15

Page 16: WebRTC Meetup @ Oracle San Francisco

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

DEMO (Oracle WebRTC Notifications)

16