37
© 2015 IBM Corporation WebRTC: Real- Time Communications at Internet Speed Brian Pulito IBM WebSphere Architect email: [email protected] twitter: @brianpulito linkedin: brianpulito

Real-time Communications at Internet Speed

Embed Size (px)

Citation preview

Page 1: Real-time Communications at Internet Speed

© 2015 IBM Corporation

WebRTC: Real-Time Communications at Internet Speed

Brian Pulito IBM WebSphere Architectemail: [email protected]: @brianpulitolinkedin: brianpulito

Page 2: Real-time Communications at Internet Speed

2

What if real-time communications was born on the web?

• Would context be the driver for real-time interactions?• Would telephone numbers be less important than context?• Would most web and mobile apps be enabled with real-time?• Would companies interact differently with their customers?

Pleased to meet you!

With WebRTC we’re about to find out!

Page 3: Real-time Communications at Internet Speed

3

What is WebRTC?

Why is WebRTC so disruptive? Eliminates complexity of delivering codecs and streaming protocols. Closely aligned with HTML 5, programmed via JavaScript. Enables real-time data communications in addition to voice and video. Strong industry support. Enables contextual communications!

WebRTC offers web application developers the ability to write rich, realtime multimedia applications on the web, without requiring plugins, downloads or installs. (source www.webrtc.org)

3

Page 4: Real-time Communications at Internet Speed

What does the WebRTC Market look like?

Page 5: Real-time Communications at Internet Speed

5

WebRTC developer statistics

Page 6: Real-time Communications at Internet Speed

Is WebRTC ready yet?

Source: http://iswebrtcreadyyet.com/

6

- Cisco announces OpenH264 (Oct. 30th, 2013)

- Microsoft announces WebRTC and ORTC support (Oct. 27th, 2014)

- Apple implements features of GetUserMedia and MediaStreams in the mac ports of webkits(Aug. 15th, 2015)

- Microsoft announces VP9 support in Edge (Sept. 8th, 2015)

NEWS

Supported Mobile Platforms

Source: http://www.webrtc.org

Page 7: Real-time Communications at Internet Speed

7

The problem with WebRTC today is…

Source: http://webrtcstats.com/

Page 8: Real-time Communications at Internet Speed

8

What is context relative to WebRTC?

A. Data derived from a customer’s interaction with a web site?B. Data contained in a mobile application?C. Information derived from real-time streaming analytics?D. Sensor data from an IoT device?E. All of the above?

Context is being combined with WebRTC to:• To define who should be communicating• To trigger the real-time interaction• To provide subject matter for the real-time interaction• To provide real-time feedback on what is being communicated

Page 9: Real-time Communications at Internet Speed

9

Low effort interactions drive loyalty

Customer loyalty correlates directly to the amount of effort a customer experiences when interacting with support services.

Contact Center: Loyalty Vs. Satisfaction

0%

20%

40%

60%

80%

100%

Low Effort High Effort

Loyalty

0%5%

10%15%20%25%30%

Satisfied-Plan to Leave

Not Satisfied -

Plan to Stay

Satisfaction

Corporate Executive Board, 2008

Source: WebRTC Strategies: Interaction Experience 2.0

Page 10: Real-time Communications at Internet Speed

10

A typical web engagement…

Customer goes to a web site to research a product, use a service, etc.

A question requiring a support engagement comes up.

Customer leaves web site to contact support agent via telephone (if they can find a phone # to call).

Frustration ensues…

1

2

3

4

Page 11: Real-time Communications at Internet Speed

11

A better web engagement…

A question requiring a support engagement comes up.

Customer clicks a help button located on the page being viewed.

Customer is connected directly to an agent with the proper skill and context to quickly answer the question…

Help!

2

3

4

Customer goes to a web site to research a product, use a service, etc.

1

Page 12: Real-time Communications at Internet Speed

Signaling Server(routing, context, etc.)

Use Case 1: Remote Healthcare

https://github.com/WASdev/sample.rtcomm.healthcarehttp://rtcomm-healthcare.wasdev.developer.ibm.com

12

media plane (RTP, SRTP, DTLS, ICE)

signaling plane (SIP, MQTT/Rtcomm, XMPP, WebSockets)

Browser or mobile app Browser

Page 13: Real-time Communications at Internet Speed

Use Case 2: WebRTC Enterprise Team Rooms

A large enterprise wants to deploy a system enabling both on premises and remote employees to easily communicate with each other in the context of team rooms.

Solution:• Deploy WebSphere with the new Rtcomm feature on the corporate intranet.• Deploy STUN/TURN server in the DMZ• Use Rtcomm SDK for development of web and mobile app integration with WebRTC

13

Internet Intranet

External Mobile Clients

STUN/TURN/ICE

Signaling Application

Server

InternalWeb

Clients

WebRTC signalingWebRTC media

DMZ

External Web

ClientsReverse Proxy

Internal iPad

Clients

External Web

Clients

Internal iPad

Clients

Page 14: Real-time Communications at Internet Speed

14

Use Case 3: WebRTC-to-SIP Contact Center

Large enterprise wants to extend existing SIP based call center to support web and mobile app users. This company also wants to improve support by taking advantage of the context collected within their web and mobile applications.

• Problem:• Competitors deploying A/V capabilities in their web and mobile apps to improve

customer support.• Company needs to leverage existing developer skills.

• Solution:• Deploy Rtcomm WebRTC gateway to connect web and mobile clients into an existing

SIP based contact center.• Introduce development team to Rtcomm SDKs

DMZInternet Enterprise Network

WebRTC Clients

STUN/TURN/ICE

Reverse ProxyRtcomm

(WebRTC) Gateway

Media Server

JSR 309SIP Contact

Center / IMS Core

Page 15: Real-time Communications at Internet Speed

15

Media Server as a ServiceTranscoding, mixing, recording, replaying, IVR….

SIP

Mobile Notifications

A/VAnalysis

Push

Surveillance NetworkSBC/SIP

Gateway

Carrier Network

IMS

Real-time A/V

SignalsAPIs

Enterprise PBX

SIP

SIP

• Connect WebRTC clients with different A/V and RTC networks

• Use media server to record, mix media streams, play announcements….

• Use analytics to provide context:• Customer insights• Sentiment analysis• Video analysis• Text-to-speech

Use Case 4: WebRTC Analytic Solutions

WebRTCGateway/App Server

Analytics

http://bit.ly/1FL8A8zSee demo here:

Page 16: Real-time Communications at Internet Speed

Use Case 5: WebRTC and IoT

IoT embedded sensor triggers a 3rd party video connection between a camera and a supervisor.

WebRTC Middleware

3PCCservice

1

2

3

Page 17: Real-time Communications at Internet Speed

17

WebRTC Under The Hood

• Codecs: Voice: Opus, G.711, G.722, iLBC, and iSAC; Video VP8• STUN + TURN + ICE• Echo Cancelation• A/V Capture• Peer-to-peer data channels

Page 18: Real-time Communications at Internet Speed

18

WebRTC Codec Wars• H.264: is a video coding format that is currently one of the most commonly

used formats for the recording, compression, and distribution of video content.• MPEG LA provides license pools for H.264. They represent 31+ different

companies that hold H.264 patents including Apple, Cisco and Microsoft.• VP8 is a video compression format owned by Google and created by On2

Technologies as a successor to VP7 • Google has irrevocably released all of the VP8 patents it owns under a royalty-

free public license.

Page 19: Real-time Communications at Internet Speed

19

Signaling for WebRTC

• Signaling is needed to exchange details to setup the call• Supported codecs, media address/ports, ICE candidates, etc.

• Many choices for signaling:• Session Initiation Protocol (SIP)• XMPP / Jingle• MQ Telemetry Transport (MQTT) / Rtcomm

• Signaling transport protocols:• Web apps typically rely on WebSockets• Mobile apps on TCP/SSL/TLS

• SIP for federation unless a WebRTC island is good enough• WebRTC Gateways typically used to transcode signaling

WebRTC does not define the signaling plane. It only defines a model for sending and receiving media and a set of protocols for traversing firewalls.

Page 20: Real-time Communications at Internet Speed

20

ICE-STUN-TURN

Source: http://www.html5rocks.com/

• WebRTC apps use ICE to overcome the complexities of real-world networking.

• A STUN server is used to get an external network address.• TURN servers are used to relay traffic if direct (peer to peer) connection fails.

Page 21: Real-time Communications at Internet Speed

June 3, 2013

WebRTC Security

Signaling Server

Browser

Call Server

IdP1 IdP 2

https

Browser

httpshttpshttp

s

DTLS-SRTPMedia Stream

Assertion AssertionVerification

Note: This slide is a reimaging of Figure 3 in http://tools.ietf.org/html/draft-ietf-rtcweb-security-arch-06

Page 22: Real-time Communications at Internet Speed

22

WebRTC Backend Media Processing• Media Resource Functions (MRF) provide server-side media

processing for.

Source: Dialogic

Multi-party mixing InterworkingTranscoding

Stream processing Person-to-machineRecording

Media Server Use Cases

Page 23: Real-time Communications at Internet Speed

23

WebRTC Reference Topology

CoturnOpen Source

STUN/TURN Server

Dialogic XMS Media Server

(Transcoding, Multiway, Record/Playback)

WebSphere Liberty

(Rtcomm Gateway, JSR 289 SIP Servlets)

HTML5

Web Browser

JavaScript Applications

WebRTC SDK

HTTP + WebSocket

Reverse Proxy

STUN/TURN Server

(Coturn)

Signaling Gateway,

App Server. Message Broker(JSR 289 SIP Servlets )

Media Processing Server

DMZ

SIP Services / IMS Core

Media + ICE

JSR 309

Internet Intranet

SIP

Media + ICE

Media

+ ICE

Media Relay

HTTP/REST

Signaling over WebSockets

HTTP/REST

WebRTC Gateway + Services

Signaling over WebSockets

Page 24: Real-time Communications at Internet Speed

24

Media Server Control API (JSR 309)

The Media Server Control API is intended to provide multimedia application developers with a generic Media Server (MS) abstraction interface. It defines both a programming model and an object model for MS control independent of MS control protocols. (Source: JSR 309 Specification)

Demos using media server:• JetStream: http://bit.ly/1KFoh8J• Watson Guard: http://bit.ly/1Oe5jpb

Application

MediaGroup(IVR functions,

record, playback…

Media Servers

Media Mixer

Media composition (JSR 309)

Network Connection (SDPs)

SIPMQTTHTTP

RTPSRTPDTLSICE

Page 25: Real-time Communications at Internet Speed

25

WebRTC from a Call Service Providers centric perspective

Source: http://www.moneyisnotimportant.com/

Page 26: Real-time Communications at Internet Speed

Call Service Providers are seeing their core business erode as operating costs increase due to Over The Top (OTT) service providers.

OTT services increase bandwidth demands on network operators.

Operational costs escalate to keep up with OTT services.

Core voice and data services are becoming commoditized.

Operators are being cut out ofOTT revenue chains.

76% of Telecom CEOs consider over the top service providers as their greatest competitive threat (source MobileSquared’s)

NetworkOperator

Page 27: Real-time Communications at Internet Speed

LTE is accelerating OTT threat to network operator core businesses

Carriers will have to compete with OTTs based on cost and features.

• LTE is a gateway to OTT rich media communication services • OTT rich media services are delivered across open packet switched networks.

Messenger

LTE, an abbreviation for Long-Term Evolution, commonly marketed as 4G LTE, is a standard for wireless communication of high-speed data for mobile phones and data terminals. Source Wikipedia

Page 28: Real-time Communications at Internet Speed

Voice Over LTE (VoLTE) is leveling the playing field between carriers and OTTs.

• Voice just another app that relies on the LTE pipe.• No dedicated circuit switched telephony channel.• Built on IMS which utilizes SIP for call signaling.

Operators that launch LTE with voice support (VoLTE) can expect twice as much average revenue per user (ARPU) as rivals that offer LTE as a data-only service, according to a recent study by Heavy Reading and Wireless 20/20.

VoLTE enables new OTT type services while maintaining critical legacy capabilities!

Page 29: Real-time Communications at Internet Speed

29

VoLTE and IMS are only part of the solution

• Network operators faced with these realities:• Phone calls are becoming less popular (and useful)• Good quality is NOT always critical• Interoperability only essential for lowest-common denominator

services• Intention/outcomes are more important than minutes/messages.• Strong need for personalisation and contextualisation capabilities

Source Info: Disruptive Analysis & Martin Geddes Consulting

Operators need new demand-driven service models!

Page 30: Real-time Communications at Internet Speed

30

WebRTC from a web and mobile centric perspective

Page 31: Real-time Communications at Internet Speed

31

Real-Time Communications (RTC) getting “app stored”

• RTC is becoming “hyper” personalized• No two users have the exact same need• RTC being embedded with the context

Source Info: Disruptive Analysis & Martin Geddes Consulting

Reduced focus on ubiquity = Accelerated innovation

• Elimination of codec licenses liberating dev• RTC exposes to 9 million JavaScript developers

Page 32: Real-time Communications at Internet Speed

32

A real-time communications revolution is happening today!

Many companies are integrating WebRTC into their mission critical web and mobile applications today

Messenger

Page 33: Real-time Communications at Internet Speed

33

WebRTC and Open Source• WebRTC

• www.webrtc.org • PhoneRTC (WebRTC Cordova Plugin)

• http://phonertc.io/ • WebRTC Gateway

• http://webrtc2sip.org/ • JavaScript SIP over Web Sockets stack

• http://sipml5.org/ • Coturn (STUN/TURN Server)

• https://github.com/coturn/coturn • WebRTC/SIP App Servers (SIP Servlets, WebRTC GW)

• www.wasdev.net• http://www.mobicents.org/

• Rtcomm (web and mobile SDKs): • www.wasdev.net/webrtc

• Mosquitto (MQTT Broker): • http://mosquitto.org/

• Paho MQTT client• http://www.eclipse.org/paho/

Page 34: Real-time Communications at Internet Speed

34

angular-rtcomm landing page: Get started now!

Three options for developers:1. Test widgets directly on the landing page.2. Build your own angular applications using

provided backend.3. Build your own sandbox with Liberty using

provided MQTT broker.

http://angular-rtcomm.wasdev.developer.ibm.com

The angular-rtcomm landing page is an interactive AngularJS web application for demonstrating the angular-rtcomm module.

Page 35: Real-time Communications at Internet Speed

35

Rtcomm, Node.js and Node-RED

Node.js Module for Rtcomm• Support 3PCC and MonitoringNode-RED: • A visual tool for wiring the Internet of Things like:• MQTT enabled devices, MongoDB, Twitter, and much more!Rtcomm Node-RED Nodes• Third-Party Call Control• Session monitoring• Presence monitoring

https://github.com/WASdev/lib.rtcomm.nodehttps://github.com/WASdev/lib.rtcomm.node-red

npm install node-red-contrib-rtcomm

npm install rtcomm

Page 36: Real-time Communications at Internet Speed

36

Conclusion: WebRTC is for real!

• Most major browser vendors have publically committed or shown signs of commitment to WebRTC!

• WebRTC is in wide spread production use today!• Its supported on the two major mobile platforms today!• Standards for WebRTC are nearing maturity!

So start your own WebRTC project today!

Go Cats!

Page 37: Real-time Communications at Internet Speed

37