Intelligent Customer Routing. Developer Guide

Similar documents
Using Manage Alarm Tool

Intelligent Customer Routing. Release Notes

IP Office 9.0 IP Office Server Edition Reference Configuration

Avaya Aura Call Center Elite Multichannel Documentation Roadmap

Avaya Aura Experience Portal Release 6.0 Service Pack 2 Intelligent Customer Routing

Administering Intelligent Customer Routing

Upgrading Intelligent Customer Routing

Implementing Avaya Flare Experience for Windows

User Guide for Avaya Equinox Add-in for IBM Lotus Notes

Avaya Aura Call Center Elite Documentation Roadmap

Administering Avaya Flare Experience for Windows

Avaya Call Management System Documentation Roadmap

Avaya Client Applications Configurator User Guide

Avaya Callback Assist Considerations for Avaya Call Management System

Administering Avaya Flare Communicator for ipad Devices and Windows

Avaya Aura Call Center Elite Documentation Roadmap

IP Office. TAPI Link Installation Issue 12a - (14 January 2013)

Release Notes for Avaya Aura Appliance Virtualization Platform Release

Avaya Aura Contact Center Documentation Roadmap

IP Office Release 9.0

Avaya Aura Messaging Web Access Feature Description

IP Office Basic Edition

IP Office. Embedded Voic User Guide (IP Office Mode) Issue 12a (26 February 2013)

IP Office Platform. Using Voic Pro in Intuity Mode Issue 10a - (16 January 2015)

Release Notes for Operation Support System Release

Using Avaya Aura Messaging Web Access

Avaya Agile Communication Environment Communicator Add-in User Guide

Administering Avaya Flare Experience for ipad Devices and Windows

IP Office Platform. Avaya IP Office Platform Embedded Voic User Guide (Intuity Mode) Issue 15b - (22 January 2015)

User Guide for Scopia Video Gateway for Microsoft Lync and Skype for Business

IP Office 6.1 Embedded Voic Mailbox User Guide

Avaya Aura Contact Center Documentation Roadmap

Avaya Software Keycode Installation Guide

IP Office. IP Office Mailbox Mode User Guide Issue 11b - (15 May 2010)

IP Office Release 7.0 IP Office Essential Edition - Quick Version Embedded Voic User Guide

Avaya Agent for Desktop Release Notes

Avaya Aura System Platform Overview

Avaya Agile Communication Environment Mobility Application for BlackBerry

Intelligent Customer Routing Release Notes

IP Office Intuity Mailbox Mode User Guide

Using Avaya Communicator for Microsoft Lync 2013 on IP Office Platform

Avaya Aura Documentation Catalog

Engagement Call Control Release Notes

WLAN Release Notes. Release Notes for Avaya Wireless Orchestration System (WOS-E) Version Avaya Inc - External Distribution

Avaya Aura Presence Services Overview and Specification

Avaya Agile Communication Environment Web Browser and Office Add-ins Application Fundamentals

WLAN Release Notes. Release Notes for Avaya Wireless Orchestration System (WOS) Version Avaya Inc - External Distribution

Avaya Call Redirection Manager Snap-in Reference

Implementing Intelligent Customer Routing (ICR)

Avaya Aura 6.2 Feature Pack 3

Avaya Callback Assist Release Notes

Intelligent Customer Routing Overview and Specification

Avaya one-x Communicator Centralized Administration Tool

Avaya CallPilot Mini Message Networking User Guide

Using Avaya Aura Messaging

Avaya Aura Contact Center Documentation Roadmap

IP Office Phone Guide Issue 04a - (Friday, April 20, 2018)

Using Avaya Communicator for Microsoft Lync 2010 on IP Office Platform

Release Notes for Avaya Aura Communication Manager Messaging R VMware vappliance Software with SP5 (for CMM )

Avaya Agent for Desktop Release Notes

Release Notes for Avaya Engagement Designer Release 3.1 Service Pack 2 ( ) Release Notes Issue 1, 2/18/2016

Using Avaya Flare Communicator for ipad Devices

Administering standalone Avaya WebLM

IP Office Contact Center IVR Editor Scenarios Task Based Guide

Avaya Callback Assist Release Notes

Avaya IQ Standard Reports

IP Office Platform. Using Voic Pro in Intuity Mode Issue 10d - (20 May 2016)

Using Avaya Communicator for ipad on IP Office Platform

IP Office. Using a Voic Pro IP Office Mode Mailbox Issue 11a - (Thursday, April 5, 2018)

Implementing and Administering Services-VM on Avaya Aura System Platform

Avaya one-x Mobile Client for BlackBerry - Avaya one-x Client

System-wide Call Appearance (SWCA) Features Card. Avaya Business Communications Manager Release 6.0

Using Avaya VDI Communicator

Avaya VDI Communicator Overview and Planning

Using Avaya VDI Agent

Administering Avaya Aura Collaboration Environment

Avaya Aura Contact Center Performance Management

Avaya Branch Gateways 6.3 (build ) Release Notes

IP Office Platform 9.1

Avaya Message Networking 6.3 GA Release Notes

Using the Avaya IP Office Contact Center Salesforce Plug-In

Using the Contact Center Agent Browser application

Telset Administration

Avaya 3100 Mobile Communicator - Web UI User Guide. Avaya 3100 Mobile Communicator Release 3.1

Release Notes for Avaya Proactive Contact 5.0 Agent. Release Notes for Avaya Proactive Contact 5.0 Agent

Using Avaya Aura Conferencing Conference Manager for Microsoft Outlook

Avaya IQ High Availability and Survivability

Quick Start to Deploying Avaya Breeze Snap-ins

Installing Avaya Agile Communication Environment Foundation Toolkit

Administering Avaya Control Manager for Avaya Agent for Desktop

Avaya CallPilot 5.0 Library Listing

Using Avaya Flare Experience for Windows

Administering Avaya Enhanced Caller ID (ECID)

Using Avaya Aura Messaging

Deployment Guide for Avaya Equinox Add-in for IBM Lotus Notes

Avaya Meridian Integrated RAN Release 2.0 Telephone Set-Based Administration User Guide. Avaya Communication Server 1000 Release 7.

AVAYA IP Flow Manager. Release Notes. Release 2.1. August 14 th, 2014 Issue 1.1 CID:

Avaya IQ Report Designer

Avaya Callback Assist Application Notes for HTTPS Configuration

AVAYA. Avaya Engagement Designer Release Notes

Transcription:

Intelligent Customer Routing Developer Guide Release 7.0.1 March 2015

2015 Avaya Inc. All Rights Reserved. Notice While reasonable efforts have been made to ensure that the information in this document is complete and accurate at the time of printing, Avaya assumes no liability for any errors. Avaya reserves the right to make changes and corrections to the information in this document without the obligation to notify any person or organization of such changes. Documentation disclaimer Documentation means information published by Avaya in varying mediums which may include product information, operating instructions and performance specifications that Avaya may generally make available to users of its products and Hosted Services. Documentation does not include marketing materials. Avaya shall not be responsible for any modifications, additions, or deletions to the original published version of documentation unless such modifications, additions, or deletions were performed by Avaya. End User agrees to indemnify and hold harmless Avaya, Avaya's agents, servants and employees against all claims, lawsuits, demands and judgments arising out of, or in connection with, subsequent modifications, additions or deletions to this documentation, to the extent made by End User. Link disclaimer Avaya is not responsible for the contents or reliability of any linked websites referenced within this site or documentation provided by Avaya. Avaya is not responsible for the accuracy of any information, statement or content provided on these sites and does not necessarily endorse the products, services, or information described or offered within them. Avaya does not guarantee that these links will work all the time and has no control over the availability of the linked pages. Warranty Avaya provides a limited warranty on Avaya hardware and software. Refer to your sales agreement to establish the terms of the limited warranty. In addition, Avaya s standard warranty language, as well as information regarding support for this product while under warranty is available to Avaya customers and other parties through the Avaya Support website: http://support.avaya.com or such successor site as designated by Avaya. Please note that if you acquired the product(s) from an authorized Avaya Channel Partner outside of the United States and Canada, the warranty is provided to you by said Avaya Channel Partner and not by Avaya. Licenses THE SOFTWARE LICENSE TERMS AVAILABLE ON THE AVAYA WEBSITE, HTTP://SUPPORT.AVAYA.COM/LICENSEINFO OR SUCH SUCCESSOR SITE AS DESIGNATED BY AVAYA, ARE APPLICABLE TO ANYONE WHO DOWNLOADS, USES AND/OR INSTALLS AVAYA SOFTWARE, PURCHASED FROM AVAYA INC., ANY AVAYA AFFILIATE, OR AN AVAYA CHANNEL PARTNER (AS APPLICABLE) UNDER A COMMERCIAL AGREEMENT WITH AVAYA OR AN AVAYA CHANNEL PARTNER. UNLESS OTHERWISE AGREED TO BY AVAYA IN WRITING, AVAYA DOES NOT EXTEND THIS LICENSE IF THE SOFTWARE WAS OBTAINED FROM ANYONE OTHER THAN AVAYA, AN AVAYA AFFILIATE OR AN AVAYA CHANNEL PARTNER; AVAYA RESERVES THE RIGHT TO TAKE LEGAL ACTION AGAINST YOU AND ANYONE ELSE USING OR SELLING THE SOFTWARE WITHOUT A LICENSE. BY INSTALLING, DOWNLOADING OR USING THE SOFTWARE, OR AUTHORIZING OTHERS TO DO SO, YOU, ON BEHALF OF YOURSELF AND THE ENTITY FOR WHOM YOU ARE INSTALLING, DOWNLOADING OR USING THE SOFTWARE (HEREINAFTER REFERRED TO INTERCHANGEABLY AS YOU AND END USER ), AGREE TO THESE TERMS AND CONDITIONS AND CREATE A BINDING CONTRACT BETWEEN YOU AND AVAYA INC. OR THE APPLICABLE AVAYA AFFILIATE ( AVAYA ). Avaya grants you a license within the scope of the license types described below, with the exception of Heritage Nortel Software, for which the scope of the license is detailed below. Where the order documentation does not expressly identify a license type, the applicable license will be a Designated System License. The applicable number of licenses and units of capacity for which the license is granted will be one (1), unless a different number of licenses or units of capacity is specified in the documentation or other materials available to you. Software means Avaya s computer programs in object code, provided by Avaya or an Avaya Channel Partner, whether as stand-alone products, pre-installed, or remotely accessed on hardware products, and any upgrades, updates, bug fixes, or modified versions thereto. Designated Processor means a single stand-alone computing device. Server means a Designated Processor that hosts a software application to be accessed by multiple users. Instance means a single copy of the Software executing at a particular time: (i) on one physical machine; or (ii) on one deployed software virtual machine ( VM ) or similar deployment. License types Designated System(s) License (DS). End User may install and use each copy or an Instance of the Software only on a number of Designated Processors up to the number indicated in the order. Avaya may require the Designated Processor(s) to be identified in the order by type, serial number, feature key, Instance, location or other specific designation, or to be provided by End User to Avaya through electronic means established by Avaya specifically for this purpose. Concurrent User License (CU). End User may install and use the Software on multiple Designated Processors or one or more Servers, so long as only the licensed number of Units are accessing and using the Software at any given time. A Unit means the unit on which Avaya, at its sole discretion, bases the pricing of its licenses and can be, without limitation, an agent, port or user, an e-mail or voice mail account in the name of a person or corporate function (e.g., webmaster or helpdesk), or a directory entry in the administrative database utilized by the Software that permits one user to interface with the Software. Units may be linked to a specific, identified Server or an Instance of the Software. Database License (DL). End User may install and use each copy or an Instance of the Software on one Server or on multiple Servers provided that each of the Servers on which the Software is installed communicates with no more than an Instance of the same database. CPU License (CP). End User may install and use each copy or Instance of the Software on a number of Servers up to the number indicated in the order provided that the performance capacity of the Server(s) does not exceed the performance capacity specified for the Software. End User may not re-install or operate the Software on Server(s) with a larger performance capacity without Avaya s prior consent and payment of an upgrade fee. Named User License (NU). You may: (i) install and use the Software on a single Designated Processor or Server per authorized Named User (defined below); or (ii) install and use the Software on a Server so long as only authorized Named Users access and use the Software. Named User, means a user or device that has been expressly authorized by Avaya to access and use the Software. At Avaya s sole discretion, a Named User may be, without limitation, designated by name, corporate function (e.g., webmaster or helpdesk), an e-mail or voice mail account in the name of a person or corporate function, or a directory entry in the administrative database utilized by the Software that permits one user to interface with the Software. Shrinkwrap License (SR). You may install and use the Software in accordance with the terms and conditions of the applicable license agreements, such as shrinkwrap or clickthrough license accompanying or applicable to the Software ( Shrinkwrap License ). Heritage Nortel Software Heritage Nortel Software means the software that was acquired by Avaya as part of its purchase of the Nortel Enterprise Solutions Business in December 2009. The Heritage Nortel Software currently available for license from Avaya is the software contained within the list of Heritage Nortel Products located at http://support.avaya.com/licenseinfo/ under the link Heritage Nortel Products, or such successor site as designated by Avaya. For Heritage Nortel Software, Avaya grants Customer a license to use Heritage Nortel Software provided hereunder solely to the extent of

the authorized activation or authorized usage level, solely for the purpose specified in the Documentation, and solely as embedded in, for execution on, or (in the event the applicable Documentation permits installation on non-avaya equipment) for communication with Avaya equipment. Charges for Heritage Nortel Software may be based on extent of activation or use authorized as specified in an order or invoice. Copyright Except where expressly stated otherwise, no use should be made of materials on this site, the Documentation, Software, Hosted Service, or hardware provided by Avaya. All content on this site, the documentation, Hosted Service, and the Product provided by Avaya including the selection, arrangement and design of the content is owned either by Avaya or its licensors and is protected by copyright and other intellectual property laws including the sui generis rights relating to the protection of databases. You may not modify, copy, reproduce, republish, upload, post, transmit or distribute in any way any content, in whole or in part, including any code and software unless expressly authorized by Avaya. Unauthorized reproduction, transmission, dissemination, storage, and or use without the express written consent of Avaya can be a criminal, as well as a civil offense under the applicable law. Third Party Components Third Party Components mean certain software programs or portions thereof included in the Software or Hosted Service may contain software (including open source software) distributed under third party agreements ( Third Party Components ), which contain terms regarding the rights to use certain portions of the Software ( Third Party Terms ). As required, information regarding distributed Linux OS source code (for those Products that have distributed Linux OS source code) and identifying the copyright holders of the Third Party Components and the Third Party Terms that apply is available in the Documentation or on Avaya s website at: http://support.avaya.com/copyright or such successor site as designated by Avaya. You agree to the Third Party Terms for any such Third Party Components. Preventing Toll Fraud Toll Fraud is the unauthorized use of your telecommunications system by an unauthorized party (for example, a person who is not a corporate employee, agent, subcontractor, or is not working on your company's behalf). Be aware that there can be a risk of Toll Fraud associated with your system and that, if Toll Fraud occurs, it can result in substantial additional charges for your telecommunications services. Avaya Toll Fraud intervention If you suspect that you are being victimized by Toll Fraud and you need technical assistance or support, call Technical Service Center Toll Fraud Intervention Hotline at +1-800-643-2353 for the United States and Canada. For additional support telephone numbers, see the Avaya Support website: http://support.avaya.com or such successor site as designated by Avaya. Suspected security vulnerabilities with Avaya products should be reported to Avaya by sending mail to: securityalerts@avaya.com. Trademarks The trademarks, logos and service marks ( Marks ) displayed in this site, the Documentation, Hosted Service(s), and Product(s) provided by Avaya are the registered or unregistered Marks of Avaya, its affiliates, or other third parties. Users are not permitted to use such Marks without prior written consent from Avaya or such third party which may own the Mark. Nothing contained in this site, the Documentation, Hosted Service(s) and Product(s) should be construed as granting, by implication, estoppel, or otherwise, any license or right in and to the Marks without the express written permission of Avaya or the applicable third party. Avaya is a registered trademark of Avaya Inc. All non-avaya trademarks are the property of their respective owners. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. Downloading Documentation For the most current versions of Documentation, see the Avaya Support website: http://support.avaya.com, or such successor site as designated by Avaya. Contact Avaya Support See the Avaya Support website: http://support.avaya.com for Product or Hosted Service notices and articles, or to report a problem with your Avaya Product or Hosted Service. For a list of support telephone numbers and contact addresses, go to the Avaya Support website: http://support.avaya.com (or such successor site as designated by Avaya), scroll to the bottom of the page, and select Contact Avaya Support.

Contents Introduction... 6 Audience...6 ICR pluggable data connector overview... 7 Prerequisites...7 Using the ICR PDC in a call flow...7 Get Destination...7 Get All Destination Information...7 Selected Destination...7 Invoke Extension...8 Using the Get Destination method...8 Using the Get All Destination Information method...9 Using the Selected Destination method... 10 Using the Invoke Extension method... 11 The DestinationInformation implicit variable... 12 The DestinationInformation implicit variable created by Get Destination method... 12 The DestinationInformation implicit variable created by the Get All Destination Information method... 16 Properties in the icrpdc.properties file... 19 Simulation of the application containing ICR PDC... 20 Editing the simulation profile... 20 Sample applications in ICR... 22 Self service application... 22 Exit parameter description... 22 Wait treatment applications... 25 Sample WTAs... 25 Information in the ECMA script variable that ICR CCA passes to WTA... 26 Exit parameter description... 27 Error handling applications... 28 Sample EHAs... 28 Information in the ECMA script variable that ICR CCA passes to EHA... 28 Exit parameter description... 29 Opt out from WTA... 30 Consultation transfer from the SSA... 31 Termination reason for WTA... 32 User-to-user information handling... 33 UUI handling in the Service Provider mode... 33 ICR Developer Guide Comments? infodev@avaya.com 4

UUI handling in the Shared UUI mode... 33 Custom reports in ICR... 35 Creating a custom session details report for ICR CCA... 35 Creating custom session details report for SSA, WTA, and EHA... 36 Exit reasons... 37 Requeue reasons... 38 ICR Connector... 39 Overview... 39 getdestination... 39 URL... 39 Parameters... 39 JSON response... 40 getalldestinations... 44 URL... 44 Parameters... 44 JSON response... 45 Example... 48 selecteddestination... 49 URL... 49 Parameters... 49 JSON response... 49 invokeextension... 50 URL... 50 Parameters... 50 JSON response... 50 ICR Developer Guide Comments? infodev@avaya.com 5

Introduction Audience Introduction This guide provides information about developing applications using the ICR pluggable data connector (PDC) and understanding the sample applications that ICR provides. This guide also provides information about creating custom reports for ICR using the Avaya Aura Experience Portal custom reports. For updated documentation, product support notices, and service pack information, go to the Avaya Support website at http://support.avaya.com. The ICR Developer guide is intended for the users, who want to: Design and create speech applications for ICR using Avaya Aura Orchestration Designer. Design and create the custom reports for ICR using Avaya Aura Experience Portal. Create custom speech applications Create speech applications for Avaya customers Audience The audience of the ICR Developer guide includes: Application developers Administrators Business partners ICR Developer Guide Comments? infodev@avaya.com 6

ICR pluggable data connector overview Prerequisites ICR pluggable data connector overview The ICR pluggable data connector (PDC) is a generic connector between the Self Service Application (SSA) and ICR Core. This generic connector integrates ICR with Avaya Aura Orchestration Designer (OD). The purpose of ICR PDC is to provide a mechanism to find the best destination for a skill by getting data from ICR Core. For using the ICR PDC, you do not need to be knowledgeable about call centers or ICR Core. Prerequisites Install Avaya Aura Orchestration Designer (OD) to create and build applications. To install OD for the first time, see the documentation on the Avaya support site: http://support.avaya.com. Install ICR PDC. For more information, see Implementing Intelligent Customer Routing. Using the ICR PDC in a call flow ICR PDC provides the following methods for selecting the best destination for ICR Skill: Get Destination Get All Destination Information Selected Destination Invoke Extension Get Destination The Get Destination method provides the best destination information for the requested ICR Skill. This method uses the out-of-the-box routing rules that ICR provides for ICR Skill. For more information about using the Get Destination method, see Using the Get Destination method. Get All Destination Information The Get All Destination Information method provides the list of destinations for the requested ICR Skill. Through this method, ICR PDC provides call center information for each destination configured in requested ICR Skill. You can use this information in the application to identify the best destination as per your routing requirement.this method does not use the out-of-the-box routing rules provided in ICR. For more information about using the Get All Destination Information method, see Using the Get All Destination Information method. Note: You can use the Get All Destination Information method only when CMS is used as a data source. For more information on CMS as a data source see Chapter: Configuring ICR for using CMS rt_socket in the Implementing ICR guide. Selected Destination Using the Selected Destination method, you can pass the best destination that the application selects, to ICR Core for further processing. If you use the Get All Destination Information method for identifying the best destination in the application, you must also use the Selection Destination method in the same call flow to pass the best destination identified to ICR Core. ICR Developer Guide Comments? infodev@avaya.com 7

ICR pluggable data connector overview Using the Get Destination method For more information about using the Selected Destination method, see Using the Selected Destination method. Note: You can use the Selected Destination method only when you are using the Get All Destination Information method. Invoke Extension ICR PDC uses the Invoke Extension method to invoke the extension module developed using ICR SDK. This extension module that is deployed on ICR Core identifies the best destination for an ICR Skill based on the custom routing logic implementation. For more information about using the Invoke Extension method, see Using the Invoke Extension method. Using the Get Destination method The ICR PDC provides the Get Destination method to provide the best destination information for a call. To get the destination information, you must provide the skill ID that SSA identifies to the Get Destination method. For the provided ICR Skill, the Get Destination method stores the routing information in the DestinationInformation variable. For more information, see The DestinationInformation implicit variable created by Get Destination method. Note: While the ICR PDC fetches the routing destination from ICR Core, the caller might not get any response or sound from the system. To prevent this problem, use Transitional audio prompts available in Orchestration Designer to play the prompts to a caller. For more information about transitional audio prompts, see Avaya Aura Orchestration Designer Developers Guide. Before you begin Ensure that: The SSA identifies the skill required to route the call. The skill ID of the identified skill matches the skill ID configured in the ICR configuration on the Experience Portal Manager system. Procedure 1. In the SSA call flow, create a Data node. 2. Open the Data node. The system displays the Pallette tab. 3. In the ICR Connector section of the Pallette tab, select the Get Destination item. 4. Drag the Get Destination item to the Data node. The system adds the Get Destination item in the Data node. 5. In the Data node, select the GetDestination item. 6. On the Properties tab, set the following properties for the Skill ID attribute in the GetDestination item. Skill ID Variable Skill ID Variable Field. 7. (Optional) To add more Get Destination items and set the properties for the Skill ID attribute, repeat steps 4 to 6. Result In the project variables of the SSA call flow, the system creates the DestinationInformation implicit variable in the format: <variable_name> followed by an incremented number. For example, DestinationInformation1. ICR Developer Guide Comments? infodev@avaya.com 8

ICR pluggable data connector overview Using the Get All Destination Information method Note: If you add the Get Destination item multiple times in a call flow, ICR PDC creates multiple implicit variables. For example, DestinationInformation1, and DestinationInformation2. This developer guide refers to the implicit variable name as DestinationInformation or DestinationInformation#. Using the Get All Destination Information method The Get All Destination Information method provides the list of destinations for the requested ICR Skill. Through this method, ICR PDC provides the call center information of each destination. You can use this information in the application to identify the best destination. The method does not use the out-of-the-box routing rules that ICR provides. However, you can decide the best destination from the list of destinations that the Get All Destination Information method returns. For the provided ICR Skill, the Get All Destination Information method returns the array consisting of the DestinationInformation fields. For more information, see The DestinationInformation implicit variable created by the Get All Destination Information method. You can use the Get All Destination Information method only when CMS is used as a data source.if you use this method with CM as a data source then this method does not return anything. DestinationInformation is initialized as an empty array. To search the array and retrieve the details of each destination, you can use the Loop Collection operation from Orchestration Designer. For more information about Loop Collection operation, see Avaya Aura Orchestration Designer Developers Guide. After identifying the best destination, you must use the Selected Destination method to pass the selected best destination to ICR Core for further processing. Note: While the ICR PDC fetches the destination information from ICR Core, the caller might not get any response or sound from the system. To prevent this problem, use Transitional audio prompts available in Orchestration Designer to play the prompts to a caller. For more information about transitional audio prompts, see Avaya Aura Orchestration Designer Developers Guide. Before you begin Ensure the following: The SSA identifies the skill required for the call. The skill ID of the identified skill matches the skill ID configured in the ICR configuration on the Experience Portal Manager system. CMS is used as a data source. Procedure 1. In the SSA call flow, create a Data node. 2. Open the Data node. The system displays the Pallette tab. 3. In the ICR Connector section of the Pallette tab, select the Get All Destination Information item. 4. Drag the Get All Destination Information item to the Data node. The system adds the Get All Destination Information item in the Data node. 5. In the Data node, select the Get All Destination Information item. 6. On the Properties tab, set the following properties for the Skill ID attribute in the Get All Destination Information item. Skill ID Variable Skill ID Variable Field. ICR Developer Guide Comments? infodev@avaya.com 9

ICR pluggable data connector overview Using the Selected Destination method Result In the project variables of the SSA call flow, the system creates the DestinationInformation implicit variable in the format: <variable_name> followed by an incremented number. For example, DestinationInformation1. This variable is an array of DestinationInformation fields. To check the values in the entire array, you can use the Loop Collection method on the "DestinationInformation" variable. Note: In a call flow, if you add the Get All Destination Information item multiple times, ICR PDC creates multiple implicit variables, for example, DestinationInformation1, and DestinationInformation2. This developer guide refers to the implicit variable name as DestinationInformation or DestinationInformation#. Important: In an Orchestration Designer application, if you used the Get All Destination Information method in a particular data node and if you invoke that data node multiple times, the application resets the existing values of the DestinationInformation# implicit variable associated with that data node. The application deletes the values of all fields in the DestinationInformation# implicit variable and adds the new values to those fields. These new values are from the data that ICR Core provides. If you need to preserve the data from the DestinationInformation# implicit variable, you can use the Assign operation of Orchestration Designer and copy the DestinationInformation# variable to another variable before you invoke the data node again. Using the Selected Destination method If you have used the Get All Destination Information method in the application and identified the best destination to route the call, then you must provide the information of the best destination to the ICR Core using the Selected Destination method. The best destination that is identified is provided as the Destination Information Variable to the Selected Destination method. The following procedure explains how to use the Selected Destination method. Before you begin Ensure the following: The SSA has used the Get All Destination Information method. Get All Destination Information method has identified the best destination to route the call. Procedure 1. In the SSA call flow, create a Data node. 2. Open the Data node. The system displays the Pallette tab. 3. In the ICR Connector section of the Pallette tab, select the Selected Destination item. 4. Drag the Selected Destination item to the Data node. The system adds the Selected Destination item in the Data node. 5. In the Data node, select the Selected Destination item. 6. On the Properties tab, set the following properties for the Skill ID attribute and the Destination Information Variable attribute in the Selected Destination item. Skill ID Variable Skill ID Variable Field Destination Information Variable ICR Developer Guide Comments? infodev@avaya.com 10

ICR pluggable data connector overview Using the Invoke Extension method Using the Invoke Extension method The Invoke Extension method invokes the routing module that is developed using ICR SDK. The routing module implements the Java based APIs that ICR Core provides and selects the best destination using the custom business rules. This method takes the skill ID and the caller context variable as input values. The caller context variable is a complex variable in Orchestration Designer with some key-value pairs. If the routing module requires - details such as caller details, call details, and location to find the best destination, you must create a complex variable in Orchestration Designer with the required details. You need to specify this complex variable in the CallerContext attribute of the Invoke Extension method. Note: While the ICR PDC fetches the routing destination from ICR Core, the caller might not get any response or sound from the system. To prevent this problem, use Transitional audio prompts available in Orchestration Designer to play the prompts to a caller. For more information about transitional audio prompts, see Avaya Aura Orchestration Designer Developers Guide. Before you begin Ensure the following: The SSA identifies the skill required for the call. The skill ID of the identified skill matches the skill ID configured in the ICR configuration on the Experience Portal Manager system. Custom routing module is deployed on the ICR Core. For more information see ICR SDK Programmer guide. Procedure 1. In the SSA call flow, create a Data node. 2. Open the Data node. The system displays the Pallette tab. 3. In the ICR Connector section of the Pallette tab, select the Invoke Extension item. 4. Drag the Invoke Extension item to the Data node. The system adds the Invoke Extension item in the Data node. 5. In the Data node, select the Invoke Extension item. 6. On the Properties tab, set the following properties for the Skill ID attribute and the CallerContext attribute in the Invoke Extension item. Skill ID Variable Skill ID Variable Field Caller Context Variable Note: In a call flow, if you add the Invoke Extension item multiple times, ICR PDC creates multiple implicit variables. For example, DestinationInformation1, and DestinationInformation2. This developer guide refers to the implicit variable name as DestinationInformation or DestinationInformation#. For more information, see The DestinationInformation implicit variable. ICR Developer Guide Comments? infodev@avaya.com 11

ICR pluggable data connector overview The DestinationInformation implicit variable The DestinationInformation implicit variable The DestinationInformation implicit variable is a complex variable that contains the routing information provide by ICR Core or the Simulation profile. The DestinationInformation implicit variable created by Get Destination method The following table describes the fields in the DestinationInformation implicit variable in case of the Get Destination method. Field name result acd acdskill acdtype defaultacd The result of a routing request. The possible values are: AGENT_AVAILABLE: Indicates whether to queue or transfer a call. AGENT_NOT_AVAILABLE: Indicates that no agents are logged in a call center or all logged in agents are in the AUX work state. ICR Core returns the result value based on the selected data source: o o Communication Manager (CM): ICR Core returns the result value as AGENT_NOT_AVAILABLE if all the agents are in the AUX work state or if all the agents are logged out. Call Management System (CMS): ICR Core returns the result value as AGENT_NOT_AVAILABLE if all the agents are in the AUX work state. GENERIC_ERROR: Indicates that an error occurred. This result is also returned when CMS is used as data source and no agent is logged in the call center. OUT_OF_HOURS: Indicates that a call arrived when a call center is closed according to the Business Hours and Holiday configuration of destinations configured in the requested skill. The name of the call center to which ICR queues the call. You can find the call center configuration on the ICR Configuration menu of Experience Portal Manager. Note: The acd information is provided only when the result of the routing request is AGENT_AVAILABLE. An ACD skill that ICR Core selects. ICR Core returns the acdskill value based on the following data sources that you use to get the BSR information: Communication Manager (CM): ICR Core returns the acdskill value as -1. Call Management System (CMS): ICR Core returns the acdskill configured on the Destination page of Experience Portal Manager. Note: The acdskill information is provided only when the result of the routing request is AGENT_AVAILABLE. The type of call center. Note: For this ICR release, the default value is Avaya-CM. The name of the call center to which ICR transfers the call when an error occurs. ICR Developer Guide Comments? infodev@avaya.com 12

ICR pluggable data connector overview The DestinationInformation implicit variable Field name defaultdestination destination equeueposition ewt freshness percentans Configure the default call center for an ICR Skill in the Call Center of Default VDN field that is present on the Skill page. The Skill page is located at: Home > ICR Configuration > Skill in Experience Portal Manager. The SIP URI of the default destination to which ICR transfers the call when an error occurs. Configure the default destination for an ICR Skill in the Default VDN field that is present on the Skill page. The Skill page is located at: Home > ICR Configuration > Skill in Experience Portal Manager. The SIP URI of the destination to which ICR queues the call.you can find the Destination configuration on the ICR Configuration > Skill > Destination menu of Experience Portal Manager. Note: The destination information is provided only when the result of the routing request is AGENT_AVAILABLE. The estimated queue position that ICR Core calculates. ICR Core returns the equeueposition value based on the following data sources that you use to get the BSR information: Communication Manager (CM): ICR Core returns the equeueposition value as -1. Call Management System (CMS): In an agent surplus condition, ICR Core returns the equeueposition value 0. In a call surplus condition, ICR Core returns a value greater than 0. Note: The equeueposition information is provided only when the result of the routing request is AGENT_AVAILABLE. In case of all other routing request results, ICR Core returns the equeueposition value as -1. The estimated wait time (EWT) of how long a caller will wait in queue. ICR Core saves the EWT for a skill in a cache for a specific period. You can configure this specific period on the ICR Configuration > Skill menu of Experience Portal Manager. Note: The ewt information is provided only when the result of a routing request is AGENT_AVAILABLE. In case the result of the routing request is AGENT_NOT_AVAILABLE, ICR Core returns the ewt value as 65534. In case the result of the routing request is OUT_OF_HOURS or GENERIC_ERROR, ICR Core returns the ewt value as -1. The time in seconds that elapsed since ICR Core saved the EWT in a cache for a skill.. The value in the percentans field that indicates the percentage of calls answered within the service level for the ACD skill that ICR Core selects. ICR Core returns the percentans value based on the following data sources that you use to get the BSR information: Communication Manager (CM): ICR Core returns the percentans value as value as -1.0. Call Management System (CMS): ICR Core returns the percentans value ICR Developer Guide Comments? infodev@avaya.com 13

ICR pluggable data connector overview The DestinationInformation implicit variable Field name priority refer ewttop ewthigh that CMS provides. Note: The percentans information is provided only when the result of a routing request is AGENT_AVAILABLE. In case of all other routing request results, ICR Core returns the percentans value as -1.0. The priority level of an ACD skill that ICR Core selects. ICR Core returns the priority value based on the following data sources that you use to get the BSR information: Communication Manager (CM): ICR Core returns the priority value as -1. Call Management System (CMS): ICR Core returns the priority value that is configured in the EWT Priority field on the Destination page of Experience Portal Manager. The location of the Destination page is Home > ICR Configuration > Skill > Destination in Experience Portal Manager. Note: The priority information is provided only when the result of a routing request is AGENT_AVAILABLE. In case of all other routing request results, ICR Core returns the priority value as -1. A value that indicates whether to queue or transfer a call. The possible values are: true: To transfer the call. false: To queue the call. For this release of ICR, the default value is false. The estimate of how long a caller will wait in queue at TOP priority. ICR Core returns the ewttop value based on the following data sources that you use to get the BSR information: Communication Manager (CM): ICR Core returns the ewttop value as -1. Call Management System (CMS): ICR Core returns the ewttop that CMS provides. Note: The ewttop information is provided only when the result of a routing request is AGENT_AVAILABLE. In case the result of the routing request is AGENT_NOT_AVAILABLE, ICR Core returns the ewttop value as 65534. In case the result of the routing request is OUT_OF_HOURS or GENERIC_ERROR, ICR Core returns the ewttop value as -1. The estimate of how long a caller will wait in queue at HIGH priority. ICR Core returns the ewthigh value based on the following data sources that you use to get the BSR information: Communication Manager (CM): ICR Core returns the ewthigh value as -1. Call Management System (CMS): ICR Core returns the ewthigh that CMS provides. Note: The ewthigh information is provided only when the result of a routing request is AGENT_AVAILABLE. In case the result of the routing request is AGENT_NOT_AVAILABLE, ICR Core ICR Developer Guide Comments? infodev@avaya.com 14

ICR pluggable data connector overview The DestinationInformation implicit variable Field name ewtmedium ewtlow agentsstaffed agentsavailable returns the ewthigh value as 65534. In case the result of the routing request is OUT_OF_HOURS or GENERIC_ERROR, ICR Core returns the ewthigh value as -1. The estimate of how long a caller will wait in queue at MEDIUM priority. ICR Core returns the ewtmedium value based on the following data sources that you use to get the BSR information: Communication Manager (CM): ICR Core returns the ewtmedium value as - 1. Call Management System (CMS): ICR Core returns the ewtmedium that CMS provides. Note: The ewtmedium information is provided only when the result of a routing request is AGENT_AVAILABLE. In case the result of the routing request is AGENT_NOT_AVAILABLE, ICR Core returns the ewtmedium value as 65534. In case the result of the routing request is OUT_OF_HOURS or GENERIC_ERROR, ICR Core returns the ewtmedium value as -1. The estimate of how long a caller will wait in queue at LOW priority. ICR Core returns the ewtlow value based on the following data sources that you use to get the BSR information: Communication Manager (CM): ICR Core returns the ewtlow value as -1. Call Management System (CMS): ICR Core returns the ewtlow that CMS provides. Note: The ewtlow information is provided only when the result of a routing request is AGENT_AVAILABLE. In case the result of the routing request is AGENT_NOT_AVAILABLE, ICR Core returns the ewtlow value as 65534. In case the result of the routing request is OUT_OF_HOURS or GENERIC_ERROR, ICR Core returns the ewtlow value as -1. The number of agents that are currently logged in to an ACD skill. ICR Core returns the agentsstaffed value based on the following data sources that you use to get the BSR information: Communication Manager (CM): ICR Core returns the agentsstaffed value as -1. Call Management System (CMS): ICR Core returns the agentsstaffed that CMS provides. Note: The agentsstaffed information is provided only when the result of a routing request is AGENT_AVAILABLE. In case of all other routing request results, ICR Core returns the agentsstaffed value as -1. The number of agents that are currently logged in to ACD and are available to handle calls. ICR Core returns the availableagents value based on the following data sources that you use to get the BSR information: ICR Developer Guide Comments? infodev@avaya.com 15

ICR pluggable data connector overview The DestinationInformation implicit variable Field name identifier Communication Manager (CM): ICR Core returns the availableagents value as -1. Call Management System (CMS): ICR Core returns the availableagents that CMS provides. Note: The agentsavailable information is provided only when the result of a routing request is AGENT_AVAILABLE. In case of all other routing request results, ICR Core returns the agentsavailable value as -1. The identifier of the destination to which ICR queues the call. You can find the identifier configuration on the ICR Configuration > Skill > Destination menu of Experience Portal Manager. For more information, see Administering Intelligent Customer Routing. If you have multiple ACD Skills in a destination then identifier is formatted as <identifier>_<acd Skill Number>. Note: The identifier information is provided only when the result of the routing request is AGENT_AVAILABLE. The DestinationInformation implicit variable created by the Get All Destination Information method The following table describes the fields in the DestinationInformation implicit variable created by the Get All Destination Information method. This variable is an array of DestinationInformation fields. To check the values in the entire array, you can use the Loop Collection method on the "DestinationInformation" variable. Field name result acd acdskill acdtype The status of the destination. The possible values are: AGENT_AVAILABLE: Indicates that agents are available on this destination. Agents can either be in the available state or in the after call work state. AGENT_NOT_AVAILABLE: Indicates that all logged in agents are in the AUX work state. GENERIC_ERROR: Indicates that an error occurred. This result is also returned when CMS is used as data source and no agent is logged in the call center. OUT_OF_HOURS: Indicates that a call arrived when a call center is closed according to the Business Hours and Holiday configuration for the destination. The name of the call center. You can find the call center configuration on the ICR Configuration menu of Experience Portal Manager. An ACD Skill Number configured for the destination. ICR Core returns the acdskill configured on the Destination page of Experience Portal Manager. The type of call center. ICR Developer Guide Comments? infodev@avaya.com 16

ICR pluggable data connector overview The DestinationInformation implicit variable Field name defaultacd defaultdestination destination equeueposition ewt freshness percentans Note: For this ICR release, the default value is Avaya-CM. The name of the call center configured as Default Call Center for the requested Skill. Configure the default call center for an ICR Skill in the Call Center of Default VDN field that is present on the Skill page. The Skill page is located at: Home > ICR Configuration > Skill in Experience Portal Manager. The SIP URI of the default destination configured for the requested Skill.You can find the default destination configuration on the ICR Configuration menu of Experience Portal Manager. Configure the default destination for an ICR Skill in the Default VDN field that is present on the Skill page. The Skill page is located at: Home > ICR Configuration > Skill in Experience Portal Manager. The SIP URI of the destination. You can configure the Destination using ICR Configuration > Skill > Destination menu of Experience Portal Manager. The estimated queue position on the destination. In an agent surplus condition, ICR Core returns the equeueposition value 0. In a call surplus condition, ICR Core returns a value greater than 0. Note: The equeueposition information is provided only when the status of the destination is AGENT_AVAILABLE. In case of all other status, ICR Core returns the equeueposition value as -1. The estimated wait time (EWT) of how long a caller will wait in queue. ICR Core saves the EWT for a skill in a cache for a specific period. You can configure this specific period on the ICR Configuration > Skill menu of Experience Portal Manager. Note: The ewt information is provided only when the status of the destination is AGENT_AVAILABLE. In case the status of the destination is AGENT_NOT_AVAILABLE, ICR Core returns the ewt value as 65534. In case the status of the destination is OUT_OF_HOURS or GENERIC_ERROR, ICR Core returns the ewt value as -1. The time in seconds that elapsed since ICR Core saved the EWT in a cache for a skill. ICR Core returns the freshness value as 0. The value in the percentans field that indicates the percentage of calls answered within the service level of the ACD Skill configured for the destination. ICR Core returns the percentans value that CMS provides. Note: The percentans information is provided only when the status of the destination is AGENT_AVAILABLE. In case of all other routing request results, ICR Core returns the percentans value as -1.0. ICR Developer Guide Comments? infodev@avaya.com 17

ICR pluggable data connector overview The DestinationInformation implicit variable Field name priority refer ewttop ewthigh ewtmedium ewtlow The priority level of an ACD Skill configured for the destination. ICR Core returns the priority value that is configured in the EWT Priority field on the Destination page of Experience Portal Manager. The location of the Destination page is Home > ICR Configuration > Skill > Destination in Experience Portal Manager. A value that indicates whether to queue or transfer a call. The possible values are: true: To transfer the call. false: To queue the call. For this release of ICR, the default value is false. The estimate of how long a caller will wait in queue at TOP priority. ICR Core returns the ewttop value that CMS provides. Note: The ewttop information is provided only when the status of the destinationis AGENT_AVAILABLE. In case the status of the destination is AGENT_NOT_AVAILABLE, ICR Core returns the ewttop value as 65534. In case the status of the destination is OUT_OF_HOURS or GENERIC_ERROR, ICR Core returns the ewttop value as -1. The estimate of how long a caller will wait in queue at HIGH priority. ICR Core returns the ewthigh value that CMS provides. Note: The ewthigh information is provided only when status of the destinationrequest is AGENT_AVAILABLE. In case the status of the destination is AGENT_NOT_AVAILABLE, ICR Core returns the ewthigh value as 65534. In case the status of the destination is OUT_OF_HOURS or GENERIC_ERROR, ICR Core returns the ewthigh value as -1. The estimate of how long a caller will wait in queue at MEDIUM priority. ICR Core returns the ewtmedium value that CMS provides. Note: The ewtmedium information is provided only when the status of the destination is AGENT_AVAILABLE. In case the status of the destination is AGENT_NOT_AVAILABLE, ICR Core returns the ewtmedium value as 65534. In case the status of the destination is OUT_OF_HOURS or GENERIC_ERROR, ICR Core returns the ewtmedium value as -1. The estimate of how long a caller will wait in queue at LOW priority. ICR Core returns the ewtlow value that CMS provides. Note: The ewtlow information is provided only when the status of the destinationis AGENT_AVAILABLE. In case the status of the destination is AGENT_NOT_AVAILABLE, ICR Core ICR Developer Guide Comments? infodev@avaya.com 18

ICR pluggable data connector overview Properties in the icrpdc.properties file Field name agentsstaffed agentsavailable identifier returns the ewtlow value as 65534. In case the status of the destination is OUT_OF_HOURS or GENERIC_ERROR, ICR Core returns the ewtlow value as -1. The number of agents that are currently logged in to an ACD skill. ICR Core returns the agentsstaffed value that CMS provides. Note: The agentsstaffed information is provided only when the status of the destination is AGENT_AVAILABLE. In case of all other status of the destination, ICR Core returns the agentsstaffed value as -1. The number of agents that are currently logged in to ACD and are available to handle calls. ICR Core returns the availableagents value that CMS provides. Note: The agentsavailable information is provided only when the status of the destination is AGENT_AVAILABLE. In case of all other status of the destination, ICR Core returns the agentsavailable value as -1. The identifier of the destination. You can find the identifier configuration on the ICR Configuration > Skill > Destination menu of Experience Portal Manager. For more information, see Administering Intelligent Customer Routing. If you have multiple ACD Skills in a destination then identifier is formatted as <identifier>_<acd Skill Number>. Properties in the icrpdc.properties file The icrpdc.properties file is present in the WEB-INF/lib directory of the SSA in Avaya Aura Orchestration Designer (OD). After making changes in the icrpdc.properties file, you must deploy the SSA on the application server for the changes to take effect in an ICR call. Note: The icrpdc.properties file is present in the WEB-INF/lib directory of SSA on application server after the deployment. If you change icrpdc.properties on application server, you must restart the SSA. The following table provides information about the ICR PDC properties file. Property name Default value Possible value WebServiceRequestTimeOut The time-out for the web service request that the ICR PDC makes to the randomly selected ICR Core. If ICR Core does not respond within the time-out period, ICR PDC moves to the next ICR Core in the system. You must configure the timeout value in seconds. 10 If this property value is less than the ICRBsrRequestTimeout property value configured in the icrcore.properties file, ICR CCA might not wait for ICR Core to perform the polling and moves to the next ICR Core. For more information about the ICRBsrRequestTimeout property of ICR Core, see Implementing Intelligent ICR Developer Guide Comments? infodev@avaya.com 19

ICR pluggable data connector overview Simulation of the application containing ICR PDC Property name Default value Possible value Customer Routing. ICRCoreHTTPSCommPort ICRCoreHTTPCommPort ICRCoreHTTPSCommEnable The SSL port on which the PDC communicates with ICR Core to receive the best routing destination. The HTTP port on which the PDC communicates with ICR Core to receive the best routing destination. You can disable the SSL communication by setting the ICRCoreHTTPSCommEnable to false. The value that decides whether ICR Core and PDC must communicate using HTTP or SSL. By default, ICR Core and PDC communicate through SSL. If you set ICRCoreHTTPSCommEnable to false, ICR Core and PDC communicate using HTTP. 20443 20080 true Simulation of the application containing ICR PDC The ICR PDC leverages the simulation capabilities that Avaya Aura Orchestration Designer provides. You can test SSA using a simulator without ICR Core. For more information about the application testing by simulation, see Orchestration Designer Developer Guide. Note: In ICR, the simulation profile allows saving single destination information detail. Thus, an application that uses Get All Destination method retrieves only single destination information. Editing the simulation profile About this task This task provides the steps to edit the simulation profile that you can use to test SSA. Procedure 1. Start the OD application. 2. To edit the simulation profile: a. On the Application Simulator tab, select the SSA node. ICR Developer Guide Comments? infodev@avaya.com 20