Jump to: navigation, search

Route Request Block

Use the Route Request block for sending route requests. It uses the Userdata extension attribute for sending back data attached to an interaction (attached data). Attached data can be attached to calls by different T-Server clients. For example, an IVR might attach data to a call by collecting the numbers that callers press on their telephone keypads in response to a prompt. An agent might also attach data to a call using a desktop application. Once T-Server attaches the data, it becomes interaction data, which can be used in expressions and for reporting. T-Server stores attached data in AttributeUserData of event messages. You can select any application variables to pass as interaction data. The name of the variable will be used as the Key of the interaction data. The Destination number represents the target to which the call will be routed. It can be one of following:

  • Virtual Route Point Destination Number
  • Direct extension of an Agent
  • External Number to dial out

This block supports working with both SIPServer and CTIConnector CTI scenarios. There are feature differences as listed in CTI scenarios. The Route Request block has the following properties:

Name Property

Find this property's details under Common Properties.

Block Notes Property

Can be used for both callflow and workflow blocks to add comments.  

Exceptions Property

Find this property's details under Common Properties. The Route Request block supports the following Exception Event Descriptions:

  • connection.disconect.hangup
  • connection.disconnect.transfer
  • error
  • error.com.genesyslab.composer.unsupported
  • error.connection.baddestination (supported by default)
  • error.connection.noauthorization
  • error.connection.noresource
  • error.connection.noroute
  • error.connection
  • error.unsupported.transfer.blind
  • error.unsupported.transfer.consultation
  • error.unsupported.uri

Language Property

The language set by this property overrides any language set by the Set Language block, the Project preferences, or the incoming call parameters. The property takes effect only for the duration of this block, and the language setting reverts back to its previous state after the block is done. In the case of the Route Request block, this property affects the language of grammars used for ASR input:

  1. Click under Value to display a down arrow.
  2. Click the down arrow and select English - United States (en-US) or the variable that contains the language.

Condition Property

Find this property's details under Common Properties for Callflow Blocks or Common Properties for Workflow Blocks.

Logging Details Property

Find this property's details under Common Properties for Callflow Blocks or Common Properties for Workflow Blocks.

Log Level Property

Find this property's details under Common Properties for Callflow Blocks or Common Properties for Workflow Blocks.

Enable Status Property

Find this property's details under Common Properties for Callflow Blocks or Common Properties for Workflow Blocks.

Interaction Data Property

To select session variables:

  1. Click the Interaction Data row in the block's property table.
  2. Click the OpenDialogBoxButton.gif button to open the Interaction Data dialog box.
  3. Select individual global variables, or click Select all or Deselect all.
  4. Click OK.

Transfer Audio Property

The optional Transfer Audio property plays a prompt to the end user while the number is being dialed out. You provide the URI of the audio source to play while the transfer attempt is in progress (before the other end answers). If the callee answers, the interpreter terminates playback of the recorded audio immediately. If the end of the audio file is reached and the callee has not yet answered, the interpreter plays the audio tones from the far end of the call (ringing, busy). If the resource cannot be fetched, the error is ignored and the transfer continues. To provide a Transfer Audio value:

  1. Select the Transfer Audio row in the block's property table.
  2. In the Value field, type a Transfer Audio value URI (HTTP or RTSP) specifying the location of the audio file to play.  

Aai Property

Use the optional Application-to-Application Information (the Aai property) for the data that is to be transferred from the current application to another application. Use this option to transfer the call to a number that initiates another voice application. To assign a value to the Aai property:

  1. Select the Aai row in the block's property table.
  2. In the Value field, select a value from the drop-down list.

Values are the Voice Application Variables described under the Variables Property.

Connect Timeout Property

Use the Connect Timeout property for the connection timeout value. The default is 30 seconds. To provide a timeout value:

  1. Select the Connect Timeout row in the block's property table.
  2. In the Value field, type a timeout value, in seconds.

Destination Property

The Destination property contains the destination phone number. The destination number can be one of the following:

  • A Virtual Route point number on which the IRD Strategy is loaded
  • Extension number of an Agent
  • External number

The value must be specified in one of the formats below:

  • sip:[user@]host[:port]
  • tel:phonenumber e.g., tel:+358-555-1234567

For information on this property, select Help > Contents and see the VoiceXML Reference Help. Specifically see Standard VoiceXML > Variables > Transfer, attribute dest.    To assign a value to the Destination property:

  1. Select the Destination row in the block's property table.
  2. In the Value field, select a value from the drop-down list.

Values are the Voice Application Variables described in the Entry block.

Max Call Duration Property

Use the Max Call Duration property for the maximum call duration. The default is 3600 seconds. (This is not supported for Consultation Transfer Type.) Note: If this is set to 0 (zero),  an infinite value is supplied, and there is no upper limit to the call duration. To provide a value for the maximum call duration:

  1. Select the Max Call Duration row in the block's property table.
  2. In the Value field, type a value for the maximum call duration.

Transfer Type Property

The Transfer Type property specifies the type of transfer required. To assign a value to the Transfer Type property:

  1. Select the Transfer Type row in the block's property table.
  2. In the Value field, select one of the following from the drop-down list:

Note: The selected transfer type will work only if the platform is provisioned to support that type of transfer.

Blind

This is the default setting. The platform redirects the caller to the agent without remaining in the connection, and it does not monitor the outcome. The platform generates a connection.disconnect.transfer event immediately, regardless of the transfer outcome.

Bridge

The platform adds the agent to the connection, and it remains in the connection for the duration of the transferred call. Any included grammars control the listening during the transfer. Control of the call always returns to the application when the transfer ends, regardless of the transfer result. If the caller or network disconnects the call, the platform generates connection.disconnect.hangup event. If the agent disconnects the call, the transfer outcome is set to far_end_disconnect. Note:  Use this option if the application needs to continue in self-service after the agent and caller communication is over; for example, to present a survey to the end user.

Method Property

The Method property specifies the type of route request required. To assign a value to the Method property:

  1. Select the Method row in the block's property table.
  2. In the Value field, select one of the following from the drop-down list:

Bridge

A Bridge method indicates that the Media Control Platform (MCP) bridges the media path.

  1. The platform sends an INVITE request to the callee, and a dialog is established between the callee and the platform.
  2. The route request fails if a non-2xx final response is received for the INVITE request.

This is a two-leg route request (in other words, it occupies two channels on the platform). The platform stays in the signaling path and is responsible for bridging the two call legs.

Hkf (Hookflash)

A Hookflash method indicates a route request using DTMF digits (RFC 2833).

  1. The Media Control Platform (MCP) sends DTMF digits on the media channel. The platform leaves it to the media gateway or switch to perform the route request on the network.
  2. Configurable options enable you to specify whether the call will be disconnected by the platform or by the remote end. Otherwise, the call is disconnected after a configured timeout.

This is a one-leg route request (in other words, it occupies only one channel on the platform).

Refer

A Refer method indicates that the route request is based on a SIP REFER message (RFC 3515).

  1. The platform sends a REFER request to the caller, with the callee (as specified in the VoiceXML application) in the Refer-To: header.
  2. The route request fails if a non-2xx final response is received for the REFER.

This is a one-leg route request (in other words, it occupies only one channel on the platform).

Referjoin

A Referjoin method indicates a consultative REFER route request (RFC 3891).

  1. The platform sends an INVITE request to the callee, and a dialog is established between the callee and the platform.
  2. The platform also sends a REFER request to the caller, with the callee’s information in the Replaces header.
  3. The platform considers the route request to be successful if it receives a BYE from the caller after a 2xx response for the REFER.
  4. The route request fails if a non-2xx final response is received for the INVITE request or for the REFER request.

This is a two-leg, or join-style, route request (in other words, it occupies two channels on the platform).

Mediaredirect

A Mediaredirect method indicates a media redirection route request. The Media Control Platform (MCP) uses SIP to handle call control between the caller and the callee, and the RTP media channel is connected directly between the caller and callee.

  1. The platform sends an INVITE request to the callee without SDP.
  2. If the route request is proceeding, the callee responds with a 200 OK that includes an SDP offer.
  3. The platform forwards the SDP offer in a re-INVITE request to the caller.
  4. The caller responds with a 200 OK that includes the SDP answer.
  5. The platform forwards the SDP answer to the callee in an ACK response.
  6. The route request fails if a non-2xx final response is received for the initial INVITE request.

This is a two-leg route request (in other words, it occupies two channels on the platform).

Get Shadow Variables Property

Shadow variables provide a way to retrieve further information regarding the value of an input item. By setting this property to true, it will expose the block’s shadow variable within the callflow. When enabled, the shadow variable will be included in the list of available variables. (For example, the Log block’s Logging Details will show RouteRequest1$.) A shadow variable is referenced as blockname$.shadowVariable, where blockname is the value of the input item's name attribute, and shadowVariable is the name of a specific shadow variable, for example: RouteRequest1$.duration. To assign a value to the Get Shadow Variables property:

  1. Select the Get Shadow Variables row in the block's property table.
  2. In the Value field, select true or false from the drop-down list.

Transfer Results Property

To select transfer results:

  1. Click the Transfer Results row in the block's property table.
  2. Click the OpenDialogBoxButton.gif button to open the Transfer Results dialog box.
  3. Select items from the list of available CPA results, or click Select all or Deselect all as needed, then click OK.

For each item selected, an outport node is added to allow specific actions to be taken for that condition.

Input Grammar Dtmf Property

Use the Input Grammar Dtmf property to specify the DTMF Grammar for the Input Block. The DTMF Grammar is processed and handled by GVP. In the case of external grammars, this specifies the actual path of the grammar file / resource for DTMF Grammars.  This is only valid when the Grammar Type is externalGrammar and Input Mode is dtmf or hybrid. To assign a value to the Input Grammar Dtmf property:

  1. Select the Input Grammar Dtmf row in the block's property table.
  2. In the Value field, select a value from the drop-down list.

Values are the Voice Application Variables described under the Variables Property.

Input Grammar Voice Property

Use the Input Grammar Voice property to specify the Voice Grammar for the Input block. If you are writing hybrid applications that allow both DTMF and Speech input, specify both the DTMF and Voice grammars. The Voice Grammar is sent to the ASR Engine for processing, whereas the DTMF grammar is processed by GVP. As a result, you need two separate grammars for Voice and DTMF in the case of hybrid applications that allow both Voice and DTMF inputs. In the case of external grammars, this specifies the actual path of the grammar file / resource for ASR Grammars..  This is only valid when Grammar Type is externalGrammar and Input Mode is voice or hybrid. To assign a value to the Input Grammar Voice property:

  1. Select the Input Grammar Voice row in the block's property table.
  2. In the Value field, select a value from the drop-down list.

Values are the Voice Application Variables described under the Variables Property.

Input Mode Property

To assign a value to the Input Mode property:

  1. Select the Input Mode row in the block's property table.
  2. In the Value field, select one of the following from the drop-down list:

DTMF

The DTMF format indicates the menu option mode of input will be via the telephone keypad.

Voice

The Voice format indicates the menu option mode of input will be a voice phrase. The Hybrid menu mode will handle both DTMF and Voice inputs, that is via telephone keypad and voice phrase.

This page was last edited on August 13, 2013, at 00:49.
Comments or questions about this documentation? Contact us for support!