Jump to: navigation, search

Dialog Interface

Overview

The dialog interface defines the functionality that allows the orchestration logic to do the following:

  • Run a particular dialog application (VXML, HTML, and so on) on a specific interaction and by a specific resource/device.
  • Collect the results of the dialog application that was run.

A dialog application represents the logic and presentation forms needed by the resources to have a media-specific conversation with a customer (for example, voice script, agent application (CRM, custom, and so on)). Dialog applications drive the behavior of resources in interacting with customers. The dialog application *always* operates on resources/devices. The actual presentation or communication (audio or visual) of the dialog application is media channel-specific. These dialog applications are actually communicated through the associated interactions and the resource's media device. These dialog applications drive the communication of the resources with the customer. This communication can be done directly by the resource itself, for example, by way of an IVR or a website. Or it can be done indirectly through a proxy, for example, the resource is the system's representation of the agent, the dialog application is the agent application, and the proxy is the actual agent. In this last case, the agent reads information from the agent application to the customer, collects information from the customer, and puts it into the agent application. The following are the types of dialog applications:

  • Voice Script (VXML)  - Directly - Voice interactions
  • Agent Application (CRM, custom, agent script, and so on) - Indirectly - Can be used with any type of interaction, because it is indirectly communicated to the customer via a human business resource
  • Web Application - Directly - Web interactions
  • Legacy voice applications - Voice interactions
  • Legacy voice treatments - Voice interactions

The granularity of a dialog application depends on how much interaction is needed with the orchestration logic layers. In some cases, the orchestration logic can actually be part of a dialog application. .Treatments are a specific type of dialog application. They are voice interaction related dialogs that are used to communicate with the customer while the orchestration logic is trying to find a resource or some other processing to help the customer (that is, while the customer is queued waiting). There will be a set of treatment-specific elements to cover this specific functionality. The treatment actions or elements can be used in combination with elements from the Queue functional module interface.

Note: If <dialog> actions are used to process voice calls, Genesys recommends that you not mix <dialog> actions, executed via URS (no “device” attribute specified) and directly (with “device” attribute specified) within SCXML strategy.

The following is a sequence diagram to show the basic call flow the <start> action element which is generally the same for all the other treatments.

   

Dialog sequence diagram.png

   

Media Resource Addressing

The media resource device addresses that are used in in the dialog action elements must be known to the dialog functional module and must be configured in the Genesys configuration layer. These addresses vary based on the type of media by means of which they communicate with the dialog application. For example, voice interaction related dialog resource device addresses are directory or phone numbers. In an orchestration application, these resource device addresses will be represented in the following formats:

  • String or Resource Object for Voice-related media dialog application with a format the same as the voice interaction FM Action element resource attributes. See  Addressing Resources for details.

Extension Data

As of 8.1.2 when using the Dialog actions, extension data may be provided to influence the operation of the action and is passed using the hints attribute with a property named extensions containing the information that is required to be sent with the request. Also response events both error and normal done events may optionally carry extension data if returned from the device performing the operation. If extension data is available in such events it shall be found in the extensions property of the returned event.

Parameter Elements

We will have parameter elements for the following action elements to be used as input attributes.

  • <collect>
  • <play>
  • <playandcollect>
  • <playandverify>
  • <runtreatments>

<prompts>

This is the top-level element which defines the set of prompts which are to be used under certain conditions associated with the treatment dialog.

Attributes

Name

Required

Type

Default Value

Valid Values

Description

type

false

NMTOKEN

ann

tts, ann, iretry, ifailure, isuccess, itimeout, MSG_type

This specifies the type of condition that these prompts will be used for:

  • ann - This represents a list of normal announcements to be played to the caller.
  • tts - This represents a list of TTS-based announcements to be played to the caller. All <prompt> element children must have the text attribute.
  • iretry - This represents a list of announcements to be played after input verification has failed and the caller is asked to reenter information.
  • ifailure - This represents a list of announcements to be played when the input verification has failed.
  • isuccess - This represents a list of announcements to be played when the input verification is successful.
  • itimeout - This represents a list of announcements to be played when the time expires for collecting the input from the caller.
  • MSG_type - This represents the old MSG* user data key/value pairs that could be used for the <play> and <playandcollect> actions in place of the tts and ann prompt types. When the type attribute is set to this value, there can only be one child <prompt> element.

Children

  • <prompt> - Occurs 1 to 10 times. Each instance defines a given announcement to be played to the caller.

<prompt>

This defines a given announcement to play to a caller.

Attributes

Name

Required

Type

Default Value

Valid Values

Description

intid

false

value expression

none

Any expression that returns a valid integer

This represents a string ID for the announcement. This is mutually exclusive with the following attributes:

  • number
  • userAnnid
  • text

See SCXML Legal Data Values and Value Expressions for details.

number

false

value expression

none

Any expression that returns a valid string

This represents the number to announce. The first digit defines how the number should be announced:

  • 0 - one at a time (example: 411 will be pronounced as four-one-one)
  • 1 - date (example: the eleventh of April)
  • 2 - time (four eleven a.m.)
  • 3 - phone number (four-one-one)
  • 4 - money (four dollars and eleven cents)
  • 5 - number (four hundred and eleven)

This is mutually exclusive with the following attributes:

  • intid
  • userAnnid
  • text

See SCXML Legal Data Values and Value Expressions for details.

userannid

false

value expression

none

Any expression that returns a valid string

This represents the user announcement ID as returned after a successful recording of a user announcement request. This is mutually exclusive with the following attributes:

  • intid
  • number
  • text

See SCXML Legal Data Values and Value Expressions for details.

userid false value expression none Any expression that returns a valid string Used in conjuction with userannid to provide context in which userannid will be interpreted. This is often then the tenant name. (since 8.1.2)

text

false

value expression

none

Any expression that returns a valid string

This represents the ASCII text to be announced using text-to-speech technology (if supported by the IP equipment). This is mutually exclusive with the following attributes:

  • number
  • userAnnid
  • intid

See SCXML Legal Data Values and Value Expressions for details.

interrupt

false

boolean expression

true

Any expression that returns a boolean (true, false)

This indicates whether the caller can interrupt the announcement. See SCXML Conditional Expressions for details.

Children

None

<input>

This is the top-level element which defines the characteristics needed to collect digits from a caller in association with the treatment dialog.

Attributes

Name

Required

Type

Default Value

Valid Values

Description

max_digits

false

value expression

none

Any expression that returns a valid integer

The maximum number of digits to be collected (up to 31). Note: max_digits may be equal to 0. In this case, no time is spent waiting for caller input digits, and a response is returned indicating 0 digits were collected. See SCXML Legal Data Values and Value Expressions for details.

abort_digits

false

value expression

none

Any expression that returns a valid string

This sequence of up to two keys aborts the digit-collection operation. If this sequence appears, the intelligent peripheral considers this to be a failed digit-collection attempt. See SCXML Legal Data Values and Value Expressions for details.

ignore_digits

false

value expression

none

Any expression that returns a valid string

This sequence of up to two keys is treated as though the keys have not been pressed. See SCXML Legal Data Values and Value Expressions for details.

backspace_digits

false

value expression

none

Any expression that returns a valid string

This sequence of up to two keys causes the previous keystroke to be discarded. See SCXML Legal Data Values and Value Expressions for details.

term_digits

false

value expression

none

Any expression that returns a valid string

This sequence of up to two keys causes all the digits, not including the term_digits, to be returned to the service logic as collected digits. See SCXML Legal Data Values and Value Expressions for details.

reset_digits

false

value expression

none

Any expression that returns a valid string

This sequence of up to two keys causes all the previous keystrokes to be discarded. The digit collection resumes. See SCXML Legal Data Values and Value Expressions for details.

clear

false

boolean

false

true, false

Indicates whether any information that has been input should be cleared before digit collection starts. Not supported in GR-1129-CORE protocol implementation.

start_timeout

false

value expression

none

Any expression that returns a valid integer

The number of seconds the resource should wait for the caller to begin DTMF input. See SCXML Legal Data Values and Value Expressions for details.

digit_timeout

false

value expression

none

Any expression that returns a valid integer

The number of seconds the resource should wait between DTMF digits. See SCXML Legal Data Values and Value Expressions for details.

total_timeout

false

value expression

none

Any expression that returns a valid integer

The total number of seconds the resource should wait for the caller to provide the requested DTMF input See SCXML Legal Data Values and Value Expressions for details.

Children

None

<compare>

This defines what needs to be compared to the digits collected from the caller.

Attributes

Name

Required

Type

Default Value

Valid Values

Description

digits

false

value expression

none

Any expression that returns a valid string

This represents the actual digits the caller input should be compared against. This is mutually exclusive with the following attributes:

  • userid
  • planid

See SCXML Legal Data Values and Value Expressions for details.

userid

false

value expression

none

Any expression that returns a valid string

This represents the user ID string that the resource should use to index into a local table for verification. This is mutually exclusive with the following attributes:

  • digits
  • planid

See SCXML Legal Data Values and Value Expressions for details.

planid

false

value expression

none

Any expression that returns a valid integer

This represents an index into a resource's table of dialing plans. The input is checked for general format compliance with the dialing plan selected by this ID. This is mutually exclusive with the following attributes:

  • digits
  • userid

See SCXML Legal Data Values and Value Expressions for details.

attempts

false

value expression

0

Any expression that returns a valid integer

This indicates the number of attempts the caller is allowed to make before failing the verification. See SCXML Legal Data Values and Value Expressions for details.

timeout false value expression 0 Any expression that returns a valid integer

The total number of seconds the resource should wait for the comparison to be made before timing out See SCXML Legal Data Values and Value Expressions for details.

Children

None

<pause>

This is the top-level element which defines the duration of a pause to be used between dialog treatments for the <runtreatments> element.

Attributes

Name

Required

Type

Default Value

Valid Values

Description

duration

false

value expression

0

Any expression that returns a valid integer

A value expression which returns the duration in seconds that the treatment processing should pause. See SCXML Legal Data Values and Value Expressions for details.

Children

None

Action Elements

<runtreatments>

This action performs a series of treatments in the order specified. This action can only be a child of the Queue FM's <submit> action element.

Attribute Details

None

The following are action limitations:

  • The <stop> action can not be used to cancel this series of treatments.
  • This action can only be a child of the <queue:submit> action.
  • No events will be generated for all treatment actions that are defined.

The following are examples:

<state id="Skills-Based-with-Treatments">
  <datamodel>
    <data id="reqid"/>
  </datamodel>
  <onentry>
    <queue:submit queue="'VQ1'" requestid="_data.reqid" ordertype="'min'"
                  orderstat="'StatExpectedWaitingTime'" timeout="100">
      <queue:targets type="agentgroup" statserver="'www.genesyslab.stserver1.com'">
        <queue:target name="'agtgrp2'"/>
      </queue:targets>
      <dialog:runtreatments>
        <dialog:play language="'English(US)'">
          <dialog:prompts type="ann">
            <dialog:prompt interrupt="true" intid="1111"/>
            <dialog:prompt interrupt="true" number="'2222'"/>
          </dialog:prompts>
        </dialog:play>
        <dialog:collect>
          <dialog:input max_digits="6" abort_digits="'1'" term_digits="'9'"
                        total_timeout="20"/>
        </dialog:collect>
        <dialog:playsound type="'music'" resource="'EMusicDN'" duration="100"/>
      </dialog:runtreatments>
    </queue:submit>
  </onentry>
  <transition event="queue.submit.done" target="next-state"/>
  <transition event="error.queue.submit" target="error-state"/>
</state>

Children

  • <collect> - Occurs 0 to N. This action collects digits from a caller.
  • <play> - Occurs 0 to N. This action plays announcements to a caller.
  • <playandcollect> - Occurs 0 to N. This action plays announcements to a caller and then collects digits from a caller.
  • <playandverify> - Occurs 0 to N. This action plays announcements to a caller, collects digits from the caller and then verifies that the digits are appropriate.
  • <playsound> - Occurs 0 to N. This action plays sounds to a caller.
  • <start> - Occurs 0 to N. This action executes a dialog application with which the caller will interact.
  • <pause> - Occurs 0 to N. This action executes a pause in treatment processing. This is to be used in between the other treatments.
  • <remote> - Occurs 0 to N. This action executes a dialog application with which the caller will interact by way of a new remote resource.
  • <setdialogdefaultdest> - Occurs 0 to 1. This action informs the dialog application what the default destination of the interaction should be if a failure occurs between the orchestration platform and the dialog application resource.

Events

Events associated with the <runtreatments> action and the child action elements will not be generated.

<collect>

This action simply collects a set of digits from a caller. It is equivalent to the IRD function block "Collect Digits".

Attribute Details

Name

Required

Type

Default Value

Valid Values

Description

requestid

false

location expression

none

Any valid location expression

This is the location for the request ID that is returned as part of this request. Any data model expression evaluating to a data model location. See SCXML Location Expressions for details. The location's value will be set to an internally generated unique string identifier to be associated with the action being sent. This value will only be valid when the dialog.collect.requestid event is received. If this attribute is not specified, the event identifier is dropped. This identifier can be tested by the completion event handler to distinguish among several outstanding requests. If this attribute is not specified, the identifier can be acquired from the action completion event. Every request must receive a unique identifier.

interactionid

false

value expression

"0"

Any expression that returns a valid string

A value expression which returns the interaction ID from which the digits will be collected. There is a special value that can be returned:

  • "0" means the functional module will use the _genesys.FMname.interactions[0].g_uid for collecting the digits.

See SCXML Legal Data Values and Value Expressions for details.

device false value expression none Any expression that returns a valid string or object

If specified ORS will play treatments itself, otherwise, treatment  playing is delegated to URS.  The device should specify the DN where the call is currently located.  If the call is on multiple DNs, specify the DN for which the treatment will be applied. (since 8.1.2)

hints

false

value expression

none

Any valid ECMAScript object

A value expression which returns the ECMAScript object containing information which may be used by the implementing functional module when applying  dialog action to interaction. This information may consist of protocol-specific parameters, protocol selection guidelines, and so on. Note: The meaning of these hints is specific to the implementing functional module. See SCXML Legal Data Values and Value Expressions for details. (since 8.1.2)

Attribute hints considerations

  • Property extensions of hints object allow to specify content of AttributeExtension of resulted RequestRouteCall. Valid value for property extensions is ECMAScript object. (Since 8.1.2)

The following are action limitations:

  • The <stop> action can not be used to cancel this treatment.
  • If this action element is a child of the <runtreatments> element then the following attributes are not evaluated and should not be used. The similar attributes in the associated Queue FM's  <submit> and<update> action elements will be used instead.
    • requestid
    • interactionid

The following is an example:

<state id="Collect-Digits">
  <onentry>
    <dialog:collect device="'dn1001'">
      <dialog:input max_digits="6" abort_digits="'1'" term_digits="'9'"
                    total_timeout="20"/>
    </dialog:collect>
  </onentry>
  <transition event="dialog.collect.done" target="next-state"/>
  <transition event="error.dialog.collect" target="error-state"/>
</state>

Children

  • <input> - Occurs 1 time. This instance defines the characteristics needed to collect the digits.

Events

The following events can be generated as part of this action:

  • dialog.collect.done - This event will be sent when the digits have been collected.
  • dialog.collect.requestid - This event will be sent when the collect treatment has started.
  • error.dialog.collect - This event will be sent as a result of problems with the request itself.

<play>

This action simply plays a set of announcements to a caller. It is equivalent to the IRD function block "Play Announcement" and "Text to Speech".

Attribute Details

Name

Required

Type

Default Value

Valid Values

Description

requestid

false

location expression

none

Any valid location expression

This is the location for the request ID that is returned as part of this request. Any data model expression evaluating to a data model location. See SCXML Location Expressions for details. The location's value will be set to an internally generated unique string identifier to be associated with the action being sent. This value will only be valid when the dialog.play.requestid event is received. If this attribute is not specified, the event identifier is dropped. This identifier can be tested by the completion event handler to distinguish among several outstanding requests. If this attribute is not specified, the identifier can be acquired from the action completion event. Every request must receive a unique identifier.

Interactionid

false

value expression

"0"

Any expression that returns a valid string

A value expression which returns the interaction ID on which the announcements will be played. There is a special value that can be returned:

  • "0" means the functional module will use _genesys.FMname.interactions[0].g_uid for collecting the digits.

See SCXML Legal Data Values and Value Expressions for details.

language

false

value expression

English(US)

Any expression that returns a string with one of the following values: English (US), Spanish, Mandarin, Cantonese, Vietnamese, French, French (Canada), German, Italian, Japanese, Korean, Russian

A value expression which returns a string specifying a language in which the announcements should be made. See SCXML Legal Data Values and Value Expressions for details.

device false value expression none Any expression that returns a valid string or object

If specified ORS will play treatments itself, otherwise, treatment  playing is delegated to URS.  The device should specify the DN where the call is currently located.  If the call is on multiple DNs, specify the DN for which the treatment will be applied. (since 8.1.2)

hints

false

value expression

none

Any valid ECMAScript object

A value expression which returns the ECMAScript object containing information which may be used by the implementing functional module when applying  dialog action to interaction. This information may consist of protocol-specific parameters, protocol selection guidelines, and so on. Note: The meaning of these hints is specific to the implementing functional module. See SCXML Legal Data Values and Value Expressions for details. (since 8.1.2)

Attribute hints considerations

  • Property extensions of hints object allow to specify content of AttributeExtension of resulted RequestRouteCall. Valid value for property extensions is ECMAScript object. (Since 8.1.2)

The following are action limitations:

  • The <stop> action can not be used to cancel this treatment.
  • If this action element is a child of the <runtreatments> element then the following attributes are not evaluated and should not be used. The similar attributes in the associated Queue FM's  <submit> and <update> action elements will be used instead.
    • requestid
    • interactionid

The following is an example:

<state id="Play-Message">
  <onentry>
    <dialog:play language="'English(US)'">
      <dialog:prompts type="ann">
        <dialog:prompt interrupt="true" intid="1111"/>
        <dialog:prompt interrupt="true" number="'2222'"/>
      </dialog:prompts>
    </dialog:play>
  </onentry>
  <transition event="dialog.play.done" target="next-state"/>
  <transition event="error.dialog.play" target="error-state"/>
</state>

Children

  • <prompts> - Occurs 1 time. This instance defines the set of announcements to be played to the caller. The <prompts>'s type attribute can only be set to "ann" or "tts"

Events

The following events can be generated as part of this action:

  • dialog.play.done - This event will be sent when the message has been played.
  • dialog.play.requestid - This event will be sent when the play treatment has started.
  • error.dialog.play - This event will be sent as a result of problems with the request itself.

<playandcollect>

This action plays a set of announcements to a caller and then collects digits. In addition, you can specify the appropriate attributes to verify the digits collected against a defined set of digits. It is equivalent to the IRD function blocks "Play Announcement and Collect Digits" and "Text to Speech and Collect Digits".

Attribute Details

Name

Required

Type

Default Value

Valid Values

Description

requestid

false

location expression

none

Any valid location expression

This is the location for the request ID that is returned as part of this request. Any data model expression evaluating to a data model location. See SCXML Location Expressions for details. The location's value will be set to an internally generated unique string identifier to be associated with the action being sent. This value will only be valid when the dialog.playandcollect.requestid event is received.If this attribute is not specified, the event identifier is dropped. This identifier can be tested by the completion event handler to distinguish among several outstanding requests. If this attribute is not specified, the identifier can be acquired from the action completion event. Every request must receive a unique identifier.

interactionid

false

value expression

"0"

Any expression that returns a valid string

A value expression which returns the interaction ID on which the announcements will be played and the digits collected. There is a special value that can be returned:

  • "0" means the functional module will use _genesys.FMname.interactions[0].g_uid for collecting the digits.

See SCXML Legal Data Values and Value Expressions for details.

language

false

value expression

English (US)

Any expression that returns a string with one of the following values: English (US), Spanish, Mandarin, Cantonese, Vietnamese, French, French (Canada), German, Italian, Japanese, Korean, Russian

A value expression which returns a string specifying a language in which the announcements should be made. See SCXML Legal Data Values and Value Expressions for details.

device false value expression  none Any expression that returns string or object

If specified ORS will play treatments itself, otherwise, treatment  playing is delegated to URS.  The device should specify the DN where the call is currently located.  If the call is on multiple DNs, specify the DN for which the treatment will be applied. (since 8.1.2)

hints

false

value expression

none

Any valid ECMAScript object

A value expression which returns the ECMAScript object containing information which may be used by the implementing functional module when applying  dialog action to interaction. This information may consist of protocol-specific parameters, protocol selection guidelines, and so on. Note: The meaning of these hints is specific to the implementing functional module. See SCXML Legal Data Values and Value Expressions for details. (since 8.1.2)

Attribute hints considerations

  • Property extensions of hints object allow to specify content of AttributeExtension of resulted RequestRouteCall. Valid value for property extensions is ECMAScript object. (Since 8.1.2)

The following are action limitations:

  • The <stop> action can not be used to cancel this treatment.
  • If this action element is a child of the <runtreatments> element, then the following attributes are not evaluated and should not be used. The similar attributes in the associated Queue FM's  <submit> and<update> action elements will be used instead.
    • requestid
    • Interactionid

The following is an example:

<state id="Play-and-Collect">
  <onentry>
    <dialog:playandcollect language="'English(US)'">
      <dialog:prompts type="ann">
        <dialog:prompt interrupt="true" intid="1111"/>
        <dialog:prompt interrupt="true" number="'2222'"/>
      </dialog:prompts>
      <dialog:input max_digits="4" abort_digits="'1'" term_digits="'9'"
                    total_timeout="20"/>
    </dialog:playandcollect>
  </onentry>
  <transition event="dialog.playandcollect.done" target="next-state"/>
  <transition event="error.dialog.playandcollect" target="error-state"/>
</state>

Children

  • <prompts> - Occurs 1 time. This instance defines the set of announcements to be played to the caller. The <prompts>'s type attribute can only be set to "ann" or "tts".
  • <input> - Occurs 1 time. This instance defines the characteristics needed to collect the digits.

Events

The following events can be generated as part of this action:

  • dialog.playandcollect.done - This event will be sent when the messages have been played and the associated digits have been collected.
  • dialog.playandcollect.requestid - This event will be sent when the playandcollect treatment has started.
  • error.dialog.playandcollect - This event will be sent as a result of problems with the request itself.

<playandverify>

This action plays a set of announcements to a caller, collects digits, and verifies the digits against a defined set of digits. It is equivalent to the IRD function block "Verify Digits".

Attribute Details

Name

Required

Type

Default Value

Valid Values

Description

requestid

false

location expression

none

Any valid location expression

This is the location for the request ID that is returned as part of this request. Any data model expression evaluating to a data model location. See SCXML Location Expressions for details. The location's value will be set to an internally generated unique string identifier to be associated with the action being sent. This value will only be valid when the dialog.playandverify.requestid event is received. If this attribute is not specified, the event identifier is dropped. This identifier can be tested by the completion event handler to distinguish among several outstanding requests. If this attribute is not specified, the identifier can be acquired from the action completion event. Every request must receive a unique identifier.

interactionid

false

value expression

"0"

Any expression that returns a valid string

A value expression which returns the interaction ID on which the announcements will be played and the digits will be collected and verified. There is a special value that can be returned:

  • "0" means the functional module will use _genesys.FMname.interactions[0].g_uid for collecting the digits.

See SCXML Legal Data Values and Value Expressions for details.

language

false

value expression

English (US)

Any expression that returns a string with one of the following values: English (US), Spanish, Mandarin, Cantonese, Vietnamese, French, French (Canada), German, Italian, Japanese, Korean, Russian

A value expression which returns a string specifying a language in which the announcements should be made. See SCXML Legal Data Values and Value Expressions for details.

device false value expression none Any expression that returns string or object

If specified ORS will play treatments itself, otherwise, treatment  playing is delegated to URS.  The device should specify the DN where the call is currently located.  If the call is on multiple DNs, specify the DN for which the treatment will be applied. (since 8.1.2)

hints

false

value expression

none

Any valid ECMAScript object

A value expression which returns the ECMAScript object containing information which may be used by the implementing functional module when applying  dialog action to interaction. This information may consist of protocol-specific parameters, protocol selection guidelines, and so on. Note: The meaning of these hints is specific to the implementing functional module. See SCXML Legal Data Values and Value Expressions for details. (since 8.1.2)

Attribute hints considerations

  • Property extensions of hints object allow to specify content of AttributeExtension of resulted RequestRouteCall. Valid value for property extensions is ECMAScript object. (Since 8.1.2)

The following are action limitations:

  • The <stop> action can not be used to cancel this treatment.
  • With this action you cannot use a <prompts> type attribute of "tts".
  • If this action element is a child of the <runtreatments> element, then the following attributes are not evaluated and should not be used. The similar attributes in the associated Queue FM's  <submit> and <update> action elements will be used instead.
    • requestid
    • interactionid

The following is an example:

<state id="Play-and-Verify">
  <onentry>
    <dialog:playandverify language="'English(US)'">
      <dialog:prompts type="ann">
        <dialog:prompt interrupt="true" intid="1111"/>
        <dialog:prompt interrupt="true" number="'2222'"/>
      </dialog:prompts>
      <dialog:prompts type="iretry">
        <dialog:prompt interrupt="true" intid ="3333"/>
      </dialog:prompts>
      <dialog:prompts type="isuccess">
        <dialog:prompt intid="4444"/>
        <dialog:prompt interrupt="true" text="'hi'"/>
      </dialog:prompts>
      <dialog:prompts type="ifailure">
        <dialog:prompt interrupt="true" intid="1111"/>
        <dialog:prompt interrupt="true" userannid="10"/>
      </dialog:prompts>
      <dialog:prompts type="itimeout">
        <dialog:prompt text="'timeout'"/>
      </dialog:prompts>
      <dialog:input max_digits="10" abort_digits="'1'" term_digits="'9'"
                    total_timeout="20"/>
      <dialog:compare digits="'12426'" attempts="3"/>
    </dialog:playandverify>
  </onentry>
  <transition event="dialog.playandverify.done" target="next-state"/>
  <transition event="error.dialog.playandverify" target="error-state"/>
</state>

Children

  • <prompts> - Must occur at least once and up to 5 times in total, each instance must have a unique type attribute of either 'ann', 'iretry', 'isuccess', 'ifailure' or 'itimeout', where a prompt type attribute of 'ann' being declared to be mandatory and MUST be provided in all <dialog:playandverify>. All other prompt types remain optional. You may only have a maximum of one type attribute within the series of <dialog:prompts> within <dialog:playandverify> given that they are required to be unique, defining multiple "iretry" types for example or "ann" within the same <dialog:playandverify> is not supported and the behavior is undetermined. These instances define the different sets of announcements to be played to the caller based on the verification process.
  • <input> - Occurs 1 time. This instance defines the characteristics needed to collect the digits.
  • <compare> - Occurs 1 time. This instance defines what needs to be compared to the digits collected from the caller.

Events

The following events can be generated as part of this action:

  • dialog.playandverify.done - This event will be sent when the messages are played, the digits have been collected and verified.
  • dialog.playandverify.requestid - This event will be sent when the playandverfy treatment has started.
  • error.dialog.playandverify - This event will be sent as a result of problems with the request itself.

<playsound>

This action plays a given voice-related sound to a caller. It is a voice-specific treatment. It is equivalent to the following IRD function blocks

  • "Busy"
  • "Fast Busy"
  • "Music"
  • "Ringback"
  • "Silence"
  • "RAN"

Attribute Details

Name

Required

Type

Default Value

Valid Values

Description

requestid

false

location expression

none

Any valid location expression

This is the location for the request ID that is returned as part of this request. Any data model expression evaluating to a data model location. See SCXML Location Expressions for details. The location's value will be set to an internally generated unique string identifier to be associated with the action being sent. This value will only be valid when the dialog.playsound.requestid event is received. If this attribute is not specified, the event identifier is dropped. This identifier can be tested by the completion event handler to distinguish among several outstanding requests. If this attribute is not specified, the identifier can be acquired from the action completion event. Every request must receive a unique identifier.

interactionid

false

value expression

"0"

Any expression that returns a valid string

A value expression which returns the interaction ID on which to play the sound. There is a special value that can be returned:

  • "0" means the functional module will use _genesys.FMname.interactions[0].g_uid for collecting the digits.

See SCXML Legal Data Values and Value Expressions for details.

type true value expression none

busy, fastbusy, music, ringback, silence, ran

A value expression which returns a string specifying the type of sound to play to the caller. See SCXML Legal Data Values and Value Expressions for details.

resource²

false

value expression

none

Any valid string or Resource Object

For type equal to "music", this will be the source of the music (that is, MUSIC_DN), and is a required attribute unless SIP Server has been configured with a default file¹.  To specify the number of repetitions, the parameter repeat=<N> must be used, where <N> is any positive integer. If no repetition is specified, the music file loops forever.  The valid formats are:

  • <directory>/<music file name> - The specified file loops endlessly.
  • <directory>/<music file name>;repeat=<N> -The specified file is repeated <N> times.

¹ The TServer/default-music option in the SIP Server configuration object is used if the resource is not specified. For type equal to "ran", this will be the source of the recorded announcement (that is, ROUTE) and is a required attribute. See SCXML Legal Data Values and Value Expressions for details.

duration²

false

value expression

0

Any expression that returns a valid integer

A value expression which returns the duration in seconds that the sound should be played. See SCXML Legal Data Values and Value Expressions for details.

device false value expression none Any expression that returns string or object

If specified ORS will play treatments itself, otherwise, treatment  playing is delegated to URS.  The device should specify the DN where the call is currently located.  If the call is on multiple DNs, specify the DN for which the treatment will be applied. (since 8.1.2)

hints

false

value expression

none

Any valid ECMAScript object

A value expression which returns the ECMAScript object containing information which may be used by the implementing functional module when applying  dialog action to interaction. This information may consist of protocol-specific parameters, protocol selection guidelines, and so on. Note: The meaning of these hints is specific to the implementing functional module. See SCXML Legal Data Values and Value Expressions for details. (since 8.1.2)

² For playing music, if both repeat (in resource) and duration are specified, repeat takes priority. Attribute hints considerations

  • Property extensions of hints object allow to specify content of AttributeExtension of resulted RequestRouteCall. Valid value for property extensions is ECMAScript object. (Since 8.1.2)

The following are action limitations:

  • The <stop> action can not be used to cancel this treatment.
  • The following types of sounds are hard coded to be not interruptible:
    • busy, fastbusy, ran
  • The following types of sounds are hard coded to be interruptible:
    • music, ringback, silence
  • If this action element is a child of the <runtreatments> element, then the following attributes are not evaluated and should not be used. The similar attributes in the associated Queue FM's  <submit> and <update> action elements will be used instead.
    • requestid
    • Interactionid

The following are some examples:

<state id="Play-Sound-Busy">
  <onentry>
    <dialog:playsound type="'busy'" duration="100" device="'dn1001'"/>
  </onentry>
  <transition event="dialog.playsound.done" target="next-state"/>
  <transition event="error.dialog.playsound" target="error-state"/>
</state>
<state id="Play-Sound-Music-30sec">
  <onentry>
    <dialog:playsound type="'music'" resource="'path_to/ElevatorMusicDN'" duration="30"/>
  </onentry>
  <transition event="dialog.playsound.done" target="next-state"/>
  <transition event="error.dialog.playsound" target="error-state"/>
</state>
<state id="Play-Sound-Music-Once">
  <onentry>
    <dialog:playsound type="'music'" resource="'path_to/ElevatorMusicDN;repeat=1'"/>
  </onentry>
  <transition event="dialog.playsound.done" target="next-state"/>
  <transition event="error.dialog.playsound" target="error-state"/>
</state>

Children

None

Events

The following events can be generated as part of this action:

  • dialog.playsound.done - This event will be sent when the sound has been played.
  • dialog.playsound.requestid - This event will be sent when the play sound treatment has started.
  • error.dialog.playsound - This event will be sent as a result of problems with the request itself.
  • error.dialog.playsound.timeout - This event is sent by URS after the number of seconds specified in the 'duration' attribute has elapsed, and URS has not received the treatment.done event for playing the sound from Tserver.

<createann>

This action creates and records an announcement from a user.  It is equivalent to the IRD function block "Record User Announcement". This is primarily used to collect a message from a customer.

Attribute Details

Name

Required

Type

Default Value

Valid Values

Description

requestid

false

location expression

none

Any valid location expression

This is the location for the request ID that is returned as part of this request. Any data model expression evaluating to a data model location. See SCXML Location Expressions for details. The location's value will be set to an internally generated unique string identifier to be associated with the action being sent. This value will only be valid when the dialog.createann.requestid event is received. If this attribute is not specified, the event identifier is dropped. This identifier can be tested by the completion event handler to distinguish among several outstanding requests. If this attribute is not specified, the identifier can be acquired from the action completion event. Every request must receive a unique identifier.

interactionid

false

value expression

"0"

Any expression that returns a valid string

A value expression which returns the interaction ID on which to create or record the announcement. There is a special value that can be returned:

  • "0" means the functional module will use _genesys.FMname.interactions[0].g_uid for collecting the digits.

See SCXML Legal Data Values and Value Expressions for details.

userid

true

value expression

none

Any expression that returns a valid string

A value expression which returns a string specifying the user ID associated with this recording announcement. See SCXML Legal Data Values and Value Expressions for details.

abort_digits

false

value expression

none

Any expression that returns a valid string

A value expression which returns the sequence of up to two keys that the caller can enter to abort the recording process. The IP is to consider this as a failed recording attempt. See SCXML Legal Data Values and Value Expressions for details.

term_digits

false

value expression

none

Any expression that returns a valid string

A value expression which returns the sequence of up to two keys that the caller can enter to indicate that the caller has finished recording the announcement. See SCXML Legal Data Values and Value Expressions for details.

reset_digits

false

value expression

none

Any expression that returns a valid string

A value expression which returns the sequence of up to two keys that the caller can enter to restart the recording announcement. Any announcement recorded up to the point of these keystrokes will be discarded. See SCXML Legal Data Values and Value Expressions for details.

start_timeout

false

value expression

none

Any expression that returns a valid integer

A value expression which returns the number of seconds the resource should wait for the callers to begin recording their announcements. See SCXML Legal Data Values and Value Expressions for details.

total_timeout

false

value expression

300

Any expression that returns a valid integer

A value expression which returns the total number of seconds the resource should wait for the callers to finish recording their announcements. (since 8.1.200.43, ORS will set a default value of 300 seconds for total_timeout) See SCXML Legal Data Values and Value Expressions for details.

device false value expression none Any expression that returns string or object

If specified ORS will play treatments itself, otherwise, treatment  playing is delegated to URS.  The device should specify the DN where the call is currently located.  If the call is on multiple DNs, specify the DN for which the treatment will be applied. (since 8.1.2)

hints

false

value expression

none

Any valid ECMAScript object

A value expression which returns the ECMAScript object containing information which may be used by the implementing functional module when applying  dialog action to interaction. This information may consist of protocol-specific parameters, protocol selection guidelines, and so on. Note: The meaning of these hints is specific to the implementing functional module. See SCXML Legal Data Values and Value Expressions for details. (since 8.1.2)

Attribute hints considerations

  • Property extensions of hints object allow to specify content of AttributeExtension of resulted RequestRouteCall. Valid value for property extensions is ECMAScript object. (Since 8.1.2)

The following are action limitations:

  • The <stop> action can not be used to cancel this treatment.

The following is an example:

<state id="Create-Announcement">
  <onentry>
    <dialog:createann userid="'12334567'" abort_digits="'1'" term_digits="'9'"
                      total_timeout="20" device="'dn1001'">
      <dialog:prompts type="ann">
        <dialog:prompt interrupt="true" intid="1111"/>
        <dialog:prompt interrupt="true" number="'2222'"/>
      </dialog:prompts>
    </dialog:createann>
  </onentry>
  <transition event="dialog.createann.done" target="next-state"/>
  <transition event="error.dialog.createann" target="error-state"/>
</state>

Children

  • <prompts> - Occurs 1 time. This instance defines the set of announcements to be played to the caller. The <prompts>'s type attribute can only be set to "ann".

Events

The following events can be generated as part of this action:

  • dialog.createann.done - This event will be sent when the announcement has been created.
  • dialog.createann.requestid - This event will be sent when the create announcement treatment has started.
  • error.dialog.createann - This event will be sent as a result of problems with the request itself.

<deleteann>

This action creates and records an announcement from a user. It is equivalent to the IRD function block "Delete User Announcement"

Attribute Details

Name

Required

Type

Default Value

Valid Values

Description

requestIid

false

location expression

none

Any valid location expression

This is the location for the request ID that is returned as part of this request. Any data model expression evaluating to a data model location. See SCXML Location Expressions for details. The location's value will be set to an internally generated unique string identifier to be associated with the action being sent. This value will only be valid when the dialog.deleteann.requestid event is received. If this attribute is not specified, the event identifier is dropped. This identifier can be tested by the completion event handler to distinguish among several outstanding requests. If this attribute is not specified, the identifier can be acquired from the action completion event. Every request must receive a unique identifier.

interactionid

false

value expression

"0"

Any expression that returns a valid string

A value expression which returns the interaction ID on which to create or record the announcement. There is a special value that can be returned:

  • "0" means the functional module will use _genesys.FMname.interactions[0].g_uid for collecting the digits.

See SCXML Legal Data Values and Value Expressions for details.

userid

true

value expression

none

Any expression that returns a valid string

A value expression which returns a string specifying the user ID associated with the announcement to be deleted. See SCXML Legal Data Values and Value Expressions for details.

annid

true

value expression

none

Any expression that returns a valid integer

A value expression which returns the user announcement ID as returned in the dialog.createann.done event. See SCXML Legal Data Values and Value Expressions for details.

device false value expression none Any expression that returns string or object

If specified ORS will play treatments itself, otherwise, treatment  playing is delegated to URS.  The device should specify the DN where the call is currently located.  If the call is on multiple DNs, specify the DN for which the treatment will be applied. (since 8.1.2)

hints

false

value expression

none

Any valid ECMAScript object

A value expression which returns the ECMAScript object containing information which may be used by the implementing functional module when applying  dialog action to interaction. This information may consist of protocol-specific parameters, protocol selection guidelines, and so on. Note: The meaning of these hints is specific to the implementing functional module. See SCXML Legal Data Values and Value Expressions for details. (since 8.1.2)

Attribute hints considerations

  • Property extensions of hints object allow to specify content of AttributeExtension of resulted RequestRouteCall. Valid value for property extensions is ECMAScript object. (Since 8.1.2)

The following are action limitations:

  • The <stop> action can not be used to cancel this treatment.
  • The action is hard coded to be not interruptible.

The following is an example:

<state id="Delete-Announcement">
  <onentry>
    <dialog:deleteann userid="'12334567'" annid="464646464"/>
  </onentry>
  <transition event="dialog.deleteann.done" target="next-state"/>
  <transition event="error.dialog.deleteann" target="error-state"/>
</state>

Children

None

Events

The following events can be generated as part of this action:

  • dialog.deleteann.done - This event will be sent when the announcement have been deleted.
  • dialog.deleteann.requestid - This event will be sent when the delete announcement treatment has started.
  • error.dialog.deleteann - This event will be sent as a result of problems with the request itself.

<start>

This action requests that a specific dialog be started on a specific interaction and by a specific resource. This is used for all different types of media. This action is equivalent to the IRD function block "Play Application".

Attribute Details

Name

Required

Type

Default Value

Valid Values

Description

requestid

false

location expression

none

Any valid location expression

This is the location for the request ID that is returned as part of this request. Any data model expression evaluating to a data model location. See SCXML Location Expressions for details. The location's value will be set to an internally generated unique string identifier to be associated with the action being sent. This value will only be valid when the dialog.start.requestid event is received. If this attribute is not specified, the event identifier is dropped. This identifier can be tested by the completion event handler to distinguish among several outstanding requests. If this attribute is not specified, the identifier can be acquired from the action completion event. Every request must receive a unique identifier.

interactionid

false

value expression

"0"

Any expression that returns a valid string

A value expression which returns the interaction ID for which the dialog is to be started. There is a special value that can be returned:

  • "0" means the functional module will use _genesys.FMname.interactions[0].g_uid to route the interaction.

See SCXML Legal Data Values and Value Expressions for details.

type

true

value expression

none

vxml, applid

A value expression which returns the type of application that is to be started. The following are the different types that will be supported:

  • vxml - This is a VXML document that is to be started on the voice platform resource.
  • applid - This indicates that the request is for the "Play Application" IRD function block.

See SCXML Legal Data Values and Value Expressions for details.

application

false

value expression

Any expression that returns a valid integer (for applid) or string (for vxml)

A value expression which returns the identifier of a new application which is to be started by the resource in association with the interaction. The format of the application reference is specific to each dialog type:

  • vxml - This is the URL for the VXML document.
  • applid - This is the APP_ID parameter from the "PlayApplication" IRD function block.

If this attribute is not specified, then the functional module will use the associated <param> elements. See SCXML Legal Data Values and Value Expressions for details.

device false value expression none Any expression that returns string or object

If specified ORS will play treatments itself, otherwise, treatment  playing is delegated to URS.  The device should specify the DN where the call is currently located.  If the call is on multiple DNs, specify the DN for which the treatment will be applied. (since 8.1.2)

hints

false

value expression

none

Any valid ECMAScript object

A value expression which returns the ECMAScript object containing information which may be used by the implementing functional module when applying  dialog action to interaction. This information may consist of protocol-specific parameters, protocol selection guidelines, and so on. Note: The meaning of these hints is specific to the implementing functional module. See SCXML Legal Data Values and Value Expressions for details. (since 8.1.2)

Attribute hints considerations

  • Property extensions of hints object allow to specify content of AttributeExtension of resulted RequestRouteCall. Valid value for property extensions is ECMAScript object. (Since 8.1.2)

The following are action limitations:

  • This action can be cancelled using the <stop> action.
  • For dialog type of "applid", the timeout attribute will be ignored.
  • For dialog type of "applid" the parameters supplied in the name list can only be of simple types.
  • All <param> name attribute values must match the case of the parameter name of the underlying dialog system (for all Genesys treatments, parameters are in upper case - "LANGUAGE").
  • The following is the data model for the dialog type of "appid" (that is, the "Play Application" function block action)
    • <param name="LANGUAGE"/> - The "Play Application" function block's LANGUAGE parameter
    • <param name="parameterN"/> - Any custom parameter of the "Play Application" function block - You can add any parameter you want, but this function block functionality only supports strings and integer parameters.

Note: the application attribute will be used for the "Play Application" function block's APP_ID parameter.

  • If this action element is a child of the <runtreatments> element, then the following attributes are not evaluated and should not be used. The similar attributes in the associated Queue FM's  <submit> and <update> action elements will be used instead.
    • requestid
    • Interactionid

Children

  • <param> Occurs 0 to N. See SCXML <param> for details. These parameters will be submitted to the processing resource, based on the functional module's underlying protocol (for example, it will be via key/value pairs for T-Server).

Events

The following events can be generated as part of this action:

  • dialog.start.done - This event will be sent when the started dialog application is complete.
  • dialog.start.requestid - This event will be sent when the dialog application has started.
  • error.dialog.start - This event will be sent as a result of a timeout of the request with an error attribute value of timeout, as well as due to problems with the request itself.

Examples

The following is an example of using the IRD Play Application function block:

<state id="Play-Application">
  <onentry>
    <dialog:start type="'applid'" application="464646464">
      <param name="APP_URL" expr="'www.bigplanes.com\bestinworld'"/>
    </dialog:start>
  </onentry>
  <transition event="dialog.start.done" target="next-state"/>
  <transition event="error.dialog.start" target="error-state"/>
</state>

The following is an example of using VoiceXML as a treatment:

<state id="Play-Application">
  <onentry>
    <dialog:start type="'vxml'" >
      <param name="APP_URI" expr="'http://gvphost/treatment.vxml'"/>
    </dialog:start>
  </onentry>
  <transition event="dialog.start.done" target="next-state"/>
  <transition event="error.dialog.start" target="error-state"/>
</state>

<stop>

This action will terminate a call, which is referenced by the interactionid attribute. However, not all T-Servers support it, so it is better to use the "terminate" action from the "interaction" extension for that purpose. This action is equivalent to the IRD function block "Cancel Call".

Attribute Details

Name

Required

Type

Default Value

Valid Values

Description

requestid

true

value expression

none

Any valid location expression

A value expression which returns the ID of the previously started dialog-related action. Legal Data Values and Value Expressions for details.

interactionid

false

value expression

"0"

Any expression that returns a valid string

A value expression which returns the interaction ID for which the dialog is to be started. There is a special value that can be returned:

  • "0" means the functional module will use _genesys.FMname.interactions[0].g_uid to route the interaction.

This attribute is only valid if the compatible attribute is true. See SCXML Legal Data Values and Value Expressions for details.

compatible (no longer in use)

false

boolean

false

true, false

This value was previously used to indicate whether the action was compatible with older capabilities. If true, then this will do the "IRD Cancel Call" function. If false, then this will just stop or terminate the dialog and the actual interaction.

device false value expression none Any expression that returns string or object

If specified ORS will play treatments itself, otherwise, treatment  playing is delegated to URS.  The device should specify the DN where the call is currently located.  If the call is on multiple DNs, specify the DN for which the treatment will be applied. (since 8.1.2)

hints

false

value expression

none

Any valid ECMAScript object

A value expression which returns the ECMAScript object containing information which may be used by the implementing functional module when applying  dialog action to interaction. This information may consist of protocol-specific parameters, protocol selection guidelines, and so on. Note: The meaning of these hints is specific to the implementing functional module. See SCXML Legal Data Values and Value Expressions for details. (since 8.1.2)

Attribute hints considerations

  • Property extensions of hints object allow to specify content of AttributeExtension of resulted RequestRouteCall. Valid value for property extensions is ECMAScript object. (Since 8.1.2)

The following are action limitations:

  • Only supports a compatible attribute value of true.

The following is an example for IRD "Cancel Call":

<state id="Stop-Application">
  <datamodel>
    <data id="reqid"/>
  </datamodel>
  <onentry>
    <dialog:stop requestid="_data.reqid" compatible="true"/>
  </onentry>
  <transition event="dialog.stop.done" target="next-state"/>
  <transition event="error.dialog.stop" target="error-state"/>
</state>

Children

None

Events

The following events can be generated as part of this action:

  • dialog.stop.done - This event will be sent when the dialog application stop action has completed.
  • error.dialog.stop - This event will be sent as a result of problems with the request itself.
  • error.dialog.start - This event is sent for the dialog action that was started. Note: The error.dialog.start events will be sent before the queue.stop.done.

<remote>

This action requests that a specific dialog be started on a specific interaction and by a new remote resource. This is used for voice media only. This action is equivalent to the IRD function block "IVR".

Attribute Details

Name

Required

Type

Default Value

Valid Values

Description

requestid

false

location expression

none

Any valid location expression

This is the location for the request ID that is returned as part of this request. Any data model expression evaluating to a data model location. See SCXML Location Expressions for details. The location's value will be set to an internally generated unique string identifier to be associated with the action being sent. This value will only be valid when the dialog.remote.requestid event is received. If this attribute is not specified, the event identifier is dropped. This identifier can be tested by the completion event handler to distinguish among several outstanding requests. If this attribute is not specified, the identifier can be acquired from the action completion event. Every request must receive a unique identifier.

interactionid

false

value expression

"0"

Any expression that returns a valid string

A value expression that returns the interaction ID for which the dialog is to be started. There is a special value that can be returned:

  • "0" means the functional module will use _genesys.FMname.interactions[0].g_uid to route the interaction.

See SCXML Legal Data Values and Value Expressions for details.

application

false

value expression

none

Any expression that returns a valid string

A value expression which returns the identifier of a new application that is to be started by the new resource in association with the interaction. See SCXML Legal Data Values and Value Expressions for details.

duration

false

value expression

0

A value expression which returns an integer

A value expression which returns an integer that represents the number of seconds to wait. See SCXML Legal Data Values and Value Expressions for details. The character string returned must be interpreted as a time interval. This interval begins when <remote> is executed. A failed and timed out submit must return the error.remote.start event.

destination

true

value expression

none

Any value expression that returns a valid string

A value expression which returns the address name of a new remote resource which will be added to provide the treatment on the interaction. See SCXML Legal Data Values and Value Expressions for details.

default

false

value expression

Any value expression that returns a valid string

A value expression which returns the destination that should be used if there are problems transferring the interaction to the destination for treatment. See SCXML Legal Data Values and Value Expressions for details.

compatible

false

boolean

false

false, true

This value indicates whether the action is compatible with an attribute signature. If true, the following are the valid attributes:

  • application - SCRIPT
  • destination - TARGET
  • timeout - DURATION

If false, the following are the valid attributes:

  • destination - LABEL
  • default - DNIS
device false value expression none Any expression that returns string or object

If specified ORS will play treatments itself, otherwise, treatment  playing is delegated to URS.  The device should specify the DN where the call is currently located.  If the call is on multiple DNs, specify the DN for which the treatment will be applied. Will be ignored if compatible is set to true. (since 8.1.2)

hints

false

value expression

none

Any valid ECMAScript object

A value expression which returns the ECMAScript object containing information which may be used by the implementing functional module when applying  dialog action to interaction. This information may consist of protocol-specific parameters, protocol selection guidelines, and so on. Note: The meaning of these hints is specific to the implementing functional module. See SCXML Legal Data Values and Value Expressions for details. (since 8.1.2)

Attribute hints considerations

  • Property extensions of hints object allow to specify content of AttributeExtension of resulted RequestRouteCall. Valid value for property extensions is ECMAScript object. Applicable only if compatible is false. (Since 8.1.2)

The following are action limitations:

  • The <stop> action can not be used to cancel this treatment.
  • If the compatible attribute is true, the following are the valid attributes:
    • application - SCRIPT
    • destination - TARGET
    • duration - DURATION
  • If the compatible attribute is false, the following are the valid attributes:
    • destination - LABEL
    • default - DNIS
  • If this action element is a child of the <runtreatments> element then the following attributes are not evaluated and should not be used. The similar attributes in the associated Queue FM's  <submit> and<update> action elements will be used instead.
    • requestid
    • interactionid

The following is an example for compatible = false:

<state id="Remote-compatible-false">
  <onentry>
    <dialog:remote destination="'123456'" default="'2334'"/>
  </onentry>
  <transition event="dialog.remote.done" target="next-state"/>
  <transition event="error.dialog.remote" target="error-state"/>
</state>

The following is an example for compatible = true:

<state id="Remote-compatible-true">
  <onentry>
    <dialog:remote compatible="true"
                   destination="'2323@www.genesys.com\server1.AG'"
                   application="'mortgage'"/>
  </onentry>
  <transition event="dialog.remote.done" target="next-state"/>
  <transition event="error.dialog.remote" target="error-state"/>
</state>

Children

None

Events

The following events can be generated as part of this action:

  • dialog.remote.done - This event will be sent when the remote dialog application is complete.
  • dialog.remote.requestid - This event will be sent when the remote dialog treatment has started.
  • error.dialog.remote - This event will be sent as a result of a timeout of the request with an error attribute value of timeout, as well as due to problems with the request itself.

<setdialogdefaultdest>

This action requests a Genesys-specific treatment action. This action is equivalent to the IRD function block ""Set Default Destination".

Attribute Details

Name

Required

Type

Default Value

Valid Values

Description

requestid

false

location expression

none

Any valid location expression

This is the location for the request ID that is returned as part of this request. Any data model expression evaluating to a data model location. See SCXML Location Expressions for details. The location's value will be set to an internally generated unique string identifier to be associated with the action being sent. This value will only be valid when the dialog.setdialogdefaultdest.requestid event is received. If this attribute is not specified, the event identifier is dropped. This identifier can be tested by the completion event handler to distinguish among several outstanding requests. If this attribute is not specified, the identifier can be acquired from the action completion event. Every request must receive a unique identifier.

interactionid

false

value expression

"0"

Any expression that returns a valid string

A value expression which returns the interaction ID for which the action is to be done. There is a special value that can be returned:

  • "0" means the functional module will use _genesys.FMname.interactions[0].g_uid to route the interaction.

See SCXML Legal Data Values and Value Expressions for details.

destination

true

value expression

none

Any value expression that returns a valid string

A value expression which returns the address name of the new remote resource that will be added to provide the treatment on the interaction. See SCXML Legal Data Values and Value Expressions for details.

device false value expression none Any expression that returns string or object

If specified ORS will play treatments itself, otherwise, treatment  playing is delegated to URS.  The device should specify the DN where the call is currently located.  If the call is on multiple DNs, specify the DN for which the treatment will be applied. (since 8.1.2)

hints

false

value expression

none

Any valid ECMAScript object

A value expression which returns the ECMAScript object containing information which may be used by the implementing functional module when applying  dialog action to interaction. This information may consist of protocol-specific parameters, protocol selection guidelines, and so on. Note: The meaning of these hints is specific to the implementing functional module. See SCXML Legal Data Values and Value Expressions for details. (since 8.1.2)

Attribute hints considerations

  • Property extensions of hints object allow to specify content of AttributeExtension of resulted RequestRouteCall. Valid value for property extensions is ECMAScript object. (Since 8.1.2)

The following are action limitations:

  • The <setdialogdefaultdest> action can not be used to cancel this treatment.
  • If this action element is a child of the <runtreatments> element then the following attributes are not evaluated and should not be used. The similar attributes in the associated Queue FM's  <submit> and<update> action elements will be used instead.
    • requestid
    • interactionid

The following is an example:

<state id="Set-Default-Destination">
  <onentry>
    <dialog:setdialogdefaultdest destination="'12345'"/>
  </onentry>
  <transition event="dialog.setdialogdefaultdest.done" target="next-state"/>
  <transition event="error.dialog.setdialogdefaultdest" target="error-state"/>
</state>

Children

None

Events

The following events can be generated as part of this action:

  • dialog.setdialogdefaultdest.done - This event will be sent when the default destination is set.
  • dialog.setdialogdefaultdest.requestid - This event will be sent when the set default destination treatment has started.
  • error.dialog.setdialogdefaultdest - This event will be sent as a result of a timeout of the request with an error attribute value of timeout, as well as due to problems with the request itself.

Events

The following are the dialog action result events.

Event

Attributes

Description

dialog.start.done

This event indicates the successful completion of the starting of an application. This can be sent in conjunction with the <start> action or asynchronously to indicate the completion of an application started at the resource.

requestid

This is the ID associated with the request from the orchestration application or the resource.

extensions If present may provide addition information sent as extension data from the source performing the dialog operation(Since 8.1.2)

dialog.start.requestid

This event provides the application with request ID for the given request that was invoked.

requestid

This is the ID associated with the request from the orchestration application or the resource.

error.dialog.start

This indicates that an abnormal condition occurred while trying to perform the start request. This event will be sent as a result of a timeout of the request as well as problems with the request itself.

requestid

This is the ID associated with the request.

error

This is the type of error that occurred. The following are the possible values:

  • invalidattribute - The attribute yyy:xxx has an invalid value (zzz) or is not allowed under the conditions of the request. yyy is the name of the element associated with the attribute. xxx is the name of the attribute. zzz is the value of the attribute.
  • unknown - The cause of the failure is unknown.
  • invalidstate.state (null, hold, treating, routed) - The interaction is in an invalid state and cannot finish the dialog action.
  • remote - There was an error in the media server while trying to process this dialog action.
  • cancelled - This dialog action has been cancelled.
  • timeout - A target has not been found within the requested time period xxxx. xxxx is the value of the timeout attribute.

description

This is a more detailed description of the error.

extensions  If present may provide addition information sent as extension data from the source performing the dialog operation(Since 8.1.2)

dialog.stop.done

This event indicates the success of the stop request and that the request has stopped the dialog application.

requestid

This is the ID of the <stop> request.

extensions If present may provide addition information sent as extension data from the source performing the dialog operation(Since 8.1.2)

error.dialog.stop

This indicates that an error occurred while trying to perform the <stop> request.

requestid

This is the ID associated with the request.

error

This is the type of error that occurred. The following are the possible values:

  • invalidrequestid - The request ID xxxx does not match any outstanding dialog action requests. xxxx is the value of the requestid attribute.

description

This is a more detailed description of the error.

requestid

This is the ID of the <continue> request.

extensions If present may provide addition information sent as extension data from the source performing the dialog operation(Since 8.1.2)

dialog.collect.done

This event indicates the success of the collect request and collects the digits.

requestid

This is the ID of the <collect> request.

digits

These are the digits that were collected.

extensions If present may provide addition information sent as extension data from the source performing the dialog operation(Since 8.1.2)

dialog.collect.requestid

This event provides the application with request ID for the given request that was invoked.

requestid

This is the ID associated with the request from the orchestration application or the resource.

error.dialog.collect

This indicates that an error occurred while trying to perform the <collect> request.

requestid

This is the ID associated with the request.

error

This is the type of error that occurred. The following are the possible values:

  • invalidattribute - The attribute yyy:xxx has an invalid value (zzz) or is not allowed under the conditions of the request. yyy is the name of the element associated with the attribute. xxx is the name of the attribute. zzz is the value of the attribute.
  • unknown - The cause of the failure is unknown.
  • invalidstate.state (null, hold, treating, routed) - The interaction is in an invalid state and cannot finish the dialog action.
  • remote - There was an error in the media server while trying to process this dialog action.
  • cancelled - This dialog action has been cancelled.

description

This is a more detailed description of the error.

extensions If present may provide addition information sent as extension data from the source performing the dialog operation(Since 8.1.2)

dialog.play.done

This event indicates the success of the play request and that the announcements were played.

requestid

This is the ID of the <play> request.

extensions If present may provide addition information sent as extension data from the source performing the dialog operation(Since 8.1.2)

dialog.play.requestid

This event provides the application with request ID for the given request that was invoked.

requestid

This is the ID associated with the request from the orchestration application or the resource.

error.dialog.play

This indicates that an error occurred while trying to perform the <play> request.

requestid

This is the ID associated with the request.

error

This is the type of error that occurred. The following are the possible values:

  • invalidattribute - The attribute yyy:xxx has an invalid value (zzz) or is not allowed under the conditions of the request. yyy is the name of the element associated with the attribute. xxx is the name of the attribute. zzz is the value of the attribute.
  • unknown - The cause of the failure is unknown.
  • invalidstate.state (null, hold, treating, routed) - The interaction is in an invalid state and cannot finish the dialog action.
  • remote - There was an error in the media server while trying to process this dialog action.
  • cancelled - This dialog action has been cancelled.

description

This is a more detailed description of the error.

extensions If present may provide addition information sent as extension data from the source performing the dialog operation(Since 8.1.2)

dialog.playandcollect.done

This event indicates the success of the playandcollect request and that the announcements were played and the digits collected.

requestid

This is the ID of the <playandcollect> request.

digits

These are the digits that were collected.

extensions If present may provide addition information sent as extension data from the source performing the dialog operation(Since 8.1.2)

dialog.playandcollect.requestid

This event provides the application with request ID for the given request that was invoked.

requestid

This is the ID associated with the request from the orchestration application or the resource.

error.dialog.playandcollect

This indicates that an error occurred while trying to perform the <playandcollect> request.

requestid

This is the ID associated with the request.

error

This is the type of error that occurred. The following are the possible values:

  • invalidattribute - The attribute yyy:xxx has an invalid value (zzz) or is not allowed under the conditions of the request. yyy is the name of the element associated with the attribute. xxx is the name of the attribute. zzz is the value of the attribute.
  • unknown - The cause of the failure is unknown.
  • invalidstate.state (null, hold, treating, routed) - The interaction is in an invalid state and cannot finish the dialog action.
  • remote - There was an error in the media server while trying to process this dialog action.
  • cancelled - This dialog action has been cancelled.

description

This is a more detailed description of the error.

extensions If present may provide addition information sent as extension data from the source performing the dialog operation(Since 8.1.2)

dialog.playandverify.done

This event indicates the success of the playandverify request and that the announcements were played and the digits were collected and verified.

requestid

This is the ID of the <playandverify> request.

digits

These are the digits that were collected.

extensions If present may provide addition information sent as extension data from the source performing the dialog operation(Since 8.1.2)

dialog.playandverify.requestid

This event provides the application with request ID for the given request that was invoked.

requestid

This is the ID associated with the request from the orchestration application or the resource.

error.dialog.playandverify

This indicates that an error occurred while trying to perform the <playandverify> request.

requestid

This is the ID associated with the request.

error

This is the type of error that occurred. The following are the possible values:

  • invalidattribute - The attribute yyy:xxx has an invalid value (zzz) or is not allowed under the conditions of the request. yyy is the name of the element associated with the attribute. xxx is the name of the attribute. zzz is the value of the attribute.
  • unknown - The cause of the failure is unknown.
  • invalidstate.state (null, hold, treating, routed) - The interaction is in an invalid state and cannot finish the dialog action.
  • remote - There was an error in the media server while trying to process this dialog action.
  • cancelled - This dialog action has been cancelled.

description

This is a more detailed description of the error.

extensions If present may provide addition information sent as extension data from the source performing the dialog operation(Since 8.1.2)

dialog.playsound.done

This event indicates the success of the playsound request and that the sound was played.

requestid

This is the ID of the <playsound> request.

extensions If present may provide addition information sent as extension data from the source performing the dialog operation(Since 8.1.2)

dialog.playsound.requestid

This event provides the application with request ID for the given request that was invoked.

requestid

This is the ID associated with the request from the orchestration application or the resource.

error.dialog.playsound

This indicates that an error occurred while trying to perform the <playsound> request.

requestid

This is the ID associated with the request.

error

This is the type of error that occurred. The following are the possible values:

  • invalidattribute - The attribute yyy:xxx has an invalid value (zzz) or is not allowed under the conditions of the request. yyy is the name of the element associated with the attribute. xxx is the name of the attribute. zzz is the value of the attribute.
  • unknown - The cause of the failure is unknown.
  • invalidstate.state (null, hold, treating, routed) - The interaction is in an invalid state and cannot finish the dialog action.
  • remote - There was an error in the media server while trying to process this dialog action.
  • cancelled - This dialog action has been cancelled.

description

This is a more detailed description of the error.

extensions If present may provide addition information sent as extension data from the source performing the dialog operation(Since 8.1.2)

dialog.createann.done

This event indicates the success of the createann request and that the announcement for the user was recorded.

requestid

This is the ID of the <createann> request.

userannid

This is the ID of the announcement that was recorded for the user.

extensions If present may provide addition information sent as extension data from the source performing the dialog operation(Since 8.1.2)

dialog.createann.requestid

This event provides the application with request ID for the given request that was invoked.

requestid

This is the ID associated with the request from the orchestration application or the resource.

error.dialog.createann

This indicates that an error occurred while trying to perform the <createann> request.

requestid

This is the ID associated with the request.

error

This is the type of error that occurred. The following are the possible values:

  • invalidattribute - The attribute yyy:xxx has an invalid value (zzz) or is not allowed under the conditions of the request. yyy is the name of the element associated with the attribute. xxx is the name of the attribute. zzz is the value of the attribute.
  • unknown - The cause of the failure is unknown.
  • invalidstate.state (null, hold, treating, routed) - The interaction is in an invalid state and cannot finish the dialog action.
  • remote - There was an error in the media server while trying to process this dialog action.
  • cancelled - This dialog action has been cancelled.

description

This is a more detailed description of the error.

extensions If present may provide addition information sent as extension data from the source performing the dialog operation(Since 8.1.2)

dialog.deleteann.done

This event indicates the success of the deleteann request and that the announcement was deleted.

requestid

This is the ID of the <deleteann> request.

extensions If present may provide addition information sent as extension data from the source performing the dialog operation(Since 8.1.2)

dialog.deleteann.requestid

This event provides the application with request ID for the given request that was invoked.

requestid

This is the ID associated with the request from the orchestration application or the resource.

error.dialog.deleteann

This indicates that an error occurred while trying to perform the <deleteann> request.

requestid

This is the ID associated with the request.

error

This is the type of error that occurred. The following are the possible values:

  • invalidattribute - The attribute yyy:xxx has an invalid value (zzz) or is not allowed under the conditions of the request. yyy is the name of the element associated with the attribute. xxx is the name of the attribute. zzz is the value of the attribute.
  • unknown - The cause of the failure is unknown.
  • invalidstate.state (null, hold, treating, routed) - The interaction is in an invalid state and cannot finish the dialog action.
  • remote - There was an error in the media server while trying to process this dialog action.
  • cancelled - This dialog action has been cancelled.

description

This is a more detailed description of the error.

extensions If present may provide addition information sent as extension data from the source performing the dialog operation(Since 8.1.2)

dialog.remote.done

This event indicates the success of the remote request and that the remote resource has executed the dialog application.

requestid

This is the ID of the <remote> request.

extensions If present may provide addition information sent as extension data from the source performing the dialog operation(Since 8.1.2)

dialog.remote.requestid

This event provides the application with request ID for the given request that was invoked.

requestid

This is the ID associated with the request from the orchestration application or the resource.

error.dialog.remote

This indicates that an error occurred while trying to perform the <remote> request.

requestid

This is the ID associated with the request.

error

This is the type of error that occurred. The following are the possible values:

  • invalidattribute - The attribute yyy:xxx has an invalid value (zzz) or is not allowed under the conditions of the request. yyy is the name of the element associated with the attribute. xxx is the name of the attribute. zzz is the value of the attribute.
  • unknown - The cause of the failure is unknown.
  • invalidstate.state (null, hold, treating, routed) - The interaction is in an invalid state and cannot finish the dialog action.
  • remote - There was an error in the media server while trying to process this dialog action.
  • cancelled - This dialog action has been cancelled.

description

This is a more detailed description of the error.

extensions If present may provide addition information sent as extension data from the source performing the dialog operation(Since 8.1.2)

dialog.setdialogdefaultdest.done

This event indicates the success of the setdialogdefaultdest request and that the resource has accepted the default destination.

requestid

This is the ID of the <setdialogdefaultdest> request.

extensions If present may provide addition information sent as extension data from the source performing the dialog operation(Since 8.1.2)

dialog.setdialogdefaultdest.requestid

This event provides the application with request ID for the given request that was invoked.

requestid

This is the ID associated with the request from the orchestration application or the resource.

error.dialog.setdialogdefaultdest

This indicates that an error occurred while trying to perform the <setdialogdefaultdest> request.

requestid

This is the ID associated with the request.

error

This is the type of error that occurred. The following are the possible values:

  • invalidattribute - The attribute yyy:xxx has an invalid value (zzz) or is not allowed under the conditions of the request. yyy is the name of the element associated with the attribute. xxx is the name of the attribute. zzz is the value of the attribute.
  • unknown - The cause of the failure is unknown.
  • invalidstate.state (null, hold, treating, routed) - The interaction is in an invalid state and cannot finish the dialog action.
  • remote - There was an error in the media server while trying to process this dialog action.
  • cancelled - This dialog action has been cancelled.

description

This is a more detailed description of the error.

extensions If present may provide addition information sent as extension data from the source performing the dialog operation(Since 8.1.2)
This page was last edited on October 12, 2015, at 15:53.
Comments or questions about this documentation? Contact us for support!