* Pause

Overview

The Pause object enables the caller to suspend an application at any point during the call. When processing a Pause object the regular dialog flow will be temporarily paused and the caller can say a configurable wake-up command (e.g. Continue) to return to the original dialog flow. The last processed object in which the pause was initiated will be repeated.

The Pause object is particularly useful for applications used, for example, in the car, where situations may arise that require the caller’s full attention, or if the caller needs to search for a number or PIN to log into an application. The application can then be paused by the caller and later re-activated when the caller is ready to proceed.

Due to its nature the Pause object is only motivated for the voice and video channel; in the text and Web channel it will not be processed. For further information on channels refer to Chapter 10 – How to Support Multiple Phone Channels in the Design Guide.

The Object Definition below covers the configuration of the Pause object with VoiceObjects Desktop. For information on how to define this object type using VoiceObjectsXML refer to the VoiceObjectsXML Definition paragraph.

The Pause object belongs to the object category Actions.

Dialog Flow Scenario

The first dialog flow example presents a pause dialog within a voice portal in which the caller activates a Pause object through a hyperlink while listening to the introduction of the main menu. An intermittent beep tone followed by three seconds of silence is played back during the pauseto signal to the caller that the call is still active. After the caller says the wake-up command wake-up the dialog continues with the main menu prompt.


Object – Caller

Dialog Flow

[  Music jingle ]
 [  Hello and welcome to the Voice Portal.]

Main menu! You have the following options …

*
Caller

Pause

The dialog will be paused now. You can say
 wake-up or you can press any key on your phone
 to continue the application.

[  Beep ]  [  Silence of 3 seconds ]
[
 Beep ]  [  Silence of 3 seconds ]

[
 Beep ]  [  Silence of 3 seconds ]

*
Caller

Wake-up

Main menu! You have the following options …

 

The second dialog flow example is slightly different in that the repeated Output during the pause plays a music track followed by a TTS prompt. This provides the caller with a hint on how to end the Pause object and return to the original dialog flow. Also, a different wake-up command is used here (proceed instead of wake-up).


Object – Caller

Dialog Flow

[  Music jingle ]
 [  Hello and welcome to the Voice Portal.]

Main menu! You have the following options …

*
Caller

Pause

The dialog will be paused now. You can say
”proceed” to continue the application.

[  Music track ] Just say “proceed” to continue.
[
 Music track ] Just say “proceed” to continue.

[
 Music track ] Just say “proceed” to continue.

*
Caller

Proceed

You’re back in the main menu!
You can choose between …

Object Definition

The Definition of the Pause object provides the following sections:

·          Welcome Message
To define a welcome message that notifies the caller that the pause has been activated.

·          Looped Pause Message
To define an output to be played during the pause. It signals to the caller that the call is still active.

·          Final Pause Message
To define an output to be played after the maximum number of reiterations (if limited) has been reached and before the redirect object is processed (if defined).

·          Wake Up Grammar
To specify the utterances which will terminate the pause.

·          Return Message
To define a return output to notify the caller that the application is being resumed.

·          Options
To configure processing options.


 

For information regarding additional object configuration refer to Pre-/Postprocessing, Event Handling, Tuning, and Properties in this Object Reference.

Welcome Message

In the Welcome Message section, optional output can be defined that is played when the Pause object has been activated. It is typically used to tell the caller which command will terminate the pause and return to the original dialog flow.


 

For more details on output definitions refer to the Output object in this Object Reference.

Looped Pause Message

In the Looped Pause Message section, optional pause output can be specified that is played repeatedly during the processing of the Pause object, to signal to the caller that the call is still active and is listening for a specified wake up command.


 

For more details on output definitions refer to the Output object in this Object Reference.

Within the pause output a prerecorded prompt, a music track, a beep tone, or a TTS message can be played. In many cases it is useful to add a Silence object to the output definition (see the first dialog flow scenario above with the beep tone signal).

Another way of producing a silence phase at the end of each pause output iteration is to set the speech timeout parameter of the media platform to the desired interval (e.g. 5 seconds) in the Tuning definition. Note, that if no explicit timeout property is set in the application, the default (typically 3 seconds) is taken.

Final Pause Message

If the number of reiterations is limited (see Options), the final pause message, if defined, is played after the maximum number of reiterations has been reached. If a redirect object is defined (see Options), this becomes the next object to be processed. If it is not defined, the dialog proceeds with the next object in the dialog flow.


 

For more details on output definitions refer to the Output object in this Object Reference.

Wake Up Grammar

The wake up grammar defines the utterances the caller can say and/or the DTMF keys the caller can press to reactivate the application. This grammar does not need to fill a slot (though it may).


           

 

For more details on grammar definition refer to the Grammar object in this Object Reference.

i8  Note: If standard navigation is defined for the command skip, the application can also be resumed by using this command. For more information on standard navigation, see Navigation in this Object Reference.

Return Message

In the Return Message section, optional return output can be specified that is played before the pause ends and the dialog flow continues, starting with the next object in the dialog flow.


 

For more details on output definitions refer to the Output object in this Object Reference.

Options

In the Options section, the Reiterations field is used to limit the number of iterations of the looped pause message. The default value is unlimited, in which case the dialog will not resume until the caller explicitly uses the wake up command. Setting it to a number [n] means that, if the caller says nothing, the application will stay in the pause for at most [n] iterations, and then wake up automatically.


 

The limitation can be provided as a constant value or assigned during call time through an integer value of a Variable, Expression, Script, or Layer object.

If a Redirect object is defined, this becomes the object that is processed after reaching the maximum number of reiterations. Note, that the server does not return to the original dialog flow if a redirect object is defined. If the dialog is supposed to continue normally after processing the redirect object, you need to make sure that the necessary objects are part of the redirect object, which in this case would most likely be a Sequence object.

@8  Tip: The duration of one iteration approximately equals prompt duration + speech timeout. Use this formula to calculate the number of iterations necessary in case you do not want the caller to remain inside the Pause object for more than a certain period of time. Note, though, that a caller barge-in (which is not the wake up command) interrupts the looped pause message, shortening the length of the current iteration. This can be avoided by setting the tuning parameter Barge-in Type to hotword (if supported by the media platform).

The Standby timeout field is used to specify the maximum time the caller may remain in the pause before the dialog session will be removed. Instead of selecting one of the values from the drop-down list, it is possible to type in a custom value. This value is interpreted as seconds, e.g. for a custom timeout of 5.5 minutes, type in 330. The default setting Default indicates that this timeout is defined within the Service object. For more details on services, refer to Configuring Servers and Services in Chapter 2 – in the Deployment Guide.

i8  Note: The standby timeout does not end the call on the media platform. It only finishes the current dialog session on the server. If the caller activates the wake up command after this timeout has elapsed, it will not be possible to return to the dialog but an error message is played instead, generated by VoiceObjects Server.

Record utterances specifies whether utterances made in this object are to be recorded (True) or not (False), given that utterance recording is switched on for this session. Always indicates that utterances in this object are always recorded when utterance recording is enabled on the service, regardless of statistical filtering. By default the value is Default, indicating that the current value of the corresponding dialog context setting RECORDUTTERANCES is used.

Recording scope defines the scope in which recordings will be made. If set to Recognition, only those utterances will be recorded that were successfully recognized (including the activation of hyperlinks). If set to No Match, only those utterances will be recorded that triggered a No Match event. If set to All, any recording will be stored. If set to Default, the current value of the corresponding dialog context setting RECORDINGSCOPE is used. By default the value is Default.

Due to the nature of recordings, the feature of recording utterances is only available in the voice and video channel. For more information on this refer to Chapter 6 – Recording of Utterances in the Deployment Guide.

i8  Note: There are specific limitations within the Pause object when using it within a Transfer object performing a bridged call transfer or within a Recording object performing a recording session. Neither of these sessions can be paused and then continued at a later point in time. When activating a pause during an active bridged transfer or an active recording session via a speech or DTMF triggered Hyperlink object, the hyperlink activation will terminate the transfer or the recording session and the dialog flow will continue with the processing of the Pause object. Nevertheless when the pause is finished and the original dialog flow continues, the corresponding Transfer or Recording object will restart.

Not all media platforms certified by VoiceObjects support the activation of a hyperlink during a bridged call transfer or a recording session. In this case the pausing of the dialog during these sessions is not possible.

VoiceObjectsXML Definition

The Pause object is represented by the VoiceObjectsXML element <pause>. It has five attributes and eight groups of children.

In addition, the element has the standard attributes described in the XDK Guide.

Pause

Attributes

·          iterations
Defines the maximum number of iterations spent within the pause. An integer value >= 0. The default is 0, which indicates an unlimited number of iterations.

·          redirectObject
Defines an object (through a reference) that is processed when the maximum number of iterations is exceeded and the caller did not exit the pause via a wake-up command.

·          standbyTimeout
Defines the standby timeout for the Pause object. Either default or a numerical value that is interpreted as seconds. If not specified, defaults to default.
May be static text or a reference to an Expression, Script, or Variable object.

·          recordUtterances
Defines whether to use utterance recording. One of true, false, always, default. If not specified, defaults to default.

·          recordingScope
Defines the scope for utterance recording. One of all, noMatch, recognition, default. If not specified, defaults to default.

 

Children

·          <expression usage=”precondition”> or
<variable usage=”precondition”> or
<collection usage=”precondition”> or
<script usage=”precondition”>
Defines the precondition for the Pause object.

·          <sequence usage=”preprocessing”>
Defines the preprocessing sequence for the Pause object.

·          <output usage=”welcome”>
Defines the welcome message.

·          <output usage=”pause”>
Defines the looped pause message.

·          <output usage=”final”>
Defines the final pause message.

·          <output usage=”return”>
Defines the return message.

·          <grammar> [required]
Defines the wake-up grammar.

·          <eventHandling>
Defines the event handling for the Pause object.

·          <tuning>
Defines the tuning settings for the Pause object.

·          <sequence usage=”postprocessing”>
Defines the postprocessing sequence for the Pause object.

 

Example

<pause>

  <output usage=”welcome”>

    <outputItem><text>The application has been paused.</text></outputItem>

  </output>

  <output usage=”pause”>

    <outputItem><audio link=”#Pause beep”/></outputItem>

  </output>

  <grammar>

    <grammarItem>

      <grammarDefinition mode=”voice” ttg=”true”>

        continue

      </grammarDefinition>

    </grammarItem>

  </grammar>

</pause>

Object Interoperability

The following table contains all object types that can reference a Pause object:


Icon

Object Name

Use Case Example

Sequence

A Pause object can be used within a Sequence object to automatically pause the dialog at a certain point.

Menu

A Pause object can be initiated within a Menu object.

If

A Pause object can be either the THEN or the ELSE item of an If object.

Case

A Pause object can be used in any WHEN item of a Case object to pause the dialog under a certain condition.

Goto

The Pause object can be referenced within a Goto object.

Hyperlink

A Pause object can be used as the target of a Hyperlink object. This is the most common use case. A Pause object gets activated on demand by the caller through a voice command (see dialog flow scenario above).

Object Naming Conventions

In order to leverage the capabilities of the integrated documentation of VoiceObjects it is important to provide intuitive and self-explanatory object names and descriptions.

The name of a Pause object should indicate the way this pause is used. The table below lists two examples:


Name

Description

* Application pause

Temporarily pauses the call; activated via a Hyperlink object

* Optional Pause at start

Call pause before the application starts.