ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions

Release 7.0(0)

June 2006
Corporate Headquarters Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.com Tel: 408 526-4000 800 553-NETS (6387) Fax: 408 526-1400

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. THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION PACKET THAT SHIPPED WITH THE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO LOCATE THE SOFTWARE LICENSE OR LIMITED WARRANTY, CONTACT YOUR CISCO REPRESENTATIVE FOR A COPY. The Cisco implementation of TCP header compression is an adaptation of a program developed by the University of California, Berkeley (UCB) as part of UCB public domain version of the UNIX operating system. All rights reserved. Copyright 1981, Regents of the University of California. NOTWITHSTANDING ANY OTHER WARRANTY HEREIN, ALL DOCUMENT FILES AND SOFTWARE OF THESE SUPPLIERS ARE PROVIDED WITH ALL FAULTS. CISCO AND THE ABOVE-NAMED SUPPLIERS DISCLAIM ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THOSE OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM A COURSE OF DEALING, USAGE, OR TRADE PRACTICE. IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THIS MANUAL, EVEN IF CISCO OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. CCSP, CCVP, the Cisco Square Bridge logo, Follow Me Browsing, and StackWise are trademarks of Cisco Systems, Inc.; Changing the Way We Work, Live, Play, and Learn, and iQuick Study are service marks of Cisco Systems, Inc.; and Access Registrar, Aironet, BPX, Catalyst, CCDA, CCDP, CCIE, CCIP, CCNA, CCNP, Cisco, the Cisco Certified Internetwork Expert logo, Cisco IOS, Cisco Press, Cisco Systems, Cisco Systems Capital, the Cisco Systems logo, Cisco Unity, Enterprise/Solver, EtherChannel, EtherFast, EtherSwitch, Fast Step, FormShare, GigaDrive, GigaStack, HomeLink, Internet Quotient, IOS, IP/TV, iQ Expertise, the iQ logo, iQ Net Readiness Scorecard, LightStream, Linksys, MeetingPlace, MGX, the Networkers logo, Networking Academy, Network Registrar, Packet, PIX, Post-Routing, Pre-Routing, ProConnect, RateMUX, ScriptShare, SlideCast, SMARTnet, The Fastest Way to Increase Your Internet Quotient, and TransPath are registered trademarks of Cisco Systems, Inc. and/or its affiliates in the United States and certain other countries. All other trademarks mentioned in this document or Website are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (0601R) Copyright 2006 Cisco Systems Inc. All rights reserved.

Table of Contents
Preface ...........................................................................................................................................................1 Purpose .....................................................................................................................................................1 Audience ....................................................................................................................................................1 Organization ..............................................................................................................................................1 Related Documentation .............................................................................................................................2 Obtaining Documentation...........................................................................................................................2 Cisco.com..............................................................................................................................................2 Product Documentation DVD.................................................................................................................3 Ordering Documentation........................................................................................................................3 Documentation Feedback...........................................................................................................................4 Cisco Product Security Overview...............................................................................................................4 Reporting Security Problems in Cisco Products ...................................................................................4 Obtaining Technical Assistance..................................................................................................................5 Cisco Technical Support & Documentation Website..............................................................................5 Submitting a Service Request...............................................................................................................6 Definitions of Service Request Severity.................................................................................................6 Obtaining Additional Publications and Information.....................................................................................7 1. Common Tasks............................................................................................................................................9 How to Use Toolbars...................................................................................................................................9 Viewing Toolbars....................................................................................................................................9 The Palette...............................................................................................................................................10 Using the Palette to Build a Script............................................................................................................10 General Tab..............................................................................................................................................11 Routing Tab...............................................................................................................................................12 Targets Tab...............................................................................................................................................13 Queue Tab................................................................................................................................................14 How to Create a Routing Script ...............................................................................................................15 How to Add Comments to a Node............................................................................................................16 How to Specify Connection Label Location for a Node Most...................................................................16 How to Validate Scripts.............................................................................................................................17 How to Open Script Explorer....................................................................................................................18 How to Schedule a Routing Script............................................................................................................18 Viewing Modes.........................................................................................................................................21 Using the Find Nodes Option...................................................................................................................22 Find Nodes and Nodes Found Dialog Boxes.......................................................................................22 Common Find Nodes Dialog Box Properties............................................................................................23 Find Nodes By section..............................................................................................................................23 Find Nodes In section...............................................................................................................................23 Common Nodes Found Dialog Box Properties.........................................................................................24 How to find nodes by Node ID..................................................................................................................24 How to find nodes by Object.....................................................................................................................24 How to find nodes by Node Type..............................................................................................................25 How to find nodes by String......................................................................................................................25 2. Call Types, Contact Data, and Scripting....................................................................................................27 What is a Call Type? ................................................................................................................................27 What is a Default Call Type? ....................................................................................................................27 How Call Types and Scripts are Related..................................................................................................28

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)

i

Call Type Qualifiers...................................................................................................................................28 Dialed Number (DN)............................................................................................................................28 Calling Line ID (CLID)..........................................................................................................................29 Using a CLID Prefix.............................................................................................................................29 Using a CLID Region ..........................................................................................................................29 Caller-entered Digits (CED) ................................................................................................................29 Data for Web Requests............................................................................................................................30 Data for E-Mail Requests ........................................................................................................................30 How ICM Software Associates Contacts with Call Types.........................................................................32 Example - How ICM Software Determines the Call Type for a Voice Contact .........................................32 Example - How ICM Software Determines the Call Type for a Web Request ..........................................34 Example - How ICM Software Determines the Call Type for an E-Mail Contact ......................................34 3. Categorizing Contacts...............................................................................................................................37 Categorization and Call Types..................................................................................................................37 Categorization through Scheduling Scripts by Call Type.....................................................................37 How to Change the Call Type and Continue Script Processing...........................................................37 How to Change the Call Type and Execute a New Script....................................................................38 Categorizing by Call Type Qualifiers.........................................................................................................40 How to Categorize a Contact by the Dialed Number...........................................................................40 How to Categorize a Contact by the Calling Line ID............................................................................41 How to Categorize the Contact by the Caller Entered Digits (CED) ...................................................43 Categorizing by Time and Date ...............................................................................................................45 How to Categorize a Contact by the Time ..........................................................................................45 How to Categorize a Contact by the Day of Week ..............................................................................47 Categorizing by Branching ......................................................................................................................48 How to Execute a Different Script .......................................................................................................49 How to Direct Script Execution to a Specific Branch...........................................................................50 How to Direct Script Execution to Different Branches by Percentage..................................................51 How to Categorize a Contact based on a Condition............................................................................53 How to Categorize a Contact Based on its Media Routing Domain ...................................................54 Categorizing By External Data ................................................................................................................54 How to Modify the CallRouter Registry to Provide for DB Lookup Authentication on the Remote Database Target...................................................................................................................................................54 How to Categorize a Contact by External Data...................................................................................55 How to Reference Retrieved External Data.........................................................................................56 Categorizing by External Applications .....................................................................................................56 4. Selecting Routing Targets.........................................................................................................................59 What is a Routing Target?........................................................................................................................60 What is a Route?......................................................................................................................................60 What is a Translation Route?....................................................................................................................60 What is a Target Set? ..............................................................................................................................60 Skill Target................................................................................................................................................60 Agents: How to Define a Set of Agents Who Can Receive the Contact...................................................61 Agent Node..........................................................................................................................................61 Skill Groups: How to Define a Set of Skill Groups That Can Receive the Contact...................................62 Services: How to Define a Set of Services That Can Receive the Contact..............................................64 Enterprise Skill Groups: How to Define a Set of Enterprise Skill Groups That Can Receive the Contact.65 Enterprise Services: How to Define a Set of Enterprise Services That Can Receive the Contact ..........67 Network Targets........................................................................................................................................68 How to Route a Call to an Announcement...............................................................................................69

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)

ii

How to Route a Call to a Scheduled Target .............................................................................................70 How to Route a Call to an Unanswered Ring...........................................................................................72 How to Route a Call to a Busy Signal ......................................................................................................72 How to Return a Label to a Routing Client...............................................................................................73 How to Return Multiple Labels to a Routing Client...................................................................................74 Selecting Targets by Rules ......................................................................................................................76 Types of Target Searching...................................................................................................................76 Standard Selection Rules....................................................................................................................76 Custom Selection Rules......................................................................................................................78 How to Select Targets by Rules...........................................................................................................79 Distributing Contacts to Targets ...............................................................................................................81 Selecting Targets and Distributing Contacts Using One Node.................................................................82 Transferring Calls from Agents to Agents.................................................................................................85 Sending a Contact to a Different ICM System..........................................................................................87 Stopping Script Processing......................................................................................................................89 End Node.............................................................................................................................................89 Termination Node.................................................................................................................................89 Release Call Node...............................................................................................................................90 Using Target Requery ..............................................................................................................................91 How Target Requery Works.................................................................................................................91 How to Test the RequeryStatus Variable..............................................................................................92 Which Nodes Support Target Requery................................................................................................92 Target Requery with IPCC and IP IVR.................................................................................................93 Using Target Requery .........................................................................................................................93 Checking Targets .....................................................................................................................................93 About Call Tracer.................................................................................................................................93 How to Check Targets .........................................................................................................................94 Example Results..................................................................................................................................94 How to Check VRU Scripts..................................................................................................................96 5. Network VRUs...........................................................................................................................................97 What is a VRU..........................................................................................................................................97 What is a Network VRU?..........................................................................................................................98 Configuring VRUs.....................................................................................................................................98 Network VRU Types and Script Nodes.....................................................................................................98 Accessing VRU Scripts in ICM Scripts.....................................................................................................99 Sending a Call to a VRU with the Send to VRU Node .............................................................................99 Sending a Call to a VRU with the Translation Route to VRU Node ........................................................100 Sending a Call to a VRU after a Translation Route to VRU.....................................................................103 Running External Scripts........................................................................................................................104 Checking for VRU Errors .......................................................................................................................106 Queuing Calls at VRUs ..........................................................................................................................107 Placing a Call in Queue .........................................................................................................................107 Adjusting the Priority of a Call in a Queue .............................................................................................110 Removing the Call from a Queue ..........................................................................................................111 VRU MicroApp Nodes ...........................................................................................................................112 Collecting Data from the Caller...............................................................................................................112 Prompting a Caller to Select from a Set of Options ...............................................................................115 Playing Specific Recordings to the Caller ..............................................................................................118 Overriding VRU Settings ........................................................................................................................121 Temporarily Halting Script Execution......................................................................................................122

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)

iii

.................................................................................................................................................................................................................................................143 Prefix Operators.................................... Multichannel Routing............................................142 Operators...................................................................................................................................................................................................................135 Variables.........................................................................................................147 Miscellaneous Functions....................137 What are Expanded Call Context (ECC) Variables?......................................................................................................................................................................................................................................................................................................................................................................143 Arithmetic Operators........................................................................................................................................................127 Media Routing Domains and Interruptibility...141 SkillGroup..........................................................................................................Avail And SkillGroup....127 What is a Media Routing Domain?.................................125 Supported Route Requests................................125 Routing Application Requests....................................................................................................................................................................................................................................................................136 What are Call Control Variables?....................................ICMAvailable Variable.........127 Universal Queue IPCC Requirement.......................................................................................................127 Multichannel Scripting and Media Routing Domains.... Using Formulas................................................................................................................................................................................................131 7..........................................................................................................................................................136 Variable Syntax............................................................................146 Built-in Functions...................................................................................................................................................................142 SkillGroup............................................................................................127 Universal Queue Configuration Overview.......................................................................................................................................................................139 What are User Variables?.............................................................126 Universal Queue...................................................................................125 Synchronized Agents and Skill Groups........................................................................................................................................ICMAvailable Variables...143 Equality Operators..........................................................................................................144 Relational Operators.............................................135 What is a Formula?...........144 Bitwise Operators......0(0) iv ................................................136 Single-Target Variables.......................................................................................................................................................Avail Variable..............................................................130 How to Change the Queue to Agent Type...........................149 ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7......................................................................................................139 Expanded Call Context Variables for Web Callback.146 Mathematical Functions..............130 How to Specify an Agent Directly.....................................................................................................................................................126 Independent Media Queues......................................................................................................................................................................................................................130 How to Select an Agent by an Expression..........................................................................................................................6...............................................................................144 Logical Operators................................................................................................................140 SkillGroup.........................................................................................................................................................................................................................................146 Date and Time Functions......................................................................................................................127 What is Universal Queue?........145 Miscellaneous Operators.............138 Persistent vs Non-Persistent Call Variables.....................................148 Custom Functions.......................................................................................................................................................................................................................................................................140 How to Set Variable Values with the Set Variable Node....135 Formula Example..................................................................................................145 Operator Precedence........................................................................................................................................................149 What are Custom Functions?.......................................................................................128 Queuing to Agents...................................................................................138 Expanded Call Context Variables for E-Mail Manager Messages.............................................................136 Multiple-Target Variables................................................................125 Overview of Multichannel Services...................128 How to Use Media Routing Domains to Categorize Contacts ......................................................................................................................................................................................136 What is a Variable?.......

..............................................................................................................................................................................171 What Is Internet Script Editor?.....157 Modified Monitor Labels ..................................................................................160 How to View Router Logs ....................................................................................151 Exporting Custom Functions.......................................................................................................................................166 Full Edit (includes Quick Edit) ...................................................................163 9.....................................................151 8.......................155 How to Schedule an Administrative Script.............................................................................................................................................................................................................................. Script Administration...........................................156 Monitoring Scripts ...................................................................168 Available Column ..............175 To start Internet Script Editor...............................................158 How to Access Monitor Mode .....................................................................162 How to Modify Script Version and Schedule System Information ...............................................................................................................................176 Client-Side Internet Script Editor Troubleshooting Tools........................ Internet Script Editor (ISE)...............................................................................................................155 How to Use Preferences to Set an Active Script.............................................................................................................................166 How to access Quick Edit Mode ...................................................................................153 How to Set Active Scripts........................................................................169 10.................................................................157 Monitor Labels .............................................................167 Script Editor Feature Control ...............161 How to Export a Script .........................175 To install Internet Script Editor:..............................................171 How Internet Script Editor Works..........................................................................149 How to Import a Custom Function................................................................ Script Editor Feature Control..............................................................................................................................................................................................................................................................................................................................................................0(0) v .......................................................................................................................159 How to View Real-time Data ...............................................................................................................153 How to Check Script Routes..........................................................................................................................................................................................................................................................................................................................................................How to Add a Custom Function...........................................................................................................................150 Importing Custom Functions.............................168 Node Control Table .........175 To upgrade Internet Script Editor....................................................................................................................................................................................................169 How to Select Script Nodes for a Feature Control Set ......................155 How to View Enabled Scripts.........................157 Enabling Quick Edit from Monitor Mode ..........................................................................................176 Troubleshooting Tools for Internet Script Editor..168 How to Assign Users to a Feature Control Set ...........................................................................................................................................................................................................................................................................................................................................................................................................173 How to Install and Upgrade Internet Script Editor............................................................................................155 How to use the Script > Make Active Version Command..................................................................................................................160 How to Change the Real-time Data Configuration .............................................................................................................................................................................................................................149 Adding Custom Functions...........................................................................................................................................172 Internet Script Editor Client...............................................................159 How to Set Monitor Mode Options ...........................................150 How to Export a Custom Function............................165 Edit Options ...........................172 Secure Socket Layer (SSL) Requirements for ISE...............168 Node Column ................166 Quick Edit Only .................................................................................................................................................................................................................176 ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7..........................................158 How to Adjust Monitor Label Location ................................168 How to Create a Feature Control Set .......................................................................................................................................................................................................................................................................................................................................171 Internet Script Editor Requirements...........................................................................162 How to Import a Script .....................................................

........................................................200 Controlling the OutboundControl Variable and Skill Group Reservation Percentage Using an Administrative Script...................196 Example IPCC Express and ICM Scripts that Select a Route Point (Redirect)...............................................183 Using the Busy Node................................................................................................0(0) vi ....186 Using the Translation Route to VRU Node ...........................................................................................................................................................192 Example IPCC Gateway Post-routing Scripts........................................................................................184 Using the Service and Enterprise Service Nodes ............................................................................................200 Transfer to IVR Using Outbound Option with IP IVR........................................................186 No Default Skill Groups in Routing Scripts .................205 IPCC System PG for Outbound Option........................................................................ Utility Nodes....................................................................................................................................................................................................................................................................................................182 Using the Select Node ...................................................................................................185 Using the Scheduled Select and Divert Label Nodes ........................................................................................................................ Non-Interruptible..............................................................187 IPCC System PG.............................................194 Example IPCC Express and ICM Scripts that Select an Agent......................................................................................................................................................................................................................................................................................................................................210 13......................................................................................................................................................................181 Prioritizing Calls.......................................................................................................................................190 Scripting in an IPCC Express Environment....191 Cisco Predefined Enterprise Call Variables..................182 Canceling Queuing ...................................................................................................Server-Side Internet Script Editor Troubleshooting Tools...................................................................................................................................190 Using Variables in an IPCC Express Environment.........................181 IPCC Enterprise.............................206 12......183 Using the Release Call Node.....................................................................................................................198 Scripting in an Outbound Environment............................................................................................................185 IVR (VRU) Types ................................................................................................................................................................................................................................................176 11.............................................213 Example Web Collaboration Scripts...............................................................................................204 Configuring a Queue to Agent Node.........................................................................................209 Comment Node.......................................209 Start Node..........................................................................................................................213 ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7...........................................................................................................................................................................................................................................179 Deploying IPCC Gateway for IPCC Enterprise...............................................................................................................................................................180 IPCC Gateway for IPCC Express Features............................................................................188 System IPCC to ICM Object Mapping................................................................................................185 Using IVR as a Queue Point....................................................192 Enterprise Expanded Call Context (ECC) Variables.......................................................187 System IPCC.........190 IPCC Express.............183 Using the Ring Node .........................................................................................................................................................................203 Transfer to IVR Campaign Using Outbound Option with CVP/ISN....................................................184 Using the End Node......................................................................................................................................................................................................................................................................184 Call Treatment Comparison............................................................................................................................................................. Scripting in an IPCC Environment............................. Example Scripts...............................182 Checking for Available Agents ..............................................................................192 Example IPCC Express and ICM Scripts that Select a CSQ...............................................................................................................185 Interruptible vs...............184 Using the Agent to Agent Node ............................................................................................................................181 Prioritizing Agents...................................................................210 Line Connector Node..............................................................................................................................179 IPCC Gateway..................................182 Queuing to a Skill Group........................................................................

..................246 RONA and ISN..........................................................................................Queuing a Web Request to a Skill Group .................................................................................................................................................................................................................................................................................................224 Categorizing by Media Routing Domain ............................................................245 Create CICM VRU Scripts.........................................................................................................................................................................................................................Routing a Message Based on Priority ...237 When to use EWT Queing............................................................................228 Supervisor Assist............Overview of Web Request Routing through ICM Software ......................................................................................223 Selecting Agents from Skill Groups ..........247 15................225 Queuing to Agents .........................................................................................................................221 Example ..............................................241 NAM Script Configuration..................................................219 Example E-Mail Scripts .................................................................................................245 CICM VRU Script Considerations............................................................................................................................................................................................................236 Estimated Wait Time (EWT) Queueing...................237 Example EWT/MED Script Formula....................................................................................227 Agent Transfer .............................................................................................................................220 Example ............................................215 Example ...0(0) vii .................................................222 Example Universal Queue Scripts .........................................................226 Redirection on Ring No Answer ................................................................... Hosted Scripting Considerations.............217 Example ..........................................................................................................................................................................213 Web Requests and Media Routing Domains ......................................................................................................................................................................................216 Example ................................215 The Voice MRD ..................................................................................................................................246 Scripting for RONA...........................................................................................................................................................214 Non-voice MRDs ..............................................................................234 Transfer to IVR Using Outbound Option with IP IVR.....................................................Queuing E-mail to a Skill Group .........................................................................................................................................225 Example IPCC Enterprise Scripts ...................................................................................215 Example ..............................................................................................................................................................................................230 Additional Example Outbound Option Scripts ....................................................................................................................................................................................................238 14.......231 Setting the OutboundControl Variable and Skill Group Reservation Percentage............................................Pushing a URL to a Waiting Caller ...............................................................Routing Based on the Media Routing Domain .....................................................................................................241 CICM Scripting Considerations...........................................251 Index ......................................................................................................................................................................255 ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7..............235 Transfer to IVR Using Outbound Option with CVP/ISN.................................................238 EWT/MED Script Explained........................................................................ Troubleshooting..249 Glossary ........220 Overview of E-mail Routing through ICM Software ...........................................................................................................................................................Queuing Directly to an Agent .......231 Using the Dialed Number for the MR Routing Client and Routing through a Select Node to a Skill Group.........................................

............................................................................49 Figure 36: Go To Script Properties........19 Figure 16: Call Type Manager Dialog Box ...................................................................................................................List of Figures Figure 2: General Tab of the Palette.......................................................................................................................................................................................................................................................................................................................................................................................................................................44 Figure 30: Time Icon...........................................................................................................15 Figure 8: Comment Tab................................................................................................................................................................................Period Tab...................................................................16 Figure 9: Connection tab..........................................................................48 Figure 35: Go To Script Icon..................................Requalify Call Tab.............................................43 Figure 28: CED Properties Icon.................................................................................................................................................................39 Figure 22: The Requalify Call Properties ........................................................................................................................39 Figure 23: The Dialed Number Icon.................................................................Schedules Tab........................................................................17 Figure 12: Validate All Query Dialog........................................................................................................................20 Figure 19: The Call Type Icon.........................................................................................Dialed Number Tab................................................................................41 Figure 26: CLID Properties .......19 Figure 17: Add Call Type Dialog Box ....................51 ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.................................................................................................................................................46 Figure 32: Add Time Dialog................................................................................................................................................................................47 Figure 34: Day of Week Properties..................47 Figure 33: Day of Week Icon...............................................................................................................................................................................................................................................................................................................................46 Figure 31: Time Properties.......................................................40 Figure 24: Dialed Number Properties ................................................................................................................50 Figure 38: Switch Properties...............................................42 Figure 27: CLID Properties ...................................................................................................................................................................Variable.................................................................................................................................................44 Figure 29: CED Properties..................................................................................................38 Figure 21: The Requalify Call Icon........14 Figure 6: File > New Dialog Box.......................................................................................................................................................................................................................................................................................................20 Figure 18: Add Call Type Schedule Dialog Box .........49 Figure 37: Switch Icon...............................................................12 Figure 4: Targets Tab of the Palette............................................................................................................................................Calling Line ID...................................Call Type Node....0(0) viii .............................13 Figure 5: Queue Tab of the Palette................................Call Directory Tab....................................18 Figure 15: Call Type Manager Dialog Box ...........11 Figure 3: Routing Tab of the Palette................38 Figure 20: Call Type Properties Dialog Box ...............................................................................................51 Figure 39: Percent Allocation Icon.............................41 Figure 25: The CLID Icon........Script Tab...........................................................................................................................................................................................................

....................Routing Target Tab...............Figure 40: Percent Allocation Properties...................................................................................................................................................................................56 Figure 46: App Gateway Properties ................67 Figure 57: Enterprise Service Properties ............................................................................................................................................................................................Route Tab.............................................Routing Target Tab...................................................................................................................................................................................................................................72 Figure 63: Busy Icon.........................................................55 Figure 45: Gateway Icon..............71 Figure 62: Ring Icon................Receive...........................................................................................................................................................................................................................................................................................................................................81 Figure 70: Distribute Properties ...................................................................................53 Figure 42: If Properties................................................................................................................................................Routing Target Tab.........................................................................Routing Tab...........................................................................................................................................................................................................62 Figure 50: The Skill Group Icon.......................................................................72 Figure 64: Label Icon....................................................................83 Figure 73: Route Select Type.............64 Figure 53: Service Properties .........................................................................................63 Figure 52: The Service Icon...............................52 Figure 41: If Icon..................................................................................................................70 Figure 61: Schedule Select Properties................................................................................................................................53 Figure 43: DB Lookup Icon...................55 Figure 44: DB Lookup Properties...................................................................................................Label Tab.....................................58 Figure 48: The Agent Icon......Select Tab...............................................................................64 Figure 54: The Enterprise Skill Group Icon......................Send...........................................74 Figure 67: Select Node Icon.......74 Figure 66: Divert Label Icon.............................................................................................................69 Figure 59: Announcement Properties ...........82 Figure 71: Route Select Icon.........................................73 Figure 65: Label Properties ..............................................................................................0(0) ix .............................Announcement Tab...........................................................................................................................79 Figure 68: Select Properties ......70 Figure 60: Schedule Select Icon..........................................................................................................................................61 Figure 49: Agent Properties ...63 Figure 51: Skill Group Properties ................................................................................................................................................................................................................................................................................................................................................................................................................................84 Figure 74: Agent to Agent Icon......Distribute Tab............................................................................................................................................................................................80 Figure 69: Distribute Icon...........................................................................................................................................................................................................................................................................................Routing Target Tab.............................................................................................................................................82 Figure 72: Route Select Properties ...................................................................................................................................................65 Figure 55: Enterprise Skill Group Properties ........................................................................67 Figure 58: Announcement Icon..........................85 ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7..........................57 Figure 47: App Gateway Properties ......................................................................................................................66 Figure 56: The Enterprise Service Icon..........................................................

....................................................................................................133 Figure 110: Set Properties window............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................119 Figure 98: The VRU Settings Icon.................................................................................................89 Figure 80: Termination Properties.............................................................................................................................................................................................86 Figure 76: ICM Gateway Icon..........108 Figure 90: The Queue Priority Icon..............................................122 Figure 101: Wait Properties...........140 Figure 111: Security Alert Dialog Box...........................................................................................................................................................................................................................................................111 Figure 92: The Cancel Queuing Icon......................................................115 Figure 95: Menu Properties..................................................132 Figure 108: No Enterprise Route or Route Chosen...........................94 Figure 83: The Send to VRU Icon.................................................................................................................................104 Figure 87: Run External Script Properties.....................................................................................121 Figure 99: VRU Settings Properties..............111 Figure 93: Collect Data Properties.....................99 Figure 84: The Translation Route to VRU Icon.................................174 ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.............................................................................................................0(0) x ................................................................................................................................................................................................................................88 Figure 78: End Icon...................................................................................................................................................116 Figure 96: The Play Icon.........................................................................................................................................................................118 Figure 97: Play Properties..................................................................................................................90 Figure 81: Release Call Icon...............................133 Figure 109: Both an Enterprise Route and a Route Chosen...............................................................................107 Figure 89: Queue to Skill Group Properties.............101 Figure 85: Translation Route to VRU Icon Properties...........................................................................................................................................................................................................................................................90 Figure 82: Call Tracer Icon.......................................................................................................................................................................................................................87 Figure 77: ICM Gateway Properties..................................................................................................................................................106 Figure 88: The Queue Icon..................129 Figure 105: Queue Agent Type................................................................................130 Figure 106: Agent Direct Properties..................110 Figure 91: Queue Priority Properties.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................Figure 75: Agent to Agent Properties.......89 Figure 79: Termination Icon...................................................................................................................113 Figure 94: The Menu Icon................................................................123 Figure 103: MRD Properties...........................131 Figure 107: Agent Expression Properties.......................................................121 Figure 100: The Wait Icon.......................................................102 Figure 86: The Run External Script Icon........................................................................

...........................211 Figure 133: Web Request Routing Process.......................................................................................................199 Figure 120: Post Route to a Route Point...........................................................................................................216 Figure 135: pushiing URL to waiting caller.............................................................................................................204 Figure 124: Example Routing Script Using the Dialed Number for the MR Routing Client......................219 Figure 139: Queuing email to skill group...................198 Figure 119: PostRouteSimple...................................188 Figure 114: Label Node Properties.......................................................................aef............................197 Figure 118: Post Route to Agent......................................206 Figure 127: Example Routing Script Using the Queue to Skill Group Node..........214 Figure 134: Example .........................................................................211 Figure 132: Line Connector Properties...................................................................................................................................................................................207 Figure 128: Start Properties....................................................................................................................................................................227 Figure 145: Reroute on Ring No Answer Script............................................................................205 Figure 125: Queue to Agent Properties.................................................................203 Figure 122: Example Routing Script for a Transfer to IVR Campaign Using Outbound Option with IP IVR..................225 Figure 143: Queuing to Agents....................................218 Figure 137: Direct Reference to Agent.......................................................................................................................0(0) xi ....................................................................................Queuing a Web Request to a Skill Group..........................aef.......................................................................................................................................................................................................................................................................226 Figure 144: Reroute on Ring No Answer.................................................................................200 Figure 121: Setting Skill Group Variables (OutboundControl and OutboundPercent).......223 Figure 141: Selecting Agents from Skill Groups.................................................................................................................................................................................................................................................195 Figure 116: Post Route to CSQ........................................................................................................................................Figure 112: IPCC Gateway PG.............219 Figure 138: Routing based on MRD...........................179 Figure 113: System IPCC Deployment.....................................................................203 Figure 123: Example Routing Script for a Transfer to IVR Campaign Using Outbound Option with CVP/ISN.........................................................................................................................................196 Figure 117: PostRouteSelectAgent...............................................................................................................................................aef.............................210 Figure 130: Comment Properties...........................................209 Figure 129: The Comment Icon...............................................................................................................210 Figure 131: The Line Connector Icon.................................................................................229 ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7........................................................194 Figure 115: PostRouteSelect CSQ.....................................................................................................................................222 Figure 140: Routing based on priority..................................................................................................................................224 Figure 142: Categorizing by MRD................................................................................................228 Figure 146: Agent to Agent Transfer..................217 Figure 136: Queuing directly to an agent..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................205 Figure 126: Example IPCC System PG for Outbound Option Campaign Administrative Script..................................................................

.............................................................................................................230 Figure 148: Example Supervisor Assist Script....242 Figure 155: NetworkTransferEnabled Set Variable Node....231 Figure 149: Setting the OutboundControl Variable and Skill Group Reservation Percentage...........................0(0) xii ......................................................................244 Figure 158: Changing the Queue Type to Enable Requery...............................................................................................................................................................................................................247 Figure 159: RONA Scripting in IPCC Hosted Edition........234 Figure 150: Queue to Agent node Properties...................................................................................236 Figure 153: Transfer to IVR Using Outbound Option with CVP/ISN....237 Figure 154: Example NAM Routing Script.....................................................................................................................................microapp.............................................................................................................................235 Figure 152: Transfer to IVR Using Outbound Option with IP IVR...................................................................................................................248 ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7...............................................................................................media_server Set Variable Node..........................243 Figure 156: ECC Variable user........Figure 147: Agent to Agent Node Script.................235 Figure 151: Using the Dialed Number for the MR Routing Client and Routing through a Select Node to a Skill Group....................244 Figure 157: ICM Gateway Node ...........................................................................

0(0) Preface 1 . and specific information about the contact centers and carrier networks connected to the Cisco ICM/IPCC system. and External Applications. Network VRUs (page 97) Chapter 6. External Data. This chapter does not contain information on every possible task you can perform. For more information on Script Editor. see the online help. Contact Data. Chapter 5. Organization Chapter Description Chapter 1. Multichannel Routing (page 125) Discusses diverting contacts to a Network VRU for additional call processing.Preface Purpose 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. Categorizing Contacts (page 37) Chapter 4. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Chapter 2. Common Tasks (page 9) Contains information about common tasks you perform in Script Editor. Contains information relating to categorizing contacts based on Call Types. Audience This document is intended for CIsco ICM/IPCC system managers. Call Type qualifiers. Selecting Routing Targets (page 59) Contains information on how to determine the destination for contacts using Script Editor nodes to specify how a contact is routed to a target. A system manager must have a general understanding of contact center operations and management. Branching. Time and Date. and Scripting (page 27) Chapter 3. Discusses writing scripts to handle multichannel routing situations. Discusses how to use CallTypes and Contact Data when writing ICM scripts. Call Types.

. Using Formulas (page 135) Chapter 8. Cisco also provides several ways to obtain technical assistance and other technical resources. and Line Connector nodes. from all (or some) Script Editor functionality.0(0) Preface 2 . Cisco.com/public/countries_languages. Utility Nodes (page 209) Chapter 13. Script Editor Feature Control (page Discusses Script Editor Feature Control in terms of resrticting users 165) (or classes of users).cisco. Example Scripts (page 213) Provides information relating to the Start. (page 179) Chapter 12. E-Mail.shtml ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Script Administration (page 153) Explains how to create formulas and use them in routing nodes. and selecting routing targets. Troubleshooting (page 249) Related Documentation Obtaining Documentation Cisco documentation and additional literature are available on Cisco.com. Outbound Option.com You can access the most current Cisco documentation at this URL: http://www.cisco. Universal Queue. Chapter 9.com You can access international Cisco websites at this URL: http://www. Chapter 14. Internet Script Editor (ISE) (page Discusses the Internet Script Editor functionality. Discusses ICM script management tools and procedures. Provides scripting troubleshooting information. 171) Chapter 11. categorizing contacts. Provides example Web Collaboration. Chapter 10. and Estimated Wait Time (EWT) queuing.com/techsupport You can access the Cisco website at this URL: http://www. Hosted Scripting Considerations (page 241) Chapter 15. Discusses scripting considerations in a hosted environment. These sections explain how to obtain technical information from Cisco Systems.cisco. Scripting in an IPCC Environment Discusses scripting in an IPCC Environment. Comment. IPCC Enterprise.Preface Related Documentation Chapter Description Chapter 7.

cisco. elsewhere in North America.cisco. and command guides for Cisco products and to view technical documentation in HTML.com users may order Cisco documentation at the Product Documentation Store in the Cisco Marketplace at this URL:: http://www.com/en/US/partner/ordering/ • Instructions for ordering documentation using the Ordering tool are at this URL: http://www.com users can order documentation through a local account representative by calling Cisco Systems Corporate Headquarters (California.cisco.cisco. registered Cisco. Registered Cisco. The Product Documentation DVD is available as a single unit or as a subscription. The Product Documentation DVD is updated regularly and may be more current than printed documentation. The Product Documentation DVD is a comprehensive library of technical product documentation on portable media. configuration.0(0) Preface 3 . USA) at 408 526-7208 or. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. by calling 1 800 553-NETS (6387).pdf versions of the documentation available. With the DVD.com/go/marketplace/ Ordering Documentation Beginning June 30.cisco.com/go/marketplace/ Cisco will continue to support documentation orders using the Ordering tool: • Registered Cisco. Certain products also have .htm • Nonregistered Cisco.com users (Cisco direct customers) can order a Product Documentation DVD from the Ordering tool or Cisco Marketplace. you have access to the same documentation that is found on the Cisco website without being connected to the Internet. The DVD enables you to access multiple versions of hardware and software installation. which may have shipped with your product.com/univercd/cc/td/doc/es_inpck/pdi. Cisco Ordering Tool: http://www.com/en/US/partner/ordering/ Cisco Marketplace: http://www.com users (Cisco direct customers) can order Cisco product documentation from the Ordering tool: http://www. 2005.Preface Obtaining Documentation Product Documentation DVD Cisco documentation and additional literature are available in the Product Documentation DVD package.

security-alert@cisco. and we strive to correct all vulnerabilities quickly.0(0) Preface 4 .html From this site. If you think that you might have identified a vulnerability in a Cisco product.html Reporting Security Problems in Cisco Products Cisco is committed to delivering secure products. A current list of security advisories and notices for Cisco products is available at this URL: http://www.com.com ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.com/en/US/products/products_psirt_rss_feed. CA 95134-9883 We appreciate your comments. We test our products internally before we release them. Cisco Product Security Overview Cisco provides a free online Security Vulnerability Policy portal at this URL: http:// www. you can access a Product Security Incident Response Team Really Simple Syndication (PSIRT RSS) feed from this URL: http://www.Preface Documentation Feedback Documentation Feedback You can rate and provide feedback about Cisco technical documents by completing the online feedback form that appears with the technical documents on Cisco.cisco. You can submit comments by using the response card (if present) behind the front cover of your document or by writing to the following address: Cisco Systems Attn: Customer Document Ordering 170 West Tasman Drive San Jose. you can perform these tasks: • Report security vulnerabilities in Cisco products.cisco.cisco. • Register to receive security information from Cisco. • Obtain assistance with security incidents that involve Cisco products. contact PSIRT: • Emergencies .com/en/US/products/products_security_vulnerability_policy.com/go/psirt If you prefer to see advisories and notices as they are updated in real time.com. You can rate and provide feedback about Cisco technical documents by completing the online feedback form that appears with the technical documents on Cisco.

you can register at this URL: http://tools.com In an emergency. The website is available 24 hours a day.com features extensive online support resources.com/RPF/register/register.edu:11371/ pks/lookup?search=psirt%40cisco. Cisco Technical Assistance Center (TAC) engineers provide telephone support. or click the Cisco Product Identification Tool RMAs. Choose Cisco Product Identification Tool from the Alphabetical Index drop-down list.x.com user ID and password. The Cisco Technical Support & Documentation website on Cisco.com/techsupport Access to all tools on the Cisco Technical Support & Documentation website requires a Cisco.x through 8.Preface Obtaining Technical Assistance An emergency is either a condition in which a system is under active attack or a condition for which a severe and urgent security vulnerability should be reported. • Nonemergencies .cisco. In addition. All other conditions are considered nonemergencies. If you do not have a valid Cisco service contract. you can also reach PSIRT by telephone: • 1 877 228-7302 • 1 408 525-6532 Note: We encourage you to use Pretty Good Privacy (PGP) or a compatible product to encrypt any sensitive information that you send to Cisco. The correct public key to use in your correspondence with PSIRT is the one that has the most recent creation date in this public key server list: http://pgp.0(0) Preface 5 . if you have a valid Cisco service contract.mit.com&op=index&exact=on The link on this page has the current PGP key ID in use. at this URL: http://www. Cisco Technical Support & Documentation Website The Cisco Technical Support & Documentation website provides online documents and tools for troubleshooting and resolving technical issues with Cisco products and technologies. contact your reseller. Never use a revoked or an expired encryption key.do Note: Use the Cisco Product Identification (CPI) tool to locate your product serial number before submitting a web or phone request for service. If you have a valid service contract but do not have a user ID or password. Obtaining Technical Assistance Cisco Technical Support provides 24-hour-a-day award-winning technical assistance.psirt@cisco. The CPI tool offers three search options: by product ID ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. You can access the CPI tool from the Cisco Technical Support Website by clicking the Tools & Resources Tools. PSIRT can work from encrypted information that is compatible with PGP versions 2.cisco.

If your issue is not resolved using the recommended resources. your service request is assigned to a Cisco TAC engineer.Operation of an existing network is severely degraded. Cisco has established severity definitions.com/techsupport/contacts Definitions of Service Request Severity To ensure that all service requests are reported in a standard format. but most business operations remain functional.) Cisco TAC engineers are assigned immediately to S1 and S2 service requests to help keep your business operations running smoothly To open a service request by telephone. go to this URL: http://www. Locate the serial number label on your product and record the information before placing a service call. (S3 and S4 service requests are those in which your network is minimally impaired or for which you require product information.cisco. or for certain products.0(0) Preface 6 .com/techsupport/servicerequest For S1 or S2 service requests or if you do not have Internet access. use one of the following numbers: • Asia-Pacific: +61 2 8446 7411 (Australia: 1 800 805 227) • EMEA: +32 2 704 55 55 • USA: 1 800 553-2447 For a complete list of Cisco TAC contacts. contact the Cisco TAC by telephone. Severity 3 (S3) -. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. or there is a critical impact to your business operations.Operational performance of your network is impaired. Search results show an illustration of your product with the serial number label location highlighted.Your network is down.) After you describe your situation. Severity 2 (S2) -. by copying and pasting show command output. You and Cisco will commit all necessary resources around the clock to resolve the situation. (S1 or S2 service requests are those in which your production network is down or severely degraded. You and Cisco will commit resources during normal business hours to restore service to satisfactory levels. The TAC Service Request Tool is located at this URL: http://www.Preface Obtaining Technical Assistance or model name. the TAC Service Request Tool provides recommended solutions. Severity 1 (S1) -. You and Cisco will commit full-time resources during normal business hours to resolve the situation. by tree view. or significant aspects of your business operation are negatively affected by inadequate performance of Cisco products. Submitting a Service Request Using the online TAC Service Request Tool is the fastest way to open S3 and S4 service requests.cisco.

or configuration.Preface Obtaining Additional Publications and Information Severity 4 (S4) -. installation. the company store. Packet delivers coverage of the latest industry trends. • Cisco Marketplace provides a variety of Cisco books. technologies.cisco. The publication identifies the challenges facing these companies and the technologies to help solve them.com/go/iqmagazine • Internet Protocol Journal is a quarterly journal published by Cisco Systems for engineering professionals involved in designing.0(0) Preface 7 . as well as network deployment and troubleshooting tips. certification and training information. There is little or no effect on your business operations.com • Packet magazine is the Cisco Systems technical user magazine for maximizing Internet and networking investments. and logo merchandise.You require information or assistance with Cisco product capabilities.cisco. configuration examples. Obtaining Additional Publications and Information Information about Cisco products. customer case studies. Each quarter. reference guides. You can access iQ Magazine at this URL: http://www. and expand services.com/ipj • World-class networking training is available from Cisco.com/en/US/learning/index. and network solutions is available from various online and printed sources. You can view current offerings at this URL: http://www.cisco.html ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. and Cisco products and solutions.com/go/marketplace/ • Cisco Press publishes a wide range of general networking. You can access the Internet Protocol Journal at this URL: http://www. training and certification titles. Visit Cisco Marketplace. You can access Packet magazine at this URL: http://www.com/packet • iQ Magazine is the quarterly publication from Cisco Systems designed to help growing companies learn how they can use technology to increase revenue. and operating public and private internets and intranets. at this URL: http://www.cisco. Both new and experienced users will benefit from these publications. using real-world case studies and business strategies to help readers make sound technology investment decisions. technology breakthroughs. and links to scores of in-depth online resources. streamline their business. For current Cisco Press titles and other information.cisco. go to Cisco Press at this URL: http://www. developing.ciscopress.

0(0) Preface 8 .Preface Obtaining Additional Publications and Information ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.

page 10 Using the Palette to Build a Script. page 11 Routing Tab. see the online help. page 24 How to find nodes by Node Type. page 13 Queue Tab. This section contains the following topics: • • • • • • • • • • • • • • • • • • • How to Use Toolbars.0(0) 9 . page 25 How to find nodes by String. page 25 How to Use Toolbars Viewing Toolbars You control which toolbars appear in the application window by using the View menu: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. page 21 Using the Find Nodes Option. page 15 How to Add Comments to a Node. page 17 How to Open Script Explorer. page 16 How to Validate Scripts. page 14 How to Create a Routing Script . page 22 How to find nodes by Node ID. This topic does not contain information on every possible task you can perform.Chapter 1 Common Tasks This topic contains information about common tasks you perform in Script Editor. page 24 How to find nodes by Object. page 18 How to Schedule a Routing Script. page 18 Viewing Modes. page 10 General Tab. page 16 How to Specify Connection Label Location for a Node Most. page 9 The Palette. For more information on Script Editor. page 12 Targets Tab.

The available nodes are divided into four tabs: • General (page 11) • Routing (page 12) • Targets (page 13) • Queue (page 14) 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. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0) 10 . select the checked toolbar. The Palette contains the icons representing the nodes you use in scripts. • To display small toolbar icons. The Palette You display the Palette by clicking in the Main toolbar or by selecting Palette from the View menu. from the submenu.Chapter 1: Common Tasks The Palette Step 1 From the View menu. select Large Icons when it is checked. The submenu opens. To close a toolbar. select the unchecked toolbar. with text. Note: Toolbar icons in this document are always shown as large icons with text. Toolbars that are currently open are checked. select Large Icons when it is not checked. listing the four toolbars. select Toolbar. Step 2 Step 3 To open a toolbar. without text. You can also control the size of the toolbar icons from the Toolbar submenu: • To display large toolbar icons. from the submenu.

then moving the cursor into the workspace and clicking the mouse button again.0(0) 11 . then dragging the object into the workspace and releasing the mouse button. To insert more of the same node. • Placing cursor over object and clicking the left mouse button.Chapter 1: Common Tasks General Tab You do this by: • Placing cursor over object and pressing the left mouse button. General Tab Following is the General tab of the Palette: Figure 1: General Tab of the Palette ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. reposition cursor and click again.

Chapter 1: Common Tasks Routing Tab The General tab contains icons for the following nodes: • Comment (page 210) • Day of Week (page 45) • DB Lookup (page 54) • End (page 89) • Gateway (page 56) • Go To Script (page 48) • If (page 48) • Line Connector (page 210) • Percent Allocation (page 48) • Set Variable (page 135) • Skill Group (page 62) • Start (page 209) • Switch (page 48) • Time (page 45) Routing Tab Following is the Routing tab of the Palette: Figure 2: Routing Tab of the Palette ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0) 12 .

0(0) 13 .Chapter 1: Common Tasks Targets Tab The Routing tab contains icons for the following nodes: • Call Type (page 37) • Caller-Entered Digits (page 40) • Calling Line ID (page 40) • Dialed Number (page 40) • Distribute (page 81) • ICM Gateway (page 87) • Media Routing Domain (page 127) • Requalify Call (page 37) • Select (page 76) Targets Tab Following is the Targets tab of the Palette: Figure 3: Targets Tab of the Palette ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.

Chapter 1: Common Tasks Queue Tab The Targets tab contains icons for the following nodes: • Agent (page 61) • Agent to Agent (page 85) • Announcement (page 69) • Busy (page 72) • Divert Label (page 74) • Enterprise Service (page 67) • Enterprise Skill Group (page 65) • Label (page 73) • Release Call (page 89) • Ring (page 72) • Route Select (page 82) • Scheduled Select (page 70) • Service (page 64) • Skill Group (page 62) • Termination (page 89) Queue Tab Following is the Queue tab of the Palette: Figure 4: Queue Tab of the Palette ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0) 14 .

You are prompted to select to create a Routing Script or Administrative Script: Figure 5: File > New Dialog Box Step 2 Click ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.Chapter 1: Common Tasks Queue Tab The Queue tab contains icons for the following nodes: • Cancel Queuing (page 111) • Collect Data (page 112) • Menu (page 115) • Play (page 118) • Queue (page 107) • Queue Priority (page 110) • Queue to Agent (page 130) • Run External Script (page 104) • Send To VRU (page 99) • Translation Route to VRU (page 100) • VRU Settings (page 121) • Wait (page 122) How to Create a Routing Script Step 1 In Script Editor. Select File > Newor click New.0(0) 15 .

To save the script. 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.0(0) 16 .Chapter 1: Common Tasks Queue Tab The new script opens in the Edit window. with a Start node (page 209). You are prompted for a script name. Step 3 Step 4 Build the script. select File > Save or click Save. How to Add Comments to a Node Most nodes have a Comment tab: Figure 6: Comment Tab Step 1 Step 2 You can add a comment in the Enter text field. How to Specify Connection Label Location for a Node Most Most nodes have a Connection Labels tab: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.

How to Validate Scripts Step 1 To validate a single script. You are prompted to choose between validating active versions of all scripts or all the opened scripts: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. select Script > Validate or on the toolbar click the Validate Icon. Step 2 To validate multiple scripts. click the Validate All Icon. with the script open in the active window. Move the slider to: a.0(0) 17 . Origin. Destination. for the connection label to display between the nodes. select Script > Validate All or on the toolbar. Step 2 You can also select no to show the connection label by clearing the Display monitor labels checkbox. c. b.Chapter 1: Common Tasks Queue Tab Figure 7: Connection tab Step 1 You can specify the location of connection labels when viewing a script in monitor mode by moving the slider in the Label position area. for the connection label to display close to the targeted node. for the connection label to display close to the node you are editing. Center.

listing scripts by customer and business entity: You can then set the active version of the script. How to Schedule a Routing Script You schedule a script by associating it with a Call Type (page 37) as follows: Step 1 Select Script > Call Type Manager. select File > Script Explorer or on the toolbar. with a list of the errors. click the Explorer Icon The Script Explorer dialog box opens. rename it. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. When you select an error. If the script is not valid. the node where the error occurs is highlighted in the Edit window.0(0) 18 . If a script is valid. the Validate Script dialog box opens. a. How to Open Script Explorer Step 1 In Script Editor. view its properties.Chapter 1: Common Tasks Queue Tab Figure 8: Validate All Query Dialog Step 3 Make the appropriate selection and click OK in the window. a dialog box states it is valid. The Call Type Manager dialog box opens. or delete it. See the online help for more information. b.

Click Add.0(0) 19 . In the Script tab. select the script to schedule: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.Chapter 1: Common Tasks Queue Tab Figure 9: Call Type Manager Dialog Box .Schedules Tab Step 3 Step 4 Step 5 Select the Call Type (page 37) to associate with the script. The Add Call Type Schedule dialog box opens.Call Directory Tab Step 2 Select the Schedules Tab: Figure 10: Call Type Manager Dialog Box .

enter information to define the period for which the schedule will be in effect: Figure 12: Add Call Type Schedule Dialog Box .Script Tab Step 6 In the Period tab. in the Description tab.0(0) 20 . Click OK in the Add Call Type Schedule dialog box. enter a description of the schedule.Period Tab Step 7 Step 8 Optionally. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.Chapter 1: Common Tasks Queue Tab Figure 11: Add Call Type Dialog Box .

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. – You cannot edit the Call Type Manager dialog (Script > Call Type Manager). However.0(0) 21 . • Edit . • Monitor . any properties of the selected nodes that change the structure of a script or that reset previous reporting data cannot be edited in Quick Edit mode. Note: The schedule is not saved until you click OK in the Call Type Manager dialog box. or by double-clicking on the node. Viewing Modes You can view a script in four different modes: • Browse .Chapter 1: Common Tasks Viewing Modes Step 9 Click OK in the Call Type Manager dialog box. but not make any changes. – You cannot edit the Administrative Manager dialog (Script > Administrative Manager). – You cannot edit the Custom Functions dialog (Script > Custom Functions).Allows you to make certain modifications to a script. or from the Script menu. – 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. – You can select the viewing mode from the Scripting toolbar (page 9). with the following guidelines: • 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.Allows you to edit the script.Allows you to view the script.Allows you to monitor the script • Quick Edit . • As a Quick Edit Only User: – You can only edit scripts through Quick Edit mode.

as each of the options in the “Find Nodes By” section is selected. Use the Find Nodes option to find specific script node(s) by: • Node ID • Object • Node Type • String Use the Find Nodes option to find script nodes in: • the Current script • All active script versions • All open scripts 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. and schedule routing scripts. complex scripts. Each node is reached using the Up/Down keys. Each field or button within a section/group (Find Nodes By/In) is reached using the Up/Down keys. the Find Nodes option makes it easier to identify/access the node you want to view. The "Nodes Found" dialog box displays the results of your "Find" operation. Note: • Keyboard equivalents are indicated in parenthesis after each field or button having one • Use Tab/Shift+Tab in the “Find Nodes” dialog box to change focus and navigate to the sections. modify. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. However. When managing large. A script consists of a series of nodes.0(0) 22 . and input fields. the appearance of the “Find Nodes” dialog box changes.Chapter 1: Common Tasks Using the Find Nodes Option Using the Find Nodes Option ICM Script Editor is a tool used to create. • Use Tab/Shift+Tab in the “Nodes Found” dialog box to change focus. buttons. See the following for the “Find Node” dialog box and “Nodes Found” dialog box property descriptions.

Note: By default. the “Please enter string” field appears. or String “Find Nodes By” properties. Select the object type first. Find Nodes In section Name: Description: Default Value: Current script (Alt+C) Select to find nodes in the current script based on any N/A of the “Find Nodes By” properties. Object (Alt+O) Selects node(s) based on references to an object. or All opened scripts having a reference to the selected object. This string is case N/A insensitive. this search criteria does not search the “Comment” field in each node. Node Type. Displays a list of nodes of the selected type in the Current script. All active script versions. then the object. All active script versions (Alt+A) Select to find nodes in all active script versions based N/A on the Object. N/A the “Please select object type:” and “Please select object:” drop-down lists appear. When selected. Disabled N/A if no script is open or the Current script option is not selected. All active script versions. When selected a “Please enter node ID:” field appears. Close (Alt+F4) Click to close the “Find Nodes” dialog box. or All opened scripts. All active script versions. Displays a list of nodes in the Current script. The only “Find Nodes In” option enabled if no script is open. or All opened scripts. Help Find Nodes By section Name: Description: Default Value: Node ID (Alt+N) The default selection. Displays the node in the Current script based on the node ID. the “Please N/A select node type” drop-down list appears. Disabled if no script is open. The “Nodes Found” dialog appears displaying a list of the nodes found that matched the search criteria selected. Displays a list of nodes containing the substring of the input string in the Current script. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. When selected. Check the “Find Nodes” Search comment field option (Alt+F) to search on the “Comment” field as well.0(0) 23 . Selects a node based on its node ID. N/A N/A Click to access the “Find Nodes” online help. Node Type (Alt+T) Selects node(s) based on the node type.Chapter 1: Common Tasks Using the Find Nodes Option Common Find Nodes Dialog Box Properties Name: Description: Default Value: Find Click to find nodes based on the search criteria set in the N/A “Find Nodes” dialog box. String (Alt+S) Selects node(s) based on a string that is entered. When selected.

In the “Find Nodes By” section. one providing a list of object types (“Please select object type:”). Common Nodes Found Dialog Box Properties Name: Description: Default Value: List field Close (Alt+F4) Help Status bar A listing of the node(s) found as a result of the Find. How to find nodes by Object Step 1 Step 2 Step 3 Open the Script Editor tool.0(0) 24 . Click Find. then displays the number of nodes found matching the search criteria. The node with the ID matching your input is highlighted. Select Edit > Find Node (Ctrl+F).Chapter 1: Common Tasks Using the Find Nodes Option Name: Description: Default Value: All opened scripts (Alt+P) Select to find nodes in all active or open scripts based N/A on the Object. In the “Find Nodes By” section. Disabled if no script is open. The “Find Nodes” dialog box appears. a message appears stating: "Cannot find node with ID <xxx>. Note: If there is no node with a matching ID. Select the desired object type." (where <xxx> is the node ID). Step 4 ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. N/A N/A N/A N/A Next Node (Alt+N) Click to select the next node in the list. The “Please enter node ID:” field is displayed. select Node ID. Displays “Finding nodes in script. Node Type. Enter the ID of the node you wish to view into this field. Two drop-down list boxes appear. select Object. Select Edit > Find Node (Ctrl+F). Step 6 Select a node in the list and that node is highlighted in the script. the other providing a list of objects (“Please select object:”). How to find nodes by Node ID Step 1 Step 2 Step 3 Step 4 Step 5 Open the Script Editor tool. N/A Click to close the “Nodes Found” dialog box. Click to access the “Nodes Found” online help.” as the search proceeds. or String “Find Nodes By” properties. The Find Nodes dialog box appears.

Step 4 Step 5 Step 6 Select a node in the list and that node is highlighted in the script. The “Find Nodes” dialog box appears. A “Nodes Found” dialog box appears displaying a list of nodes of the selected type. Click Find.0(0) 25 . Step 7 Select a node in the list and that node is highlighted in the script. How to find nodes by Node Type Step 1 Step 2 Step 3 Open the Script Editor tool. Click Find. A drop-down list appears providing a list of node types (“Please select node type:”). a message appears stating: "Cannot find any node of <xxx> type. Step 4 Step 5 Enter the appropriate string into this field. A “Nodes Found” dialog box appears displaying a list of nodes containing a substring of the input string.Chapter 1: Common Tasks Using the Find Nodes Option Step 5 Step 6 Select the desired object. Select Edit > Find Node (Ctrl+F)." (where <xxx> is the node type ). Select Edit > Find Node (Ctrl+F). a message appears stating: "Cannot find any node with reference to <xxx> object: <yyy>. In the “Find Nodes By” section. Click Find. The “Please enter string:” field is displayed. Select the desired node type. Note: If no node has a reference to the selected object. Note: If no node of the selected type is found. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. A “Nodes Found” dialog box appears displaying a list of nodes referencing the selected object. Note: The Find By String “Please enter string:” field entry is case insensitive." (where <xxx> is the object type selected and <yyy> is the object selected). The “Find Nodes” dialog box appears. In the “Find Nodes By” section. select Node Type. How to find nodes by String Step 1 Step 2 Step 3 Open the Script Editor tool. select String.

a message appears stating: "Cannot find any node with reference to string <xxx>. this Find does not search the “Comment” field in each node. Check the “Find Nodes” Search comment field option (Alt+F) to search on the “Comment” field as well." (where <xxx> is the string selected).0(0) 26 . Step 6 Select a node in the list and that node is highlighted in the script. • If no node has reference to the input string.Chapter 1: Common Tasks Using the Find Nodes Option Note: • By default. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.

page 34 What is a Call Type? A Call Type is the first-level category of a contact and is determined by data associated with the contact. page 30 How ICM Software Associates Contacts with Call Types. page 32 Example . Call Types are typically created during ICM software configuration.How ICM Software Determines the Call Type for a Web Request . Note: You create Call Types through Configuration Manager before writing routing scripts.How ICM Software Determines the Call Type for an E-Mail Contact .Chapter 2 Call Types. and Scripting As one writing scripts to route contacts. page 34 Example . Contact Data.0(0) 27 . page 27 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. When a contact of a certain Call Type is received. see the Cisco ICM Software Configuration Guide. This section contains the following topics: • • • • • • • • • • What is a Call Type? . page 28 Data for Web Requests. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. page 28 Call Type Qualifiers. the associated script runs on that contact. you must understand Call Types and contact data.How ICM Software Determines the Call Type for a Voice Contact . page 30 Data for E-Mail Requests . page 32 Example . For more information. page 27 How Call Types and Scripts are Related. 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. You associate a script with a Call Type. through the ICM Configuration Manager.

"NICClient. Contact Data. The Calling Line ID and Caller Entered Digits are used to further categorize the call and determine the Call Type. where the terminology differs for other media. While other types of categorization take place within a script. and Scripting How Call Types and Scripts are Related You define a default Call Type for each routing client through ICM software's Configuration Manager. For example. then runs the associated script. and Blended Collaboration • Contact Data for E-Mail Note: You can also use the call type qualifiers for categorization within a script. In other words. Note: The Dialed Number is referred to as the Script Selector for media other than voice. see the Cisco ICM Software Configuration Guide. as well as the following sections in this topic: • Contact Data for Single Session Chat. enabling you to write scripts to route contacts differently depending on their call type.Chapter 2: Call Types. The terminology used is applicable to voice contacts. when ICM software receives a request to route a contact. Call Type Qualifiers The Call Type is determined by the following data. Typically. which are referred to as Call Type qualifiers: • Dialed Number • Calling Line ID (CLID) • Caller-Entered Digits The Call Type qualifiers described in this section apply to contacts from all media.18005551212" might be a Dialed Number. it determines the Call Type of that contact. Call Types enable you to provide contacts with different treatment by running different scripts to begin with. Dialed Number (DN) A Dialed Number (DN) is a string that represents the telephone number dialed by the caller.0(0) 28 . Multi-Session Chat. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. preceded by the name of the routing client and a period. Call Types provide the first level of categorization of contacts. You also define a general default Call Type that is not specific to a routing client. the differences are explained in this section. a Dialed Number is associated with one or more Call Types. For more information. Call Types enable categorization before a script begins to execute. How Call Types and Scripts are Related Scripts are scheduled by Call Type.

To accomplish this. you can use a CLID prefix. which includes several area codes. as described below. Using a CLID Region You may want to define a Call Type that encompasses multiple CLID prefixes. The CLID is not used by e-mail requests. Note: You can differentiate between the case where the caller is not prompted for digits ("None Required") and the case where the caller is prompted but does not respond ("None Entered"). For more information. you must first define geographical regions through ICM software's Configuration Manager. The CLID is sometimes referred to as the ANI (Automatic Number Identification). For example.properties file on the Collaboration Server.map. You can also choose "None" as the caller-entered digits. Rather. For example. the CLID corresponds to the ApplicationString1 parameter set in the in. a caller may enter a number to indicate the type of service needed.0(0) 29 . A routing script can then process the call based on the area code or local exchange of the caller. Regardless. you can specify 508486 as the CLID prefix. To do so. Typically. if you want to define a Call Type for all calls from the 508 area code. A routing script can then process the call based on the region of the caller. you specify 508 as the CLID prefix. Caller-entered Digits (CED) Caller-entered Digits (CED) are numbers entered by the caller in response to prompts. For example. Using a CLID Prefix You may want to define a Call Type based on the area code from where the call originated. and Scripting Call Type Qualifiers Calling Line ID (CLID) The Calling Line ID (CLID) is a string that represents the telephone number from where the call originated. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. A routing script can then process the call based on data entered by the caller.Chapter 2: Call Types. see the Cisco ICM Software Configuration Guide. For example. you would not use a CLID to define a Call Type. You can further refine the Call Type to calls from a certain exchange within the area code. a useful Call Type could be defined as all calls from New York. you would use a CLID prefix or CLID region. Contact Data. For Web requests. The caller may enter digits through the carrier network or the call center system. the Caller-entered Digits can be used in defining the call's Call Type.

Data for Web Requests Cisco Collaboration Server sends the following data to ICM software when requesting that a single session chat. used to pass additional information to the ICM.ICM call variables. multi-session chat. • callvar1-10 . or blended collaboration contact be routed.0(0) 30 .map. The value of the ApplicationString2 variable corresponds to the Caller-Entered Digits created through ICM Configuration Manager. Therefore.map. the CED corresponds to the ApplicationString2 parameter set in the in. separated by a period. ECC variables must be configured on the ICM before they can be used by the Collaboration Server. The string maps to the Script Selector value.Chapter 2: Call Types. • applicationstring1 . 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 . and Scripting Data for Web Requests For Web requests. For information on setting up Cisco Collaboration Server to send route requests to ICM software. The value of the ApplicationString1 variable corresponds to the Calling Line ID created through ICM Configuration Manager. • dialednumber . • eccvar1-2 . For information on creating ECC variables. see the Cisco ICM Software Configuration Guide.A string that determines which script to run on ICM software.An optional string that can be used to select an ICM routing script. • applicationstring2 . for example. Therefore.properties file on Collaboration Server.Expanded call context variables. Contact Data. you must ensure that Script Selectors ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.properties file to variables in the call form. "SupportInstance. up to 10.techSupport".A string that determines which script to run on ICM software. These variables are mapped in the in. The value of the scriptselector variable maps to the value of the Script Selector (which maps to the Dialed Number for voice contacts) in the Call Type created through ICM Configuration Manager. The value is the name of the E-Mail Manager instance and the ICM Routing skill group the message was assigned to. The CED is not used by e-mail requests.An optional string that can be used to select an ICM routing script. see the Cisco Collaboration Server Administration Guide. These are optional fields that can be used to pass any application-specific information to ICM. you must ensure that a Script Selector with the value used by the Collaboration Server is configured in ICM software.

The value of the Priority variable. which is "0" through "3" – "0" for Normal Note: The priority if set through the E-Mail Manager rules. The categories variable is an array containing up to 10 category values.Chapter 2: Call Types. and Scripting Data for E-Mail Requests with the value of the E-Mail Manager instance name and each ICM Routing skill group are configured in ICM software. see the Cisco E-Mail Manager Administration Guide.Category . ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.cem. For information on Expanded Call Variables.The unique identifier of the message that E-Mail Manager is requesting ICM software to route.MessageKey .Priority .The categories of the message. • cisco. For information on setting up Cisco E-Mail Manager to send route requests to ICM software. • cisco. While typically the Message Key would not be used to categorize a contact in a script. see the Cisco ICM Software Configuration Guide. the Message Key could be recorded in the CRM database for future reference to e-mail correspondence with a customer. – "1" for High – "2" for Very High – "3" for Urgent • cisco.cem. Category values are configured by the E-Mail Manager administrator.0(0) 31 . The value of the variable can be used to categorize the contact in a script. The value of the variable can be used to categorize the contact in a script. Contact Data. it may be useful when ICM software is integrated with a CRM application.cem.The priority of the message.

Chapter 2: Call Types, Contact Data, and Scripting How ICM Software Associates Contacts with Call Types

How ICM Software Associates Contacts with Call Types
Following is the general process of how ICM software attempts to associate a contact with a Call Type. 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. If no general default Call Type is defined, ICM software uses the default label defined for the dialed number. 5. If no default label is defined for the dialed number, ICM software returns an error to the routing client.

Example - How ICM Software Determines the Call Type for a Voice Contact
The following basic example demonstrates how ICM Software Determines the Call Type for a voice contact and runs the appropriate script: 1. When configuring ICM software, you create a Call Type called "MASSACHUSETTS_SALES". This Call Type is defined as: – – Having a Dialed Number of "NICClient1.8005551234". Being from Massachusetts. This is determined by using a Calling Line ID Region which consists of CLID Prefixes for all area codes in Massachusetts: 617, 508, 978, and 413.

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)

32

Chapter 2: Call Types, Contact Data, and Scripting Example - How ICM Software Determines the Call Type for a Voice Contact

Being a Sales call. This is determined by a Caller Entered Digits value of "1", which is the number in the voice menu to indicate that the caller needs sales help.

2. You create a script called "MASSACHUSETTS_SALES_SCRIPT" which finds the longest available agent in the "NORTHEAST_SALES" skill group. 3. You schedule the script to run for the "MASSACHUSETSS_SALES" Call Type. 4. A caller dials 1-800-555-1234, from the phone number 508-663-4958. 5. When prompted by a menu, the caller enters 1 to request sales help. 6. A route request is sent to ICM software. 7. ICM software examines the dialed number, which equals "18005551234". 8. ICM software evaluates the CLID value and determines that the CLID prefix is "508", which is an area code in Massachusetts. 9. ICM software examines the CED value, which is "1", which indicates that it is a Sales call. 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.

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)

33

Chapter 2: Call Types, Contact Data, and Scripting Example - How ICM Software Determines the Call Type for a Web Request

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. When configuring ICM software, you create a Call Type called "SSC_CT". This Call Type is defined as having a Script Selector (Dialed Number) of "SSC_DN". 2. When configuring Collaboration Server, you set the value of the scriptselector variable in the call form to "SSC_DN". 3. When configuring Collaboration Server, you set the dialednumber variable in the input map to equal the scriptselector variable in the call form. 4. You create a script called "SSC_SCRIPT" which finds the longest available agent in the "COLLABORATION_SALES" skill group. 5. You schedule the script to run for the "SSC_CT" Call Type. 6. A Web user requests a chat session. 7. A route request is sent to ICM software. 8. ICM software determines that the Call Type is "SSC_CT" and executes the "SSC_SCRIPT" script. 9. ICM software instructs the Collaboration Server to assign the task to a particular agent. For information on setting up Cisco Collaboration Server to send route requests to ICM software, see the Cisco Collaboration Server Administration Guide.

Example - How ICM Software Determines the Call Type for an E-Mail Contact
The following example demonstrates how ICM Software Determines the Call Type for an E-Mail contact: 1. When configuring ICM software, you create a Call Type called "EMAIL_CT". This Call Type is defined as having a Script Selector (Dialed Number) of "Instance1.SalesQueue". 2. When configuring E-Mail Manager, you set the system rules to assign some messages to the ICM Routing queue "SalesQueue", set their priority to "Urgent", and associated them with the category "Sales". 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"

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)

34

Chapter 2: Call Types, Contact Data, and Scripting Example - How ICM Software Determines the Call Type for an E-Mail Contact

(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. You schedule the script to run for the "EMAIL_CT" Call Type. 5. In E-Mail Manager, an urgent "Sales" message is assigned to the "SalesQueue" queue. 6. E-Mail Manager sends a route request to ICM software. 7. ICM software determines that the Call Type is "EMAIL_CT" and executes the ""EMAIL_SCRIPT" script. 8. ICM software instructs E-Mail Manager to assign the task to a particular agent.

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)

35

Chapter 2: Call Types, Contact Data, and Scripting Example - How ICM Software Determines the Call Type for an E-Mail Contact

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)

36

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. you typically use the nodes available in Script Editor to define how the script is to categorize contacts.0(0) 37 . page 45 Categorizing by Branching . therefore the Call Type of a contact determines which script is executed. How to Change the Call Type and Continue Script Processing You can change the Call Type of a contact from within a script by using the Call Type node (in the Routing tab of the Palette). By categorizing contacts. Categorization through Scheduling Scripts by Call Type Call Types provide the first level of categorization for routing scripts. a script can provide unique treatments for different customer needs. page 56 Categorization and Call Types Categorization is the process of classifying a contact based on certain data associated with the contact. page 37 Categorizing by Call Type Qualifiers. page 40 Categorizing by Time and Date . enabling you to create different scripts for different types of contacts.Chapter 3 Categorizing Contacts When you create a routing script. This section contains the following topics: • • • • • • Categorization and Call Types. You schedule scripts by call type. page 48 Categorizing By External Data . page 54 Categorizing by External Applications . a script can determine how to best process a contact. Through categorization.

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 . Warning: The Call Type node changes the call type and continues the current script execution.0(0) 38 . In the Call Type tab. select the Call type to assign to the contact. Optionally. add comments and connection labels.Call Type Node Define Call Type node properties as follows: 1. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. How to Change the Call Type and Execute a New Script You can change the Call Type of a contact from within a script and execute a new script associated with the call type by using the Requalify Call node ( in the Routing tab of the Palette). 2. The Requalify Call node terminates the current script execution and executes a new script associated with that call type.

Warning: The Call Type node changes the call type and continues the current script execution. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. 2. add comments. Optionally.Requalify Call Tab Define Requalify node properties as follows: 1.0(0) 39 . The Requalify Call node terminates the current script execution and executes a new script associated with that call type.Chapter 3: Categorizing Contacts Categorization and Call Types Figure 15: The Requalify Call Icon Following is the Properties dialog box of the Requalify Call node: Figure 16: The Requalify Call Properties . In the Requalify Call tab. select the Call type to assign to the contact.

and Scripting. thus treating calls from different area codes in New England differently. Contact Data. For example. a contact's Call Type is determined by three 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. However.Chapter 3: Categorizing Contacts Categorizing by Call Type Qualifiers Categorizing by Call Type Qualifiers As described in the topic Call Types. it can examine the specific area code in the Calling Line ID and branch differently depending on the value. you can further categorize the contact based on the values of the Call Type qualifiers. You can categorize a contact based on its Call Type Qualifiers by using one or more of the following nodes: • Dialed Number (DN) Node • Calling Line ID (CLID) Node • Caller Entered Digits (CED) Node How to Categorize a Contact by the Dialed Number You can categorize a contact based on its Dialed Number by using the Dialed Number (DN) node ( in the Routing tab of the Palette). it executes the associated script. Figure 17: The Dialed Number Icon Following is the Properties dialog box of the Dialed Number node: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. When the script associated with that Call Type executes. a Call Type may be defined as having a Calling Line ID that includes calls from all area codes in New England states.0(0) 40 . after the script executes.

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 Figure 18: Dialed Number Properties . ICM software compares the list of values against the calling line ID of the contact. How to Categorize a Contact by the Calling Line ID You can categorize a contact based on its Calling Line ID by using the CLID node ( in the Routing tab of the Palette). 2. otherwise. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. If the current contact matches one of the selections in the Target dialed numbers list. By default. or an area code plus a local exchange). area code. processing continues on the failure branch.0(0) 41 . However. Optionally. add comments and connection labels. processing continues on the node's success branch. a specific region. • A variable expression. Figure 19: The CLID Icon The CLID node tests the billing telephone number of the contact to see if it matches: • A specific (CLID) that you provide (for example. you can specify another value or expression to be used instead of the CLID.Dialed Number Tab Define Dialed Number node properties as follows: 1.

e. Click Region. If you selected Prefix. select a region from the drop-down list. b. 2. For each Case. Before defining CLID node properties. select the Type of match. d. you must insert one or more targets and connections from the CLID node. If you selected Exact Match. for example. Figure 20: CLID Properties . or Exact Match. In the Variable tab: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.Chapter 3: Categorizing Contacts Categorizing by Call Type Qualifiers Note: For Web Collaboration requests. select the Case (the number displayed on each success connection branch). and 3. 2. To delete a row. select the row and click Delete. In the Calling Line ID tab: a. for example. enter the Prefix number. Prefix. For each Case. California. Then define CLID node properties as follows: 1. enter the Calling line ID to match. To sort the list by case.Calling Line ID For each branch to a different target. 1. click Sort.0(0) 42 . the CLID maps to the applicationstring1 variable. enter the Calling line ID to match. c. If you selected Region.

Variable By default. To have ICM software use the value of an expression instead of the Calling Line ID. 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. add comments and connection labels. Optionally. 3. Figure 21: CLID Properties . ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.Chapter 3: Categorizing Contacts Categorizing by Call Type Qualifiers a. Use Calling Line ID is selected. How to Categorize the Contact by the Caller Entered Digits (CED) You can categorize a contact based on the caller-entered digits by using the CED Node (in the Routing tab of the Palette). Note: If you delete a connection associated with a Case.0(0) 43 . select Use Expression and enter the expression directly or click Formula Editor to use a formula to define the expression. b. the Case information you specified in the Properties dialog box is also deleted.

Chapter 3: Categorizing Contacts Categorizing by Call Type Qualifiers Figure 22: CED Properties Icon 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. Then in the new row add a CED value and select the branch number. Click Add Digits to add a new CED value for a branch. You can associate one or more CED values with each ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. the CED maps to the applicationstring2 variable.0(0) 44 . Then define CLID node properties as follows: 1. Following is the Properties dialog box of the CED node: Figure 23: CED Properties You must insert targets and connections from the Caller Entered Digits Node before you can define the node's properties.

to apply when the caller was prompted for digits but did not enter any. However. Note: The time and day of week are determined by the settings on the computer running the ICM Central Controller. When specifying None. None Entered. However. For example. after the script executes. the Case information you specified in the Properties dialog box is also deleted. Valid characters are the digits 0 through 9. in effect. for a contact center where no phone support is available during night hours or weekends. to include both None Entered and None Required situations. the asterisk (*). specifying that it matches only those cases where no digits are entered or where no digits are required. this refines the schedule. you can further categorize the contact based on the time and day of week. Typically. How to Categorize a Contact by the Time You use the Time node (in the General tab of the Palette) to choose from among several paths within the script based on the current time at the ICM Central Controller. you can select: – – None. 2.Chapter 3: Categorizing Contacts Categorizing by Time and Date connection. and the number sign (#). A script named "SSC_SCRIPT" executes every time a contact with the Call Type "SSC_CT" is received. – Note: If you delete a connection associated with a Case. the contact center is staffed differently over the weekend and the supervisor wants reports to better reflect weekend activity. None Required. you may choose to design a script that during those off hours routes a phone call to an announcement instead of an agent. As another example. the script branches differently and instructs Collaboration Server to assign the request to the longest available agent in the "WKEND_SUPPORT" skill group. a Call Type named "SSC_CT" may be defined to include all Single Session Chat Web requests. the associated script runs for that contact. Following is the Properties dialog box of the Time node ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. to apply when the caller was not prompted for digits. for Single Session Chat Web requests received on Saturday or Sunday. Click Add None to add the value of None to a connection. When a contact of a certain Call Type is received. Therefore. Categorizing by Time and Date You schedule a script by associating it with a Call Type.0(0) 45 . this script instructs Collaboration Server to assign the request to the longest available agent in the "SSC" skill group.

Chapter 3: Categorizing Contacts Categorizing by Time and Date Figure 24: Time Icon Following is the Properties dialog box of the Time node: Figure 25: Time Properties You must insert targets and connections from the Time node before you can define the node's properties.0(0) 46 . Then define Time node properties as follows: 1. the Modify Time dialog box looks and functions similarly): ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Click Add Time to add a new time range to the branch. define a Time Range. For each branch listed in the Connections list. You can define multiple time ranges for a single branch. A dialog box opens in which you can define the time range (the Add Time dialog box is shown below. or select a time range listed and click Modify Time to modify it.

Note: If you delete a connection.Chapter 3: Categorizing Contacts Categorizing by Time and Date Figure 26: Add Time Dialog 2. You can specify only one Otherwise branch for the node. Optionally. Monday. Figure 27: Day of Week Icon Following is the Properties dialog box of the Day of Week node: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. To delete a time associated with the branch. 3. select the time and click Delete Time. etc. Execution follows this branch if none of the specified time ranges apply. How to Categorize a Contact by the Day of Week You use the Day of Week node (in the General tab of the Palette) to transfer control to one of several branches depending on the current day of week (Sunday. To no longer define the branch as otherwise.). select the branch and click Delete Otherwise. You can define a branch as Otherwise by selecting the branch and clicking Make Otherwise.0(0) 47 . 4. add comments and connection labels. the time range information you specified in the Properties dialog box is also deleted.

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. To check the day for that connection, left-click in a spot in the grid corresponding to that connection and day. A check mark appears in the grid. You can associate each day of week with exactly one connection. However, you can associate each connection with one or more days of the week. 2. Optionally, add comments and connection labels. Note: If you delete a connection, the day of the week information you specified in the Properties dialog box is also deleted.

Categorizing by Branching
Within a script, you can create multiple branches to direct script processing based on certain conditions. Branching allows you to use a single script that will process contacts differently depending on data associated with the contact, or on conditions at the contact center. For example, you can design a script named "EMAIL_SCRIPT" that processes all requests to route e-mail messages. Within that script, you can detect if the e-mail message was marked as "Urgent" by Cisco E-Mail Manager. If the message was marked as "Urgent", the script can pass

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)

48

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. When ICM software encounters a Go To Script node, it stops executing the current script and starts the script indicated in the node.
Figure 29: Go To Script Icon

For example, you might have several scripts that check for exception conditions and, if none are found, execute a standard subroutine. Instead of including that subroutine as a branch from the failure output terminal of each of the exception conditions, you could use a Go To Script node pointing to a separate script containing the subroutine. Following is the Properties dialog box of the Go To Script node:
Figure 30: Go To Script Properties

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)

49

Chapter 3: Categorizing Contacts Categorizing by Branching

Define Go to Script node properties as follows: 1. Select the Business entity that owns the script that the node should execute. 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. Optionally, add comments and connection labels.

How to Direct Script Execution to a Specific Branch
You use the Switch node (in the General tab of the Palette) to direct script execution to its active output connection. You can define multiple output connections from the Switch node; one of them must be specified as the active connection.
Figure 31: Switch Icon

Following is the Properties dialog box of the Switch node:

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)

50

Chapter 3: Categorizing Contacts Categorizing by Branching

Figure 32: Switch Properties

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. To change the active branch, you must re-edit the script and create a new script version. 3. Optionally, add comments and connection labels.

How to Direct Script Execution to Different Branches by Percentage
You can direct specific percentages of contacts to different branches in a script by using the Percent Allocation node (in the General tab of the Palette).
Figure 33: Percent Allocation Icon

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)

51

Chapter 3: Categorizing Contacts Categorizing by Branching

Each branch may lead directly to a target, or may include additional processing. Because contacts are distributed by percentage and without tests of the targets' data, distributing by percentage never fails. For example, in a geographically diverse environment, you can create a script that sends 10% of contacts to Boston, 5% to Chicago, and distributes the remaining 85% to another set of targets. Warning: Unlike selecting targets by rules or distributing contacts to targets, distributing contacts does not consider real-time contact center conditions and therefore may lead to load imbalances. Following is the Properties dialog box of the Percent Allocation node:
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. Optionally, add comments and connection labels.

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)

52

Chapter 3: Categorizing Contacts Categorizing by Branching

How to Categorize a Contact based on a Condition
You use the If node (in the General tab in the Palette) to direct script execution to one of two branches based on the result of an evaluation. You can use formulas to define the If node.
Figure 35: If Icon

When ICM software executes an If node, it first evaluates the condition specified in the node Properties dialog box Define condition field. If ICM software determines that the condition is true, control flows through the success output terminal; if it determines the condition is false, control flows through the failure output terminal. 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.

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)

53

Chapter 3: Categorizing Contacts Categorizing By External Data

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. This node is described in the Universal Queue section of this document.

Categorizing By External Data
Scripts can categorize a contact based on data stored in a database that is not part of ICM software, such as a Customer Relationship Management (CRM) system. For example, a script that processes incoming phone calls can query a CRM using the CLID to determine if the customer should receive Premium or Standard phone support. The records for the customer with the phone number matching the CLID are retrieved, and the value of the Support column is returned to the script. If the value indicates that the customer has paid for Premium support, script processing continues down one branch that assigns the phone call to a 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. You can categorize a contact by retrieving external data with the DB Lookup Node, then referencing the retrieved external data on the DB Lookup node success branch.

How to Modify the CallRouter Registry to Provide for DB Lookup Authentication on the Remote Database Target
By default, when attempting to access a remote database, the ICM CallRouter authenticates itself as: • Username = SA • Password = blank If different account information is required to access the database, you must specify this by editing the Windows registry on the CallRouter to include a SQLLogin Registry Key at the following location:HKEY_LOCAL_MACHINE\SOFTWARE\Cisco.System,INC.\ICM\<instancename>\ RouterA\Router\CurrentVersion\Configuration\Database. Create the SQLLogin key as follows: SQLLogin=\\<DBMachine>\<DBName>= (<DB_username>,<DB_password>). Use a comma as the delimiter to separate data for separate databases.

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)

54

Chapter 3: Categorizing Contacts Categorizing By External Data

The following example shows login credentials for two external databases: SQLLogin=
\\MachineA\DatabaseA=(username,password),\\MachineB\DatabaseB= (username,password).

How to Categorize a Contact by External Data
You use the DB Lookup node (in the General tab of the Palette) to query a specific row of data from an external database. You can then reference columns from that row.
Figure 37: DB Lookup Icon

Following is the Properties dialog box of the DB Lookup node:
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. Only the following data types are supported for SQL databases: SQLINT1 (tinyint), SQLINT2 (smallint), SQLINT4 (int), SQLCHAR (char), SQLVARCHAR (varchar),
ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)

55

Chapter 3: Categorizing Contacts Categorizing by External Applications

SQLFLT4DBFLT4 (real), SQLFLT8DBFLT8 (float), and SQLDATETIME (datetime). All fields except SQLDATETIME, SQLVARCHAR, and SQLCHAR must be defined as NOT NULL fields. These three fields can be defined as NULL. 2. In the Lookup value field, define constant or expression to match the key value in the row you want to retrieve. The value must be of the appropriate data type to match the key field in the table. You can use formulas to define the expression. For example, if phone_number is a key field in the database table, you might use Call.CallingLineID as the Lookup Value. 3. Optionally, add comments and connection labels.

How to Reference Retrieved External Data
To access retrieved data, you use the following syntax in nodes that reference a column:
Database.table-name.column-name

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 135).

Categorizing by External Applications
You can categorize a contact based on data returned from an application external to ICM software by using the Application Gateway node (in the General tab of the Palette).
Figure 39: Gateway Icon

For example, a script that processes incoming phone calls can send the caller's account number to an external application, which returns to the script the caller's account balance. The script can then branch on the value of the account balance, providing premium service to callers with higher account balances.

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)

56

or use the Formula Editor to write an expression that evaluates to a string. Figure 40: App Gateway Properties . In the Subtype filed. enter the string that is to be sent to the external application. see the Cisco ICM Software Configuration Guide.0(0) 57 . Define the Application Gateway properties as follows: 1. In the Call variables list. b. c. 2. d. In the Receive tab: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. In the Send tab: a. select the gateway. check Expanded call context variables.Chapter 3: Categorizing Contacts Categorizing by External Applications Note: You must use the ICM Configuration Manager to define the external application. To send expanded call variables to the external application.Send In the Application Gateway drop-down list. check the call variables to send to the external application. For more information.

check variables that the external application may modify. – – In the Call variables list.0(0) 58 . ICM software is not able to retrieve any data from the external application.Chapter 3: Categorizing Contacts Categorizing by External Applications – Figure 41: App Gateway Properties . Note: If you select this option. 3. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. add comments and connection labels. Check Expanded call variables if the external application will modify and return values for the expanded call variables. Optionally.Receive Check No Reply if the external application is not to return data to the script.

page 61 Skill Groups: How to Define a Set of Skill Groups That Can Receive the Contact.Chapter 4 Selecting Routing Targets After defining how a script is to categorize contacts. page 73 How to Return Multiple Labels to a Routing Client. page 60 What is a Route?. page 74 Selecting Targets by Rules . page 85 Sending a Contact to a Different ICM System. page 69 How to Route a Call to a Scheduled Target . you determine the destination for contacts. page 82 Transferring Calls from Agents to Agents. By selecting routing targets. page 91 Checking Targets . page 67 Network Targets. page 60 Skill Target.0(0) 59 . page 64 Enterprise Skill Groups: How to Define a Set of Enterprise Skill Groups That Can Receive the Contact. page 60 What is a Target Set? . page 70 How to Route a Call to an Unanswered Ring. page 89 Using Target Requery . page 62 Services: How to Define a Set of Services That Can Receive the Contact. page 81 Selecting Targets and Distributing Contacts Using One Node. page 60 Agents: How to Define a Set of Agents Who Can Receive the Contact. you typically use the nodes available in Script Editor to specify how the contact is to be routed to a target. page 72 How to Route a Call to a Busy Signal . page 76 Distributing Contacts to Targets . page 87 Stopping Script Processing. page 93 ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. This section contains the following topics: • • • • • • • • • • • • • • • • • • • • • • • • • What is a Routing Target?. page 60 What is a Translation Route?. page 65 Enterprise Services: How to Define a Set of Enterprise Services That Can Receive the Contact . page 72 How to Return a Label to a Routing Client. page 68 How to Route a Call to an Announcement.

or translation route to a label. Note: You create routes through Configuration Manager before writing routing scripts. During script processing. For more information. There are two types of skill targets: Peripheral-level skill targets and Enterprise-level skill targets. When ICM software routes a call to a translation route. When a contact arrives with the trunk group and DNIS that correspond to a translation route. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.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. agent. such as a service. For more information. skill group. Note: You create translation routes through Configuration Manager before writing routing scripts. There are two types of routing targets: Skill targets and Network targets.0(0) 60 . This message contains the ultimate target and further instructions for the PG. For example. skill group. What is a Route? A value returned by a routing script that maps to a target at a peripheral. or agent. it sends a message to the PG. see the Cisco ICM Software Configuration Guide What is a Translation Route? A translation route is a target at a peripheral that does not map to a specific service. a Select Node or Distribute Node. the actual target is chosen from the set by the preceding node on the script branch. see the Cisco ICM Software Configuration Guide What is a Target Set? A target set is a list of possible targets. The routing target receives the contact and processes it accordingly. Skill Target A skill target is an entity at a peripheral or in the enterprise to which ICM software can route a contact. the PG might be instructed to coordinate with a host computer so that the callers account number is displayed on the teleset of the agent who picks up the call. the Peripheral Gateway (PG) is responsible for determining the ultimate target.

Agent Node Agent Node You define a set of agents who can receive the contact by using the Agent node in the Targets tab of the Palette.Chapter 4: Selecting Routing Targets Agents: How to Define a Set of Agents Who Can Receive the Contact Peripheral-level skill targets include: • Agents • 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. See Queuing to Agents (page 130) 2. Figure 42: The Agent Icon The script can determine the target agent from the set by one of the following methods: • Selecting the target by rules (Select node) • Distributing contacts to targets in the set (Distribute node) • A combination of selecting the target and distributing contacts (Route Select node) Following is the Properties dialog box of the Agent node: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. See Transferring a Call from Agents to Agents (page 85) 3.0(0) 61 . Queue to Agent Node. Note: Do not use this node in IPCC environments. It is intended for use with ACDs. Agent to Agent Node.

In the Route column. the route for the selected agent is still used. For each agent in the target set: – In the Agent column. Correct any errors that are flagged.Routing Target Tab Define Agent node properties as follows: 1. Control passes through this terminal when the associated target is chosen. 3. select the agent to which the contact can be routed. Optionally. select the route that maps to a specific target at the peripheral. add connection labels.Chapter 4: Selecting Routing Targets Skill Groups: How to Define a Set of Skill Groups That Can Receive the Contact Figure 43: Agent Properties . Optionally.0(0) 62 . 4. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Click Validate to check whether the targets you defined are valid. check Allow connection for each target to have an output terminal appear to the right of each individual target defined in the node. Skill Groups: How to Define a Set of Skill Groups That Can Receive the Contact You define a set of skill groups that can receive the contact by using the Skill Group node in the Targets tab of the Palette. – – 2. or select multiple agents by clicking Add Targets and using the dialog box that opens to select multiple agents. You can use the drop-down list for each table cell. select a translation route. Optionally. When the script terminates. in the Translation Route column. for each row used.

or select multiple skill groups by clicking Add Targets and using the dialog box that opens to select multiple skill groups.Routing Target Tab Define Skill Group node properties as follows: 1. select a translation route. The script can determine the target skill group from the set by one of the following methods: • Selecting the target by rules (Select node) • Distributing contacts to targets in the set (Distribute node) • A combination of selecting the target and distributing contacts (Route Select node) Following is the Properties dialog box of the Skill Group node: Figure 45: Skill Group Properties . For each skill group in the target set: – In the Skill Group column. Control passes through this terminal ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. check Allow connection for each target to have an output terminal appear to the right of each individual target defined in the node. You can use the drop-down list for each table cell. In the Route column. Optionally. select the route that maps to a specific target at the peripheral.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. for each row used. Optionally. select the skill group to which the contact can be routed. – – 2. in the Translation Route column.0(0) 63 .

Services: How to Define a Set of Services That Can Receive the Contact You define a set of services that can receive the contact by using the Service node in the Targets tab of the Palette. Correct any errors that are flagged. Figure 46: The Service Icon The script can determine the target service from the set by one of the following methods: • Selecting the target by rules (Select node) • Distributing contacts to targets in the set (Distribute node) • A combination of selecting the target and distributing contacts (Route Select node) Following is the Properties dialog box of the Service node: Figure 47: Service Properties . 4. When the script terminates. add connection labels.Chapter 4: Selecting Routing Targets Services: How to Define a Set of Services That Can Receive the Contact when the associated target is chosen. 3.Routing Target Tab ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. the route for the selected skill group is still used.0(0) 64 . Click Validate to check whether the targets you defined are valid. Optionally.

For each service in the target set: – In the Service column. You can use the drop-down list for each table cell. 4. In the Route column.0(0) 65 . in the Translation Route column. Optionally. select the route that maps to a specific target at the peripheral. select the service to which the contact can be routed. – – 2. Optionally.Chapter 4: Selecting Routing Targets Enterprise Skill Groups: How to Define a Set of Enterprise Skill Groups That Can Receive the Contact Define Service node properties as follows: 1. or select multiple services by clicking Add Targets and using the dialog box that opens to select multiple services. When the script terminates. add connection labels. for each row used. Control passes through this terminal when the associated target is chosen. check Allow connection for each target to have an output terminal appear to the right of each individual target defined in the node. Optionally. the route for the selected service is still used. Correct any errors that are flagged. 3. Click Validate to check whether the targets you defined are valid. Enterprise Skill Groups: How to Define a Set of Enterprise Skill Groups That Can Receive the Contact You define a set of enterprise skill groups that can receive the contact by using the Enterprise Skill Group node in the Targets tab of the Palette. Figure 48: The Enterprise Skill Group Icon The script can determine the target enterprise skill group from the set by one of the following methods: • Selecting the target by rules (Select node) • Distributing contacts to targets in the set (Distribute node) • A combination of selecting the target and distributing contacts (Route Select node) Following is the Properties dialog box of the Enterprise Skill Group node: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. select a translation route.

Correct any errors that are flagged. Optionally.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 . 2. 5. select the enterprise skill group to which the contact can be routed. the route for the selected enterprise skill group is still used.0(0) 66 . From the Enterprise target drop-down list. When the script terminates.Routing Tab Define Enterprise Skill Group node properties as follows: 1. In the Route column. Control passes through this terminal when the associated target is chosen. For each enterprise skill group in the target set: – In the Skill Group column. 6. Click Validate to check whether the targets you defined are valid. 3. select a translation route. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. select the route that maps to a specific target at the peripheral. for each row used. add connection labels. select the business entity for the enterprise skill groups. Optionally. check Allow connection for each target to have an output terminal appear to the right of each individual target defined in the node. select the enterprise target for the enterprise skill groups. From the Business Entity drop-down list. in the Translation Route column. – – 4. Optionally.

Figure 50: The Enterprise Service Icon The script can determine the target enterprise service from the set by one of the following methods: • Selecting the target by rules (Select node) • Distributing contacts to targets in the set (Distribute node) • A combination of selecting the target and distributing contacts (Route Select node) Following is the Properties dialog box of the Enterprise Service node: Figure 51: Enterprise Service Properties .0(0) 67 .Routing Target Tab ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.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.

select the business entity for the enterprise services. Optionally. select the enterprise target for the enterprise services. When the script terminates. for each row used.0(0) 68 . Click Validate to check whether the targets you defined are valid. From the Enterprise target drop-down list. From the Business Entity drop-down list. the route for the selected enterprise service is still used. 5. In the Route column. Correct any errors that are flagged. in the Translation Route column. add connection labels. Following are the supported network targets: • Announcement • Scheduled Select • Ring • Busy • Label • Divert Label ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Optionally. check Allow connection for each target to have an output terminal appear to the right of each individual target defined in the node. 2. – – 4. 3.Chapter 4: Selecting Routing Targets Network Targets Define Enterprise Service node properties as follows: 1. select a translation route. Control passes through this terminal when the associated target is chosen. 6. select the enterprise service to which the contact can be routed. Network Targets A network target is an end point on the network to which a script can send a contact. For each enterprise service in the target set: – In the Service column. select the route that maps to a specific target at the peripheral. Optionally.

see the Cisco ICM Software Configuration Guide. Following is the Properties dialog box of the Announcement node: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. • Direct the caller to another phone number or to another way of contacting the company. Figure 52: Announcement Icon When executing the Announcement Node.0(0) 69 . For more information. ICM software returns the label associated with the announcement to the routing client. Note: You must configure Announcements and associated them with labels using the ICM Configuration Manager. The Announcement Node terminates the script. You might use the Announcement Node to: • Explain why the call cannot currently be handled.Chapter 4: Selecting Routing Targets How to Route a Call to an Announcement How to Route a Call to an Announcement You can route a call to an announcement on the network by using the Announcement 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.Announcement Tab Define Announcement node properties as follows: 1. 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. If a target is found. The routing client informs ICM software when a call at the target ends. it searches the list of selected targets for one that is capable of handling the contact.0(0) 70 . add comments.Chapter 4: Selecting Routing Targets How to Route a Call to a Scheduled Target Figure 53: Announcement Properties . based on its current schedule. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. When ICM software executes the Scheduled Select Node. Select an announcement from the Announcements list. so ICM software always knows how many calls are currently in progress at the target and whether it can handle an additional call. Optionally. 2.

0(0) 71 . Not all routing clients support the Scheduled Select node. 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. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Note: You must configure Scheduled targets and associated them with labels using the ICM Configuration Manager. see the Cisco ICM Software Configuration Guide. The routing client then translates the label to a peripheral target.Chapter 4: Selecting Routing Targets How to Route a Call to a Scheduled Target the routing script ends and returns a label associated with the target to the routing client. Following is the Properties dialog box of the Announcement node: Figure 55: Schedule Select Properties Define Scheduled Select node properties as follows: 1. For more information.

2.Chapter 4: Selecting Routing Targets How to Route a Call to an Unanswered Ring – Start with next target to have ICM software start the search from the first target after the last chosen target. see the Cisco ICM Software Configuration Guide. The number in the Max Calls column is now editable. and click Add> to move them to the Add targets list. To edit Max Calls for a time period. 5. click OK. select the time period and click Edit Max Calls.0(0) 72 . Note:You must define a Ring label using the ICM Configuration Manager. The Modify Periodic Schedule dialog box opens. Modify the time period and click OK. In the Add Schedule Targets dialog box. The Add Periodic Schedule dialog box opens. Define the time period and click OK. 4. select the target and click Add Period. How to Route a Call to an Unanswered Ring You can route a call to an unanswered ring by using the Ring node in the Targets tab of the Palette. When finished. The targets are added to the list. the routing client then plays an unanswered ring for the caller. Optionally. Figure 56: Ring Icon When ICM software executes a Ring node. Click Add Target to add a new scheduled target. it returns the first Ring label associated with the routing client. To modify a time period for the scheduled target. Note: Not all routing clients support the Ring Node. To add a time period for the scheduled target. For more information. you simply add comments to the node. To define the Ring node properties. How to Route a Call to a Busy Signal You can route a call to a busy signal buy using the Busy node in the Targets tab of the Palette. Figure 57: Busy Icon ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. 3. Modify the value as needed 6. select the time period and click Modify Period. select targets to add from the Available targets list. add connection labels.

You use formulas to create a Dynamic Label. This differs from the Divert Label Node. see the Cisco ICM Software Configuration Guide.0(0) 73 . Dynamic Labels are expressions the CallRouter processes in real time. the routing client then plays a busy signal for the caller. If ICM software finds no valid label. In either case. Note: You must define a Busy label using the ICM Configuration Manager. To define the Busy node properties. you can select Configured Labels and Dynamic Labels. the Label node terminates execution of the script When you define a Label Node. Figure 58: Label Icon When ICM software executes a Label node. which returns all the values in the Selected Labels list to the routing client. defined through the Configuration Manager. Note: The Label node supports Target Requery. How to Return a Label to a Routing Client You can return a label to a routing client by using the Label node in the Targets tab of the Palette. Note: Not all routing clients support the Busy Node. Following is the Properties dialog box of the Label node: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. For more information. converting an expression into a character string that is then returned to the routing client as a label.Chapter 4: Selecting Routing Targets How to Return a Label to a Routing Client When ICM software executes a Busy node. you simply add comments to the node. Configured labels are static. it returns the first Busy label associated with the routing client. it returns the default label for the dialed number. it returns the first valid label for the routing client.

Label Tab Define Label node properties as follows: 1. Dynamic. Optionally. Optionally. check Enable target requery.Chapter 4: Selecting Routing Targets How to Return Multiple Labels to a Routing Client Figure 59: Label Properties . Figure 60: Divert Label Icon When ICM software executes a Divert Label node.0(0) 74 . 4. 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. select labels from the Available labels list and click Add> to add them to the Selected labels list. optionally using the Formula Editor. enter a Label Expression. to define an expression that is to be returned as a label. 3. it returns all the values in the Selected Labels list to the routing client. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. 2. add comments. to select from a list of configured labels. Select the Label Type: – – Configured. If you select Configured. 5. If you select Dynamic.

where you can specify up to nine labels. The IPCC client type does not support DivertOnBusy. The following client types do support DivertOnBusy: BT INAP NIC. 3. If you select Configured.0(0) 75 . GKTMP NIC. you can select Configured Labels and Dynamic Labels. use the Label node instead. Optionally. TELFORT INAP. optionally using the Formula Editor. AUCS INAP NIC. BTV2 INAP NIC. Also. • When using a Divert Label node. which returns the first valid label for the current routing client. enter a Label Expression. you can only select labels for routing clients with client types that support DivertOnBusy. You use formulas to create a Dynamic Label. and NTL NIC. Dynamic Labels are expressions the CallRouter processes in real time. use the Label node. CAIN.Chapter 4: Selecting Routing Targets How to Return Multiple Labels to a Routing Client This differs from the Label node. SS7IN NIC. select labels from the Available labels list and click Add> to add them to the Selected labels list. ICM software then tries each label until it finds one that does not produce a Busy or Ring Tone No Response. never use a Divert Label node when only one label exists in the list. CRSP. CWC NIC. any label appearing after Ring or Busy will never be used. 2. instead. Configured labels are static. arrange the labels so that a label defined with a type Busy or Ring the last label in the Divert Label Selected labels list. you can specify up to ten labels in the Divert Label node. defined through the Configuration Manager. to select from a list of configured labels. Define Divert Label node properties as follows: 1. In most cases. ENERGIS INAP NIC. one label must be reserved for use by the NAM. Select the Label Type: – – Configured. • Never use a Divert Label node when only one label exists in the list. The reason for this is that a Busy or Ring label terminates the call. 4. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. to define an expression that is to be returned as a label. When you define a Divert Label node. Dynamic. converting an expression into a character string that is then returned to the routing client as a label. Notes: • With the Divert Label Node. The exception is in NAM/CICM configurations. add comments. DEUTSCHE TELEKOM. If you select Dynamic.

you can create a script that selects as a target the skill group with longest available agent (LAA) from a set of skill groups. When defining scripts to select targets by rules. contacts are distributed more evenly among the potential targets. this option has the script search for the target that meets the criteria you define starting with the first item in the list. you can define a script to select the longest available agent from one of three separate technical support skill groups.Also referred to as a homing search. Standard Selection Rules When you use the Select node. When you select this option. Agents from the BackUp skill group are only selected as targets when the script fails to find an available agent in the TechnicalSupport skill group. this option has the script search for the target that meets the criteria you define starting with the item in the list after the target previously selected. you can define a script to select the longest available agent from either the TechnicalSupport skill group (the first skill group in the list) or the BackUp skill group (the second. Start with next target . and last. When you select this option. targets towards the top of the list will typically receive a higher percentage of the contacts. the contact is routed to that agent.Chapter 4: Selecting Routing Targets Selecting Targets by Rules Selecting Targets by Rules You can create a script to select a specific target from set of targets based on the rule you select or define. after a script selects an agent from the first skill group. For example. For example. you can choose from one of the following standard selection rules: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. you must be aware of the following: • Types of Target Searching • Standard Selection Rules • Custom Selection Rules Types of Target Searching When you use a Select node. for the next contact. item in the list). When you select this option. whenever the script can find an available agent in the TechnicalSupport skill group. or the next target after the previously chosen target: Start with first target . the script starts looking for an agent in the second skill group. you specify if the script is to search for the target that matches the criteria you define starting with the first target in the list. When you select this option.Also referred to as a rotary search.0(0) 76 . For example.

on average.LongestAvailable) available for the longest time. you can use the Minimum Expected Delay selection rule instead. Therefore.sec.AvgDelayQTo5) Average Enterprise Queue Delay Services (Min AvgQD) ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. etc. To avoid this potential problem. Skill Groups (*.CallsQNow/*. only agents logged in to the base group are considered.AvgSpeedAnswerTo5) Average Speed Enterprise Answer (Min Services ASA) Selects the target in the set that is. Since agents do not normally log in to the base group. Selects the target in the set with the lowest ratio of calls waiting and staffed stations. Next Available Skill Groups Consider if: *. Because this selection rule evaluates the historical average. answering contacts most quickly. This selection Agent (LAA) Skill Groups rule helps to ensure that all agents in the skill group set are kept equally busy. it does not select a target based on the current or expected future state of the contact center. if agents are not equally efficient. Minimum Services and Evaluate: MIN Calls in Queue Enterprise (*. To avoid this potential problem. assuming that agents at each target are equally efficient. it does not select a target based on the current or expected future state of the contact center.LongestAvailable/*. Therefore.AgentsReady) Per Position Services (Min C/Q) Minimum Services and Evaluate: MIN (*. If agents are equally efficient at each target in the set. Longest Skill Groups Consider if: *. .AgentsAvail > 0 Evaluate: Selects the target with the highest percentage Agent (NAA) and Enterprise MAX of available agents. this rule tends to lead to the shortest average hold times.Chapter 4: Selecting Routing Targets Selecting Targets by Rules Table 2: Select Node Standard Selection Rules Selection Rule Applicable Targets Formula Description Always Select Any target Selects the first target that passes the specified acceptance rule. However.0(0) 77 . you can use the Minimum Expected Delay selection rule instead. specify the base groups you want to consider.AgentsSignedOn) Minimum Services and Evaluate: MIN (*. some customers might wait longer than necessary at the less efficient target.pri. To avoid this potential problem. unexpected load imbalances may occur when you use this rule. It does not ensure that a particular agent is assigned the contact.AgentsAvail > 0 Evaluate: Selects the target with the agent who has been Available and Enterprise MAX (*. you can use the Minimum Expected Delay selection rule instead. unexpected load imbalances may occur when you use this rule.). Selects the target in the set with shortest average hold times. Because this selection rule evaluates the historical average. If the target set includes a skill group that has subgroups (.

the Selection criteria for the predefined Longest Available Agent selection rule is MAX (*. If you do not define selection criteria. The evaluation rule determines if the target with the minimum or maximum value returned is selected. and Minimum Longest Delayed Call change slowly. The MED algorithm is not supported on IPCC. Therefore. To avoid this potential problem. To write custom selection rules. Note: This selection rule evaluates the historical average. This expression ensures that only skill groups with at least one available agents are considered as targets. A numeric expression plus an evaluation rule. Custom Selection Rules Instead of using one of the standard selection rules. this selection rule may route a disproportionately large number of calls to a single target. Selects the target with the shortest expected delay. the first target to return True for the Consider if statement is selected. For example. using these rules inappropriately can lead to load imbalances as newly routed contacts have little immediate effect on the values used to route later contacts. the number of contacts in queue.0(0) 78 . • Selection criteria. if a skill group has no available agents. you must be familiar with using formulas (page 135). and the number of positions staffed. This expression determines ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. not the current or expected future state of the contact center. you can create a custom selection rule. A custom selection rule has three parts: • Consider if statement 0. Minimum Average Queue Delay.LongestAvailable). you can use the Minimum Expected Delay selection rule instead. this selection rule considers the average handle time.ExpectedDelay) Expected Enterprise Delay (MED) Services Caution: Values used by the standard selection rules Minimum Average Speed Answer.Chapter 4: Selecting Routing Targets Selecting Targets by Rules Selection Rule Applicable Targets Formula Description Minimum Longest Delayed Call (Min Delay) Services and Evaluate: MIN (*.LongestCallQ) Enterprise Services Selects the target with the shortest longest delayed call. Routing contacts to the target with the shortest longest delayed call does not immediately change the longest delay value. Minimum Services and Evaluate: MIN (*. In making this evaluation. This rule is usually the most effective rule for keeping queue times to a minimum. the expression returns False and the skill group is not considered. the standard selection rule Minimum Expected Delay takes into account each contact as it is routed. Selecting the service using the Minimum Expected Delay rule usually provides the best balance among the services in the target set. In contrast. The numeric expression determines a certain value of each target for which the Consider if statement returned True. Because the averages in these rules only consider what has happened in the past rather than what is currently happening.

if it returns False. before defining the Select node. the target is selected. How to Select Targets by Rules You can select targets by rules buy using the Select node in the Routing tab of the Palette. Figure 61: Select Node Icon The Select node sets up a rule by which the node chooses from a set of routing targets for the contact. • Accept if statement. • You must add a skill target and create a connection from the Select node's success terminal.0(0) 79 . no target is selected by the Select node. A Boolean expression that returns True or False for the target selected by the selection criteria. and define at least one target in the target set. • The Select Node supports Target Requery. You can also use the Route Select node to select targets as well as distribute contacts to targets. Following is the Properties dialog box of the Select node: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. This node also has target requery capabilities. If the Accept if statement returns True. You can select a standard rule or define your own custom rule. Notes: • You can follow the instructions in this section to select targets by rules using the Select node.Chapter 4: Selecting Routing Targets Selecting Targets by Rules the highest LongestAvailable value of all the skill groups in the target set for which the Consider if statement returned True.

enter a Boolean expression.Select Tab Define Select node properties as follows: 1. use the Formula Editor. Optionally. – 2. Optionally. Select Pick the target with the minimum value of or Pick the target with the maximum value of and enter an expression to select the target. See Types of Target Searching. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. 3. add comments and connection labels. Optionally. 5. 4. A target is considered for selection only if the Consider If expression is true for that target. or select Custom and: – In the Consider if field. enter a Boolean expression that must evaluate to true for the target to be selected.Chapter 4: Selecting Routing Targets Selecting Targets by Rules Figure 62: Select Properties . Select Start with first target or Start with next target to indicate how ICM software looks for targets. Select from the list of Standard rules. check Enable target requery. Optionally. in the Accept if field.0(0) 80 .

For example. and define at least one target in the target set. Service. If you do not define an expression for the Consider if statement. Only targets in the set for which the expression is True are eligible to be distributed contacts. Services with more agents in the ready state will be routed more contacts than services with fewer agents in the Ready state.0(0) 81 . • Consider if statement. Figure 63: Distribute Icon For example. you must define the following for the Distribute node using formulas (page 135). You can also use the Route Select node to select targets as well as distribute contacts to targets. Enterprise Skill Group. or Enterprise Service. all targets in the target set are considered. You can distribute contacts to any of the following types of target sets: Agent. you can distribute contacts among a set of services based on the number of agents in the service in the Ready state. • You must add a skill target and create a connection from the Distribute node's success terminal.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. • Distribute by statement. A formula used to distribute contacts to targets Notes • You can follow the instructions in this section to distribute contacts to targets using the Distribute node. before defining the Distribute Enter node. thus keeping the load balanced. Following is the Properties dialog box of the Distribute node: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. When creating a script to distribute contacts to targets. Skill Group. A Boolean expression that returns True or False for each target in the target set.

Selecting Targets and Distributing Contacts Using One Node You can combine the functionality of selecting targets by rules with the Select node and distributing contacts to targets with the Distribute node by using the Route Select node in the Targets tab of the Palette. add comments and connection labels. Following is the Properties dialog box for the Route Select node: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.Chapter 4: Selecting Routing Targets Selecting Targets and Distributing Contacts Using One Node Figure 64: Distribute Properties . Figure 65: Route Select Icon Note: The Route Select Node supports Target Requery. Optionally. Enter a condition in the Consider if field to test potential targets against. Enter a formula by which to distribute contacts in the Distribute by field.Distribute Tab Define Distribute node properties as follows: 1. 3.0(0) 82 . 2.

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. click Change. To select the Route select type. The Route Select Type dialog box opens: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0) 83 .

Chapter 4: Selecting Routing Targets Selecting Targets and Distributing Contacts Using One Node – Figure 67: Route Select Type For Target Type. – In the Target references field. – If you selected Enterprise Service or Enterprise Skill Group. If you selected Select most eligible targets: Select Pick the target with the minimum value or Pick the target with the maximum value. select a Business Entity and Enterprise target. select Explicit target references to use direct references to targets. Service Array. enter a condition that the target must meet to be selected. Select Start with first target or Start with next target. or Skill Group. select Agent. In the Accept target if field. Select to Distribute among targets or Select most eligible targets. or Lookup target references by expression to use expressions that evaluate to names of targets.0(0) 84 . – – ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. See Types of Target Searching. Enterprise Skill Group. Service. Enterprise Service.

Click Validate to check whether the targets you defined are valid. 3. Enter and select data appropriate for the type you selected. The expression must translate to agent peripheral number or SkillTargetID. 2. add connection labels. The fields in the Route Select Properties dialog box change depending on your route select type selections. Figure 68: Agent to Agent Icon The Agent to Agent node routes the call to the specified agent. the failure node of the Agent to Agent node is executed. If there are no labels configured for the specified agent. Transferring Calls from Agents to Agents You can transfer a call from an agent to an agent by using the Agent to Agent node in the Targets tab of the Palette. Click OK. Following is the Properties dialog box for the Agent to Agent node: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. 4.Chapter 4: Selecting Routing Targets Transferring Calls from Agents to Agents – – Optionally. Optionally. The router then finds a valid label for the agent.0(0) 85 . check Enable target requery. Correct any errors that are flagged. You define the agent either by directly selecting the agent from the database or by providing an expression using a formula.

as necessary. – – 2. check or uncheck Fail node if agent is unavailable: – When checked. and The agent state is Ready. and The agent is available.To select the agent from the list of configured agents. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Optionally. 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.0(0) 86 . Skill target ID To select the agent by providing an expression that translates into the agent's SkillTargetID.To select a peripheral and a provide formula that translates to the agent's peripheral number. Based on your selection in Step 1. select the peripheral or agent. or enter an expression. Enterprise Name . 3. Select an option from the Select agent by drop-down list: – Peripheral number .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. the expression should use the call's PreferredAgentID. In the IPCC supervisory case.

Note: Before you can successfully use an ICM Gateway node in a script. For more information. see the Cisco ICM Software Configuration Guide. you must use the Configuration Manager to configure a gateway to the ICM system to which you send the request. Specify whether Calling Line ID masking instructions should be applied before the request is passed to the other ICM system. The Calling Line ID masking refers to when the caller's phone number is modified so that the ICM application does not – – ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0) 87 . add comments and connection labels. The failure branch of the Agent to Agent node is executed if the Router does not find a valid label for the agent. In the Send tab: – Select the gateway to the ICM system (and hence the specific ICM instance) from the ICM Gateways list to which you want to send the request.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. Check Validate returned labels to have ICM software validate returned labels. Figure 70: ICM Gateway Icon The ICM Gateway node passes a routing request to the selected ICM system. 4. Sending a Contact to a Different ICM System A script may determine that the contact should be routed by a different ICM system. Define the ICM Gateway node properties as follows: 1. – 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. You send a contact to a different system by using the ICM Gateway node in the Routing tab of the Palette. Optionally. or The agent is not available or The agent is in TempUnavailable mode (the router has just send a call to the agent).

0(0) 88 . masking instructions are always applied. 3. 2. select one default label for each routing client to be used if the targeted ICM system: Returns a list of labels for divert-on-busy processing Fails to return valid labels – Click Add to move the selected label to the Selected labels list. Select one of the following: Do not apply masking rule . Always apply masking rule .If selected. Optionally. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Apply masking rule if call is presentation restricted . this is used in a NAM environment. masking instructions are ignored. Note: The Calling line ID masking rule is set through the Configuration Manager's System Information dialog box.If selected. add comments and connection labels.Chapter 4: Selecting Routing Targets Sending a Contact to a Different ICM System display all of the digits.If selected. where NAM sends the call to a customer ICM. applies masking instructions if the call variable CLIDRestricted is set to 1. In the Default Label tab: – Figure 71: ICM Gateway Properties In the Available Labels list.

Makes the Termination Node equivalent to a Busy Node. • Ring .Makes the Termination Node equivalent to a Ring Node. • Network Default . ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Several End nodes can appear in the same script. You do not define any properties for the End node. Figure 73: Termination Icon The Termination node includes the following options to invoke a default contact processing action or route for the dialed number: • Default Label . Figure 72: End Icon If the script reaches the End node.Chapter 4: Selecting Routing Targets Stopping Script Processing Stopping Script Processing You can use three nodes to stop script processing: End Node Termination Node Release Call Node End Node You can terminate the script by using the End node in the General tab of the Palette. The End node is never required.ICM software uses the default label configured for the dialed number.The routing client uses its own default processing. it has failed to find a target for the contact and ICM software then uses the default route for the dialed number. • Busy .0(0) 89 . Termination Node You can terminate the script and specify how to handle the contact by using the Termination node in the Targets tab of the Palette. You can optionally add comments. a script can terminate with any node.

Optionally.0(0) 90 . You do not define any properties for the Release Call node.Chapter 4: Selecting Routing Targets Stopping Script Processing Following is the Properties dialog box for the Termination node: Figure 74: Termination Properties Define Termination node properties as follows: 1. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. 2. 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. You can optionally add comments. 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. Select the Termination type.

if the router fails to route to the target node. If the failure occurs a second time. the routing information for one call does not affect the state for other calls.0(0) 91 . Target Requery: • Is compatible with translation routes. that is. when queried. you can choose to handle different failures differently. When a destination cannot be reached. You can create a script that increases the priority and requeries the call from the failure path to the same queue. • Failure of the outbound leg of a blind-mode Network Transfer. How Target Requery Works In the ICM software system.Chapter 4: Selecting Routing Targets Using Target Requery Using Target Requery Target Requery is a script node feature that addresses routing failures due to transient failures in the network (such as network congestion). If the determined destination for a contact is available but not reachable. • Failure to deliver a call to an individual Enterprise Agent (EA). then the router continues from the failure path in the node. The routing client then routes the call to the destination specified by the label. you can handle requerying in the scripting environment. Note: Note that in a Queue Node. Note: Target Requery does work in the NICM/CICM environment. the call is routed to the default destination. Target Requery is intended to address the following failures: • Failure to deliver a call to an ACD agent. If the first target selected for the contact was not reachable. • Does not require different definitions for different failure cases. If the destination is not reachable (for example. Target Requery attempts to find a different valid destination. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. With Target Requery. • Assigns the SERVICE_DIVERT_ON_BUSY service type for calls that use target requery. However. just one target is used and the failure path of the node is immediately taken. The Event Select in the connect message includes a REROUTE_REQUESTED_MASK. as you deem appropriate. In the event of a failure. the target is not eliminated from the potential routing destinations for other contacts. a second attempt is made. because of a busy signal or no answer). the NIC queries the CallRouter for an alternative destination label. the CallRouter returns a label to the routing client. • Target Requery works on a per call basis.

Not visible to users. Which Nodes Support Target REQUERY_ABORTED (6) Which Nodes Support Target Requery The following nodes support Target Requery: • • Label • Queue • Queue to Agent • Route Select • Select ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. busy. the CallRouter assumes the call has ended and ends the script.0(0) 92 . Not visible to users. Not visible to users. indicating REQUERY_ABORTED. The following are possible values for the RequeryStatus variable: Table 3: RequeryStatus Variables Requery Status Variable Description REQUERY_ANSWER (0) CallRouter internal use. The attempt to send the call to target failed because the Routing Client did not respond within the DivertOnBusyCallTimeout period. CallRouter internal use. The RequeryStatus value is set to 6. This is done using an If node to check the value of the Call variable RequeryStatus. This is used for the internal workings of the CallRouter but is not visible to users. The decision path for the script is then determined by the value of the RequeryStatus variable. In the case of ABANDON and DISCONNECT.e.Chapter 4: Selecting Routing Targets Using Target Requery How to Test the RequeryStatus Variable You can test the error path of these script nodes using Target Requery to determine the specific network cause of failure and conditionally retry the attempt as necessary. CallRouter internal use. REQUERY_ROUTE_SELECT_FAILURE Routing client generated error code from ReRouteReq msg indicating a (1) Route Select failure REQUERY_CALLED_PARTY_BUSY (2) Routing client generated error code from ReRouteReq msg indicating the called party is busy REQUERY_NO_ANSWER (3) REQUERY_ERROR (4) REQUERY_TIMED_OUT (5) Routing client generated error code from ReRouteReq msg indicating no answer CallRouter generated error code.. Script ends. Script ends and the call was successfully sent to the chosen target. The attempt to send the call to target failed because the target was not reachable (i. Script ends. The attempt to send the call to target failed because the caller hung up or the call was lost. ring no answer).

For the Queue.Chapter 4: Selecting Routing Targets Checking Targets Note: Scheduled Targets do not support Target Requery Target Requery with IPCC and IP IVR Target Requery not supported when IP IVR is used as the queue point in an IPCC system. but interactions with any peripheral is simulated. 2. and Route Select nodes: 1. using all the real-time data of the ICM software as it exists at that moment. The call is requeued from the CallManager instead. 2. Click OK to close the dialog box. Click OK to close the properties dialog box Checking Targets About Call Tracer You can use the Call Tracer utility from within Script Editor to test and debug a routing script and to confirm that ICM software is selecting targets as you expect.0(0) 93 . and may lead to timeouts and other script errors for that particular call. The test contact is processed by the active CallRouter. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Setting the Target Requery option on the script node has no effect on the requeuing of the call. Open the node properties. For the Label and Select nodes: 1. 3. A dialog box opens. Check Enable target requery. Click Change. Do not enable Target Requery in script nodes when using IP IVR. Open the node properties. IP-IVR cannot requeue the call. 4. Queue to Agent. Check Enable target requery. Using Target Requery You define nodes to enable Target Requery. Click OK to close the properties dialog box. 5. 3. Call Tracer simulates a contact to the CallRouter and generates a text-based description of how the contact was handled.

Any uninstalled changes in scripts are not reflected in the Call Tracer results. the call would have been delivered to that service. bringing up Call Tracer with it. It begins with the Start node and then executes a Percent Allocation node that has three branches allocated for 42%. enter values in CED (caller-entered digits) and VRU Responses for External Script. 5. Click Send Call to submit the request. A feature that integrates the ICM Post-Routing function with a carrier network's call control ability so that a call can be transferred anywhere in the network without the use of transfer/connect services or inter-site tie lines: – – Check Use Network Transfer Select a routing client and a dialed number value. If you want to test a response from a IVR/VRU routing script. To open Call Tracer if Script Editor is already open. optionally change any of the call parameters and then click Send Call again. enter an ANI (callers telephone number). This branch leads to a target that maps to the service Scranton.Chapter 4: Selecting Routing Targets Checking Targets How to Check Targets To check targets: 1. The results appear in the Call Trace Results field. the numbers for each node change to indicate how calls have been distributed. Optionally. Start the Call Tracer by double-clicking the Call Tracer icon in the ICM Admin Workstation group. ICM software invokes a script called sales. The ICM software executes only installed scripts in response to requests from the Call Tracer. As you continue to send calls to the ICM software. To use Network Transfer Call. The asterisk indicates that for this call. and 42%.Sales. 4. choose a Media Domain. To send additional calls. Script Editor opens. Had this been an actual call. the ICM software calculates the percentage of calls previously sent to each branch ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0) 94 . 3. 7. 8. In the Call Tracer window. a Routing Client. Example Results In the following example results from Call Tracer. Each time a call arrives at a Percent Allocation node. respectively. 16%. the ICM software chooses the first branch. double-click the Call Tracer icon in either the ICM Admin Workstation group or within the Script Editor toolbar. The Call Trace Results field is updated. and a Dialed Number. Figure 76: Call Tracer Icon 2. 6.

Sales R Route: Scranton. > DialedNumber (8005551212) using CallType (General_Sales . script version and node ID information. To find which node maps to each identifier.Chapter 4: Selecting Routing Targets Checking Targets > DialedNumber (8005551212) using CallType (General_Sales . you needed to manually decode script. Therefore. the numbers add up to less than 1.Incoming800 Label: 2010000000 In the following example. Previously.42) and would send the call to the Gary. opens the script and locates that node in the Script Editor window.6) Start #3 __Sales\Sales__General (version 2) Percent allocation #54 __42% = 0. Trunk group: Scranton.0 (but the total gradually approaches 1. and then visually scan the script for the desired node. the ICM software picked the third branch (because 0. The Call Tracer results refer to script nodes by their internal integer identifiers. open the script and choose Display Node IDs from the Script menu.375 is well below the allocation of 42% or 0.Sales Peripheral target: DNIS: 1111. Traces are linked to live scripts. clicking on the trace details of a Percent Allocation node immediately.0 as you send more calls). if it is not already open.6) Start #3 __Sales\Sales__General (version 2) Percent allocation #54 __*42% = 0 __ 16% = 0 __ 42% = 0 Target #64 __Service: Scranton.416667 __16% = 0. but not in the numerator.0(0) 95 . In this example. Node titles in the trace window support localization.Sales service. the new call is counted in the denominator for each branch. For example. The ICM software then picks the branch that is most below its allocation value.166667 ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.

The VRU Response dialog box opens. No Response. • No Response. The ICM software treats the External Script nodes as though it had failed. Click OK to apply changes and close the dialog box. you can specify one of the following responses: • Fail. 3. You can specify a CED value and values for Variable1 through Variable10. Select the type of response (Fail.375 Target #58 __Service: Gary.Chapter 4: Selecting Routing Targets Checking Targets __*42% = 0. Note: You can also set the initial condition of the 10 call variables for the first run of the External Script. The ICM software assumes these values were returned by the External Script node.0(0) 96 . click Add. 4. 2. The ICM software assumes it received no response from the Run External Script node. For each Script node the ICM software encounters. • Response. To check VRU scripts: 1. Response) the Call Tracer is to simulate. If you chose Response in Step 2. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.Sales Peripheral target: DNIS: 1111. In the Call Tracer dialog box. Trunk group: Gary.Sales Route: Gary.Incoming800 Label: 3010000000 How to Check VRU Scripts Call Tracer allows you to simulate responses from VRU routing scripts. optionally specify values to be returned for CED and Variable1 through Variable10.

you can divert a call to a Network VRU for additional call processing. page 97 What is a Network VRU?. page 110 Removing the Call from a Queue . page 118 Overriding VRU Settings . that plays recorded announcements and responds to caller-entered touch-tone digits. page 107 Placing a Call in Queue .0(0) 97 . This section contains the following topics: • • • • • • • • • • • • • • • • • • • • What is a VRU. page 98 Network VRU Types and Script Nodes. A VRU can also be equipped with Automatic Speech Recognition (ASR) or Text-to-Speech (TTS) capabilities. page 100 Sending a Call to a VRU after a Translation Route to VRU. page 121 Temporarily Halting Script Execution.Chapter 5 Network VRUs Through routing scripts. page 111 VRU MicroApp Nodes . ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. page 112 Prompting a Caller to Select from a Set of Options . page 112 Collecting Data from the Caller. also called an Interactive Voice Response Unit (IVR). page 107 Adjusting the Priority of a Call in a Queue . page 115 Playing Specific Recordings to the Caller . or Voice Response Unit. page 103 Running External Scripts. page 122 What is a VRU A VRU. page 99 Sending a Call to a VRU with the Send to VRU Node . page 98 Accessing VRU Scripts in ICM Scripts. page 106 Queuing Calls at VRUs . page 104 Checking for VRU Errors . is a telecommunications device. page 99 Sending a Call to a VRU with the Translation Route to VRU Node . page 98 Configuring VRUs.

Depending on the type of Network VRU configured (see the Cisco ICM Software Configuration Guide) various additional items need to be configured. Network VRU Types and Script Nodes Before a routing script can run a Network VRU script or queue a call at a Network VRU.0(0) 98 . as shown in the following table: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Configure the Network VRU. Following are the general steps you must take to configure VRUs before you can write routing scripts. Each type represents a different architecture and call flow. it might need an explicit node to force the routing client to connect the call to the Network VRU. 2. however. This is step is requred for Type 3. Configuring VRUs You configure Network VRUs through the ICM software Configuration Manager. Note: You create and maintain VRU scripts on the VRU. 3. 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. These are summarized below and described in detail in the Cisco ICM Software Configuration Guide. and Type 7 VRUs. 4. you must define these scripts through the Configuration Manager so that ICM software is aware of these scripts so they can be called from ICM software routing scripts. Before you can write routing scripts.Chapter 5: Network VRUs What is a Network VRU? What is a Network VRU? A Network VRU supports ICM software's service control interface. There are different Network VRU types. you must do the following through the Configuration Manager: 1. Configure Network VRU scripts. Associate the Network VRU with a Network VRU Label. The node used to send the call to the Network VRU depends on the Network VRU type. Type 5.

Note: Use this type (instead Send to VRU of Type 3) when the routing client cannot take back the call from the VRU. A Network VRU that receives the call and then sends a route request to ICM Send to VRU software. That is. In a NAM environment. A Network VRU controlled by the routing client. you can write routing scripts that send calls to the VRU. Similar to Type 2.0(0) 99 .Chapter 5: Network VRUs Accessing VRU Scripts in ICM Scripts Table 4: Network VRU Types Type Description Routing Script Node to Use to Send Call to VRU 2 A Network VRU at the customer premises. : Use this type rather than Type 7 when the routing client can automatically take back the call from the VRU when ICM software returns a destination. Figure 77: The Send to VRU Icon The Send to VRU node is also valid for use with Type 3. queue the call. a Type 2 Translation Route to VRU VRU is connected at the ICM and not at the NAM. or any queuing node 3 5 6 7 8 9 Accessing VRU Scripts in ICM Scripts After you have configured VRUs through the Configuration Manager. : A Network VRU with a SS7 IN routing client. A Network VRU connected to a NAM where there is a separate routing client Send to VRU that controls the connection to the VRU. Translation Route to VRU Send To VRU node. : Cisco Internet Service Node using a Cisco IOS-based Voice Browser. Type 6 and Type 7 VRUs. Queuing for System IPCC. A Network VRU that is controlled by the routing client. and invoke specific VRU scripts. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. but a Type 8 VRU is used when the NAM has a routing client that controls the call to the VRU. Sending a Call to a VRU with the Send to VRU Node You can send a call to a VRU for further processing by using the Send to VRU node (in the Queue tab of the Palette). : IP IVR in an IPCC solution. Type 5. : Use this type (rather Send to VRU than a Type 3 or Type 6) when the routing client has access to multiple VRUs. ICM software automatically instructs the VRU to release when it sends a route response to the routing client.

it looks up the call's Dialed Number. you can optionally add comments or connection labels. because Type 6 VRUs do not need explicit instructions to connect the call to the VRU resource. You do not need to set properties for the Send to VRU node. it is recommended that you make a practice of including the node in routing scripts.0(0) 100 .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. There are two failure cases: • If the label does not exist. • If ICM software does not receive confirmation. However. a special label on the Send To VRU node accounts for these cases. execution continues with control flowing through the nodes failure output terminal. the router uses the system default Network VRU: • If the Network VRU is of Type 3 or Type 7. The router waits until it receives a RequestInstruction message from one of the connected VRU PGs with the same correlationID as a sign that the call is now connected to the VRU. Menu. or Queue node is used in a script before a Send To VRU node. Collect Data. 5. 6 or 7 you do not have to use the Send To VRU node. you can send a call to a VRU by using the Translation Route to VRU node (in the Queue tab of the Palette). Play. For Network VRUs of types 3. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. the router sends an instruction to the routing client to connect the call to the Network VRU. script execution ends. as it can act as a visual aid if you ever need to troubleshoot the script. • If the call is delivered to the VRU but then abandoned. If that fails to retrieve a Network VRU. an implicit Send To VRU node is assumed. • If the Network VRU is of Type 6. In monitor mode. The router waits for a response back from the routing client that the call is properly connected to the VRU resource. the Dialed Number's Customer and the Customer's Network VRU. Sending a Call to a VRU with the Translation Route to VRU Node For Type 2 and Type 8 VRUs. The instruction contains the label configured for this Network VRU as well as a correlationID to allow the router to uniquely identify the dialog with the routing client and the dialogue with the VRU PG. The instruction contains the label configured for this Network VRU. However. • If the Network VRU is of Type 5 the router sends an instruction to the routing client to connect the call to a VRU resource. script execution continues with control flowing through the nodes failure output terminal. In all other cases script execution continues with control flowing through the nodes success output terminal. Notes: • If the Run External Script. the router simply continues without further action.

A call is pre-routed by ICM using a carrier NIC (for example. When the VRU is done with the call.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. This means that the next Connect message is sent to the VRU from the CallRouter to connect the call (to an agent. The agent initiates a transfer and the script and configuration execute a network transfer. and the VRU connects the call to the new destination. the VRU becomes the new routing client (dynamic routing client) for the call. Typical Call Flow Example: 1. The VRU becomes the new routing client.0(0) 101 . the routing target (network VRU. for example). 2.) need to have labels configured for the type 2 VRU as a routing client. • Supporting Outbound Option for Hosted IPCC where a shared Network VRU is used for providing announcements to targeted phones/answer machines. device targets. 3. Following is the Properties dialog box for the Translation Route to VRU node: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. 4. the script connects the call to an agent on a TDM ACD (using translation routing again) and the VRU connects the call to the agent. • Using pre-routing for load balancing purposes before the call is sent to an ISN controlled network. Note: In order for the dynamic routing client feature to work. In an environment where the routing client is not capable of Network Transfer (such as GKTMP NIC) all the pre-route calls must be transferred to ISN via Translation Route To VRU to take advantage of network transfer feature. AT&T) to a Type 2 premise VRU using the TranslationRouteToVRU mechanism. services.1 and later) to control the call. This feature is applicable for following call scenarios: • Receiving a call on a converged enterprise network after a carrier pre-route using ISN (release 2. etc. The agent answers the call and talks to the caller. The Connect message is sent to the Type 2 VRU. with call context and cradle to grave reporting capabilities.

To add targets. Define a formula that determines which target is to be accepted. distributing calls among the targets based on the relative values. Service. 2. The Add Targets dialog box opens. Define the type of target search. Select the Target Type (Enterprise Service.0(0) 102 . The Select Type dialog box opens. or Service Array). Distribute Among Targets. select a Business Entity and Enterprise target. If you select this option.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. Use the Available Targets list and the Add button to select targets. Specify whether the Translation Route to VRU node is to act like a Select or Distribute node.) The Translation Route to VRU node is to act like a Select node. If you selected Enterprise Service. you: Define whether to pick the target with the maximum value or the minimum value. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. click Add Targets. Select Most Eligible Target. (Radio button. The Translation Route to VRU node is to act like a Distribute node.

Continue defining Target information for each target: – Consider If. (Drop-down list. – – – – Sending a Call to a VRU after a Translation Route to VRU A SendToVRU node first checks for the Dialed Number. 5. Select Max/Select Min Value of. If the Customer is defined. (Drop-down list. the node trys to find the Customer's Network VRU.) A formula that must evaluate to true for the target when ICM software executes the Translation Route to VRU node. Click OK to close the Add Targets dialog box. The target members you selected appear in the Properties dialog box. Optionally. the node trys to send the call to Default Network VRU. (The list contains all translation routes associated with the same peripheral as the target.) Translation Route. If the Customer is not defined. Note: This option is useful in situations where you want to use different scripts depending on the selected target for a call.) Select this option to attach a success output terminal to each target in the node.) Select this option to attach one success output terminal to the node.) The route on which to send the call if this target is selected. Per-target success connection. 3. (Optional. you can select one or more items from the list. A formula that determines which of the targets is selected. – Per-node success connection. If the Dialed Number is not configured. (Radio button. 6. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Optionally. If the Dialed Number is configured. This terminal is used regardless of which target is selected.0(0) 103 . (The list contains all routes associated with the target.) The route to send the call for initial VRU processing if this target is selected. If you choose Service or Service Array. interrupting the dialogue. Route. you can select just one item from the list. the node checks for the Customer. click Validate to validate the node properties. (Radio button. the node immediately fails.Chapter 5: Network VRUs Sending a Call to a VRU after a Translation Route to VRU Note: If you choose Enterprise Service as a target type. the PG retrieves the final route from ICM software and coordinates the other processing with the VRU. When a call is sent to a translation route. add connection labels.) Note: You must specify a value for this field. or that target will not be considered. 4.

Figure 80: The Run External Script Icon You can use multiple Run External Script nodes to execute a series of scripts on the VRU. If it's at a VRU. or proper label is not defined) then the fail path is executed and the call remains at the VRU. Running External Scripts You can instruct a Network VRU to run a specific script by using the Run External Script node (in the Queue tab of the Palette). setting it to 0 disables it. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. The same behavior applies if CallRouter receives a ReRoute instead of a RequestInstruction command. 3. the node sends the call to Default Network VRU. A call arrives from a Type 6 VRU (CallAtVRU = true). The call can then be moved to a Type 3 VRU via the SendToVRU node. (for example. – 4. A call is moved to a Type 2 VRU via a Translation Route to VRU. An explicit SendToVRU node only exits if the call is already at the correct VRU. SendToVRU then attempts to send the call to the configured network VRU if the network VRU is different from the routing client’s VRU.Chapter 5: Network VRUs Running External Scripts If the SendToVRU node finds the Customer's Network VRU . If the operation times out. then it sends the call to Customer's Network VRU. The registry key is called NetworkVRUCheckEnabled and is located at . the call is transferred to the correct VRU. if the Type 3 VRU is configured to be the network VRU for this call. Example Call Flows: 1. (RequestInstruction never arrives) then the fail path of the SendToVru node is taken and the call is assumed not to be at a VRU. if a network VRU is not define. The default value is 1 (enabled). the CallRouter resets the previous VRU information and waits for RequestInstruction to set up the new VRU connection.\Router\CurrentVersion\Configuration\Global. the dialed number's customer Network VRU). as identified in the usual ways (for example. instead of exiting if the call is already at any VRU.0(0) 104 . If there is no Customer Network VRU. A registry flag enables/disables this feature. – If the configuration is wrong or missing. If the CallRouter succeeds in sending a Connect message. but it is the wrong VRU.. 2. SendToVRU fails the node if the transfer to the network VRU fails..

Notes: • If the current call is not at a VRU when the Run External Script node executes.. The Wait node and interruptible Run External Script node ( micro apps) are interruptible. Therefore.VRUStatus variable. It then executes the next node. the Run External Script node can also be used to push a URL to the caller's Web browser.Chapter 5: Network VRUs Running External Scripts The Run External Script node is valid for use with all the VRU types. The execution of ICM software routing script waits for the external script to finish: • If the external script runs successfully. see the Cisco Collaboration Server Administration Guide and the Cisco ICM Software Configuration Guide. then control passes through the failure branch of the Run External Script node. For more information. Note: When an uninterruptible script is used in a Run External Script node. the CallRouter waits for the script result from the VRU. the VRU is likely to be not functioning properly. If the value is 2. as executing a Send to VRU node.0(0) 105 . Calls can only be routed when they reach an interruptible node. To do this. Every other node is uninterruptible. • Design scripts so that the Failure branch of a Run External Script Node contains a test for the Call. Following is the Properties dialog box for the Run External Script node: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Note: When Cisco Collaboration Server is integrated with ICM software. ICM software sends the call to the associated Network VRU. an entry in the Network VRU list must point to the URL map file on the Collaboration Server. control then passes through the success branch of the Run External Script node. • If the external script does not run successfully for any reason. the script avoids executing any subsequent Run External Script nodes on this Failure branch.

Optionally.) The last VRU node failed because communication with the VRU ended unexpectedly 3 VRU_ABORTED 4 VRU_DIALOG_ FAILED ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.Chapter 5: Network VRUs Checking for VRU Errors Figure 81: Run External Script Properties Define Run External Script node properties as follows: 1. The last VRU node failed because of a routing or configuration error The last Send To VRU or Translation Route to VRU node failed because the routing client did not respond within 20 seconds or the last Run External Script node failed because the timeout limit defined for the script expired. The last VRU node did not complete because the caller hung up or was otherwise lost. Checking for VRU Errors The following table lists the possible values for the VruStatus variable: Table 5: VruStatus Variable Codes Value Meaning Description 0 1 2 VRU_SUCCESS VRU_ERROR VRU_TIMEOUT The last VRU node was successful. Select the ICM Script/External Script Name you want to execute. (Because this causes the routing script to terminate immediately.0(0) 106 . this value is never seen. add comments and connection labels. 2.

3. Specifically. As soon as an agent becomes available at one of the specified targets.0(0) 107 . or one or more scheduled targets using the Queue node (in the Queue tab of the Palette).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. or one or more scheduled targets. Note: In this scenario. • Remove the current call from any queues to which it has been assigned. 2. you can: • Place the call in a queue for one or more skill groups. or one or more scheduled targets. For example: 1. Placing a Call in Queue You can place a call in queue at a VRU for one or more skill groups. The call is queued for three skill groups. an enterprise skill group. Queuing Calls at VRUs You can queue a call at a Network VRU until a specific resource becomes available. • Adjust the priority of call in a queue for one or more skill groups or scheduled targets. the script cycles between a Wait node and a Run External Script node so that the caller hears an announcement every 30 seconds. the call is removed from queue and taken back from the VRU. an enterprise skill group. Routing script execution ends and the call is delivered to the target. A call can be queued for one or more skill groups. you would likely make the VRU script interruptible so that the routing script can retrieve the call immediately when the resource becomes available. If the call is successfully queued. This step is required before you queue the call. the call is removed from queue and sent to the target. enterprise skill group. If an agent in one of the skill groups becomes available. Figure 82: The Queue Icon ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. The call is first sent to the Network VRU.

) You cannot reference two types of targets (skill groups and scheduled targets. The Priority is expressed as an integer from 1 (top priority) to 10 (least priority). For example. The default value is 5. which are VRUs at customer premises.Chapter 5: Network VRUs Placing a Call in Queue If an agent becomes available in one of the skill groups or at one of the scheduled targets. Following is the Properties dialog box for the Queue node: Figure 83: Queue to Skill Group Properties ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. the call with priority 3. the script should then continue with a Run External Script node to instruct the VRU what to do while holding the call until an agent to becomes available. the queued call with the lowest priority number is routed to the target first. If one call has priority 3 and the other has priority 5.0(0) 108 . Note: If the current call is not at a VRU when the Queue node executes. possibly interrupted on a regular basis with an announcement. assume an agent in a skill group becomes available and two calls are queued to that skill group. However. The Queue node includes a Priority field. Note: The Queue node does not actually result in instructions being sent to the VRU. you can execute multiple Queue nodes sequentially to queue a call to different target types. When queuing occurs the Queue node exits immediately through the success branch and the call is assumed to be at the VRU. the call is routed to that resource. (This does not apply to Type 2 or Type 8 VRUs. ICM software sends the call to the associated Network VRU. for example) within a single Queue node. Typically this would invoke a Network VRU Script that plays music-on-hold. the lower value. which sets the initial queuing priority for the calls processed through this node versus other calls queued for the same target. is routed to the skill group while the other call continues to wait. If more than one call is queued to a group when an agent becomes available.

(The list contains all translation routes associated with the same peripheral as the target. select a Priority to set the initial queuing priority for calls processed through this node versus other calls queued for the same target: 1 for top priority to 10 for least priority. for example because the call is presented to an available agent. if the Target Type is Scheduled Target. Select a Target Type (Enterprise Skill Group.Chapter 5: Network VRUs Placing a Call in Queue Define Queue node properties as follows: 1. possibly to other skill groups. continue defining Target Type information for each target member: – Route. Individual targets to which the call is queued. or Skill Group). but the agent does not answer.) The route to send the call for initial VRU processing if this target is selected. – – 4. – – 3.) Scheduled Target. Click OK to close the Queue Type dialog box. Note: When Target Requery is enabled in a Queue node and a Requery happens. Optionally. Click OK to close the Add Targets dialog box. (The drop-down list includes all routes associated with the target. The Queue Type dialog box opens.0(0) 109 . (The default is 5. and possibly increase the priority so that it is taken out of the queue before regular queued calls. the script continues through the failure terminal.) The route to send the call to when an agent in the target type becomes available. To queue a call to more than one target type. (Drop-down list. To change the queue type: – – Click Change. The script can then inspect the call variable RequeryStatus to determine what to do next. Use the Available Targets list and the Add button to select targets. Optionally. Optionally. The Add Targets dialog box opens. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Optionally. You cannot reference more than one type of target within a single Queue node. (Drop-down list. check Enable Target Requery.) Optionally. execute multiple Queue nodes sequentially. The typical action in case of a No Answer would be to Queue the call again.) Translation Route. listing available targets of the type you specified. select a Business Entity and Enterprise Target. The target members you selected appear in the Properties dialog box. – – – – 2. Scheduled Target. To add targets: – click Add Targets. add connection labels.

if all calls are treated using the example above. Notes: • Only use the Queue Priority node after a Queue to Skill Group node. 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). 3. The solution is to increase the priority level for Standard customers as well. • The Queue Priority node sets the priority for a call within all queues that the call has been placed into. If the script above is only used for the Platinum customers while the Standard customers script leaves them at the default priority level. This can be a dangerous practice. Any subsequent use of the Queue to Skill Group node results in setting the queue priority back to the original setting for that Queue to Skill Group node. if there is none available then the router attempts to queue the call. Following is the Properties dialog box for the Queue Priority node: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. The effect depends on the other call in the queue. The original priority of the call in queue is set by the Queue to Skill Group node. The call does not move to the VRU if there is an available agent. a subsequent Queue to Skill Group node for that skill group/queue only (with the new priority) should be used. • Queuing priorities should be handled very carefully. The call waits in queue for 20 seconds while the caller listens to an announcement. the priority increase will have no net effect. the effect is that all Platinum customer that have been in queue for more than 20 seconds will be handled first regardless of other customers in queue. but only after they have been in queue for a longer period.Chapter 5: Network VRUs Adjusting the Priority of a Call in a Queue Note: When processing a Queue node. the Queue Priority node executes and raises the call's priority in queue. Just increasing Queue priority will not get a call handled sooner.0(0) 110 . 4. because while the delay for Platinum customers is greater than 20 seconds. For example. 2. Call control passes to a second Wait node. Figure 84: The Queue Priority Icon For example: 1. no Standard customer will ever be handled. for example 3 minutes. the router first checks for an available target. If a call only needs the priority raised in one queue only. If 20 more seconds pass without an agent becoming available.

add comments or connection labels. You can optionally add comments or connection labels. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0) 111 . Optionally.Chapter 5: Network VRUs Removing the Call from a Queue Figure 85: Queue Priority Properties Define Queue Priority node properties as follows: 1. You do not have to define properties for the Cancel Queuing node. This determines the priority the call has versus other calls queued for the same target. Removing the Call from a Queue You can remove a call from any queues by using the Cancel Queuing node (in the Queue tab of the Palette) Figure 86: The Cancel Queuing Icon . Specify the queuing priority for a call processed through this node: 1 for top priority to 10 for least priority. 2.

Following is the Properties dialog box for the Collect Data node: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. such as a number or date. Collecting Data from the Caller You can have a script play a prompt and instruct the caller to enter information by using the Collect Data node (in the Queue tab of the Palette). • Play instructs the VRU to speak a recorded announcement or a data element. This can be done either by using recorded announcements or through Text-to-Speech (TTS) capabilities. It prompts the caller (either using a recorded announcement or TTS) and collects a single digit (either using touch tone or ASR).0(0) 112 . At the Menu node the script branches. The three VRU MicroApp nodes (Collect Data.Chapter 5: Network VRUs VRU MicroApp Nodes VRU MicroApp Nodes Note: These nodes can only be used if supported by your VRU. rather then using Configuration Manager to specify the Network VRU Script. The data collected can be collected using touch-tone or using Automatic Speech Recognition (ASR). The caller-entered data can then be used to redirect the call to the appropriate destination. Play) are essentially specialized Run External Script nodes. depending on the input from the caller. The prompt can be played using a recorded announcement or using TTS. The three MicroApp nodes each represent a specific sort of VRU interaction: • Collect Data instructs the VRU to collect data from a caller after playing a prompt. • Menu is a simplified form of Collect Data that instructs the VRU to build a menu. Menu. They allow all details of the interaction to be specified in the script node.

0(0) 113 . select the data transmission convention to use for the media file contents. You can select: – – – HTTP: (Hypertext Transfer Protocol. In the Library drop-down list. You can select: – – – System Application (default) None 3. the default) RSTP: (streaming) file: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. In the Protocols drop-down list. select the location of the file. 2.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.

Invalid entry and No entry Media file names may be defined on the VRU device and invisible to the ICM environment. check Allow barge-in to have any digit entry by the caller interrupt the media playback. this field is grayed out. The default is 1. other Collect Data nodes are not affected. Optionally . select a number from 1 to 32 to indicate the minimum number of digits the caller must enter. obtained either from the database defaults or from a VRU Settings node. The default is 1. enter a grammar against which caller spoken-input is matched. # (pound. Optionally. the value for these fields is Default. In the Termination key field. click Advanced Properties to specify how the micro-application should handle invalid or timed-out entries. it remains this value unless a VRU Settings micro-application changes it. the default) or * (asterisk). only. the operation of the node can be interrupted by the ICM router. check Use ASR to use automatic speech recognition.0(0) 114 . 7. The values you set apply only to the current node. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. enter the key that the caller presses to signify the end of digit entry. # (pound. Value options are the digits 0-9. the Voice Browser continues to prompt play when a caller starts entering digits. The Cisco Internet Service Node (ISN) deals with barge-in as follows: If barge-in is not allowed (not checked). Optionally. Valid options: The digits 0-9. 5. the default) or * (asterisk).Chapter 5: Network VRUs Collecting Data from the Caller – other 4. – – 6. Note: If the minimum number value equals the maximum number value. Initial values for timeouts and number of tries on this dialog show the current values. When checked (the default). For variable-length data entry. The Advanced Properties override the VRU Default settings configured in the ICM software configuration database. If barge-in is allowed (checked). In the Automatic speech recognition grammar field. A key which the user presses to signify the end of digit entry. select a number from 1 to 32 to indicate the maximum number of digits the caller must enter. In the Maximum number of digits field. clear ICM may interrupt. Specify the number of digits a caller can enter: – In the Minimum number of digits field. the Voice Browser discontinues prompt play when the caller starts entering digits. If you check this option: – – Caller-entered information is obtained from spoken input as well at DTMF entry. – Optionally. If this is the first micro-application operation in the script.

file:. enter a number in the Timeout field to indicate the number of seconds a caller is allowed to begin entering digits.wav. default: 5. – – Select the locations of the files in the Library drop-down lists. clear Inter-digit timeout. RSTP: (streaming). None. enter the file names of the files to play if the caller enters invalid data or if the caller enters no data. Valid options: System. include the full path file name in the File name value. Valid options: 1-99. In both the Invalid Entry Media Properties and No Entry Media Properties sections. Note: If None. Note: To use the default settings on the VRU device. the default value defined in the database is used. the system times-out. – Select the data transmission convention to use in the Protocol drop-down lists.0(0) 115 . click OK. 8. Enter a number in the Number of tries field to indicate the number of times the Collect Data or Menu MicroApp will query the user for data when the user enters invalid data or does not enter data. Valid options: 1-9 (default: 3). If exceeded. Optionally. – When you have finished specifying advanced properties. enter the word Default in these fields. enter the number of seconds allowed between entering digits before the system assumes the caller is finished.com/Media_Folder/File. When checked (the default). ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. other. the default).xyzcorp. for example: http://www. Note: If not checked. Note: Optionally. – – In the No Entry Media Properties section. Valid options: HTTP: (Hypertext Transfer Protocol. Application (default). you can clear the check box to have the default value defined in the database used. Prompting a Caller to Select from a Set of Options You can have a script play a prompt and instruct the caller to select from a list of options using the Menu node ( in the Queue tab of the Palette). add comments or connection labels. default: 3. Figure 88: The Menu Icon The caller-entered data can then be used to redirect the call to the appropriate destination. Valid options: 1-99.Chapter 5: Network VRUs Prompting a Caller to Select from a Set of Options – Optionally.

0(0) 116 . 2. In the Library drop-down list.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. enter the name of the media file to be played to the caller. In the File Name field. select the location of the file. Define Menu node properties as follows: 1. You can select: – – System Application (default) ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.

the value for these fields is Default.0(0) 117 . check Allow barge-in to have any digit entry by the caller interrupt the media playback. Optionally. If barge-in is allowed (checked). it remains this value unless a VRU Settings micro-application changes it. the operation of the node can be interrupted by the ICM router. Optionally. Enter a description from that menu choice. the default) RSTP: (streaming) file: other 4. The values you set apply only to the current node. If you check this option: – – Caller-entered information is obtained from spoken input as well at DTMF entry. Note: ISN deals with barge-in as follows: If barge-in is not allowed (not checked). the call processing continues down that success branch. – Optionally. The available numbers correspond to the success branches from the Menu node. Optionally . If this is the first micro-application operation in the script. click Advanced Properties to specify how the micro-application should handle invalid or timed-out entries. the Voice Browser continues to prompt play when a caller starts entering digits. When checked (the default). You can select: – – – – HTTP: (Hypertext Transfer Protocol. In the Protocols drop-down list. The Advanced Properties override the VRU Default settings configured in the ICM software configuration database.Chapter 5: Network VRUs Prompting a Caller to Select from a Set of Options – None 3. 6. select the data transmission convention to use for the media file contents. The number indicates that if the caller enters the digit in that row. select a number from the drop-down list. Initial values for timeouts and number of tries on this dialog show the current values. the Voice Browser discontinues prompt play when the caller starts entering digits. 7. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. obtained either from the database defaults or from a VRU Settings node. check Use ASR to use automatic speech recognition. Define menu choices. For each row beginning with the possible caller entered digit (which you cannot edit): – In the Case column. In the Automatic speech recognition grammar field. clear ICM may interrupt. enter a grammar against which caller spoken-input is matched. other Collect Data nodes are not affected. Invalid entry and No entry Media file names may be defined on the VRU device and invisible to the ICM environment. – 5.

– Select the data transmission convention to use in the Protocol drop-down lists. – – Select the locations of the files in the Library drop-down lists. Note: Optionally. Valid options: 1-9 (default: 3). In both the Invalid Entry Media Properties and No Entry Media Properties sections. add comments or connection labels. you can clear the check box to have the default value defined in the database used. default: 5. RSTP: (streaming). 8. the default). Valid options: HTTP: (Hypertext Transfer Protocol. Playing Specific Recordings to the Caller You can instruct the VRU to play a series of media files and/or data to the caller by using the Play node (in the Queue tab of the Palette). Enter a number in the Number of tries field to indicate the number of times the Collect Data or Menu MicroApp will query the user for data when the user enters invalid data or does not enter data. click OK. When checked (the default). the system times-out. – When you have finished specifying advanced properties. Application (default). enter a number in the Timeout field to indicate the number of seconds a caller is allowed to begin entering digits. Optionally. Figure 90: The Play Icon ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. file:. None. Note: If not checked.com/Media_Folder/File. Valid options: 1-99. enter the number of seconds allowed between entering digits before the system assumes the caller is finished. Note: If None. default: 3. enter the file names of the files to play if the caller enters invalid data or if the caller enters no data.xyzcorp.0(0) 118 . enter the word Default in these fields. Valid options: System. clear Inter-digit timeout. Valid options: 1-99. If exceeded. include the full path file name in the File name value.Chapter 5: Network VRUs Playing Specific Recordings to the Caller – Optionally. – – In the No Entry Media Properties section. the default value defined in the database is used.wav. other. for example: http://www. Note: To use the default settings on the VRU device.

If the data format is invalid. If you selected Media in Step 3: – – Enter the name of the file to play in the File name field. select Media or Data. 3. the micro-application's result code will indicate such an error. 2. Click Add to add a new file or data element to play to the caller. Following is the Properties dialog box for the Play node: Figure 91: Play Properties Define Play node properties as follows: 1. Note: The CallRouter will not verify the format setting to see if it is valid for the specific data type or micro-application.Chapter 5: Network VRUs Playing Specific Recordings to the Caller Data can be a literal string or a formula that evaluates to a string.0(0) 119 . You can select: System Application (default) None ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. select the location of the file. In the pop-up menu. In the Library drop-down list. The data. and the format it is to be played in is sent to VRU as part of the play request. its type.

Valid options are: Number .M.Chapter 5: Network VRUs Playing Specific Recordings to the Caller – In the Protocols drop-down list. select the data transmission convention to use for the media file contents. and seconds HHMMAP (TOD format. minutes. or 24TOD.Elapsed timeTOD .Numeric Char . this field is grayed out. select the type of data to be played: Type of data to be played by the VRU. If you selected Data in Step 3: – In the Data field. in the Time format drop-down list. the default) RSTP: (streaming) file: other 4.Time of day (12 hr) TOD . enter a string (or a formula that evaluates to a string) to be played by the VRU. clear Allow barge-in to not have any digit entry by the caller interrupt the media playback. You can select: HTTP: (Hypertext Transfer Protocol. only) . TOD. Note: If the minimum number value equals the maximum number value.Hours. or P. A.Money units Text .M. In the Data type drop-down list.Hours and minutes HHMMSS .Hours and minutes.0(0) 120 .Entire date Currency . select the time format.Character Etime .Day of week Date . – ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. 5. Valid options are: HHMM (default) .Time of day (24 hr) DOW . Optionally .Time of day 24TOD .text – If in Step b above you selected Etime.

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). you must use additional nodes to override additional settings. When checked (the default).Chapter 5: Network VRUs Overriding VRU Settings ISN deals with barge-in as follows: If barge-in is not allowed (not checked). Optionally. If barge-in is allowed (checked). 7. Following is the Properties dialog box for the VRU Settings node: Figure 93: VRU Settings Properties ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. 6.0(0) 121 . the Voice Browser discontinues prompt play when the caller starts entering digits. clear ICM may interrupt. the operation of the node can be interrupted by the ICM router. add comments or connection labels. Optionally. the Voice Browser continues to prompt play when a caller starts entering digits. Figure 92: The VRU Settings Icon You can only override one VRU setting with the VRU Settings node.

the New Value field opens for editing.Chapter 5: Network VRUs Temporarily Halting Script Execution Define VRU Settings node properties as follows: 1. Figure 94: The Wait Icon The Wait node simply stops script executing for the specified number of seconds. Warning: The protocol time-out variables in the VRU system need to be set to a value greater than the longest wait node used in the script. the Network VRU is waiting for instructions.) 3. leave the variable's value as is. at runtime. Select an option in the Set To field: – Select ICM Configured Setting to have Script Editor. Specify a value in this field. (The variable type determines the type of data you can enter. or consist of a value defined through a previous VRU Settings node.0(0) 122 . select the VRU variable to override. set the variable to the value stored in the VRU_Defaults table. In the mean time. Note: This value might be from the VRU_Defaults table. add comments or connection labels. 2. Optionally. at runtime. – Select Customer Defined Value to have Script Editor. at runtime. – Temporarily Halting Script Execution You can halt script execution for a specified number of seconds by using the Wait node (in the Queue tab of the Palette). Following is the Properties dialog box for the Wait node: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. set the variable to the value specified in the New Value field. In the VRU Variable list. Select VRU Peripheral Setting to have Script Editor. If you select this setting.

add comments or connection labels. 2. Optionally. specify an interval to wait.0(0) 123 . in seconds. In the Timeout field.Chapter 5: Network VRUs Temporarily Halting Script Execution Figure 95: Wait Properties Define Wait node properties as follows: 1. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.

0(0) 124 .Chapter 5: Network VRUs Temporarily Halting Script Execution ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.A Web callback request is one that does not involve Web collaboration. forms. Routing Application Requests The Collaboration Server and E-Mail Manager applications route requests to the ICM MR-PG. • E-mail message The customer and agent communicate using electronic mail.0(0) 125 . The MR-PIM communicates with the ICM CallRouter. "Call me back. you write routing scripts to route contacts that are handled by these applications.Chapter 6 Multichannel Routing Overview of Multichannel Services When ICM software is integrated with Collaboration Server or Cisco E-Mail Manager. They can both chat and collaborate on the Web. The Media Routing Peripheral Interface Manager (MR-PIM) on the MR-PG provides a generic interface to queue and route requests. They can share Web pages. • Blended collaboration With blended collaboration. which runs a routing script to determine how best to handle the request. A customer clicks a button on a Web site that says. Supported Route Requests ICM Software supports the following types of multichannel route requests: • Web callback . the caller and agent talk on the phone and are linked in a collaborative Web session. and applications. • Text chatThe caller and agent can conduct a text chat session when a telephone call is not desired or not possible." Then the caller and agent simply talk on the phone. while at the same time conducting a voice conversation.

do not create. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. which is a collection of skill groups and services associated with a medium.Chapter 6: Multichannel Routing Overview of Multichannel Services ICM software uses a media class ID to identify the type of media or channel.single-session chat requests • Cisco_Blended_Collaboration . You can use independent media queues in both IPCC and ACD environments. text chat. Agents can be configured to log into only one media type to take either e-mail. Each MRD requires an ICM script. or delete them in ICM software. blended collaboration requests with a legacy ACD. modify.blended collaboration requests with IPCC • Cisco_Voice. A media class is a communication channel that is correlated to an application. There are five predefined media classes in ICM: • Cisco_Multi_Session_Chat . In this configuration. they are simultaneously created in ICM software.Web and delayed callbacks requests. or voice. and agents can be shared across applications. requests are queued only to agents who have logged into the corresponding media application. If an agent is created in ICM software.0(0) 126 . ICM software uses the MRD to route a task to an agent who is associated with a skill group and a particular medium.e-mail requests Each media class has at least one media routing domain (MRD). When agents or skill groups are created in either Collaboration Server or E-Mail Manager. but skill groups are application-specific.Cisco_Single_Session_Chat • Cisco_Single_Session_Chat . and basic ICM inbound and outbound voice calls • Cisco_Email. Skill groups are application-specific. Independent Media Queues You can configure the multichannel software to route all media through independent queues defined by media class. the agent must be enabled in the Collaboration Server and E-Mail Manager applications if the agent wants to log into and work on those applications. blended collaboration. Synchronized Agents and Skill Groups Agents are common across the multichannel software. but it is possible to route requests from different MRDs using one script. You cannot enable skill groups in the applications. and even though they are simultaneously created in ICM when they are created in Collaboration Server or E-Mail Manager. Agents can be created in the Collaboration Server or E-Mail Manager applications or in ICM software.

and chat. E-Mail Manager uses the ICM software uses a MRD to route a task to an agent who is associated with a skill group and a particular channel. based on the agent's skills and current tasks. E-Mail Manager. For example. For example. Universal Queue requires that ICM software be used in an IPCC environment. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. For example. MRDs are defined in ICM configuration and have unique IDs across the enterprise. switching media on a task-by-task basis.0(0) 127 . Universal Queue Configuration Overview When you use IPCC. single session chat. Universal Queue IPCC Requirement Because Universal Queue must coordinate an agent's work on multiple tasks across different channels. ICM software can route phone. You can configure agents to handle all media types. or you can choose to prioritize the requests using the multichannel software scripting environment. you can configure the multichannel software to manage a single universal work queue for all requests. ICM software treats requests from different channels as part of a single queue. Universal Queue is not supported in legacy ACD environments. e-mail. and Collaboration Server.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. and the agent would log into the Softphone. The agent is assigned the longest waiting request from any of the three skill groups. Routing scripts can send requests to agents based on business rules regardless of the channel from which the request came. With Universal Queue. Multichannel Scripting and Media Routing Domains What is a Media Routing Domain? A Media Routing Domain (MRD) is a collection of skill groups and services associated with a specific communication channel. Universal Queue requires that ICM software have complete control over how agents are assigned tasks Therefore. you would configure an agent as a member of three skill groups if the agent handles voice. and e-mail message requests to an agent who works with all these channels.

E-mail messages. If the MRD is interruptible. Following is the Properties dialog box for the Media Routing Domain node: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. You must insert targets and connections from the Media Routing Domain Node before you can define the node's properties. voice calls and Web collaborations tasks are not interruptible. Typically. For example.0(0) 128 . on the other hand. You could have a single script for both types of requests that branches so that it routes e-mail messages and single session chats to different targets. you indicate whether tasks for the MRD are interruptible. Therefore. How to Use Media Routing Domains to Categorize Contacts You can categorize contacts based on the Media Routing Domain (MRD) based on the MRD making the route request by using the Media Routing Domain node ( in the Routing tab of the Palette). the agent may be assigned tasks from another MRD.Chapter 6: Multichannel Routing Multichannel Scripting and Media Routing Domains Media Routing Domains and Interruptibility When you configure MRDs. and agent working on tasks for that MRD is not assigned tasks from other MRDs. Note: A branch can include multiple MRDs. but a single MRD can only be associated with one branch. If the MRD is not interruptible. you would have different MRDs for an E-Mail Manager instance and Web Collaboration single session chat. are typically interruptible because contact with the customer is asynchronous. an agent responding to an e-mail message may be interrupted by a phone call or chat session. as agents are interacting with customers synchronously.

– – Click Add. To associate a MRD with a branch: Select the branch. click Rename. Select a MRD from the drop-down list. 2. select it and click Delete. 3. You can specify only one Otherwise branch for the node.Chapter 6: Multichannel Routing Multichannel Scripting and Media Routing Domains Figure 96: MRD Properties Define Media Routing Domain node properties as follows: 1. To rename a branch. See Also Cisco ICM Software Configuration Guide ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. select it. and type the new name. 4.0(0) 129 . Execution follows this branch if none of the specified time ranges apply. To delete a branch. You can define a branch as Otherwise by selecting the branch and clicking Make Otherwise.

click Change.0(0) 130 . check Explicit agent references. check Enable target requery. 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.Chapter 6: Multichannel Routing Queuing to Agents Queuing to Agents You can queue a contact directly to an agent by using the Queue to Agent node ( in the Queue tab of the Palette). Select a Priority between 1 (the highest) and 10 (the lowest). The Queue Agent Type dialog box opens: Figure 97: Queue Agent Type Step 2 Step 3 Step 4 Step 5 To select a specific agent. Optionally. select Lookup agent references by expression. How to Specify an Agent Directly Following is the properties dialog box of the Queue to Agent node when you have selected to specify agents directly: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. To select and agent by an expression.

to have the contact queued to the agent even if the agent is not currently logged in. In the Route column. Optionally. To test the data you entered.Chapter 6: Multichannel Routing Queuing to Agents Figure 98: Agent Direct Properties To specify agents directly: Step 1 Step 2 Step 3 Step 4 If necessary. In the Skill Group column. Optionally. select the route for the selected agent and media routing domain. select the skill group for the selected agent and media routing domain. In the Media Routing Domain column. modify connection labels. click Validate. change the Queue to Agent type to Explicit agent references. select an agent.0(0) 131 . Step 5 Step 6 Step 7 Step 8 How to Select an Agent by an Expression Following is the properties dialog box of the Queue to Agent node when you have selected to use an expression: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. check Queue if agent not logged in. select the media routing domain for the selected agent. In the Agent column.

Click Formula Editor for help building a formula. the following error message appears: Step 3 Step 4 ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. or the Route. write an expression to select an agent. Select the Enterprise Route that has an appropriate collection of routes.0(0) 132 . If you do not select either an Enterprise Route or a Route.Chapter 6: Multichannel Routing Queuing to Agents Figure 99: Agent Expression Properties To specify agents by expression: Step 1 Step 2 If necessary. Select the Enterprise Skill Group that includes the appropriate skill groups to cover all media routing domain cases for the selected Agent. matching the agent and media routing domain. The Route column lists single routes for System IPCC as there is only one PG. change the Queue to Agent type to Lookup agent references by expression. The Enterprise Route column lists collections of standard ICM and IPCC routes. In the Agent Expression column.

modify connection labels. To test the data you entered. Step 5 Optionally. 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. to have the contact queued to the agent even if the agent is not currently logged in. Optionally.0(0) 133 . click Validate. check Queue if agent not logged in.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. Step 6 Step 7 ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.

0(0) 134 .Chapter 6: Multichannel Routing Queuing to Agents ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.

page 149 How to Import a Custom Function.0(0) 135 . More specifically. page 136 How to Add a Custom Function. is a variable . and functions . it is a call control variable.Chapter 7 Using Formulas You can use formulas in many routing nodes to both categorize contacts (page 37) and select routing targets (page 59). Formula Example Following is a simple example of a formula: CallerEnteredDigits == 1 In this example: • The Left-value. page 151 What is a Formula? A formula consists of one or more expressions that ICM software evaluates to produce a value that it can use for subsequent script processing.as part of custom selection rules (page 76) or distribution criteria (page 81) in scripts. • The operator is the "Equal To" equality operator. This section contains the following topics: • • • • • • What is a Formula?. page 150 How to Export a Custom Function. constants. CallerEnteredDigits. page 135 Formula Example. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. You define expressions .made up of variables (page 136). • The Right-value is the number 1. operators. page 135 Variables.

ExpectedDelay examines the expected delay for the BosSales service. For example. the formula returns true. • Each component in the variable is separated by a period (.*.BosSales. Single-Target Variables A single-target variable examines data for one specified routing target. Multiple-Target Variables A multiple-target variable examines data across multiple routing targets. Variable Syntax Following is the syntax for using a variable in a formula: Following is the syntax for using a variable in a formula: object-type.Chapter 7: Using Formulas Variables If the value of CallerEnteredDigits is 1.0(0) 136 . • The object-name is the name of an object contained in the ICM database. the variable: Service. such as a call control variable (for example. Variables What is a Variable? A variable is a named object that holds a value. (CallerEnteredDigits).object-name.variable-name Where: • The object-type is an object category.LongestAvailable) ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. the function: Max(SkillGroup. the formula returns false. BosSales). For example. such as Service. otherwise. You use variables in formulas to select targets and help in call tracking. • The variable-name is the name of an object that can hold a value. such as the name of a Service (for example.).

RouteSelect. Digits to be passed to the routing client for Yes forwarding to the call recipient. A value that is unique among all calls ICM No software has processed since midnight. Yes Provides the ability to test the error path No of the Label. contact classification data. If 1. with the longest available agent. Open Tools > Miscellaneous Tools > System Information. Manager. If 0. RouterCallDay RouterCallKey Integer Integer ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Yes CustomerProvidedDigits DialedNumberString ExpCallVarName String String String NetworkTransferEnabled Integer PeripheralVariable1-PeripheralVariable10 String RequeryStatus Integer Values passed to and from the peripheral. Billing telephone number of the caller. Check Enabled in the CLID Masking section of the screen to turn on. No Expanded Call Context (ECC) variable Yes value assigned in scripts and passed with contact. 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 finds the skill group. CLID presentation should be Set in restricted. Yes No If 1. Variable Data Type Description User Setable CallerEnteredDigits CallingLineID CLIDRestricted String String Integer Digits caller entered in response to prompts. Telephone number dialed by the caller. and data to be passed to the peripheral that receives the contact. If 0. and Select nodes to determine the specific network cause of failure and conditionally retry the attempt as necessary. network transfer is not enabled.0(0) 137 . CLID presentation should Configuration not be restricted. network transfer is enabled. from all skill groups defined in the target set for the script node that calls the function. Call control variables include information about where the route request came from. What are Call Control Variables? Call control variables provide information about the current contact that is being routed by the script. Queue. An encoded value that indicates the date No on which ICM software processes the call.

com/en/US/products/sw/custcosw/ ps1001/tsd_products_support_series_home. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. and you can create others through Configuration Manager. If it does not involve translation routes or IPCC. Generally speaking. ECC values are written to Termination Call Detail records only if. and so on). it can store the values of all call variables. Only persistent call variables are written to the historical database. but will not be written to the database. Storing excessive call variable data can degrade historical database performance. For more information. Release 7. such as using a script. an IVR. The Aspect routing client passes these variables to ICM software as part of the request and ICM software returns them with the response. however. an ECC value is explicitly set (which can be done any numbers of ways. but never assigned a value. The values of these variables are also stored in the Route_Call_Detail table of the ICM database. Number of seconds a call has been queued.html).Chapter 7: Using Formulas Variables Variable Data Type Description User Setable RouterCallDay and RouterCallKey combine to form a unique call identifier. If an ECC variable has been defined. a NIC.cisco. Non-persistent variables can be used in routing scripts. like all call variables. Yes No Note: For a Post-Routing® request from an Aspect ACD. ECC variables. No ISDN private network User to User information Indicates the result of a previous VRU node.0(0) 138 . it will not have a row in the Termination Call Variable table when a Termination Call Detail record is written.0(0) (http://www. CTI. PeripheralVariable1 through PeripheralVariable5 map to the Aspect variables A through E. What are Expanded Call Context (ECC) Variables? Expanded Call Context (ECC) variables store values associated with the contact. When defining a call variable (in ICM Config Manager or System IPCC Web Admin). Note. and when. you have the option of tagging it as either persistent or non-persistent. see the ICM Configuration Guide for Cisco ICM Enterprise Edition. Other routing clients might use some of these variables for other purposes. Persistent vs Non-Persistent Call Variables When IPCC/ICM writes call data records to its historical database. cannot be propagated. the value is recorded in the Termination Call Variable for every Termination Call Detail Segment. ECC values are passed from leg to leg on the call. This applies to null values as well as non-null values. ICM software is delivered with some ECC variables. that this depends on how each new call segment is created. and is outside the original peripheral. RoutingClient TimeInQueue UserToUserInfo VruStatus String Integer String Integer The name of the routing client that made No the route request. Once a value has been assigned.

callclass . see the Cisco E-Mail Manager Administration Guide. it may be useful when ICM software is integrated with a CRM application. The categories variable is an array containing up to 10 category values. • cisco. used to send the call class from Collaboration Server to Media Blender by way of the pre-call message. • cisco.Chapter 7: Using Formulas Variables Expanded Call Context Variables for E-Mail Manager Messages Each E-Mail Manager message routed through ICM software has three associated ECC variables: • cisco. Category values are configured by the E-Mail Manager administrator.cmb. The ECC variables for E-Mail Manager messages are created by default during ICM software installation. For more information on routing e-mail messages. The value of the variable can be used to categorize the contact in a script.The priority of the message.Specified by the peripheral.Specified by the peripheral.cisco. While typically the Message Key would not be used to categorize a contact in a script.namedvars property in Media Blender. enabling Web callback requests to be routed through ICM software.cisco. the Message Key could be recorded in the CRM database for future reference to e-mail correspondence with a customer.cmb . ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. • user.cem. 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.Category .cem. For more information on Web Callback.The unique identifier of the message that E-Mail Manager is requesting ICM software to route. see the Cisco Media Blender Administration Guide. The value of the variable can be used to categorize the contact in a script.namedvars property in Media Blender.The categories of the message.cem. The ECC variables are: • user. which is "0" through "3" – "0" for Normal – "1" for High – "2" for Very High – "3" for Urgent • Note: The priority if set through the E-Mail Manager rules. The value of the Priority variable.MessageKey .0(0) 139 .Priority .

How to Set Variable Values with the Set Variable Node Figure 102: Set Properties window ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0) 140 . • A user variable can store a value up to 40 characters long. • Be associated with an object type. see the Cisco ICM Software Configuration Guide. For more information.Chapter 7: Using Formulas Variables For more information on configuring ECC variables. for example. you can then use the Formula Editor to access the variable and reference it in expressions. Each user variable must: • Have a name that begins with user. You create user variables through the ICM Configuration Manager.) • Be identified as a persistent (retains value across CallRouter restarts) or non-persistent (does not retain value across CallRouter restarts) variable. you could create a user variable called usertemp to serve as a temporary storage area for a string value used by an If node. see the Cisco ICM Software Configuration Guide. What are User Variables? User variables are variables you create to serve as temporary storage for values you can test with an If Node. just as you would with a built-in variable. For example. After you have defined a variable. Service. (This enables ICM software to maintain an instance of that variable for each object of that type in the system.

• Array index . the value of the SkillGroup.ICMAvail variable.Enter the value to assign to the variable. if the Array Index expression evaluates to 2.Avail and the SkillGroup. The value can be: – A constant – A reference to another variable – An expression SkillGroup.ICMAvail variables: Case SkillGroup. The following table describes the difference between the SkillGroup. • Note: This field is only available if you select an array variable in the Variable field.The specific variable you want to set. Same Multiple Domains are used Number of agents in the Available state.Avail variable is the number of agents in the available state. • Define all integer fields in tables accessed by a Set Variables node as NOT NULL. the value of the SkillGroup. then the Set Variable node sets the second element of the variable array.0(0) 141 . • Value . domain. • Note: If you choose Call as the Object Type.ICMAvailable Variables When the ICM system includes only the voice channel. meaning that the agents are able to accept new calls.Enter an integer or an expression that evaluates to an integer.Select the type of object the variable is associated with.ICMAvailable Only voice domain is used Number of agents in the Available state. • Variable . There is also a SkillGroup. • Note: • The variables that are available are determined by the value you choose in the Object Type field. when the Web or E-mail channel is used with non-voice Media Routing Domains and agents log in to multiple domains.Avail And SkillGroup.Select the specific object the variable is associated with. • Object . However. For example.Avail SkillGroup. Number of agents who can actually regardless of what they may be doing in this or handle an additional task or call in the other domains. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. this field does not apply.Chapter 7: Using Formulas Variables You can set the value of a variable with the Set Variable node: • Object type .Avail variable is calculated differently.

The agent is not working on another task in a non-interruptible domain.Avail SkillGroup.Avail Variable SkillGroup. the correct variable to use is SkillGroup. the maximum task limit is 1.ICMAvailable. and an agent is below the maximum only when he is not working on any call or task. even though the agent has additional capacity for more tasks.ICMAvailable variable is the actual number of agents logged into the skill group who who can take new calls or tasks. SkillGroup. 5. The agent is below the maximum task limit.Avail is the number of agents in the skill group who are not doing anything in the domain. SkillGroup. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. 2. 4. if the agent is not a Collaboration Server Multi-session agent). This table shows the voice skill group states.0(0) 142 . 3. An agent in a domain that handles multiple tasks (such as multi-session chat) is not counted as Avail if that agent is handling a task. The agent's state in the domain is something other than "Not-Ready".Chapter 7: Using Formulas Variables SkillGroup. The following table shows some possible values for these variables.ICMAvailable Variable The value of the SkillGroup. They are routable in the domain. Note: For most domains (that is. Such agents must meet all the following criteria: 1.Avail>0 does not guarantee that there are really available agents. An agent who is logged into two domains can be counted as Avail in one domain even though that agent is handling a task in another non-interruptible domain. and the same three agents are also logged into another non-interruptible domain. Assume three agents are logged into a voice skill group.ICMAvailable Initial state First agent handles a call 3 2 3 2 1 (because there is really only one agent left to handle voice calls) 2 3 Second agent handles a Collaboration chat 2 (because there are two agents session doing nothing in the domain) Voice call ends Collaboration chat ends 3 3 If a routing script needs to check the number of available agents. such as Collaboration Server Single-session Chat. Case SkillGroup. as those apparently available agents may be handling tasks in another domain.

a false value equates to 0 and a true value equates to a non-zero value. so the positive operator (+) is optional. This table shows states for the multi-session chat group. each capable of handling two chats. A logical expression is any expression that evaluates to true or false.Avail > 0 is true and (SkillGroup. Note: This operator is rarely used. The logical negation operator (!) changes the value of a logical expression.ICMAvailable Initial state First agent handles a Collaboration chat session 3 0 3 3 (because all three agents can still handle additional chats) 3 3 2 (because the agent 1 is now in the talking state) 2 3 Second agent handles a Collaboration 1 chat session Third agent handles a Collaboration 0 chat session First agent handles second Collaboration chat session 0 3 (even though a total of 4 2 (because only the second and chats are in progress. changing each 1 bit to 0 and each 0 bit to 1. Example: If the current value of SkillGroup.Avail > 0) is false. Script Editor shows the ICMAvailable value instead of Avail value when displaying skill group real-time data. only third agents can handle an 3 agents are doing the additional chat) work) By default. Example: 2 and +2 represent the same value.Sales. -2 represents a negative value.TalkingIn SkillGroup. Assume three agents logged into a multi-session chat skill group. The negative operator (-) changes the sign of a value. Case SkillGroup.Avail is 3.Sales. Note: Numerically.Avail SkillGroup.0(0) 143 . ~ One's complement Arithmetic Operators The Arithmetic Operators in the following table take two operands: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. then SkillGroup.Chapter 7: Using Formulas Variables Following is another example showing agents handling multi-session chat.Sales. Operates on a bit value. Operators Prefix Operators The Prefix Operators in the following table take a single operand: Operator Meaning Comments/Examples + ! Positive Negative Logical negation Numeric values are positive by default. Example: 2 represents a positive value.

Examples: returns the number of agents who are logged on to the service but not currently available. != 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. < >= <= Less than Greater Than or Equal To Less Than or Equal To Logical Operators The Logical Operators in the following table take two operands. service. evaluates to because the multiplication is performed first.0(0) 144 . / + - Division Addition Subtraction Equality Operators The Equality Operators in the following table take two operands: Operator Meaning Comments/Examples == Equal to Equality operators allow you to determine whether two values are equivalent or not. You can use them in making calculations for a skill group. If either is false. the overall expression is false. multiplication and division. Note: Multiplication (*) and division (/) operators are evaluated before addition (+) and subtraction (-) operators. Examples: is true if any calls are currently queued for the service. or route. is true if at least as many agents are Ready as Not Ready. is true if all agents logged on to the service are currently available. : is true if more members of the skill group are in the Not Ready state. subtraction.Chapter 7: Using Formulas Variables Operator Meaning Comments/Examples * Multiplication Arithmetic operators perform the basic operations of addition. :The following is true if the skill group has at least one agent logged on and no agents are currently available: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Logical operators examine the values of different logical expressions: Operator Meaning Comments/Examples && And The expression is true if both of the operands are true.

Its syntax is as follows: ICM software evaluates the expression by first examining the logical expression condition and then doing the following: If the result is true.0(0) 145 . & . If the result is false. :The The following expression turns off the six low-order bits of AvgTalkTimeTo5: Note the use of the complement operator (~) with the constant. 1 if the original value is negative). The following expression determines whether the number of agents available for skill group S1 is even or odd: The concatenation operator (&) joins two strings end-to-end. In this case. | Inclusive Or ^ Exclusive Or Miscellaneous Operators The following table lists miscellaneous operators: Operator Meaning Comments/Examples ? Conditional The conditional operator (?) takes three operands. returns the value The sequential or comma operator (. :The following is true if the skill group has at least 5 agents logged on or no agents are currently available: However. (An Exclusive Or applies the rule "one or the other. Concatenation Sequential << Shift left ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. The two right-most positions are filled with zeroes: The following example shifts the bits in Avail two places to the right. The shift left (<<) and shift right (>>) operators shift the bits within a value.) takes two operands. Note: The equality (==) and relational (>) operators are evaluated before the logical operators (&& and ||). the positions are filled with sign bits (0 if the original value is positive or zero. but not both. Operator Meaning Comments/Examples & And The & Bitwise Operator turns specific bits in a value on or off. The value of the overall expression is the value of the right expression. the expression is false if less than five agents are logged on and there is an agent available. This is equivalent to rounding the value down to the next multiple of 64. If both are false. then the overall expression evaluates to the expression false-result. Bitwise Operators The Bitwise Operators in the following table take two operands. each of which is an expression. the overall expression is false. The following example shifts the bits in Avail two places to the left.Chapter 7: Using Formulas Variables Operator Meaning Comments/Examples || Or The expression is true if either or both of the operands is true."). The first expression typically affects the valuation of the second. Exclusive Or evaluates the result as false and sets a 0 bit in the result. ICM software evaluates the left expression first and then the right expression. then the overall expression evaluates to the value of the expression true-result. Inclusive Or and Exclusive Or differ in the way they handle the case where bits in both values are 1: Inclusive Or evaluates the result as true and sets a 1 bit in the result.

In all other cases where operators have equal priority. dd. Note: Do not use the slash (/) character in defining a date function. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. The order of evaluation within each priority level can also be important. Because it is the division operator. a string of the form mm/dd/yy. The given date can be a floating point value (as returned by the now function). 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. date (with no arguments) returns the current date. Assignment operators are also evaluated from right-to-left. or three integers: yyyy. the function would not return the results you are looking for. You could enclose the argument within a string----but the preferred format is: . 7. then those with priority 2.0(0) 146 . and so on. = date(2001. 15) tests whether the current date is July 15. Note: The operators with priority 1 are evaluated first.Chapter 7: Using Formulas Variables Operator Precedence The following table shows the order in which operators are evaluated. Priority Operator type Operators 1 2 3 4 5 6 7 8 9 10 11 12 13 Prefix (unary) Multiplication and division Addition and subtraction Shift right and shift left Relational Equality Bitwise And Bitwise exclusive Or Bitwise inclusive Or And Or Conditional Sequential +-!~ */ +>> << < > <= >= == != & ^ | && || ? . 2001. mm. Prefix operators are evaluated from right-to-left in an expression. they are evaluated left-to-right.

. etc. mm [. The given date must be a floating-point value. n2 [. Returns the smallest of the operands. The given date must be a floating-point value. Returns the current date and time. The given time can be a floating point value. tests whether the current time is after 2:00 PM. or two or three numeric values: hh. Returns the minutes (0-59) of the current time or a given time. Returns the largest of the operands. hour [ (time) ] Integer minute [ (time) ] Integer month [ (date) ] Integer now Float second [ (time) ] Integer time [ (time) ] Float weekday [ (date) ] Integer year [ (date) ] And Mathematical Functions The following table lists the built-in mathematical functions: Function Data Type Return Value/Example abs(n) max(n1. Returns the current system time or the time portion of a date-time value.) of the current date or given date. 2001.) Floating Point or Integer Floating Point or Integer Integer Returns the absolute value of (the number with no sign). Returns the seconds (0-59) of the current time or a given time. (with no arguments) returns the current time. tests whether today is Tuesday. The given date must be an integer or floating-point value. Monday=2. tests whether the current time is within the last ten seconds of a minute. This function is useful for comparing the current date and time to a specific point in time. The given time must be a floating-point value as returned by the time function. The given time must be a floating-point value. returns the value 3. Each operand must be numeric. as returned by the date or now function. tests whether the current time is before noon.0(0) 147 .Chapter 7: Using Formulas Variables Function Data Type Return Value/Example day [ (date) ] Integer Returns the day of month (1-31) for the current date or a given date. as returned by the date or now function. with the date represented as an integer and the time represented as a fraction. . returns the value 15. as returned by the date or now function. as returned by the now function. Note: You can use the date or time functions without any arguments to return just the current date or time. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. tests whether tomorrow is the first of the month. Returns the month (1-12) of the current month or a given date. n2 [. Returns the year of the current year or given date. Returns the current day of week (Sunday=1.M. use the expression . .) min(n1. returns the value -2. The given date must be an integer or a floating-point value. Returns the hour (0-23) of the current time or a given time. as returned by the date or now function. to test whether the current date and time is later than 10 P. Each operand must be numeric.. tests whether the current time is in the second fifteen-minute interval after an hour. December 24. a string of the form hh:mm:ss.n3] . as returned by the time function. tests whether the millennium has passed. . The given time must be a floating-point value. tests whether the current month is June. ss ].n3] .

Returns the starting location of string1 within string2. returns the value defg.n) ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.) If you are using the LAA rule in the Select node. returns the value 6.0(0) 148 . tests whether the CLID is from the Maryland region.) find(string1. Returns left-most n characters of string. right(string. If string1 is the null string. returns the current hour in 12-hour format rather than 24-hour format. Returns the concatenation of the arguments.string2) String That portion of string2 following the first occurrence of string1. Miscellaneous Functions The following table lists the built-in miscellaneous functions: Function Data Type Return Value/Example after(string1.index ]) String Integer if(condition.n) len(string) mid(string. (This function is Integer valid only in a Select node. returns the value 3.start. The function takes up to eight arguments. If you specify an index value. string2 [. string2 is returned. returns the value 99.string2) String ClidInRegion Logical concatenate(string1.Chapter 7: Using Formulas Variables Function Data Type Return Value/Example mod(n1. returns the value 28. If string1 does not occur in string2. the null string is returned. . . Returns the square root of . You can use the Name variable of a region to avoid entering a literal value.string2. string2 is returned. Returns a substring of string beginning with the start character and continuing for length characters. result returns the number of seconds the selected agent has been available. the null string is returned. If string1 is the null string. If string1 does not occur in string2. (The operand n must be numeric and non-negative. Returns the number of characters in string. returns the value abcde. returns the value bcd. searching starts with the specified character of string2. Returns a random value between 0 and 1. The value string must be the name of a defined region.false-value) Logical left(string. returns the value abc. Indicates whether the CLID for the current contact is in the geographical region specified by string. returns the value abc. .true-value.n2) random() sqrt(n) trunc(n) Floating Point or Integer Floating Point or Integer Floating Point or Integer Floating Point or Integer Returns the integer remainder of n1 divided by n2. false-value if the condition is false. That portion of string2 that precedes the first occurrence of string1.) returns the value 7.length) result String Integer String Floating Point or Returns the result of the current Select node. Returns the value of truncated to an integer. before(string1. Returns a value of true-value if the condition is true. returns the value cde. String Returns right-most n characters of string.

When entering the function definition. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. tests whether the database C name is a valid value.value) String String Logical String Returns a substring of string beginning with start character and continuing for length characters. Function definition. otherwise. Returns whether variable has a valid value. For example. listing all the custom functions currently defined. Integer Custom Functions This section contains the following information: Note: <Skipped table here> What are Custom Functions? Custom functions are those functions you create for use within scripts. The parameters to a function are numbered beginning with 1. Click Add to open the Add Custom Function dialog box. surround it with percent signs (%).start [ .0(0) 149 . %3% is a reference to the third parameter. b. as opposed to built-in functions. select Custom Functions. or more parameters. keep the following in mind: c. If variable has a valid value. Step 2 Step 3 Function name. returns the value 01851. Specify the following: a. 1. length ]) text(n) valid(variable) ValidValue(variable. returns the value 5. The number of parameters to be passed to the function. A function may take 0. value(string) Floating Point or Converts a string to a numeric value. Converts a numeric value to a string. returns the value "5". returns that value. from the Script menu. The expression to be evaluated when the function is called. The Custom Functions dialog box opens. returns "value". returns either a name from the database or the string value None. To reference a parameter within the expression.Chapter 7: Using Formulas How to Add a Custom Function Function Data Type Return Value/Example substr(string. How to Add a Custom Function Adding Custom Functions Step 1 In Script Editor. Number of Parameters. All custom function names must begin with user.

– Imported Object. select Custom Functions. Click Import. click OK to apply changes and to close the dialog box. • If some imported objects were not successfully auto-mapped. (The Validate All button lets you validate all the scripts that reference any custom function. The Object Mapping dialog box contains three columns: • Object Types. Name of imported object.0(0) 150 . the new name must begin with user.Chapter 7: Using Formulas How to Import a Custom Function The lower portion of the dialog box is just like the Formula Editor. Test the function by entering an example of how you might reference the function. Click OK to access the Object Mapping dialog box. You can use it to help build the expression. The type of imported objects. the Object Mapping dialog box appears. Note: If you choose to rename the function. Include a specific value for each parameter. The Custom Functions dialog box opens. Step 4 Step 5 When finished.ICMF) and click Open. Choose one of the options and click OK. from the Script menu. Step 6 Step 7 Step 8 How to Import a Custom Function Importing Custom Functions Step 1 In Script Editor. a message window appears prompting you to review the mappings. The Test Function dialog box opens. listing all the custom functions currently defined. Step 2 Step 3 Step 4 The Script Editor performs automapping and the following happens: • If all imported objects were successfully auto-mapped. click Test. The Import Custom Function dialog box opens Choose a file name with an ICMF extension (. The Script Editor examines the file for naming conflicts. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.) When finished. Use one of the Validate buttons to validate the scripts that reference a selection function. Click Evaluate to see how the Script Editor interprets the function call and click Close to return to the Add Custom Function dialog box. a dialog box appears listing options for resolving the conflict. with all unmapped objects labeled Unmapped. If a conflict is found.

• (Optional. When the mapping is complete. click OK.) Click an Imported Object value. Select the custom function(s) from the list and click Export. select Custom Functions.Chapter 7: Using Formulas How to Export a Custom Function Mapped To. the script can only be saved in .ICMF format.) Change the File Name. What this imported object will be mapped to. Objects may be left unmapped. The custom function(s) are saved to the specified file in text format. Step 4 Step 5 Click Save. The Custom Functions dialog box opens. Note: You cannot change the file type.0(0) 151 . • (Optional. The Mapped To column displays all the valid objects on the target system. that functions name appears in the File Name field. the File Name field is blank. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Note: If you selected a single function. listing all the custom functions currently defined. How to Export a Custom Function Exporting Custom Functions Step 1 In Script Editor. If prompted. Step 2 Step 3 (Optional. The Export Custom Function dialog box opens. If the file name already exists. If you selected more than one function.) Select an object from the Mapped To columns drop-down list on the target system that you want to map the imported object to. click Apply and Finish. the resulting custom function will not be valid until all objects are mapped. however. from the Script menu. the system prompts you to confirm the save. Note: Multiple objects may be mapped to the same target.

0(0) 152 .Chapter 7: Using Formulas How to Export a Custom Function ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.

for specific dialed numbers. page 155 How to Schedule an Administrative Script. page 155 How to Use Preferences to Set an Active Script. you should check that all routes referenced have valid labels for the routing clients and dialed numbers for which you have scheduled the script.0(0) 153 . ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. page 155 How to use the Script > Make Active Version Command. Each label is valid only for specific routing clients and. page 156 Monitoring Scripts . To check script routes: Step 1 Start Check Routes from the ICM Admin Workstation group. Note: You must have saved the script to the ICM database before you can check the routes. page 162 How to Import a Script . This section contains the following topics: • • • • • • • • • • • How to Check Script Routes. page 161 How to Export a Script . optionally. For ICM software to route calls through a script. you must have defined a routing label for each route referenced in the script. page 155 How to View Enabled Scripts.Chapter 8 Script Administration This section describes Script Administration. page 162 How to Modify Script Version and Schedule System Information . The Check Routes window opens. page 153 How to Set Active Scripts. page 157 How to View Router Logs . page 163 How to Check Script Routes After you save a script.

(This button becomes enabled when you choose a specific translation route. select the route name and click View Translation Route.) Check Routes reads the latest version of scripts and configuration data from the local database. Note: From the Peripheral Target dialog box.0(0) 154 . To see the effect of changes. The following symbols might appear next to a label: • The label is not valid for the specified routing client. The associated peripheral targets appear in the right column. select the peripheral target. an error message appears in the Errors field. check Use Network Transfer specify a routing client and a dialed number. The routes referenced in the script appear in the left column. • Dialed number for the call to be sent through the script. • The routing script name.) Note: To see the configuration details for a translation route.Chapter 8: Script Administration Step 2 Using the drop-down lists. The associated peripheral targets appear in the center column.) The Translation Route dialog box opens. select the route name in the left column. Step 4 Step 5 To see the specific peripheral targets associated with a route.) Step 3 To validate the route of a network transfer call target. The routes referenced in the script appear in the left column. If any of these routes does not have an associated label that is valid for the routing client and dialed number you have chosen. (If any of these routes do not have an associated label that is valid for the routing client and dialed number you have chosen. (The default is the active version. Step 7 To check configuration information for a route or peripheral target. Check Routes to display the configuration information for that route or peripheral target. Step 8 To correct any problems you find through Check Routes. Step 6 To see the specific labels associated with any of these peripheral targets. click Reload in the Check Routes window. • The label is not valid for the specified dialed number. • The version number of the routing script. be sure to update the Version field. an error message appears in the Errors field at the bottom of the window. Step 9 ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. select the following: • Name of the routing client to send calls through the script. Use the drop-down list to select Routes Used Directly by Script (the default) or Translation Route Used in Script. double-click a route or peripheral target name. make and save changes within the Script Editor or the Configuration Manager. (If you have created a new version of the script. you can access information about the route by clicking the Route button.

select Script > Make Active Version or click Make Active Version. it is considered enabled. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Use the Enabled Scripts dialog box to examine all scripts currently enabled in the system. Step 2 How to use the Script > Make Active Version Command Step 1 In an open script in edit mode. check the Automatically Make a Script Active When Saved checkbox. The Script Editor Preferences dialog box opens. you must manually activate the script after saving it.0(0) 155 . whenever you save a valid script. Optionally. You can use one of three methods to set the active version of a script: • Preferences • Make Active Version command • Script Explorer How to Use Preferences to Set an Active Script Step 1 Within Script Editor. The Call Count column lists the number of calls the script has processed. The dialog box lists all call types and the script that is currently scheduled for each.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. ICM software makes that new version the active version. • When you select this checkbox. • When you clear this checkbox. To view all enabled routing and administrative scripts: Step 1 Within Script Editor. select Options > Preferences. The Enabled Scripts dialog box opens listing all routing scripts that are scheduled for the current date and time. ICM software makes the open script version the current active version. select Scripts > Enabled Scripts. 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. How to View Enabled Scripts Once a script has been saved and scheduled.

• The timing of script execution might not be exact. the counts are updated every 15 seconds. Step 7 ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. In the Frequency section. The Add Administrative Schedule dialog box appears. Step 3 To see all administrative scripts scheduled for the current date and time. use the Display Count From section of the dialog box to choose how to display the number of calls processed. Notes: • The first execution occurs at the start time of the schedule. and Duration sections. listing any administrative scripts that are currently scheduled. The Administrative Manager dialog box opens. Step 5 Step 6 Optionally. The last script execution might occur slightly after the scheduled end time. When you have finished.Chapter 8: Script Administration How to Set Active Scripts Step 2 Optionally. This lists all administrative scripts. click the Description tab and add some descriptive text about this schedule. b. Click Add. opening at the Script tab. How to Schedule an Administrative Script To schedule an administrative script: Step 1 Within Script Editor. Whichever option you choose. Select the script you want to schedule and click the Period tab. Click OK to save your changes to the ICM database and close the Administrative Manager. If the script has been scheduled for more than one call type. not necessarily with call types. click the Administrative Scripts tab. specify the range of times when this script may run. Specify when you want the script to be active: a. This allows you to see which scripts are currently handling calls. Step 2 Step 3 Step 4 In the Date Range.0(0) 156 . click OK to submit the schedule and return to the Administration Manager. scripts execute within a few seconds after the scheduled time. • The last execution occurs before or at the end time of the schedule. Typically. specify how often the script should run during the specified time range. Note: The Call Count values are associated with scripts. Recurrence Pattern. select Script > Administrative Manager. the Call Count value includes all calls processed by the script regardless of call type.

) Use the Script > Display Monitor Labels command while in edit mode to display blank monitor labels on each connection of the script. Monitor Labels Most monitor labels display the raw number and percentage of route requests that have passed through the connection since the start of the monitoring period. When you monitor a script. view the script in Monitor mode. You can now perform quick edits when monitoring a script.0(0) 157 . position nodes so that there is enough space for the monitor labels to display. Each statistic is updated automatically as new real-time data become available about every 15 seconds. • Check Allow quick edit from monitor mode. • Click OK. When you edit a script. that is. Each target set also lists the number and percentage of calls routed to each of the targets in that set. you cannot rearrange the nodes at that time.Chapter 8: Script Administration Monitoring Scripts Monitoring Scripts After you save a routing or administrative script. unless you have enabled Quick Edit from Monitor Mode as described below. labels appear on each connection in the script. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Enabling Quick Edit from Monitor Mode To enable Quick Edit from Monitor Mode: • From the Options menu. select Preferences. (Because you cannot make any changes to a script while in Monitor mode. Watching routing requests moving through a script in real-time helps ensure that the routing script is operating as expected. you can observe how it runs.

In the Properties dialog box of a node within Script Editor.Displays the number of calls in queue. Specify the following: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. How to Adjust Monitor Label Location To adjust the Monitor Label Location 1. • Wait • Queue • Translation Route to VRU • 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 . • InProgress meter . • Abort meter .0(0) 158 . The second row of the monitor label for all of the listed nodes displays the Abort meter.Chapter 8: Script Administration Monitoring Scripts Modified Monitor Labels The monitor labels have been modified for the following seven nodes.Displays the number of calls in progress in the node. The InProgress meter is displayed in the top row of all the monitor labels for all the listed nodes except the Queue node. The top row of the Queue node monitor label displays the InQueue meter. 2.Displays the number of calls aborted. click the Labels tab.

If the box is not checked. A drop-down menu appears. Initial monitor values are all zeros. Select File > Open to access the Open dialog box and choose the Monitor option from the Open Mode drop-down list. New values are added to these numbers every 15 seconds. From within an open script in the Script Editor workspace. then when the Script Editor is in Monitor mode. – 3. New values are added to these totals every 15 seconds.Chapter 8: Script Administration Monitoring Scripts – Label position. 2. In Script Editor. For Each Interval. Starting Now. New values are added to these totals every 15 seconds. close to the targeted node (Destination). labels display for each connection from the node. do one of the following: – – Select Script > Monitor Options. How to Access Monitor Mode Within Script Editor. Click OK to apply changes and to close the Select Properties dialog box. Initial monitor values are totals since midnight. 2. do one of the following: 1. How to Set Monitor Mode Options To set Monitor Mode Options 1. Click Monitor on the status bar.0(0) 159 . no labels display for connections from the node. Initial monitor values are the values reported for the most recent 15-second interval. select the Monitor radio button in the Open Script in Mode section and click Open. From within the Enabled Scripts dialog box. or half way in-between (Center). Display monitor labels. (Checkbox.) If this box is checked. 3.) Choose whether to display connection labels close to the node (Origin). – – ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. The script displays in Monitor mode in the Script Editor workspace. select Script > Monitor Script or click Monitor Script in the toolbar. (Slider. Choose among the following options: – Start of Day.

The window contents automatically change to show skill group data. rather than services. – How to View Real-time Data In viewing the number of contacts that pass through each branch of the script. All connections coming from each node add up to 100%. For specific information about the real-time data. remove existing columns. To display information about skill groups or scheduled targets. service. This updates the other fields: – The Real-Time Columns list contains all the real-time columns available in the database for the target type. including statistics for each skill group. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. or change the column labels. How to Change the Real-time Data Configuration To change the Real-time Data Configuration: 1. change the value in the field in the upper-left corner of the Real-Time Data window. The percentages for each connection from a node are calculated by dividing the number of executions that passed though the connection by the number of executions that entered the node. The Configure Real-Time Data dialog box opens. Select a Routing target type (Service. (Scroll to the right to see additional columns. or Skill groups). While in Monitor mode in Script Editor.) The values in the screen are updated continuously as new real-time data arrives at the Admin Workstation. Percentages for Entire Script. Click Configure in the Real-Time Data window or select Script > Configure Real-Time Data. select Script > Display Real-Time Data. To view real-time service or skill group data: 1.0(0) 160 . 3. Scheduled Target. the Real-Time Data window displays data about the Services referenced in the current script. call type. Use this dialog box to add new columns. you can also view real-time data about activity at the contact centers. see the descriptions of the Service_Real_Time and Skill_Group_Real_Time tables in the Cisco ICM Software Database Schema Handbook. By default. 2. click Close. The percentages for each connection are calculated by dividing the number of executions that passed through that connection by the total number of executions handled by the script. or scheduled target referenced in the script.Chapter 8: Script Administration Monitoring Scripts – Percentages for Each Node. reorder the columns. 2. The Real-Time Data window opens. When finished.

To save the changes. including: • The time that routing request was received • The dialed number (DN). to edit a Routing Target Columns heading. Use the Move buttons to change the order of the selected columns. The top field of the Router Log Viewer window displays information about each call ICM software has routed. If you select a column in the Routing Target Columns list. The Router Log Viewer window opens. make changes within the Column Header field. including: • The time the error occurred • Text describing the error ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. AHT is used for Average Handle Time. Use the Add and Remove buttons to move columns between the lists. The settings apply to the current and future Script Editor sessions. – 3.) 4. click Default Columns.Chapter 8: Script Administration How to View Router Logs – The Routing Target Columns list contains the columns to be displayed in the Real-Time Data window. and the caller's billing telephone number (ANI) • Any caller-entered digits (CED) • The label that ICM software returned to the routing client The bottom field of the window displays any errors that ICM software has encountered in routing calls. highlight the Routing Target Column name and click the Default Header button. Optionally. click the Short Headers / Long Headers radio buttons to change between the full and abbreviated forms of the default column headers.0(0) 161 . Optionally.) 6.) 5. How to View Router Logs You can view CallRouter log messages to determine how contacts have been routed and to see any errors ICM software has encountered in processing routing requests. (To change back to the default column order. the heading for that column appears in the Column Header field. or script selector. (To change back to the default header. click OK. The abbreviated forms are typically three to four letters. (For example. You Start Router Log Viewer from the ICM Admin Workstation group.

2. You cannot change the file type. If the file name already exists. a message window appears prompting you to review the mappings. click an Imported Object value. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. (The Script Editor window also highlights the script nodes that refer to this object. Select File > Export Script. Select File > Import Script. 3. the partially mapped script is opened as a new script in Import mode and the Object Mapping dialog box appears. with all unmapped objects labeled ?Unmapped. The name of the imported object. change the File name. Imported Object. Optionally. 4. If prompted. How to Import a Script To import a script: 1. Click Save.) 4. The Export Script dialog box opens with the name of the current script and version number in the File name field.0(0) 162 .ICMS format. click OK. The Select Script to Import dialog box opens. Optionally. Mapped To. The Mapped To column's drop-down list shows all the valid objects on the target system. Choose a file name with an ICM Script extension (. the script can only be saved in . Optionally. select an object from the Mapped To drop-down list on the target system that you want to map the imported object to. the system prompts you to confirm the save. The type of the imported object. What this imported object will be mapped to.Chapter 8: Script Administration How to Export a Script How to Export a Script To export a script: 1. Click OK to access the Object Mapping dialog box. If some imported objects were not successfully auto-mapped.? The Object Mapping dialog box contains three columns: – – – Object Types. – 3.ICMS) and click Open. 2. The Script Editor performs automapping and the following happens: – If all imported objects were successfully auto-mapped.

2.Chapter 8: Script Administration How to Modify Script Version and Schedule System Information Note: Optionally. 5.0(0) 163 . The System Information window opens. Within the Configuration Manager. How to Modify Script Version and Schedule System Information To modify script version and schedule system information: 1. 4. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. click Apply and Finish. When the mapping is complete. Click Save to apply your changes. Enter the Minimum Script Schedule Time. Set the number of script versions to be retained in the Retain Script Versions field. 3. select Tools > Miscellaneous Tools > System Information. select an object from the Mapped To drop-down list on the target system that you want to map the imported object to.

0(0) 164 .Chapter 8: Script Administration How to Modify Script Version and Schedule System Information ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.

In a possible deployment scenario. page 169 How to Select Script Nodes for a Feature Control Set . users need at least reference access to objects to edit scripts that contain references to those objects.Chapter 9 Script Editor Feature Control Script Editor Feature Control addresses the need of restricting users. page 166 Script Editor Feature Control . It is also possible for an administrator to use a combination of both feature control options. a user needs at least reference access to skill groups to edit a script in which those skill groups are included in the Skill Group node. For more information about Feature Control. an ICM software administrator can restrict certain people from doing specific types of script editing.0(0) 165 . This section contains the following topics: • • • • • Edit Options . or classes of users. page 169 ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. page 168 How to Assign Users to a Feature Control Set . from some or all of the functionality of the ICM Script Editor software. For example. An administrator has two means to restrict access to the editing features of Script Editor and Internet Script Editor: • Edit Options • Script Node Control Note: When ICM software is running on a partitioned system. page 168 How to Create a Feature Control Set . see the Cisco ICM Software Configuration Guide.

Edit is disabled and Quick Edit is enabled on the Script Editor toolbar. you can add. or delete any script or node. • If you are a full-edit user and are assigned to a feature control set.0(0) 166 .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. You only have Full Edit permissions for those scripts that do not contain nodes that are marked as unavailable to you in a feature set. You might want to use Quick Edit mode so as not to accidentally change the structure of a script. you can browse or monitor the script but you cannot put the script into edit mode. Your Full Edit mode editing capabilities are determined by whether or not you are assigned to a feature control set: • If you are a full-edit user and are not assigned to a feature control set. Both Full Edit and Quick Edit are enabled on the Script Editor toolbar. you can still Quick Edit the script. The Full Edit and the Quick Edit modes cannot be accessed from each other. If you attempt to put this script into edit mode a message indicating you are not authorized to enter edit mode is displayed. This allows you to edit the structure of a script or to create. However. you can add. When changing from Monitor or Browse mode to Full Edit mode. edit. Full Edit gives you restricted editing capabilities if you are assigned a feature control set. edit. or delete any script. the Script Editor workspace background goes from gray to white. Quick Edit Only Quick Edit mode allows you (the feature-control-set member) to work only with scripts in Quick Edit mode. however. and delete scripts containing the selected nodes. Full Edit (includes Quick Edit) Full Edit mode allows you to use Full Edit mode or Quick Edit mode when working with scripts. When changing ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. just not the node. If a script is opened that contains a disabled node. You can still edit any script. edit. your ability to edit specific script nodes is determined by which nodes are selected in the Node Control table (located on the Script Editor Feature Control dialog) of the assigned feature control set.

0(0) 167 . then double-click the node you want to edit. • You cannot use the File > Script Locks tool. • You cannot edit the Custom Functions dialog (Script > Custom Functions). • You cannot import scripts. 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.) ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. • Script > Make Active Version is disabled. As a Quick Edit Only User: • You can only edit scripts through Quick Edit mode. • From within the script in Monitor mode. How to access Quick Edit Mode Quick Edit can be accessed by performing any of the following steps: • Select Script > Quick Edit. any properties of the selected nodes that change the structure of a script or that reset previous reporting data cannot be edited in Quick Edit mode. • Click Quick Edit on the Script Editor toolbar.Chapter 9: Script Editor Feature Control Edit Options from Monitor or Browse mode to Quick Edit mode. • Script > Make Active Version is disabled. select. • 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. • Right-click in the Script Editor workspace and select Quick Edit. However. • You cannot edit the Call Type Manager dialog (Script > Call Type Manager). (This is only available if Options > Preferences > Allow for Quick Edit from Monitor Mode is checked. the Script Editor workspace background goes from gray to yellow. or by double-clicking on the node. • You cannot edit the Administrative Manager dialog (Script > Administrative Manager).

A script consists of nodes. routing targets. Available Column Available Column Each checked node in this column appears on the editing palette of the feature-control-set user. The feature set controls which script nodes are accessible to the user and which edit modes are available to the user. The feature control set controls which script nodes are accessible to the user. If a script is opened that contains a disabled node. just not the node. you can still Quick Edit the script. This table allows an administrator to create feature control sets that can be assigned to users. Script Editor Feature Control Script Editor Feature Control allows an administrator to create feature sets that can be assigned to users. disabled nodes are removed from the object palette. If you attempt to put this script into edit mode a message indicating you are not authorized to enter edit mode is displayed. Node Column A node is an executable element within a script. Note: The Line Connector node is always available. This column lists of all the nodes that can be used in a script. regardless of the edit mode (Full Edit or Quick Edit Only). Select Tools > List Tools > Feature Control Set List. the Node column and the Available column. connections. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. you can browse or monitor the script but you cannot put the script into edit mode. Node Control Table The Node Control table (on the Configuration Manager Script Editor Feature Control dialog) has two columns. Start the Configuration Manager.Chapter 9: Script Editor Feature Control Script Editor Feature Control When in Quick Edit mode.0(0) 168 . and comments. However. Every script begins with a Start node. Disabled nodes are removed from the object palette How to Create a Feature Control Set The system administrator can create a feature control set using the ICM Configuration Manager on the ICM distributor: Step 1 Step 2 Step 3 Ensure the users the feature set is to be assigned to are configured.

How to Select Script Nodes for a Feature Control Set Step 1 In the Feature Control Set List dialog box. select the name of the feature control set to be assigned. Click OK. click Add. Select Advanced (under Script Editor). select the nodes for this feature control set and an edit option (Full Edit or Quick Edit). Enter the name of the feature control set. use the User List tool to select a feature control set to associate with the user. Click Save. In the Script Editor Feature Control dialog box. enter a description. Step 2 Step 3 Step 4 Step 5 ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0) 169 . Step 6 How to Assign Users to a Feature Control Set Step 1 In Configuration Manager. Optionally.Chapter 9: Script Editor Feature Control Script Editor Feature Control Step 4 Step 5 In the Feature Control Set section (on the left). The name appears in the left section when Enter or Tab is pressed.

Chapter 9: Script Editor Feature Control Script Editor Feature Control ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0) 170 .

you can use Internet Script Editor to work with routing and administration scripts. page 172 Secure Socket Layer (SSL) Requirements for ISE. page 171 Internet Script Editor Requirements. page 172 How to Install and Upgrade Internet Script Editor. you must use Script Editor. page 175 Troubleshooting Tools for Internet Script Editor. without the need for a full Administrative Workstation (AW). How Internet Script Editor Works This section describes how Internet Script Editor works on and communicates with the ICM software distributor. Internet Script Editor is an application you can use to work with routing and administration scripts. Note: When ICM software is running on a partitioned system. It uses HTTP to communicate with the ICM software distributor. Internet Script Editor provides the same functionality as the ICM Script Editor software. page 171 How Internet Script Editor Works. you cannot edit security information for a script with Internet Script Editor. This topic contains information about Internet Script Editor in the following sections: This section contains the following topics: • • • • • • What Is Internet Script Editor?. Internet Script Editor works through the IIS Web server on ICM software distributor.0(0) 171 .Chapter 10 Internet Script Editor (ISE) Instead of or in addition to Script Editor. page 176 What Is Internet Script Editor? This section describes the Internet Script Editor application. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.

) being exchanged from a user running a web browser and the server hosting the application services. the virtual directories and/or web pages are enabled for SSL and get configured with 128-bit security for the entire session. By convention. The SSL Encryption Utility (SSLUtil. Secure HTTP communications are enabled by the use of SSL 3. ISE being one of them. This addresses the need to encrypt sensitive data (which includes user names and passwords. An IIS Web Server is used in the ICM environment for a number of applications.0 (in IIS 6. A digital certificate is an attachment to an electronic message used for security purposes. toolbars. A self-signed certificate is not automatically recognized by a user's browser(s) and. SSL works by using a private key to encrypt data that is transferred over the SSL connection. etc. call control data in scripts. Most Web browsers that support SSL have a list of trusted CAs (Certification Authoritys) whose certificates they automatically accept. the browser asks the user to choose whether to accept or decline the connection. a self-signed certificate does not provide any guarantee concerning the identity of the organization that is providing the website. Internet Script Editor is supported on following operating systems: • Windows 2000 • Windows 2003 • Windows XP Secure Socket Layer (SSL) Requirements for ISE Secure Socket Layer (SSL) is a protocol developed by Netscape for transmitting private documents via the internet. and work space are utilized in the same manner in both applications. URLs requiring an SSL connection start with https: rather than http:. imported to Local Machine Store.0) which implements encryption/decryption of client requests and server responses. palette. If a browser encounters a certificate who’s authorizing CA is not in the list. The differences between the two occur primarily in the method by which each application communicates with the ICM software. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. The most common use of a digital certificate is to verify that a user sending a message is who he or she claims to be. The menus.exe) provides the ability for both ICM Setup and System IPCC Setup to create and install a self-signed server certificate. and to provide the receiver with the means to encode a reply.0(0) 172 . When the certificate has been generated.Chapter 10: Internet Script Editor (ISE) Internet Script Editor Requirements The Internet Script Editor and the ICM Script Editor GUIs are essentially the same. configuration data. Internet Script Editor Requirements This section describes Internet Script Editor requirements. and installed on the Web Server.

If the client successfully connects to the server. It also sets the encrypted flag in the registry so that the next time it will use HTTPS. one of the following occurs. and the encrypted flag had to be set on the ISE client. the ISE client did not check to see if the certificate was valid or not. For an ICM/IPCC release 7.Chapter 10: Internet Script Editor (ISE) Secure Socket Layer (SSL) Requirements for ISE 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). it fails over and tries to connect to the server via HTTPS. the certificate setup on the server. When the ISE client connects to the server. This utility contains the functionality to regenerate the self-signed certificate and replace the IIS installed certificate as needed. During upgrades.0(0) 173 . if you decide to keep the client at Windows 2000. the server sends the certificate to the client. If you areinstalling a new ISE client. If the encrypted flag is not set: – The client starts with setting up an HTTP connection. the server had to be manually configured. The client presents the certificate prompt. It then establishes the session with the server via HTTP. ICM setup does not configure an SSL connection or setup the certificate. unless it has been previously saved locally. If the client cannot connect to the server. 1. HTTP was setup as the default connection using port 80. – After the HTTPS connection is established. An upgraded ISE client uses the connection that was previously configured. If the client required an SSL connection (using port 443). ICM setup now configures the SSL connection (using port 443) by default and sets up the certificate on the ISE server (the Distributor AW). it sents the user account and password in plain text. With ICM/IPCC release 7. This enables you to change the default SSL settings (implemented by Setup). an HTTPS connection is configured by default. In addition. If the HTTPS connection is setup successfully. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0) on Windows 2003.0(0) system on Windows 2000. the client always uses the default port setting (80) unless communications fail then both the server and the client communicate using HTTPS (still using port 80 . Internet Script Editor Client While Cisco supported SSL on Windows 2000 for previous versions of ICM.no change). the client sends the encrypted user account and password.

The client presents the certificate prompt (see the Security Alert Dialog Box (page 174)). the secure connection is automatically configured to the default setting of 443 for SSL. the client sends the encrypted user account and password. If the client cannot connect to the server. If the client successfully connects to the server. After the HTTPS connection is established. it prompts you to determine if it should failover to try to connect to the server via HTTP. unless it has been previously saved locally). the server sends the certificate to the client. the server sends the certificate to the client. the client sends in the user account and password in plain text once the HTTP connection is established. it does not set the encrypted flag in the registry so that the HTTPS connection will still be initiated the next time. After the HTTPS connection is established.Chapter 10: Internet Script Editor (ISE) Secure Socket Layer (SSL) Requirements for ISE Figure 103: Security Alert Dialog Box 2. If you select Yes. the initialization is the same for every HTTP request. the secure connection is automatically configured to the default setting of 443 for SSL. During upgrades on clients with Windows 2003. If the encrypted flag is set: – – The client starts with setting up an HTTPS connection. or not. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. During runtime. During new installations on MS Windows 2000 and Windows 2003. Note: ISE client is able to revert back to unencrypted communication over port 80 if it fails to establish an HTTPS session. However. you must manully unset the flag in the login screen.0(0) 174 . If you want to use the HTTP connection for all future connections.

When the download is complete. and ICM Instance information. You can also open the iscripteditor. as well as in the Start menu in the Programs/Cisco Systems Inc. Click OK. Enter your Domain and User Name. Click Download Internet Script Editor. navigate to iscripteditor.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.exe and execute the file. Click Connection. On your desktop. Enter the Domain of the ICM system. Click OK. program group. click Finish. Click Save to begin the download. When the InstallShield Wizard indicates the installation is complete. Enter the correct Address. Enter your User Name and Password.exe. When the InstallShield Wizard for Internet Script Editor starts. then click OK. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. where server-name is the name of the computer on which you installed the distributor with the Internet Script Editor client package. close the browser. Select the default Destination Folder by clicking Next. and then click Next. or click Browse to navigate to the desired Destination Folder. and Password. Port. To start Internet Script Editor Step 1 Step 2 Step 3 Step 4 Step 5 Step 6 Step 7 Double-click the desktop shortcut for Internet Script Editor (IScriptEditor). .0(0) 175 . click Next to continue.exe file directly from the Web page Step 2 Step 3 Step 4 Step 5 Step 6 Step 7 Step 8 Step 9 Navigate to the directory where you want to save iscripteditor. Step 10 A shortcut for Internet Script Editor (IScriptEditor) appears on the desktop.

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. Because the client runs on hardware completely outside of Cisco control. A Web page opens from which you can download the new Internet Script Editor. you receive a message informing you that you can upgrade Internet Script Editor. no support for remote control debugging is provided. typically involving protocol or database changes. Watson PCAnywhere Internet Script Editor writes to EMS logs and purges old logs on startup just as ICM Script Editor does. these upgrades typically contain GUI enhancements. To upgrade Internet Script Editor After you start Internet Script Editor. Other upgrades. You cannot use Internet Script Editor until you accept mandatory upgrades Step 1 Accept a software upgrade. Troubleshooting Tools for Internet Script Editor This section describes the tools that you can use to troubleshoot the Internet Script Editor Client-Side Internet Script Editor Troubleshooting Tools The following table describes the client-side Internet Script Editor troubleshooting tools: Troubleshooting Method Description EMS trace files Dr. Note: Some upgrades are optional. Watson output more difficult to debug. above. These logs are located in: Internet Script Editor is built without symbol tables to keep it small. follow the directions on installing Internet Script Editor.Chapter 10: Internet Script Editor (ISE) Troubleshooting Tools for Internet Script Editor Step 8 Upgrade Internet Script Editor as necessary. This makes Dr. Step 2 From this point. You are not able to use Internet Script Editor during the upgrade.0(0) 176 . ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. if there is a newer version. are mandatory.

0(0) 177 . no support for remote control debugging is provided. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.Chapter 10: Internet Script Editor (ISE) Troubleshooting Tools for Internet Script Editor Troubleshooting Method Description EMS trace files PCAnywhere ISAPI DLL generates trace output on the distributor. Because the client runs on hardware completely outside of Cisco control. System administrators can use the Dumplog utility to display the contents of the logs.

Chapter 10: Internet Script Editor (ISE) Troubleshooting Tools for Internet Script Editor

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)

178

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. This allows better scaling, resiliency, and simpler, more standardized scripting across sites. The Gateway PG looks to the ICM like any other PG, it does not look like IPCC. It has two different Peripheral types to allow connection to either a "child" IPCC Enterprise system, or an 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

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)

179

Chapter 11: Scripting in an IPCC Environment IPCC Gateway

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. Object tracking is accomplished the same as on all legacy PIMs, through matching Peripheral Numbers on the Agent, Skill Group, and Service Table. Routing to the child is to peripheral targets (Skill Groups/Services) as with all legacy TDMs, in contrast to IPCC. All normal TDM functionality is supported: Pre-Routing, Pre-Routing with Translation routing, post routing, etc. Third party call control is the only exception. Full variable passing is done between the parent and child (you can send/receive call variables 1-10 and ECC variables). Scripting is consistent with traditional PGs, not IPCC. Scripts use LAA, MED, target services, and skill groups; but not agents. Note: NCT is not supported with either the Express or Enterprise Gateway. This is due to the CTI control being on the ACD (Child) rather than on the enterprise ICM.

Deploying IPCC Gateway for IPCC Enterprise
Where to deploy IPCC Gateway for IPCC Enterprise: • The gateway PG is ideal for deployments that have several call centers spread geographically. • The call centers are independent of the ICM Central Controller so in a WAN outage, the call centers (System PG systems) can operate totally independently of the ICM. • The gateway PG is also an ideal way to integrate new IP call centers into an existing ICM environment with many TDM ACD sites. Note: In a single script node (MED) peripherals that are legacy and gateway type can be used to select the best "site" to send the call to. How does it work: • The gateway PG works by monitoring all the events that happen on the child IPCC system. This is identical in function to a PG/PIM connected to any other ACD. By knowing the active call and agent states the ICM router can have information available to decide if that "site" is the best to send a call to. • The child system can also send up route requests to the parent ICM to decide where to send a call (Post/Translation routing). • The event monitoring is accomplished by the PIM connecting to the child systems CTI Server modified version of the CTI Protocol.

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)

180

Chapter 11: Scripting in an IPCC Environment IPCC Enterprise

Object Mapping Overview (Enterprise) • Agents on the child map to Agents on the parent • 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. • Call variable transfer is supported. Object Mapping Overview (Express) • Agents on Express child map to Agents on the parent by Agent ID. • CSQs on the child map to Skill Groups on the parent by CSQ ID. • Applications on the child map to Services on the parent via by Application ID. • There is no direct mapping of Service Member. This needs to be done manually on ICM based upon the Select Resource steps in scripts on Express.

IPCC Enterprise
This topic contains the following information and recommendations for writing routing scripts when ICM software is part of an IPCC Enterprise environment:

Prioritizing Agents
You can prioritize agents within a skill group by: 1. Using a Select node and grouping the agents that have a higher priority in a skill group in the first Select Longest Available Agent (LAA) node, 2. then looking for available agents in a subsequent Select node that has another lower priority grouping of agents.

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)

181

Chapter 11: Scripting in an IPCC Environment Prioritizing Calls

This is done in the case where there are idle agents when a call comes in. The order of the Select nodes within the script determines the agent prioritization.

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. If there are calls in the agent's skill group queues when an agent becomes available, the agent will be presented with the highest priority (1-10 with 1 being the highest priority) call that has waited the longest within the skill group(s) that the agent is assigned to.

Checking for Available Agents
A script that routes to IPCC agents needs to check for an available agent within a skill group. If an agent is not available, then the script should use a Queue to Skill Group node. The script execution will end when an agent becomes available or when the caller disconnects.

Using the Select Node
You can use the Select node to check for the Longest Available Agent (LAA). However, the Select node cannot check for Minimum Expected Delay (MED) of a service, because IPCC skill groups do not have a valid expected delay because the calls in the queue are on the IVR PG service. Do not put LAA Select nodes after a Queue to Skill Group node for the same skill group. This node can only be used if the call is not already queued to a skill group. There is, however, a lengthy workaround to determine the MED for a call using an IF node. See Estimated Wait Time Queing (page 237)

Queuing to a Skill Group
If you use the Queue to Skill Group node instead of Queue to Enterprise Skill Group, then do not use the base priority within the Queue node unless the option is enabled in the router through the registry. If agents are assigned to base skill groups, use base skill groups in this node; if they are assigned to sub-skill groups, use sub-skill groups. If the script has both Queue to Skill Group and Queue to Enterprise Skill Group nodes, then do not include skill groups defined within the Queue to Skill Group nodes that belong to the enterprise skill groups that are defined within the Queue to Enterprise Skill Group node.

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)

182

then use the Cancel Queuing node. In IP IVR Administration. Do not use this treatment if the call has already received ringback tone or given announcements or music. No answer supervision will be returned for this call since it is not connected to a IVR port. A Busy CTI route point and one CTI port need to be defined on CallManager and associated with the IP IVR user. The Cancel Queuing node takes the call out of all the skill groups it is queued to. If the call is not at an IVR port and the Busy CTI Route point is not defined on CallManager and IP IVR and ICM returns a busy label to CallManager. Using the Ring Node You can use the Ring node for diverting blacklisted callers. then the IP IVR port will play a busy tone from a .wav file for 30 seconds and then disconnect the call. This means that if this is the initial treatment given the caller. you need to define a new CTI Route Point of Type Ring No Answer whose dialed number matches what was previously defined on CallManager. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. then the Contact Center will accrue the charges. If a Busy CTI Route point and CTI port are not defined on CallManager and IP IVR and the call is already connected to an IP IVR port. If a Busy CTI Route point and CTI port are defined on IP IVR and CallManager. then IP IVR will tell CallManager to return a busy signal.wav file then. 800#). It is supported as a post route from CallManager. You need to define a Ring No Answer CTI port group in CallManager. Define a label of type Ring with a Label field corresponds to the CTI Route Point dialed number in CallManager and IP IVR. In IP IVR Administration. then no charges will be accrued for this call. otherwise the caller has to pay. The call will be given ringback tone until the caller hangs up. but you do not have to define CTI ports.0(0) 183 . Using the Busy Node Use the Busy node for initial overflow conditions. The one CTI port can be used for multiple calls.Chapter 11: Scripting in an IPCC Environment Canceling Queuing Canceling Queuing If the call needs to be taken out of a skill group. If the IVR port plays a busy tone from a . a new CTI Route point of Type Busy and a CTI port need to be defined whose dialed numbers match what was previously defined on CallManager. This would cause charges to occur for the call. If the call is a toll free call (for example. answer supervision will be returned to the far end. Define a label of type busy with a Label field that corresponds to the aforementioned CTI Route point dialed number in CallManager and IP IVR. the CallManager returns a fast busy to the caller for 30 seconds and then the call is disconnected.

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. This means that no charges will be accrued for this call. the router checks agent availability before sending the call to the agent. No label needs to be defined within ICM. 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. Using the End Node The End node will either try default routing. the script queues the call to a skill group. No configuration needs to be done within CallManager or IP-IVR. Do not use this node if the call has already received ringback tone or announcements or music.0(0) 184 . Call Treatment Comparison Attributes/Treatment Busy Node Ring Node Release Node End Node Answer Supervision # No if Busy CTI Route Point No defined # Yes if Busy CTI Route Point not defined Yes (only 1 CTI port needed) Initial treatment only Overflow Conditions No Anytime Blacklisted Callers No No Voice port required Timing Applications No No Initial treatment only Initial treatment only Overflow Conditions Overflow Conditions CallManager CallManager Treatment provided by IP IP IVR IVR Using the Agent to Agent Node You can use the Agent to Agent node for agent to agent transfers. it sends an error (dialog fail) to the routing client.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. If the agent is not available. It is supported as a post route from CallManager. The Agent to Agent node can also be used to send a call to the agent. the "caller" is not required to be an agent. or if there is no default label.

To provide the call with a termination point that will allow the VoIP Gateway to return the correct signals or messages back to the PSTN. ICM sends the call to the IVR port for queuing: 1. 3. ICM will automatically instruct the IVR to route the call to the agent through the Connect message. Using the Scheduled Select and Divert Label Nodes CallManager does not support the Scheduled Select node and Divert Label node. 2. Interruptible vs. If a call was queued to a skill group through a Queue to Skill Group or Queue to Enterprise Skill Group node and then sent to VRU in order to hear a non-interruptible VRU script. You cannot use these nodes to route calls to IPCC agents. Provide announcements or music or expected wait time or initial position in queue to the caller while they are waiting for an agent. the call will not be connected to the agent. Non-Interruptible If the VRU script is collecting digits from the customer in order to ascertain information regarding the caller that is crucial for a screen pop or call routing. Allow the caller an option to leave a message if the caller does not want to wait for an agent. an agent becomes available. ICM only looks for available agents for that call when the VRU script is finished and the call executes an ?interruptible node? such as a Wait node or a Run External Script node for a VRU script that is interruptible. however. The call will. if during the time that the caller is interacting and listening to the non-interruptible VRU script. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.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. it will be answered before calls that came in afterward it (assuming the same priority). When an agent becomes available.0(0) 185 . maintain its place in the queue so when the call does become available for an agent. To obtain further information from the caller that is not sent from the network The IVR will let ICM know when the caller disconnects via the Event Report Message with Event Type of either DISCONNECT or ABANDON. put the VRU script in a non-interruptible mode. Using IVR as a Queue Point IPCC relies on the IVR to queue the call while it is waiting for an available agent.

Type 3. IVR Type Routing Client Routing Type Scripting Node Used to Send to IVR ICM Knows IVR Port Status 2 3. the IVR type must be defined as Type 2. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. In this case. However. Neither the VRU or ICM script can overwrite this setting. Types 2 and 6 can be Network or On-premise IVRs. but at another routing client. IVR (VRU) Types Listed in the table below are the IVR types that are supported for IPCC These types are defined in ICM in the Network VRU Configuration. although IP IVR can support both Type 2 and Type 6 based on whether the call is routed directly to the IVR or the call comes into a Translation Route point. or any Queueing node Yes No Yes Yes Usually the IVR has been configured to support only one IVR type. script node used and IVR port status. These IVR types are used by ICM to determine the routing client. routing type. This allows the call to be connected to the first available agent even while the caller is listening to a VRU script. 7 can only be Network IVRs. 7 6 9 Yes No Yes Yes Post-route from CallManager Translation Route to VRU Pre-route Post-route from IVR Queueing for System IPCC Send To VRU N/A Send To VRU. under the Add Network VRU script configuration. when the call is not at the IVR. You set the interruptibility of a VRU script through the Configuration Manager. Information obtained from the caller during the IVR session can be passed to ICM for further processing. the time it takes ICM to execute the nodes in the script must not exceed the IVR Request Time-out timer.0(0) 186 . Translation routing is needed for: • Cradle to grave reporting (Termination Call Detail Reporting) • Ability to send call context data like the calling line ID or dialed number to the IVR • Ability to check if the IVR peripheral is online or if all IVR ports are busy before sending the call. The call can be a pre-route from the IXC or it can be a post route from a CallManager CTI Route point. The Translation Route to VRU node is typically followed by a Run External Script node.Chapter 11: Scripting in an IPCC Environment Using IVR as a Queue Point For announcement and music type of treatments. If some checking is done before the Run External Script node is executed. put the VRU Scripts in interruptible mode. Using the Translation Route to VRU Node The Translation Route to VRU node is used by Type 2 IVRs that are post routed from CallManager. The Translation Route to VRU node is used to send the call to the IVR port.

but this is an overall diagram of how the components go together.0(0) 187 . Not all of these components must be on separate boxes.0) • Each deployment can talk to one CallManager cluster and up to 5 IP-IVRs The following diagram shows the most distributed deployment of System IPCC. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. See Also Cisco ICM Software: IP Contact Center Installation and Configuration Guide Cisco ICM Software: IP Contact Center Administration Guide Cisco ICM Software: IP Contact Center Laboratory Guide System IPCC Deployments • 3 Main IPCC deployments supported – Demo/Pilot System – not for production use – Small to Medium System – up to 300 agents – Large System – up to 1000 agents • Each deployment can be duplexed • Each deployment requires specific MCS hardware (or the exact equivalent) – Each deployment has a different box count • Each deployment can optionally support – 1 Outbound option and/or – 1 E-Mail Manager option (version 7. This ensures that the default skill group does not capture statistics for any ICM-routed calls.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.0) and/or – 1 Web Collaboration option (version 7.

Chapter 11: Scripting in an IPCC Environment System IPCC Figure 105: System IPCC Deployment IPCC System PG IPCC System PG can be used as: • An integration point for the IPCC Gateway PG. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. • A standalone IPCC PG providing seamless configuration and intelligent call reporting features.0(0) 188 .

• CCM peripherals within System IPCC can share the common IVR resources if JTAPI triggers are partitioned properly. • Each IVR is configured in the Network VRU Bank table as Type-9 with a single network label to allow load-balancing and correlation-id based routing (no translation-routes).g. IVR peripherals are hidden behind CCM (single routing-client interface like the ACD model). • Only IP IVR is supported in this release. • Scripting and reporting are more intuitive. auto-configuration and device monitoring). direct use of Queue to Skill Group node and integrated IVR and CCM reporting. CVP is not supported in the Network VRU Bank table. e. • IPCC System PG feeds most configuration elements to CTI Server for retrieval by IPCC Gateway PG (e. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. • A mixture of CCM and IVR peripherals can operate within System IPCC.0(0) 189 . • Same caller redirected between IVR and CCM is captured in single termination call detail record (TCD).g. • System IPCC presents a single peripheral interface to IPCC Gateway PG through consolidated reporting of agent and call states. Interworking System IPCC and IPCC Gateway • IPCC Gateway PG is an all-events CTI client receiving consolidated state information through CTI Server attached to IPCC System PG. • Seamless configuration is achieved through IPCC Web Administration Tool (one CCM peripheral and five IVR peripherals are pre-configured). • IPCC System PG ensures consistent reporting by sending events to CTI Server when certain call attributes change such as call type. • Device Targets are no longer required. however.Chapter 11: Scripting in an IPCC Environment System IPCC Overview • System IPCC is similar to Generic PG with co-resident CCM and IVR peripherals (PIMs). • IPCC System PG diverts routing of all calls arriving on controlled DNs to IPCC Gateway PG. queue point.

if the parent ICM script returns a route-point as label. device targets.0(0) 190 . • System IPCC does not support sub skill groups. dialed number plan. • System IPCC is easier to configure and script than IPCC Enterprise PG. • System IPCC's call variables are equivalent to ICM's expanded call context variables.Chapter 11: Scripting in an IPCC Environment IPCC Express Summary • System IPCC can be deployed standalone with a mixture of CCM and IVR peripherals. This means that. the script on child IPCC Express system must be designed to handle that route-point label. Scripting in an IPCC Express Environment The scripts on Parent ICM must match the scripts on the Child IPCC Express system. • System IPCC presents a single routing client interface to Central Controller. • Combined reporting of agent and IVR activity. the IPCC Express environment is treated no differently than any other legacy ACD. • System IPCC does not support post routing. • System IPCC presents a single peripheral model to IPCC Gateway PG. persons. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. translation routes. and trunk groups. 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. labels. IPCC Express In terms of scripting and routing. System IPCC to ICM Object Mapping Following is a list of ICM objects either not used or renamed in System IPCC: • System IPCC does not use or require these ICM objects: services. • System IPCC's network IVR is equivalent to ICM's network VRU. In such an integrated system. IP IVR must use SCI. • CVP is not supported. the IPCC Express software is linked as an ACD to the ICM software.

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Using Variables in an IPCC Express Environment In IPCC Express scripts that interact with ICM scripts through the IPCC Gateway. • CSQ ID – The Child IPCC Express script must be designed to use skill based routing and queue the call to that CSQ.0(0) 191 .Chapter 11: Scripting in an IPCC Environment IPCC Express In an IPCC Express environment . the Parent can return the following labels to a Child IPCC express: • Route-points or DN (local or remote) – The Child IPCC Express script must be designed to redirect the call to that route-point. • Agent-ID – The Child IPCC Express script must be designed to use Agent based routing and send the call to that agent. you can use three types of variables: • Local variables • Cisco predefined enterprise call variables • Enterprise Expanded Call Context (ECC) variables 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 Agent Desktop or for use in an ICM script.

There can be as many as 200 user-defined fields defined in the Field List (index numbers 0-199) of expanded call variables. If you need more call variables than those predefined in the General tab. 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.PeripheralVariable1 to Call. use Expanded Call Context (ECC) variables. connected to an ICM. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. See Also Cisco CRS Scripting and Development Series: Volume 2. These field values do not appear in the ContactCallDetail records as there are no fields reserved for them. Enterprise Expanded Call Context (ECC) data fields are used by all applications in the IPCC Express Cluster. and the Cisco Agent Desktop support these call variables for passing data among themselves.AccountNumber The Cisco ICM Enterprise Server.0(0) 192 .PeripheralVariable10 • Call.Chapter 11: Scripting in an IPCC Environment Example IPCC Gateway Post-routing Scripts Cisco Predefined Enterprise Call Variables You can use the following Cisco predefined strings as enterprise call variables in IPCC Express in the Set Enterprise Call Info and Get Enterprise Call Info steps to pass information between the ICM system and the IPCC Express system: • VRU Script Name • ConfigParam • Call. the Cisco IPCC Express system. the IPCC Express system can use the ICM system for post-routing. the Cisco IPCC Express system. the Cisco Agent Desktop. that is.CallingLineID • Call. Editor Step Reference Guide Example IPCC Gateway Post-routing Scripts In IPCC Gateway deployments where the IPCC Express system is the child system.CallerEnteredDigits • Call. and the Cisco Agent Desktop can also pass ECC variables to each other. IPCC Express has pre-defined ECC variables. Enterprise Expanded Call Context (ECC) Variables The Cisco ICM Enterprise Server. and the ICM software.

In each of these examples. the call is routed to an agent.aef – The RouteRequest step returns a label corresponding to a CSQ which is used in the select resource step. the call is routed to a route point. In the second sample script. an agent or a route point) and are used for example purposes only. Each of three sample IPCC Express scripts presume an ICM script designed to interact with the IPCC Express script. Each of the following ICM scripts are extremely basic (simply returning a label to either a CSQ. The most important point 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.aef – The RouteRequest step returns a label corresponding to an agent extension which is used in the select resource step.Chapter 11: Scripting in an IPCC Environment Example IPCC Gateway Post-routing Scripts Post-routing is typically used to enable the ICM to determine the best routing solution based on the current situation of the call center. In the first sample script. The following figure displays labels used in these examples. the script accepts the call from the Cisco CallManager in the IPCC Express system and then queries the ICM through the Request Route step. an agent. depending on what IPCC Express resource is wanted: a CSQ. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. • PostRouteSelectSimple.0(0) 193 . These are the sample scripts: • PostRouteSelectCSQ. And in the third sample script. IPCC Express then routes the call based upon the return value of the Request Route step supplied by the ICM. Note: The ICM script developer must work with the IPCC Express script developer so that the correct ICM script calls the correct IPCC Express script and vice versa.aef – The RouteRequest step returns a label containing an IPCC Express route point which is used in the call redirect step. The following are three sample post-routing scripts that illustrate three different ways of post-routing through the Cisco IPCC Gateway. the call is routed to a CSQ. • PostRouteSelectAgent. or a route point.

0(0) 194 . Getting Started with Scripts. as it appears in the CRS Editor window.Chapter 11: Scripting in an IPCC Environment Example IPCC Gateway Post-routing Scripts Figure 106: Label Node Properties Example IPCC Express and ICM Scripts that Select a CSQ The following figure displays an example script using the Select Resource step to route the call to a member of a CSQ. refer to the "Designing IPCC Gateway Scripts" chapter of: Cisco CSR Scripting and Development Series: Volume 1. For additional information on this IPCC Express script. Release 4. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(1).

Chapter 11: Scripting in an IPCC Environment Example IPCC Gateway Post-routing Scripts Figure 107: PostRouteSelect CSQ. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.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.0(0) 195 .

Release 4. Getting Started with Scripts.0(0) 196 .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). depending on the design of the script. For additional information on this IPCC Express script.0(1). Note: For agent based routing to succeed. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. refer to the "Designing IPCC Gateway Scripts" chapter of: Cisco CSR Scripting and Development Series: Volume 1. as it appears in the CRS Editor window. The ICM can determine the current state of an agent although there is no guarantee that the state of the agent state will not change between when the ICM returns information and the IPCC Express script routes the call based on that information although. the time between the two should be extremely small making it unlikely that this would occur. The Select Resource step fails if the selected agent is in any state other than ready. the state of the selected agent must be ready.

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0) 197 .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.Chapter 11: Scripting in an IPCC Environment Example IPCC Gateway Post-routing Scripts Figure 109: PostRouteSelectAgent.

0(1). Release 4.0(0) 198 . as it appears in the CRS Editor window. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. refer to the "Designing IPCC Gateway Scripts" chapter of: Cisco CSR Scripting and Development Series: Volume 1. For additional information on this IPCC Express script. Getting Started with Scripts.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.

0(0) 199 .Chapter 11: Scripting in an IPCC Environment Example IPCC Gateway Post-routing Scripts Figure 111: PostRouteSimple.aef IPCC Express script above to select a route point for the call.aef The following is an example of an ICM script that works with the example PostRouteSimple. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.

Outbound Option supports both Type 7 and Type 5 (CVP/ISN Comprehensive Model . (Note that translation routes are not required when using the IPCC System PG.Cisco CVP was formerly called Cisco ISN). which makes the outgoing call. If using the transfer to IVR feature. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. If the OutboundControl variable is not set. so refer to the IPCC Installation and Configuration Guide for Cisco IPCC Enterprise Edition for details about setting up translation routes. The Outbound Option Dialer looks at the value of the OutboundControl variable to determine which mode each skill group uses. create a transfer to IVR campaign. Controlling the OutboundControl Variable and Skill Group Reservation Percentage Using an Administrative Script Use the ICM Script Editor application to create an administrative script for each skill group to control the OutboundControl variable and the skill group reservation percentage (one script can be used to control all Outbound Option skill groups or multiple scripts can control multiple Outbound Option skill groups). If using the transfer to IVR feature.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). The dynamic routing client feature is used when an outbound agent transfers a call using CVP/ISN to a Type 2 VRU. For CVP. create a transfer to IVR campaign. Make sure the routing client for the translation route labels is CallManager. Transfer to IVR campaigns might require translation routes if using a Type 2 IVR. the skill group defaults to inbound.) Note: The transfer to IVR feature is only supported for Outbound Option on Cisco IP Contact Center (IPCC Enterprise).0(0) 200 . You can not use this feature in the Direct Preview or the regular Preview modes.

but could be used for an outbound call when available. Create an administrative script using a Start node. Set the OutboundControl variable.0(0) 201 . but could be used for an outbound call when available. OutboundControl Variable Settings – INBOUND: Indicates that this skill group is disabled for outbound use and only takes inbound calls. the Predictive Dialer transfers the customer to a live agent along with a screen pop to the agent’s desk. 3. The predictive algorithm is designed to calculate the number of lines to dial per available agent to keep agent wait time to a minimum. Reject-Close the call: Rejects the current preview call and closes the record so it will not be called again. an End node. PREVIEW_ONLY: Reserves an agent prior to initiating an outbound call and presents the agent with a screen pop. 2. How to create an administrative script to control the OutboundControl variable and skill group percentage: 1. Open the ICM Script Editor application. – PREVIEW_BLENDED: Agents receive inbound calls. After reaching a live contact. Skip the call: Agent receives another customer call.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). The agent might then Accept the call: Dials the customer and transfers the call to the agent. – – – – ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Note: Use the Set node to set skill group variables (OutboundControl and OutboundPercent). Skip-Close the call: Skips the current preview call and closes the record so it will not be called again. PREDICTIVE_BLENDED: Agents receive inbound calls. PREDICTIVE_BLENDED: Agents receive inbound calls. Reject the call: Releases the agent. At this point. and an If node (all required). the system might deliver the agent another preview outbound call or a new inbound call. a Set node. but could be used for an outbound preview call when available. PREDICTIVE_ONLY: Dials several customers per agent. You can not use this feature in the Direct Preview or the regular Preview modes.

0(0) 202 . place outbound calls.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. and hear ring tones. perhaps changing these variables due to time of day or service level. and the OutboundPercent variable is set to 50%. however. but the modes/percentages are not being updated at the Dialer. lines to dial per agent is not calculated—users configure a fixed number of lines that will always be dialed per available agent. PROGRESSIVE_BLENDED: Similar to PREDICTIVE_BLENDED. Set the OutboundPercent variable by entering the agent percentage in the Value field of the Set Properties window. A script in a production call center would typically be more complex. – – – 4. Note: Use the Set node to set skill group variables (OutboundControl and OutboundPercent). Make sure that the skill group being controlled is the base skill group. logged into a particular skill group. just a total percentage. such as phone ringing or busy signal. but a fixed number of lines will always be dialed per available agent. Note: If the administrative script (where the OutboundControl variable or reservation percentage is set) is running. PROGRESSIVE_ONLY: Similar to PREDICTIVE_ONLY. PREVIEW_DIRECT_BLENDED: Agents can receive inbound calls. 2. Although agents may be logged into just the primary or secondary skill group. Note: This variable does not allocate specific agents for outbound dialing. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. 50 agents would be allocated for outbound dialing. the outbound control variable must always be set on the base skill group. do the following: 1. and not the primary or secondary skill groups. • See the “IPCC System PG (page 200)” section for sample administrative and routing scripts for the IPCC System PG. This variable controls the percentage of agents. such as phone ringing or busy signal. For example. Note: • Refer to the ICM Script Editor online help for detailed information about using ICM Script Editor. if there are 100 agents logged into skill group N. to be used for outbound dialing. Verify that the outbound control variable mode is spelled correctly. The following illustration displays a very simple administrative script where both the OutboundControl variable and the outbound percentage are set for a skill group.

) Figure 114: Example Routing Script for a Transfer to IVR Campaign Using Outbound Option with IP IVR ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.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.0(0) 203 . (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 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. The following diagram displays an example routing script that uses the objects mentioned above.) Figure 115: Example Routing Script for a Transfer to IVR Campaign Using Outbound Option with CVP/ISN Use the ICM Script Editor application to create a routing script that uses the dialed number for the MR routing client. if used) dialed number(s) with the configured call type and newly created routing script. Use the ICM Script Editor Call Type Manager to associate the MR (and Personal Callback. Note: Refer to the ICM Script Editor online help for detailed information about using ICM Script Editor. and routes through a Select node to the previously configured skill group. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Note: Refer to the ICM Script Editor online help for information about using this application.0(0) 204 . (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.

Configuring a Queue to Agent Node The following illustration displays the Queue to Agent tab of the Queue to Agent Properties dialog box. so routing scripts using this PG do not need to use this object.0(0) 205 .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. • Translation routes are not used in the IPCC System PG. for example. partially display under the objects. the line connecting the “X” (output terminal failure) on the Select object to the End object runs partially under the Select object. Figure 117: Queue to Agent Properties ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.

Click Change in the “Queue to agent type” section. Figure 118: Example IPCC System PG for Outbound Option Campaign Administrative Script The following diagram displays an example routing script using the Queue to Skill Group node. 6. Use the ICM Script Editor and create an administrative script. 4. Right-click the Queue to Agent node and select Properties.0(0) 206 . Select the appropriate enterprise route. then click OK. The following illustration is an example of an administrative script. • Adding the PG in ICM Setup.PreferredAgentID. 2. Enter the agent expression Call.Chapter 11: Scripting in an IPCC Environment Scripting in an Outbound Environment How to configure a Queue to Agent node: 1. Make sure the Peripheral column is left blank. 8. Click Lookup agent reference by expression. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Select the appropriate enterprise skill group. 5. Setting up an IPCC System PG for Outbound Option campagns consists of two tasks: • Configuring the IPCC System PG. 3. 7. Click OK to save the Queue to Agent node. IPCC System PG for Outbound Option The IPCC System PG combines two PGs (CallManager and IVR PGs) into one PG and is only supported with IP IVR.

Chapter 11: Scripting in an IPCC Environment Scripting in an Outbound Environment Figure 119: Example Routing Script Using the Queue to Skill Group Node ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0) 207 .

0(0) 208 .Chapter 11: Scripting in an IPCC Environment Scripting in an Outbound Environment ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.

Chapter 12 Utility Nodes Start Node The Start node marks the beginning of a script. However. a script must have one and only one Start node. You do not define any properties for the Start node.0(0) 209 . you can add comments and connection labels: Figure 120: Start Properties ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Script Editor automatically inserts the Start node when you create a new script.

A block comment provides general documentation for a script or section of a script: Figure 121: The Comment Icon Figure 122: Comment Properties For example. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. 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 Comment Node Comment Node Use the Comment node (in the General tab of the Palette) to include a block comment in a script. you might add a comment describing the purpose of the script.0(0) 210 . Note: If you choose the Auto-Size Height option. You can move and resize the comment box within the script.

• The connecting lines go in different directions.0(0) 211 . 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 12: Utility Nodes Line Connector Node Figure 123: The Line Connector Icon A script can be difficult to understand and the call flow hard to follow if: • The connecting lines between nodes are too long. The Line Connector node allows you to break and reconnect lines using one or more of its multiple input connections and single output connection. • The connecting lines run over other nodes and other connection lines. you define the connection labels: Figure 124: Line Connector Properties ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. For the Line Connector node.

0(0) 212 .Chapter 12: Utility Nodes Line Connector Node ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.

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. as shown in the following image: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. and blended collaboration Web requests. multi-session chat.0(0) 213 . Overview of Web Request Routing through ICM Software With the Collaboration Server integrated with ICM software. ICM software can route single-session chat. The process for routing Web requests through the ICM can be divided into 5 parts.

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.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.0(0) 214 .

0(0) 215 .Queuing a Web Request to a Skill Group The following script example shows how a Web request can be queued to a skill group: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.Chapter 13: Example Scripts Example Web Collaboration Scripts Non-voice MRDs Collaboration server uses Non-voice MRDs for the following types of requests: • Single-session chat • 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 .

see Example .How ICM Software Determines the Call Type for Web Request. For more information on call types and scheduling Web requests routing scripts.0(0) 216 . ICM software attempts to find an available agent who is a member of that skill group. The script is executed Cisco Collaboration Server processes a new single-session chat request.Queuing a Web Request to a Skill Group In this example: 1.Pushing a URL to a Waiting Caller The following script example shows how a script can push a URL to a waiting caller before the Web request is queued to a skill group: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.Chapter 13: Example Scripts Example Web Collaboration Scripts Figure 126: Example . This script is scheduled to run for single-session chat requests. When the agent is found. At this time. 2. The script queues the request to a single-session chat skill group. Example . ICM software returns the agent ID to the Collaboration Server.

After the Run External Script node. see the Cisco Collaboration Server Administration Guide. Example . Note: For the Run External Script node to work.Chapter 13: Example Scripts Example Web Collaboration Scripts Figure 127: pushiing URL to waiting caller In this example. the Run External Script node pushes the selected URL to the caller's browser. For more information.0(0) 217 . the script functions just as the preceding example.Queuing Directly to an Agent The following script example shows how a Web requests can be queued directly to an agent: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. here must be an entry in the Network VRU list pointing to the URL map file on the Collaboration Server.

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.0(0) 218 . This script can be scheduled to run for a particular type of Collaboration Server request. 2.Chapter 13: Example Scripts Example Web Collaboration Scripts Figure 128: Queuing directly to an agent In this example: 1. as shown in its Properties dialog box: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.

0(0) 219 . The script tries to do this for 9.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 ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. as defined in the Wait node.Chapter 13: Example Scripts Example Web Collaboration Scripts Figure 129: Direct Reference to Agent 3.999 seconds before ending. Example .

the CeM administrator can choose to defer message assignment to ICM software. CeM sends a request for assignment to ICM software. At this time. The script is executed Cisco Collaboration Server processes a new single-session chat. In this situation: 1. 2. or blended collaboration request. The script first detects the MRD of the request using the Media Routing Domain node. Example E-Mail Scripts You can configure Cisco ICM software and Cisco E-Mail Manager so that ICM software routes e-mail messages that are processed by E-Mail Manager. A message enters CeM. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. A rule assigns the message to an ICM Routing skill group. The administrator determines if skill groups can initiate message routing through ICM software when the skill groups are created. This node has three branches for the three possible MRDs of the request: the multi-session chat MRD (branch A). 3. see the following documents: • Cisco ICM Software Configuration Guide • Cisco E-Mail Manager Installation and Configuration Guide • Cisco E-Mail Manager Administration Guide • Cisco ICM 5. When the agent is found. For more information about configuring ICM software and E-Mail Manager in an integrated environment.Chapter 13: Example Scripts Example E-Mail Scripts In this example: 1. 3. or the blended collaboration MRD (branch C).0 Multichannel Software Implementation Map • Cisco ICM 5. 2. The administrator then defines rules to assign messages to those ICM Routing skill groups. multi-session chat. ICM software attempts to find an available agent who is a member of that skill group. This script is scheduled to run for all these types of requests.0(0) 220 . ICM software returns the agent ID to the Collaboration Server.0 Multichannel Software Overview Overview of E-mail Routing through ICM Software When Cisco E-Mail Manager (CeM) is in an integrated environment. the single-session chat MRD (branch B). The script queues the request to the appropriate skill group for that type of request.

CeM deals with this by placing the email message into the externalRoutingError system queue. and not use ICM software. 5. The Router runs a routing script to determine which CeM agent to assign the message to. • While ICM software can assign a message directly to a local CeM routing skill group. for an invoked route request the allowed responses are: Return an Agent. 7. If the message. 6. Return a Label. 4. it is placed in that skill group's queue. The message is placed in the agent's or skill group's queue.Chapter 13: Example Scripts Example E-Mail Scripts Note: In ICM Integrated with CeM. if the message is assigned to an CeM routing skill group. it is presented to the agent in push mode. the ICM software instructs CeM to assign the message to a particular agent or CeM routing skill group. based on its content.Queuing E-mail to a Skill Group The following script example shows how an e-mail message can be queued to a skill group: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Based on the routing script's determination. the ICM script must use the Queue to Agent node to route e-mail messages.0(0) 221 . you could make that assignment directly through CeM rules. The routing script can also determine that the message should be assigned to a local CeM routing skill group. not the Agent node. you would not typically design a script to do this without first trying to queue the message to a skill group or directly to an agent. is meant to be assigned to a local CeM routing skill group. Note: • To assign a message directly to an agent. Example . If the message is assigned to an agent by ICM software. or Failure (the script could not be found or something is wrong).

Chapter 13: Example Scripts Example E-Mail Scripts Figure 131: Queuing email to skill group In this example: 1. Example . The message is not pushed to an agent.How ICM Software Determines the Call Type for an E-Mail Request. When the agent is found. the script uses the Label node to return a label associated with a E-Mail Manager local skill group. as defined in the Wait node. If no agent is found within 30 seconds. so the agent can respond to the customer. ICM software attempts to find an available agent who is a member of that skill group. it waits in the local skill group queue for an agent to pick it. 3. see Example . 2.0(0) 222 . The script queues the request to the skill group.Routing a Message Based on Priority The following script example shows how an e-mail message can be queued directly to an agent or to a skill group. For more information on call types and scheduling e-mail routing scripts. depending on the message's priority: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. E-Mail Manager then places the message in that local skill group. This script is scheduled to run for messages assigned to that skill group. rather. At this time. ICM software instructs E-Mail Manager to push the e-mail message to that agent. The script is executed when a e-mail message is assigned by E-Mail Manager to an ICM Routing skill group.

the value of the cisco. Example Universal Queue Scripts You can design scripts to route contacts from different media in a Universal Queue environment. 4. it waits in the local skill group queue for an agent to pick it. For more information on call types and scheduling e-mail routing scripts. ICM software attempts to find an available agent who is a member of that skill group.Chapter 13: Example Scripts Example Universal Queue Scripts Figure 132: Routing based on priority In this example: 1. control passes to the Queue to Agent node. 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.How ICM Software Determines the Call Type for an E-Mail Contact.Priority value of 3). 2. the script uses the Label node to return a label associated with a E-Mail Manager local skill group. ICM software instructs E-Mail Manager to push the e-mail message to that agent. That node lists two agents who are e-mail supervisors and who handle urgent messages. 3. The script tests the message's priority. E-Mail Manager then places the message in that local skill group. If the message is not urgent. 5.Priority variable.cem. See Data for E-Mail Requests for more information. control passes to the Queue to Skill Group node. When the agent is found. in either the Queue to Agent node or Queue to Skill Group node.cem. as defined in the Wait node. rather. The message is not pushed to an agent. E-Mail Manager then pushes the message to the first of these agents who is logged in.0(0) 223 . see Example . If no agent is found within 30 seconds. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. If the message is marked "Urgent" (cisco.

your company's needs may differ.0(0) 224 . see the following documents: • Cisco ICM Software Configuration Guide • Cisco ICM Software: IP Contact Center Installation and Configuration Guide • Cisco ICM Software: IP Contact Center Administration Guide • Cisco ICM Software: IP Contact Center Laboratory Guide • Cisco ICM 5.0 Multichannel Software Implementation Map • Cisco ICM 5. For more information about configuring ICM software and Universal Queue.0 Multichannel Software Overview Selecting Agents from Skill Groups The following script example shows how contacts of from different channels can be routed to the Longest Available Agents in skill groups that are specific to the different channels: Figure 133: Selecting Agents from Skill Groups ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.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.

Categorizing by Media Routing Domain The following script example shows how contacts can be categorized by Media Routing Domain. Queuing to Agents The following script example shows how contacts from different channels can be queued to agents: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0) 225 . the Router determines an agent's availability across channels.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. then queued to skill groups specific to that Media Routing Domain: Figure 134: Categorizing by MRD 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 script then uses the Media Routing Domain node to detect the MRD of the contact and branches to a Queue to Skill Group node that specifies skill groups specific to that MRD. The agents may be logged in to different Media Routing Domains and working with contacts from different channels.

see the following documents: • Cisco ICM Software: IP Contact Center Installation and Configuration Guide • Cisco ICM Software: IP Contact Center Administration Guide • Cisco ICM Software: IP Contact Center Laboratory Guide ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. The script queues the contact to the agent with the selected MRD that matches the MRD of the contact. For more information about configuring ICM software as part of an IPCC environment. your company's needs may differ.0(0) 226 .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. Example IPCC Enterprise Scripts Following are example scripts for use when ICM is part of an IPCC Enterprise environment. • Redirection on Ring No Answer • Agent Transfer • Supervisor Assist Script These scripts are only examples. each row defined for an agent also contains a Media Routing Domain selection. In the Queue to Agent node.

When creating agents. available from http://www. you configure Agent Desk Settings. Redirection on Ring No Answer When configuring ICM software in an IPCC Enterprise environment. For example.0(0) 227 . you must create and schedule a script for the Call Type mapped to the dialed number selected for the agent's Desktop Settings. One attribute of Agent Desk Settings is the Ring no answer dialed number: Figure 136: Reroute on Ring No Answer In order for calls to be routed when an agent does not answer.cisco.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.com/. and if that fails. requalifies the call to a new Call Type to have it rerouted: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. you may schedule a simple script to run when agents do not answer that tries to select the longest available agent from a set of skill groups. you then associate each agent with one of the Agent Desk Settings you created.

you typically may have a dialed number of Routing_client. The script routes internal calls.0(0) 228 .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.CallerEnteredDigits: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. which selects the agent by peripheral and the expression Call. which also allows you to track and report on such calls. For example.9999 for internal calls from agent to agent. you may schedule a simple script to run for internal calls that tries to route directly to the agent using the Agent to Agent node. You would create a call type associated with the dialed number. and schedule a script for calls of this call type.

then the script tries to select the longest available agent from the set of supervisor skill groups: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0) 229 .Chapter 13: Example Scripts Example IPCC Enterprise Scripts Figure 138: Agent to Agent Transfer If the node fails.

ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. but associated with the Supervisor script). You must have completed the following for this script to run properly: • Configure a supervisor Dialed Number (same as any DN. • Configure a call type (mapped to the supervisor DN associated with Script).0(0) 230 .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.

0(0) 231 . your needs may differ. Setting the OutboundControl Variable and Skill Group Reservation Percentage An administrative script is used to control the setting the OutboundControl variable and the skill group reservation percentage.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 Option with CVP/ISN These scripts are only examples. These values are used by the Outbound Option Dialer to ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.

Chapter 13: Example Scripts Additional Example Outbound Option Scripts determine which mode each skill group uses. • PREDICTIVE_ONLY: Dials several customers per agent. and End nodes. If . One script can be used to control all Outbound Option skill groups. Set. Use the Set node to set skill group variables (OutboundControl and OutboundPercent). The predictive algorithm is designed to calculate the number of lines to dial per available agent to keep agent wait time to a minimum. This administrative script is comprised of Start. the system might deliver the agent another preview outbound call or a new inbound call. • PREDICTIVE_BLENDED: Agents receive inbound calls. The agent might then: Accept the call: – Dials the customer and transfers the call to the agent. After reaching a live contact.0(0) 232 . At this point. • PREVIEW_ONLY: Reserves an agent prior to initiating an outbound call and presents the agent with a screen pop. Skip-Close the call: – Skips the current preview call and closes the record so it will not be called again. Reject-Close the call: ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Set the OutboundControl variable by entering it in the Value field of the Set Properties window: • INBOUND: Indicates that this skill group is disabled for outbound use and only takes inbound calls. Reject the call: – Releases the agent. but could be used for an outbound call when available. the Predictive Dialer transfers the customer to a live agent along with a screen pop to the agent’s desk. or multiple scripts can control multiple Outbound Option skill groups. Skip the call: – Agent receives another customer call.

• PROGRESSIVE_ONLY: Similar to PREDICTIVE_ONLY. such as phone ringing or busy signal. 50 agents would be allocated for outbound dialing. and hear ring tones. Note: This variable does not allocate specific agents for outbound dialing. and the OutboundPercent variable is set to 50%. Although agents may be logged into just the primary or secondary skill group. just a total percentage. place outbound calls. Note: If the administrative script (where the OutboundControl variable or reservation percentage is set) is running. The following diagram displays a very simple administrative script where both the OutboundControl variable and the outbound percentage are set for a skill group. such as phone ringing or busy signal. – Verify that the outbound control variable mode is spelled correctly. the outbound control variable must always be set on the base skill group. lines to dial per agent is not calculated—users configure a fixed number of lines that will always be dialed per available agent. but could be used for an outbound preview call when available. Set the OutboundPercent variable in the same administrative script. This variable controls the percentage of agents. which should be used for outbound dialing. and not the primary or secondary skill groups. however. For example. but the modes/percentages are not being updated at the Dialer. • PROGRESSIVE_BLENDED: Similar to PREDICTIVE_BLENDED. • PREVIEW_DIRECT_BLENDED: Agents can receive inbound calls. which are logged into a particular skill group.Chapter 13: Example Scripts Additional Example Outbound Option Scripts – Rejects the current preview call and closes the record so it will not be called again. if there are 100 agents logged into skill group N. but a fixed number of lines will always be dialed per available agent. • PREVIEW_BLENDED: Agents receive inbound calls.0(0) 233 . perhaps changing these variables due to time of day or service level. A script in a production call center would typically be more complex. • PREVIEW_DIRECT_ONLY: Agents can only place outbound calls and hear ring tones. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. do the following: – Make sure that the skill group being controlled is the base skill group. Select the OutboundPercent variable in the Set Properties window and enter the agent percentage in the Value field.

so routing scripts using this PG do not need to use this object. • Select the enterprise route. 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. • Click Change in the “Queue to agent type” section. Configuring Queue to Agent Node • Right-click the Queue to Agent node and select Properties. Warning: The outbound percentage in the Set node must be set to a value other than zero (0) or it appears to the node that there are no agents assigned to the Outbound Option and no outbound calls will be made. • Click OK to save the Queue to Agent node. • Click Lookup agent reference by expression. or sevices. • Enter the agent expression Call. multiple skill groups. then click OK. Note: Translation routes are not used in the IPCC System PG. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.PreferredAgentID. Warning: Do not use Select Route nodes. • Select the enterprise skill group. • Make sure the Peripheral column is left blank.0(0) 234 .Chapter 13: Example Scripts Additional Example Outbound Option Scripts Figure 141: 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 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.

0(0) 235 . for example. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Figure 143: 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 The following diagram displays a routing script for a transfer to IVR campaign using Outbound Option with IP IVR. partially display under the objects. 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 142: Queue to Agent node Properties Note: Lines connecting objects cannot appear on top of objects and therefore.

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.0(0) 236 . ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.

you can use a formula on an IF node to determine the MED between two skillgroups. When to use EWT Queing Look ahead skillgroup checking of a secondary choice skillgroup should be done if there are: • no available agents in the primary or first choice skill group • the call has already been sent to a IVR queue point • the call has been queued to the primary or first choice skill group • an adequate amount of time has elapsed (customer and call dependent) After the above conditions have been met.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.0(0) 237 . Instead. if there are no agents available in the subsequent or secondary choice skillgroup. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. then Minimum Expected Delay (MED) of the subsequent skillgroup should be calculated.

Default\EnterpriseSkillgroupPri.LoggedOn) EWT/MED Script Explained If there are agents available. then the MED of the secondary skillgroup should be calculated.AvgHandledCallsTimeTo5.Default\EnterpriseSkillgroupPri.Avail || (EntSkill. The call is routed to the skill group with the lowest MED.Default\EnterpriseSkillgroupSec.CCM_SG. If the secondary skillgroup MED is less.AvgHandledCallsTimeTo5.Default\EnterpriseSkillgroupPri.LoggedOn) < ((SkillGroup.Default\EnterpriseSkillgroupSec. If there are no agents available.) However. If there are agents logged into both skillgroups. +1 is used to add this new call into the algorthium. EntSkill.CCM_SG.<constant>)) /EntSkill.pri. then no there is no need to calculate the MED and the IF node should return TRUE value. (The call can either be kept in the initial skillgroup or taken out of the initial skillgroup when it is queued to the secondary skillgroup.RouterCallsQNow+1)* (ValidValue(EntSkill. The formula first checks to make sure agents are logged into both the primary (already queued to) and secondary (not queued to) skillgroups.sec. if the secondary skillgroup's MED is not less than the primary skillgroup's MED.LoggedOn>0) && (EntSkill.CCM_PG_1.Default\EnterpriseSkillgroupSec.CCM_PG_1. then the call should remain queued at the initial skillgroup only.LoggedOn>0) && ((SkillGroup.0(0) 238 .Default\EnterpriseSkillgroupSec. then the call should be queued at the new secondary skillgroup. then the minimum expected delay of the secondary skillgroup is compared to the minimum expected delay of the primary skillgroup to see which is less.RouterCallsQNow+1)* (ValidValue(EntSkill.<constant>)) /EntSkill. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.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.

0(0) 239 . then the aggregate of all the skillgroups within the Enterprise Skillgroup RouterCallsQNow field must be multiplied by the Enterprise SkillGroup AvgHandledCallsTime. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.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. It should be a value that represents the average Handle time of a call. The <constant> value is site dependent. This constant will only be used if it is at the start of the day and the proper AvgHandledCallsTime has not been calculated yet.

0(0) 240 .Chapter 13: Example Scripts Estimated Wait Time (EWT) Queueing ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.

then ultimately to the ICM Gateway of the CICM instance for the particular Dialed Number.0(0) 241 . your design may include more. page 245 NAM Script Configuration Scripting on the NAM only requires one Dialed Number script per Customer Instance.Chapter 14 Hosted Scripting Considerations This section covers scripting consideration to use in an IP Contact Center Hosted-Edition system. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. The NAM routing script sends the dialed number to the correct ISN Media Server for treatment. However. This section contains the following topics: • NAM Script Configuration. For more details on scripting in an ICM/NAM environment see the NAM Installation Guide. page 241 • CICM Scripting Considerations.

0(0) 242 .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 ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.

media_server • Value — the IP address of the ISN Media Server. for example “192. The first script node after the star should be a “set variable” node that contains the following: • Object Type — Call • Object — (no selection) • Variable — user. enclosed in quotes.microapp.0(0) 243 .10. then you typically send the call to the ISN Media Server using another Set Variable node as described below.11” ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. If the Dialed Number node is true.168.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.

Add an ICM Gateway Node and select the customer to which to route the call. Appendix B for details on scripting in ISN. Next. Figure 149: ICM Gateway Node ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. the call is sent to the ICM gateway of a particular customer instance. Finally.microapp.Chapter 14: Hosted Scripting Considerations NAM Script Configuration Figure 148: ECC Variable user. the call is sent to the ICM gateway of a particular customer instance. Consult the Cisco Internet Service Node (ISN) Configuration and Administration Guide.media_server Set Variable Node At this point. If multiple DNs are used.0(0) 244 . then you can send the call to a different ISN Media Server based on the different DN. scripting is conducted on the ISN.

Step 1 From the Configuration Manager. A VRU Script on ICM is the configured record for the VRU script that resides on the ISN. or perform many other common IVR functions. Create CICM VRU Scripts VRU Scripts differ from ICM routing scripts.Chapter 14: Hosted Scripting Considerations CICM Scripting Considerations Note: Do NOT select the Validate returned labels checkbox. • Consult the Cisco Customer Voice Portal (CVP Configuration and Administration Guide. If you do so. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0) for general scripting requirements for a CICM Instance.0(0) 245 . you will have to provision the NAM with all of the labels that exist on every customer instance. Appendix B for CVP additional scripting considerations. A VRU Script executes to collect digits. The Network VRU Script List dialog box appears. A configured VRU Script runs only when ICM instructs it to do so from an ICM routing script. CICM Scripting Considerations Note: • See the IPCC Administration Guide for Cisco IPCC Enterprise Edition. play hold music. select Targets > Network VRU Script > Network VRU Script List. Cisco IPCC Enterprise Edition Release 7.

BasicQ). although error handling is easier if the explicit "SendToVRU" node is used. Click Save and then click Close. BasicQ. • If: Then: Name Enter the script file name (for example.Chapter 14: Hosted Scripting Considerations CICM Scripting Considerations Step 2 On the Attributes tab.0(0) 246 . For more information about creating scripts. the ICM Router Requery function is used to take the call away from the non-answering agent and requeue it for service.Chapter 2. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. RONA and ISN When using IPCC with ISN. Step 3 Step 4 Select the Interruptible check box. CICM VRU Script Considerations Use the CICM Script Editor SendToVRU node to connect the call to the Network VRU. Note: A RunVRU Script or Queue node is an "implicit" SendToVRU node. • If: Then: Customer Select the same ICM customer you selected for Call Type from the drop-down list. • If: Then: Configuration param Leave blank. see ISN Configuration and Administration .aef). enter the following configuration information for the BasicQ script: • If: Then: Network VRU Enter isnvru. • If: Then: VRU Script Name Enter script name (for example. • If: Then: Timeout (seconds) Enter 180. "Using NAM/ICM with the ISN IVR Solution".

• In the example script Scripting for RONA: – The Queue node for the skill group that selects the first agent must have Target Requery enabled.0(0) 247 . and a ring no answer time must be set.the Ring no answer dialed number field must be blank. Scripting for RONA When scripting for RONA. Figure 150: Changing the Queue Type to Enable Requery ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. The IPCC/ICM Scripting and Media Routing Guide describes how Requery works for the different nodes. – Raise the priority of the call so that it goes to the front of the queue.Chapter 14: Hosted Scripting Considerations CICM Scripting Considerations There are two places in which configuration must occur: • In the Agent Desk Settings . you should Enable Requery on the node in the script that selects the first agent. Depending on the type of node used. the Requery mechanism selects a new target from the available agents or requires additional scripting.

If it has value of greater than zero. It then enters the normal wait loop with RunScripts. the Queue node selects the longest available agent from the skill groups configured. this is a requery call and the script re-queues the call. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. The RONA mechanism works as follows: 1. It increases the Queue Priority of the call so that it is handled before any other calls in queue. The Queue node selects an agent. When an agent becomes available the ICM always selects the longest queued call from the ones with the highest priority. Assuming that there are no agents available. 2.0(0) 248 . 5. In the Scripting for RONA example above. If there is no available agent. 7. the Queue node immediately exits through the success terminal. If the agent does not answer the call. the script then queues the call with a priority set in the node and continues down the success exit of the node. 4. The If node tests the RequeryStatus variable. 6. then the script exits through the failure terminal of the Queue node. it also sets a flag using a call variable for reporting purposes. 3. If: Then: If this is a required call.Chapter 14: Hosted Scripting Considerations CICM Scripting Considerations Figure 151: RONA Scripting in IPCC Hosted Edition If there is an available agent.

no calls are actually reaching agents. system lode. when this agent is assigned a call. This can apply to calls routed through the Agent. Skill Group. and counts displayed when viewing scripts in Monitor mode.Troubleshooting Troubleshooting Calls not successfully routed to agent Symptom: In Monitor mode. Message: No Message ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. Message: No Message Cause: If a label is misconfigured or missing for a phone to which an agent is assigned. Enterprise Skill Group. additional calls are not processed and successfully routed to other agents. and Queue nodes Action: Ensure that labels are properly configured for all agent phones Duplicate email routing requests Symptom: For every request E-Mail Manager sends to the ICM Router. however. Script Editor shows calls coming in and being routed. This affects reporting. it appears to the Router as if two requests are sent.0(0) 249 .

0(0) 250 . Action: Ensure that labels are entered correctly in the script.Troubleshooting 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. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.

Call control variables include information about where the route request came from. Through categorization. You associate a script with a call type. the associated script runs on that contact.0(0) Glossary 251 .Glossary Glossary administrative script An administrative script is an object you create through ICM software that performs background processing. calling line ID (CLID) The calling line ID (CLID) is a string that represents the telephone number from where the call originated. call control variables Call control variables provide information about the current contact that is being routed by the script. calling line ID (CLID) The calling line ID (CLID) is a string that represents the telephone number from where the call originated. For example. contact classification data. When a contact of a certain call type is received. call type A call type is the first-level category of a contact determined by data about the contact. Data set by an administrative script can be used by routing scripts. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. a caller may enter a number to indicate the type of service needed. and data to be passed to the peripheral that receives the contact. caller-entered digits Caller-entered digits are numbers entered by the caller in response to prompts. such as setting values for variable or collecting data from external databases. The CLID is sometimes referred to as the ANI (Automatic Number Identification). Administrative scripts run on a schedule you determine. The CLID is sometimes referred to as the ANI (Automatic Number Identification). categorization Categorization is the process of classifying a contact based on certain data associated with the contact. a script can determine how to best process a contact.

route A value returned by a routing script that maps to a target at a peripheral. 8005551212 might be a dialed number. (2) Analyzes the state of the contact center and determines ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0) Glossary 252 . network VRU A Network VRU supports ICM software's service control interface. media routing domain A Media Routing Domain (MRD) is a collection of skill groups and services associated with a specific communication channel. Blended Collaboration for Cisco Collaboration Server and Cisco Media Blender. Multi-Session Chat for Cisco Collaboration Server. and uses that information to classify the contact. Supported media classes include: Voice for Cisco ICM Software. whether the contact is made through a phone call or other medium. routing script A routing script is an object you create through ICM software that: (1) Examines information about a contact. MRDs are defined in ICM configuration and have unique IDs across the enterprise. Single Session Chat for Cisco Collaboration Server. formula A formula consists of one or more expressions that ICM software evaluates to produce a value that it can use for subsequent script processing. a service. E-mail for Cisco E-Mail Manager. network target A network target is an end point on the network to which a script can send a contact. expanded call context (ECC) variables Expanded Call Context (ECC) variables store values associated with the contact.Glossary dialed number (DN) A dialed number (DN) is a string that represents the telephone number dialed by the caller. or translation route to a label. E-Mail Manager uses the ICM software uses a MRD to route a task to an agent who is associated with a skill group and a particular channel. agent. for example. that is. expanded call context variables Expanded Call Context (ECC) variables store values associated with the contact. media classes Media classes are the types of contacts that ICM software can route in an integrated contact center system. skill group. For example. 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.

Target Requery attempts to find a different valid destination. or an announcement. ICM software treats requests from different channels as part of a single queue. ICM software can route phone. the actual target is chosen from the set by the preceding node on the script branch. based on the agent's skills and current tasks. single session chat. and e-mail message requests to an agent who works with all these channels. or agent. a customer may require help installing software. If the determined destination for a contact is available but not reachable. For example. The routing target receives the contact and processes it accordingly. Routing scripts can send requests to agents based on business rules regardless of the channel from which the request came. target set A target set is a list of possible targets. For example. service A particular type of processing that the customer requires. translation route A translation route is a target at a peripheral that does not map to a specific service. (3) Directs the contact to the most appropriate destination. During script processing. target A target is an entity to which ICM software can route a contact. a Select node or Distribute Node.0(0) Glossary 253 . the Peripheral Gateway (PG) is responsible for determining the ultimate target. skill target A skill target is an entity at a peripheral or in the enterprise to which ICM software can route a contact.Glossary that best way to process the contact. The routing target receives the contact and processes it accordingly. 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. and thus the Technical Support service. such as an agent. a skill group. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. When a contact arrives with the trunk group and DNIS that correspond to a translation route. skill group. skill group A collection of agents at a single contact center who share a common set of competencies. routing target A routing target is an entity to which ICM software can route a contact. A service is associated with a peripheral. target requery Target Requery is a script node feature that addresses routing failures due to transient failures in the network (such as network congestion).

You use variables in formulas to select targets and help in call tracking.Glossary user variables User variables are variables you create to serve as temporary storage for values you can test with an If Node. also called an Interactive Voice Response Unit (IVR). also called an Interactive Voice Response Unit (IVR). that plays recorded announcements and responds to caller-entered touch-tone digits. VRU A VRU. is a telecommunications device. or Voice Response Unit. A VRU can also be equipped with Automatic Speech Recognition (ASR) or Text-to-Speech (TTS) capabilities. ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7. that plays recorded announcements and responds to caller-entered touch-tone digits. variable A variable is a named object that holds a value.0(0) Glossary 254 . you could create a user variable called usertemp to serve as a temporary storage area for a string value used by an If node. A VRU can also be equipped with Automatic Speech Recognition (ASR) or Text-to-Speech (TTS) capabilities. is a telecommunications device. VRU MicroApps A VRU. For example. or Voice Response Unit.

.....190 sub......190 ICM Scripting and Media Routing Guide Cisco ICM/IPCC Enterprise & Hosted Editions Release 7..190 translation routes..190 ECC variables....Index Index device targets.........190 services.190 expanded call context variables.190 persons.190 skill groups..190 trunk groups...0(0) Index 255 ..190 labels......190 sub skill groups.190 network vru...190 post routing......