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
Implicit Confirmation
Menu
General
Prompt
Input
Name To User
General
Prompt
Input
Play Prompt
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 39 shows the steps in the General palette as they appear in the Palette pane of the Cisco Unity Express Script Editor.
Figure 39 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 40 shows the customizer window for the Annotate step.
Figure 40 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 41 shows the customizer window for the Business Hours step.
Figure 41 Business Hours Customizer Window
Table 5 describes the fields of the Business Hours customizer window.
Table 5 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 42, to specify the filename of the subflow you want to call.
Figure 42 Call Subflow Customizer Window—General Tab
Table 6 describes the fields of the General tab.
Table 6 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 43, 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 43 Call Subflow Customizer Window—Parameter Mapping Tab
Table 7 describes the fields of the Parameter Mapping tab.
Table 7 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 44.
Figure 44 Parameter Mapping Dialog Box
Table 8 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 45 shows the customizer window for the Day of Week step.
Figure 45 Day of Week Customizer Window
Table 9 describes the fields of the Day of Week customizer window.
Table 9 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 46.
Figure 46 Add Connection Name Dialog Box
Table 10 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 47 shows the customizer window for the Decrement step.
Figure 47 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 48 shows the customizer window for the Delay step.
Figure 48 Delay Customizer Window
Table 11 describes the fields of the Delay customizer window.
Table 11 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 49 shows the customizer window for the Goto step.
Figure 49 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 50 shows the customizer window for the If step.
Figure 50 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 51 shows the customizer window for the Increment step.
Figure 51 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 52 shows the customizer window for the Is Holiday step.
Figure 52 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 53 shows the customizer window for the Label step.
Figure 53 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 54 shows the customizer window for the On Exception Clear step.
Figure 54 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 55 shows the customizer window for the On Exception Goto step.
Figure 55 On Exception Goto Customizer Window
Table 12 describes the fields of the On Exception Goto customizer window.
Table 12 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 56 shows the customizer window for the Set step.
Figure 56 Set Customizer Window
Table 13 describes the fields of the Set customizer window.
Table 13 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 57 shows the customizer window for the Switch step.
Figure 57 Switch Customizer Window
Table 14 describes the fields of the Switch customizer window.
Table 14 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 58.
Figure 58 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 59 shows the customizer window for the Time of Day step.
Figure 59 Time of Day Customizer Window
Table 15 describes the fields of the Time of Day customizer window.
Table 15 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 60.
Figure 60 Add Connection Name Dialog Box
The Add Range of Hours dialog box is shown in See Figure 61.
Figure 61 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 62 shows the steps in the Contact palette as they appear in the Palette pane of the Cisco Unity Express Script Editor.
Figure 62 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 63 shows the customizer window for the Accept step.
Figure 63 Accept Customizer Window
Table 16 describes the field of the Accept customizer window.
Table 16 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 64 shows the customizer window for the Get Contact Info step.
Figure 64 Get Contact Info Customizer Window
Table 17 describes the fields of the Get Contact Info customizer window.
Table 17 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 18 describes the information that the Get Contact Info step makes available to other steps in the script.
Table 18 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 65.
Figure 65 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 66 shows the customizer window for the Set Contact Info step.
Figure 66 Set Contact Info Customizer Window
Table 19 describes the fields of the Set Contact Info customizer window.
Table 19 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 20 describes the attribute information provided in the customizer window of the Set Contact Info step.
Table 20 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 67 shows the customizer window for the Terminate step.
Figure 67 Terminate Customizer Window
Table 21 describes the field of the Terminate customizer window.
Table 21 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 62 shows the steps in the Call Contact palette as they appear in the Palette pane of the Cisco Unity Express Script Editor.
Figure 68 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 69 shows the customizer window for the Call Redirect step.
Figure 69 Call Redirect Customizer Window
Table 22 describes the fields of the Call Redirect customizer window.
Table 22 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 23 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 23 describes the extensions supported by the Call Redirect step.
Table 23 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 70 shows the customizer window for the Get Call Contact Info step.
Figure 70 Get Call Contact Info Customizer Window
Table 24 describes the fields of the Get Call Contact Info customizer window.
Table 24 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 25 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 25 describes the arrival types of the Get Call Contact Info step.
Table 25 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
•
Implicit Confirmation
•
Menu
•
Name To User
•
Play Prompt
Figure 62 shows the steps in the Media palette as they appear in the Palette pane of the Cisco Unity Express Script Editor.
Figure 71 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 72, to select the contact on which to perform the confirmation and to set the Interruptible option.
Figure 72 Explicit Confirmation Customizer Window—General Tab
Table 26 describes the fields of the General tab.
Table 26 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 73, to specify initial, error, and timeout prompts and to set Barge In and Continue On Prompt Errors options.
Figure 73 Explicit Confirmation Customizer Window—Prompts Tab
Table 27 describes the fields of the Prompts tab.
Table 27 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 74, to set timeout duration, maximum number of retries, and Flush Input Buffer options.
Figure 74 Explicit Confirmation Customizer Window—Input Tab
Table 28 describes the fields of the Input tab.
Table 28 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 75, 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 75 Get Digit String Customizer Window—General Tab
Table 29 describes the fields of the General tab.
Table 29 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 76, to specify a prompt, and to set Barge In and Continue on Prompt Errors options.
Figure 76 Get Digit String Customizer Window—Prompt Tab
Table 30 describes the fields of the Prompt tab.
Table 30 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 77, to set conditions for receiving caller input.
Figure 77 Get Digit String Customizer Window—Input Tab
Table 31 describes the fields of the Input tab.
Table 31 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 78, to specify digits that can be accepted from the caller.
Figure 78 Get Digit String Customizer Window—Filter Tab
Table 32 describes the field of the Filter tab.
Table 32 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.
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 79 shows the customizer window for the Implicit Confirmation step.
Figure 79 Implicit Confirmation Customizer Window
Table 33 describes the fields of the Implicit Confirmation customizer window.
Table 33 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 80, 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 80 Menu Customizer Window—General Tab
Table 34 describes the fields of the General tab.
Table 34 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 81.
Figure 81 Add New Output Option Name Dialog Box
Prompt
Use the Prompt tab of the Menu customizer window, as shown in Figure 82, to choose the prompt to be played back and to set the Barge In and Continue on Prompt Errors options.
Figure 82 Menu Customizer Window—Prompt Tab
Table 35 describes the fields of the Prompt tab.
Table 35 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 83, to set the timeout setting, maximum number of retries, and Flush Input Buffer options.
Figure 83 Menu Customizer Window—Input Tab
Table 36 describes the fields of the Input tab.
Table 36 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 84.)
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 84, to specify the Result User variable and to set other properties for the Name To User step.
Figure 84 Name To User Customizer Window—General Tab
Table 37 describes the fields of the General tab.
Table 37 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 85, 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 85 Name To User Customizer Window—Prompt Tab
Table 38 describes the fields of the Prompt tab.
Table 38 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 86, to configure various input properties for the Name To User step.
Figure 86 Name To User Customizer Window—Input Tab
Table 39 describes the fields of the Input tab.
Table 39 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 87, to identify the contact and to set the Interruptible option.
Figure 87 Play Prompt Customizer Window—General Tab
Table 40 describes the fields of the General tab.
Table 40 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 88, to specify the prompt to be played back, and to set the Barge In and Continue on Prompt Errors options.
Figure 88 Play Prompt Customizer Window—Prompt Tab
Table 41 describes the fields of the Prompt tab.
Table 41 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 89, to specify whether or not to erase previously entered input before capturing caller input.
Figure 89 Play Prompt Customizer Window—Input Tab
Table 42 describes the field of the Input tab
Table 42 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.
|
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 90 shows the steps in the User Steps palette.
Figure 90 User Palette Steps
Get User Info
Use the Get User Info step, as shown in Figure 91, to make user attributes available to the script.
Figure 91 Get User Info Customizer Window
Table 43 describes the fields of the Get User Info customizer window.
Table 43 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 44 describes the attributes that can be retrieved by using the Get User Info step.
Table 44 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 92.
Figure 92 Get User Dialog Box
Extension To User
Use the Extension To User step as shown in Figure 93 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 93 Extension To User Customizer Window
Table 45 describes the fields on the Extension To User window.
Table 45 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 94 shows the steps in the Prompt palette as they appear in the Palette pane of the Cisco Unity Express Script Editor.
Figure 94 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 95 shows the customizer window for the Create Conditional Prompt step.
Figure 95 Create Conditional Prompt Customizer Window
Table 46 describes the fields of the Create Conditional Prompt customizer window.
Table 46 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 96 shows the customizer window for the Create Container Prompt step.
Figure 96 Create Container Prompt Customizer Window
Table 47 describes the properties of the Create Container Prompt customizer window.
Table 47 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 97.
Figure 97 Add Prompt Dialog Box
Figure 98 Create Container Prompt Customizer Window—Random Prompt
The Add Prompt dialog box is shown in Figure 99.
Figure 99 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 100 shows the customizer window for the Create Generated Prompt step.
Figure 100 Create Generated Prompt Customizer Window
Table 48 describes the fields of the Create Generated Prompt customizer window.
Table 48 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 101.
Figure 101 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)