ASRMENU

Adds a menu of choices from which the user can select while also playing a message. This action is typically used to allow the contact to provide information that directs the way in which the interaction is handled. For example, your ASRMENU action might say: To speak to an account manager, say "Sales". For technical assistance, say "Support".. In this case, the ASRMENU action would lead to different branches depending on the information provided by the contact.

ASRMENU and MENU are very similar in their purpose and use. ASRMENU allows the caller to verbally respond to menu options in order to direct the call. It also stores the utterance in a script variable which can be used for other purposes. The ASR action can alternatively be used to create a custom, ASRAutomated Speech Recognition; allows contacts to respond to recorded voice prompts by speaking, pressing keys on their phone, or a combination of both.-driven menu. However, ASR does not allow for recognition matching based on branch variables, and would need to be followed by CASE (or a similar action) to define the branches for the menu options.

Messages used in an ASRMENU action can be pre-recorded audio files, text-to-speech (TTS) renditions of values provided in the script, or a combination of these.

ASR actions appear only in the Framework tab, and only if ASR is enabled for your . ASR is an optional feature. Ask your account manager for more information.

Supported Script Types

Phone

Properties

Sequence
Determines the order in which audio files (whether pre-recorded or TTS) are played by the action. You can enter values directly in the field, or you can double-click the action icon to use the prompt manager (also known as the Play Properties dialog).
Phrase
Defines the content of each file in the sequence. For example, a single pre-recorded file could be used for a "Your call may be recorded..." message. A more complex message might include a pre-recorded file followed by a variable in the Play Numbers format, a file produced using TTS, a variable in the Play Money format, another recorded file, and finally a variable in the Play Date format. For a simple value, you can enter the information directly in the field. For more complex values, values that use TTS, or both, double-click the action to use the prompt manager.
MinConfidence
Defines the minimum acceptable confidence percentage for a recognition match. If the recognition percentage is between this value and the HighConfidence value, the OnMedConfidence branch is taken, which typically lets the contact confirm the ASR understanding of an utterance. If the recognition percentage is less than this value, the OnNoConfidence branch is taken. The default value is 60 (that is, 60%). To change it, enter a whole number between 1 and the HighConfidence value.
TimeoutSeconds

Determines how long the IVRInteractive Voice Response; an automated phone menu that allows callers to interact through voice commands, key inputs, or both, to obtain information, route an inbound voice call, or both. waits for input (either spoken or by key press) before it takes the OnTimeout branch. This is the threshold for complete silence on the line. The default value is 10 (seconds). To change it, enter a whole number.

The timer starts only when the prompt is completely finished. However, the system has a built-in limit of two minutes (120 seconds) that includes the duration of the prompt. If this limit is reached during an action, any active prompts are aborted and the OnError branch is taken. For this reason, you should know the duration of your prompts and set a value for this field that ensures the action is active for less than two minutes.

ResultVarName

Determines the name of the variable that holds the recognize result of the contact's spoken or manually entered input. For example, if the prompt asked the contact to say or enter their date of birth, the result would be stored in the variable defined by this property. The default value is the name of the action + "Result" (for example, ASRDIGITSResult).

If the contact provides spoken input and the ASR engine fails to find a match, this variable is not populated.

ConfidenceVarName
Determines the name of the variable that holds the confidence percentage returned by the ASR engine. The default value is ASRConf.
DetectDTMF

Allows you to configure an IVR script to handle both spoken and manually-entered DTMFDual-Tone Multi-Frequency; DTMF signaling tones are generated when a user presses or taps a key on their telephone keypad. input. If the value is True, both voice and DTMF input is accepted. If the contact presses a DTMF digit, the script immediately stops any in-progress prompt sequence and takes the OnDTMF branch. No spoken utterances are considered for the duration of the action.

If the value is False, DTMF input is not recognized even if the contact presses a key. Although any DTMF digits pressed during the action are saved in the DTMF buffer, the action takes the NoConfidence branch.

DTMF tones cannot be stored in the variable created by an ASR action. If you set DetectDTMF to True, you must include a CAPTURE action in the OnDTMF branch to establish a variable for the DTMF input.

Clear Digits
When a contact presses a key on their telephone keypad, the generated DTMF tone is stored in a buffer. When the ClearDigits property is set to True (the default value), that buffer is cleared when the action begins. Otherwise, the action would immediately detect a DTMF tone and invoke the OnDigit or OnDTMF branch even if the key press was associated with an earlier action.
InterDigitTimeout
The number of seconds the system waits between each press of the keypad buttons (or between each spoken digit in ASRAutomated Speech Recognition; allows contacts to respond to recorded voice prompts by speaking, pressing keys on their phone, or a combination of both.-enabled menus). Once the user begins providing input, this value takes precedence over the Timeout value.
ContentType
Specifies how the ASR engine should identify utterances provided by callers during this action. The ASR engine compares the caller's utterance to the values in the specified content type. If a match is detected, the engine returns the match and a percentage value indicating its confidence in the accuracy of the match. Choose one of the following from the drop-down:
  • BranchVariables —allows you to define use variables defined in your custom branches as values for speech recognition. For more information, see Custom Cases.
  • GrammarFile - Allows you to provide the path to a grammar fileEncoded file containing a set of phrases a caller might say in response to an IVR prompt. that is used for speech recognition, and that defines the variable values.

    Grammar files must be properly formatted and stored in your platform files (in platform, click AdminFolders & FilesBrowse Files). You can create custom grammar files using Studio actions or third-party tools. For more information, talk to your account manager.

    When you use a grammar file, the ASRMenuResult variable is set to the word in the file. You would then use CASE (or a similar action) to process the value in this variable and route the contact to the proper branch.

GrammarFile
Allows you to provide the path to the grammar fileEncoded file containing a set of phrases a caller might say in response to an IVR prompt. specified in the ContentType property. Grammar files must be properly formatted and stored in your platform files (in platform, click AdminFolders & FilesBrowse Files). You can create custom grammar files using Studio actions or third-party tools. For more information, talk to your account manager.
TermDigit
Allows you to specify a way for the contact to indicate they are done providing information by entering a terminator digit. The most common value is # (that is, the caller presses the pound key on their phone). By default, the TermDigit is included as one of the digits received and stored in the ASRDIGITSResult variable. To automatically strip this value, append a dash (-) in this field, (for example, to use the pound sign and strip it from the stored results, enter #-).
MaxDigits
The maximum number of digits that a user can provide for the action; for example, if the prompt requests the last four digits of a person's Social Security number, set this value to 4. The default value is 6.

When the MaxDigits value is reached, the script continues to execute. Therefore, if the prompt calls for a terminator (such as the pound sign, or #), you must account for it in this value. For example, if the recorded menu message asks for the last four digits of the Social Security number "followed by the pound sign", set the value to 5.

Branches

Default
Branch taken unless the script meets a condition that requires it to take one of the other branches. It is also taken if the other branches are not defined.

When ContentType property is set to GrammarFile, the Default branch is also triggered if the caller says something recognized by the grammar file, but there is no branch set up for that word or phrase. For example, you may have a grammar file that recognizes part numbers, plus the commands “help” and “agent”. Using ASRMENU, you can set up your script with branches for “help” and “agent” that put the caller in queue for an agent. But when the caller says any part number, the ASRMENU action can follow the Default branch and go to a different area in your script.

OnTerminator
Branch taken when the caller provides the value specified in the TermDigit property.
OnMaxDigits
Branch taken when the caller's input reaches the MaxDigits value.
OnNoConfidence
Branch taken if the recognition percentage returned by the ASR engine is less that the MinConfidence value.
OnTimeout
Branch taken if there is silence on the line for the number of seconds specified in the TimeoutSeconds property.
OnError
Branch taken when there is an unexpected problem with the ASR engine (for example, poor connectivity, missing grammar files, syntax errors in the grammar, and so forth). The _ERR variable should be populated with a condensed explanation of the problem.
OnInterDigitTimeout
Branch taken when the time specified in the InterDigitTimeout property is exceeded during the caller's response to a prompt.
Custom Cases

Allows you to set up custom branches for the choices in your action, and optionally establish branch variables for speech recognition, by using the collection editor dialog:

  1. Drag the next action for each branch you plan to create onto your canvas.
  2. View the ASRMENU properties by right-clicking the action or by left-clicking the action and then clicking the Properties tab.
  3. Click the CustomCases ellipsis to open the collection editor.
  4. For Condition, type the DTMFDual-Tone Multi-Frequency; DTMF signaling tones are generated when a user presses or taps a key on their telephone keypad. or spoken value that should trigger the branch. In the script example described later in this topic, your prompt might say, "For customer service, say service". You would therefore type service in the Condition field. If your prompt said, "For customer service, press 2 or say service", you would need to create separate entries for the DTMF value of 2 and the utterance "service".
  5. For Destination, select the next action in the branch from the drop-down of actions in your script.
  6. Click OK.
  7. Repeat the last three steps for each branch you need to create.

When you are finished creating custom branches, the CustomCases display should look something like this:

Script Example

ASRMenu provides an easy way to create an ASR-driven menu system. It uses common branches such as OnNoConfidence and OnTimeout, but allows the user to specify their own branches for specific phrases. For example:

In this script, the ASRMENU action uses the CustomCases branch to route calls based on three different possible utterances by the caller: Sales, Service, or Repeat. These values are defined in the branch and used to recognize the caller's utterance.