Real-time Communications at Internet Speed

Post on 10-Feb-2017

236 views 0 download

transcript

© 2015 IBM Corporation

WebRTC: Real-Time Communications at Internet Speed

Brian Pulito IBM WebSphere Architectemail: brian_pulito@us.ibm.comtwitter: @brianpulitolinkedin: brianpulito

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!

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

What does the WebRTC Market look like?

5

WebRTC developer statistics

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

7

The problem with WebRTC today is…

Source: http://webrtcstats.com/

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

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

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

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

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

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

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

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:

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

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

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.

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.

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.

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

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

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

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

25

WebRTC from a Call Service Providers centric perspective

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

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

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

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!

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!

30

WebRTC from a web and mobile centric perspective

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

32

A real-time communications revolution is happening today!

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

Messenger

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/

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.

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

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!

37