Table Of Contents
Script Editor Step Reference
General Steps
Annotate
Business Hours
Call Subflow
General Tab
Parameter Mapping Tab
Day of Week
Decrement
Delay
End
Goto
If
Increment
Is Holiday
Label
On Exception Clear
On Exception Goto
Set
Start
Switch
Time of Day
Contact Steps
Accept
Get Contact Info
Set Contact Info
Terminate
Call Contact Steps
Call Redirect
Get Call Contact Info
Media Steps
Explicit Confirmation
General
Prompts
Input
Get Digit String
General
Prompt
Input
Filter
Extended Get Digit String Step
General
Prompt
Input
DTMF Control
Implicit Confirmation
Menu
General
Prompt
Input
Name To User
General
Prompt
Input
Play Prompt
General
Prompt
Input
Extended Play Prompt Step
General
Prompt
Input
User Steps
Get User Info
Extension To User
Prompt Steps
Create Conditional Prompt
Create Container Prompt
Create Generated Prompt
Generator Types
Script Editor Step Reference
This chapter lists all the steps available for use in creating scripts. These steps are accessed using the palette pane (see Palette Pane). This chapter includes the following sections:
•
General Steps
•
Contact Steps
•
Call Contact Steps
•
Media Steps
•
User Steps
•
Prompt Steps
General Steps
The steps in the General palette of the Cisco Unity Express Script Editor provide basic programming functionality for scripting.
The General palette contains the following steps:
•
Annotate
•
Business Hours
•
Call Subflow
•
Day of Week
•
Decrement
•
Delay
•
End
•
Goto
•
If
•
Increment
•
Is Holiday
•
Label
•
On Exception Clear
•
On Exception Goto
•
Set
•
Start
•
Switch
•
Time of Day
Figure 48 shows the steps in the General palette as they appear in the Palette pane of the Cisco Unity Express Script Editor.
Figure 48 General Palette Steps
Annotate
Use the Annotate step to enter comments at any point in a script. This step has no effect on script logic. Figure 49 shows the customizer window for the Annotate step.
Figure 49 Annotate Customizer Window
To annotate a script, enter your comments in the Enter Comments field and click OK.
The Annotate customizer window closes and the first words of your annotation appear next to the Annotate icon in the Design pane of the Cisco Unity Express Script Editor.
Business Hours
Use the Business Hours step to determine if the business is open when the auto-attendant receives a call. This step can play a "Business is closed" prompt if the system receives a call during business- closed hours. When configured, the name of the Schedule variable appears next to the Business Hours step in the Design pane.
The Business Hours step automatically adds two output branches:
•
Open—Steps following this branch execute if the business is open at the specified date and time.
•
Closed—Steps following this branch execute if the business is closed at the specified date and time.
For more information about configuring business schedules, see the Cisco Unity Express CLI Administrator Guide or the Cisco Unity Express GUI Administrator Guide for your system.
Figure 50 shows the customizer window for the Business Hours step.
Figure 50 Business Hours Customizer Window
Table 6 describes the fields of the Business Hours customizer window.
Table 6 Business Hours Customizer Window Fields
Field
|
Description
|
Schedule
|
Name of the Business Hours Schedule. Select one of the schedules you created or customized using the Cisco Unity Express graphical user interface (GUI) options or command-line interface (CLI) commands.
|
Date
|
Current Date requires no configuration. You can also select a date variable for which you want to check the business hours.
|
Time
|
Current Time requires no configuration. You can also select a time variable for which you want to check the business hours.
|
Call Subflow
Use the Call Subflow step to execute a subflow, also called a subroutine or module in structured programming.
Use the Cisco Unity Express Script Editor to create the subflow as an independent script that you can reuse in other scripts. Subflows can be nested; that is, you can call subflows from within scripts that are themselves used as subflows.
During run time, if an exception occurs within a subflow and you do not handle the exception within the subflow, the exception is available to the parent script for processing. For more information about exceptions, see the "On Exception Goto" section.
The Call Subflow customizer window contains two tabs:
•
General Tab
•
Parameter Mapping Tab
General Tab
Use the General tab of the Call Subflow customizer window, shown in Figure 51, to specify the filename of the subflow you want to call.
Figure 51 Call Subflow Customizer Window—General Tab
Table 7 describes the fields of the General tab.
Table 7 Call Subflow Fields—General Tab
Field
|
Description
|
Subflow Name
|
Filename of the subflow you want to call. This name appears next to the Call Subflow step icon in the Design pane.
|
Disable Interruptions
|
If the check box is checked, execution of the step cannot be interrupted by external events.
|
Parameter Mapping Tab
Use the Parameter Mapping tab of the Call Subflow customizer window, shown in Figure 52, to map variables or expressions from the main script to variables in the subflow you specified in the General tab of the Call Subflow customizer window.
Note
You must define variables in the map script before you can map them.
You can map variables only to variables of the same type. For example, you can map a string variable in the main script only to a string variable in the subflow.
You can pass in any valid expression; for example, "4" or an expression such as "counter + 3".
When the script calls a subflow, the subflow has access to the variables from the main script that you specify on the Parameter Mapping tab. If the subflow changes the value of a mapped variable, that change carries over to the main script when the subflow returns control to the main script.
Figure 52 Call Subflow Customizer Window—Parameter Mapping Tab
Table 8 describes the fields of the Parameter Mapping tab.
Table 8 Call Subflow Fields—Parameter Mapping Tab
Field
|
Description
|
From
|
Displays the name of the variable from the main script that receives the value of the variable from the subflow script.
|
To
|
Displays the name of the variable from the subflow script that is assigned to the variable in the main script.
|
Type
|
Displays the variable type.
|
Add
|
Click to add a variable from the main script and map it to map to a subflow. A separate dialog box appears.
|
Modify
|
Click to modify the selected variable.
|
Delete
|
Click to delete the selected variable.
|
The Parameter Mapping dialog box is shown in Figure 53.
Figure 53 Parameter Mapping Dialog Box
Table 9 Parameter Mapping Dialog Box
Field
|
Description
|
From Expression
|
Enter the variable name or expression from the main script.
|
To Variable
|
Enter the variable name from the subflow. This name appears in the list box of the Call Subflow window.
|
...
|
Click to display the Expression editor.
|
Day of Week
Use the Day of Week step to direct the script to different connection output branches depending on the current day of the week.
When the Cisco Unity Express system clock matches one of the days associated with a connection, the script executes any steps that you configured for that day's connection branch.
Configure all days with output branches and assign each day its own connection(s). If a day is not assigned to at least one output branch, the Cisco Unity Express Script Editor displays a warning dialog box when you close the Day of Week customizer window.
Figure 54 shows the customizer window for the Day of Week step.
Figure 54 Day of Week Customizer Window
Table 10 describes the fields of the Day of Week customizer window.
Table 10 Day of Week Customizer Window Fields
Field
|
Description
|
Connections
|
Output branches that execute depending on a specified day of week. Select the connection in the Connections list box and check the check boxes for the days you want to associate with that branch.
|
Days
|
Days of the week for each connection branch.
|
Add
|
Click to add a connection name.
|
Modify
|
Click to modify the selected connection name. To modify the name of an already existing connection output branch—to make it easier to understand your script, for example—select the connection in the Connections list box, and then click Modify. The Modify Connection Name dialog box contains the same field as the Add Connection Name dialog box and is configured in the same way.
|
The Add Connection Name dialog box is shown in Figure 55.
Figure 55 Add Connection Name Dialog Box
Table 11 Add Connection Name Dialog Box
Field
|
Description
|
Connections Name
|
Enter a name for the connection branch. This name appears in the Connections list box of the Day of Week customizer window.
|
Decrement
Use the Decrement step to decrease the value of a chosen Integer variable by one. This step is a specialized version of the Set step of the General palette, which you use to assign any value to a variable.
Figure 56 shows the customizer window for the Decrement step.
Figure 56 Decrement Customizer Window
Select the desired variable from the Variable drop-down menu. The variable appears next to the Decrement step icon in the Design pane.
Delay
Use the Delay step to pause the processing of a script for a specified number of seconds.
Figure 57 shows the customizer window for the Delay step.
Figure 57 Delay Customizer Window
Table 12 describes the fields of the Delay customizer window.
Table 12 Delay Customizer Window Fields
Field
|
Description
|
Enter delay time in seconds or enter an expression
|
Enter the length of time, in seconds, for the delay., or an expression that specifies the length of the delay.
|
...
|
Displays the expression editor. Enter an expression that specifies the length of the delay.
|
Interruptible
|
Click Yes to interrupt the delay by external events.
|
End
Use the End step at the end of a script to complete processing and free all allocated resources.
You can also use the End step at the end of a branch of logic in a script. Any call still active by the time this step is executed will automatically be processed by the system default logic.
This step has no properties and does not require a customizer.
Goto
Use the Goto step to cause the script logic to branch to a specified Label step within the script.
Note
Use a Label step to indicate where the Goto step should branch to.
Figure 58 shows the customizer window for the Goto step.
Figure 58 Goto Customizer Window
Select the Label step from the Select a Label drop-down menu. This name appears next to the Goto step icon in the Design pane.
If
Use the If step to cause the script to choose one of two branches based on the evaluation of a specified Boolean expression.
The If step automatically adds two output branches, True and False:
•
True—Steps following this output branch execute if the expression is true.
•
False—Steps following this output branch execute if the expression is false.
Figure 59 shows the customizer window for the If step.
Figure 59 If Customizer Window
Enter an expression in the text field or click the Expression Editor (...) button to enter an expression. The expression appears next to the If step icon in the Design pane.
Increment
Use the Increment step to increase the value of a chosen Integer variable by one. This step is a specialized version of the Set step of the General palette, which you use to assign any value to a variable.
Figure 60 shows the customizer window for the Increment step.
Figure 60 Increment Customizer Window
Select the Integer type variable from the Variable drop-down menu. The variable appears next to the Increment step icon in the Design pane.
Is Holiday
Use the Is Holiday step to determine if the current day is a holiday. This step can play a "Business closed for the holiday" prompt.
The Is Holiday step automatically adds two output branches:
•
True—Steps following this branch execute if the specified date is a holiday.
•
False—Steps following this branch execute if the specified date is not a holiday.
When the step executes, the system compares the specified date with the list of holidays. If the specified date is a holiday, the True branch executes. If the specified date is not a holiday, the False branch executes.
For more information about configuring holiday schedules, see the Cisco Unity Express CLI Administrator Guide or the Cisco Unity Express GUI Administrator Guide for your system.
Figure 61 shows the customizer window for the Is Holiday step.
Figure 61 Is Holiday Customizer Window
The Date field contains the date variable that the system uses to check for holidays. You can leave the Current Date variable or click the Date drop-down menu to select a date variable. The name of the Date variable appears next to the Is Holiday step icon in the Design pane.
Label
Use the Label step to serve as a target for a Goto step. The Label step indicates a section of the script that can be executed by more than one Goto step. The Label and Goto steps must be in the same script.
Figure 62 shows the customizer window for the Label step.
Figure 62 Label Customizer Window
Enter a name in the Enter Label Name text field. The Label name appears next to the Label step icon in the Design pane.
On Exception Clear
Use the On Exception Clear step to remove an exception set by a previous On Exception Goto step.
Typically, this step is used in the following sequence:
1.
An On Exception Goto step directs the script to a Label step.
2.
The Label step is configured with a script to handle the exception.
3.
An On Exception Clear step is then clears the exception.
Also, use this step when you no longer need to handle the selected exception within the script.
Figure 63 shows the customizer window for the On Exception Clear step.
Figure 63 On Exception Clear Customizer Window
Select the specific exception from the list box. The exception being cleared appears next to the On Exception Clear step icon in the Design pane.
On Exception Goto
Use the On Exception Goto step to catch problems occurring during script execution and allow a graceful exit from the situation.
You can include any script steps in the Exception Flow branch that you want to use to respond to the exception.
If you are using subflows and the subflow does not handle an exception, the exception is returned to the script and the script can respond to it.
Figure 64 shows the customizer window for the On Exception Goto step.
Figure 64 On Exception Goto Customizer Window
Table 13 describes the fields of the On Exception Goto customizer window.
Table 13 On Exception Goto Fields
Field
|
Description
|
Choose the exception from the list
|
Exception that triggers the execution of the step. This appears next to the On Exception Goto step icon in the Design pane.
|
Choose the label from the list
|
Label to which the script branches.
|
Save root cause (optional)
|
Cause of the exception, saved in an exception object using the "Save root cause" field.
The object type must correspond to the type of exception being caught or to a base class of that exception. If it does not, no warning will be generated at design time, but an error will result at run time.
|
Set
Use the Set step to change the value of a variable.
The Set step supports type casting (with possible loss of precision) from any Number data type (Integer, Float, Long, Double, BigInteger, BigDecimal) to any other Number data type.
You can also use the Set step to convert a String variable to any Number data type. For String conversions, the system replaces all "*" characters with a decimal point (".") before performing the conversion.
Figure 65 shows the customizer window for the Set step.
Figure 65 Set Customizer Window
Table 14 describes the fields of the Set customizer window.
Table 14 Set Customizer Window Fields
Field
|
Description
|
Variable
|
Variable for which the value is set. This appears next to the Set step icon in the Design pane.
|
Type
|
Variable type. The application software assigns this value.
|
Assign
|
Value for the specified variable. Choose the value from the Assign drop-down menu, or click the Expression Editor (...) button to enter any valid expression.
|
Start
The Cisco Unity Express Script Editor automatically adds the Start step when you create a new script. This step has no properties and does not require a customizer. It is not shown in any palette.
Switch
Use the Switch step to cause the program logic to branch to one of a number of cases based on the evaluation of a specified expression.
A case provides script logic based on the value of a variable. Over the course of a script, a variable can have one of several values. You can assign one case for each value. The Switch step lets you define any number of case output branches. You can then create a separate script logic for each (case) branch.
The Switch step supports switching based on the following variables:
•
Integer—Comparison of integers.
•
String—Comparison of string variables (case insensitive).
The type of switching is automatically determined by the type of the specified expression.
If the integer or string expression you specify for a case is equal to the global expression defined in the Switch Expression field, the script executes the steps configured for that case output branch.
The Default branch of the step allows you to handle cases where none of the branches matches the expression.
Figure 66 shows the customizer window for the Switch step.
Figure 66 Switch Customizer Window
Table 15 describes the fields of the Switch customizer window.
Table 15 Switch Customizer Window Fields
Field
|
Description
|
Switch Expression
|
Expression to be executed. Select a variable or expression, or click the Expression Editor (...) button to enter any valid expression.
|
Switch Case(s)
|
• Case—Output branch containing script logic specific to one possible variable value.
• Label—Target to which the script branches when the variable equals a specific value.
|
Add
|
Adds a case.
|
Modify
|
Modify a case.
|
Case
|
Integer or Case. Determined automatically by switch expression type.
|
Output Label Name
|
Enter an output label name. The script branches to this Label when the variable equals the value specified in the Case field.
|
The Switch Case and Label dialog box is shown in Figure 67.
Figure 67 Switch Case and Label Dialog Box
Time of Day
Use the Time of Day step to cause the script to branch to different connection branches depending on the current time of day.
When the Cisco Unity Express system clock indicates that the time of day matches the time associated with a connection, the script executes any steps configured for that output branch.
Associate each output branch with a specified range of time.
During run time, if the current time falls out of the configured time range, the script follows the Rest output branch of the Time of Day step.
Figure 68 shows the customizer window for the Time of Day step.
Figure 68 Time of Day Customizer Window
Table 16 describes the fields of the Time of Day customizer window.
Table 16 Time of Day Customer Window Fields
Field
|
Description
|
Connections
|
Output branches that execute depending on specified time of day.
|
Time Ranges
|
Time ranges for each connection branch.
|
Add
|
Click to add a connection. Enter a connection name in the dialog box.
|
Modify
|
Click to modify a connection.
|
Delete
|
Click to delete the selected connection.
|
Add Time
|
Click to add time to a connection. To specify a range of hours for the connection, select the Start Time and End Time.
|
Modify Time
|
Click to modify time for a connection.
|
Delete Time
|
Click to delete the selected time.
|
The Add Connection Name dialog box is shown in Figure 69.
Figure 69 Add Connection Name Dialog Box
The Add Range of Hours dialog box is shown in See Figure 70.
Figure 70 Add Range of Hours Dialog Box
Contact Steps
The steps in the Contact palette provide designers with a way to control contacts.
A contact represents one form of connection, such as a telephone call, with a remote user. Scripts use contacts to track connections through the system. The contact is established when the connection is made. The contact lasts until the connection is terminated, for example, when the script transfers or disconnects a telephone call.
Configure each step that acts on contacts to accept the implicit contact (by choosing the
"-- Triggering Contact --" default) or to use a variable that can hold the identifier for this contact. Use the Set Contact Info step of the Contact palette to mark the contact as Handled, which is important for reporting purposes.
The Contact palette contains the following steps:
•
Accept
•
Get Contact Info
•
Set Contact Info
•
Terminate
Figure 71 shows the steps in the Contact palette as they appear in the Palette pane of the Cisco Unity Express Script Editor.
Figure 71 Contact Palette Steps
Accept
Use the Accept step to accept a particular contact.
After the Start step, the Accept step is normally the first step in a Cisco Unity Express script, triggered by an incoming contact.
The caller hears ringing until the script reaches this step.
Figure 72 shows the customizer window for the Accept step.
Figure 72 Accept Customizer Window
Table 17 describes the field of the Accept customizer window.
Table 17 Accept Customizer Window Field
Field
|
Description
|
Contact
|
Contact variable. Default is Triggering Contact, unless another contact is defined. The name of the Contact variable appears next to the Accept step icon in the Design pane.
|
Get Contact Info
Use the Get Contact Info step to extract information from a contact and store it in script variables so that this contact information is available to subsequent steps in the script.
Figure 73 shows the customizer window for the Get Contact Info step.
Figure 73 Get Contact Info Customizer Window
Table 18 describes the fields of the Get Contact Info customizer window.
Table 18 Get Contact Info Customizer Window Fields
Field
|
Description
|
Contact
|
Contact variable for which you want to get information. Default is Triggering Contact, unless another contact is defined. The name of the selected Contact variable appears next to the Get Contact Info step icon in the Design pane.
|
Attribute/Variable
|
Attributes and variables of contact information types.
|
Set...
|
Displays Get Contact Type dialog box. The name of the selected variable appears in the Variable column next to the selected attribute in the Get Contact Info customizer window.
|
Clear
|
Clears the variable from the selected Attribute.
|
Table 19 describes the information that the Get Contact Info step makes available to other steps in the script.
Table 19 Get Contact Info Attributes
Attribute
|
Description
|
Type
|
String representing the type of contact. For Cisco Unity Express, the type is a call.
|
Language
|
This option is for future use.
|
ASR Supported
|
This option is for future use.
|
Is Active
|
Boolean value indicating whether the call is still active.
|
Is Aborting
|
Boolean value indicating whether the call is being aborted.
|
Session Handled
|
Boolean value indicating whether the contact was previously marked as handled.
|
Identifer
|
Integer value containing the contact identifier assigned by the system guaranteed to be unique among all contacts.
|
Implementation ID
|
String value containing the implementation-specific identifier for the contact. This value is unique for a given contact type. For a Cisco JTAPI call contact, this value is equivalent to the global call identifier obtained by the Cisco CallManager software.
|
Sequence Number
|
Integer value containing the sequence number of the contact assigned by the system if the contact is associated with a session. The value is -1 if the contact is not associated with a session. For every new contact associated with a session, the system increments the value by one.
|
Session
|
Session object associated with the contact. Null if none is found.
|
The Get Contact Type dialog box is shown in Figure 74.
Figure 74 Get Contact Type Dialog Box
Set Contact Info
Use the Set Contact Info step to modify the context information associated with a contact.
The Set Contact Info step often follows a Redirect step in the script to mark the contact as Handled.
A contact can be marked Handled only while it is active. Once a contact becomes inactive (for example, after a successful transfer), the script has a maximum of 5 seconds to mark the contact as Handled; otherwise the mark has no effect in reporting.
Note
You cannot mark a contact as unhandled. Once a contact is reported as Handled, it is always reported with that status.
Figure 75 shows the customizer window for the Set Contact Info step.
Figure 75 Set Contact Info Customizer Window
Table 20 describes the fields of the Set Contact Info customizer window.
Table 20 Set Contact Info Customizer Window Fields
Field
|
Description
|
Contact
|
Contact variable for which you want to set information. Default is Triggering Contact, unless another contact is defined. The name of the selected Contact variable appears next to the Set Contact Info step icon in the Design pane.
|
Attribute/Value
|
Attributes and values of contact information types.
|
Set...
|
Sets the Handled attribute for a contact variable. An X appears as the value.
|
Clear
|
Clears the Handled attribute for a contact variable.
|
Table 21 describes the attribute information provided in the customizer window of the Set Contact Info step.
Table 21 Set Contact Info Attributes
Attribute
|
Description
|
Language
|
This option is for future use.
|
Handled
|
Final result of contact; this is important for reporting purposes.
|
Session
|
This option is for future use.
|
Terminate
Use the Terminate step to disconnect the call.
Figure 76 shows the customizer window for the Terminate step.
Figure 76 Terminate Customizer Window
Table 22 describes the field of the Terminate customizer window.
Table 22 Terminate Customizer Window Field
Field
|
Description
|
Contact
|
Contact variable that you want terminated. Default is Triggering Contact, unless another contact is defined. The name of the selected Contact variable appears next to the Terminate step icon in the Design pane.
|
Call Contact Steps
The steps in the Call Contact palette provide script designers with a way to manage calls.
The Call Contact palette contains the following steps:
•
Call Redirect
•
Get Call Contact Info
Figure 71 shows the steps in the Call Contact palette as they appear in the Palette pane of the Cisco Unity Express Script Editor.
Figure 77 Call Contact Palette Steps
Call Redirect
Use the Call Redirect step to redirect a call to another extension.
The Call Redirect step is often used in applications to transfer a call after a desired extension has been specified.
The Call Redirect step produces four output branches:
•
Successful—The call is ringing at the specified extension.
•
Busy—The specified extension is busy and the call cannot be transferred.
•
Invalid—The specified extension does not exist.
•
Unsuccessful—The redirect step fails internally.
Configure script steps after each of the four branches to handle the possible outcomes of a redirected call.
Figure 78 shows the customizer window for the Call Redirect step.
Figure 78 Call Redirect Customizer Window
Table 23 describes the fields of the Call Redirect customizer window.
Table 23 Call Redirect Customizer Window Fields
Field
|
Description
|
Call Contact
|
Contact that you want to redirect. Default is Triggering Contact, unless another contact is defined. the names of the selected Call Contact and extension variables appear next to the Call Redirect step icon in the Design pane.
|
Extension
|
Variable that holds the extension where the call is to be redirected. (See Table 24 for supported extensions.)
|
Reset CTI Called Address
|
If Yes, the script resets the original destination of the call to the redirected destination.
If No, the script preserves the original call destination even after the Call Redirect step executes. The information associated with the call gives no indication that the Route point or CTI port was ever involved with the call.
Default is Yes. Set this field according to the requirements of the redirected destination.
|
Table 24 describes the extensions supported by the Call Redirect step.
Table 24 Call Redirect—Supported Extensions
Extension
|
Description
|
Extensions starting with "#" or "*"
|
Extensions that trigger a network take-back and transfer where the specified string is outpulsed as is. The redirect is successful if a hang-up event occurs within a maximum of 5 seconds.
Note You can use a comma (,) in the string to insert a pause of 1 second before the next digit is outpulsed.
|
Extensions ending with ".wav"
|
Extensions that trigger a network announcement type of redirect. The system simulates a ring-back tone, plays back the specified .wav file 4 times, and finally simulates a fastbusy tone.
The redirect is successful if at any time the caller hangs up or the end of the fastbusy tone is reached, at which point the call is disconnected.
|
Extensions equal to "PROBLEMS"
|
Extensions that trigger a network announcement type of redirect with a system problem announcement.
The redirect is successful if at any time the caller hangs up or the end of the audio is reached. The call will be reported as disconnected, not redirected.
|
Extensions equal to "BUSY", "RNA"1 , "FASTBUSY" or "DIALTONE"
|
The specified audio treatment is generated before the call is disconnected.
The redirect is successful if at any time the caller hangs up or the end of the audio is reached. The call will be reported as disconnected, not redirected.
|
Get Call Contact Info
Use the Get Call Contact Info step to access call-specific information and to store values in specified variables.
You can use this step to handle a call in a variety of ways depending on the source of the call and other properties associated with the session. For example, use this step with a Call Redirect step to transfer a call to another extension, or with a Play Prompt step to play a voice prompt.
Figure 79 shows the customizer window for the Get Call Contact Info step.
Figure 79 Get Call Contact Info Customizer Window
Table 25 describes the fields of the Get Call Contact Info customizer window.
Table 25 Get Call Contact Info Customizer Window Fields
Field
|
Description
|
Call Contact
|
Contact for which you want to get information. Default is Triggering Contact, unless another contact is defined. The name of the selected Call Contact variable appears next to the Get Call Contact Info step icon in the Design pane.
|
Calling Number
|
Variable that stores the number of the originator of the call.
|
Called Number
|
Variable that stores the number called by the calling party.
|
Arrival Type
|
Variable that holds the arrival type of the call. (See Table 26 for supported arrival types.)
|
Last Redirected Number
|
The number from which the last call diversion or transfer was invoked. This is the number at which the call was placed immediately before the current number.
|
Original Called Number
|
Number called from the perspective of the called party.
|
Table 26 describes the arrival types of the Get Call Contact Info step.
Table 26 Get Call Contact Info—Arrival Types
(Event) Arrival Type
|
Description
|
UNKNOWN
|
The system is unable to determine how the call arrived.
|
DIRECT
|
Incoming call that came directly from the originator.
|
REDIRECT
|
Incoming call that was redirected to this application.
|
FORWARD_ALL
|
Incoming call that was forwarded from its original destination.
|
FORWARD_BUSY
|
Call that was forwarded to the current application because the original extension was busy.
|
FORWARD_NO_ANSWER
|
Call that was forwarded to the current application because the original extension exceeded the maximum number of rings.
|
TRANSFER
|
Incoming call that originated locally as part of the Transfer feature.
|
OUTBOUND
|
Call that was the result of an outgoing call created by an application.
|
TIME_OF_DAY
|
Call that was the result of a time-of-day forwarding.
|
DO_NOT_DISTURB
|
Call that was the result of a do-not-disturb forwarding.
|
FOLLOW_ME
|
Call that was the result of a follow-me forwarding.
|
OUT_OF_SERVICE
|
Call that was received because the originally called party was out of service.
|
AWAY
|
Call that was received because the originally called party was away.
|
Media Steps
The steps in the Media palette of the Cisco Unity Express Script Editor provide script designers with a way to process media interactions with callers.
Media interactions can include playing prompts and acquiring Dual Tone Multi-Frequency (DTMF) input.
The Media palette contains the following steps:
•
Explicit Confirmation
•
Get Digit String
•
Extended Get Digit String Step
•
Implicit Confirmation
•
Menu
•
Name To User
•
Play Prompt
•
Extended Play Prompt Step
Figure 71 shows the steps in the Media palette as they appear in the Palette pane of the Cisco Unity Express Script Editor.
Figure 80 Media Palette Steps
Note
If you apply any of these Media steps to a contact that is not associated with a Media channel (also called a dialog channel), you receive a ChannelUnsupportedException error.
Explicit Confirmation
Use the Explicit Confirmation step to confirm an explicit response to a prompt. The Explicit Confirmation step accepts 1 for yes and 2 for no.
The customizer window of the Explicit Confirmation step contains three tabs:
•
General
•
Prompts
•
Input
General
Use the General tab of the Explicit Confirmation customizer window, as shown in Figure 81, to select the contact on which to perform the confirmation and to set the Interruptible option.
Figure 81 Explicit Confirmation Customizer Window—General Tab
Table 27 describes the fields of the General tab.
Table 27 Explicit Confirmation Customizer Window Fields—General Tab
Property
|
Description
|
Contact
|
Contact that triggers the execution of the step. Default is the Triggering Contact, unless another contact is specified.
|
Interruptible
|
If Yes, an external event (such as a caller hanging up) can interrupt the step.
If No, the step must complete before any other process can execute.
|
Prompts
Use the Prompts tab of the Explicit Confirmation customizer window, as shown in Figure 82, to specify initial, error, and timeout prompts and to set Barge In and Continue On Prompt Errors options.
Figure 82 Explicit Confirmation Customizer Window—Prompts Tab
Table 28 describes the fields of the Prompts tab.
Table 28 Explicit Confirmation Customizer Window Fields—Prompts Tab
Field
|
Description
|
Initial Prompt
|
First prompt to be played back. Enter a value, select a variable from the drop-down menu, or use the expression editor to enter a prompt expression.
|
Error Prompt
|
Prompt to be played in the event of an input error. Enter a value, select a variable from the drop-down menu, or use the expression editor to enter a prompt expression.
|
Timeout Prompt
|
Prompt to be played in the event of a timeout. Enter a value, select a variable from the drop-down menu, or use the expression editor to enter a prompt expression.
|
Barge In
|
If Yes, the caller can interrupt the prompt.
If No, the prompt must complete playback before the caller can respond.
|
Continue on Prompt Errors
|
If Yes, the step continues with the next prompt in the list if a prompt error occurs, or, if this prompt was the last in the list, the step waits for input from the caller.
If No, an exception results, which can then be handled in the script.
|
Input
Use the Input tab of the Explicit Confirmation customizer window, as shown in Figure 83, to set timeout duration, maximum number of retries, and Flush Input Buffer options.
Figure 83 Explicit Confirmation Customizer Window—Input Tab
Table 29 describes the fields of the Input tab.
Table 29 Explicit Confirmation Customizer Window Fields—Input Tab
Field
|
Description
|
Timeout (in sec)
|
Number of seconds that the step waits for a response before timing out.
|
Maximum Retries
|
Number of times a new entry can be entered after a timeout or invalid key.
|
Flush input Buffer
|
If Yes, the system erases previously entered input before capturing caller input.
If No, the system does not erase previously entered input before capturing caller input.
|
Grammar
|
Optional grammar expression to be used for recognizing Yes or No. If supplied, the grammar will override the system default grammar. Enter a value, select a variable from the drop-down menu, or use the expression editor to enter a grammar expression.
|
Get Digit String
Use the Get Digit String step to capture a DTMF digit string from the caller in response to a prompt.
The Get Digit String step waits for input until the caller does one of the following:
•
Presses the terminating key (DTMF only).
•
Exhausts the maximum number of retries.
•
Enters the maximum number of keys (DTMF only).
•
Does not respond before the timeout length is reached.
Note
When any previous escalating prompt in the script enters the Get Digit String step, the previous escalating prompt is reset to the first prompt in its list.
The Get Digit String step provides three output branches:
•
Successful—Input was valid.
•
Timeout—After the retry limit was reached, the last try timed out.
•
Unsuccessful—After the retry limit was reached, an invalid key was pressed.
Note
In the event of an error, the accumulated digits are returned and saved in the specified variable before the script exits through the unsuccessful or timeout output branches.
The customizer window of the Get Digit String step contains four tabs:
•
General
•
Prompt
•
Input
•
Filter
General
Use the General tab of the Get Digit String step, as shown in Figure 84, to choose the contact, specify the variable that will store the digit string, and specify whether or not the step is interruptible by external events.
Figure 84 Get Digit String Customizer Window—General Tab
Table 30 describes the fields of the General tab.
Table 30 Get Digit String Customizer Window Fields—General Tab
Field
|
Description
|
Contact
|
Contact that triggers the execution of the step.
Default is Triggering Contact, unless another contact is specified.
|
Result Digit String
|
Name of the variable that stores the digits that the caller enters.
|
Interruptible
|
If Yes, an external event (such as a caller hanging up) can interrupt the step.
If No, the step must complete before any other process can execute.
|
Prompt
Use the Prompt tab of the Get Digit String customizer window, as shown in Figure 85, to specify a prompt, and to set Barge In and Continue on Prompt Errors options.
Figure 85 Get Digit String Customizer Window—Prompt Tab
Table 31 describes the fields of the Prompt tab.
Table 31 Get Digit String Customizer Window Fields—Prompt Tab
Field
|
Description
|
Prompt
|
Prompt to be played back.
|
Barge In
|
If Yes, the caller can interrupt the prompt.
If No, the prompt must complete playback before the caller can respond.
|
Continue on Prompt Errors
|
If Yes, the step continues with the next prompt in the list if a prompt error occurs, or, if this prompt was the last in the list, the step waits for input from the caller.
If No, an exception results, which can then be handled in the script.
|
Input
Use the Input tab of the Get Digit String customizer window, as shown in Figure 86, to set conditions for receiving caller input.
Figure 86 Get Digit String Customizer Window—Input Tab
Table 32 describes the fields of the Input tab.
Table 32 Get Digit String Customizer Window Fields—Input Tab
Field
|
Description
|
Input Length
|
Maximum number of digits or characters. When this limit is reached, the step stops accumulating digits and returns.
|
Terminating Key
|
Key used to indicate the end of caller input (DTMF only). The terminating key overrides the Input Length to terminate input.
|
Cancel Key
|
Key the caller presses to start over.
|
Maximum Retries
|
Number of times a new entry can be entered after a timeout or invalid key.
After the maximum number of retries is reached, the step continues on the Timeout or Unsuccessful output branch, depending on whether the last try timed out or an invalid key was entered. On a retry because of an invalid key, a system prompt plays.
A "0" value means that no retry is allowed; in this case, the script must handle the retry scenario.
|
Initial timeout (in sec)
|
Number of seconds the system waits for initial input from the caller.
|
Interdigit timeout (in sec)
|
Number of seconds that the system waits for the caller to enter the next digit after receiving initial input from the caller (DTMF).
|
Flush Input Buffer
|
If Yes, the system erases previously entered input before capturing caller input.
If No, the system does not erase previously entered input before capturing caller input.
|
Clear DTMF Buffer on Retry
|
If Yes, the step clears the DTMF buffer before each retry.
If No, the step does not clear the DTMF buffer before each retry.
|
Filter
Use the Filter tab of the Get Digit String customizer window, as shown in Figure 87, to specify digits that can be accepted from the caller.
Figure 87 Get Digit String Customizer Window—Filter Tab
Table 33 describes the field of the Filter tab.
Table 33 Get Digit String Customizer Window Fields—Filter Tab
Field
|
Description
|
Digit selection box
|
Use the Filter tab to specify the digits that you want to accept from the caller (excluding the terminating and cancel keys). If the caller enters digits that you do not choose, the system plays an error prompt for the caller and retries the Input step until the maximum numbers of retries is reached. At that time, the Unsuccessful output branch executes.
|
To specify the digits you want to accept from the caller, check the desired digit check boxes and click OK.
The Get Digit String customizer window closes. The name of the triggering contact and the result digit string variable appear next to the Get Digit String step icon in the Design pane.
Extended Get Digit String Step
Use the Extended Get Digit String step to capture DTMF entries in a script. This step waits for input until the timeout is reached or the caller does one of the following:
•
Presses the terminating key
•
Exhausts the maximum number of retries
•
Enters the maximum number of keys
The Extended Get Digit String Step behaves exactly like the existing Get Digit String Step with two exceptions:
•
The Extended Get Digit String step provides a Boolean expression for the "Interruptible" and "Clear DTMF Buffer on Retry" fields.
•
Although the same limits apply to both steps, most of the Extended Get Digit String step properties can be defined using variables that can be changed while the script is running.
The terminating key and the cancel key fields in the step customizer support Character objects as well as String objects. When strings are passed as the terminating or cancel keys, only the first character of the string is used. The special string none can specify that either no terminating key or no cancel key is required.
The Extended Get Digit String step has the following output branches:
•
Successful - Input was valid.
•
Timeout - After the retry limit was reached, the last try timed out.
•
Unsuccessful - After the retry limit was reached, an invalid key was entered.
When the step returns an error (Timeout or Unsuccessful), all collected digits are returned and stored in the specified input variable.
The customizer window of the Extended Get Digit String step contains four tabs:
•
"General" on page 103
•
"Prompt" on page 103
•
"Input" on page 104
•
"DTMF Control" on page 105
General
Use the General tab of the Extendedly Digit String step, as shown in Figure 84, to choose the contact, specify the variable that stores the digit string, and specify whether the step is interruptible by external events.
Figure 88
Extended Get Digit String—General Tab
Table 34 Extended Get Digit String—General Tab
Property
|
Description
|
Contact
|
The default is the Triggering Contact, unless another contact is specified.
|
Result Digit String
|
Variable that holds the resulting digit string.
|
Interruptible
|
If true, an external event, such as a call being remotely disconnected by the caller, can interrupt the step. If false, the step completes before any other process can execute.
|
Prompt
Use the Prompt tab of the Get Digit String customizer window, as shown in Figure 85, to specify a prompt, and to set Barge In and Continue on Prompt Errors options.
Figure 89
Extended Get Digit String—Prompt Tab
Table 35 Extended Get Digit String—Prompt Tab
Property
|
Description
|
Prompt Input
|
Prompt that is played to callers asking them to input a digit string.
|
Barge In
|
If true, the caller can interrupt the prompt; if false, the prompt must complete playing before the caller's input is accepted.
|
Continue On Prompt Error
|
If Yes, the step continues with the next prompt in the list, or if this was the last prompt, waits for input from the caller. If No, an exception is thrown, which can then be handled in the script.
|
Input
Use the Input tab of the Extended Get Digit String customizer window, as shown in Figure 86, to set conditions for receiving caller input.
Figure 90
Extended Get Digit String—Input Tab
Table 36 Extended Get Digit String—Input Tab
Property
|
Description
|
Input Length
|
Maximum number of digits this step accepts. When this limit is reached, the step returns Successful.
|
Maximum Retries
|
The number of times the entry can be started over after a timeout or an invalid key. A 0 value means no retries and that the script must handle the retry scenario.
|
Initial Timeout
|
If Yes, the step continues with the next prompt in the list, or if this was the last prompt, awaits the input from the caller. If No, an exception is thrown, which can then be handled in the script.
|
Interdigit Timeout
|
The time (in seconds) that the system waits for the caller to enter the next digit after receiving the first digit from the caller.
|
Flush Input Buffer
|
If the expression evaluates to true, the system discards any previously entered digits before executing this step.
|
Clear DTMF Buffer on Retry
|
If the expression evaluates to true, the script clears the DTMF buffer before each retry.
|
DTMF Control
Use the DTMF Control tab of the Extended Get Digit String customizer window, as shown in Figure 91, to set the Terminating Key, the Cancel Key, and Input Filter.
Figure 91
Extended Get Digit String—DTMF Control Tab
Table 37 Extended Get Digit String—DTMF Control Tab
Property
|
Description
|
Terminating Key
|
Key used to indicate the end of caller input. The terminating key overrides the Maximum Input Length to terminate input. Leaving this field empty or setting it to none or n means that no terminating key exists.
|
Cancel Key
|
Key the caller can press to start over. Leaving this field empty or setting it to none or n means that no cancel key exists.
|
Input Filter
|
Expression that defines the valid DTMF keys that can be entered (excluding the terminating and cancel keys).
|
Implicit Confirmation
Use the Implicit Confirmation step to confirm an action without having to ask a question.
A prompt explaining the action to be taken is played back and the system waits a configured number of seconds for input from the caller. If the caller presses any DTMF digits before the configured timeout, the confirmation is considered to have failed, and an Explicit Confirmation step should be used.
Note
When any previous escalating prompt in the script enters the Implicit Confirmation step, the previous escalating prompt is reset to the first prompt in its list.
For example, when a valid string of digits is received, a prompt plays the extension that will be dialed, based on the caller's input. The Implicit Confirmation step is configured in this example to give the caller two seconds after hearing the prompt to decline confirmation before timeout.
Under the No output branch of the Implicit Confirmation step, an If step tracks the number of times the confirmation is attempted before the script moves to a subsequent step.
If the extension played back to the caller is accurate and the caller makes no effort to stop the operation, the Yes output branch executes and a Call Redirect step attempts to connect the caller to the desired extension.
Figure 92 shows the customizer window for the Implicit Confirmation step.
Figure 92 Implicit Confirmation Customizer Window
Table 38 describes the fields of the Implicit Confirmation customizer window.
Table 38 Implicit Confirmation Fields
Field
|
Description
|
Contact
|
Contact that triggers the execution of the step. Default is the Triggering Contact, unless another contact is specified. The name of the triggering contact appears next to the Implicit Confirmation step icon in the Design pane.
|
Prompt
|
Prompt played to the caller.
|
Timeout (in secs)
|
Number of seconds without a caller response before confirmation is considered successful. (Usual value is 2 seconds.)
|
Interruptible
|
If Yes, an external event (such as a caller hanging up) can interrupt the step.
If No, the step must complete before any other process can execute.
|
Continue on Prompt Errors
|
If Yes, the step continues with the next prompt in the list if a prompt error occurs, or, if this prompt was the last in the list, the step waits for input from the caller.
If No, an exception results, which can then be handled in the script.
|
Menu
Use the Menu step to provide a menu from which callers can choose a series of options. The Menu step receives a single digit entered by a caller and maps this entry to a series of option output branches. The system executes the steps that you add after each of these option output branches.
Note
When any previous escalating prompt in the script enters the Menu step, the previous escalating prompt is reset to the first prompt in its list.
Although the Menu step combines the functionality of a Get Digit String step and a Switch step, it allows the caller to enter only one digit.
By default, the Menu step has the following output branches:
•
Output 1
•
Output 2
•
Output 3
•
Timeout
•
Unsuccessful
You can add more output branches in the General tab of the Menu customizer window.
The Menu step retries for either a timeout or an invalid digit entry (a digit that is not associated with any connections). If the maximum number of retries is reached, the Menu step follows either the Timeout or Unsuccessful connection, depending on the reason for the latest failure.
The customizer window of the Menu step contains three tabs:
•
General
•
Prompt
•
Input
General
Use the General tab of the Menu customizer window, as shown in Figure 93, to associate digits (typically entered by the caller from a telephone keypad) with an output branch label.
You can associate multiple inputs with a single output branch label, but you can associate only one output branch label with a given input.
Figure 93 Menu Customizer Window—General Tab
Table 39 describes the fields of the General tab.
Table 39 Menu Customizer Window Fields—General Tab
Field
|
Description
|
Contact
|
Contact that triggers the execution of the step. Default is the Triggering Contact, unless another contact is specified.
|
Options
|
One label for each possible output value.
|
Add
|
Add a new option. The new option appears in the Options list box.
|
Modify
|
Modifies the selected option using the Rename Output Option dialog box, which contains the same field as the Add New Output Option Name dialog box and is configured in the same way.
|
Interruptible
|
If Yes, an external event (such as a caller hanging up) can interrupt the step.
If No, the step must complete before any other process can execute.
|
The Add New Output Option Name dialog box is shown in Figure 94.
Figure 94 Add New Output Option Name Dialog Box
Prompt
Use the Prompt tab of the Menu customizer window, as shown in Figure 95, to choose the prompt to be played back and to set the Barge In and Continue on Prompt Errors options.
Figure 95 Menu Customizer Window—Prompt Tab
Table 40 describes the fields of the Prompt tab.
Table 40 Menu Customizer Window Fields—Prompt Tab
Field
|
Description
|
Prompt
|
Prompt to be played back to caller.
|
Barge In
|
If Yes, the caller can interrupt the prompt.
If No, the prompt must complete playback before the caller can respond.
|
Continue on Prompt Errors
|
If Yes, the step continues with the next prompt in the list if a prompt error occurs, or, if this prompt was the last in the list, the step waits for input from the caller.
If No, an exception results, which can then be handled in the script.
|
Input
Use the Input tab of the Menu customizer window, as shown in Figure 96, to set the timeout setting, maximum number of retries, and Flush Input Buffer options.
Figure 96 Menu Customizer Window—Input Tab
Table 41 describes the fields of the Input tab.
Table 41 Menu Customizer Window Fields—Input Tab
Property
|
Description
|
Timeout
|
Amount of time the system waits for input from the caller. When this timer expires, the system either replays the prompt or plays the system prompt that asks if the caller is still there. Enter a value, choose the variable that stores the timeout value from the Timeout drop-down menu, or click the Expression Editor (...) button and enter a number.
|
Maximum Retries
|
Number of times the entry can be restarted after a timeout or invalid input response. After the maximum number of retries is reached, the Menu step follows the Timeout or Unsuccessful output branches depending on whether the last try timed out or an invalid input response was entered.
A "0" value means that no retry is allowed; in this case, the script must handle the retry scenario.
|
Flush Input Buffer
|
If Yes, the system erases previously entered input before capturing caller input.
If No, the system does not erase previously entered input before capturing caller input.
|
Name To User
The Name To User step is typically used to prompt a caller for the name of the person being called (using DTMF), and then to compare the name entered by the caller with names stored in a directory. The Name To User step is often used in a script to automatically transfer a caller to the extension of the person being called.
Another useful function of the Name To User step is to assign a value to a variable that can later be queried using the Get User Info step to retrieve information such as the extension, e-mail address, and spoken name of the user selected by the caller.
Note
When any previous escalating prompt in the script enters the Name To User step, the previous escalating prompt is reset to the first prompt in its list.
The Name To User step receives DTMF input from a caller, using the following numeric keypad mapping:
•
2 = ABC
•
3 = DEF
•
4 = GHI
•
5 = JKL
•
6 = MNO
•
7 = PQRS
•
8 = TUV
•
9 = WXYZ
Using the information from this step, the script creates a subsequent prompt that plays the prerecorded name of the user selected by the caller if it exists. If no recording exists, the script will spell the user's name.
Note
The Name To User step is limited to spelling back names with ASCII-only characters, which may be a limitation under some international conditions.
The Name To User step produces the following output branches:
•
Successful—A successful match is made between the input from the caller and a name in the directory.
•
Timeout—The step has reached the maximum number of retries (as configured in the customizer window) without receiving input from the caller.
•
Unsuccessful—The input from the caller does not match a name in the directory.
•
Operator—The operator's extension was entered.
Note
The Operator output branch appears under the Name To User step in the script only if Yes is selected for the Operator option in the General tab of the Name To User customizer window. (See Figure 97.)
Note
If the Name To User step matches the caller input with a single user in the Lightweight Access Directory Protocol (LDAP) directory, that result will be returned immediately without requiring the caller to confirm the selection.
The customizer window of the Name To User step contains three tabs:
•
General
•
Prompt
•
Input
General
Use the General tab, as shown in Figure 97, to specify the Result User variable and to set other properties for the Name To User step.
Figure 97 Name To User Customizer Window—General Tab
Table 42 describes the fields of the General tab.
Table 42 Name To User Customizer Window Fields—General Tab
Field
|
Description
|
Contact
|
Contact that triggers the execution of the step. Default is the Triggering Contact, unless another contact is specified. The name of the triggering contact and the name of the result user variable appear in the Design pane.
|
Result User
|
Variable that stores a user object representing the user selected by the caller.
|
Announce When Number of Matches Less Than
|
If the number of matches is less than this value, the step prompts the caller to choose the correct entry from the list of matches. If the number of matches is greater than or equal to this value, the step prompts the caller to enter additional letters to reduce the number of matches.
|
Operator
|
If Yes, the caller has the option to connect to an operator by pressing "0".
If No, the caller is not offered the option to connect to an operator.
|
Interruptible
|
If Yes, an external event (such as a caller hanging up) can interrupt the step.
If No, the step must complete before any other process can execute.
|
Follow these steps to configure the General fields of the Name To User step:
Prompt
Use the Prompt tab, as shown inFigure 98, to specify prompts to be played back by the Name To User step and to set the Barge In and Continue on Prompt Errors options.
Figure 98 Name To User Customizer Window—Prompt Tab
Table 43 describes the fields of the Prompt tab.
Table 43 Name To User Customizer Window Fields—Prompt Tab
Field
|
Description
|
Prompt
|
Specifies the prompt to be played back to the caller.
Options from the drop-down menu:
• Default prompt— System prompt bundled with the Cisco Unity Express software: "Spell the last name followed by the first name."
• Customized prompt—Prompt created by the script designer.
• No prompt—No prompt is played.
Enter a value, choose a prompt to play from the List of Prompts drop-down menu, click the Expression Editor (...) button and enter an expression that specifies the prompt to play.
|
Barge In
|
If Yes, the caller can interrupt the prompt.
If No, the prompt must complete playback before the caller can respond.
|
Continue on Prompt Errors
|
If Yes, the step continues with the next prompt in the list if a prompt error occurs, or, if this prompt was the last in the list, the step waits for input from the caller.
If No, an exception results, which can then be handled in the script.
|
Input
Use the Input tab, as shown in Figure 99, to configure various input properties for the Name To User step.
Figure 99 Name To User Customizer Window—Input Tab
Table 44 describes the fields of the Input tab.
Table 44 Name To User Customizer Window Fields—Input Tab
Property
|
Description
|
Input Length
|
Minimum number of digits required before automatically checking for a caller match.
|
Terminating Key
|
Key used to indicate the end of caller input.
|
Cancel Key
|
Key the caller presses to start over.
The Cancel key works only until the number of maximum retries is reached.
|
Maximum Retries
|
Number of times the step attempts to receive valid input. A "0" value means that no retry is allowed; in this case, the script must handle the retry scenario.
|
Initial Timeout (in sec)
|
Number of seconds that the system waits for initial input from the caller.
|
Interdigit Timeout (in sec)
|
Number of seconds that the system waits for the caller to enter the next digit, after receiving initial input from the caller.
|
Flush Input Buffer
|
If Yes, the system erases previously entered input before capturing caller input.
If No, the system does not erase previously entered input before capturing caller input.
|
Play Prompt
Use the Play Prompt step to play back specified prompts to the caller.
Note
When any previous escalating prompt in the script enters the Play Prompt step, the previous escalating prompt is reset to the first prompt in its list.
The customizer window of the Play Prompt step contains three tabs:
•
General
•
Prompt
•
Input
General
Use the General tab, as shown in Figure 100, to identify the contact and to set the Interruptible option.
Figure 100 Play Prompt Customizer Window—General Tab
Table 45 describes the fields of the General tab.
Table 45 Play Prompt Customizer Window Fields—General Tab
Field
|
Description
|
Contact
|
Contact that triggers the execution of the step. Default is Triggering Contact, unless another contact is specified. The name of the triggering contact and the name of the prompt variable appears in the Design pane.
|
Interruptible
|
If Yes, an external event (such as a caller hanging up) can interrupt the step.
If No, the step must complete before any other process can execute.
|
Prompt
Use the Prompt tab of the Play Prompt customizer window, as shown in Figure 101, to specify the prompt to be played back, and to set the Barge In and Continue on Prompt Errors options.
Figure 101 Play Prompt Customizer Window—Prompt Tab
Table 46 describes the fields of the Prompt tab.
Table 46 Play Prompt Customizer Window Fields—Prompt Tab
Field
|
Description
|
Prompt
|
Specifies which prompt is to be played.
|
Barge In
|
If Yes, the caller can interrupt the prompt.
If No, the prompt must complete playback before the caller can respond.
|
Continue on Prompt Errors
|
If Yes, the step continues with the next prompt in the list if a prompt error occurs, or, if this prompt was the last in the list, the step waits for input from the caller.
If No, an exception results, which can then be handled in the script.
|
Input
Use the Input tab of the Play Prompt step, as shown in Figure 102, to specify whether or not to erase previously entered input before capturing caller input.
Figure 102 Play Prompt Customizer Window—Input Tab
Table 47 describes the field of the Input tab
Table 47 Play Prompt Customer Window Field—Input Tab
Field
|
Description
|
Flush Input Buffer
|
If Yes, the system erases previously entered input before capturing caller input.
If No, the system does not erase previously entered input before capturing caller input.
|
Extended Play Prompt Step
Use the Extended Play Prompt step to play prompts back to the caller. Use this step instead of the Play Prompt step, to include conditional testing using the Expression Editor.
The Extended Play Prompt Step does not have any output branches.
General
Use the General tab of the Extended Play Prompt customizer window, as shown in Figure 103, to select the contact on which to perform the confirmation and to set the Interruptible option.
Figure 103
Extended Play Prompt—General Tab
Table 48 Extended Play Prompt—General Tab
Property
|
Description
|
Contact
|
The default is the Triggering Contact, unless another contact is specified.
|
Interruptible
|
If true, an external event, such as a call being remotely disconnected by the caller, can interrupt the step. If false, the step completes before any other process can execute.
|
Prompt
Use the Prompt tab of the Extended Play Prompt customizer window, as shown in Figure 104, to set the Prompt Input, and to set the Barge in and Continue On Prompt Error conditions.
Figure 104
Extended Play Prompt—Prompt Tab
Table 49 Extended Play Prompt—Prompt Tab
Property
|
Description
|
Prompt
|
Specifies which prompt is to be played.
|
Barge In
|
If true, the caller can interrupt the prompt. If false, the prompt must complete playing before the caller's input is accepted.
|
Continue On Prompt Error
|
If Yes, the step continues with the next prompt in the list. If No, an exception is thrown, which can then be handled in the script.
|
Input
Use the Input tab of the Extended Play Prompt customizer window, as shown in Figure 105, to set the Flush Input Buffer condition.
Figure 105
Extended Play Prompt—Input Tab
Table 50 Extended Get Digit String—Prompt Tab
Property
|
Description
|
Flush Input Buffer
|
If the expression evaluates to true, the system discard any previously entered digits before running this step.
|
User Steps
The steps in the User palette provide designers with a way to retrieve user attributes.
The User palette contains the following steps:
•
Get User Info
•
Extension To User
Figure 106 shows the steps in the User Steps palette.
Figure 106 User Palette Steps
Get User Info
Use the Get User Info step, as shown in Figure 107, to make user attributes available to the script.
Figure 107 Get User Info Customizer Window
Table 51 describes the fields of the Get User Info customizer window.
Table 51 Get User Info Fields
Field
|
Description
|
User
|
User object stored in a script variable previously acquired (for example, by using a step such as the Name To User step). The name of the user variable appears next to the Get User Info step icon in the Design pane.
|
Attribute/Variable
|
Attributes and associated variables of user.
|
Set...
|
Displays the Get User Full Name dialog box. Select a variable for the user's full name.
|
Clear
|
Clears the variable set in the Get User Full Name dialog box.
|
Table 52 describes the attributes that can be retrieved by using the Get User Info step.
Table 52 Get User Info Attributes
Attribute
|
Description
|
Full Name
|
String for the full name of the user as configured in the Cisco Unity Express GUI administration interface.
|
Last Name
|
String for the last name of the user.
|
First Name
|
String for the first name of the user.
|
Extension
|
String representing the primary extension selected in the Cisco Unity Express GUI administration web interface.
|
E-mail
|
String representing the e-mail ID for this user.
The user ID field is currently returned.
|
User ID
|
String for the user ID configured for this user.
|
Spoken Name
|
Document object representing the recorded name of the user.
|
The Get User dialog box appears is shown in Figure 108.
Figure 108 Get User Dialog Box
Extension To User
Use the Extension To User step as shown in Figure 109 to find a user based on the extension entered by the caller.
The Extension To User step compares the extension entered by the caller with the extensions stored in a directory. If the system finds a match, it returns the user with the matched extension. This information can be used in the Get User Info step to get more information about the user. The Extension To User step can be used in a script to prevent transfers to external numbers.
The Extension To User step automatically adds two output branches:
•
Successful—Steps following this branch execute if the system finds a user with an extension that matches the specified extension.
•
Unsuccessful—Steps following this branch execute if the system does not find a user with an extension that matches the specified extension.
Figure 109 Extension To User Customizer Window
Table 53 describes the fields on the Extension To User window.
Table 53 Extension To User Customizer Window Fields
Field
|
Description
|
Extension
|
String representing the primary extension selected in the User pages of the Cisco Unity Express Administration pages. The name of the Extension variable appears next to the Extension To User step icon in the Design pane.
|
Result User
|
Variable that stores the User object that represents the user with the given extension.
|
Prompt Steps
The steps in the Prompt palette of the Cisco Unity Express Script Editor provide script designers with a way to create intelligent prompts.
The Prompt palette contains the following steps:
•
Create Conditional Prompt
•
Create Container Prompt
•
Create Generated Prompt
Figure 110 shows the steps in the Prompt palette as they appear in the Palette pane of the Cisco Unity Express Script Editor.
Figure 110 Prompt Palette Steps
Create Conditional Prompt
Use the Create Conditional Prompt step to create a prompt based on the result of evaluating a specified Boolean expression.
The prompts passed are evaluated immediately as prompt objects, but they are not resolved until the time of playback. This means that if the values of any variables entered as part of the expression change between the time this prompt was created and the time the prompt is played back, then the new value of the variable is used to evaluate the conditional expression.
Figure 111 shows the customizer window for the Create Conditional Prompt step.
Figure 111 Create Conditional Prompt Customizer Window
Table 54 describes the fields of the Create Conditional Prompt customizer window.
Table 54 Create Conditional Prompt Fields
Field
|
Description
|
Output Prompt
|
Variable that stores the prompt that results from the Create Conditional Prompt step. The name of the conditional prompt appears next to the Create Conditional Prompt step icon in the Design pane.
|
Condition Expression
|
Boolean expression the script uses to decide which one of the two prompts to play back. Enter a value, choose the variable that stores the expression to be used to evaluate the condition from the Condition Expression drop-down menu, or click the Expression Editor (...) button and enter the expression to be used to evaluate the condition.
|
Prompt If True
|
Prompt to be used if the expression is True. Enter a value, choose the variable that stores the prompt to be used if the expression evaluates to True from the Prompt If True drop-down menu, or click the Expression Editor (...) button and enter an expression that specifies the prompt to be used if the expression evaluates to True.
|
Prompt If False
|
Prompt to be used if the expression is False. Enter a value, choose the variable that stores the prompt to be used if the expression evaluates to False from the Prompt If False drop-down menu, click the Expression Editor (...) button and enter an expression that specifies the prompt to be used if the expression evaluates to False.
|
Create Container Prompt
Use the Create Container Prompt step to combine multiple prompts into one larger prompt. You can create three types of container prompts:
•
Concatenated Prompt—Contains a list of prompt phrases that are played back in a specific sequence to create a single prompt.
For example, for a prompt of "Your checking account balance is one hundred and sixty-eight dollars", you can create a concatenated prompt that (1) begins with a user prompt "Your"; (2) continues with a conditional prompt that specifies a condition such as <accountType == "check">, and plays "checking account" if the condition is True or "savings account" if the condition is False; and (3) ends with the balance amount.
•
Escalating Prompt—Provides an initial question prompt with a minimal amount of information at first, and then adds additional prompt phrases if no response is given.
For example, for a prompt that provides the caller with more information as needed, you can create an escalating prompt that, when passed to a media step such as the Get Digit String step, begins by playing the first concise prompt inside the escalating prompt, such as "What is your account number?"
If the step fails to collect the account number due to the caller's failure to provide it, a second prompt plays, such as "Please provide your account number by entering the account number using your touch tone phone followed by the pound key."
•
Random Prompt—Creates a prompt that plays back one phrase from the supplied list in a random order; for example, the system could play back a series of promotional or informational messages in a random order while a caller is waiting for an available agent.
Figure 112 shows the customizer window for the Create Container Prompt step.
Figure 112 Create Container Prompt Customizer Window
Table 55 describes the properties of the Create Container Prompt customizer window.
Table 55 Create Container Prompt Fields
Property
|
Description
|
Output Prompt
|
Script variable that holds the combined prompt generated by the Create Container Prompt step. The name of the concatenated prompt appears next to the Create Container Prompt step icon in the Design pane.
|
Prompt Container Type
|
Concatenated, escalating, or random prompt.
|
Prompts
|
List of prompts to be combined into the container prompt.
|
Add
|
Add a prompt. Enter a value, choose the variable that stores the prompt you want to add from the Prompt drop-down menu, or click the Expression Editor (...) button and enter an expression that specifies the prompt you want to add. For a random prompt, choose a number to represent the priority of the prompt in the sequence from the Weight drop-down menu. The name of the prompt variable appears in the Prompts list box in the Create Container Prompt customizer window.
|
Modify
|
Modify selected prompt using the Modify Prompt dialog box appears, which contains the same field as the Add Prompt dialog box and is configured in the same way.
|
UP, Down
|
Determines the order of playback of the prompts. Select an individual prompt and click Up to move it up a level or click Down to move it down a level.
|
Override Language (optional)
|
This option is for future use.
|
The Add Prompt dialog box is shown in Figure 113.
Figure 113 Add Prompt Dialog Box
Figure 114 Create Container Prompt Customizer Window—Random Prompt
The Add Prompt dialog box is shown in Figure 115.
Figure 115 Add Prompt Dialog Box
Create Generated Prompt
Use the Create Generated Prompt step to create prompt phrases from intermediate variables whose values are dynamically determined based on run-time script information.
For example, you can create the prompt phrase of "account balance is one hundred and sixty-eight dollars" by querying the database of account balances at a particular point in the script and using a currency generator to generate the number.
Note
You cannot use the Script Editor to query a database.
Note
The Create Generated Prompt step accepts only the 4-digit year format. A 3-digit date format is not accepted.
Note
If the Create Generated Prompt step encounters an invalid time, it outputs 4:00 P.M. Specify a valid time between 0000 and 2400.
Figure 116 shows the customizer window for the Create Generated Prompt step.
Figure 116 Create Generated Prompt Customizer Window
Table 56 describes the fields of the Create Generated Prompt customizer window.
Table 56 Create Generated Prompt Fields
Field
|
Description
|
Output Prompt
|
Prompt script variable in which the prompt object resulting from this step is stored. The name of the generated prompt appears next to the Create Generated Prompt step icon in the Design pane.
|
Generator Type
|
Type of information generated.
See the following sections for descriptions of the 12 supported generator types.
|
Constructor Type
|
Constructor type that corresponds to the generator type.
|
Argument Information
|
Arguments and their values. Double-click to define a value for an item.
|
Enter Variable or Expression
|
Define a value for an argument. Enter a value, choose the variable that holds the value for the argument from the Enter Variable Expression drop-down menu, or click the Expression Editor (...) button and enter any valid expression. The name of the argument and its value appear in the Argument Information list box of the Create Generated Prompt customizer window.
|
Override Language (optional)
|
This option is for future use.
|
The Define Character dialog box is shown in Figure 117.
Figure 117 Define Character Dialog Box
Generator Types
The Create Generated Prompt step supports the following generator types:
•
Number Generator
•
Character Generator
•
Spelling Generator
•
Date Generator
•
Time Generator
•
Ordinal Generator
•
Currency Generator
•
Country Generator
•
Telephone Number Generator
•
Credit Card Number Generator
•
Credit Card Expiration Date Generator
Number Generator
The Number generator type supports the following constructors:
•
(Number number)
•
(String number)
•
(Number number, Number gender)
•
(String number, Number gender)
•
(Number number, Boolean play.full)
•
(String number, Boolean play.full)
•
(Number number, Boolean play.full, Number gender)
•
(Number number, Boolean play.full, Number gender)
The three parameters are:
•
Number—Any Number object (for example; Integer, Long, Float, Double, BigInteger, BigDecimal) or String object defining the number to be played back.
•
Gender—When the number must be played back in a specific gender context, this parameter specifies the context. Valid values are 0 for neutral, 1 for male, and 2 for female.
•
Play.full—Plays the number in full format if this optional Boolean argument is true or omitted. For example, "709" is played as "Seven Hundred and Nine." Otherwise, the number plays in brief format. For example, "709" is played as "Seven Oh Nine."
Note
If the number is played in full format, the maximum number supported is +/- 999,999,999,999.
Character Generator
The Character generator type supports the following constructors:
•
(Character character)
•
Character character, Boolean play_all)
The two parameters are:
•
Character—The character object to be played back.
•
Play_all—Optional Boolean flag indicating whether to play spaces, punctuation, and other special characters normally instead of playing them as silence (ranging from 250ms to 500ms).
Spelling Generator
The Spelling generator type supports the following constructors:
•
(String string)
•
(String string, Boolean punctuation)
•
(Object object)
•
(Object object, Boolean punctuation)
The three parameters are:
•
String—String object to be played back.
•
Object—Object for which the string representation returned by the String.valueOf() method should be spelled out.
•
Punctuation—An optional Boolean flag indicating whether to play spaces, punctuations, and special characters normally or as silences.
Note
Punctuation default behavior in the Spelling generator is different from Play_all default behavior in the Character generator.
Date Generator
The Date generator type supports the following constructors:
•
(Date date)
•
(Date date, Boolean skip.current.year)
•
(Number year)
•
(Number year, Number month)
•
(Number year, Number month, Boolean skip.current.year)
•
(Number year, Number month, Number day)
•
(Number year, Number month, Number day, Boolean skip.current.year)
The five parameters are:
•
Date—Any Date object from which to extract the date to be played back.
•
Skip.current.year—If set to true, the year does not play back if it is the same as the current year.
•
Year—The year of the date to be played back. This year must be specified in full (for example, 2004).
Note
The system plays any number given, so the caller is responsible for ensuring that the specified year is valid.
•
Month—The month of the date to be played back. Valid values range from 1 to 12, where 1 represents January and 12 represents December.
•
Day—The day of the date to be played back. Valid values range from 1 to 31 and are validated at run time based on the specified month and year.
Time Generator
The Time generator type supports the following constructors:
•
(Time)
•
(Hours, Minutes)
The three parameters are:
•
Time—Any Date or Time object representing the time to be played back. Time can also be defined as a Number object (Integer, Float, Long, and so forth) that specifies the time to be played, from 0 to 2359. (For example, a number such as 1234 is played as "12 34 PM.") If the value specified is greater than 2359, then Time is considered to be the number of milliseconds starting from the standard base time known as "the epoch," which is January 1, 1970, 00:00:00 GMT.
•
Hours—Number object that specifies the hour to be played.
•
Minutes—Number object that specifies the minutes to be played.
Ordinal Generator
The Ordinal generator type supports the following constructors:
•
(Number number)
•
(String number)
•
(Number number, Number gender)
•
(String number, Number gender)
The two parameters are:
•
Number—Any Number or String object defining the ordinal number to be played back. The supported range is from 1 to 999999.
•
Gender—When the ordinal number must be played back in a specific gender context, this parameter specifies this context. Valid values are 0 for neutral, 1 for male, and 2 for female.
Note
If the language associated with the call does not behave differently based on gender, then this parameter is ignored.
Currency Generator
The Currency generator type supports the following constructors:
•
(Currency designator)
•
(Number amount)
•
(Number amount, Currency currency)
•
(Number dollar, Number cent)
•
(Number dollar, Number cent, Currency currency)
•
(Number amount, Boolean colloquial)
•
(Number amount, Boolean colloquial, Currency currency)
•
(Number dollar, Number cent, Boolean colloquial, Currency currency)
The six parameters are:
•
Designator—The designator of a currency to play back. (For example, "USD" is played back as "U.S. Dollar.")
•
Amount—The currency amount to be played back in the system configured default currency or in the specified currency.
•
Dollar—Number object representing the amount of currency unit to be played. Only the integer part of the number is played. The fractional part, if any, is ignored.
•
Cent—Number object representing the currency subdivision to be played. Only the integer part of the number is played. The fractional part, if any, is ignored.
Note
If the number specified exceeds the maximum value allowed for the subdivisions, the excess is added properly to the number of currency unit. For example, specifying "5 dollars and 233" cents results in "7 dollars and 33 cents."
•
Colloquial—An optional Boolean flag, which specifies whether to use colloquial currencies' representations (for example, "Dollars" instead of "US Dollars"). If omitted, the currency amount is played in colloquial format.
•
Currency—The currency in which the amount should be played back. If not specified, the system default configured currency is played back.
Country Generator
The Country generator type supports only one constructor: (Language language). The parameter "language" is a Language object from which to get the language to be played back. (For example, en_US is played back as "United States English.")
Telephone Number Generator
The Telephone Number generator type supports only one constructor: (String number). The parameter "number" is a String object specifying the telephone number to be played out as a sequence of digits.
The character is replaced with 250 ms of silence if the string contains any of the following characters: " - ( ) . Otherwise, the string is automatically formatted.
Automatic formatting of the string inserts 250 ms of silence between sections of digits. These sections follow the following rule: "XXX-XXX-XXX-XXXX" unless there are exactly five digits in the string, in which case the string is considered to be a single section of five digits.
An "x" character is played back as "Extension." DTMF digits ("ABCD0123456789#*") are played back normally.
A string of the form "*xx" where x is a DTMF digit ("0123456789") is played back as "star xx" (for example,"*53" is played back as "star fifty-three").
Credit Card Number Generator
The Credit Card Number generator type supports only one constructor: (String number). The parameter "number" is a String object specifying the credit card number to be played out as a sequence of digits.
If the specified credit card number includes "-", then it is played as is, replacing the "-" character with 250 ms of silence; otherwise the number is automatically separated into sections of four digits and played back with 250 ms of silence inserted between sections.
Credit Card Expiration Date Generator
The Credit Card Expiration Date generator type supports the following constructors:
•
(Number year, Number month, Number day)
•
(Number year, Number month)
The parameters are identical to the following Generated Date constructors:
•
If day is 0 or omitted—GeneratedDate (year, month, true)
•
All other cases—GeneratedDate (year, month, day, true)