reduces the time callers have to physically wait on hold or in a queue. The
feature enables your system to offer callers (who meet your criteria) the
option to receive a courtesy callback by the system instead of waiting on the
phone for an agent. The caller who has been queued by Unified CVP can hang up
and subsequently be called back when an agent is close to becoming available
does not change the time a customer must wait to be connected to an agent, but
rather enables the caller to hang up and not be required to remain in queue
listening to music. Callers who have remained in queue or have undergone the
callback treatment appears the same to agents answering the call.
If the caller decides
to be called back by the system, they leave their name and phone number. Their
request remains in the system and when the system determines that an agent will
be available soon (or is available), then the system places a call back to the
caller. The caller answers the call and confirms that they are the original
caller and the system connects the caller to the agent after a brief wait.
In the event that the
caller cannot be reached after a configurable max number and frequency of
retries, the callback is aborted and the database status is updated
appropriately. You can run reports to determine if any manual callbacks are
necessary based on your business rules.
Note that you cannot
schedule a callback for a specific time.
There are a number
of prerequisites and design considerations for using this feature. See the
Cisco Unified Customer Voice Portal Release Solution Reference Network Design
The Cisco Unified
Customer Voice Portal Release Solution Reference Network Design (SRND) guide
also describes how the system determines customer wait time and when to call
the customer for the callback.
In your callback script, you can establish criteria
for offering a caller a courtesy callback. Examples of callback criteria
Number of minutes a customer is expected to
be waiting in queue that exceeds a maximum number of minutes
(based on your average call handling time per customer)
included example scripts use this method for determining callback
Assigned status of a customer
(gold customers may be offered the opportunity to be
called back instead of remaining on the line)
a customer has requested (sales calls, or system upgrades, for example, may be
established as callback criteria)
Sample Scripts and Audio Files for Courtesy Callback
The courtesy callback feature is implemented using Unified CCE scripts. The installation provides a set of modifiable example CCE scripts, call studio scripts, and audio files to get you started. You can use these scripts in your implementation after making a few required changes.
caller decides to be called back by the system, they leave their name and phone
number. Their request remains in the system and the EWT fires when the system
places a callback to the caller. The caller answers the call and confirms that
they are the original caller, and the system connects the caller to the agent
after a short wait.
Courtesy Callback is
supported for IP originated calls as well.
use of the Courtesy Callback feature follows this pattern:
The caller arrives
at Unified CVP and the call is treated in the normal IVR environment.
The Call Studio
Unified ICM Courtesy Callback scripts determine if the
caller is eligible for a callback based on the rules of your organization (such
as in the prior list of conditions).
If a courtesy
callback can be offered, the system tells the caller the approximate wait time
and offers to call the customer back when an agent is available.
If the caller
chooses not to use the callback feature, queuing continues as normal.
call continues as indicated in the remaining steps.
If the caller
chooses to receive a callback, the system prompts the caller to record their
name and to key in their phone number.
The system writes
a database record to log the callback information.
If the database
is not accessible, then the caller is not offered a callback and they are
placed in queue.
The caller is
disconnected from the TDM side of the call. However, the IP side of the call in
Unified CVP and
Unified ICM is still active. This keeps the call in the same
queue position. No queue music is played, so Voice XML gateway resources used
during this time are less than if the caller had actually been in queue.
When an agent in
the service/skill category the caller is waiting for is close to being
available (as determined by your callback scripts), then the system calls the
person back. The recorded name is announced when the callback is made to insure
the correct person accepts the call.
The system asks
the caller, through an IVR session, to confirm that they are the person who was
waiting for the call and that they are ready for the callback.
If the system
cannot reach the callback number provided by the caller (for example, the line
is busy, RNA, network problems, etc.) or if the caller do not confirm they are
the caller, then the call is not sent to an agent. The agent is always
guaranteed that someone is there waiting when they take the call. The system
assumes that the caller is already on the line by the time the agent gets the
This feature is
called preemptive callback as the system assumes that the caller is already on
the line by the time the agent gets the call and that the caller has to wait
minimal time in queue before speaking to an agent.
presents the call context on the agent screen-pop, as normal.
In the event
that the caller cannot be reached after a configurable maximum number and
frequency of retries, the callback is aborted and the database status is
updated appropriately. You can run reports to determine if any manual callbacks
are necessary based on your business rules.
Prerequisites and Design Considerations
following prerequisites and caveats apply to the Courtesy Callback feature:
Callback, callback is made using the same ingress gateway through which the
Callback, outbound calls cannot be made using any other egress gateway.
Calls that allow
Callback must be queued using a Unified CVP VXML Server.
The Unified CVP
Reporting Server must be installed and licensed.
detection is not available for this feature. During the callback, the best that
can be done is to prompt the caller with a brief IVR session and acknowledge
with DTMF that they are ready to take the call.
Calls that are
transferred to agents using DTMF *8, TBCT, or hookflash cannot use the Courtesy
Callbacks are a
best-effort mechanism. After a limited number of attempts to reach a caller
during a callback, the callback is terminated and marked as failed.
configure the allowed/blocked numbers that Callback is allowed to place calls
through the Unified CVP Operations Console.
Media inactivity detection
feature on the VXML Gateway can impact waiting callback calls. For more
information, see the
Guide for Cisco Unified Customer Voice Portal (CVP).
Due to the
preemptive call back feature of Courtesy Callback, an accurate EWT calculation
is needed for its optimal behavior. With almost all practical PQ (Precision
Queuing) situations, traditional EWT calculations are difficult. Therefore, we
do not support Courtesy Callback with PQ. Non-preemptive call backs are
recommended with PQ using the Agent Request interface.
Configure the Ingress Gateway for Courtesy Callback
gateway where the call arrives is the gateway that processes the preemptive
callback for the call, if the caller elects to receive a callback.
Courtesy callback is supported with Cisco Unified Border Element.
Note: We support both POTS and VoIP dial peers that point to a service provider.
Create outgoing dial peers for
the callbacks. These are the dial peers that place the actual call back out to
the PSTN. For example:
dial-peer voice 978554 pots
Use the following configuration to
ensure that SIP is set up to forward SIP INFO messaging:
voice service voip
signaling forward unconditional
Configure the VXML
Gateway for Courtesy Callback
To configure the
VXML gateway for Courtesy Callback:
cvp_ccb_vxml.tcl from the CVP OAMP Operations Console to the
flash memory of the gateway. Using the Operations Console:
Administration > File Transfer > Scripts and
Select Device Type select:
default gateway files, highlight:
In order to add
services to the gateway, you need to be in enabled-config application mode.
Type these commands at the gateway console:
Configuring from terminal, memory, or network [terminal]?
Enter configuration commands, one per line. End with CNTL/Z.
Add the cvp_cc
service to the configuration:
The service does
not require any parameters.
application with the command:
call application voice load
media-inactivity detection feature must be turned off in the VXML Gateway to
successfully callback the caller. With media-inactivity enabled on the VXML
Gateway, the cvp_cc service will disconnect the waiting callback calls after
'ip rtcp report interval' * 1000 milliseconds interval. This configuration
becomes important in a co-located Ingress/VXML setup where media inactivity
timers are always enabled. In such scenarios, the 'ip rtcp report interval' has
to be increased to support the maximum allowable waiting for a callback call as
defined by the solution requirements.
On the VoIP
dial-peer that defines the VRU leg from
Packaged CCE, verify that the codec can be used for
recording. The following example shows that g711ulaw can be used for recording
in Courtesy Callback:
dial-peer voice 123 voip
incoming called-number 123T
In other words,
this example shows the g711ulaw codec set on the 123 voip dial-peer. Note that
the codec must be specified explicitly. A codec class cannot be used because
recording will not work.
following configuration to ensure that SIP is setup to forward SIP INFO
voice service voip
signaling forward unconditional
VXML 2.0 is
required to play the beep to prompt the caller to record their name in the
BillingQueue example script. Add the following text to the configuration so the
VXML Server uses VXML 2.0:
vxml version 2.0
vxml version 2.0 is enabled on the gateway,vxml audioerror is off by default.
When an audio file cannot be played, error.badfetch will
generate an audio error event. To have the gateway generate an error.badfetch
event when a file cannot be played, enable vxml audioerror in your gateway
configuration. The following example uses config terminal mode to add both
vxml version 2.0
Configure the Reporting Server for Courtesy Callback
Reporting Server is required for the Courtesy Callback feature. The Reporting
Server must be installed and configured prior to completing the following
Configuration: If you have not configured a
Reporting Server in the Operations Console, refer to the Operations Console
Online Help, Device Management > Unified CVP Reporting
For instructions, see the Cisco Packaged Contact Center Enterprise Installation and Configuration Guide.
Once you have added the Reporting
Server, configure the Reporting Server for courtesy callback using the following procedure:
Login to the CVP Operations Console, using this syntax: https://<server_ip>:9443/oamp.
In the Operations
Console, select System > Courtesy Callback. The
Courtesy Callback Configuration page opens.
From this window, on the General tab you
Select the Reporting Server for Courtesy
Enable secure communication with the Courtesy
Configure allowed and disallowed dialed
These operations are described in the following
Figure 1. Courtesy CallBack Configuration
Courtesy Callback Configuration page, select the
Unified CVP Reporting
Server drop-down list, and select the Reporting Server to use for storing
Courtesy Callback data.
If you do not have a
Reporting Server configured, refer to the notes at the beginning of this
procedure to configure one.
If desired, enable
secure communication with the callback reporting database. Check
secure communication with the Courtesy Callback
Configure allowed and denied
dialed numbers. These are the numbers that the system should and should
call when it is making a courtesy callback to a caller.
Also configure the Maximum Number of Calls Per Calling Number. Use the following table to configure these fields:
Allow Unmatched Dialed Numbers
This checkbox controls whether or not dialed numbers
that do not exist in the
Allowed Dialed Numbers field can
be used for a callback.
By default, this is unchecked. If no dialed numbers are
present in the
Allowed Dialed Numbers list box, then
Courtesy Callback does not allow any callbacks.
Unchecked - Callbacks can only be sent to dialed numbers
listed in the
Allowed Dialed Numbers list.
Allowed Dialed Numbers
The list of allowed dialed numbers to which callbacks
can be sent. You can use dialed number patterns, for example
978> allows callbacks to all phone
numbers in the area code
To Add/Remove Dialed Numbers:
To Add a number to the list of allowed dialed
numbers - Enter the dialed number pattern in the
Dialed Number (DN): field and
To remove a number from the list - Highlight the
number and click
Empty - If
Allow Unmatched Dialed Numbers is
not checked, and this list remained empty, then no
callbacks can be made.
Denied Dialed Numbers
The list of denied dialed numbers to which callbacks are
never sent. You can use dialed number patterns, for example
555> disallows callbacks to all phone
numbers in the area code
To Add/Remove Dialed Numbers:
To Add a number to the list of denied dialed numbers
- Enter the dialed number pattern in the
Dialed Number (DN): field and
To remove a number from the list - Highlight the
number and click
Denied numbers takes precedence over allowed numbers.
Wildcarded DN patterns can contain "." and "X" in
any position to match a single wildcard character.
Any of the wildcard characters in the set ">*!T"
will match multiple characters but can only be used trailing values because
they will always match all remaining characters in the string.
The highest precedence of pattern matching is an
exact match, followed by the most specific wildcard match.
When the number of characters are matched equally by
wildcarded patterns in both the Allowed Dialed Numbers and Denied Dialed
Numbers lists, precedence is given to the one in the Denied Dialed Numbers
The Denied Dialed Numbers window is prepopulated if your
local language is "en-us"(United States, English). Be sure to add any
additional numbers you want to deny.
Maximum Number of Calls Per Calling Number
The default value is 0 which is equivalent to an
unlimited number of callbacks offered per calling number.
This setting allows you to limit the number of calls,
from the same calling number, that are eligible to receive a callback. If this
field is set to a positive number (X), then the courtesy callback
"Validate" element only allows X callbacks per
calling number to go through the
"preemptive" exit state at any time. If there are
already X callbacks offered for a calling number, new calls go through the
"none" exit state of the
"Validate" element. In addition, if no calling
number is available for a call, the call always goes through the
"none" exit state of the
Click the Call
tab and move all four CVP Call Servers from the Available box to the
Click Save & Deploy to deploy the new Reporting Server configuration
If you click Save, the configuration is saved and becomes active (is deployed) the next time the Reporting Server
Configure the Media Server for Courtesy Callback
Courtesy-Callback-specific media files are included with the sample scripts for
Courtesy Callback. During the Unified CVP Operations Console Server installation , these files are placed in the following directory:
After CVP installation, the files are located on the CVP OAMP Server, in %CVP_Home%\OPSConsoleServer\. A typical value for %CVP_Home% is C:\Cisco\CVP.
CCBAudioFiles.zip has callback-specific application media
files under C:\inetpub\wwwroot\en-us\app and media files for Say It
Smart under C:\inetpub\wwwroot\en-us\sys.
The special audio files should be
unzipped and copied to your media server.
If you selected the Media
File installation option, during the Unified CVP install, the audio files were
unzipped and copied to C:\inetpub\wwwroot\en-us\app on
the installation server.
CCBAudioFiles.zip also contains media
files for Say It Smart. During installation, these files are copied to
C:\inetpub\wwwroot\en-us\sys. Copy these files to your
media server, if you do not have them there already.
sample scripts are set up to use the default location of
http://<server>:<port>/en-us/app for the audio files. Later in
this configuration process you will change the <server> and <port>
parameters in the default location of the audio files in the example scripts to
be your media server IP address and port number.
Studio Scripts for Courtesy Callback
To configure the
Call Studio scripts, perform the following procedure:
follows the BillingQueue example application.
example Call Studio Courtesy Callback scripts contained in
CourtesyCallbackStudioScripts.zip to a folder of your choice on the computer
running Call Studio.
You can access
the .zip file from the following two locations:
Unified CVP install media in \CVP\Downloads and Samples\Studio
Operations Console server in %CVP_HOME%\OPSConsoleServer\StudioDownloads.
contains a Call Studio project having the same name as the folder. The five
individual projects comprise the Courtesy Callback feature.
modify the following scripts:
CallbackEngine: Keeps the VoIP leg of the call alive when the
caller elects to receive the callback (and hangs up) and when the caller
actually receives the callback. Do
modify this script.
CallbackQueue: Handles the keepalive mechanism for the call when
callers are in queue and listening to the music played by BillingQueue.
following scripts to suit your business needs:
BillingQueue: Determines the queue music played to callers.
CallbackEntry: Modify the initial IVR treatment a caller
receives when entering the system and is presented with an opportunity for a
CallbackWait: Modify the IVR treatment a caller receives when
they respond to the callback.
change the CCB application names.
Studio by selecting
Start > Programs > Cisco > Cisco Unified Call
In Call Studio,
File > Import.
In the Import
dialog box, expand the Call Studio folder and select
Existing Call Studio Project Into Workspace
In the Import
Call Studio Project From File System dialog, browse to the location where you
extracted the call studio projects. For each of the folders that were unzipped,
select the folder (for example BillingQueue) and click
The project is
imported into Call Studio. Repeat this action for each of the five folders.
When you are
finished importing the five folders, you should see five projects in the
window in the upper left.
Default Audio Path URI field in Call Studio to contain the IP address and port
value for your media server.
For each of the
Call Studio projects previously unzipped, complete the following steps:
project in the Navigator window of Call Studio.
Project > Properties > Call
Studio > Audio Settings.
Audio Settings window, modify the Default Audio Path URI field by supplying
your server IP address and port number for the
Apply, and then click
Project: If desired, change the music played to the caller while on hold.
You can also
create multiple instances of this project if you want to have different hold
music for different clients, for example, BillingQueue with music for people
waiting for billing, and SalesQueue with music for people waiting for sales.
You also need to point to the proper version (BillingQueue or SalesQueue) in
the ICM script. In the ICM script, the parameter queueapp=BillingQueue would
also have a counterpart, queueapp=SalesQueue.
CallbackEntry Project (in the following step) contains a node called
SetQueueDefaults. This node contains the value Keepalive Interval which must be
than the length of the queue music you use. Refer to the Keepalive Interval in
the next step for details.
Project: If desired, in the CallbackEntry project, modify the caller
interaction settings in the SetQueueDefaults node.
defines values for the default queue. You can insert multiple SetQueueDefaults
elements here for each queue name, if it is necessary to customize
configuration values for a particular queue. If you do not have a
SetQueueDefaults element for a given queue, the configuration values in the
default queue are used.
define a Callback_Set_Queue_Defaults node with
Name parameter set to default. Configuration defined in this default node
will be picked whenever a queue type is encountered for which there are no
explicitly defined values.
In the Call
Studio Navigator panel, open the CallBackEntry project and double click
app.callflow to display the application elements in the
Start of Call page of the script using the tab at the bottom of the script
the SetQueueDefaults node.
Element Configuration panel, select the Setting tab
and modify the following default settings as desired:
For the SetQueueDefaults
element, the caller interaction values in the Start of Call and the Wants
Callback elements, may be edited.
path for the storage of recorded caller names.
CallbackEntry project, on the Wants Callback page, highlight the Record Name
node and click the
Settings tab in the Element Configuration window of
Path setting, change the path to the location where you want to store the
recorded names of the callers.
Call Studio saves the path string in your VXML Server audio folder. If you are
using the default path, you can create a new folder called recordings in the
folder on the VXML Server. If you are using IIS as your media server, create a
new folder called recordings under
C:\Inetpub\wwwroot\en-us\app and set that as the path
Set the name
of the Record name file.
CallbackEntry project on the Wants Callback page, highlight the
Callback to DB node and select the
Settings tab in the Element Configuration window of
Recorded name file
setting to match the location of the recording folder
references the URL of the recordings folder, whereas the Path setting
references the file system path.
AddCallback element setting in the CallbackEntry project is configured to do
automatic recorded file deletions. If automatic recorded file deletion is not
desired, then remove the value of the Recorded name path setting in the
AddCallback element. This removal action assumes that you will be doing the
deletion or management of the recorded file yourself.
CallbackEntry project on the Callback_Set_Queue_Defaults node, be sure the
keepalive value (in seconds) is greater than the length of the queue music
being played. The default is 120 seconds.
Project: Modifying values in the CallbackWait application.
application, you can change the IVR interaction that the caller receives at the
time of the actual callback. The caller interaction elements in
CallbackWait > AskIfCallerReady
(page) may be modified. Save the project after you
modify it. The WaitLoop retry count can also be modified from the default of
six retries in the Check Retry element. This will allow a larger window of time
to pass before the call is dropped from the application. It is used in a
failure scenario when the CallbackServlet on the reporting server cannot be
reached. For instance, in a reboot or a service restart, this allows more time
for the reporting server to reload the entry from the database when it is
initializing. If the reporting server is not online within the retry window,
then the entry will not be called back.
of the five projects associated with the Courtesy Callback feature by
right-clicking each Courtesy Callback project in the Navigator window and
Deploy VXML Application to VXML Server (Preferred Method)
deploy a VXML application to the VXML Server using the Bulk Administration
VXML Applications feature.
validating and saving your applications, in the navigator panel of Call Studio
(top left), right-click and select all the applications you
want to deploy.
In the Deploy Destination area, select Archive File
and click Browse.
Navigate to the
archive folder that you have set up; for example, C:\Users\Administrator\Desktop\Sample.
Enter the name of the file; for example,
In the Deploy Destination area,
Log in to the CVP OAMP server and navigate
to Bulk Administration\File Transfer\VXML
Select the VXML Server to which you
want to deploy the applications.
Select the zip file that
contains the applications; for example,
Deploy VXML Application to VXML Server (Alternate Method)
You can use this alternate method to deploy a VXML application to the VXML server.
Right click each
of the projects and click Deploy, then click
Finish. This deploys them to your VXML server(s).
On your VXML server, using Windows Explorer, navigate to
the %CVP_HOME%\VXMLServer\admin folder.
Deploy all new apps by double clicking on deployAllNewApps.bat file located in admin directory.
Verify that all the applications are
running by navigating to%CVP_HOME%\VXMLServer\admin
and double-clicking status.bat. All five applications should
be listed under Application Name, and the status for each
one should be Running.
CCE Script for Courtesy Callback
The following discussion provides an
overview of the scripts used for the courtesy callback feature. There are nine
numbered blocks, or sets of blocks, identified below.
In the example below, the yellow comment blocks describe
first the value being set and then the place where the value is being sent.
Figure 2. Setting Value for Courtesy Callback
The following bullets provide descriptions for the numbered
blocks in the preceding graphic:
Block 1: Enable
callback or shut it off.
Block 2: Compute average wait
time. Once the caller is in queue, calculate the Estimated
Wait Time (EWT) for that queue and place the value in ToExtVXML.
If there is poor statistical sampling because of sparse queues and the
wait time cannot be calculated in the VXML Server, use the ICM-calculated
estimated wait time.
One method of calculating EWT (the method
used in this example) is:
Modify this method if you are looking
at multiple skill groups (when queuing to multiple skills).
Block 3: Set up parameters to be passed.
Run this block and prompt the caller. If the caller does not accept the offer for a
callback, keep the caller in the queue and provide queue music.
Block 5: Set up variables. Call flow returns to this block if the caller
elects to receive a callback. Otherwise, the call remains queuing in the
queuing application (BillingQueue in this example) on the VXML
Block 6: Run external to Callback engine to keep the call alive. If the agent becomes available and there is no caller, then agent
can't interrupt (do not want an agent to pick up and have no one
Block 7: Has the caller rejected the callback
call? If no, then go to block 8.
Block 8: Compute average
wait time, as in block 2.
Block 9: Set up
Block 10: Put caller briefly into queue (after
caller accepts the actual callback call).
The courtesy callback feature is implemented using Unified CCE
scripts. Modifiable example scripts are provided. These scripts determine whether or not to offer the caller a callback,
depending on the callback criteria (previously described).
Sample audio files are also provided.
The example scripts and audio files are located on the CVP
installation media in the \CVP\Downloads and Samples\
The files provided are:
CourtesyCallback.ICMS, the ICM script, in the ICMDownloads subfolder
CourtesyCallbackStudioScripts.zip, a collection of Call
Studio scripts, in the helloStudio Samples subfolder.
The following example scripts are
queue music to callers. Can be customized.
Callback Engine: Keeps the VoIP leg of the call alive
when the caller elects to receive the callback (and hangs up) and when the
caller actually receives the callback. Do not modify this
Initial IVR when caller enters the system and is presented with opportunity for
a callback. Can be customized.
CallbackQueue: Handles the keepalive mechanism for the
call when callers are in queue. Do not modify this script.
CallbackWait: Handles IVR portion of call
when caller is called back. Can be
CCBAudioFiles.zip, in the CCBDownloads subfolder, contains sample audio files that
accompany the sample studio scripts.
Overview of CCE Script Configuration for Courtesy Callback
The provided CCE script for Courtesy Callback contains the necessary sample elements
for the Courtesy Callback feature. However, you must merge this script into your
existing CCE scripts.
As a starting point and to run a simple
test, import the script into the CCE script editor, validate it with the CCE script
editor validation tool to locate nodes that need extra configuration (such as
for Network VRU scripts and expanded call variables), and then modify the script
according to your existing CCE environment.
general process is as follows:
Locate each queue point
in every CCE script. For example: Queue To Skill Group, Queue to Enterprise
Skill Group, Queue to Scheduled Target or Queue to Agent.
Categorize each queue point according to the pool of resources that it is
queuing for. Each unique pool of resources will ultimately require a queue in
VXML Server if Courtesy Callback is going to be offered for that resource pool.
For example, using the following example, QueueToSkill X and QueueToSkill Z are
queuing for the exact same resource pool (despite the different queuing order).
Queue to Skill Y, however, is queuing to a different pool because it includes
Skill Group D.
QueueToSkillGroup X is queuing for Skill Group A, B, C in
QueueToSkillGroup Y is queuing
for Skill Group A, C and D in that order.
QueueToSkillGroup Z is queuing for Skill Group C, B, A in that
Assign a unique name to each
unique resource pool. In the above example, we can use names ABC and ACD as
For each resource pool, decide whether
callbacks will be allowed in that resource pool. If yes, then every occurrence
of that resource pool in all ICM scripts must be set up to use VXML Server for
queuing. This is to ensure that the Courtesy Callback mechanism in the VXML
Server gets a full, accurate picture of each resource pool's queue.
For any queue point where Courtesy Callback will be offered, modify
all CCE scripts that contain this queue point according to the guidelines in
the following CCE script examples.
Configure the CCE
Script for Courtesy Callback
Many of the
configuration items below relate to the numbered blocks in the diagram and
provide understanding for CCE Script for Courtesy Callback (for more
CCE Script for Courtesy Callback). Steps that refer to specific
blocks are noted at the beginning of the each step.
To configure CCE to
use the sample Courtesy Callback CCE script, perform the following steps:
Copy the CCE
CourtesyCallback.ICMS to the CCE Admin Workstation.
The example CCE
script is available in the following locations:
On the CVP
install media in
\CVP\Downloads and Samples\.
Operations Console in
user.CourtesyCallbackEnabled ECC variable.
Enable the user.microapp.ToExtVXML ECC variable and verify that it is set up as an array with a maximum array size of 5 elements.
user.microapp.FromExtVXML ECC variable and verify that it is set up as an array with a maximum array size of 4 elements.
Make sure the
VXML_Server_Interruptible and the VXML_Server_Noninterruptible Network VRU
Once the script
is open in Script Editor, open the
media server node and specify the URL for your VXML Server.
Note that with the current
implementation of CVP, you do not have to specify the VXML Server URL. You do,
however, have to enter
numeric value; for example "1" (with quotes).
Map the route
and skill group to the route and skill group available for courtesy callback.
File > Import
script location dialog, select the
CourtesyCallback.ICMS script and click
Import Script - Manual Object Mapping window, map the route and skill group to
the route and skill group available for courtesy callback (identified
CCE deployment, the route tool does not exist. Routes have one-on-one mappings
with skill groups, so when you create a skill group, a route will be created
with the same name.
Block #2: If you wish to
use a different estimated wait time (EWT), modify the calculation in block #2;
you will need to do this if you use a different method for calculating EWT or
if you are queuing to multiple skill groups.
Set up the parameters that will be passed to CallbackEntry (VXML
assumes you have already configured the CCE and expanded call variables not
related to Courtesy Callback.
specific to Courtesy callback include:
CallbackEntry is the name of the VXML Server application that will be executed.
the name of the VXML Server queue into which the call will be placed. There
must be a unique qname for each unique resource pool queue.
the name of the VXML Server queuing application that will be executed for this
ani is the
caller's calling Line Identifier.
Verify that you
have at least one available
skill group to map to the
skill group in the example script.
script, then associate the call type and schedule the script. For information
about scheduling scripts, refer to the "Schedule Routing Script" section in the
Packaged CCE Administration
View Courtesy Callback Deployment Status
You can verify the latest deployment status of the Courtesy Callback
configuration using the Unified CVP Operations console. The deployment status is listed for each Unified CVP Call
To view the
deployment status of Courtesy Callback configurations:
System > Courtesy
configuration window opens.
Callback Deployment Status window displays the device IP address and current
status. Note that you can click
Refresh to view the latest status.
In the following
cases, the Deployment Status displays a warning message:
If you have
only saved the configuration details and have not deployed them.
If you have
edited or deleted an existing configuration and have not deployed the changes.
changed the call server association.
Administration and Usage
Element Specifications for Courtesy Callback
The example IVR scripts provided for Courtesy Callback work as installed. To change how Courtesy Callback works, you can change the configuration of Courtesy Callback elements. This section lists the elements associated with Courtesy Callback and briefly describes the purpose of each one.
element is used to add a callback object to the database after all the callback
information has been collected from the caller. In addition, it can be
optionally configured to automatically delete old recorded files at specified
intervals. These recorded files are the files produced by the Record element
when the user records his/her name if they want a call back in the
Callback_Disconnect_Caller element is responsible
for disconnecting the caller’s leg of the call. The IP leg of the call for
Unified CVP is preserved to hold the caller’s place in
line until the callback is made back to the caller.
Callback_Enter_Queue element is responsible for
adding a new caller to queue. This element must be executed for all callers
even if the caller may not be offered a
Callback_Get_Status element is responsible for
retrieving all information about the callback related to the current call (if a
element is responsible for reconnecting the caller’s leg of the
Callback_Set_Queue_Defaults element is responsible
for updating the DBServlet with the values that should be used for each queue.
There is always a default queue type. The values are used
whenever a queue type is encountered for which there are no explicitly defined
values. For example, if an administrator has defined values for a
billing and default queues, but the
caller is queued for mortgages. In that case, the
application uses the values from
Callback_Update_Status element is responsible for
updating the database after a callback disconnect or
element is responsible for verifying whether or not a callback can be offered
to the caller during this call. Depending on the outcome of the validation, the
Validate element exits with one of four
element is responsible for sleeping the application for X
seconds. The application hands control back to cvp_ccb_vxml.tcl with the