Asr

Allows you to capture a value provided by a contact and store it in a script variable. This variable can be used for further script routing and other purposes.

Asr is the most flexible of the ASRClosed Allows contacts to respond to recorded voice prompts by speaking, pressing keys on their phone, or a combination of both. actions and can be used instead of the more specialized actions when additional flexibility is needed. However, this action requires you to provide your own phrase list or grammar file whereas the special purpose actions typically include a built-in file for processing and recognizing the caller's utterances.

ASR actions appear only if ASR is enabled for your business unit. ASR is an optional feature. Ask your account manager for more information.

Supported Script Types

Phone

Properties

Property Details
Sequence

Define the prompt that the action plays. Use the correct formatting for each segment of the prompt. For example, to specify an audio file, enter the name of the file in double quotes, such as "silence.wav". You can enter text that the text-to-speech service will speak. For example: "%Your account balance is". You can also include variables, such as: "${accountBalance}". If you use variables, ensure that your script passes the variable value to the action containing the prompt. You can combine multiple segments in the Sequence field. For example: 

"%Your account balance is""silence.wav" "${accountBalance}"

You can double-click the action icon to use the Prompt Manager.

TTS has a 300 character limit.

Phrase

Use this to property to document the way the prompt should read. This property is not used by the script. Because some prompts can be complex and contain multiple segments, it can be helpful to include the text written without the formatting required by the Sequence field.

HighConfidence When the ASR engine recognizes a phrase spoken by a caller, it also returns a percentage that indicates how confident it is in a voice recognition match. The script compares this recognition percentage to the value in this property, and if the percentage is equal or greater to the value, the OnHighConfidence branch is taken. Enter a whole number between the MinConfidence value and 100.

The default value is 70.

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. Enter a whole number between 1 and the HighConfidence value.

The default value is 50.

TimeoutSeconds

Determines how long the IVRClosed 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 recognized 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. Note that if the action has an OnDTMF branch, you must use a Capture action to pull a variable value out of the buffer (DTMF values are automatically stored in a buffer).
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 DTMFClosed Signaling tones that 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.

This action has an OnDTMF branch, therefore any DTMF entries by a contact will result in taking this branch. Any variables resulting from the DTMF selection will not be passed along this branch. Therefore, you must use a Capture action on the OnDTMF branch to capture and pass variables from the DTMF input.

ClearDigits 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.
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: PhraseList or GrammarFile. The default value is PhraseList.
PhraseList Allows you to build a phrase list for the action. Click the ellipsis and type each phrase on a separate line in the String Editor window.
GrammarFile

Allows you to provide the path to the grammar fileClosed Encoded 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 . You can create custom grammar files using Studio actions or third-party tools. For more information, talk to your account manager.

Branches

Branch Details
Default Path 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.
OnHighConfidence Path taken if confidence levels are above the value set in the High Confidence property field. You can enter a custom value between 1 and 100.
OnMedConfidence Branch taken if the recognition percentage returned by the ASR engine is between the HighConfidence value and the MinConfidence value. This branch is often used to allow a caller to confirm the information provided using an Asryesno action.
OnNoConfidence Path taken if the recognition percentage returned by the ASR engine is less than the MinConfidence value.
OnTimeout Path taken if there is no response for the number of seconds specified.
OnError Path taken when there is an unexpected problem (for example, poor connectivity, syntax errors, and so forth). The _ERR variable should be populated with a condensed explanation of the problem.
OnDTMF Path taken if the DetectDTMF property is set to TRUE and DTMF digits are present in the buffer.

Tips & Tricks

  • You can pass the languageLocale variable from the Voiceparams action, which sets the language that the action will detect.
  • In pronouncing numbers, "negative" is hard-coded.

  • In pronouncing numbers, "point" is hard-coded.

  • See the ASR overview for more information.
  • DTMF tones are stored in a buffer. If the action contains an OnDTMF or OnDigits branch, the DTMF value must be pulled out of the buffer with a Capture action.
  • If you want to capture multiple DTMF presses, the action immediately takes the OnDTMF branch when the first DTMF is pressed (including * and #). In this instance, you must capture multiple presses with a Capture action.
  • If there are any DMTF present in the buffer and ClearDigits is not set to True, the OnDTMF branch would immediately be taken and require a Capture action.