Cisco Unity Express 2.1 Script Editor Guide
Script Step Reference Information

Table Of Contents

Script Step Reference Information

General 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

Contact Steps

Accept

Get Contact Info

Set Contact Info

Terminate

Call Contact Steps

Call Redirect

Get Call Contact Info

Media Steps

Explicit Confirmation

Get Digit String

Implicit Confirmation

Menu

Name To User

Play Prompt

User Steps

Get User Info

Extension To User

Prompt Steps

Create Conditional Prompt

Create Container Prompt

Create Generated Prompt


Script Step Reference Information


This chapter lists all the steps available for use in creating scripts. These steps are accessed using the palette pane (see Using the Palette Pane, page 8). 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 42 shows the steps in the General palette as they appear in the Palette pane of the Cisco Unity Express Script Editor.

Figure 42 General Palette Steps

Annotate

Use the Annotate step to enter comments that explain the function of a script segment.

Figure 43 shows the customizer window for the Annotate step.

Figure 43 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.

This step has no effect on script logic.

Business Hours

Use the Business Hours step to determine if the business is open at the specified date and time. This step can be used to play a "Business is closed" prompt if the system receives a call during business- closed hours.

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 44 shows the customizer window for the Business Hours step.

Figure 44 Business Hours Customizer Window

Table 12 describes the fields of the Business Hours customizer window.

Table 12 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. No configuration is necessary.

Time

Current time. No configuration is necessary.


Follow these steps to configure the business hours criteria:


Step 1 Click the Schedule drop-down menu to choose a schedule variable for which you want to check business hours.

Step 2 In the Date field, do one of the following:

Leave the Current Date variable.

Click the Date drop-down menu to select a date variable for which you want to check the business hours.

Step 3 In the Time field, do one of the following:

Leave the Current Time variable.

Click the Time drop-down menu to select a time variable for which you want to check the business hours.

Step 4 Click OK.

The Business Hours customizer window closes. The name of the Schedule variable appears next to the Business Hours step icon in the Design pane of the Cisco Unity Express Script Editor.


Call Subflow

Use the Call Subflow step to execute a subflow, which is analogous to 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 45, to specify the filename of the subflow you want to call.

Figure 45 Call Subflow Customizer Window—General Tab

Table 13 describes the fields of the General tab.

Table 13 Call Subflow Fields—General Tab

Field
Description

Subflow Name

Filename of the subflow you want to call.

Disable Interruptions

If the check box is checked, execution of the step cannot be interrupted by external events.


Follow these steps to use the General tab of the Call Subflow customizer window to call a subflow:


Step 1 If necessary, click the General tab.

The General tab of the Call Subflow customizer window appears.

Step 2 In the Subflow Name text field, enter the filename of the script that contains the desired subflow.

Step 3 If you want to prevent external events from interrupting the Call Subflow step, check the Disable Interruption check box.

Step 4 Click Apply.

Step 5 See "Parameter Mapping Tab" to configure the subflow parameters.


Parameter Mapping Tab

Use the Parameter Mapping tab of the Call Subflow customizer window, shown in Figure 46, 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 46 Call Subflow Customizer Window—Parameter Mapping Tab

Table 14 describes the fields of the Parameter Mapping tab.

Table 14 Call Subflow Fields—Parameter Mapping Tab

Field
Description

From

Name of the variable from the main script that will receive the value of the variable from the subflow script.

To

Name of the variable from the subflow script that will be assigned to the variable in the main script.

Type

Variable type.


Follow these steps to map variables or expressions:


Step 1 If necessary, click the Parameter tab.

The Parameter tab of the Call Subflow customizer window appears.

Step 2 Click Add.

The Parameter Mapping dialog box appears, as shown in Figure 47.

Figure 47 Parameter Mapping Dialog Box

Step 3 In the From Expression field, enter the variable name or expression from the main script.

Step 4 In the To Variable field, enter the variable name from the subflow.

Step 5 Click OK to add the mapping to the script.

The Parameter Mapping dialog box closes. The name and type of the variable you entered in the To Variable text field appear in the list box of the Call Subflow window.

Step 6 Click OK.

The Call Subflow customizer window closes. The script name you specified in the General tab appears next to the Call Subflow step icon in the Design pane of the Cisco Unity Express Script 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 48 shows the customizer window for the Day of Week step.

Figure 48 Day of Week Customizer Window

Table 15 describes the fields of the Day of Week customizer window.

Table 15 Day of Week Customizer Window Fields

Field
Description

Connections

Output branches that execute depending on a specified day of week.

Days

Days of the week for each connection branch.


Follow these steps to add a connection output branch and associate it with days of the week:


Step 1 Click Add.

The Add Connection Name dialog box appears. (See Figure 49.)

Figure 49 Add Connection Name Dialog Box

Step 2 In the Connector Name text field, enter a name for the connection branch and click OK.

The Add Connection Name dialog box closes, and the name of the new connection appears in the Connections list box of the Day of Week customizer window.

Step 3 Select the new connection in the Connections list box, and check the check boxes for the days you want to associate with that branch.


Note If you want 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 appears, which contains the same field as the Add Connection Name dialog box and is configured in the same way.


Step 4 Click OK.

The Day of Week customizer window closes.


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 50 shows the customizer window for the Decrement step.

Figure 50 Decrement Customizer Window

To decrease the chosen Integer variable by one, choose the desired variable from the Variable drop-down menu and click OK.

The Decrement customizer window closes. The variable appears next to the Decrement step icon in the Design pane of the Cisco Unity Express Script Editor.

Delay

Use the Delay step to pause the processing of a script for a specified number of seconds.

Figure 51 shows the customizer window for the Delay step.

Figure 51 Delay Customizer Window

Table 16 describes the fields of the Delay customizer window.

Table 16 Delay Customizer Window Fields

Field
Description

Enter delay time in seconds or enter an expression

Length of time in seconds for the delay, or an expression that specifies the length of the delay.

Interruptible

If Yes is clicked, the delay is interruptible by external events.


Follow these steps to specify a script processing delay:


Step 1 In the Enter delay time text field, enter the number of seconds for the delay, or click the Expression Editor (...) button to enter any valid expression.

Step 2 To allow external events to interrupt the delay, click the Yes radio button.

Step 3 Click OK.

The Delay customizer window closes. Either the number of seconds or the name of the variable appears next to the Delay step of the Design pane of the Cisco Unity Express Script Editor.


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 You must create a specific Label step before you can customize the Goto step to branch to that label.


Figure 52 shows the customizer window for the Goto step.

Figure 52 Goto Customizer Window

To cause the script logic to branch to a specific Label step, choose that Label step from the Select a Label drop-down menu and click OK.

The Goto customizer window closes. The label name appears next to the Goto step icon in the Design pane of the Cisco Unity Express Script Editor.

If

Use the If step to cause the script to go to 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 53 shows the customizer window for the If step.

Figure 53 If Customizer Window

To create True and False output branches, either enter an expression in the text field or click the Expression Editor (...) button to enter an expression and click OK.

The If customizer window closes. The expression appears next to the If step icon in the Design pane of the Cisco Unity Express Script Editor.

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 54 shows the customizer window for the Increment step.

Figure 54 Increment Customizer Window

To increase the value of a specific Integer variable by one, choose that Integer type variable from the Variable drop-down menu and click OK.

The Increment customizer window closes. The variable appears next to the Increment step icon in the Design pane of the Cisco Unity Express Script Editor.

Is Holiday

Use the Is Holiday step to determine if the current day is a holiday. This step can be used to play a "Business closed for the holiday" prompt if the system receives a call on a holiday.

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 55 shows the customizer window for the Is Holiday step.

Figure 55 Is Holiday Customizer Window

The Date field contains the date variable that the system uses to check for holidays.

Follow these steps to configure the date:


Step 1 In the Date field, do one of the following:

Leave the Current Date variable.

Click the Date drop-down menu to select a date variable.

Step 2 Click OK..

The Is Holiday customizer window closes. The name of the Date variable appears next to the Is Holiday step icon in the Design pane of the Cisco Unity Express Script Editor.


Label

Use the Label step to insert a label into a script to serve as a target for a Goto step within the same script.

Figure 56 shows the customizer window for the Label step.

Figure 56 Label Customizer Window

To insert a label into a script, enter a name in the Enter Label Name text field, and then click OK.

The Label customizer window closes. The Label name appears next to the Label step icon in the Design pane of the Cisco Unity Express Script Editor.

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 used to clear the exception.

You may also use this step when you no longer need to handle the selected exception within the script.

Figure 57 shows the customizer window for the On Exception Clear step.

Figure 57 On Exception Clear Customizer Window

To clear an exception, select the specific exception from the list box and click OK.

The On Exception Clear customizer window closes. The exception being cleared appears next to the On Exception Clear step icon in the Design pane of the Cisco Unity Express Script Editor.

On Exception Goto

Use the On Exception Goto step to catch problems that may occur 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 58 shows the customizer window for the On Exception Goto step.

Figure 58 On Exception Goto Customizer Window

Table 17 describes the fields of the On Exception Goto customizer window.

Table 17 On Exception Goto Fields

Field
Description

Choose the exception from the list

Exception that triggers the execution of the step.

Choose the label from the list

Label to which the script will branch.

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.


Follow these steps to create a response to an exception:


Step 1 In the Choose the exception from the list box, select the exception that will trigger the execution of the On Exception Goto step.

Step 2 From the Choose the label from the list drop-down menu, choose the label to which the script will branch when the exception occurs.

Step 3 From the Save root cause (optional) drop-down menu, choose an exception object, if desired.

Step 4 Click OK.

The On Exception Goto customizer window closes. The information you selected appears next to the On Exception Goto step icon in the Design pane of the Cisco Unity Express Script Editor.


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 59 shows the customizer window for the Set step.

Figure 59 Set Customizer Window

Table 18 describes the fields of the Set customizer window.

Table 18 Set Customizer Window Fields 

Field
Description

Variable

Variable for which the value will be set.

Type

Variable type. The application software assigns this value.

Assign

Value for the specified variable.


Follow these steps to set the value for a variable:


Step 1 From the Variable drop-down menu, choose the variable for which the value will be set.

The Type field automatically displays the type of the variable you chose.

Step 2 From the Assign drop-down menu, choose the value for the specified variable or click the Expression Editor (...) button to enter any valid expression.

Step 3 Click OK.

The Set customizer window closes. The information you entered appears next to the Set step icon in the Design pane of the Cisco Unity Express Script Editor.


Start

The Cisco Unity Express Script Editor automatically adds the Start step when you create a new script by choosing File > New.

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 is a method for providing script logic based on the value of a variable at a point in time. 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 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 60 shows the customizer window for the Switch step.

Figure 60 Switch Customizer Window

Table 19 describes the fields of the Switch customizer window.

Table 19 Switch Customizer Window Fields 

Field
Description

Switch Expression

Expression to be executed.

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.


Follow these steps to create script logic for one or more cases:


Step 1 From the Switch Expression drop-down menu, select a variable or expression, or click the Expression Editor (...) button to enter any valid expression.

Step 2 Click Add.

The Switch Case and Label dialog box appears, as shown in Figure 61.

Figure 61 Switch Case and Label Dialog Box

Step 3 In the Output Label Name field, enter an output label name.

The script will branch to this Label when the variable equals the value specified in the Case field.

Step 4 Click OK.

The Switch Case and Label dialog box closes.

Step 5 Click OK.

The Switch customizer window closes. The information you entered appears next to the Switch step icon in the Design pane of the Cisco Unity Express Script Editor.


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 62 shows the customizer window for the Time of Day step.

Figure 62 Time of Day Customizer Window

Table 20 describes the fields of the Time of Day customizer window.

Table 20 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


Follow these steps to add a new connection and specify a range of hours for that connection:


Step 1 Click Add.

The Add Connection Name dialog box appears as shown in Figure 63.

Figure 63 Add Connection Name Dialog Box

Step 2 In the Connection Name field, enter the new connection name and click OK.

The Add Connection dialog box closes. The name of the new connection appears in the Connections text box of the Day of Week customizer window.

Step 3 To specify a range of hours, select the connection in the Connections text box and click Add Time.

The Add Range of Hours dialog box appears as shown in See Figure 64.

Figure 64 Add Range of Hours Dialog Box

Step 4 From the Start Time list, choose a start time.

Step 5 From the End Time list, select an end time.

Step 6 Click OK.

The Add Range of Hours dialog box closes.

Step 7 Click OK.

The Time of Day customizer window closes.


Contact Steps

The steps in the Contact palette of the Cisco Unity Express Script Editor 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 handle to 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 65 shows the steps in the Contact palette as they appear in the Palette pane of the Cisco Unity Express Script Editor.

Figure 65 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 66 shows the customizer window for the Accept step.

Figure 66 Accept Customizer Window

Table 21 describes the field of the Accept customizer window.

Table 21 Accept Customizer Window Field

Field
Description

Contact

Contact variable.

Default is Triggering Contact, unless another contact is defined.


To configure the Accept step, click the Contact drop-down arrow to choose a contact and click OK.

The Accept customizer window closes. The name of the Contact variable appears next to the Accept step icon in the Design pane of the Cisco Unity Express Script Editor.

Get Contact Info

Use the Get Contact Info step to extract information from a particular type of object and store it in script variables so that this contact information is available to subsequent steps in the script.

Figure 67 shows the customizer window for the Get Contact Info step.

Figure 67 Get Contact Info Customizer Window

Table 22 describes the fields of the Get Contact Info customizer window.

Table 22 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.

Attribute/Variable

Attributes and variables of contact information types.


Table 23 describes the information that the Get Contact Info step makes available to other steps in the script.

Table 23 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.


Follow these steps to get contact information:


Step 1 From the Contact drop-down menu, choose the Contact variable for which you want to get information.

Step 2 In the Attribute/Variable list box, select the desired attribute and click Set.

The Get Contact Type dialog box appears, as shown in Figure 68.

Figure 68 Get Contact Type Dialog Box

Step 3 From the Select Variable drop-down menu, choose the desired variable and click OK.

The Get Contact Type dialog box closes. The name of the selected variable appears in the Variable column next to the selected attribute in the Get Contact Info customizer window.

Step 4 Click OK.

The Get Contact Info customizer window closes. The name of the selected Contact variable appears next to the Get Contact Info step icon in the Design pane of the Cisco Unity Express Script Editor.


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 will have no effect in reporting.


Note You cannot mark a contact as unhandled. Once a contact is reported as Handled, it will always be reported with that status.


Figure 69 shows the customizer window for the Set Contact Info step.

Figure 69 Set Contact Info Customizer Window

Table 24 describes the fields of the Set Contact Info customizer window.

Table 24 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.

Attribute/Value

Attributes and values of contact information types.


Table 25 describes the attribute information provided in the customizer window of the Set Contact Info step.

Table 25 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.


Follow these steps to modify the context information associated with a contact:


Step 1 From the Contact drop-down menu, choose the Contact variable for which you want to set information.

Step 2 In the Attribute/Variable list box, select Handled and click Set.

An X appears in the Value column next to the Handled attribute.

Step 3 Click OK.

The Set Contact Info customizer window closes,. The name of the selected Contact variable appears next to the Set Contact Info step icon in the Design pane of the Cisco Unity Express Script Editor.


Terminate

Use the Terminate step to disconnect the call.

Figure 70 shows the customizer window for the Terminate step.

Figure 70 Terminate Customizer Window

Table 26 describes the field of the Terminate customizer window.

Table 26 Terminate Customizer Window Field

Field
Description

Contact

Contact variable that you want terminated.

Default is Triggering Contact, unless another contact is defined.


To terminate a contact, click the Contact drop-down arrow to choose the contact that you want to terminate and click OK.

The Terminate customizer window closes. The name of the selected Contact variable appears next to the Terminate step icon in the Design pane of the Cisco Unity Express Script Editor.

Call Contact Steps

The steps in the Call Contact palette of the Cisco Unity Express Script Editor provide script designers with a way to manage calls.

The Call Contact palette contains the following steps:

Call Redirect

Get Call Contact Info

Figure 65 shows the steps in the Call Contact palette as they appear in the Palette pane of the Cisco Unity Express Script Editor.

Figure 71 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 72 shows the customizer window for the Call Redirect step.

Figure 72 Call Redirect Customizer Window

Table 27 describes the fields of the Call Redirect customizer window.

Table 27 Call Redirect Customizer Window Fields 

Field
Description

Call Contact

Contact that you want to redirect.

Default is Triggering Contact, unless another contact is defined.

Extension

Variable that holds the extension where the call is to be redirected.

(See Table 28 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 28 describes the extensions supported by the Call Redirect step.

Table 28 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.

1 RNA = Ring No Answer


Follow these steps to redirect a call:


Step 1 From the Call Contact drop-down menu, choose the Contact variable to trigger the Call Redirect step.

Step 2 From the Extension drop-down menu, choose the variable that holds the extension where the call is to be redirected.

Step 3 In the Reset CTI Called Address field, do one of the following:

Click the Yes radio button if you want to reset the original destination of the call to the redirected destination.

Click the No radio button if you want to preserve the original call destination even after the Call Redirect step executes.

Step 4 Click OK.

The Call Redirect customizer window closes, and the names of the selected Call Contact and extension variables appear next to the Call Redirect step icon in the Design pane of the Cisco Unity Express Script Editor.


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, you can use this step with a Call Redirect step to transfer a call to another extension, or you can use this step with a Play Prompt step to play a voice prompt.

Figure 73 shows the customizer window for the Get Call Contact Info step.

Figure 73 Get Call Contact Info Customizer Window

Table 29 describes the fields of the Get Call Contact Info customizer window.

Table 29 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.

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 30 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 30 describes the arrival types of the Get Call Contact Info step.

Table 30 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.


Follow these steps to access call-specific information:


Step 1 From the Call Contact drop-down menu, choose the Contact variable for which you want to retrieve information.

Step 2 From the Calling Number drop-down menu, choose the variable that stores the number where the call originated.

Step 3 From the Called Number drop-down menu, choose the variable that stores the destination number.

Step 4 From the Arrival Type drop-down menu, choose the variable that stores the arrival type for the call.

Step 5 From the Last Redirect Number drop-down menu, choose the variable that stores the number from which the last call diversion or transfer was invoked.

Step 6 From the Original Called Number drop-down menu, choose the variable that stores the original destination number.

Step 7 Click OK.

The Get Call Contact Info customizer window closes. The name of the selected Call Contact variable appears next to the Get Call Contact Info step icon in the Design pane of the Cisco Unity Express Script Editor.


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 65 shows the steps in the Media palette as they appear in the Palette pane of the Cisco Unity Express Script Editor.

Figure 74 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), a ChannelUnsupportedException results.


Explicit Confirmation

Use the Explicit Confirmation step to confirm an explicit response to a prompt.

The Explicit Confirmation step is defined with a default grammar that 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 75, to select the contact on which to perform the confirmation and to set the Interruptible option.

Figure 75 Explicit Confirmation Customizer Window—General Tab

Table 31 describes the fields of the General tab.

Table 31 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.


Follow these steps to specify the contact that triggers the execution of the Explicit Confirmation step:


Step 1 From the Contact drop-down menu, choose the Contact variable that is to be confirmed.

Step 2 In the Interruptible field, do one of the following:

Click the Yes radio button to allow an external event to interrupt the step.

Click the No radio button to require the step to complete before any other process can execute.

Step 3 Click Apply.

Continue with "Prompts" to configure the Prompts tab of the Explicit Confirmation customizer window.


Prompts

Use the Prompts tab of the Explicit Confirmation customizer window, as shown in Figure 76, to specify initial, error, and timeout prompts and to set Barge In and Continue On Prompt Errors options.

Figure 76 Explicit Confirmation Customizer Window—Prompts Tab

Table 32 describes the fields of the Prompts tab.

Table 32 Explicit Confirmation Customizer Window Fields—Prompts Tab 

Field
Description

Initial Prompt

First prompt to be played back.

Error Prompt

Prompt to be played in the event of an input error.

Timeout Prompt

Prompt to be played in the event of a timeout.

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.


Follow these steps to specify prompts and prompt status:


Step 1 In the Initial Prompt field, do one of the following:

Enter a value.

From the Initial Prompt drop-down menu, choose a prompt variable.

Click the Expression Editor (...) button and enter a prompt expression.

Step 2 In the Error Prompt field, do one of the following:

Enter a value.

In the Error Prompt drop-down menu, choose a prompt variable.

Click the Expression Editor (...) button and enter a prompt expression.

Step 3 In the Timeout Prompt field, do one of the following:

Enter a value.

In the Timeout Prompt drop-down menu, choose a prompt variable.

Click the Expression Editor (...) button and enter a prompt expression.

Step 4 In the Barge In field, do one of the following:

Click the Yes radio button to allow the caller to interrupt the prompt.

Click the No radio button to require the prompt to complete playback before the caller can respond.

Step 5 In the Continue on Prompt Errors field, do one of the following:

Click the Yes radio button to instruct the step to continue with the next prompt in the list if an error occurs in a prompt.

Click the No radio button to cause an exception to result.

Step 6 Click Apply.

Continue with "Input" to configure the Input tab of the Explicit Confirmation customizer window.


Input

Use the Input tab of the Explicit Confirmation customizer window, as shown in Figure 77, to set timeout duration, maximum number of retries, and Flush Input Buffer options.

Figure 77 Explicit Confirmation Customizer Window—Input Tab

Table 33 describes the fields of the Input tab.

Table 33 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.


Follow these steps to specify the values of various types of input:


Step 1 From the Timeout (In Sec) drop-down menu, choose the number of seconds that the step waits for a response before timing out.

Step 2 From the Maximum Retries drop-down menu, choose the number of times a new entry can be entered after a timeout or invalid key.

Step 3 In the Flush Input Buffer field, do one of the following:

Click the Yes radio button to cause the system to erase previously entered input before capturing new caller input.

Click the No radio button to allow callers to type ahead and have the input saved.

Step 4 In the Grammar field, do one of the following:

Enter a value.

From the Grammar drop-down menu, choose the variable that contains the grammar value.

Click the Expression Editor (...) button and enter a grammar expression.

Step 5 Click OK.

The Explicit Confirmation customizer window closes. The name of the triggering contact appears next to the Explicit Confirmation step icon in the Design pane of the Cisco Unity Express Script Editor.


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 78, 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 78 Get Digit String Customizer Window—General Tab

Table 34 describes the fields of the General tab.

Table 34 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.


Follow these steps to specify the contact that triggers the execution of the Get Digit String step:


Step 1 From the Contact drop-down menu, choose the Contact variable that triggers the execution of the step.

Step 2 In the Interruptible field, do one of the following:

Click the Yes radio button to allow an external event, such as a caller hanging up, to interrupt the step.

Click the No radio button to require the step to complete before any other process can execute.

Step 3 Click Apply.

Continue with "Prompt" to configure the Prompt tab of the Get Digit String customizer window.


Prompt

Use the Prompt tab of the Get Digit String customizer window, as shown in Figure 79, to specify a prompt, and to set Barge In and Continue on Prompt Errors options.

Figure 79 Get Digit String Customizer Window—Prompt Tab

Table 35 describes the fields of the Prompt tab.

Table 35 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.


Follow these steps to configure the prompt properties of the Get Digit String step:


Step 1 From the Prompt drop-down menu, choose the prompt to be played.

Step 2 In the Barge In field, do one of the following:

Click the Yes radio button to allow the caller to interrupt the prompt.

Click the No radio button to require the prompt to complete playback before the caller can respond.

Step 3 In the Continue on Prompt Errors field, do one of the following:

Click the Yes radio button to instruct the step to continue with the next prompt in the list if an error occurs in a prompt.

Click the No radio button to cause an exception to result.

Step 4 Click Apply.

Continue with "Input" to configure the Input tab of the Get Digit String customizer window.


Input

Use the Input tab of the Get Digit String customizer window, as shown in Figure 80, to set conditions for receiving caller input.

Figure 80 Get Digit String Customizer Window—Input Tab

Table 36 describes the fields of the Input tab.

Table 36 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.


Follow these steps to configure caller input in the Get Digit String customizer window:


Step 1 In the Input Length text field, enter a number.

Step 2 From the Terminating Key drop-down menu, choose a terminating key.

Step 3 From the Cancel Key drop-down menu, choose a cancel key.

Step 4 From the Maximum Retries drop-down menu, choose a number.

Step 5 From the Initial timeout (in sec) drop-down menu, choose a number of seconds.

Step 6 From the Interdigit timeout (in sec) drop-down menu, choose a number of seconds.

Step 7 In the Flush Input Buffer field, do one of the following:

Click the Yes radio button to cause the system to erase previously entered input before capturing new caller input.

Click the No radio button to allow callers to type ahead and have the input saved.

Step 8 In the Clear DTMF Buffer on Retry field, do one of the following:

Click the Yes radio button to clear the DTMF buffer before each retry.

Click the No radio button to not clear the DTMF buffer before each retry.

Step 9 Click Apply.

Continue with "Filter" to configure the Filter tab of the Get Digit String customizer window.


Filter

Use the Filter tab of the Get Digit String customizer window, as shown in Figure 81, to specify digits that can be accepted from the caller.

Figure 81 Get Digit String Customizer Window—Filter Tab

Table 37 describes the field of the Filter tab.

Table 37 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 of the Cisco Unity Express Script Editor.

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 82 shows the customizer window for the Implicit Confirmation step.

Figure 82 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.

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.


Follow these steps to configure the Implicit Confirmation contact information:


Step 1 From the Contact drop-down menu, choose the Contact variable that triggers the execution of the step.

Step 2 From the Prompt drop-down menu, choose the prompt that is played to the caller.

Step 3 From the Timeout (in secs) drop-down menu, choose the number of seconds without a caller response before confirmation is considered successful.

The usual value is 2 seconds.

Step 4 In the Interruptible field, do one of the following:

Click the Yes radio button to allow an external event, such as an agent becoming available, to interrupt the step.

Click the No radio button to require the step to complete before any other process can execute.

Step 5 In the Continue on Prompt Errors field, do one of the following:

Click the Yes radio button to instruct the step to continue with the next prompt in the list if an error occurs in a prompt.

Click the No radio button to cause an exception to result.

Step 6 Click OK.

The Implicit Confirmation customizer window closes. The name of the triggering contact appears next to the Implicit Confirmation step icon in the Design pane of the Cisco Unity Express Script Editor.


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 83, 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 83 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.

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 General options for the Menu step:


Step 1 From the Contact drop-down menu, choose the Contact variable that triggers the execution of the step.

Step 2 In the Options list box, select the option and check the check box of the digit that will be offered to the caller for choosing this option.

Step 3 To add a new option, click within the Options list box and click Add.

The Add New Output Option Name dialog box appears, as shown in Figure 84.

Figure 84 Add New Output Option Name Dialog Box

Step 4 In the Connection Name text field, enter a name for the option and click OK.

The Add New Output Option Name dialog box closes. The new option appears in the Options list box.

(To modify an existing option, select the option you want to modify in the Option list box, and then click Modify. The Rename Output Option dialog box appears, which contains the same field as the Add New Output Option Name dialog box and is configured in the same way.)

Step 5 In the Interruptible field, do one of the following:

Click the Yes radio button to allow an external event, such as a caller hanging up, to interrupt the step.

Click the No radio button to require the step to complete before any other process can execute.

Step 6 Click Apply.

Continue with "Prompt" to configure the Prompt tab of the Menu customizer window.


Prompt

Use the Prompt tab of the Menu customizer window, as shown in Figure 85, to choose the prompt to be played back and to set the Barge In and Continue on Prompt Errors options.

Figure 85 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.


Follow these steps to configure the Prompt options for the Menu step:


Step 1 From the Prompt drop-down menu, choose the prompt to be played.

Step 2 In the Barge In field, do one of the following:

Click the Yes radio button to allow the caller to interrupt the prompt.

Click the No radio button to require the prompt to complete playback before the caller can respond.

Step 3 In the Continue on Prompt Errors field, do one of the following:

Click the Yes radio button to instruct the step to continue with the next prompt in the list if an error occurs in a prompt.

Click the No radio button to cause an exception to result.

Step 4 Click Apply.

Continue with "Input" to configure the Input tab of the Menu customizer window.


Input

Use the Input tab of the Menu customizer window, as shown in Figure 86, to set the timeout setting, maximum number of retries, and Flush Input Buffer options.

Figure 86 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.

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.


Follow these steps to configure the Input fields of the Menu customizer window:


Step 1 In the Timeout field, do one of the following:

Enter a value.

From the Timeout drop-down menu, choose the variable that stores the timeout value.

Click the Expression Editor (...) button and enter a number.

Step 2 From the Maximum Retries drop-down menu, choose a number.

Step 3 In the Flush Input Buffer field, do one of the following:

Click the Yes radio button to cause the system to erase previously entered input before capturing new caller input.

Click the No radio button to allow callers to type ahead and to save the input.

Step 4 Click OK.

The Menu customizer window closes. The name of the triggering contact and the name of the prompt variable appear in the Design pane of the Cisco Unity Express Script Editor.


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



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 87, to specify the Result User variable and to set other properties for the Name To User step.

Figure 87 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.

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:


Step 1 From the Contact drop-down menu, choose the variable that triggers the execution of the step.

Step 2 From the Result User drop-down menu, choose the variable that stores the user object representing the user selected.

Step 3 From the Announce When Number of Matches Less Than drop-down menu, choose the number of matches that determine which prompt is played back to the caller.

Step 4 In the Operator field, do one of the following:

Click the Yes radio button to provide the option to connect to an operator.

Click the No radio button to disable this option.

Step 5 In the Interruptible field, do one of the following:

Click the Yes radio button to allow an external event to interrupt the step.

Click the No radio button to require the step to complete before any other process can execute.

Step 6 Click Apply.

Continue with "Prompt" to configure the Prompt tab of the Name To User customizer window.


Prompt

Use the Prompt tab, as shown in Figure 88, 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 88 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.

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.


Follow these step to configure the Prompt fields of the Name To User customizer window:


Step 1 From the Prompt drop-down menu, choose the prompt to be played.

If you choose Customized Prompt, the List of Prompts text field becomes active. In the List of Prompts text field, do one of the following:

Enter a value.

From the List of Prompts drop-down menu, choose a prompt to be played.

Click the Expression Editor (...) button and enter an expression that specifies the prompt to be played.

Step 2 In the Barge In field, do one of the following:

Click the Yes radio button to allow the caller to interrupt the prompt.

Click the No radio button to require the prompt to complete playback before the caller can respond.

Step 3 In the Continue on Prompt Errors field, do one of the following:

Click the Yes radio button to instruct the step to continue with the next prompt in the list if an error occurs in a prompt.

Click the No radio button to cause an exception to result.

Step 4 Click Apply.

Continue with "Input" to configure the Input tab of the Name To User customizer window.


Input

Use the Input tab, as shown in Figure 89, to configure various input properties for the Name To User step.

Figure 89 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.


Follow these steps to configure the Input properties Name To User customizer window:


Step 1 In the Input Length text field, enter a number of digits.

Step 2 From the Terminating Key drop-down menu, choose a terminating key.

Step 3 From the Cancel Key drop-down menu, choose a cancel key.

Step 4 From the Maximum Retries drop-down menu, choose a number.

Step 5 From the Initial Timeout (in sec) drop-down menu, choose a number of seconds.

Step 6 From the Interdigit Timeout (in sec) drop-down menu, choose a number of seconds.

Step 7 In the Flush Input Buffer field, do one of the following:

Click the Yes radio button to cause the system to erase previously entered input before capturing new caller input.

Click the No radio button to allow callers to type ahead and have the input saved.

Step 8 Click OK.

The Name To User customizer window closes. The name of the triggering contact and the name of the result user variable appear in the Design pane of the Cisco Unity Express Script Editor.


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 90, to identify the contact and to set the Interruptible option.

Figure 90 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.

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 contact fields of the Play Prompt step:


Step 1 From the Contact drop-down menu, choose the Contact variable that triggers the execution of the step.

Step 2 In the Interruptible field, do one of the following:

Click the Yes radio button to allow an external event to interrupt the step.

Click the No radio button to require the step to complete before any other process can execute.

Step 3 Click Apply.

Continue with "Prompt" to configure the Prompt tab of the Play Prompt customizer window.


Prompt

Use the Prompt tab of the Play Prompt customizer window, as shown in Figure 91, to specify the prompt to be played back, and to set the Barge In and Continue on Prompt Errors options.

Figure 91 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.


Follow these steps to configure the Prompt properties of the Play Prompt customizer window:


Step 1 From the Prompt drop-down menu, choose the prompt to be played.

Step 2 In the Barge In field, do one of the following:

Click the Yes radio button to allow the caller to interrupt the prompt.

Click the No radio button to require the prompt to complete playback before the caller can respond.

Step 3 In the Continue on Prompt Errors field, do one of the following:

Click the Yes radio button to instruct the step to continue with the next prompt in the list if an error occurs in a prompt.

Click the No radio button to cause an exception to result.

Step 4 Click Apply.

Continue with "Input" to configure the Input tab of the Play Prompt customizer window.


Input

Use the Input tab of the Play Prompt step, as shown in Figure 92, to specify whether or not to erase previously entered input before capturing caller input.

Figure 92 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.


Follow these steps to configure the Input tab of the Play Prompt customizer window:


Step 1 In the Flush Input Buffer field, do one of the following:

Click the Yes radio button to cause the system to erase previously entered input before capturing new caller input,.

Click the No radio button to allow callers to type ahead and have the input saved.

Step 2 Click OK.

The Play Prompt customizer window closes. The name of the triggering contact and the name of the prompt variable appears in the Design pane of the Cisco Unity Express Script Editor.


User Steps

The steps in the User palette of the Cisco Unity Express Script Editor provide designers with a way to retrieve user attributes.

The User palette contains the following steps:

Get User Info

Extension To User

Figure 93 shows the steps in the User Steps palette as they appear in the Palette pane of the Cisco Unity Express Script Editor.

Figure 93 User Palette Steps

Get User Info

Use the Get User Info step, as shown in Figure 94, to make user attributes available to the script.

Figure 94 Get User Info Customizer Window

Table 48 describes the fields of the Get User Info customizer window.

Table 48 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).

Attribute/Variable

Attributes and associated variables of user.


Table 49 describes the attributes that can be retrieved by using the Get User Info step.

Table 49 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.


Follow these steps to configure the fields in the Get User Info customizer window:


Step 1 From the User drop-down menu, choose the User variable that identifies the user for whom you want to get information.

Step 2 In the Attribute/Variable list box, choose the attributes that represent the information you want to get for the user and click Set.

The Get User dialog box appears, as shown in Figure 95.

Figure 95 Get User Dialog Box

Step 3 From the Select Variable drop-down menu, choose the variable that will store the information and
click OK.

The Get User dialog box closes.

Step 4 Click OK.

The Get User Info customizer window closes,. The name of the user variable appears next to the Get User Info step icon in the Design pane of the Cisco Unity Express Script Editor.


Extension To User

Use the Extension To User step as shown in Figure 96 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 object with the matched extension. The user object 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 96 Extension To User Customizer Window

Table 50 describes the fields on the Extension To User window.

Table 50 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.

Result User

Variable that stores the User object that represents the user with the given extension.


Follow these steps to configure the extension and user variables:


Step 1 Click the Extension drop-down menu to select the variable that identifies the extension for which you want to find a user.

Step 2 Click the Result User drop-down menu to select the User variable that will contain the user with the given extension.

Step 3 Click OK..

The Extension To User customizer window closes. The name of the Extension variable appears next to the Extension To User step icon in the Design pane of the Cisco Unity Express Script Editor.


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 97 shows the steps in the Prompt palette as they appear in the Palette pane of the Cisco Unity Express Script Editor.

Figure 97 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 98 shows the customizer window for the Create Conditional Prompt step.

Figure 98 Create Conditional Prompt Customizer Window

Table 51 describes the fields of the Create Conditional Prompt customizer window.

Table 51 Create Conditional Prompt Fields 

Field
Description

Output Prompt

Variable that stores the prompt that results from the Create Conditional Prompt step.

Condition Expression

Boolean expression the script uses to decide which one of the two prompts to play back.

Prompt If True

Prompt to be used if the expression is True.

Prompt If False

Prompt to be used if the expression is False.


Follow these steps to configure a conditional prompt in the Create Conditional Prompt customizer window:


Step 1 From the Output Prompt drop-down menu, choose the variable that stores the prompt that results from this step.

Step 2 In the Condition Expression field, do one of the following:

Enter a value.

From the Condition Expression drop-down menu, choose the variable that stores the expression to be used to evaluate the condition.

Click the Expression Editor (...) button and enter the expression to be used to evaluate the condition.

Step 3 In the Prompt If True field, do one of the following:

Enter a value.

From the Prompt If True drop-down menu, choose the variable that stores the prompt to be used if the expression evaluates to True.

Click the Expression Editor (...) button and enter an expression that specifies the prompt to be used if the expression evaluates to True.

Step 4 In the Prompt If False field, do one of the following:

Enter a value.

From the Prompt If False drop-down menu, choose the variable that stores the prompt to be used if the expression evaluates to False.

Click the Expression Editor (...) button and enter an expression that specifies the prompt to be used if the expression evaluates to False.

Step 5 Click OK.

The Create Conditional Prompt customizer window closes. The name of the conditional prompt appears next to the Create Conditional Prompt step icon in the Design pane of the Cisco Unity Express Script Editor.


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 99 shows the customizer window for the Create Container Prompt step.

Figure 99 Create Container Prompt Customizer Window

Table 52 describes the properties of the Create Container Prompt customizer window.

Table 52 Create Container Prompt Fields 

Property
Description

Output Prompt

Script variable that holds the combined prompt generated by the Create Container Prompt step.

Prompt Container Type

Concatenated, escalating, or random prompt.

Prompts

List of prompts to be combined into the container prompt.

Override Language (optional)

This option is for future use.


Creating a Concatenated Prompt

Follow these steps to configure the Create Container Prompt customizer window to create a concatenated prompt:


Step 1 From the Output Prompt drop-down menu, choose the variable that stores the container prompt that results from this step.

Step 2 From the Prompt Container drop-down menu, choose Concatenated.

Step 3 To add an individual prompt to be concatenated, click Add.

The Add Prompt dialog box appears, as shown in Figure 100.

Figure 100 Add Prompt Dialog Box

Step 4 In the Prompt field, do one of the following:

Enter a value.

From the Prompt drop-down menu, choose the variable that stores the prompt you want to add.

Click the Expression Editor (...) button and enter an expression that specifies the prompt you want to add.

Step 5 Click OK.

The Add Prompt dialog box closes. The name of the prompt variable appears in the Prompts list box in the Create Container Prompt customizer window.

Step 6 Repeat Step 3 to Step 5 as needed to add prompts until all the prompts that you want to concatenate appear in the Prompts list box.

Step 7 To determine the order of playback of the prompts in the concatenated prompt, select an individual prompt and click the Up button to move it up a level or the Down button to move it down a level.

Step 8 Repeat Step 7 as needed until the prompts are listed in the playback order you want.

(To modify a prompt that is contained in the concatenated prompt, select the prompt in the Prompts list box and click Modify. The Modify Prompt dialog box appears, which contains the same field as the Add Prompt dialog box and is configured in the same way.)

Step 9 Click OK.

The Create Container Prompt customizer window closes. The name of the concatenated prompt appears next to the Create Container Prompt step icon in the Design pane of the Cisco Unity Express Script Editor.


Creating an Escalating Prompt

Follow these steps to use the Create Container Prompt customizer window to create an escalating prompt:


Step 1 From the Output Prompt drop-down menu, choose the variable that stores the container prompt that results from this step.

Step 2 From the Prompt Container drop-down menu, choose Escalating.

Step 3 To add an individual prompt to be included in the escalating prompt, click Add.

The Add Prompt dialog box appears, as shown in Figure 100.

Step 4 In the Prompt field, do one of the following:

Enter a value.

From the Prompt drop-down menu, choose the variable that stores the prompt you want to add.

Click the Expression Editor (...) button and enter an expression that specifies the prompt you want to add.

Step 5 Click OK.

The Add Prompt dialog box closes. The name of the prompt variable appears in the Prompts list of the Create Container Prompt customizer window.

Step 6 Repeat Step 3 to Step 5 as needed to add prompts until all the prompts that you want to include in the escalating prompt appear in the Prompts list box.

Step 7 To determine the order of playback of the prompts in the escalating prompt, select an individual prompt and click Up to move it up a level or click Down to move it down a level.

Step 8 Repeat Step 7 as needed until the prompts in the escalating prompt are listed in the playback order you want.

(To modify a prompt that is contained in the escalating prompt, select the prompt in the Prompts list box, and then click Modify. The Modify Prompt dialog box appears, which contains the same property as the Add Prompt dialog box and is configured in the same way.)

Step 9 Click OK.

The Create Container Prompt customizer window closes. The name of the escalating prompt appears next to the Create Container Prompt step icon in the Design pane of the Cisco Unity Express Script Editor.


Creating a Random Prompt

Follow these steps to use the Create Container Prompt customizer window to create a random prompt:


Step 1 From the Output Prompt drop-down menu, choose the variable that stores the container prompt that results from this step.

Step 2 From the Prompt Container drop-down menu, choose Random.

When you choose the random prompt, Prompt and Weight columns appear in the Prompts list box, as shown in Figure 101.

Figure 101 Create Container Prompt Customizer Window—Random Prompt

Step 3 To add an individual prompt to be included in a random sequence, click Add.

The Add Prompt dialog box appears, as shown in Figure 102.

Figure 102 Add Prompt Dialog Box

Step 4 In the Prompt field, do one of the following:

Enter a value.

From the Prompt drop-down menu, choose the variable that stores the prompt you want to add.

Click the Expression Editor (...) button and enter an expression that specifies the prompt you want to add.

Step 5 From the Weight drop-down menu, choose a number to represent the priority of the prompt in the sequence.

Step 6 Click OK.

The Add Prompt dialog box closes. The name and weight of the prompt variable appears in the Prompts list of the Create Container Prompt customizer window.

Step 7 Repeat Step 3 to Step 6 as needed to add prompts until all the prompts that you want to play randomly appear in the Prompts list box.

Step 8 To make an individual prompt play more or less often than other prompts, select it and click Up to move it up a level in priority or click Down to move it down a level in priority.

Step 9 Repeat Step 8 as needed until the prompts in the random prompt are listed in the priority order you want.


Note To modify a prompt that is contained in the random prompt, select the prompt in the Prompts list box and click Modify. The Modify Prompt dialog box appears, which contains the same property as the Add Prompt dialog box and is configured in the same way.


Step 10 Click OK.

The Create Container Prompt customizer window closes. The name of the random prompt appears next to the Create Container Prompt step icon in the Design pane of the Cisco Unity Express Script Editor.


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 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 103 shows the customizer window for the Create Generated Prompt step.

Figure 103 Create Generated Prompt Customizer Window

Table 53 describes the fields of the Create Generated Prompt customizer window.

Table 53 Create Generated Prompt Fields 

Field
Description

Output Prompt

Prompt script variable in which the prompt object resulting from this step is stored.

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.

Override Language (optional)

This option is for future use.


Follow these steps to use the Create Generated Prompt customizer window to generate prompt phrases:


Step 1 From the Output Prompt drop-down menu, choose the variable that stores the prompt that results from this step.

Step 2 From the Generator drop-down menu, choose the generator type for the prompt.

Step 3 In the Constructor Type drop-down menu, choose the constructor type for the prompt.

When you choose the constructor type, the constructors automatically appear in the Argument column of the Argument list box.

Step 4 To define a value for an item in the Argument Information list box, select and then double-click the item.

The Define Character dialog box appears, as shown in Figure 104.

Figure 104 Define Character Dialog Box

Step 5 In the Enter Variable Expression field, do one of the following:

Enter a value.

From the Enter Variable Expression drop-down menu, choose the variable that holds the value for the argument.

Click the Expression Editor (...) button and enter any valid expression.

Step 6 Click OK.

The Define Character dialog box closes. The name of the argument and its value appear in the Argument Information list box of the Create Generated Prompt customizer window.

Step 7 Repeat Step 3 to Step 6 as needed to define each argument in the Argument Information list box.

You must define all arguments listed with some value or define them as null; you cannot leave them blank.

Step 8 Click OK.

The Create Generated Prompt customizer window closes. The name of the generated prompt appears next to the Create Generated Prompt step icon in the Design pane of the Cisco Unity Express Script Editor.


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)