Sunteți pe pagina 1din 62

Virtual Hold for UCCX

Installation and Configuration Guide


Document Information
Virtual Hold for UCCX, Installation and Configuration Guide
Publication Date: September 4, 2013

Before using this document, ensure that you have the latest version. For customers and partners, visit
our Online Document Library at http://odl.virtualhold.com. For VHT employees, visit Salesforce at
https://login.salesforce.com. It is recommended that you subscribe to frequently used documents to
receive notifications about changes to those documents.
Download the Virtual Hold Software from the VHT Download Center at https://
virtualhold.flexnetoperations.com.

Copyright Information
Printed in the United States of America. Except as permitted under the Copyright Act of 1976, no part of
this publication may be reproduced, distributed, e-mailed, or displayed in any form or by any means, or
stored in a database, retrieval system, or other media without the prior express written permission of
Virtual Hold Technology, LLC.

Disclaimers
This document is the property of Virtual Hold Technology, LLC. Its contents are proprietary and
confidential.

Licensure
Virtual Hold is a licensed software solution.
The use of each Virtual Hold product requires permission, and a valid license from Virtual Hold
Technology, LLC.
Contents

Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Business Perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Solution Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Inbound Call Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Outbound Call Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Design Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Inbound Callflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Chose Hold Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Abandon in Queue Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Chose Callback Scenario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Outbound Callflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Requirements (Components, Software, Licenses, Versions) . . . . . . . . . . . . . 16
Known Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
UCCX Engine Restarts Cause Incorrect Call Fates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Name-Recording Feature Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Installation and Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18


Prepare the Cisco UCCX Environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Deploy Custom Java .jar Files while Deploying UCCX Scripts . . . . . . . . . . . . 18
VHT .jar Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Add a New .jar File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Upload the Java .jar File to the UCCX Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Assign Custom Java .jar Files to the Classpath. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Restart Cisco Unified CCX Engine and Administration, and Network Services. . . . . . . . . . . 19

Import VHT Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20


Create VHT Directory from Script Management Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Download Script Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Upload Scripts to VHT Folder from Script Management Screen . . . . . . . . . . . . . . . . . . . . . . 21
Use the Custom UCCX Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Inbound Callflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Outbound Callflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Configure the Outbound Callflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Deploy Core Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Install Core Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Configure Core Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Deploy VXML Interaction Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32


Installing Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Installing or Updating VXML Plug-ins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Retrieving Source Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Adding Source Files into Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Updating the VXML Interaction Server in Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Extension Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Revert to a Previous Version of the Extension Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Create the VHT_VIS.war File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Deploy the VHT_VIS.war File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Configuring the VXML Interaction Server (toolkit.properties) . . . . . . . . . . . . . . . . . . . . . . . . 37
Optional: Change the Location of the toolkit.properties File . . . . . . . . . . . . . . . . . . . . . . . . . 37

Brands and Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38


Create and Upload a Voice Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Add a Language to a Workflow Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Create Brands and Assign Languages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Build and Deploy the VHT_VIS.war File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Change the Log Level for VXML Interaction Server on Apache Tomcat. . . . . . . . . . . . . . . . 44
Change the Log Level Temporarily . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Change the Log Level Permanently. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Deploy Outbound Contact Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45


Install Outbound Contact Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
How to Change the UCCX Specific Configuration File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
UCCX Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Troubleshoot UCCX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Cisco Unified CCX Real-Time Monitoring Tool (RTMT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Download the RTMT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Start the RTMT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
View Logs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Writing/Generating Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Annotated Logging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Delete an Old .jar File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54


Remove the .jar File from the Classpath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Assign a .jar File to a Class Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Delete the .jar File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
High-Level Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Virtual Hold for UCCX Installation and Configuration Guide Overview

Overview
This document provides guidance for the VHT-Cisco Unified Contact Center Express (UCCX) integration
process. In particular, it covers the following topics:
A typical architecture for this solution.
Advice for designing a solution.
A typical callflow for this solution.
Instructions for preparing your environment.

Benefits
The VHT-UCCX integration helps VHT provide its solution to departments, branches and small- to
medium-size contact centers planning to deploy entry-level or mid-market contact center solutions. This
easily deployed solution enables companies using UCCX to leverage Virtual Holds PTK Queue
Abstraction feature, which means this integration is not dependent upon CTI interfaces.
This Virtual Hold integration helps transform the customer experience via:
Conversation Bridge (multichannel callback platform)
Intelligent Callback (for mobile app users)
ASAP Callback
Scheduled Callbacks
Proactive Notification
Queue Watch
Queue Info

Business Perspective
The VHT-UCCX integration leverages a number of UCCX platform capabilities, including:
VoiceXML
HTML Web integration
Custom Java extensions
The VHT-UCCX integration requires the Unified CCX Premium, which adds full Unified IP IVR support
(including database integration), Voice eXtensible Markup Language (VoiceXML), HTML Web
integration, custom Java extensions and e-Notification services such as e-mail. The outbound feature is
also bundled with the Premium package.
UCCX can be implemented using two deployment models: the Single-Server Non-High Availability
Deployment Model and the Two-Server High Availability Deployment Model. However, the VHT-UCCX
integration has only been designed and validated with the single-server model.
UCCX supports up to 400 agents and 300 Unified ports. A Unified IP IVR port refers to a premium self-
service port for the Premium package.
See UCCX Platforms for more information about all available UCCX packages.

6
Virtual Hold for UCCX Installation and Configuration Guide Overview

Solution Architecture
Cisco Unified Communications Manager (UCM) sends a route request to UCCX when a dialed number
associated with a CTI Route Point is called. UCCX software selects an available CTI Port with which the
dialed number is associated from the CTI Port Group. UCCX returns the CTI Port extension to UCM,
which sends a ring message to UCCX to set up a call to that extension (CTI Port). The UCCX server
begins executing the script associated with that triggers application when UCCX receives the ring
message.
The first step in a script is typically an Accept step, which will answer the call by sending a message to
UCM. This establishes an RTP stream between the selected CTI Port and the Voice Gateway (VG) port
(or calling IP Phone). The application can then prompt callers for input and provide the caller self-
service. When either the caller hangs up or the application executes a Terminate step, UCM tears down
the call.
Figure 1: Cisco Unified CCX Integration Architecture

Inbound Call Handling


Virtual Hold treatment is offered to callers through the Virtual Hold VXML Interaction Server (VIS) when
Estimated Wait Time (EWT) is over a configured threshold. The VIS is a Java application which, when
executed, generates VoiceXML, which delivers the Virtual Hold Offer treatment through voice self-service.

7
Virtual Hold for UCCX Installation and Configuration Guide Overview

Control is returned to the UCCX application, where queuing treatment is provided, if the caller elects to hold.
The callers Virtual Hold context is saved before disconnecting the call if the caller chooses a callback.

Outbound Call Handling


A request is issued through the Virtual Hold Outbound Contact Client (OCC) to UCCX when the callback is
ready to be made. A UCCX HTTP Trigger is employed to pass the request to a Virtual Hold UCCX application
provisioned for this purpose. The application places the outbound call, which is transferred to a Telephony
Trigger with an associated Virtual Hold callback treatment UCCX application upon successful answer
disposition. The callback treatment is again provided through the VXML Interaction Server.
Control is returned to the UCCX application where queuing treatment is provided if the caller elects to take
the callback. The priority of the call is increased to ensure the call is answered by the next available agent.

8
Virtual Hold for UCCX Installation and Configuration Guide Design Overview

Design Overview
UCCX leverages the custom Java wrappers to integrate with Virtual Hold via the Platform ToolKit Web
service. This Web service provides an interface to track the calls that enter and leave the queue without
having to depend on a CTI connection.

Inbound Callflow
This section outlines the various scenarios that can occur during the inbound callflow.

Chose Hold Scenario


The following steps describe a Chose Hold Scenario:
A call arrives on the Cisco Voice Gateway (VG).
A route request is generated to the Cisco Unified Call Manager (UCM).
The route request triggers the application in Cisco UCCX.
UCCX selects an available CTI port, and then returns the extension to the UCM.
UCM sends a ring message to UCCX, which sets up a call with the selected CTI port.
UCCX server begins executing the script associated with the trigger application.
The call is accepted by UCCX, and an RTP stream is established.
After self-service is provided to the caller, the Virtual Hold subscript is invoked, which in turn, will
invoke the Virtual Hold VXML Interaction Server (VIS).
VIS checks for the queue conditions in Virtual Hold by invoking the Platform ToolKit (PTK)
method GetSegmentState, which, in turn, sends the message to VHT Queue Manager.
Queue Manager responds with EWT and whether the call should be offered Virtual Hold treat-
ment.
If treatment should be offered:
- VIS requests to create an interaction by invoking PTK method CreateInteraction.
An Interaction ID is returned to VIS, and then VIS provides Virtual Hold treatment.

- Upon the callers request to remain on Hold, VIS invokes PTK method
InteractionSendToQueue so Queue Manager can expect the call to
be queued.

- VIS returns control to UCCX with Caller_input 1.

- UCCX invokes the custom Java plug-in (provided by Virtual Hold) to notify
Queue Manager that the call is queued to a skill and to include it in the
EWT calculation.

- UCCX queues the call to a skill and provides a queue treatment.

- When an agent becomes available, UCCX sends a message to UCM, which


will connect the caller with that agent.

9
Virtual Hold for UCCX Installation and Configuration Guide Design Overview

UCCX invokes the custom Java plug-in (provided by Virtual Hold) to notify Queue
Manager that the call is de-queued from the skill, and it can clean up the call with the
appropriate final fate.
Otherwise, control of the call is returned to UCCX so it can queue the skill appropriately.
Figure 2: Cisco Unified CCX Chose Hold Scenario

Abandon in Queue Scenario


The following steps describe an Abandon in Queue Scenario:
A call arrives on the Cisco Voice Gateway (VG).
A route request is generated to the Cisco Unified Call Manager (UCM).
The route request triggers the application in Cisco UCCX.
UCCX selects an available CTI port, and then returns the extension to the UCM.
UCM sends a ring message to UCCX, which sets up a call with the selected CTI port.
10
Virtual Hold for UCCX Installation and Configuration Guide Design Overview

UCCX server begins executing the script associated with the trigger application.
The call is accepted by UCCX, and an RTP stream is established.
After self-service is provided to the caller, Virtual Hold VXML Interaction Server (VIS) is invoked.
VIS checks for the queue conditions in Virtual Hold by invoking the Platform ToolKit (PTK)
method getSegmentState, which, in turn, sends the message to VHT Queue Manager.
Queue Manager responds with EWT and whether the call should be offered Virtual Hold treat-
ment.
If treatment should be offered:

- VIS requests to create an interaction by invoking PTK method createInteraction.


An Interaction ID is returned to VIS, and then VIS provides Virtual Hold treatment.

- Upon the callers request to remain on Hold, VIS invokes PTK method
InteractionSendToQueue so Queue Manager expects the call to be queued.

- VIS returns control to UCCX with Caller_input 1.

- UCCX invokes the custom Java plug-in (provided by Virtual Hold) to notify
Queue Manager that the call is queued to a skill and to include it in the EWT calculation.

- UCCX queues the call to a skill and provides a queue treatment.


The Caller abandons in queue.
UCCX invokes the custom Java plug-in (provided by Virtual Hold) to notify Queue man-
ager that the call is de-queued from the skill with reason of Abandon, so Queue Man-
ager will clean up the call with the appropriate final fate.
Otherwise, control of the call is returned to UCCX so it can queue the skill appropriately.

11
Virtual Hold for UCCX Installation and Configuration Guide Design Overview

Figure 3: Cisco Unified CCX Abandon in Queue Scenario

Chose Callback Scenario


The following steps describe a Chose Callback Scenario:
A call arrives on the Cisco Voice Gateway (VG).
A route request is generated to the Cisco Unified Call Manager (UCM).
The route request triggers the application in Cisco UCCX.
UCCX selects an available CTI port, and then returns the extension to the UCM.
UCM sends a ring message to UCCX, which sets up a call with the selected CTI port.
UCCX server begins executing the script associated with the trigger application.
The call is accepted by UCCX, and an RTP stream is established.
After self-service is provided to the caller, Virtual Hold VXML Interaction Server (VIS) is invoked.
VIS checks for the queue conditions in Virtual Hold by invoking the Platform ToolKit (PTK)
method getSegmentState, which, in turn, sends the message to VHT Queue Manager.
12
Virtual Hold for UCCX Installation and Configuration Guide Design Overview

Queue Manager responds with EWT and whether the call should be offered Virtual Hold treat-
ment.
If treatment should be offered:

- VIS requests to create an interaction by invoking PTK method createInteraction.


An Interaction ID is returned to VIS, and then VIS provides Virtual Hold treatment.

- Upon the callers request for a Callback, VIS collects the callback information and invokes PTK
method InteractionRequestContact so Queue Manager can create a Callback.

- VIS returns control to UCCX with Caller_input 0, and then UCCX releases the call.
Figure 4: Cisco Unified CCX Callback Scenario

13
Virtual Hold for UCCX Installation and Configuration Guide Design Overview

Outbound Callflow
The following steps describe an Outbound Sequence Scenario:
Queue Manager initiates a callback request to Outbound Contact Client (OCC), which sends an
HTTP POST to UCCX.
UCCX extracts the callers contact information from the HTTP POST and places the call through
the Voice Gateway.
If unsuccessful, then UCCX sends an HTTP Response to OCC; in turn, OCC sends the
Callback Response to Queue Manager, and then the call is rescheduled.
If successful, the call is redirected to a telephony trigger.
Note: Redirecting the call will force UCCX to consider the call as an inbound call, which
allows UCCX to pass the Callback user data to the Agent Desktop.
The telephony trigger executes UCCX script to invoke VIS, which uses the PTK method
GetInteractionData, to get all interaction-related data.
VIS receives the interaction-related data and provides outbound treatment to the caller.
If the Caller decides to speak with an Agent, VIS invokes PTK method
InteractionSendToQueue to notify Queue Manager to change the state appropriately and
expect the call to be queued.
VIS returns the Caller Input of 1 to UCCX, which increases the calls priority.
UCCX invokes the custom Java plug-in (provided by Virtual Hold) to notify Queue Man-
ager that the call is queued to a skill.
UCCX queues the call to a skill and provides a queue treatment.
When an agent becomes available, UCCX sends a message to UCM, which will connect
the caller with that agent.
UCCX invokes the custom Java plug-in (provided by Virtual Hold) to notify Queue Man-
ager that the call is de-queued from the skill, and it can clean up the call with the appropri-
ate final fate.
An RTP stream is established between the Agent and the Caller.

14
Virtual Hold for UCCX Installation and Configuration Guide Design Overview

Figure 5: Unified CCX Outbound Sequence Diagram

15
Virtual Hold for UCCX Installation and Configuration Guide Design Overview

Requirements (Components, Software, Licenses, Versions)


This integration requires the following:
Cisco Unified CCX Premium package 8.5(1) SU4
A VoiceXML browser, which we leverage for use with VXML Interaction Server (VIS).
HTML Web Integrationused with Web application integration. HTTP-type interface is
used with VHTs Outbound Callback integration.
Virtual Hold version 7.5
OCC version 1.2
PTK version 4.0
Microsoft Internet Information Services (IIS)
VIS version 4.2 R2, which requires the following:
Java Runtime Environment (JRE) and Java Development Kit (JDK)
Apache Tomcat version 6.0 or 7.0
File Extraction Software
Custom version 1 .jar files (VHT_PTKWrapper_v1_0.jar, VHT_OCCWrapper_v1_0.jar,
VHT_Logger_v1_0.jar)
Microsoft .NET Framework version 2.0 or higher

Known Limitations
The following features are not currently supported in this solution:
Answering Machine Detection
Callback Double Check (CBDC) with rescheduled callbacks
Dial Department
Dial Extension
IVR Extension Groups
Line Status in Queue Watch
Proactive Notification
Notify
Rapport
Prompt Recorder

UCCX Engine Restarts Cause Incorrect Call Fates


Virtual Hold uses the Identifier from Get Contact Info in UCCX as the External Tracking Id, which Virtual
Hold associates to interactions. This Identifier is reset to 1 and increments automatically if the UCCX
Engine is restarted. If an already existing interaction in Queue Manager has the same Identifier as an
active call in UCCX, the attempt to associate the interaction to the duplicate Identifier will fail, and the
call will not fate correctly if queued to a holding queue. There is little to no likelihood of this scenario
occurring as it would equate to taking down your call center.

16
Virtual Hold for UCCX Installation and Configuration Guide Design Overview

Name-Recording Feature Support


This feature is not currently supported due to Cisco defect CSCue35595. Therefore, it can be turned off
so the system will continue to function as normal.
Cisco has informed VHT that this defect will not be fixed in any release of UCCX 8.0. However, this
defect is fixed in versions 8.5.1 SU4 ES1 and 9.0.2 SU0 ES2. These versions are Engineering
Specials, so a TAC case must be opened with Cisco to gain access to these releases. You must
reference defect CSCue35595 as the fix for which you need the Engineering Special. Cisco also
indicated that this defect will be fixed in the first major release of 10.0.X, officially.

17
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

Installation and Configuration


This section describes the process necessary for a successful VHT/UCCX deployment.

Prepare the Cisco UCCX Environment


The following are required for a successful VHT-UCCX configuration:
Inbound DN-based trigger and applicationthis should already exist in the UCCX environment.
Outbound HTTP triggerthis will need to be created.
Outbound DN-based triggerthis will need to be created as it is used exclusively to redirect out-
bound Virtual Hold calls after the callback is successful so the user data will be displayed on the
Agent Desktop.
You will also need to upload custom Java code and custom VHT scripts, which are provided by Virtual
Hold.

Deploy Custom Java .jar Files while Deploying UCCX Scripts


Custom Java .jar files are required before uploading the VHT UCCX scripts. Virtual Hold will provide
custom Java .jar files, which you will need to deploy in Cisco Unified CCX Administration.

VHT .jar Files


All VHT .jar files are formatted as follows: VHT_<JavaClassname>_v<Major version number of .jar
file>_<Minor version number of .jar file> (e.g., VHT_OCCWrapper_v1_0.jar). In the Custom Classes
Configuration, there should be 3 VHT *.jar files in the Selected Classpath Entries section:
VHT_PTKWrapper_v1_X.jarhandles communication to VHT Platform ToolKit for processing
calls.
VHT_OCCWrapper_v1_X.jartells the Outbound Contact Client how to mark the outbound call
in Queue Manager; e.g., abandoned, etc.
VHT_Logger_v1_X.jarwrites logs to the UCCX stdout.log file.

Add a New .jar File


The following details how to upload a Java .jar file to the UCCX server; assign custom .jar files to a
classpath; and restart the Cisco Unified CCX Engine and Administration, as well as network services.

Upload the Java .jar File to the UCCX Server


Follow these steps to upload Java .jar files to the UCCX server:
1. Log in to Cisco Unified CCX Administration.
2. Select Cisco Unified CCX Administration from the Navigation drop-down.
3. Navigate to System > Custom File Configuration.

18
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

4. Click Upload Custom Jar Files, which opens the Document Management page.
5. Click Upload New documents, which opens the Upload Document pop-up window.
6. Browse to location of the .jar file you want to upload. The file upload pop-up window will open.
a. Select the .jar file, and then click Open. This will return you to the Upload Document pop-
up window.
7. Click Upload. This adds the file to the classpath.
8. Click Return to Document Management.

Assign Custom Java .jar Files to the Classpath


After you have uploaded the Java .jar file to the UCCX server, assign it to a classpath:
9. Navigate to System > Custom File Configuration, which takes you to the Custom Classes
Configuration page.
10. Move the file(s) you just uploaded from the Available Classpath Entries list to the Selected Class-
path Entries list. Select by highlighting the file, and then move it by clicking the right arrow. See
the figure below for an example.
Figure 6: UCCX Administration Custom Classes Configuration

11. Click Update.

Restart Cisco Unified CCX Engine and Administration, and Network Services
After assigning the Java .jar file to a classpath, you must restart the Cisco Unified CCX Engine and
Administration, as well as network services. Perform the following to complete this process:
12. Select Cisco Unified CCX Serviceability from the Navigation drop-down in the upper-right cor-
ner of the page, and then click Go. The Cisco Unified CCX Serviceability page will open.
13. Navigate to Tools > Control Center - Network Services.
14. Under the System Services section, select Cisco Unified CCX Engine, and then click Restart.
The status section below Restart will indicate the service is restarting. When the status indicates
Successfully updated the status of all services, proceed to the next step.
15. Under the Admin Services section, select Cisco Unified CCX Administration.

19
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

16. Click Restart, and then click OK on the pop-up window. The status section below Restart will
indicate the service is restarting. When the status indicates Successfully updated the status of
all services, proceed to the next step.
17. Restart the Cisco Unified CCX Editor if you were logged in to it during the preceding steps. You
can now use the custom .jar in the Cisco Unified CCX Editor steps.
Note: To delete . jar files, see the Appendix.

Import VHT Scripts


Through the UCCX Administration Web interface, upload VHT scripts to a folder created on the root
directory for UCCX scripts called VHT.
Note: It is recommended that you create a new folder, and then upload your scripts there. See High-
Level Diagrams in the Appendix for high-level flow of these scripts and how these scripts invoke the
custom .jar files.

Create VHT Directory from Script Management Screen


Note: At this time, it is not recommended to use the Cisco Unified CCX Editor to create a new folder.
Problems have resulted when the Cisco Unified CCX Editor is used.
1. Go to: Applications > Script Management.
2. Click Create New Folder. In the Create New Folder window, enter a Folder Name as VHT, and
then click Create. Folder successfully created will be displayed in the Status porion of the win-
dow.
3. Close the Create New Folder window, and then refresh the Script Management screen to have
the new folder appear.

Download Script Files


1. Import the .zip file containing the following UUCX scripts from the VHT Download Center at
https://virtualhold.flexnetoperations.com:
vht_offer.aef
vht_callback.aef
vht_ib_treatment.aef
vht_ob_treatment.aef
vht_queued.aef
vht_sub_get_user_data_from_call.aef
vht_sub_set_user_data_on_call.aef
vht_sub_interaction_queued_by_identifier.aef
vht_sub_interaction_dequeued_by_identifier.aef

20
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

vht_sub_get_segment_state.aef
vht_sub_call_disposition.aef
2. Extract these files to a local directory.

Upload Scripts to VHT Folder from Script Management Screen


1. Upload New Scripts from extracted folder to the newly created folder, VHT.
2. Browse to the script, and then click Upload.
Note: Repeat for each script file.
3. Refresh the Script Management screen to see the scripts you just uploaded.

Use the Custom UCCX Scripts


This section provides details regarding the Inbound and Outbound Callflows. Instruction is provided for
calling the VHT Offer script on the Inbound side. Meanwhile, instruction is provided regarding the
creation and configuration of UCCX applications and triggers. See High-Level Diagrams for depictions of
the Inbound and Outbound Callflows.

Inbound Callflow
Note: An existing call center using Cisco Unified CCX likely already has an inbound trigger and
application created. Therefore, it should not be necessary to create new ones. You will only need to
create outbound triggers and applications.

Call the VHT Offer Script


The main UCCX script needs to call the subflow step into the VHT offer script, vht_offer.aef.
1. Open the Cisco Unified CCX Editor, and then open the Open Script window via the following:
a. File > Open.
b. Select Script Repository from the navigation pane at the left, and navigate to your
inbound script. Click Open to load the script into the editor.
2. In the navigation tree, expand General, and then drag the Call Subflow to where you want to call
VHT_Offer script. See the figure below for an example.

21
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

Figure 7: Inbound Script/Call Subflow

3. Right-click on the Call Subflow, and then select Properties. The Call Subflow properties pop-up
window will open to the General tab.

4. Click the Subflow Name drop-down arrow. Select SCRIPT[VHT/vht_offer.aef] from the list.
This is where you target another script. Make sure Disable Interruptions is set to No.
Figure 8: Call Subflow General Tab

5. Add Input variables to the Inbound Script you imported from the Download Center:
a. Open the New Variable dialog box by clicking the New Variable icon at the top-left corner
of the Variable pane of the UCCX Editor window to open the New Variable dialog box.
b. Provide a Name.
c. Provide/Select a Value.
d. Define the variable Type (i.e., String).
e. Select Parameter.
f. Click OK.

22
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

Figure 9: New Variable Dialog Box

6. On the Input Mappings tab, click Add to map the following input variables with appropriate values
to the vht_offer.aef script exactly as follows; otherwise, they will not map correctly:
tenant
visUrl
csq
ptkUrl
segment(optional) If this is not passed in, the DNIS will serve as a segment.
Figure 10: Call Subflow Input Mappings Tab

Outbound Callflow
This section provides details for establishing an Outbound Callflow.
When it is time to make a callback, the OCC issues an HTTP Request to the HTTP Trigger with the
following variables:
tenant
interactionId
csq
visUrl
ptkUrl
callFlowType

23
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

Get User Data to the Agent Desktop

Create Extended ECC Variable:


1. In UCCX Editor, go to Settings > Expanded Call Variables.
2. Click New Variable arrow, which opens the Edit Expanded Call Variable dialog (see the figure
below):
a. Enter Name as vhtTreatmentVars
b. Select Array from the Type drop-down.
c. Enter Description (optional)
Figure 11: Expanded Call Variable

In order to pass user data to the Agent Desktop, it is necessary to use a Call Redirect, in lieu of a
subflow, to pass data collected by the Outbound Contact Client (OCC).

Configure the Outbound Callflow


In order to configure the outbound callflow, the following steps are necessary:
Create two applicationsone for the Cisco HTTP trigger and one for the Unified CM Telephony
Trigger
Create two triggersone HTTP trigger and one DN-based trigger.

Create Application for HTTP Trigger


1. Log in to Cisco Unified CCX Administration.
2. Go to Applications > Application Management.
3. Click Add New to open the Add A New Application screen.
4. Select Cisco Script Application from the Application Type drop-down.
5. Click Next. The Cisco Script Application screen will open.
a. Enter Name (e.g., VHT_HTTP).
Note: This name will be used in the configuration of the Outbound Trigger.
b. ID is auto-created.
c. Enter Maximum Number of Sessions (typically, this is equivalent to 1/3 of the total num-
ber of licensed VHT ports).

24
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

d. Select Script from the drop-down.


Select SCRIPT[VHT/vht_callback.aef]
Note: A script must be associated to this application in order to add it. Otherwise, a
dialog pop-up will instruct you to Please select a script name. Scripts should have
been uploaded prior to creating this application for this reason.
e. Enter a Description by clicking in the fieldit will populate automatically.
f. Select Yes to enable.
g. Leave Default Script as System Default.
6. Click Add.

Create Trigger for New Application


1. Once the new application has been added, an Add new trigger link will appear on the left side of
the Cisco Script Application screen. If you already returned to the Application Management
screen, you can click the Application name to go to the Cisco Script Application screen.
2. Click Add new trigger. The Add a New Trigger pop-up window will be displayed.
3. Select Cisco HTTP Trigger, and then click Next. This opens the HTTP Trigger Configuration
pop-up window.
4. Enter the URL as /vhtoutbound.
5. Select your appropriate regional Language; e.g., English [en_AU].
6. The Application Name will already be populated with the name of the Application.
7. Enter the Maximum Number of Sessions.
8. Enter the Idle Timeout (in ms). Change the default to 2000.
9. Select Yes to enable.
10. Click Add.
An HTTP Trigger has now been created.

Create Application for Unified CM Telephony Trigger


1. Log in to Cisco Unified CCX Administration.
2. Go to Applications > Application Management.
3. Click Add New to open the Add A New Application screen.
4. Select Cisco Script Application from the Application Type drop-down.
5. Click Next. The Cisco Script Application screen will open.
a. Enter Name.
Note: This name will be used in the Outbound script that will be created later.
b. ID is auto-created.
c. Enter Maximum Number of Sessions.
d. Select Script from the drop-down.
Select SCRIPT[VHT/vht_ob_treatment.aef]

25
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

e. Enter a Description.
f. Select Yes to Enable.
g. Select a Default Script from the drop-down.
6. Click Add.

Create DN-Based Trigger for New Application


1. Once the new application has been added, a new trigger link will appear on the left side of the
Cisco Script Application screen. If you already returned to the Application Management screen,
you can click the application name to go to the Cisco Script Application screen.
2. Click Add new trigger on the left side of the screen. The Add a New Trigger screen will open.
3. Select Unified CM Telephony Trigger as the Trigger Type, and then click Next. The Cisco Uni-
fied CM Telephony Trigger Configuration pop-up will open.
4. Enter the Directory Number of any Route Point that is available/not being used by any other
Application or Trigger.
Note: Save this value for later with when configuring the OCC.
5. Select your appropriate regional Language; e.g., English [en_AU].
6. The Application Name will already be populated with the Cisco Script Application Name.
7. Enter a unique Device Name.
8. Enter the Description.
9. Select the Call Control Group from the drop-down list.
Note: Remember the value that you selected in this step for later use; e.g., Call Control Group
1(3). The 3 is the number you would need to remember (see the figure below).
Figure 12: DN-Based Trigger Configuration - Call Control Group

26
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

10. Click Add.


A link for the newly created Trigger will appear on the left side of the Cisco Script Application screen.

Set the callControlGroup Variable


1. Go to the UCCX Editor and open the vht_callback.aef script from the VHT folder.
2. Go to the list of variables, and find callControlGroup from the list.
3. Set the Value to the number that was set in Step 9 of the previous section, Create DN-Based
Trigger for New Application.
Figure 13: Callback Script Variables

4. Save the script, and then close the script.


5. Return to the UCCX Administration page, and then navigate to Applications > Application
Management. Select the HTTP Application created earlier for this script (VHT_HTTP), and
then click Update; see Create Application for HTTP Trigger.

Deploy Core Software


The following section includes instructions for the installation and configuration of Virtual Hold core
software needed for a successful UCCX integration deployment.

Install Core Software


Perform the following to install Virtual Hold:
1. Double-click setup.exe.
2. On the Custom Setup screen:
a. Expand QueueManagement to display all features and components under it. Select to
install QueueManager, but make sure NO TIALs are selected.
b. Expand CallFlow to display all features and components under it. Neither CallFlow nor
any of the features or components should be selected; i.e., make sure NO IVRs are
selected.

27
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

c. PlatformToolKitWS v4.0 is installed by default as part of the InstallShield. Expand


QueueInfo to verify it has been selected.
d. At the SENSe Service to Monitor screen, clear IVR.
Note: You can modify the SENSe .xml file to monitor/control OCC after the install.
Note: See the Virtual Hold Deployment Guide for more details on how to complete InstallShield screens.

Configure Core Software


Run the Configuration Wizard and follow the steps in the Virtual Hold Deployment Guide. Note the
following selections that are specific to this environment:
Figure 10: Configuration Wizard Switch Connection screen.

1. At the Switch Connection screen, click Add to open the Switch Types window.
Figure 11: Switch Types window.

2. Select Switch Type NONE, and then click Create.

28
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

Figure 12: Configuration Wizard IVR Servers screen.

3. At the IVR Servers window, click Add.


Figure 13: IVR Servers window.

4. At the subsequent IVR Servers window, keep the defaults.


Figure 14: Configuration Wizard Queues window.

5. At the Queues window, click Add. The Callback and Holding Queues window will open.
After you close the Queues window, the Callback and Holding Queues window appears.

29
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

Figure 15: Configuration Wizard Callback and Holding Queues window

6. Click Add to open the following Callback and Holding Queues screen.
Figure 16: Callback and Holding Queues Window

a. At the top of the Callback and Holding Queues window, select the Site Name.
b. In the Callback Queues Section of the window, perform the following steps:
Enter the Callback Queue ID (CSQ ID): enter the CSQ name of the Callback Queue.
Enter the Transfer Device: where you transfer the call from the IVR at callback or
error decision. This is the same CSQ as the Callback Queue ID.

Click Create. A message is displayed after the callback queue is created.


c. In the Holding Queues section of the window, perform the following steps:
Enter the Holding Queue ID (CSQ ID): enter the CSQ name of the Holding Queue.

30
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

Enter the Route Device: where you transfer the call at route time decision (the same
CSQ as the Holding Queue ID).
Enter the Transfer Device: where you transfer the call from the IVR at holding or
error decision. This is the same CSQ as the Holding Queue ID.
Click Create. A message is displayed after the item is created.
7. When you are finished, click Close. The Configuration Wizard Incoming Extensions window
is displayed.
Figure 17: Configuration Wizard Incoming Extensions Window

This window adds Incoming Extensions that reference the proper Callback Queues and Holding
Queues.
Note: For UCCX integration, configure one Incoming Extension for each Segment in your telephony
system. A segment is your Entry DN in UCCX for each skill. Use Treatment Type 20 in order for the
Platform Toolkit to recognize the Incoming Extensions as Segments.
a. Click Add to open the Incoming Extensions window.

31
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

Figure 18: Configuration Wizard Incoming Extensions Setup Window

b. Enter the Site Name.


c. Select the Queue ID: Select the Queue ID that corresponds to the Queue ID in the
Queues section.
When setting up a Rapport queue to be used to do outdialing, for Extension, enter
the QueueID with uppercase RCL as the prefix. For example, a QueueID of VHT_Test
would have Extension RCLVHT_Test. If a queue is going to be used for both in- and
outbound Rapport calls, there will need to be two separate entries of this incoming
extension in the database. One for inbound calls will be setup with the QueueID and
the correct DN for the Extension. For example, QueueID of VHT_Test and Extension
of 3001. Meanwhile, the Rapport incoming extension will have RCL prefixed to the
same QueueID. For example, QueueID of VHT_Test and Extension of RCLVHT_Test.
Extension*: Enter the Entry DN (Incoming Extension).
Label: Enter a label, such as UCCX Entry DN.
Country ID: Enter the country code; for example, 1 if US.
Treatment Type: For UCCX integration, use Treatment Type 20.
Script Number: This option is not utilized when a VXML IVR is being used. In this
case, use Brand and Language settings in the EyeQueue application to select the
brand for the segment and language for the IVR profile.
IVR Group: Select the corresponding IVR associated with this queue.
Holding Queue ID: Select the corresponding Holding Queue (CSQ) associated with
this queue.

32
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

Callback Queue ID: Select the corresponding Callback Queue (CSQ) associated
with this queue.
Under Threshold Queue ID*: Select the corresponding Under Threshold Queue
(CSQ) associated with this queue.
IB IVR Group ID: Leave NONE selected.
OB IVR Group ID: Leave NONE selected.
d. Click Create. A message is displayed after the queue is created.
e. Optional: If you created additional queues, you will need to create an incoming extension
for each queue. Repeat the steps above for each queue.
f. Click Close when finished.
Skip the Phone Number Configurations screen unless changes are necessary.
The Finished screen will confirm you have completed Virtual Hold configuration.

Deploy VXML Interaction Server


This section walks you through all of the steps that are required to install and configure VXML Interaction
Server on your system. It lists the third-party software required to complete the process, how to retrieve
the code, how to add URLs and other important processes and procedures.

Installing Eclipse
You must install Eclipse on your local machine to build the VXML Interaction Server application.
1. Download the Eclipse for RCP and RAP Developers software for Eclipse Indigo SR2 from
http://www.eclipse.org/downloads/packages/release/indigo/sr2

Important: You must install the version of Eclipse RCP and RAP for Developers that is for the
Indigo release of Eclipse. Other versions will not work. Confirm that the version you are down-
loading is for the Indigo release.

Tip: Eclipse provides both 32-bit and 64-bit versions. Download the version that is compatible
with your local machine, where you are going to build the .war file. To check whether you have a
32-bit server or a 64-bit server, right-click My Computer > Properties.
2. Extract the files to the desktop.
3. Open the Eclipse folder inside the new folder on the desktop.
4. Run eclipse.exe.
5. In 32-bit environments only, if the screen pops up that offers selecting/sharing data, click No.
6. Select a workspace to house the project. You can use the default workspace.
Add a note to name the file with the version of VIS.
7. Click OK.

33
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

Installing or Updating VXML Plug-ins


This section details the installation, upgrade, and removal of a previous version for the Virtual Hold
Extension Library and OpenMethods Toolkit URLs.

Installation
Install the files via the import.xml file.
1. Copy the import.xml file from the Sample Configuration folder and paste it into the folder where
you unzipped Eclipse.

Note: There are multiple versions of the import.xml file. Be sure to use the file that shipped with
your version of the VXML interaction server.
2. To import the import.xml file, perform the following:
a. Select Window > Preferences:
b. Select Install/Update > Available Software Sites.
c. Click Import and select the import.xml file.
d. Select Open.
e. Verify update sites were added and click OK.
3. To install the software, perform the following:
a. Go to Help > Install New Software.
b. From the Work with drop-down box, select All Available Sites.
c. Once the window is populated with available software components, select the check box
next to the OpenVXML 4.0 and Uncategorized labels and click Next.
d. Review the Install Details window and click Next.
e. Select the radio button to accept the license agreement and click Finish.

Note: You may need to expand the section to get to the button.
4. Click OK if security warning appears.
5. Click Restart Now to restart Eclipse.

Validation
1. Go to the Help > About Eclipse.
2. Click on the Installation Details button.
3. Examine the Virtual Hold Extension Library on the Installed Software tab.
4. Confirm that the version number is correct for your version of VXML Interaction Server.

Retrieving Source Code


1. Download the VXML Interaction Server source code from the Virtual Hold Download Center and
extract it to C:\Users\your username\Workspace (use the same workplace that has already

34
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

been created).

Tip: Use Extract Here to avoid nesting the files.


2. Open the source code folder and copy all of the files into C:\Users\your username\Workspace.
Important: DO NOT nest the source files directory.
Figure 19: An example of a nested directory.

Adding Source Files into Eclipse


Depending on how many times you have updated the VXML Interaction Server files in the workspace,
perform the following steps in Eclipse. If this is the first time performing this procedure in Eclipse, do the
following:
1. Navigate to File > Import > General > Existing Projects into Workspace.
2. Click Next.
3. Select the Root Directory.
4. Browse to the location of the source code: C:\Users\your username\Workspace.
5. Click OK.
6. Click Select All, and then click Finish.
7. Press F5 to refresh the project.
8. Select Project > Clean and ensure that rebuild is selected. Perform this step anytime an update
occurs.

Updating the VXML Interaction Server in Eclipse


To update from an older version of the Virtual Hold Extension Library to the most recent, two procedures
must be performed in this section.
Note: The latest version (if you have more than two import.xml files installed) replaces the older version.

Extension Library
1. Go to Help > Check for Updates.
2. Select the Virtual Hold Extension Library from the list of Available Updates.
3. Click Next.
4. Click Next to go to the Review Licenses page and accept the agreement.

35
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

5. Click Finish.
6. Click OK if security warning appears.
7. Click Restart Now to restart Eclipse.

Platform
Perform Step 2 through Step 5 of Installation on page 33.
Note: A window appears stating that some components have already been installed. This is normal.
Continue to complete the upgrade.

Revert to a Previous Version of the Extension Library


To use an older version of the Virtual Hold Extension Library, remove it, and then install the desired
version.
1. Go to the Help > About Eclipse.
2. Click on the Installation Details button.
3. Select the newer Virtual Hold Extension Library on the Installed Software tab.
4. Click Uninstall.
5. Accept default prompting to complete.
6. Perform Step 2 of Installation on page 33.
7. Delete the existing Virtual Hold Extension Library by performing the following:
a. Select Window > Preferences:
b. Select Install/Update > Available Software Sites.
c. Select the name and click Remove.
d. Click Yes when prompted.
8. Perform Step 3 through Step 5 of Installation on page 33.
Turn on automatic updates:
1. Navigate to Window > Preferences > Install/Update > Automatic Updates to set up Eclipse to
automatically check for updates.
2. Click Apply.
3. Click OK.

Create the VHT_VIS.war File


This topic outlines how to package and build the source files into a single file with a .war extension.
Ensure the following procedures are complete BEFORE creating the .war file:
VXML Interaction Server contains the latest updates. See Updating the VXML Interaction Server
in Eclipse on page 35.
If you would like to add support for additional Brands and Languages, see Brands and Lan-
guages.

36
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

To package and build the source files into a single file with a .war extension:
1. In Eclipse, select File > Export > Voice Tools > Web Application.
2. Click Next.
3. Select Archive File.
a. Browse to the location where you want to save the .war file, and then click Open.
Tip: Save the .war file in an easily accessible location, such as the desktop.
b. In the File Name field, enter a name for the file (VHT_VIS.war). The file extension is case
sensitive and should be written in lowercase.
c. Click Open.
4. Click Next.
5. Click Select All.
6. Click Finish. You can ignore any warnings.

Deploy the VHT_VIS.war File


Copy the VHT_VIS.war file into the Apache Tomcat webapps directory (\\Tomcat\webapps). The file
should unzip automatically. If it does not, restart Tomcat.

Important: Delete any existing files before copying the .war file here. This includes previous .war files
and unzipped .war files. Delete them in the following locations:
\\Tomcat\webapps
\\Tomcat\work\Catalina\localhost

Configuring the VXML Interaction Server (toolkit.properties)


The configuration information for the VXML Interaction Server is stored in a toolkit.properties file. The
toolkit.properties file contains settings that are used to determine routing decisions within the system.
The uccx.toolkit.properties template file is included with the build of VXML Interaction Server. This
template file is located in the following location:
\\x.x.x.xxxx.VXML_Interaction_Server.xxx\Sample Configuration
To configure the VXML Interaction Server, perform the following steps:
1. Create a VirtualHold folder on the same server and same drive that Apache Tomcat is installed
on.
2. Copy the uccx.toolkit.properties template file (\\x.x.x.xxxx.VXML_Interaction_Server.xxx\Sam-
ple Configuration) to the VirtualHold directory.
3. Rename the template file to toolkit.properties.
4. Open the toolkit.properties file in a text editor.
5. Change com.virtualhold.toolkit.baseurl to point to the appropriate PTK location. For example,
http://IPAddress:Port/VHTPlatformWS-v4/
Note: Make sure it is pointing to PTK version 4.

37
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

6. Change com.virtualhold.toolkit.audiopath to point to the appropriate directory where the name


files are stored. For example, C:/Program Files/Apache Software Foundation/Tomcat 7.0/
webapps/ROOT
7. Change com.virtualhold.toolkit.webaudiopath so Tomcat (or some other Web server) can fetch
the name files from the directory used above. For example, http://Tomcat (or similar Web server)
IP Address:Port/Change com.virtualhold.toolkit.useDnisAsSegment to true if it was set to
false. This will enable you to use the calls DNIS as the incoming PTK segment.
8. The setting com.virtualhold.toolkit.disableNameRecording accepts true or false; to disable
Name Recording, set to true, to enable, set to false. See Known Limitations about supported
UCCX versions prior to changing this setting and make appropriate changes.
9. Save and Close the file.

Optional: Change the Location of the toolkit.properties File


If you want to store the file in a different location, you can create an environment variable or configure
Apache Tomcat to identify the new location. The default location is C:/VirtualHold.
For the environment variable, perform the following steps on the server that contains the VXML
Interaction Server:
1. Right click on My Computer and select Properties.
2. Click on the Advanced Tab and then Environment Variables.
3. Under System Variables, click New to add a new environment variable.
4. Enter the Variable name as VHT_VIS_PATH.
5. Enter the Variable value as the path to the toolkit.properties file.
6. Restart the server.
Or, on the server that contains the Apache Tomcat, perform the following steps:
1. Open the Apache Tomcat Java Properties and select the Java tab.
2. Click on the Advanced Tab and then the Environment Variables button.
3. Enter the path of the toolkit.properties in the Java Options text window.
4. Click Apply.

Brands and Languages


Brands can be used to customize the caller experience through the use of audio files for prompting. For
example, brands can be used to set up prompts for a sales queue responsible for a line of several
different products. Language helps organize prompting within a project. Together, brand and language
form a matrix of voice projects. You must configure a voice project for the default brand for each
language added to a workflow project.
You cannot simply add files, brands, languages, etc. to a workflow project to customize the callflow. This
process of creating and assigning brands and languages must be followed whenever a project is
upgraded or customized.

38
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

Create and Upload a Voice Project


To add a new voice project to a Virtual Hold Interaction Server application using the Eclipse application:
1. Select New > Project to open the New Project window at the Select a wizard screen.
Figure 20: Navigation to start a new project in Eclipse.

2. Select Voice Tools Wizards > Voice and click Next.


Figure 21: Select a wizard screen in the New Project window.

3. Enter the name for this voice project in the Name field, and then select a formatter in the Format-
ter field in the New Voice Wizard window. The language formatter controls the appearance of
certain information, such as date format, etc. in a language-specific manner.

39
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

Figure 22: Voice Information screen in New Voice Wizard window.

4. Click Finish.

40
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

5. In Windows Explorer, navigate to the VXML Interaction Servers \VHTSample\Media folder and
copy the following folder and files.
\Grammars folder
ContactNumber.grxml file
ContactNumber.regex file
6. Paste the copied folder and files into the \VHTCallScript_scriptnumber folder of each
VHTCallScript_scriptnumber in each of the customers voice file collections.
7. If necessary, repeat Step 5 (look in the VHT_Sample_languagename\Media Files folder) and
Step 6 for Spanish and French language folders and files.
8. In Windows Explorer, drag media files from your computers directory into the new voice project
folder in Eclipse. This will open the File and Folder Operation window.
9. Select Copy files and folders and then click OK.
Note: Do not select either option to link to files and folders.
Figure 23: File and Folder Operation window.

10. Repeat Step 1 through Step 9 for each set of voice files to be added. This voice project can be
associated with a brand in the projects settings. Also, you can modify each individual project to
point to this voice file set as the default set.

Add a Language to a Workflow Project


Perform the following to add a language to a workflow project using the Eclipse application:
1. Close any open canvases.
2. Open the Build Path properties window for the project by right-clicking on the project and select-
ing Properties.

41
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

Figure 24: Navigation to Project Properties window.

3. In the Properties window, select Build Path to access the Brands tab.
4. Click Configure Languages on the Languages tab.
5. Click Add Language in the language dialog box.
6. Enter a unique language name and click OK in the add language dialog box.
7. Select the appropriate voice project for this language for each brand by selecting the desired
voice project from the pull-down menu in each column.
Figure 25: Languages Tab in Properties window.

8. Click OK on the Properties window to apply the new language to the workflow project. The Prop-
erties window will close.
9. Once complete, perform a full clean up and build of the workspace (see Build the VXML Interac-
tion Server for more information).

Create Brands and Assign Languages


Note: The following steps must be performed on all Workflow Projects named CallDirector_XXX and
Module_XXX. Do not perform these steps on any other projects in the navigation tree.
Perform the following to add brands to a workflow project and assign voice projects to the languages:

42
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

1. Close any open canvases.


2. Open the Build Path properties window for the first project by right-clicking on the project and
selecting Properties.
Figure 26: Navigation to Project Properties window.

3. In the Properties window, select Build Path to access the Brands tab. Right-click on the Default
brand, and then click Add Brand.
4. Enter a name for the brand in the Name field (VHTCallScript_1 for example) and click OK.
Repeat to add more brands.
Figure 27: Build Path screen in Properties window.

5. After adding all your brands, select the Languages tab and expand the Default brand so that
each brand under it is displayed.

43
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

Figure 28: Build Path Languages

6. If you want to change the voice project associated to a language of a brand (Inherit From Parent
is the default value for created brands):
a. Click in the language column for the brand.
b. Select the appropriate language in the drop-down list.
7. After all brands are added and the voice projects assigned, click OK on the Properties window to
apply the new brand to the workflow project. The Properties window will close.
8. Repeat Step 2 through Step 7 for each workflow project named CallDirector_XXX and
Module_XXX. After all projects have been configured with all brands, verify that all brands are
present on the Brands tab of the Properties window for each CallDirector and Module project.
9. Once complete, perform a full clean up and build of the workspace (see Build the VXML Interac-
tion Server for more information).

Build and Deploy the VHT_VIS.war File


You must rebuild and deploy the project to include the brands and languages created above. Follow the
instructions below to make the changes take effect:
1. Build the VXML Interaction Server:
a. Open Eclipse.
b. Navigate to Project > Clean ... to ensure that the project is built from scratch.
c. Under Project, select the Build Automatically box if it is not already selected.
2. Create the VHT_VIS.war file. For instructions on creating the VHT_VIS.war file, refer to Create
the VHT_VIS.war File.
3. Deploy the VHT_VIS.war File. For instructions on deploying the VHT_VIS.war file, refer to
Deploy the VHT_VIS.war File.

44
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

Note: To apply brand and language, see Brand and Language in the System section of the EyeQueue
User Guide. Please make sure that Virtual Hold is installed before this is applied.

Change the Log Level for VXML Interaction Server on Apache Tomcat
The VXML Interaction Server provides several levels of logging:
Table 1: VXML Interaction Server Log Levels

Log Level Information Written to the Log

ERROR Errors

WARN Errors and warnings

Errors, warnings, and informational


INFO
output

DEBUG Low level trace information

By default, the VXML Interaction Server writes to the log at the INFO level.

Change the Log Level Temporarily


If you want to change the log level for a short time, for example when troubleshooting, you can change
the log level in a web browser.
Perform the following steps:
1. On the Server where the VXML Interaction Server is installed, navigate to http://server:port/
warfile/-/logging. The Current Log Level page is displayed.
2. Choose the log level that you want to use from the drop down menu and then click Set.
3. Change the level back when you are finished.
Note: The log level returns to the default setting when you restart the server or update the VXML
Interaction Server application in Eclipse.

Change the Log Level Permanently


If you want to change the level of detail in the logs permanently, you can change the log level in the Java
Options.
Perform the following steps:
1. On the Server where the VXML Interaction Server is installed, open the Tomcat6w.exe directory,
usually found at C:\Program Files\Apache Software Foundation\Tomcat 6.0\bin. The Properties
window is displayed.
2. In the Java Options section, add the Dorg.eclipse.vtp.loglevel setting with the value for the log
level that you want to use. Valid values are ERROR, WARN, INFO, and DEBUG. Restart Apache
Tomcat.

45
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

Deploy Outbound Contact Client


Use the OCC Installer to install the Outbound Contact Client. Use the configuration files to modify the
OCC installation. See How to Change the UCCX Specific Configuration File for more information.

Install Outbound Contact Client


1. Locate OccInstall.exe in the UCCX Template from the download of VHT and copy it to the server
where you want it to reside. This should be installed on the same server where Virtual Hold
resides.
2. Double-click OccInstall.exe.
a. The VHT Outbound Contact Client splash screen will briefly appear:
Figure 29: VHT Outbound Contact Client splash screen

b. The Outbound Contact Client Setup: Installation Folder window will open.
Figure 30: Outbound Contact Client Setup window

3. Enter the path for, or browse to, the Destination Folder, and then click Next.
a. The installation path cannot contain spaces. If it does, the following dialog will appear:

46
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

Figure 31: Outbound Contact Client Setup destination path requirement dialog

b. Click OK to acknowledge the Outbound Contact Client Setup message: The installation
path cannot contain spaces.
c. Eliminate any spaces in the installation path, and then click Next.

4. The following two screens of the OCC Setup consist of, first, configuring items at a generic OCC
level; and, second, configuring UCCX-specific items.
Figure 32: Outbound Contact Client Setup - OCC setup

a. Enter the following on the OCC setup screen:


Log Pathbrowse to the folder path for the log files.
Queue Manager Hostthe name of your server.
Queue Manager IPthe same IP as was entered in Virtual Hold.
Note: This field uses built-in IP control to assist in correct configuration. Enter the IP
address as if this were a blank field, using four decimal numbers separated by dots.
Queue Manager Portthe same Port as was entered in Virtual Hold.
IVR Namethe name of the IVR entered for IVR Group in the IVRServers table.
Note: If Virtual Hold is already configured, then log in to EyeQueue and browse to the
DBConfig page and look for the IVRServers table > get the IVR Name from the IVR
Groups column. Otherwise, make note of this value and use it when you configure the
IVRServers table.
IVR Hostthe name of your OCC server.
Note: This field is case-sensitive. Be sure to enter the exact name of the server with
the proper case.
Dialer Typethe type of dialer interface. Select UCCX.
b. Click Next to view the UCCX setup screen.

47
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

Figure 33: Outbound Contact Client Setup - UCCX window

c. Enter the following on screen two, which get passed to the UCCX trigger:
Tenantthe Site Name; e.g., VHT
Out Dial URLthe URL of HTTP Trigger in UCCX, where VHTOutbound is the trig-
ger configured for the outbound script.
Outbound DNa new route point to which callbacks must be redirected to attach
user data before the call is sent to the agent.
Note: If your UCCX environment is set up per Prepare the Cisco UCCX Environment,
then you can get the Directory Number that was created as part of Create DN-Based
Trigger for New Application.
VIS Request URLthe URL of the VXML Interaction Server. This value is sent to
UCCX so it can invoke VXML pages to provide the outbound treatment to the caller.
InstallShield will display this URL:
http://<VIS_IP:Port>/<VIS_VERSION>/Cisco/Outbound
Replace <VIS_VERSION> with the name of the VIS .war file.
Note: If VIS is not yet installed, you may manually change the UCCX.config file set-
ting requestURL in How to Change the UCCX Specific Configuration File.
Disposition URLthe URL of the VHT_OCC Disposition Web Service that UCCX
will call with disposition information. For example, busy, no answer, etc.
PlatformToolKit URLthe URL of the server where Virtual Hold PTK resides.
In addition to what is entered into OCC, the following parameters are passed to the UCCX outbound
trigger (http://UCCXServer:Port/HTTPTrigger):
INTERACTION_ID=InteractionId
CALLBACK_NUMBER=DialPrefixPhoneNumberDialSuffix
CBQSkill=CSQ ID (the skill where the call will be queued after customer answers)
NoAnswerTimeout=55 (in seconds)
Sample HTTP request to initiate an outbound call in UCCX:
http://uccxServer:port/
httpTrigger?INTERACTION_ID=InteractionId&CALLBACK_NUMBER=callbackNumber&SEGMENT=segment&CBQSk
ill=skill&VIS_URL=http://visServer:port/uccx_ivr/Cisco/
Outbound&NoAnswerTimeout=noAnswerTimeout&DispositionURL=dispositionUrl&PTK_URL=http://
queueInfoServer/VHTPlatformWS-v4&TENANT=tenant&OutboundDN=outboundDN
d. Click Next

48
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

5. Click Install. The Installing window will open, showing installation status.
Note: A Microsoft Visual C++ Redistributable Setup window opens if it is needed for this installa-
tion. Select the check box indicating that you have read and accepted the license agreement to
complete the installation, and then click Install. Click Finish when the redistributable has been
completed installed.
Figure 34: Outbound Contact Client Setup: Installing window

a. If any part of the Outbound Contact Client has already been installed, the following dialog
will appear:
Figure 35: Outbound Contact Client Setup: OCC installation folder already exists

b. Click OK to remove the existing OCC installation folder and continue with the installation.
6. When the installation has completed, the following screen will appear:
Figure 36: Outbound Contact Client Setup: Completed window

a. Click Show details to view what actions took place regarding files during the installation.
When the installation completes, these details are written to a log file, OccInstall.log, in
the OCC installation folder. Also, the details can be copied to the clipboard by right-click-
ing in the details text box, and then viewed by pasting them into text editor. See the figure
below.
b. Verify there are no warnings or errors.

49
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

Figure 37: Outbound Contact Client Setup: Completed details

7. Click Close to complete the installation.


Important: Outbound IVR should either be removed, if it has been installed, or Stopped in Services.
Start the VHT_Outbound_Contact_Client. When installing Virtual Hold, clear any IVR selections that may
occur.
Note: A Microsoft Visual C++ Redistributable Setup window opens if it is needed for this installation.
Select the check box indicating that you have read and accepted the license agreement to complete the
installation, and then click Install. Click Finish when the redistributable has been completed installed.
Figure 38: Microsoft Visual C++ Redistributable Setup

How to Change the UCCX Specific Configuration File


If necessary, the OCC_UCCX.xml file can be changed. UCCX configuration takes place through the
entry of several variables: Request/Postback URL and ports, headers and content type. The following is
an example of an OCC_UCCX.xml file, which can be found at the location where OCC was installed.
The default location is C:/VirtualHoldTechnology/OCC/OCC_UCCX.xml.
Note: Changes to configuration parameters require a restart of OCC.

50
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

% outdialUrl - URL of the UCCX that will provide the outbound treatment.

{outdialUrl, "http://UCCX_IP:9080/VHTOutbound"},

% outdialHTTPOptions - List of the erlang httpc module options for the request function.

{outdialHTTPOptions, [

{ timeout, 0}, % Timeout of actual request once it is sent

{ connect_timeout, 0} % Timeout to connect to the outdialURL

]},

% requestUrl - URL of the VIS that will provide the outbound treatment. This value is sent to
UCCX so that it can send the call there once connected.

{requestUrl, "http://VIS_IP:8080/uccx_ivr/Cisco/Outbound"},

% dispositionUrl - URL of the VHT_OCC Disposition Web Service that UCCX will call with
dispositions. The OCC_IP below should be replaced with the IP address of the server where OCC
is installed.

{dispositionUrl, "http://OCC_IP"},

% platformToolKitUrl - URL of the PlatformToolKit that UCCX will call for InteractionQueued
and InteractionDequeued methods.

{platformToolKitUrl, "http://PTK_IP/VHTPlatformWS-v4"},

% dispositionPath - Path for the VHT_OCC Disposition Web Service to listen for dispositions
from UCCX.

{dispositionPath, "/vht/occ"},

% dispositionPort - Port for the VHT_OCC Disposition Web Service to listen for dispositions
from UCCX.

{dispositionPort, 4153},

% dispositionTimeout - Length of time (in milliseconds) to wait for notification of a call's


disposition from UCCX.

{dispositionTimeout, 55000},

% tenant - Tenant for UCCX.

51
Virtual Hold for UCCX Installation and Configuration Guide Installation and Configuration

{tenant, "VHT"},

% outboundDN - OutboundDN where the callback is redirected from the UCCX vht_callback script.

{outboundDN, "<YourOutboundDN>"},

% Callback state machine Configuration

% These values configure the callback behavior for UCCX

% as opposed to another type of callback service

% These are not intended to be changed.

{ setCallConnectedOnSuccess, true},

{ callbackFailsOnDispositionTimeout, true}

].

52
Virtual Hold for UCCX Installation and Configuration Guide Appendix

Appendix
The following is provided as assistance in determining where issues in using this solution may occur.

UCCX Platforms
The UCCX platform, available in three packages, is positioned for the following target users and has
the capabilities listed:
Unified CCX Standard (designed for entry-level users)includes the steps necessary for creat-
ing basic Unified CCX application, including IP Phone Agent (IPPA) and skill-based routing and
does not include Cisco Agent Desktop (CAD).
Unified CCX Enhanced (designed for enterprise-level users)includes all functions of Unified
CCX Standard, plus support for priority queuing. Includes a license to enable custom Java exten-
sions.
Unified CCX Premium is required for VHT-UCCX integrations. See Business Perspective for
more information about the UCCX Premium package.
Customers with the Standard or Enhanced packages, who are looking to leverage Virtual Hold with
UCCX, will need to upgrade their UCCX deployment to the Premium package.

Troubleshoot UCCX
In order to troubleshoot calls in UCCX, you will need to install the Real-Time Monitoring Tool from Cisco
Unified CCX Administration.

Cisco Unified CCX Real-Time Monitoring Tool (RTMT)


Use this tool to view UCCX logs for troubleshooting purposes. It will allow you to pinpoint the time frame
in which you want to view log files as well as specify a location to which the files should be exported.

Download the RTMT


1. Log in to the Cisco Unified Contact Center Express Server.
2. Select Tools > Plug-ins. Click the Cisco Unified CCX Real-Time Monitoring Tool for Win-
dows link to download and install it to your local machine. The default location is: C:\Program
Files (x86)\Cisco\Unified Serviceability\JRtmt
3. Once the Real-Time Monitoring Tool is installed, return to the Cisco Unified CCX Server to
enable call tracing:
a. Select Cisco Unified CCX Serviceability from the Navigation drop-down in the upper-
right corner of the Cisco Unified CCX screen, and the click Go.

52
Virtual Hold for UCCX Installation and Configuration Guide Appendix

b. Select Trace > Configuration:


In the Trace Filter Setting table, select Debugging and XDebugging1 for ENG in the
MANAGERS Subfacility.
Select Debugging and XDebugging1 for SS_VB in the SUBSYSTEMS Subfacility.
c. Click Save.

Start the RTMT


Navigate to RTMT through your Start menu to Cisco > Unified Serviceability > Real-Time Monitoring
Tool 8.5:
1. Log in to RTMT.
2. In the System navigator under Tools, Select Trace & Log Central.
a. Double-click Collect Files.
Note: If RTMT exits after this step, right-click Real-Time Monitoring Tool 8.5 in your Start
menu, and then select Properties. On the Compatibility tab, click Run this program in
compatibility mode, and then select Windows XP (Service Pack 3) from the drop-
down. Click Apply, and then OK.
b. On the Collect Files/Select UCCX Services/Applications screen, select Cisco Unified
CCX Engine.
c. Click Next.
d. On the Collect Files/Select System Services/Applications screen, click Next without mak-
ing any selections.
e. On the Collect File Options screen under Collection Time, select the time range (Abso-
lute or Relative) for which you would like to collect files.
f. Under Download File Options, Browse to the location where the files will be downloaded
(the default is C:\Program Files (x86)\Cisco\Unified Serviceability\JRtmt). Make any other
selections as necessary.
g. Click Finish.

View Logs
View the exported logs in a text editor. The logs can be found in the default location, C:\Program Files
(x86)\Cisco\Unified Serviceability\JRtmt unless a different location is specified.
To trace the script, look in the Cisco001MIVRxxx.log files.
To trace any System.out logs from Java Code, look in the stdout.log files.

53
Virtual Hold for UCCX Installation and Configuration Guide Appendix

UCCX Log Format


UCCX scripts log call milestones, displaying the internal tracking ID; indicating the start and end of each
script; indicating whether values have been passed into the script; and indicating when the script returns
values. Call milestones will be logged as five types of statements as follows
START
Dec 11 15:25:00.018 EST 2012: VHT: START |vht_inbound.aef|scriptRootDirectory = 'DEV'|tenant =
'VHT'|visUrl = 'http://10.30.0.190:8080/uccx_ivr'|csq = 'Sales_CSQ'|ptkUrl = 'http://
10.30.0.190/VHTPlatformWS-v4/'|segment = 'NOT_SET'
END
Dec 11 15:25:02.934 EST 2012: VHT: END |vht_sub_get_offer_decision.aef|internalId =
133|getOfferDecisionResult = 'Y'
INFO
Dec 11 15:25:01.030 EST 2012: VHT: INFO |vht_sub_get_offer_decision.aef|internalId =
133|CALLING: com.virtualhold.uccx.PTKWrapper.getOfferDecision(ptkUrl,tenant,segment)|ptkUrl =
'http://10.30.0.190/VHTPlatformWS-v4/'|tenant = 'VHT'|segment = '4008020'
WARNING (if any)
ERROR (if any)

Writing/Generating Logs
There are two ways to perform logging in the UCCX Editorby annotation and by creating Java code
that can be uploaded to the server, and then calling that code within a script.
Figure 39: Logging sample in UCCX Editor

Annotated Logging
To use annotated logging, place the Annotate step, located under the General section of the UCCX
editor, in your script. It will allow you to enter typed text into the log file. However, it will not allow you to
pass variables.
Example of Annotated Logging log file:
14514: Sep 14 09:28:06.513 EDT %MIVR-ENG-7-UNK:Execute step of Task 34000000010 : /* Test
comment log */

Delete an Old .jar File


Deleting a .jar file involves removing it from the classpath, verifying that existing UCCX scripts have not
been affected, and actually deleting the .jar file.

54
Virtual Hold for UCCX Installation and Configuration Guide Appendix

Remove the .jar File from the Classpath


To remove a .jar file from a classpath:
1. Log in to Cisco Unified CCX Administration.
2. Navigate to System > Custom File Configuration.
3. Move the .jar file you want to delete from the Selected Classpath Entries to Available Classpath
Entries.
4. Click Update.
5. Restart the Cisco Unified CCX Editor if you were logged in to it during the preceding steps.
Verify that the existing UCCX scripts were not affected:
a. Log in to the Cisco Unified CCX Editor.
b. Open all UCCX scripts.
If the UCCX Editor can open the script, then it has not been affected. If the UCCX Editor
cannot open the script (i.e., you receive the error Failed to load script file), then you will
need to assign the .jar file back to the class path.

Assign a .jar File to a Class Path


If a .jar file has been affected by your attempt to delete old .jar files, and you are receiving the error
Failed to load script file, then you need to put the .jar file back into the class path:
6. Log in to Cisco Unified CCX Administration, and then navigate to System > Custom File Con-
figuration.
7. Move the affected file from Available Classpath Entries to Selected Classpath Entries.
8. Click Update.
9. Restart the Cisco Unified CCX Editor if you were logged in to it during the preceding steps.
10. Open the UCCX script you were unable to open and modify the step that accesses the custom
.jar file.
11. Repeat steps 6 through 10 for each .jar file until you are able to open all UCCX scripts.

Delete the .jar File


12. Click Upload Custom Jar Files.
13. Click the Delete icon associated with the .jar file you want to delete.
14. Click OK to verify the file to be deleted.
15. Follow the instructions for Restart Cisco Unified CCX Engine and Administration, and Network
Services to complete the process of Deleting an Old .jar File.

55
Virtual Hold for UCCX Installation and Configuration Guide Appendix

High-Level Diagrams
The following shows the high-level flow diagram of the subscripts that invoke PTK Wrapper .jar file.
Figure 40: PTKWrapper Subscripts - Java Wrappers

The following shows the high-level flow diagram of the subscript that invokes OCC Wrapper .jar file.
Figure 41: OCCWrapper Subscript - Java Wrapper

56
Virtual Hold for UCCX Installation and Configuration Guide Appendix

The following diagrams explain the flow for the main entry points for the Inbound and Outbound
Callflows.
Figure 42: Inbound and Outbound Callflow

57
Virtual Hold for UCCX Installation and Configuration Guide Appendix

The following scripts explain the flow for getting or setting user data.
Figure 43: Subscripts - Get/Set User Data

58
Virtual Hold for UCCX Installation and Configuration Guide Appendix

The following script explains the flow of invoking the VXML application to provide inbound treatment.
Figure 44: Inbound Treatment Script

59
Virtual Hold for UCCX Installation and Configuration Guide Appendix

The following script explains the flow of invoking the VXML application to provide outbound treatment.
Figure 45: Outbound Treatment Script

60
Virtual Hold for UCCX Installation and Configuration Guide Appendix

The following script explains the flow of sending queued and de-queued messages to VH platform. It is
also responsible for queuing the calls to an appropriate skill.
Figure 46: Queuing Script

61

S-ar putea să vă placă și