WebRTC: Why You Should Care and How Avaya Can Help You
Joel Ezell Lead Architect, Collaboration Environment R&D What is WebRTC? A set of standards being defined by the IETF (protocols) and the W3C (JavaScript API) – Standard protocols defined at the media plane – No standard defined for signaling plane The vision: ubiquitous, standard support of real time audio, video and data between all browsers without plugins / downloads Particular attention paid to: – NAT / Firewall Traversal – Internet-friendly codecs – Privacy
© Avaya, Inc. 2014, All Rights Reserved. 2 Why You Should Care About WebRTC
Integrated Communications
© Avaya, Inc. 2014, All Rights Reserved. 3 Different Ways that WebRTC Can Be Used in the Enterprise On-Ramp – SIP at the core – Browser with WebRTC is used to originate calls into the SIP core – The focus of this presentation Built-In – Multimedia conference bridge has native WebRTC capabilities – No need to transition to SIP before entering the bridge Off-Ramp – SIP at the core – Browser with WebRTC acts as thin UC or agent client
© Avaya, Inc. 2014, All Rights Reserved. 4 Use Case
Refrigerator Customer Support Journey
(Google “YouTube Avaya Aura® Collaboration Environment: Enhanced Business Applications”)
Avaya - Proprietary. Use pursuant to your signed agreement or Avaya policy. 5 Current Customer Journey
1 Enter information on website 2 Find customer support number and dial it 3 Navigate IVR maze 4 Play 20 questions to establish identity 5 Tell the agent what you entered on website 6 Get transferred to somebody that can help you
© Avaya, Inc. 2014, All Rights Reserved. 6 Customer Journey Enabled with WebRTC
1 Enter information on website
2 Click to Call
Expert agent greets you by name and knows exactly 3 why you are calling.
2 Find customer support number and dial it 3 Navigate IVR maze 4 Play 20 questions to establish identity 5 Tell the agent what you entered on website 6 Get transferred to an expert
© Avaya, Inc. 2014, All Rights Reserved. 7 The Key Enabler of Enhanced Customer Journey: WebRTC with Context
Hello Susan, my name is Gary. Let me see how I can help you with the fluctuating temperatures on you Coolomatic 5000.
Support Agent Selection Agent Desktop Website
Context
© Avaya, Inc. 2014, All Rights Reserved. 8 How to Implement this Use Case?
Enter Collaboration Environment
Avaya - Proprietary. Use pursuant to your signed agreement or Avaya policy. 9 How Do I Leverage WebRTC in My Web Application?
WebRTC APIs make it (somewhat) easy to make 2 browsers pointed at the same website talk to each other In a contact center, this simple functionality isn’t sufficient.
STUN
Collaboration Environment makes it easy to embed real time communications into any web experience
© Avaya, Inc. 2014, All Rights Reserved. 10 Collaboration Environment Bridges HTTP and SIP
HTTP SIP
Collaboration Environment
STUN
Support Website Agent Selection Agent Desktop
Context (UUI)
© Avaya, Inc. 2014, All Rights Reserved. 11 Avaya WebRTC Snap-in Architecture
= Customer Developed / Provided
DMZ Customer Facing = Avaya Developed Web Application = Either Customer Provided or Avaya Developed HTML 5
Collaboration HTTP Environment WebApp HTML / Reverse JavaScript Proxy Avaya Avaya WebRTC HTTP Signaling Avaya WebRTC JavaScript (JSL) Snap-In Standard WebRTC API ASBCE SIP STUN/ TURN Avaya WebRTC Avaya Media Stream Media SIP Aura ® Server Media Stream
© Avaya, Inc. 2014, All Rights Reserved. 12 Collaboration Environment
= Customer Developed / Provided
DMZ Customer Facing = Avaya Developed Web Application Collaboration Environment is a = Either Customer Provided highly available, highly scalable or Avaya Developed platform for deployment ofHTML 5 diverse “Snap-Ins” developed by Collaboration Avaya, Business Partners and HTTP Environment WebAppCustomers. HTML / Reverse JavaScript Proxy Avaya Avaya WebRTC HTTP Signaling Avaya WebRTC JavaScriptIncludes (JSL) SIP call control, J2EE Snap-In Standard WebRTCHTTP, API Email and SMSASBCE capabilities. SIP STUN/ TURN Avaya WebRTC Avaya Media Stream Media SIP Aura ® Server Media Stream
© Avaya, Inc. 2014, All Rights Reserved. 13 WebRTC Snap-in
= Customer Developed / Provided
DMZ Customer Facing = Avaya Developed Web Application = Either Customer Provided or Avaya Developed HTML 5
Translates HTTP signaling Collaboration to SIP signaling,HTTP enforces Environment WebApp HTML / Reverse JavaScript authorization,Proxy engages AMSAvaya Avaya WebRTC HTTP Signaling Avaya WebRTC JavaScript (JSL)to translate WebRTC media Snap-In Standard to SIP media WebRTC API ASBCE SIP STUN/ TURN Avaya WebRTC Avaya Media Stream Media SIP Aura ® Server Media Stream
© Avaya, Inc. 2014, All Rights Reserved. 14 WebRTC JavaScript Library (JSL)
= Customer Developed / Provided
DMZ Customer Facing = Avaya Developed Web Application = Either Customer Provided or Avaya Developed HTML 5 Downloaded from WebRTC Collaboration Snap-in and invoked by Web HTTP Environment WebApp HTML / ReverseApplication JavaScript. JavaScript InterfacesProxy to Avayastandard WebRTC Avaya WebRTC HTTP Signaling Avaya WebRTC JavaScript (JSL) browser JavaScript interface andSnap-In Standard signals with WebRTC Snap-In WebRTC API ASBCE using HTTP. SIP STUN/ TURN Avaya WebRTC Avaya Media Stream Media SIP Aura ® Server Media Stream
© Avaya, Inc. 2014, All Rights Reserved. 15 Avaya Media Server (AMS)
= Customer Developed / Provided
DMZ Customer Facing = Avaya Developed Web Application = Either Customer Provided or Avaya Developed HTML 5
Collaboration HTTP Environment WebApp HTML / Reverse JavaScript Proxy Avaya Avaya WebRTC HTTP Signaling Avaya WebRTC JavaScript (JSL) Snap-In Standard WebRTC API ASBCE SIP TerminatesSTUN/ ICE, STUN, TURN TURN, DTLS. Translates WebRTC media stream to Avaya WebRTC Avaya SIP media stream. Media Stream Media SIP Aura ® Server Media Stream
© Avaya, Inc. 2014, All Rights Reserved. 16 Avaya SBC for Enterprise
= Customer Developed / Provided
DMZ Customer Facing = Avaya Developed Web Application = Either Customer Provided or Avaya Developed HTML 5
Collaboration HTTP Environment WebApp HTML / Reverse JavaScript Proxy Avaya Avaya WebRTC HTTP Signaling Avaya WebRTC JavaScript (JSL) Snap-In Standard Secure edge component for WebRTC API ASBCE WebRTC. Includes STUN SIP STUN/ and TURN server as well as TURN optional HTTP Reverse Proxy Avaya WebRTC Avaya Media Stream Media SIP Aura ® Server Media Stream
© Avaya, Inc. 2014, All Rights Reserved. 17 Avaya WebRTC Trust / Security Model
Something Different than We’ve Ever Seen Before
Avaya - Proprietary. Use pursuant to your signed agreement or Avaya policy. 18 Generation / Validation of Authorization Token
Web Application= Customer Developed provides / Provided Customer Facing DMZ Authorization= Avaya Developed Token to Snap-In Web Application telling it that any given call is valid. = Either Customer Provided Optionallyor Avaya asserts Developed caller identity. HTML 5 Snap-in validates Authorization CollaborationToken HTTP Environment WebApp HTML / Reverse JavaScript Proxy Avaya Avaya WebRTC HTTP Signaling Avaya WebRTC JavaScript (JSL) Snap-In Standard WebRTC API ASBCE SIP STUN/ TURN Avaya WebRTC Avaya Media Stream Media SIP Aura ® Server Media Stream
© Avaya, Inc. 2014, All Rights Reserved. 19 Generation / Propagation of Browser ICE Candidates
= Customer Developed / Provided Browser generates IP address / Customer Facing DMZ = Avaya Developed Web Application port pairs (ICE Candidates). Sends to Snap-In= Either Customerin SDP Provided Offer. or Avaya Developed HTML 5 Snap-in relays SDP Offer (including CollaborationICE Candidates) to AMS. HTTP Environment WebApp HTML / Reverse JavaScript Proxy Avaya Avaya WebRTC HTTP Signaling Avaya WebRTC JavaScript (JSL) Snap-In Standard WebRTC API ASBCE SIP STUN/ TURN Avaya WebRTC Avaya Media Stream Media SIP Aura ® Server Media Stream
© Avaya, Inc. 2014, All Rights Reserved. 20 Sending of Browser Address to TURN Server
= Customer Developed / Provided Customer Facing DMZ = Avaya Developed Web Application
= Either Customer Provided Avaya Media Serveror Avaya Developed performs ICE HTML 5 negotiation with browser. Sends selectedCollaboration browser IP address / port HTTP pair to EnvironmentTURN server in Avaya WebApp HTML / Reverse JavaScript SBCE for Enterprise. Proxy Avaya Avaya WebRTC HTTP Signaling Avaya WebRTC JavaScript (JSL) TURN serverSnap-In only allows incoming Standard WebRTC API ASBCE UDP (audio / video) packets from specified addresses. SIP STUN/ TURN Avaya WebRTC Avaya Media Stream Media SIP Aura ® Server Media Stream
© Avaya, Inc. 2014, All Rights Reserved. 21 Establishment of SRTP key
= Customer Developed / Provided Customer Facing DMZ = Avaya Developed Web Application
= Either Customer Provided or Avaya Developed HTML 5
Collaboration HTTP BrowserEnvironment and Avaya Media Server WebApp HTML / Reverse JavaScript Proxy Avaya establish DTLS (Datagram Avaya WebRTC HTTP SignalingTransportAvaya Layer WebRTC Security) session JavaScript (JSL) Snap-In Standard and establish SRTP key over this WebRTC API ASBCE session. SIP STUN/ TURN Avaya WebRTC Avaya Media Stream Media SIP Aura ® Server Media Stream
© Avaya, Inc. 2014, All Rights Reserved. 22 Why did Avaya choose this model? Embrace the Web in WebRTC! Customers have already invested in a secure, scalable HTTP infrastructure. – Reverse Proxies and Application Delivery Controllers protect against DoS / DDoS, enforce policies Avaya sends WebRTC signaling through existing infrastructure, embracing the customer’s investment On-premises TURN server (as part of Avaya SBC for Enterprise) allows secure media relay across enterprise firewall – A cloud based service may be offered in the future – This would mean NO new DMZ elements for WebRTC Conspicuous in its absence: VPN
© Avaya, Inc. 2014, All Rights Reserved. 23 Peeling the Customer Journey Onion
A Suite of Snap-ins Working Together
Avaya - Proprietary. Use pursuant to your signed agreement or Avaya policy. 24 The Snap-ins Behind Enhanced Customer Journey
The WebRTC snap-in make it easy to add click to call capabilities from any web application to any Avaya Aura® endpoint Work Assignment selects the best resource (e.g. Agent) to handle a work request (e.g. call) Collaboration based on a customizable Designer provides set of attributes. graphical design environment for implementing workflows Real-Time Speech enables immediate detection of spoken phrases in two-party calls Context Store is a highly scalable, highly available in-memory data grid with a web service interface
© Avaya, Inc. 2014, All Rights Reserved. 25 Putting the Snap-ins Together to Create a Seamless Support Experience Collaboration WebAppliance Application Support Environment Web Site Context Store
Collaboration Environment Collaboration Environment WebRTC Collaboration Real Time Work Snap-In Designer Speech Assignment HTTP(S)
Internet SIP SIP Agent Desktop Web Application Session Manager
SIP/MSML SIP
WebRTC Media AMS 7.5** AvayaAMS 7.5** Media Contact Center Server Elite
SIP Media
© Avaya, Inc. 2014, All Rights Reserved. 26 In Conclusion
Avaya WebRTC: a powerful start with a bright future
Avaya - Proprietary. Use pursuant to your signed agreement or Avaya policy. 27 Additional Use Cases for Collaboration Environment 3.0 WebRTC
Click to call from enterprise directory web page
“Click to call me” URL in email signature
Click to Call Me
© Avaya, Inc. 2014, All Rights Reserved. 28 Enhancements coming in the near future
Video – One and two way video between browsers, mobile devices and Avaya Aura® endpoints such as Communicator. Mobile – Native iOS and Android SDKs to incorporate real-time Audio / Video into custom mobile apps Unified Communications and Agent SDK – Ability to create full-fledged browser-based UC and Agent clients – No download, install, plugin or VPN required!
© Avaya, Inc. 2014, All Rights Reserved. 29 WebRTC brings a change of paradigm Avaya helps make it happen
Dedicated Communication Clients
Communications Integrated into Fit for Purpose Experiences
© Avaya, Inc. 2014, All Rights Reserved. 30 Sample WebRTC Enterprise Use-Cases Opportunities for both the UC and CC aspects of communications
Browser UC Client Web Assistance • Audio, Video, IM, Collaboration • Web customers voice / video / • UC client for cloud based service collaborate with contact center • Tailor User-Client to Work-duties agents—without a download
One-Touch Video Web Agent Desktop • Call me from an email link. • Thin client agent position without • Click-to-discuss from application VPN
Web Video Conferencing VDI Communication • Browser-based video conferencing • Voice and video to a VDI brick. • No downloads, greater usage • Media on brick, Virtual desktop.
© Avaya, Inc. 2014, All Rights Reserved. 31