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