Jump to: navigation, search

Target Block

Use to route an voice interaction to a target (use Route Interaction for multimedia interactions). Also use for percentage routing and conditional routing using the threshold functions. The Target block has the following properties:

Name Property

Find this property's details under Common Properties.

Block Notes Property

Find this property's details under Common Properties.

Clear Targets Property

Click the down arrow and select true or false (default). If set to true, URS retains the targets listed in the block are after the interaction moves on through the strategy and encounters other Target blocks.

  • This option is only applicable if more than one Target block is used along the same path in the strategy. It has nothing to do with how agents specified within the block are evaluated for availability. If no additional Target blocks are included in the path and no agent is available, the interaction is default-routed. If more than one agent is available, URS uses the statistic specified in the Statistics property to determine which agent receives the interaction.

If Clear Targets = false and the current interaction encounters a Target block later in the strategy, the targets in this block are added to those of the next Target block. If Clear Target = true, the targets are not added to the list of any Target block that the interaction encounters later in the strategy. For example, assume two Target blocks are used in a strategy with the first Target block configured with three agents and a timeout of 30 seconds and the second Target block configured with four new agents and a timeout of 60 seconds. The Clear Targets setting determines which agents are considered as targets for an interaction.

  • Clear Targets = true. In the first Target block, URS waits for 30 seconds for any of the three agents to become available. If none are available before the timeout expires, the strategy resumes. When the second Target block is encountered, URS only considers these four new agents as possible targets during the 60-second timeout. URS does not consider (clears) the first three agents as possible targets.
  • Clear Targets = false and none of the agents listed in the first Target block are available. When the interaction encounters the second Target block, URS considers the first three agents and the four new agents as possible targets during the 60-second timeout set in this object. If no more Target blocks follow the second Target block and no agents are available before the timeout expires, the interaction is routed to the error port.

Condition Property

Find this property's details under Common Properties.

Detach Property

Use for multi-site routing. Controls whether the Orchestration Platform should <detach> an interaction from the current session before routing to reserved targets. When this property is set to true, the interaction is detached from the current session.

Detach Timeout Property

Use to specify how long to attempt to <detach> if an initial attempt fails with an invalidstate error. Specify the timeout in milliseconds. If set to 0, no further attempt to detach is made. After the timeout, if the <detach> is not successful, no further attempts will be made and the block will attempt to reclaim the interaction back into the current session using <attach>.

Enable Status Property

Find this property's details under Common Properties.

Exceptions Property

Find this property's details under Common Properties. Note: Exceptions for Busy treatment blocks should be handled in the Target block to which they are connected and not in the Busy treatment blocks themselves. Busy treatment exceptions are raised as the error.queue.submit exception and not as exceptions listed in individual treatment blocks.

From Property

A value expression, which returns the address that this interaction is to be redirected from. Set this property to the variable DNIS for voice interactions, or to the variable InteractionID for multimedia interactions. Composer will automatically set this property to DNIS or to InteractionID when the Destination property is set (respectively) to a Target Block or to a Route Interaction block. When the Destination property is not assigned a Block Reference value, you must select the appropriate From value.

  1. Click under Value to display the OpenDialogBoxButton.gif button.
  2. Click the OpenDialogBoxButton.gif button to open the From dialog box.
  3. Select one of the following:
  • Literal.  For Value, you can specify:
  • An agent: <agent id>
  • A place: <place id>
  • A DN: <number>
  • An e-mail address: <username>@<host> or _origin or _origin.all  or _udata
  • A customer number: <dn number>
  • A target format addresses: <Target DN>

See the Orchestration Server Documentation Wiki for those literals that apply to multimedia interactions only.

  • Variable. If the variable contains a string, see Literal above. If the value is a JSON object, Value can refer to:
  • An agent: {agent: <agent id>, type:A}
  • An agent group: {agent: <name>, type:AG}
  • A place: {place: <place id>, type:AP}
  • A place group: {place: <name>, type:PG}
  • A DN: {dn: <number>, type:Q or RP or DN, switch:<switch name>}
  • An interaction queue: {id: <q name>, type:iq }
  • A workbin: {id: <wb name>, type:wb<owner>}
  • A customer number: {dn: <number>}
  • A target format addresses: Resource Object from the queue.submit.done event (the Target Block Resource Selected property).

See the Orchestration Server Documentation Wiki for those literals that apply to multimedia interactions only.

  • Configuration Server to select the from Switch//DN if connected.  
  • Resource to select a resource using properties that will form a JSON object.

See the Orchestration Server Documentation Wiki.

  1. Click OK to close the From dialog box.  

Hints Property

This property is for future use by Orchestration Server. Its use will be described in various action elements reference in the Orchestration Server wiki.

Include Requests from Previous Blocks Property

This property controls whether the block should transition if a target from previous Target block is selected even though it may not be specified in the current block. Set it to true for cascaded target lookups. If set to false, the block will wait until a target specified in the current block is selected for routing.

Interaction ID Property

Set to a meaningful value or keep the default value, which is the system variable InteractionId. Set to a meaningful value or keep the default value, which is the system variable InteractionId. Find more details under Common Properties.

Logging Details Property

Find this property's details under Common Properties.

Log Level Property

Find this property's details under Common Properties.

Pass Context Property

This property accepts true/false values. When set to true and Detach is also true:

  • URL built with the block name is stored into this interaction's user data (user data key name is '_composer_originating_session') just before detaching the interaction. That URL will be used by the orchestration destination session (the new orchestration session started to handle the interaction after it was redirected to an other routing point) to request the context of the originating session. After the processing for this block is over, the originating session is blocked until the destination session actually reads the context. The context consists of the system and user variables.

Resource Selected Property

Click the down arrow and select the variable that specifies the target resource for the interaction.

Target Component Selected Property

Select a variable containing the agent-level target to which the interaction was routed or should be routed to definitively.

  • If the target specified in <submit>  and selected for routing is of type Agent, Place, Queue, or Routing Point, this contains the target itself.
  • If the desired target type is Agent Group, Place Group, or Queue Group, the  function returns the agent, place, or queue from the corresponding group the interaction was sent to.

The target format isName@StatServerName.Type. The selected variable will be updated with the target information after receiving a queue.submit.done.

Target Object Selected Property

Select a variable containing the high-level target (one that you specify in a <submit>) to which the interaction was routed or should be routed to definitively. If a skill expression is used, the function returns: ?:SkillExpression@statserver.GA or even ?GroupName:SkillExpression@statserver.GA. The target format isName@StatServerName.Type. The selected variable will be updated with the target information after receiving a queue.submit.done.

Target Selected Property

Select a variable containing the DN and the switch name of the target to which the interaction was routed or should be routed to definitively. The target format is Name@SwitchName.Type. The selected variable will be updated with the target information after receiving a queue.submit.done.

Use Treatments Property

You can specify Busy treatments that will be executed while waiting for targets to become available. To enable Busy treatments, set this property to true. Busy treatments are similar to Mandatory treatments that you can specify using individual Voice Treatment blocks. This property provides instructions to Universal Routing Server for handling the interaction before an eligible target is available to receive it. Treatments (or Busys  treatments) are played to callers while the call is waiting in a queue. You can specify any number of treatments for an interaction. The waiting interaction receives each treatment for the specified duration, in the specified order. Any time that URS finds an available target for the call, the previously-started and currently-played busy treatment (and the entire Busy treatments chain) will be interrupted in favor of routing the call to a target. Target availability is checked upon starting a treatment, on updates from Stat Server, and usually every 2 seconds (the value of this time interval is configurable by the URS option pulse_time). In order to specify treatments, this property must be set to true. Setting to true displays a new Busy treatments outport on the Target block. As shown below, you can connect treatment blocks to this outport that should be used for Busy treatments. Connect the last Busy treatment block back to its Target block. This indicates the completion of the Busy treatments loop.

BusyTreatments.gif

Notes: Busy treatment blocks cannot handle exceptions or be used for exception handling. Diagram validation will check that the loop is completely correctly and that only appropriate blocks are used for Busy treatments.

Priority Property

To use this optional property, click the down arrow under Value and select the variable, which contains a value expression returning the priority that the interaction will be given in the queue. For more information, see http://www.w3.org/TR/scxml/#ValueExpressions.

Route Property

Use this property to set the SCXML <queue:submit> route attribute. Also see the Use Access Code property below.

  1. Click under Value to display the OpenDialogBoxButton.gif button.
  2. Click the OpenDialogBoxButton.gif button to open the Route dialog box.
  3. Select one of the following:
  • Variable. Then for Value, select the variable that contains either True (default) or False.  
  • Literal. Then for Value, enter either True or False.

When set to False, the functional module will not attempt to route the associated interaction.

Statistic Property

Optional. If you wish to route based on the value of a statistic:

  1. Click under Value to display the OpenDialogBoxButton.gif button.
  2. Click the OpenDialogBoxButton.gif button to open the Statistic dialog box.
SelectStatdialog.gif
  1. You can select a URS-predefined statistic, a custom statistic created with Statistics Builder, or a variable that contain the statistic.
  1. Click OK when through in the dialog box.

In order to select a statistic, you must be connected to Configuration Server and have set the option to use URS Predefined statistics. Below are the URS predefined statistics:

CallsWaiting RStatLoadBalance StatTimeInReadyState
InVQWaitTime StatAgentsTotal StatAgentsAvailable
PositionInQueue StatCallsAnswered StatAgentsBusy
RStatLBEWTLAA StatCallsCompleted StatAgentsInQueueLogin
RStatCallsInQueue StatCallsInQueue StatAgentsInQueueReady
RStatCallsInTransition StatEstimatedWaitingTime StatAgentLoading
RStatCost StatExpectedWaitingTime StatAgentLoadingMedia
RStatExpectedLBEWTLAA StatLoadBalance StatAgentOccupancy
RStatExpectedLoadBalance StatServiceFactor  

For a definition of each statistic and recommended usage, consult the chapter on routing statistics in the Universal Routing 8.1 Reference Manual. The statistic you select is used by Universal Routing Server to determine which target to route the interaction to if more than one target is available.   After defining a complete set of available agents (taking agent capacity rules into consideration, if configured), URS applies the selection criteria specified in the Target block, which can include using the minimum or maximum value of the statistic (see Statistics Order property).  

Statistics Order Property

This property can work with the Statistics property.

  • Select Max or Min to specify whether the interaction should be routed to the target with the maximum or the minimum value of the statistic.
  • Select to route interactions to targets based on a percentage allocation. This selection causes the dialog box that opens from the Targets property to display a column where you can specify a percentage for each target.
Percentage.gif

Targets Property

Use this property to specify routing targets and for percentage or conditional routing using the Resource Finder.

  1. If you have not already done so, connect to Configuration Server.
  2. Opposite the Targets property, click under Value to display the OpenDialogBoxButton.gif button.
  3. Click the OpenDialogBoxButton.gif button. The Targets dialog box opens.
  4. Click Add in the Targets dialog box.
  5. Click under Type to display a down arrow.
  6. Click the down arrow and select the target type: Agent, AgentGroup, ACDQueue, Campaign Group, Destination Label, Place, PlaceGroup, Queue Group, RoutePoint, Skill, or Variable.
  7. Click under the Name field to display the OpenDialogBoxButton.gif button.

The figure below shows the Targets dialog box when Min or Max is selected for the Statistics Order property. In this case, a Stat Server column appears.  

TargetsProp3.gif

If you select Percentage for the Statistics Order property, a Weight column appears instead of a Stat Server column (see Statistics Order property above).

  1. Click the OpenDialogBoxButton.gif button to bring up the Resource Finder. Targets of the selected type appear for selection. An example is shown below.
TargetsProp2.gif
  1. Select a routing target and click OK.  
  2. Select a Stat Server. An example completed dialog box is shown below.
TargetsProp.gif
  1. You have the option to add another target or click OK in the Targets dialog box.
  2. You also have the option of using the threshold functions for conditional routing. You can use Threshold to define additional conditions the target must meet to be considered as valid routing target. Click the button under Threshold to open Expression Builder where you can create a threshold expression.
  3. See Creating Threshold Expressions below.
  4. Click OK when through in the Targets dialog box.

Timeout Property

If not specified, validation generates an error. Enter an integer to specify the time in seconds an interaction waits for an available target. If the timeout expires before one of the targets is available, the interaction is routed to the error port. This value can be specified as a variable (previously defined in the Entry object) or an integer. Upon entering any Target block, if a target was not selected and at least one statistic is not open and waiting time is 0, URS adjusts waiting time to the maximum specified in URS options reservation_pulling_time and treatment_delay_time values. This eliminates the possibility of not routing the first call after URS is started.

Type Property

Use to define the type of redirection processing that is to be done. For more information and individual values, see the Orchestration Server Developer's Guide on the Orchestration Server Wiki.  

Use Access Code Property

Set to true to update the DN property of the resource reserved based on routing criteria to include the access code returned by URS. If true and the Route property is set to false, the resource object will still be modified even though the Target block will not route the call to the resource.

Use Access Code Setter Property

This property specifies the name of the function to use to update the resource with the returned access code. By default, this property points to the updateDN(accesscode, dn) function from include/RouteFeature.js. You can update the provided function so that all Target blocks that use this function benefit from the update. Or you can provide your own function to implement specific needs for a specific block

Virtual Queue Property

Use this property to define the enabled ACD virtual queue for the tenant. The virtual queue is not a physical queue but rather a logical queue to which interactions are queued if the specified targets are not available. Also see the Virtual Queue Selected property, which lets you select a variable. To define the virtual queue:

  1. Opposite the Virtual Queue property, click under Value to display the OpenDialogBoxButton.gif button.
  2. Click the OpenDialogBoxButton.gif button. The Virtual Queue dialog box opens.
  3. Configuration Database are listed for selection. Select a queue.
  4. Click OK.

Virtual Queue Selected Property

Select a variable containing a logical queue (Alias) to which interactions are queued if the specified targets are not available. Also see the Virtual Queue property below, which lets you specify the queue.

Creating Threshold Expressions

When using the Target block, Targets property, to define a threshold expression, there are two different cases:

  • The threshold value contains an occurrence of sdata, acfgdata, lcfgdata: the threshold expression is not evaluated by the Orchestration platform. Instead, the whole expression is passed as a string to the underlying queue functional module which evaluates that expression. The underlying queue module is not aware of the variables defined in the SCXML application. If any variable is part of the expression, it does not get evaluated.

For example the threshold expression: sdata('agtgrp1.GA', 'StatAgentsAvailable') > var0 is passed to the ORS as threshold="'sdata(\'agtgrp1.GA\', \'StatAgentsAvailable\') > var0'"

  • The threshold value does not contain any occurrence of sdata, acfgdata, lcfgdata: the threshold expression can be evaluated by ORS. The result of the expression is passed to the underlying queue functional module. The expression may contain variables. For example the threshold expression: var0 + from_sub is passed to Orchestration Server as threshold="var0 + from_sub"

See Queue Interface Action Elements for more detail.

This page was last modified on December 11, 2014, at 12:39.

Feedback

Comment on this article:

blog comments powered by Disqus