Customising Your Contact Centre with Finesse and CUIC Michael Green, Technical Solutions Manager CCBU Agenda
Total Page:16
File Type:pdf, Size:1020Kb
Customising your Contact Centre with Finesse and CUIC Michael Green, Technical Solutions Manager CCBU Agenda • Finesse • CUIC • Overview • Overview • Gadgets • Architecture • Architecture • Functionality and Customisation • API • Live Data Overview • Adding a Sample Gadget • Reporting Gadgets • Development Partners Finesse Overview Highlights of Finesse Feature Set Agent Features Supervisor Features Platform Features • Call Control / Agent • Silent Monitoring • LiveData Gadgets State / Wrap-Up • Barge / Intercept (PCCE, CCX) • Phonebooks & Click-to- • Change Agent State • Agent State Timer call • Real-Time Agent State • Workflows • Multiline via the Phone & Queue Data • Localization • Outbound and Callbacks • Email & Chat Handling Cisco Finesse – Revolutionising the Agent Desktop Experience • Browser-based agent desktop for easy management & upgrades • Designed to empower agents via user-centered design product • Flexible and Expandable – Finesse is a web gadget container • All applications that agents need (Cisco or 3rd party) contained within Finesse • Administrators define agent and supervisor layouts • Developer Friendly Web API Finesse Gadgets – Ease of Customisation via Modular Architecture • Mini-web pages assembled into a larger webpage • A la carte approach to agent desktop • Utilises OpenSocial for standards-based integration Enterprise Mashups – Enabling Unified Desktops for Agents • Gadget Architecture enables easier integration • Gadget Upgrades handled by each server CUIC Gadget • Reduces version compatibility dependencies Finesse Gadget CRM Gadget Enterprise CRM HTTP HTTPS CUIC Cisco Finesse Server HTTPS Web Gadget Services Container Finesse Workflows • Customers require a way of triggering screen pops or passing data to other applications without custom development • Finesse delivers this functionality via flexible workflows • Finesse supports the ability to do a browser screen pop or call a REST API on Finesse or a 3rd party application Finesse Gadgets OpenSocial Gadgets A Gadget Spec: • Is an XML file • Defines metadata about an OpenSocial app • Is cacheable – high performance server not needed Gadgets use existing web standards: • XML to define metadata • HTML for markup • JavaScript for interactivity • CSS for presentation Source: http://www.slideshare.net/wuzziwug/opensocial-intro-presentation OpenSocial Gadget Specification <?xml version="1.0" encoding="UTF-8" ?> Title=“MyGadget” <Module> <Require feature="pubsub-2" /> <ModulePrefs> </ModulePrefs> <UserPrefs> User Preferences - options to be </UserPrefs> tailored for individual pages <Content type="html"> <! [CDATA[ Your HTML & JavaScript HTML goes Here! Your web app goes here ]]> </Content> </Module> OpenSocial Gadget Server A Gadget Server: • Takes the gadget spec as input • Outputs HTML, JavaScript, and CSS as one document Source: http://www.slideshare.net/wuzziwug/opensocial-intro-presentation Gadget Presentation Flow Finesse Finesse 3rd Party Client/Browser Server Gadget 2 Gadget Server 1 Gadget XML & Container Specification Gadget 3 4 6 Proxy 5 Web Service Finesse Architecture High-Level Finesse Architecture – UCCE/PCCE • Finesse is an Active/Active Deployment for UCCE • Desktop –Users physical desktop (Window, Mac O/S, etc..) • Finesse Server – Standalone server installed with Finesse (Primary or Secondary node) • UCCE – Aggregated view of UCCE. This is logical A and B sides High-Level Finesse Architecture – UCCX • Finesse is an Active/Inactive Deployment for UCCX • Finesse runs in its own instance of Tomcat • Finesse only connects to local UCCX • Finesse only Active on Master CCX side High-Level Finesse Architecture – UCCE/PCCE • Desktop contains the Browser that connects to Finesse Server • Finesse Server contains various services that provide functionality • UCCE provides both authentication through AWDB and CTI functionality from the Agent PG High-Level Finesse Architecture – UCCX • Finesse shares XMPP server with UCCX • Finesse uses co-resident CCX Engine for CTI Feed • UCM is just not for CTI functionality, but also for authentication High-Level Finesse Architecture – UCCE/PCCE • Finesse Admin and Cisco Finesse run in the Browser • Applications from WAR’s running in Tomcat (proxied by Shindig and protected by CCE Realm) • Of greater importance is the path from REST API WAR to Notification Service to Agent Desktop High-Level Finesse Architecture – UCCE/PCCE 3rd Party Gadget Hosting • Gadgets (and associated artifacts) are placed into a special directory • Special pre- installed WAR is symbolically linked to this directory • Agent Desktop can load Gadgets via the 3rd Party Gadget WAR High-Level Finesse Architecture – UCCX 3rd Party Gadget Hosting • No different to UCCE/PCCE shown on previous slide High-Level Finesse Architecture – REST API Flow 1. Agent Desktop REST API request via Shindig 2. REST API arrives at REST API WAR 3. HTTP 202 response sent back 4. CTI Request made to Agent PG 5. Response/Events sent back to REST API WAR 6. REST API WAR publishes XMPP messages 7. Messages arrive at Agent Destkop via XMPP over BOSH Finesse API Finesse API Functionality Agent • Agent State • Answer / End • Hold / Retrieve • Conference / Transfer / Single-Step Transfer • Outbound Option Supervisor • UCM Silent Monitoring • Barge / Intercept / Change Agent State • Queue and Agent State Statistics Administration • Reason & Wrap Codes • Call Control Layouts • Phonebooks • Gadget Layouts • Workflows & Workflow Actions • Team Resource Management Finesse REST API’s • Representational State Transfer • Simple HTTP • Stateless & cacheable • Native access from web browsers Example: Set the state of Agent “1001” Finesse Client Finesse Server <User> http://server/finesse/api/User/1001 Request <extension>1001</extension> <firstName>John</firstname> <User> <lastName>Smith</lastName> <state>READY</state> <state>READY</state> </User> Response Event <role>Agent</role> </User> 27 Finesse API Business Value Before Cisco Finesse…. Cisco Finesse Business Value… CCX & CCE API’s are completely different Easily portable applications that work on both platforms If you build an application for CCX, you also Cisco Finesse Supervisor works with 3rd need build a supervisor application or go without Party applications based on the Finesse API supervisor functions. Web application integration is very difficult and The Finesse API works in thick and thin requires cumbersome middleware components applications. Custom Applications are all-or-nothing. Build an Mix-and-match gadgets from various suppliers. entire application from scratch or use the out-of- Cisco Finesse facilitates an incremental value the-box desktop approach. Requires highly specialized CTI expertise and Easy-to-use Web API to support more common legacy coding techniques web development skills Adding a Sample Gadget Finesse JavaScript Library – Quick Start to Customising Finesse Without a JavaScript Library… jquery finesse.* Finesse JS Library • Learn: • Gadget API • REST API XML • XEP/XMPP (BOSH) Library With a JavaScript Library… • Open AJAX Hub • Write Gadget from Scratch • Download a Sample that uses the Library • Coordination of All of the Above • Upload to Finesse Server • Upload to Finesse Server • Change Layout • Change Layout • See and start with working • Try, Try, Try Some More example Cisco DevNet – Developer Resources for Partners and Customers https://developer.cisco.com/site/finesse/ • Finesse Developer’s Guide describes all of the Finesse REST API’s (including Configuration and Serviceability API’s not used on the Desktop) • Finesse JavaScript Library contains the library for building gadgets as well as the JS Doc that goes with it. • Sample Gadgets that demonstrate various features of Finesse. • Getting Started for quickly getting going on Finesse Prerequisite – Have a working Finesse Nothing Up My Sleeves: Shown here is an out-of-the-box Agent Desktop layout Step 1 – Download Sample Gadget Click to download the library. (Accept the license, you won’t regret it). Unzip it and look around in it. Step 2 – Enable the 3rdpartygadget Account Using your favorite SSH tool log into Finesse Server as the Administrator and unlock the (not-so-secret- but-special) 3rdpartygadget account. Step 3 – Copy Sample Gadget to Finesse Server Files go into /files as anything from /files down is accessible from 3rdpartygadget. Step 4 – Add Sample Gadget to Desktop Layout Notice how you load the Gadget right from “localhost” (i.e. local to the Finesse Server) Don’t forget to save the changes! Step 5 – Login to Agent Desktop to see the results Cisco Unified Intelligence Centre (CUIC) Overview Cisco Unified Intelligence Centre (CUIC) Platform for report development Dashboard Extend reporting • Direct Export • Scheduled delivery • Click-to-report Link reports using drill down Segmented access by user and role CUIC Architecture CUIC Architecture – Typical Message Flow CUIC Live Data Overview Live Data • Publication of real-time data so that Intelligence Center can subscribe for UCCX and CCE Agent State Duration Extension (PCCE & UCCE) Alice Wonderland 2010 • Updated in real-time: • Subscription versus “Refresh Casino Bond 007 Rates” Royale • New in Release 11.0 Peter pan Neverland 2003 • Live Data in CCE 11.0 • Common approach in UCCX and CCE (PCCE & UCCE) Legacy Real Time Reporting Architecture Real-Time PG/ Polled Data CUIC Polled Data CUIC AW DB RTR Server Client Polled SG Finesse Finesse Data Server Client Issues: - Multiple paths exist for RT reporting data Direct DB Access - The AW database is used as CTI the transport