Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.5(1) November 2011 Americas Headquarters Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.
THE SPECIFICATIONS AND INFORMATION REGARDING THE PRODUCTS IN THIS MANUAL ARE SUBJECT TO CHANGE WITHOUT NOTICE. ALL STATEMENTS, INFORMATION, AND RECOMMENDATIONS IN THIS MANUAL ARE BELIEVED TO BE ACCURATE BUT ARE PRESENTED WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. USERS MUST TAKE FULL RESPONSIBILITY FOR THEIR APPLICATION OF ANY PRODUCTS.
Table of Contents Preface ...........................................................................................................................................................1 Purpose .....................................................................................................................................................1 Audience ....................................................................................................................................................
Example - How ICM Software Determines the Call Type for a Voice Contact .........................................28 Example - How ICM Software Determines the Call Type for a Web Request ..........................................29 Example - How ICM Software Determines the Call Type for an E-Mail Contact ......................................29 3. Categorizing Contacts...............................................................................................................................
How to Select Targets by Rules...........................................................................................................72 Distributing Contacts to Targets ...............................................................................................................74 Selecting Targets and Distributing Contacts Using One Node.................................................................75 Transferring Calls from Agents to Agents...........................................................
Universal Queue Configuration Overview..........................................................................................121 Multichannel Scripting and Media Routing Domains..............................................................................121 What is a Media Routing Domain?....................................................................................................121 Media Routing Domains and Interruptibility.........................................................................
How to Check Script Routes...................................................................................................................147 How to Set Active Scripts.......................................................................................................................149 How to Use Preferences to Set an Active Script....................................................................................149 How to use the Script > Make Active Version Command..................................
Prioritizing Calls......................................................................................................................................176 Checking for Available Agents ...............................................................................................................176 Using the Select Node ...........................................................................................................................176 Queuing to a Skill Group......................................
Example - Routing Based on the Media Routing Domain ................................................................210 Example E-Mail Scripts .........................................................................................................................211 Overview of E-mail Routing through ICM Software ..........................................................................211 Example - Queuing E-mail to a Skill Group ............................................................................
List of Figures Figure 1: General Tab of the Palette..................................................................................................................................7 Figure 2: Routing Tab of the Palette..................................................................................................................................8 Figure 3: Targets Tab of the Palette............................................................................................................................
Figure 34: Percent Allocation Properties.........................................................................................................................46 Figure 35: If Icon.............................................................................................................................................................46 Figure 36: If Properties..................................................................................................................................................
Figure 69: Agent to Agent Properties..............................................................................................................................79 Figure 70: ICM Gateway Icon.........................................................................................................................................80 Figure 71: ICM Gateway Properties................................................................................................................................
Figure 104: IPCC Gateway PG......................................................................................................................................173 Figure 105: System IPCC Deployment.........................................................................................................................182 Figure 106: Label Node Properties................................................................................................................................
Figure 139: Agent to Agent Node Script.......................................................................................................................221 Figure 140: Example Supervisor Assist Script..............................................................................................................222 Figure 141: Setting the OutboundControl Variable and Skill Group Reservation Percentage......................................224 Figure 142: Queue to Agent node Properties......................
Preface Purpose This manual describes how to use the Cisco Intelligent Contact Manager/IP Contact Center software Script Editor tool to create and maintain routing and administrative scripts. Audience This document is intended for Cisco ICM/IPCC system managers. A system manager must have a general understanding of contact center operations and management, and specific information about the contact centers and carrier networks connected to the Cisco ICM/IPCC system.
Preface Related Documentation Chapter Description Chapter 5, Network VRUs (page 91) Discusses diverting contacts to a Network VRU for additional call processing. Chapter 6, Multichannel Routing (page 119) Discusses writing scripts to handle multichannel routing situations. Chapter 7, Using Formulas (page 129) Explains how to create formulas and use them in routing nodes, categorizing contacts, and selecting routing targets.
Preface Conventions Conventions This manual uses the following conventions: Convention Description boldface font Boldface font is used to indicate commands, such as user entries, keys, buttons, and folder and submenu names. For example: • Choose Edit > Find. • Click Finish. italic font Italic font is used to indicate the following: • To introduce a new term. Example: A skill group is a collection of agents who share similar skills. • For emphasis. Example: Do not use the numerical naming convention.
Preface Documentation Feedback http://www.cisco.com/en/US/docs/general/whatsnew/whatsnew.html Subscribe to the What's New in Cisco Product Documentation as a Really Simple Syndication (RSS) feed and set content to be delivered directly to your desktop using a reader application. The RSS feeds are a free service and Cisco currently supports RSS version 2.0. Documentation Feedback You can provide comments about this document by sending email to the following address: mailto:ccbu_docfeedback@cisco.
Chapter 1 Common Tasks This topic contains information about common tasks you perform in Script Editor. This topic does not contain information on every possible task you can perform. For more information on Script Editor, see the online help.
Chapter 1: Common Tasks How to Use Toolbars How to Use Toolbars Viewing Toolbars You control which toolbars appear in the application window by using the View menu: Step 1 From the View menu, select Toolbar. The submenu opens, listing the four toolbars. Toolbars that are currently open are checked. Step 2 To open a toolbar, from the submenu, select the unchecked toolbar. Step 3 To close a toolbar, from the submenu, select the checked toolbar.
Chapter 1: Common Tasks Using the Palette to Build a Script Using the Palette to Build a Script You use the Palette to build a script by moving icons representing different nodes into the script workspace. You do this by: • Placing cursor over object and pressing the left mouse button, then dragging the object into the workspace and releasing the mouse button. • Placing cursor over object and clicking the left mouse button, then moving the cursor into the workspace and clicking the mouse button again.
Chapter 1: Common Tasks Routing Tab • Line Connector (page 203) • Percent Allocation (page 42) • Set Variable (page 129) • Skill Group (page 56) • Start (page 201) • Switch (page 42) • Time (page 39) Routing Tab Following is the Routing tab of the Palette: Figure 2: Routing Tab of the Palette The Routing tab contains icons for the following nodes: • Call Type (page 31) • Caller-Entered Digits (page 33) • Calling Line ID (page 33) • Dialed Number (page 33) • Distribute (page 74) • ICM Gateway (page 80) •
Chapter 1: Common Tasks Targets Tab Targets Tab Following is the Targets tab of the Palette: Figure 3: Targets Tab of the Palette The Targets tab contains icons for the following nodes: • Agent (page 55) • Agent to Agent (page 78) • Announcement (page 62) • Busy (page 65) • Divert Label (page 68) • Enterprise Service (page 61) • Enterprise Skill Group (page 59) • Label (page 66) • Release Call (page 81) • Ring (page 65) • Route Select (page 75) • Scheduled Select (page 64) • Service (page 58) • Skill Grou
Chapter 1: Common Tasks Queue Tab Queue Tab Following is the Queue tab of the Palette: Figure 4: Queue Tab of the Palette The Queue tab contains icons for the following nodes: • Cancel Queuing (page 105) • Collect Data (page 106) • Menu (page 109) • Play (page 112) • Queue (page 101) • Queue Priority (page 104) • Queue to Agent (page 123) • Run External Script (page 98) • Send To VRU (page 93) • Translation Route to VRU (page 94) • VRU Settings (page 115) • Wait (page 116) How to Create a Routing Script
Chapter 1: Common Tasks Queue Tab Figure 5: File > New Dialog Box Step 2 Click The new script opens in the Edit window, with a Start node (page 201). Step 3 Build the script. Step 4 To save the script, select File > Save or click Save. You are prompted for a script name. How to Add Comments to a Node Most nodes have a Comment tab: Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.
Chapter 1: Common Tasks Queue Tab Figure 6: Comment Tab Step 1 You can add a comment in the Enter text field. Step 2 You can also select the location in the node you want the comment to appear in by selecting a radio button in the Text justification area. How to Specify Connection Label Location for a Node Most nodes have a Connection Labels tab: Figure 7: Connection tab Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.
Chapter 1: Common Tasks Queue Tab Step 1 Step 2 You can specify the location of connection labels when viewing a script in monitor mode by moving the slider in the Label position area. Move the slider to: a. Origin, for the connection label to display close to the node you are editing. b. Destination, for the connection label to display close to the targeted node. c. Center, for the connection label to display between the nodes.
Chapter 1: Common Tasks Queue Tab How to Open Script Explorer Step 1 In Script Editor, select File > Script Explorer or on the toolbar, click the Explorer Icon The Script Explorer dialog box opens, listing scripts by customer and business entity: You can then set the active version of the script, view its properties, rename it, or delete it. See the online help for more information.
Chapter 1: Common Tasks Queue Tab Step 2 Select the Schedules Tab: Figure 10: Call Type Manager Dialog Box - Schedules Tab Step 3 Select the Call Type (page 31) to associate with the script. Step 4 Click Add. The Add Call Type Schedule dialog box opens.
Chapter 1: Common Tasks Viewing Modes Figure 12: Add Call Type Schedule Dialog Box - Period Tab Step 7 Optionally, in the Description tab, enter a description of the schedule. Step 8 Click OK in the Add Call Type Schedule dialog box. Step 9 Click OK in the Call Type Manager dialog box. Note: The schedule is not saved until you click OK in the Call Type Manager dialog box. Viewing Modes You can view a script in four different modes: • Browse - Allows you to view the script, but not make any changes.
Chapter 1: Common Tasks Using the Find Nodes Option that change the structure of a script or that reset previous reporting data cannot be edited in Quick Edit mode. • As a Quick Edit Only User: – You can only edit scripts through Quick Edit mode. – You cannot create or delete a script – You can access the Properties of any script node in any mode by either right clicking on the node and selecting Properties, or by double-clicking on the node.
Chapter 1: Common Tasks Using the Find Nodes Option Find Nodes and Nodes Found Dialog Boxes Most properties of the "Find Nodes" dialog box are common and appear regardless of the “Find Nodes By” selection. However, as each of the options in the “Find Nodes By” section is selected, the appearance of the “Find Nodes” dialog box changes. The "Nodes Found" dialog box displays the results of your "Find" operation.
Chapter 1: Common Tasks Using the Find Nodes Option Name: Description: Default Value: String (Alt+S) Selects node(s) based on a string that is entered. This string is case N/A insensitive. When selected, the “Please enter string” field appears. Displays a list of nodes containing the substring of the input string in the Current script, All active script versions, or All opened scripts. Note: By default, this search criteria does not search the “Comment” field in each node.
Chapter 1: Common Tasks Using the Find Nodes Option Note: If there is no node with a matching ID, a message appears stating: "Cannot find node with ID ." (where is the node ID). Step 6 Select a node in the list and that node is highlighted in the script. How to find nodes by Object Step 1 Open the Script Editor tool. Step 2 Select Edit > Find Node (Ctrl+F). The “Find Nodes” dialog box appears. Step 3 In the “Find Nodes By” section, select Object.
Chapter 1: Common Tasks Using the Find Nodes Option How to find nodes by String Step 1 Open the Script Editor tool. Step 2 Select Edit > Find Node (Ctrl+F). The “Find Nodes” dialog box appears. Step 3 In the “Find Nodes By” section, select String. The “Please enter string:” field is displayed. Note: The Find By String “Please enter string:” field entry is case insensitive. Step 4 Enter the appropriate string into this field. Step 5 Click Find.
Chapter 1: Common Tasks Using the Find Nodes Option Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.
Chapter 2 Call Types, Contact Data, and Scripting As one writing scripts to route contacts, you must understand Call Types and contact data. Call Types are typically created during ICM software configuration, through the ICM Configuration Manager, and are therefore discussed in greater detail in the Cisco ICM Software Configuration Guide and the Cisco ICM Software IP Contact Center Installation and Configuration Guide.
Chapter 2: Call Types, Contact Data, and Scripting What is a Default Call Type? What is a Default Call Type? A default Call Type is the Call Type used when a contact does not map to a defined Call Type. You define a default Call Type for each routing client through ICM software's Configuration Manager. You also define a general default Call Type that is not specific to a routing client. For more information, see the Cisco ICM Software Configuration Guide.
Chapter 2: Call Types, Contact Data, and Scripting Call Type Qualifiers Dialed Number (DN) A Dialed Number (DN) is a string that represents the telephone number dialed by the caller, preceded by the name of the routing client and a period. For example, "NICClient.18005551212" might be a Dialed Number. Typically, a Dialed Number is associated with one or more Call Types. The Calling Line ID and Caller Entered Digits are used to further categorize the call and determine the Call Type.
Chapter 2: Call Types, Contact Data, and Scripting Data for Web Requests Caller-entered Digits (CED) Caller-entered Digits (CED) are numbers entered by the caller in response to prompts. For example, a caller may enter a number to indicate the type of service needed. The caller may enter digits through the carrier network or the call center system. Regardless, the Caller-entered Digits can be used in defining the call's Call Type.
Chapter 2: Call Types, Contact Data, and Scripting Data for E-Mail Requests Data for E-Mail Requests Cisco E-Mail Manager sends the following data to ICM software when requesting that an e-mail message be routed: • Instance and skill group name - A string that determines which script to run on ICM software. The value is the name of the E-Mail Manager instance and the ICM Routing skill group the message was assigned to, separated by a period; for example, "SupportInstance.techSupport".
Chapter 2: Call Types, Contact Data, and Scripting Example - How ICM Software Determines the Call Type for a Voice Contact 1. If the Dialed Number, Calling Line ID, and Caller-Entered Digits of the contact map to a defined Call Type, ICM software uses that Call Type. 2. If no Call Type matches the contact, ICM software uses the default Call Type for the routing client. 3. If no default Call Type is defined for the routing client, ICM software uses the general default Call Type. 4.
Chapter 2: Call Types, Contact Data, and Scripting Example - How ICM Software Determines the Call Type for a Web Request 10. ICM software determines that the Call Type is "MASSACHUSETTS_SALES" and executes the "MASSACHUSETTS_SALES_SCRIPT" script. 11. ICM software assigns the task to a particular agent. Example - How ICM Software Determines the Call Type for a Web Request The following basic example demonstrates how ICM Software Determines the Call Type for a single session chat Web request: 1.
Chapter 2: Call Types, Contact Data, and Scripting Example - How ICM Software Determines the Call Type for an E-Mail Contact 3. You create a script called "EMAIL_SCRIPT". For messages with a priority of "Urgent" (with the cisco.cem.Priority Expanded Call Variable value of "3") and a category of "Sales" (with the cisco.cem.Category Expanded Call Variable value of "Sales"), the script assigns the message to the E-Mail Manager local skill group "UrgentSales". 4.
Chapter 3 Categorizing Contacts When you create a routing script, you typically use the nodes available in Script Editor to define how the script is to categorize contacts. By categorizing contacts, a script can provide unique treatments for different customer needs.
Chapter 3: Categorizing Contacts Categorization and Call Types Figure 13: The Call Type Icon Following is the Properties dialog box of the Call Type node: Figure 14: Call Type Properties Dialog Box - Call Type Node Define Call Type node properties as follows: 1. In the Call Type tab, select the Call type to assign to the contact. 2. Optionally, add comments and connection labels. Warning: The Call Type node changes the call type and continues the current script execution.
Chapter 3: Categorizing Contacts Categorizing by Call Type Qualifiers Figure 15: The Requalify Call Icon Following is the Properties dialog box of the Requalify Call node: Figure 16: The Requalify Call Properties - Requalify Call Tab Define Requalify node properties as follows: 1. In the Requalify Call tab, select the Call type to assign to the contact. 2. Optionally, add comments. Warning: The Call Type node changes the call type and continues the current script execution.
Chapter 3: Categorizing Contacts Categorizing by Call Type Qualifiers • Dialed Number • Calling Line ID (CLID) • Caller-Entered Digits When ICM software determines a contact's Call Type based on these qualifiers, it executes the associated script. However, after the script executes, you can further categorize the contact based on the values of the Call Type qualifiers. For example, a Call Type may be defined as having a Calling Line ID that includes calls from all area codes in New England states.
Chapter 3: Categorizing Contacts Categorizing by Call Type Qualifiers Figure 18: Dialed Number Properties - Dialed Number Tab Define Dialed Number node properties as follows: 1. Select one or more dialed numbers or Script Selectors from the Dialed numbers list and click Add> to move them to the Target dialed numbers list.
Chapter 3: Categorizing Contacts Categorizing by Call Type Qualifiers Before defining CLID node properties, you must insert one or more targets and connections from the CLID node. Then define CLID node properties as follows: 1. In the Calling Line ID tab: a. Figure 20: CLID Properties - Calling Line ID For each branch to a different target, select the Case (the number displayed on each success connection branch); for example, 1, 2, and 3. b. For each Case, select the Type of match.
Chapter 3: Categorizing Contacts Categorizing by Call Type Qualifiers a. Figure 21: CLID Properties - Variable By default, Use Calling Line ID is selected, to have ICM software compare the list of values you define in the Calling Line ID tab against the calling line ID of the contact. b. To have ICM software use the value of an expression instead of the Calling Line ID, select Use Expression and enter the expression directly or click Formula Editor to use a formula to define the expression. 3.
Chapter 3: Categorizing Contacts Categorizing by Call Type Qualifiers For example, you can define the CED node to send contacts to: • SkillGroupA if the caller-entered digits match a specific string • SkillGroupB if there are no caller-entered digits Note: For Web Collaboration requests, the CED maps to the applicationstring2 variable.
Chapter 3: Categorizing Contacts Categorizing by Time and Date – None Entered, to apply when the caller was prompted for digits but did not enter any. – None Required, to apply when the caller was not prompted for digits. Note: If you delete a connection associated with a Case, the Case information you specified in the Properties dialog box is also deleted. Categorizing by Time and Date You schedule a script by associating it with a Call Type.
Chapter 3: Categorizing Contacts Categorizing by Time and Date Figure 25: Time Properties You must insert targets and connections from the Time node before you can define the node's properties. Then define Time node properties as follows: 1. For each branch listed in the Connections list, define a Time Range. You can define multiple time ranges for a single branch. Click Add Time to add a new time range to the branch, or select a time range listed and click Modify Time to modify it.
Chapter 3: Categorizing Contacts Categorizing by Time and Date Figure 26: Add Time Dialog 2. To delete a time associated with the branch, select the time and click Delete Time. 3. You can define a branch as Otherwise by selecting the branch and clicking Make Otherwise. Execution follows this branch if none of the specified time ranges apply. You can specify only one Otherwise branch for the node. To no longer define the branch as otherwise, select the branch and click Delete Otherwise. 4.
Chapter 3: Categorizing Contacts Categorizing by Branching Figure 28: Day of Week Properties You can define multiple output connections from the Day of Week node and associate each with one or more days of the week. You must insert targets and connections from the Day of Week node before you can define the node's properties. Define Day of Week node properties as follows: 1. For each branch listed in the Connection list, check the days of the week in which processing should continue on that branch.
Chapter 3: Categorizing Contacts Categorizing by Branching the contact to a different script called "URGENT_EMAIL_SCRIPT that is designed and maintained specifically to process the most important e-mail messages. How to Execute a Different Script You use the Go To Script node (in the General tab of the Palette) to direct contact processing to another script without changing the call type.
Chapter 3: Categorizing Contacts Categorizing by Branching By default, ICM software consists of one business entity. Multiple business entities are allowed only if you enable partitioning. For more information on partitioning, see the Cisco ICM Software Security Guide. 2. Select a script from the Scripts list. From within an administrative script, you can go to only another administrative script. Within a routing script, you can go to only another routing script. 3.
Chapter 3: Categorizing Contacts Categorizing by Branching You must insert targets and connections from the Switch node before you can define the node's properties. Then define Switch node properties as follows: 1. By default, Connections are labeled "A", "B", etc. To re-label a Connection, click Modify Name and make changes to the name. 2. To make a connection active, select a Connection and click Make Active. Only one connection can be active at any time.
Chapter 3: Categorizing Contacts Categorizing by Branching Figure 34: Percent Allocation Properties Define Percent Allocation node properties as follows: 1. In the Percent column for each connection, enter a percent number for the percentage of contacts to process on that branch. Note: The percent total for all rows must equal 100. 2. Optionally, modify the Connection name. Changes appear in the connector labels when you save the properties and view the script. 3.
Chapter 3: Categorizing Contacts Categorizing By External Data Following is the Properties dialog box of the If node: Figure 36: If Properties Define If node properties as follows: 1. In the Define condition field, enter a condition or use the Formula Editor to create a formula. 2. Optionally, add comments and connection labels. How to Categorize a Contact Based on its Media Routing Domain You use the Media Routing Domain node to categorize contacts based on their media routing domains.
Chapter 3: Categorizing Contacts Categorizing By External Data skill group dedicated to responding to Premium customers; otherwise, script processing continues down another branch that assigns the phone call to a more general skill group, where the wait time is expected to be longer. Note: You must use the ICM Configuration Manager to define the external database table and the columns that are to be referenced in scripts. For more information, see the Cisco ICM Software Configuration Guide.
Chapter 3: Categorizing Contacts Categorizing By External Data Figure 38: DB Lookup Properties Define the DB Lookup node properties as follows: 1. Select the database Table you want to query. (The drop-down list contains the enterprise names of all lookup tables defined in ICM software.) Note: Define all integer fields in tables accessed by a DBLookup node as NOT NULL.
Chapter 3: Categorizing Contacts Categorizing by External Applications Where: • table-name is the enterprise name of the table as defined through the Configuration Manager. • column-name is the name of the column from the table, which is also defined through the Configuration Manager. For example, if the table Customers contains a column named Priority, you would reference that column in an If expression as follows: Database.Customers.Priority = 1 For more information, see Using Formulas (page 129).
Chapter 3: Categorizing Contacts Categorizing by External Applications a. Figure 40: App Gateway Properties - Send In the Application Gateway drop-down list, select the gateway. b. In the Subtype filed, enter the string that is to be sent to the external application, or use the Formula Editor to write an expression that evaluates to a string. c. In the Call variables list, check the call variables to send to the external application. d.
Chapter 3: Categorizing Contacts Categorizing by External Applications – Figure 41: App Gateway Properties - Receive Check No Reply if the external application is not to return data to the script. Note: If you select this option, ICM software is not able to retrieve any data from the external application. – In the Call variables list, check variables that the external application may modify.
Chapter 4 Selecting Routing Targets After defining how a script is to categorize contacts, you typically use the nodes available in Script Editor to specify how the contact is to be routed to a target. By selecting routing targets, you determine the destination for contacts.
Chapter 4: Selecting Routing Targets What is a Routing Target? What is a Routing Target? A routing target is an entity to which ICM software can route a contact. The routing target receives the contact and processes it accordingly. There are two types of routing targets: Skill targets and Network targets. What is a Route? A value returned by a routing script that maps to a target at a peripheral, such as a service, skill group, agent, or translation route to a label.
Chapter 4: Selecting Routing Targets Agents: How to Define a Set of Agents Who Can Receive the Contact • Skill groups • Services Enterprise-level skill targets include: • Enterprise skill groups • Enterprise services Agents: How to Define a Set of Agents Who Can Receive the Contact There are three nodes available for agent routing: 1. Queue to Agent Node. See Queuing to Agents (page 124) 2. Agent to Agent Node. See Transferring a Call from Agents to Agents (page 78) 3.
Chapter 4: Selecting Routing Targets Skill Groups: How to Define a Set of Skill Groups That Can Receive the Contact Figure 43: Agent Properties - Routing Target Tab Define Agent node properties as follows: 1. For each agent in the target set: – In the Agent column, for each row used, select the agent to which the contact can be routed. You can use the drop-down list for each table cell, or select multiple agents by clicking Add Targets and using the dialog box that opens to select multiple agents.
Chapter 4: Selecting Routing Targets Skill Groups: How to Define a Set of Skill Groups That Can Receive the Contact Figure 44: The Skill Group Icon You use the Skill Group node to define the set of skill groups that can receive the contact.
Chapter 4: Selecting Routing Targets Services: How to Define a Set of Services That Can Receive the Contact when the associated target is chosen. When the script terminates, the route for the selected skill group is still used. 3. Click Validate to check whether the targets you defined are valid. Correct any errors that are flagged. 4. Optionally, add connection labels.
Chapter 4: Selecting Routing Targets Enterprise Skill Groups: How to Define a Set of Enterprise Skill Groups That Can Receive the Contact 1. For each service in the target set: – In the Service column, for each row used, select the service to which the contact can be routed. You can use the drop-down list for each table cell, or select multiple services by clicking Add Targets and using the dialog box that opens to select multiple services.
Chapter 4: Selecting Routing Targets Enterprise Skill Groups: How to Define a Set of Enterprise Skill Groups That Can Receive the Contact Figure 49: Enterprise Skill Group Properties - Routing Tab Define Enterprise Skill Group node properties as follows: 1. From the Business Entity drop-down list, select the business entity for the enterprise skill groups. 2. From the Enterprise target drop-down list, select the enterprise target for the enterprise skill groups. 3.
Chapter 4: Selecting Routing Targets Enterprise Services: How to Define a Set of Enterprise Services That Can Receive the Contact Enterprise Services: How to Define a Set of Enterprise Services That Can Receive the Contact You define a set of enterprise services that can receive the contact by using the Enterprise Service node in the Targets tab of the Palette.
Chapter 4: Selecting Routing Targets Network Targets 2. From the Enterprise target drop-down list, select the enterprise target for the enterprise services. 3. For each enterprise service in the target set: – In the Service column, for each row used, select the enterprise service to which the contact can be routed. – In the Route column, select the route that maps to a specific target at the peripheral. – Optionally, in the Translation Route column, select a translation route. 4.
Chapter 4: Selecting Routing Targets How to Route a Call to an Announcement Figure 52: Announcement Icon When executing the Announcement Node, ICM software returns the label associated with the announcement to the routing client. The Announcement Node terminates the script. You might use the Announcement Node to: • Explain why the call cannot currently be handled. • Direct the caller to another phone number or to another way of contacting the company.
Chapter 4: Selecting Routing Targets How to Route a Call to a Scheduled Target How to Route a Call to a Scheduled Target You can send a call to a target that is configured to handle a specific number of simultaneous contacts based on a periodic schedule by using the Scheduled Select node in the Targets tab of the Palette. Figure 54: Schedule Select Icon ICM software keeps track of the schedule and the number of calls sent to the target.
Chapter 4: Selecting Routing Targets How to Route a Call to an Unanswered Ring 1. In the Evaluation Order field select: – Start with first target to have ICM software always start the search from the first target in the list. – Start with next target to have ICM software start the search from the first target after the last chosen target. 2. Click Add Target to add a new scheduled target.
Chapter 4: Selecting Routing Targets How to Return a Label to a Routing Client Figure 57: Busy Icon When ICM software executes a Busy node, it returns the first Busy label associated with the routing client; the routing client then plays a busy signal for the caller. Note: You must define a Busy label using the ICM Configuration Manager. For more information, see the Cisco ICM Software Configuration Guide. Note: Not all routing clients support the Busy Node.
Chapter 4: Selecting Routing Targets How to Return a Label to a Routing Client If = Then the label is sent to 2 Either the network transfer routing client or the network routing client, based on the NetworkTransferPreferred setting of the network routing client Note: The Label node supports Target Requery. Following is the Properties dialog box of the Label node: Figure 59: Label Properties - Label Tab Define Label node properties as follows: 1.
Chapter 4: Selecting Routing Targets How to Return Multiple Labels to a Routing Client How to Return Multiple Labels to a Routing Client You can return multiple labels to a routing client by using the Divert Label node in the Targets tab of the Palette. Figure 60: Divert Label Icon When ICM software executes a Divert Label node, it returns all the values in the Selected Labels list to the routing client. This differs from the Label node, which returns the first valid label for the current routing client.
Chapter 4: Selecting Routing Targets Selecting Targets by Rules – Configured, to select from a list of configured labels. – Dynamic, to define an expression that is to be returned as a label. 2. If you select Configured, select labels from the Available labels list and click Add> to add them to the Selected labels list. 3. If you select Dynamic, enter a Label Expression, optionally using the Formula Editor. 4. Optionally, add comments.
Chapter 4: Selecting Routing Targets Selecting Targets by Rules for an agent in the second skill group. When you select this option, contacts are distributed more evenly among the potential targets.
Chapter 4: Selecting Routing Targets Selecting Targets by Rules Selection Rule Applicable Targets Formula Description Services and Evaluate: MIN (*.AvgDelayQTo5) Minimum Enterprise Average Queue Delay Services (Min AvgQD) Minimum Longest Delayed Call (Min Delay) Services and Evaluate: MIN (*.LongestCallQ) Enterprise Services Minimum Services and Evaluate: MIN (*.
Chapter 4: Selecting Routing Targets Selecting Targets by Rules • Consider if statement 0. This expression ensures that only skill groups with at least one available agents are considered as targets; if a skill group has no available agents, the expression returns False and the skill group is not considered. • Selection criteria. A numeric expression plus an evaluation rule. The numeric expression determines a certain value of each target for which the Consider if statement returned True.
Chapter 4: Selecting Routing Targets Selecting Targets by Rules Figure 62: Select Properties - Select Tab Define Select node properties as follows: 1. Select from the list of Standard rules, or select Custom and: – In the Consider if field, enter a Boolean expression. A target is considered for selection only if the Consider If expression is true for that target. Optionally, use the Formula Editor.
Chapter 4: Selecting Routing Targets Distributing Contacts to Targets Distributing Contacts to Targets You can create a script to allocate contacts among the targets in the set based on current information about each target by using the Distribute node in the Routing tab of the Palette. Figure 63: Distribute Icon For example, you can distribute contacts among a set of services based on the number of agents in the service in the Ready state.
Chapter 4: Selecting Routing Targets Selecting Targets and Distributing Contacts Using One Node Figure 64: Distribute Properties - Distribute Tab Define Distribute node properties as follows: 1. Enter a condition in the Consider if field to test potential targets against. 2. Enter a formula by which to distribute contacts in the Distribute by field. 3. Optionally, add comments and connection labels.
Chapter 4: Selecting Routing Targets Selecting Targets and Distributing Contacts Using One Node Figure 66: Route Select Properties - Route Tab Define Distribute node properties as follows: 1. To select the Route select type, click Change. The Route Select Type dialog box opens: Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.
Chapter 4: Selecting Routing Targets Selecting Targets and Distributing Contacts Using One Node – Figure 67: Route Select Type For Target Type, select Agent, Enterprise Service, Enterprise Skill Group, Service, Service Array, or Skill Group. – If you selected Enterprise Service or Enterprise Skill Group, select a Business Entity and Enterprise target. – Select to Distribute among targets or Select most eligible targets.
Chapter 4: Selecting Routing Targets Transferring Calls from Agents to Agents – Optionally, check Enable target requery. – Click OK. 2. The fields in the Route Select Properties dialog box change depending on your route select type selections. Enter and select data appropriate for the type you selected. 3. Click Validate to check whether the targets you defined are valid. Correct any errors that are flagged. 4. Optionally, add connection labels.
Chapter 4: Selecting Routing Targets Transferring Calls from Agents to Agents Figure 69: Agent to Agent Properties Define Agent to Agent node properties as follows: 1. Select an option from the Select agent by drop-down list: – Peripheral number - To select a peripheral and a provide formula that translates to the agent's peripheral number. – Enterprise Name - To select the agent from the list of configured agents.
Chapter 4: Selecting Routing Targets Sending a Contact to a Different ICM System – The failure branch of the Agent to Agent node is executed if: The router does not find a valid label for the agent, or The agent is not available or The agent is in TempUnavailable mode (the router has just send a call to the agent). – When not checked: The success branch of the Agent to Agent node is executed and the router sends the call if the router finds a valid label for the agent.
Chapter 4: Selecting Routing Targets Stopping Script Processing Select one of the following: Do not apply masking rule - If selected, masking instructions are ignored. Apply masking rule if call is presentation restricted - If selected, applies masking instructions if the call variable CLIDRestricted is set to 1. Always apply masking rule - If selected, masking instructions are always applied. Note: The Calling line ID masking rule is set through the Configuration Manager's System Information dialog box.
Chapter 4: Selecting Routing Targets Stopping Script Processing Termination Node Release Call Node End Node You can terminate the script by using the End node in the General tab of the Palette. Figure 72: End Icon If the script reaches the End node, it has failed to find a target for the contact and ICM software then uses the default route for the dialed number. Several End nodes can appear in the same script. The End node is never required; a script can terminate with any node.
Chapter 4: Selecting Routing Targets Using Target Requery Figure 74: Termination Properties Define Termination node properties as follows: 1. Select the Termination type. 2. Optionally, add comments. Release Call Node You can terminate the script and disconnect the caller by using the Release Call node in the Targets tab of the Palette. Figure 75: Release Call Icon You can use a Release Call node in situations where the caller needs no further service after executing several IVR scripts.
Chapter 4: Selecting Routing Targets Using Target Requery Target Requery is intended to address the following failures: • Failure to deliver a call to an ACD agent. • Failure to deliver a call to an individual Enterprise Agent (EA). • Failure of the outbound leg of a blind-mode Network Transfer. • Target Requery works on a per call basis; that is, the routing information for one call does not affect the state for other calls.
Chapter 4: Selecting Routing Targets Using Target Requery The following are possible values for the RequeryStatus variable: Table 2: RequeryStatus Variables Requery Status Variable Description REQUERY_ANSWER (0) CallRouter internal use. Script ends and the call was successfully sent to the chosen target. Not visible to users.
Chapter 4: Selecting Routing Targets Checking Targets IP-IVR cannot requeue the call. The call is requeued from the CallManager instead. Setting the Target Requery option on the script node has no effect on the requeuing of the call, and may lead to timeouts and other script errors for that particular call. Do not enable Target Requery in script nodes when using IP IVR.
Chapter 4: Selecting Routing Targets Checking Targets 1. Start the Call Tracer by double-clicking the Call Tracer icon in the ICM Admin Workstation group. Script Editor opens, bringing up Call Tracer with it. To open Call Tracer if Script Editor is already open, double-click the Call Tracer icon in either the ICM Admin Workstation group or within the Script Editor toolbar. Figure 76: Call Tracer Icon 2. In the Call Tracer window, choose a Media Domain, a Routing Client, and a Dialed Number. 3.
Chapter 4: Selecting Routing Targets Checking Targets Percent allocation #54 __*42% = 0 __ 16% = 0 __ 42% = 0 Target #64 __Service: Scranton.Sales R Route: Scranton.Sales Peripheral target: DNIS: 1111, Trunk group: Scranton.Incoming800 Label: 2010000000 In the following example, the new call is counted in the denominator for each branch, but not in the numerator. Therefore, the numbers add up to less than 1.0 (but the total gradually approaches 1.0 as you send more calls).
Chapter 4: Selecting Routing Targets Checking Targets Route: Gary.Sales Peripheral target: DNIS: 1111, Trunk group: Gary.Incoming800 Label: 3010000000 How to Check VRU Scripts Call Tracer allows you to simulate responses from VRU routing scripts. For each Script node the ICM software encounters, you can specify one of the following responses: • Fail. The ICM software treats the External Script nodes as though it had failed. • No Response.
Chapter 4: Selecting Routing Targets Checking Targets Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.
Chapter 5 Network VRUs Through routing scripts, you can divert a call to a Network VRU for additional call processing.
Chapter 5: Network VRUs What is a Network VRU? What is a Network VRU? A Network VRU supports ICM software's service control interface. An ICM routing script can divert a call to a Network VRU and instruct the VRU to perform specific processing before ICM software determines the final destination for the call. Configuring VRUs You configure Network VRUs through the ICM software Configuration Manager. Following are the general steps you must take to configure VRUs before you can write routing scripts.
Chapter 5: Network VRUs Accessing VRU Scripts in ICM Scripts Table 3: Network VRU Types Type Description Routing Script Node to Use to Send Call to VRU 2 A Network VRU at the customer premises. In a NAM environment, a Type 2 Translation Route to VRU VRU is connected at the ICM and not at the NAM. : IP IVR in an IPCC solution. 3 A Network VRU connected to a NAM where there is a separate routing client Send to VRU that controls the connection to the VRU.
Chapter 5: Network VRUs Sending a Call to a VRU with the Translation Route to VRU Node When ICM software executes a Send to VRU Node, it looks up the call's Dialed Number, the Dialed Number's Customer and the Customer's Network VRU. If that fails to retrieve a Network VRU, the router uses the system default Network VRU: • If the Network VRU is of Type 3 or Type 7, the router sends an instruction to the routing client to connect the call to the Network VRU.
Chapter 5: Network VRUs Sending a Call to a VRU with the Translation Route to VRU Node Figure 78: The Translation Route to VRU Icon When ICM uses the translation route to VRU method to route a call to a Type 2 SCI VRU, the VRU becomes the new routing client (dynamic routing client) for the call. This means that the next Connect message is sent to the VRU from the CallRouter to connect the call (to an agent, for example).
Chapter 5: Network VRUs Sending a Call to a VRU with the Translation Route to VRU Node Figure 79: Translation Route to VRU Icon Properties Define Translation Route to VRU node properties as follows: 1. To change the type of target: – Click Change. The Select Type dialog box opens. – Select the Target Type (Enterprise Service, Service, or Service Array). – If you selected Enterprise Service, select a Business Entity and Enterprise target.
Chapter 5: Network VRUs Sending a Call to a VRU after a Translation Route to VRU 3. Click OK to close the Add Targets dialog box. The target members you selected appear in the Properties dialog box. 4. Continue defining Target information for each target: – Consider If. (Optional.) A formula that must evaluate to true for the target when ICM software executes the Translation Route to VRU node, or that target will not be considered. – Select Max/Select Min Value of.
Chapter 5: Network VRUs Running External Scripts An explicit SendToVRU node only exits if the call is already at the correct VRU, as identified in the usual ways (for example, the dialed number's customer Network VRU), instead of exiting if the call is already at any VRU. If it's at a VRU, but it is the wrong VRU, the call is transferred to the correct VRU. Example Call Flows: 1. A call is moved to a Type 2 VRU via a Translation Route to VRU.
Chapter 5: Network VRUs Running External Scripts Note: When Cisco Collaboration Server is integrated with ICM software, the Run External Script node can also be used to push a URL to the caller's Web browser. To do this, an entry in the Network VRU list must point to the URL map file on the Collaboration Server. For more information,, see the Cisco Collaboration Server Administration Guide and the Cisco ICM Software Configuration Guide.
Chapter 5: Network VRUs Checking for VRU Errors Figure 81: Run External Script Properties Define Run External Script node properties as follows: 1. Select the ICM Script/External Script Name you want to execute. 2. Optionally, add comments and connection labels. Checking for VRU Errors The following table lists the possible values for the VruStatus variable: Table 4: VruStatus Variable Codes Value Meaning Description 0 VRU_SUCCESS The last VRU node was successful.
Chapter 5: Network VRUs Queuing Calls at VRUs Value Meaning Description 5 VRU_SCRIPT_ NOT_FOUND The VRU failed because the referenced VRU script was not found in ICM software configuration. Queuing Calls at VRUs You can queue a call at a Network VRU until a specific resource becomes available. A call can be queued for one or more skill groups, an enterprise skill group, or one or more scheduled targets.
Chapter 5: Network VRUs Placing a Call in Queue Note: If the current call is not at a VRU when the Queue node executes, ICM software sends the call to the associated Network VRU. (This does not apply to Type 2 or Type 8 VRUs, which are VRUs at customer premises.) You cannot reference two types of targets (skill groups and scheduled targets, for example) within a single Queue node. However, you can execute multiple Queue nodes sequentially to queue a call to different target types.
Chapter 5: Network VRUs Placing a Call in Queue – Click Change. The Queue Type dialog box opens. – Select a Target Type (Enterprise Skill Group, Scheduled Target, or Skill Group). You cannot reference more than one type of target within a single Queue node. To queue a call to more than one target type, execute multiple Queue nodes sequentially. – Optionally, select a Business Entity and Enterprise Target.
Chapter 5: Network VRUs Adjusting the Priority of a Call in a Queue Adjusting the Priority of a Call in a Queue You can override the priority of a call in queue set by the Queue node by using the Queue Priority node (in the Queue tab of the Palette). Figure 84: The Queue Priority Icon For example: 1. The original priority of the call in queue is set by the Queue to Skill Group node. 2. The call waits in queue for 20 seconds while the caller listens to an announcement. 3.
Chapter 5: Network VRUs Removing the Call from a Queue Figure 85: Queue Priority Properties Define Queue Priority node properties as follows: 1. Specify the queuing priority for a call processed through this node: 1 for top priority to 10 for least priority. This determines the priority the call has versus other calls queued for the same target. 2. Optionally, add comments or connection labels.
Chapter 5: Network VRUs VRU MicroApp Nodes VRU MicroApp Nodes Note: These nodes can only be used if supported by your VRU. The three VRU MicroApp nodes (Collect Data, Menu, Play) are essentially specialized Run External Script nodes. They allow all details of the interaction to be specified in the script node, rather then using Configuration Manager to specify the Network VRU Script.
Chapter 5: Network VRUs Collecting Data from the Caller Figure 87: Collect Data Properties Define Collect Data node properties as follows: 1. In the File Name field, enter the name of the media file to be played to the caller. 2. In the Library drop-down list, select the location of the file. You can select: – System – Application (default) – None 3. In the Protocols drop-down list, select the data transmission convention to use for the media file contents.
Chapter 5: Network VRUs Collecting Data from the Caller – other 4. Specify the number of digits a caller can enter: – In the Minimum number of digits field, select a number from 1 to 32 to indicate the minimum number of digits the caller must enter. The default is 1. – In the Maximum number of digits field, select a number from 1 to 32 to indicate the maximum number of digits the caller must enter. The default is 1.
Chapter 5: Network VRUs Prompting a Caller to Select from a Set of Options – Optionally, clear Inter-digit timeout. When checked (the default), enter the number of seconds allowed between entering digits before the system assumes the caller is finished. Valid options: 1-99, default: 3. – In both the Invalid Entry Media Properties and No Entry Media Properties sections, enter the file names of the files to play if the caller enters invalid data or if the caller enters no data.
Chapter 5: Network VRUs Prompting a Caller to Select from a Set of Options Following is the Properties dialog box for the Menu node: Figure 89: Menu Properties Note: You must define one or more success connections from the Menu node before you can define Menu node properties. Define Menu node properties as follows: 1. In the File Name field, enter the name of the media file to be played to the caller. 2. In the Library drop-down list, select the location of the file.
Chapter 5: Network VRUs Prompting a Caller to Select from a Set of Options – HTTP: (Hypertext Transfer Protocol, the default) – RSTP: (streaming) – file: – other 4. Define menu choices. For each row beginning with the possible caller entered digit (which you cannot edit): – In the Case column, select a number from the drop-down list. The available numbers correspond to the success branches from the Menu node.
Chapter 5: Network VRUs Playing Specific Recordings to the Caller – In both the Invalid Entry Media Properties and No Entry Media Properties sections, enter the file names of the files to play if the caller enters invalid data or if the caller enters no data. Note: To use the default settings on the VRU device, enter the word Default in these fields. – Select the locations of the files in the Library drop-down lists. Valid options: System, Application (default), None.
Chapter 5: Network VRUs Playing Specific Recordings to the Caller Note: The CallRouter will not verify the format setting to see if it is valid for the specific data type or micro-application. If the data format is invalid, the micro-application's result code will indicate such an error. Following is the Properties dialog box for the Play node: Figure 91: Play Properties Define Play node properties as follows: 1. Click Add to add a new file or data element to play to the caller. 2.
Chapter 5: Network VRUs Playing Specific Recordings to the Caller RSTP: (streaming) file: other 4. If you selected Data in Step 3: – In the Data field, enter a string (or a formula that evaluates to a string) to be played by the VRU. – In the Data type drop-down list, select the type of data to be played: Type of data to be played by the VRU.
Chapter 5: Network VRUs Overriding VRU Settings 6. Optionally, clear ICM may interrupt. When checked (the default), the operation of the node can be interrupted by the ICM router. 7. Optionally, add comments or connection labels. Overriding VRU Settings You can override a default VRU setting on a call-by-call basis by using the VRU Settings node (in the Queue tab of the Palette).
Chapter 5: Network VRUs Temporarily Halting Script Execution – Select VRU Peripheral Setting to have Script Editor, at runtime, leave the variable's value as is. Note: This value might be from the VRU_Defaults table, or consist of a value defined through a previous VRU Settings node. – Select Customer Defined Value to have Script Editor, at runtime, set the variable to the value specified in the New Value field. If you select this setting, the New Value field opens for editing.
Chapter 5: Network VRUs Temporarily Halting Script Execution Figure 95: Wait Properties Define Wait node properties as follows: 1. In the Timeout field, specify an interval to wait, in seconds. 2. Optionally, add comments or connection labels. Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.
Chapter 5: Network VRUs Temporarily Halting Script Execution Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.
Chapter 6 Multichannel Routing Overview of Multichannel Services When ICM software is integrated with Collaboration Server or Cisco E-Mail Manager, you write routing scripts to route contacts that are handled by these applications. Supported Route Requests ICM Software supports the following types of multichannel route requests: • Web callback - A Web callback request is one that does not involve Web collaboration. A customer clicks a button on a Web site that says, "Call me back.
Chapter 6: Multichannel Routing Overview of Multichannel Services ICM software uses a media class ID to identify the type of media or channel. A media class is a communication channel that is correlated to an application.
Chapter 6: Multichannel Routing Universal Queue Universal Queue What is Universal Queue? Universal Queue is the term used to describe ICM software's ability to route requests from different channels to agents who work with customer contacts in multiple media. With Universal Queue, ICM software treats requests from different channels as part of a single queue. Routing scripts can send requests to agents based on business rules regardless of the channel from which the request came.
Chapter 6: Multichannel Routing Multichannel Scripting and Media Routing Domains Media Routing Domains and Interruptibility When you configure MRDs, you indicate whether tasks for the MRD are interruptible. If the MRD is not interruptible, and agent working on tasks for that MRD is not assigned tasks from other MRDs. If the MRD is interruptible, the agent may be assigned tasks from another MRD.
Chapter 6: Multichannel Routing Queuing to Agents Figure 96: MRD Properties Define Media Routing Domain node properties as follows: 1. To associate a MRD with a branch: Select the branch. – Click Add. – Select a MRD from the drop-down list. 2. To delete a branch, select it and click Delete. 3. To rename a branch, select it, click Rename, and type the new name. 4. You can define a branch as Otherwise by selecting the branch and clicking Make Otherwise.
Chapter 6: Multichannel Routing Queuing to Agents You can change the Queue to Agent type to: • Specify an agent directly • Select an agent by expression How to Change the Queue to Agent Type Step 1 In the Queue to Agent properties dialog box, click Change. The Queue Agent Type dialog box opens: Figure 97: Queue Agent Type Step 2 To select a specific agent, check Explicit agent references. Step 3 To select and agent by an expression, select Lookup agent references by expression.
Chapter 6: Multichannel Routing Queuing to Agents Figure 98: Agent Direct Properties To specify agents directly: Step 1 If necessary, change the Queue to Agent type to Explicit agent references. Step 2 In the Agent column, select an agent. Step 3 In the Media Routing Domain column, select the media routing domain for the selected agent. Step 4 In the Skill Group column, select the skill group for the selected agent and media routing domain.
Chapter 6: Multichannel Routing Queuing to Agents Figure 99: Agent Expression Properties To specify agents by expression: Step 1 If necessary, change the Queue to Agent type to Lookup agent references by expression. Step 2 In the Agent Expression column, write an expression to select an agent. Click Formula Editor for help building a formula. Step 3 Select the Enterprise Skill Group that includes the appropriate skill groups to cover all media routing domain cases for the selected Agent.
Chapter 6: Multichannel Routing Queuing to Agents Figure 100: No Enterprise Route or Route Chosen If you select both an Enterprise Route and a Route, the following error message appears: Figure 101: Both an Enterprise Route and a Route Chosen The specified Enterprise Route or Route is used to send the call to an agent. Step 5 Optionally, check Queue if agent not logged in, to have the contact queued to the agent even if the agent is not currently logged in.
Chapter 6: Multichannel Routing Queuing to Agents Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.
Chapter 7 Using Formulas You can use formulas in many routing nodes to both categorize contacts (page 31) and select routing targets (page 53).
Chapter 7: Using Formulas Variables • The operator is the "Equal To" equality operator. • The Right-value is the number 1. If the value of CallerEnteredDigits is 1, the formula returns true; otherwise, the formula returns false. Variables What is a Variable? A variable is a named object that holds a value. You use variables in formulas to select targets and help in call tracking.
Chapter 7: Using Formulas Variables Multiple-Target Variables A multiple-target variable examines data across multiple routing targets. For example, the function: Max(SkillGroup.*.LongestAvailable) finds the skill group, from all skill groups defined in the target set for the script node that calls the function, with the longest available agent. You use an asterisk (*) as the object-name value to indicate that the variable is to examine data across multiple targets.
Chapter 7: Using Formulas Variables Variable Data Type Description User Setable Select nodes to determine the specific network cause of failure and conditionally retry the attempt as necessary. RouterCallDay Integer An encoded value that indicates the date No on which ICM software processes the call. RouterCallKey Integer A value that is unique among all calls ICM No software has processed since midnight. RouterCallDay and RouterCallKey combine to form a unique call identifier.
Chapter 7: Using Formulas Variables If an ECC variable has been defined, but never assigned a value, it will not have a row in the Termination Call Variable table when a Termination Call Detail record is written. Generally speaking, ECC values are passed from leg to leg on the call. Once a value has been assigned, the value is recorded in the Termination Call Variable for every Termination Call Detail Segment. Note, however, that this depends on how each new call segment is created.
Chapter 7: Using Formulas Variables The ECC variables for E-Mail Manager messages are created by default during ICM software installation. For more information on routing e-mail messages, see the Cisco E-Mail Manager Administration Guide. Expanded Call Context Variables for Web Callback You must create two ECC variables if you intend to use Blended Collaboration and/or Voice Media Routing Domains to route Delayed Callback requests. The ECC variables are: • user.cisco.cmb - Specified by the peripheral.
Chapter 7: Using Formulas Variables How to Set Variable Values with the Set Variable Node Figure 102: Set Properties window You can set the value of a variable with the Set Variable node: • Object type - Select the type of object the variable is associated with. • Object - Select the specific object the variable is associated with. • Note: If you choose Call as the Object Type, this field does not apply. • Variable - The specific variable you want to set.
Chapter 7: Using Formulas Variables – An expression SkillGroup.Avail And SkillGroup.ICMAvailable Variables When the ICM system includes only the voice channel, the value of the SkillGroup.Avail variable is the number of agents in the available state, meaning that the agents are able to accept new calls. However, when the Web or E-mail channel is used with non-voice Media Routing Domains and agents log in to multiple domains, the value of the SkillGroup.Avail variable is calculated differently.
Chapter 7: Using Formulas Variables The following table shows some possible values for these variables. Assume three agents are logged into a voice skill group, and the same three agents are also logged into another non-interruptible domain, such as Collaboration Server Single-session Chat. This table shows the voice skill group states. Case SkillGroup.Avail SkillGroup.
Chapter 7: Using Formulas Variables Operators Prefix Operators The Prefix Operators in the following table take a single operand: Operator Meaning Comments/Examples + Positive Numeric values are positive by default, so the positive operator (+) is optional. Example: 2 and +2 represent the same value. - Negative The negative operator (-) changes the sign of a value. Example: 2 represents a positive value; -2 represents a negative value.
Chapter 7: Using Formulas Variables Operator Meaning Comments/Examples != Not Equal To Relational Operators The Relational Operators in the following table take two operands: Operator Meaning Comments/Examples > Greater than Relational operators allow you to perform a more sophisticated comparison than the equality operators. : is true if more members of the skill group are in the Not Ready state. is true if at least as many agents are Ready as Not Ready.
Chapter 7: Using Formulas Variables Operator Meaning Comments/Examples result. Exclusive Or evaluates the result as false and sets a 0 bit in the result. (An Exclusive Or applies the rule "one or the other, but not both."). ^ Exclusive Or Miscellaneous Operators The following table lists miscellaneous operators: Operator Meaning Comments/Examples ? Conditional The conditional operator (?) takes three operands.
Chapter 7: Using Formulas Variables Priority Operator type Operators 8 Bitwise exclusive Or ^ 9 Bitwise inclusive Or | 10 And && 11 Or || 12 Conditional ? 13 Sequential , Built-in Functions Date and Time Functions The following table lists the built-in date and time functions: Function Data Type Return Value/Example date [ (date) ] Integer Returns the current system date or the date portion of a given date-time value.
Chapter 7: Using Formulas Variables Function Data Type Return Value/Example second [ (time) ] Integer Returns the seconds (0-59) of the current time or a given time. The given time must be a floating-point value, as returned by the time function. tests whether the current time is within the last ten seconds of a minute. time [ (time) ] Float Returns the current system time or the time portion of a date-time value.
Chapter 7: Using Formulas Variables Function Data Type Return Value/Example before(string1,string2) String That portion of string2 that precedes the first occurrence of string1. If string1 does not occur in string2, string2 is returned. If string1 is the null string, the null string is returned. returns the value abc. ClidInRegion Logical Indicates whether the CLID for the current contact is in the geographical region specified by string. The value string must be the name of a defined region.
Chapter 7: Using Formulas How to Add a Custom Function What are Custom Functions? Custom functions are those functions you create for use within scripts, as opposed to built-in functions. How to Add a Custom Function Adding Custom Functions Step 1 In Script Editor, from the Script menu, select Custom Functions. The Custom Functions dialog box opens, listing all the custom functions currently defined. Step 2 Click Add to open the Add Custom Function dialog box. Step 3 Specify the following: a.
Chapter 7: Using Formulas How to Import a Custom Function How to Import a Custom Function Importing Custom Functions Step 1 In Script Editor, from the Script menu, select Custom Functions. The Custom Functions dialog box opens, listing all the custom functions currently defined. Step 2 Click Import. The Import Custom Function dialog box opens Step 3 Choose a file name with an ICMF extension (.ICMF) and click Open. The Script Editor examines the file for naming conflicts.
Chapter 7: Using Formulas How to Export a Custom Function How to Export a Custom Function Exporting Custom Functions Step 1 In Script Editor, from the Script menu, select Custom Functions. The Custom Functions dialog box opens, listing all the custom functions currently defined. Step 2 Select the custom function(s) from the list and click Export. The Export Custom Function dialog box opens. Note: If you selected a single function, that functions name appears in the File Name field.
Chapter 8 Script Administration This section describes Script Administration.
Chapter 8: Script Administration • Name of the routing client to send calls through the script. • Dialed number for the call to be sent through the script. • The routing script name. • The version number of the routing script. (The default is the active version.) Step 3 To validate the route of a network transfer call target, check Use Network Transfer specify a routing client and a dialed number.
Chapter 8: Script Administration How to Set Active Scripts How to Set Active Scripts Although the Script Editor may contain several versions of a script, only one version of a particular script can be active at one time: this is the version that ICM software runs if the script is currently scheduled.
Chapter 8: Script Administration How to Set Active Scripts Step 2 Optionally, use the Display Count From section of the dialog box to choose how to display the number of calls processed. Whichever option you choose, the counts are updated every 15 seconds. This allows you to see which scripts are currently handling calls. Note: The Call Count values are associated with scripts, not necessarily with call types.
Chapter 8: Script Administration Monitoring Scripts Monitoring Scripts After you save a routing or administrative script, you can observe how it runs. Watching routing requests moving through a script in real-time helps ensure that the routing script is operating as expected. When you monitor a script, that is, view the script in Monitor mode, labels appear on each connection in the script.
Chapter 8: Script Administration Monitoring Scripts • DB Lookup • Gateway • ICM Gateway • Queue to Agent • Collect Data (displays only the Abort meter) • Menu (displays only the Abort meter) • Play (displays only the Abort meter) • Run External Script (Displays In Progress and Abort meter) The modified monitor labels can display two of the following three meters: • InQueue meter - Displays the number of calls in queue. • InProgress meter - Displays the number of calls in progress in the node.
Chapter 8: Script Administration Monitoring Scripts How to Access Monitor Mode Within Script Editor, do one of the following: 1. Select File > Open to access the Open dialog box and choose the Monitor option from the Open Mode drop-down list. 2. From within an open script in the Script Editor workspace, select Script > Monitor Script or click Monitor Script in the toolbar. 3. From within the Enabled Scripts dialog box, select the Monitor radio button in the Open Script in Mode section and click Open.
Chapter 8: Script Administration Monitoring Scripts How to View Real-time Data In viewing the number of contacts that pass through each branch of the script, you can also view real-time data about activity at the contact centers, including statistics for each skill group, service, call type, or scheduled target referenced in the script.
Chapter 8: Script Administration How to View Router Logs 4. Optionally, to edit a Routing Target Columns heading, make changes within the Column Header field. (To change back to the default header, highlight the Routing Target Column name and click the Default Header button.) 5. Optionally, click the Short Headers / Long Headers radio buttons to change between the full and abbreviated forms of the default column headers. The abbreviated forms are typically three to four letters.
Chapter 8: Script Administration How to Import a Script You cannot change the file type; the script can only be saved in .ICMS format. 3. Click Save. If the file name already exists, the system prompts you to confirm the save. 4. If prompted, click OK. How to Import a Script To import a script: 1. Select File > Import Script. The Select Script to Import dialog box opens. 2. Choose a file name with an ICM Script extension (.ICMS) and click Open.
Chapter 8: Script Administration How to Modify Script Version and Schedule System Information 1. Within the Configuration Manager, select Tools > Miscellaneous Tools > System Information. The System Information window opens. 2. Enter the Minimum Script Schedule Time. 3. Set the number of script versions to be retained in the Retain Script Versions field. 4. Click Save to apply your changes. Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.
Chapter 8: Script Administration How to Modify Script Version and Schedule System Information Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.
Chapter 9 Script Editor Feature Control Script Editor Feature Control addresses the need of restricting users, or classes of users, from some or all of the functionality of the ICM Script Editor software. In a possible deployment scenario, an ICM software administrator can restrict certain people from doing specific types of script editing.
Chapter 9: Script Editor Feature Control Edit Options Edit Options The administrator can assign one of two editing options: • Full Edit (Includes Quick Edit) • Quick Edit Only You can only access the Full Edit mode or the Quick Edit mode from the Monitor or the Browse modes. The Full Edit and the Quick Edit modes cannot be accessed from each other. Full Edit (includes Quick Edit) Full Edit mode allows you to use Full Edit mode or Quick Edit mode when working with scripts.
Chapter 9: Script Editor Feature Control Edit Options from Monitor or Browse mode to Quick Edit mode, the Script Editor workspace background goes from gray to yellow. In Quick Edit mode: • You cannot add or delete a node • You can adjust most of the properties of the script nodes selected in the Node Control table of your assigned feature control set.
Chapter 9: Script Editor Feature Control Script Editor Feature Control When in Quick Edit mode, disabled nodes are removed from the object palette. Script Editor Feature Control Script Editor Feature Control allows an administrator to create feature sets that can be assigned to users. The feature set controls which script nodes are accessible to the user and which edit modes are available to the user.
Chapter 9: Script Editor Feature Control Script Editor Feature Control Step 4 In the Feature Control Set section (on the left), click Add. Step 5 Enter the name of the feature control set. The name appears in the left section when Enter or Tab is pressed. Step 6 Optionally, enter a description. How to Assign Users to a Feature Control Set Step 1 In Configuration Manager, use the User List tool to select a feature control set to associate with the user.
Chapter 9: Script Editor Feature Control Script Editor Feature Control Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.
Chapter 10 Internet Script Editor (ISE) Instead of or in addition to Script Editor, you can use Internet Script Editor to work with routing and administration scripts.
Chapter 10: Internet Script Editor (ISE) Internet Script Editor Requirements Internet Script Editor works through the IIS Web server on ICM software distributor. It uses HTTP to communicate with the ICM software distributor. The Internet Script Editor and the ICM Script Editor GUIs are essentially the same. The menus, toolbars, palette, and work space are utilized in the same manner in both applications.
Chapter 10: Internet Script Editor (ISE) Secure Socket Layer (SSL) Requirements for ISE authorizing CA is not in the list, the browser asks the user to choose whether to accept or decline the connection. Install the standalone SSL Encryption Utility on the AW Real-time Distributor (in the AW Program Group) and the WebView Server (in the /icm/bin directory). This enables you to change the default SSL settings (implemented by Setup).
Chapter 10: Internet Script Editor (ISE) Secure Socket Layer (SSL) Requirements for ISE Figure 103: Security Alert Dialog Box 2. If the encrypted flag is set: – The client starts with setting up an HTTPS connection. – If the client successfully connects to the server, the client sends the encrypted user account and password. After the HTTPS connection is established, the server sends the certificate to the client.
Chapter 10: Internet Script Editor (ISE) How to Install and Upgrade Internet Script Editor How to Install and Upgrade Internet Script Editor To install Internet Script Editor: Step 1 Point your browser to server-name/install/iscripteditor.htm, where server-name is the name of the computer on which you installed the distributor with the Internet Script Editor client package. Step 2 Enter your Domain and User Name, and Password, then click OK. Step 3 Click Download Internet Script Editor. .
Chapter 10: Internet Script Editor (ISE) Troubleshooting Tools for Internet Script Editor Step 8 Upgrade Internet Script Editor as necessary. Note: Internet Script Editor users must have full access to the icm\\ra\dbagent.acl file on the CallRouter. (By default, Setup creates the file and gives full read/write access to this file to every user logged onto the system.
Chapter 10: Internet Script Editor (ISE) Troubleshooting Tools for Internet Script Editor Server-Side Internet Script Editor Troubleshooting Tools The following table describes the server-side Internet Script Editor troubleshooting tools: Troubleshooting Method Description IIS Logs IIS logs its activity to system event log or to an ODBC data source. EMS trace files ISAPI DLL generates trace output on the distributor.
Chapter 10: Internet Script Editor (ISE) Troubleshooting Tools for Internet Script Editor Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.
Chapter 11 Scripting in an IPCC Environment IPCC Gateway The IPCC Gateway PG allows either a site IPCC Enterprise system, or an IPCC Express system, to connect to an Enterprise ICM. The Enterprise ICM views either as an ACD. Figure 104: IPCC Gateway PG For IPCC Enterprise, this is important since it allows a "parent" ICM to monitor and send calls to a "child" IPCC Enterprise system. Previous to the IPCC Gateway feature, doing this using intelligent (PG based) routing was not possible.
Chapter 11: Scripting in an IPCC Environment IPCC Gateway IPCC Express system. These are listed as “IPCC Enterprise Gateway” and “IPCC Express Gateway” respectively in the setup screen for the PG. The Gateway PG does not support third party call control (CTI) so that all agent desktops, etc. are connected to the child IPCC Enterprise system, or the IPCC Express system. The link supports voice only. The child system may support multi-media but the ICM only routes voice calls to the child.
Chapter 11: Scripting in an IPCC Environment IPCC Enterprise • Skill Groups on the child map to Skill Groups on the parent • Call Types on the child map to Services on the parent. Note: This is due to the child's reporting being based on CallTypes and the parents reporting being based on services. IPCC Gateway for IPCC Express Features • The gateway PG for IPCC Express allows an IPCC Express IP-ACD to be integrated into an ICM-Enterprise solution. • Post and translation routing are supported.
Chapter 11: Scripting in an IPCC Environment Prioritizing Calls Prioritizing Calls When a call is queued to a skill group because there are no agents available, the Queue to Skill Group node sets the call's priority. The Queue Priority node can then promote the call's priority based on time the caller has waited. The call can be queued to multiple skill groups with the same or different priorities.
Chapter 11: Scripting in an IPCC Environment Canceling Queuing Canceling Queuing If the call needs to be taken out of a skill group, then use the Cancel Queuing node. The Cancel Queuing node takes the call out of all the skill groups it is queued to. Using the Busy Node Use the Busy node for initial overflow conditions. Do not use this treatment if the call has already received ringback tone or given announcements or music.
Chapter 11: Scripting in an IPCC Environment Using the Release Call Node Using the Release Call Node Use the Release Call node for initial overflow conditions. It is supported as a post route from CallManager. Do not use this node if the call has already received ringback tone or announcements or music. The call will be given busy tone for 30 seconds before it is disconnected on CallManager. No answer supervision will be returned for this call since it is not connected to a CTI port.
Chapter 11: Scripting in an IPCC Environment Using the Service and Enterprise Service Nodes Using the Service and Enterprise Service Nodes You do not need the Service node or Enterprise Service node to route calls to IPCC agents because services are not required for IPCC agents. Using the Scheduled Select and Divert Label Nodes CallManager does not support the Scheduled Select node and Divert Label node. You cannot use these nodes to route calls to IPCC agents.
Chapter 11: Scripting in an IPCC Environment Using IVR as a Queue Point For announcement and music type of treatments, put the VRU Scripts in interruptible mode. This allows the call to be connected to the first available agent even while the caller is listening to a VRU script. You set the interruptibility of a VRU script through the Configuration Manager, under the Add Network VRU script configuration. Neither the VRU or ICM script can overwrite this setting.
Chapter 11: Scripting in an IPCC Environment No Default Skill Groups in Routing Scripts No Default Skill Groups in Routing Scripts Ensure your ICM routing scripts do not reference the default skill group. This ensures that the default skill group does not capture statistics for any ICM-routed calls.
Chapter 11: Scripting in an IPCC Environment System IPCC Figure 105: System IPCC Deployment IPCC System PG The IPCC System PG can be used as: • An integration point for the IPCC Gateway PG. • A standalone IPCC PG providing seamless configuration and intelligent call reporting features. Overview • The System PG is similar to a Generic PG with co-resident CCM and IVR peripherals (PIMs).
Chapter 11: Scripting in an IPCC Environment System IPCC • The System PG presents a single peripheral interface to the IPCC Gateway PG through consolidated reporting of agent and call states. • Scripting and reporting are more intuitive, for example: direct use of Queue to Skill Group node and integrated IVR and CCM reporting. • Device Targets are no longer required.
Chapter 11: Scripting in an IPCC Environment IPCC Express • System IPCC's network IVR is equivalent to ICM's network VRU. IPCC Express In terms of scripting and routing, the IPCC Express environment is treated no differently than any other legacy ACD. You can design ICM scripts to interact with IPCC Express scripts in an IPCC Express system integrated with an ICM system through the IPCC Gateway. In such an integrated system, the IPCC Express software is linked as an ACD to the ICM software.
Chapter 11: Scripting in an IPCC Environment IPCC Express IPCC Express uses enterprise Call Variables and enterprise Expanded Call Context Variables when passing data between the integrated systems that make up an IPCC Gateway system: • the Cisco ICM Enterprise Server • the Cisco IPCC Express system • the Cisco Agent Desktop The Set Enterprise Call Info and Get Enterprise Call Info steps are used to take data stored in a local IPCC Express script variable and to make it available for display in the Cisco A
Chapter 11: Scripting in an IPCC Environment Example IPCC Gateway Post-routing Scripts Note: Every enterprise ECC variable must be separately defined on all parts of the system that sends and receives the variable data: the CRS Editor in IPCC Express, the Cisco Agent Desktop, and the ICM software.
Chapter 11: Scripting in an IPCC Environment Example IPCC Gateway Post-routing Scripts from these examples is that the ICM and IPCC Express script writers need to work together during both design and implementation to ensure that the correct type of information is returned by the ICM script via the IPCC Express Route Request step and is used properly by the IPCC Express script to route the call appropriately. The following figure displays labels used in these examples.
Chapter 11: Scripting in an IPCC Environment Example IPCC Gateway Post-routing Scripts Figure 107: PostRouteSelect CSQ.aef The following is an example of an ICM script that works with the example IPCC Express script above to route the call to a member of a CSQ. Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.
Chapter 11: Scripting in an IPCC Environment Example IPCC Gateway Post-routing Scripts Figure 108: Post Route to CSQ Example IPCC Express and ICM Scripts that Select an Agent The following figure displays an example script using the Select Resource step to route the call to a specific agent (agent-based routing), as it appears in the CRS Editor window.
Chapter 11: Scripting in an IPCC Environment Example IPCC Gateway Post-routing Scripts Figure 109: PostRouteSelectAgent.aef The following is an example of an ICM script that works with the example IPCC Express script above to route the call to an agent. Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.
Chapter 11: Scripting in an IPCC Environment Example IPCC Gateway Post-routing Scripts Figure 110: Post Route to Agent Example IPCC Express and ICM Scripts that Select a Route Point (Redirect) The following figure displays an example script using the select from the Call Redirect step to place a new call to a route point, as it appears in the CRS Editor window.
Chapter 11: Scripting in an IPCC Environment Example IPCC Gateway Post-routing Scripts Figure 111: PostRouteSimple.aef The following is an example of an ICM script that works with the example PostRouteSimple.aef IPCC Express script above to select a route point for the call. Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.
Chapter 11: Scripting in an IPCC Environment Scripting in an Outbound Environment Figure 112: Post Route to a Route Point Scripting in an Outbound Environment Outbound Option only supports both Type 2 (Generic PG environment) and Type 9 (IPCC System PG environment). For CVP, Outbound Option supports both Type 7 and Type 5 (CVP/ISN Comprehensive Model - Cisco CVP was formerly called Cisco ISN). If using the transfer to IVR feature, create a transfer to IVR campaign.
Chapter 11: Scripting in an IPCC Environment Scripting in an Outbound Environment Note: The transfer to IVR feature is only supported for Outbound Option on Cisco IP Contact Center (IPCC Enterprise). You can not use this feature in the Direct Preview or the regular Preview modes. How to create an administrative script to control the OutboundControl variable and skill group percentage: 1. Open the ICM Script Editor application. 2.
Chapter 11: Scripting in an IPCC Environment Scripting in an Outbound Environment – PREVIEW_DIRECT_ONLY: Agents can only place outbound calls and hear ring tones, such as phone ringing or busy signal. – PREVIEW_DIRECT_BLENDED: Agents can receive inbound calls, place outbound calls, and hear ring tones, such as phone ringing or busy signal.
Chapter 11: Scripting in an IPCC Environment Scripting in an Outbound Environment Figure 113: Setting Skill Group Variables (OutboundControl and OutboundPercent) Transfer to IVR Using Outbound Option with IP IVR The following illustration displays a routing script for a transfer to IVR campaign using Outbound Option with IP IVR.
Chapter 11: Scripting in an IPCC Environment Scripting in an Outbound Environment Transfer to IVR Campaign Using Outbound Option with CVP/ISN The following illustration displays a routing script for a transfer to IVR campaign using Outbound Option with CVP/ISN. (Refer to the Outbound Option User Guide for Cisco ICM/IPCC Enterprise & IPCC Hosted Editions for detailed information about configuring a Outbound Option transfer to IVR campaign.
Chapter 11: Scripting in an IPCC Environment Scripting in an Outbound Environment Figure 116: Example Routing Script Using the Dialed Number for the MR Routing Client Note: • Lines connecting objects cannot appear on top of objects and therefore, partially display under the objects; for example, the line connecting the “X” (output terminal failure) on the Select object to the End object runs partially under the Select object.
Chapter 11: Scripting in an IPCC Environment Scripting in an Outbound Environment 1. Right-click the Queue to Agent node and select Properties. 2. Click Change in the “Queue to agent type” section. 3. Click Lookup agent reference by expression, then click OK. 4. Enter the agent expression Call.PreferredAgentID. 5. Make sure the Peripheral column is left blank. 6. Select the appropriate enterprise skill group. 7. Select the appropriate enterprise route. 8. Click OK to save the Queue to Agent node.
Chapter 11: Scripting in an IPCC Environment Scripting in an Outbound Environment Figure 119: Example Routing Script Using the Queue to Skill Group Node Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.
Chapter 12 Utility Nodes Start Node The Start node marks the beginning of a script. Script Editor automatically inserts the Start node when you create a new script; a script must have one and only one Start node. You do not define any properties for the Start node. However, you can add comments and connection labels: Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.
Chapter 12: Utility Nodes Comment Node Figure 120: Start Properties Comment Node Use the Comment node (in the General tab of the Palette) to include a block comment in a script. A block comment provides general documentation for a script or section of a script: Figure 121: The Comment Icon Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.
Chapter 12: Utility Nodes Line Connector Node Figure 122: Comment Properties For example, you might add a comment describing the purpose of the script. You can move and resize the comment box within the script. Note: If you choose the Auto-Size Height option, you cannot adjust the height of the comment. Line Connector Node Use the Line Connector node (in the General tab of the Palette) to make routing and administrative scripts clear and understandable.
Chapter 12: Utility Nodes Line Connector Node The Line Connector node allows you to break and reconnect lines using one or more of its multiple input connections and single output connection. Any request coming into this node (on any one of the multiple inputs) goes to the single output connection of the line connector node.
Chapter 13 Example Scripts Example Web Collaboration Scripts You can configure Cisco ICM software and Cisco Collaboration Server so that ICM software routes Web Collaboration requests that are processed by Cisco Collaboration Server. Overview of Web Request Routing through ICM Software With the Collaboration Server integrated with ICM software, ICM software can route single-session chat, multi-session chat, and blended collaboration Web requests.
Chapter 13: Example Scripts Example Web Collaboration Scripts Figure 125: Web Request Routing Process Web Requests and Media Routing Domains Collaboration Server can take advantage of the following types of Media Routing Domains (MRDs): • Non-voice MRDs • The Voice MRD For more information about MRDs, see the Cisco ICM Software Configuration Guide.
Chapter 13: Example Scripts Example Web Collaboration Scripts • Multi-session chat • Blended Collaboration with IPCC The Voice MRD The Voice MRD handles these types of requests: • Blended Collaboration with legacy ACDs (rather than IPCC) • Blended chat with legacy ACDs (these are requests for chat, but with agent reservation on the ACD) • Web callback and delayed callback with both ACDs and IPCC Example - Queuing a Web Request to a Skill Group The following script example shows how a Web request can be q
Chapter 13: Example Scripts Example Web Collaboration Scripts 2. The script queues the request to a single-session chat skill group. At this time, ICM software attempts to find an available agent who is a member of that skill group. When the agent is found, ICM software returns the agent ID to the Collaboration Server.
Chapter 13: Example Scripts Example Web Collaboration Scripts Figure 128: Queuing directly to an agent In this example: 1. This script can be scheduled to run for a particular type of Collaboration Server request. 2. The script attempts to queue the request directly to an agent using the Queue to Agent node. The Queue to Agent node uses a direct reference to the agent, as shown in its Properties dialog box: Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.
Chapter 13: Example Scripts Example Web Collaboration Scripts Figure 129: Direct Reference to Agent 3. The script tries to do this for 9,999 seconds before ending, as defined in the Wait node. Example - Routing Based on the Media Routing Domain The following script example shows how a Web requests from different MRDs can be queued to different skill groups: Figure 130: Routing based on MRD In this example: Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.
Chapter 13: Example Scripts Example E-Mail Scripts 1. The script is executed Cisco Collaboration Server processes a new single-session chat, multi-session chat, or blended collaboration request. This script is scheduled to run for all these types of requests. 2. The script first detects the MRD of the request using the Media Routing Domain node.
Chapter 13: Example Scripts Example E-Mail Scripts is wrong). CeM deals with this by placing the email message into the externalRoutingError system queue. 4. The Router runs a routing script to determine which CeM agent to assign the message to. The routing script can also determine that the message should be assigned to a local CeM routing skill group. Note: • To assign a message directly to an agent, the ICM script must use the Queue to Agent node to route e-mail messages, not the Agent node.
Chapter 13: Example Scripts Example E-Mail Scripts Figure 131: Queuing email to skill group In this example: 1. The script is executed when a e-mail message is assigned by E-Mail Manager to an ICM Routing skill group. This script is scheduled to run for messages assigned to that skill group. For more information on call types and scheduling e-mail routing scripts, see Example - How ICM Software Determines the Call Type for an E-Mail Request. 2. The script queues the request to the skill group.
Chapter 13: Example Scripts Example Universal Queue Scripts Figure 132: Routing based on priority In this example: 1. The script is executed when a e-mail message is assigned by E-Mail Manager to an ICM Routing skill group. This script is scheduled to run for messages in that skill group. For more information on call types and scheduling e-mail routing scripts, see Example - How ICM Software Determines the Call Type for an E-Mail Contact. 2. The script tests the message's priority, the value of the cisco.
Chapter 13: Example Scripts Example Universal Queue Scripts Following are example scripts for use when ICM is part of an Universal Queue environment: • Selecting Agents from Skill Group • Categorizing by Media Routing Domain • Queuing to Agents These scripts are only examples; your company's needs may differ.
Chapter 13: Example Scripts Example Universal Queue Scripts You would schedule this script to run for Call Types associated with contacts from the different channels. The script then selects the Longest Available Agent from the skill group in the Media Routing Domain for that channel. The agents may be logged in to different Media Routing Domains and working with contacts from different channels; the Router determines an agent's availability across channels.
Chapter 13: Example Scripts Example IPCC Enterprise Scripts Figure 135: Queuing to Agents You would schedule this script to run for Call Types associated with contacts from the different channels. In the Queue to Agent node, each row defined for an agent also contains a Media Routing Domain selection. The script queues the contact to the agent with the selected MRD that matches the MRD of the contact.
Chapter 13: Example Scripts Example IPCC Enterprise Scripts Note: Additional IPCC example scripts are available in the Cisco IP Contact Center Enterprise Edition Reporting Guide, available from http://www.cisco.com/. Redirection on Ring No Answer When configuring ICM software in an IPCC Enterprise environment, you configure Agent Desk Settings. When creating agents, you then associate each agent with one of the Agent Desk Settings you created.
Chapter 13: Example Scripts Example IPCC Enterprise Scripts Figure 137: Reroute on Ring No Answer Script Agent Transfer When configuring Call Types and dialed numbers in an IPCC environment, you typically may have a dialed number of Routing_client.9999 for internal calls from agent to agent. You would create a call type associated with the dialed number, and schedule a script for calls of this call type. The script routes internal calls, which also allows you to track and report on such calls.
Chapter 13: Example Scripts Example IPCC Enterprise Scripts Figure 138: Agent to Agent Transfer If the node fails, then the script tries to select the longest available agent from the set of supervisor skill groups: Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.
Chapter 13: Example Scripts Example IPCC Enterprise Scripts Figure 139: Agent to Agent Node Script Supervisor Assist The following is an example of a supervisor assist script. You must have completed the following for this script to run properly: • Configure a supervisor Dialed Number (same as any DN, but associated with the Supervisor script). • Configure a call type (mapped to the supervisor DN associated with Script).
Chapter 13: Example Scripts Additional Example Outbound Option Scripts Figure 140: Example Supervisor Assist Script Additional Example Outbound Option Scripts Following are example scripts for use when ICM is part of an Outbound environment: • Setting the OutboundControl Variable and Skill Group Reservation Percentage • Using the Dialed Number for the MR Routing Client and Routing through a Select Node to a Skill Group • Transfer to IVR Using Outbound Option with IP IVR • Transfer to IVR Using Outbound Op
Chapter 13: Example Scripts Additional Example Outbound Option Scripts determine which mode each skill group uses. One script can be used to control all Outbound Option skill groups, or multiple scripts can control multiple Outbound Option skill groups. This administrative script is comprised of Start, Set, If , and End nodes. Use the Set node to set skill group variables (OutboundControl and OutboundPercent).
Chapter 13: Example Scripts Additional Example Outbound Option Scripts • PREVIEW_DIRECT_BLENDED: Agents can receive inbound calls, place outbound calls, and hear ring tones, such as phone ringing or busy signal. • PROGRESSIVE_ONLY: Similar to PREDICTIVE_ONLY; however, lines to dial per agent is not calculated—users configure a fixed number of lines that will always be dialed per available agent.
Chapter 13: Example Scripts Additional Example Outbound Option Scripts Using the Dialed Number for the MR Routing Client and Routing through a Select Node to a Skill Group The following diagram displays a sample routing script that uses the dialed number for the MR routing client and routes through a Select node to a previously configured skill group. Add additional DN nodes to route to agents in additional skill groups as you must maintain a 1:1 ratio of dialed numbers to skill groups.
Chapter 13: Example Scripts Additional Example Outbound Option Scripts Note: Lines connecting objects cannot appear on top of objects and therefore, partially display under the objects; for example, the line connecting the “X” (output terminal failure) on the Select object to the End object runs partially under the Select object.
Chapter 13: Example Scripts Additional Example Outbound Option Scripts Figure 144: Transfer to IVR Using Outbound Option with IP IVR Transfer to IVR Using Outbound Option with CVP/ISN The following diagram displays a routing script for a transfer to IVR campaign using Outbound Option with CVP/ISN. Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.
Chapter 13: Example Scripts Estimated Wait Time (EWT) Queueing Figure 145: Transfer to IVR Using Outbound Option with CVP/ISN Estimated Wait Time (EWT) Queueing The Script Editor's built-in Minimum Expected Delay (MED) calculation does not apply to IPCC. Instead, you can use a formula on an IF node to determine the MED between two skillgroups.
Chapter 13: Example Scripts Estimated Wait Time (EWT) Queueing Example EWT/MED Script Formula The example formula below can be used in an IF node to determine the EWT/MED for a call that can be routed to either a primary or secondary skill group. The call is routed to the skill group with the lowest MED. EntSkill.Default\EnterpriseSkillgroupSec.Avail || (EntSkill.Default\EnterpriseSkillgroupPri.LoggedOn>0) && (EntSkill.Default\EnterpriseSkillgroupSec.LoggedOn>0) && ((SkillGroup.CCM_PG_1.CCM_SG.sec.
Chapter 13: Example Scripts Estimated Wait Time (EWT) Queueing Since the RouterCallsQNow variable is only applicable at a Skillgroup and not an Enterprise Skillgroup level, then the aggregate of all the skillgroups within the Enterprise Skillgroup RouterCallsQNow field must be multiplied by the Enterprise SkillGroup AvgHandledCallsTime. The value is site dependent. It should be a value that represents the average Handle time of a call.
Chapter 14 Hosted Scripting Considerations This section covers scripting consideration to use in an IP Contact Center Hosted-Edition system. For more details on scripting in an ICM/NAM environment see the NAM Installation Guide. This chapter contains the following topics: • NAM Script Configuration, page 231 • CICM Scripting Considerations, page 235 NAM Script Configuration Scripting on the NAM only requires one Dialed Number script per Customer Instance. However, your design may include more.
Chapter 14: Hosted Scripting Considerations NAM Script Configuration Figure 146: Example NAM Routing Script The first script node after the Start should be a “set variable” node that contains the following: • Object Type — Call • Object — (no selection) • Variable — NetworkTransferEnabled • Value — 1 Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.
Chapter 14: Hosted Scripting Considerations NAM Script Configuration Figure 147: NetworkTransferEnabled Set Variable Node After you have set the variable for NetworkTransferEnabled you can create a Dialed Number (DN) Node to route to a particular CICM Instance Routing Client. If the Dialed Number node is true, then you typically send the call to the ISN Media Server using another Set Variable node as described below.
Chapter 14: Hosted Scripting Considerations NAM Script Configuration Figure 148: ECC Variable user.microapp.media_server Set Variable Node At this point, scripting is conducted on the ISN. Consult the Cisco Internet Service Node (ISN) Configuration and Administration Guide, Appendix B for details on scripting in ISN. Next, the call is sent to the ICM gateway of a particular customer instance. If multiple DNs are used, then you can send the call to a different ISN Media Server based on the different DN.
Chapter 14: Hosted Scripting Considerations CICM Scripting Considerations Note: Do NOT select the Validate returned labels checkbox. If you do so, you will have to provision the NAM with all of the labels that exist on every customer instance. CICM Scripting Considerations Note: • See the IPCC Administration Guide for Cisco IPCC Enterprise Edition, Cisco IPCC Enterprise Edition Release 7.0(0) for general scripting requirements for a CICM Instance.
Chapter 14: Hosted Scripting Considerations CICM Scripting Considerations Then: Select the same ICM customer you selected for Call Type from the drop-down list. Step 3 Select the Interruptible check box. Step 4 Click Save and then click Close. CICM VRU Script Considerations Use the CICM Script Editor SendToVRU node to connect the call to the Network VRU. For more information about creating scripts, see ISN Configuration and Administration - Chapter 2, "Using NAM/ICM with the ISN IVR Solution".
Chapter 14: Hosted Scripting Considerations CICM Scripting Considerations Figure 150: Changing the Queue Type to Enable Requery Figure 151: RONA Scripting in IPCC Hosted Edition If there is an available agent, the Queue node selects the longest available agent from the skill groups configured. If there is no available agent, the script then queues the call with a priority set in the node and continues down the success exit of the node.
Chapter 14: Hosted Scripting Considerations CICM Scripting Considerations 2. If the agent does not answer the call, then the script exits through the failure terminal of the Queue node. 3. The If node tests the RequeryStatus variable. If it has value of greater than zero, this is a requery call and the script re-queues the call. 4. In the Scripting for RONA example above, it also sets a flag using a call variable for reporting purposes. 5.
Chapter 15 Troubleshooting Calls not successfully routed to agent Symptom: In Monitor mode, Script Editor shows calls coming in and being routed; however, no calls are actually reaching agents. Message: No Message Cause: If a label is misconfigured or missing for a phone to which an agent is assigned, when this agent is assigned a call, additional calls are not processed and successfully routed to other agents.
Chapter 15: Troubleshooting No Message Cause: The script processing requests from E-Mail Manager contains an erroneous entry for a label and no agents are available to be assigned the new request. Action: Ensure that labels are entered correctly in the script. Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.
Glossary administrative script An administrative script is an object you create through ICM software that performs background processing, such as setting values for variable or collecting data from external databases. Data set by an administrative script can be used by routing scripts. Administrative scripts run on a schedule you determine. call control variables Call control variables provide information about the current contact that is being routed by the script.
Glossary categorization Categorization is the process of classifying a contact based on certain data associated with the contact. Through categorization, a script can determine how to best process a contact. dialed number (DN) A dialed number (DN) is a string that represents the telephone number dialed by the caller; for example, 8005551212 might be a dialed number. expanded call context (ECC) variables Expanded Call Context (ECC) variables store values associated with the contact.
Glossary routing script A routing script is an object you create through ICM software that: (1) Examines information about a contact, whether the contact is made through a phone call or other medium, and uses that information to classify the contact. (2) Analyzes the state of the contact center and determines that best way to process the contact. (3) Directs the contact to the most appropriate destination, such as an agent, a skill group, or an announcement.
Glossary Queue, ICM software treats requests from different channels as part of a single queue. Routing scripts can send requests to agents based on business rules regardless of the channel from which the request came. For example, ICM software can route phone, single session chat, and e-mail message requests to an agent who works with all these channels, based on the agent's skills and current tasks.
Index Index device targets....183 ECC variables....183 expanded call context variables....183 labels....183 network vru....183 persons....183 post routing....183 services....183 skill groups sub....183 sub skill groups....183 translation routes....183 trunk groups....183 Scripting and Media Routing Guide Cisco Unified ICM/Contact Center Enterprise & Hosted Release 7.