interaction-cost-key
Section: budget
Default Value: InteractionCost
Valid Values: <key name>
Changes Take Effect: Immediately
Introduced: 8.5.110
Specifies the key in UserData, where the interaction cost is specified. If changed, all future interactions are affected. This option is recognized by URS.
interaction-cost-key
Section: budget
Default Value: InteractionCost
Valid Values: <key name>
Changes Take Effect: Immediately
Introduced: 8.5.110
Specifies the key in UserData, where the interaction cost is specified. If changed, all future interactions are affected. This option is recognized by URS.
enabled
Section: budget
Default Value: false
Valid Values: true, false
Changes Take Effect: Immediately
Introduced: 8.5.110
Enables the budget model. If set to false, Stat Server does not provide the budget information in the CurrentTargetState statistic on agents. This option is recognized by URS.
Budget-Based Routing
Starting with release 8.5.110, Stat Server supports budget-based routing.
Overview
Budget-based routing is an optional addition to the existing capacity-based routing. Capacity-based routing allows to account for cross-media dependencies and limitations on the allowed number of interactions (such as, those imposed by Trade Unions). There are three possible routing schemas:
- Capacity-based only – This is the legacy approach. Budget-based routing is not enabled.
- Hybrid – Both capacity and budget-based routing are used. Budget-based routing must be enabled.
- Budget-based – Works when there are no cross-media dependencies. By specifying 255 as the maximum value in capacity rules, dependencies do not apply and budget limitations are used instead. To enabled the budget-based routing set the [budget]/enabled option on the Options tab in the Advanced View (Annex) of the Tenant object to true.
The following steps must be done prior to using budget-based routing:
- Determine all classes of interactions for a given media type.
- Assign a cost to each class of interactions.
- Assign agent budgets, based on known interaction costs.
- Add costs and budgets to the configuration.
- Modify a routing strategy to assign costs to interactions.
- Enable budget-based routing in the configuration.
- Make sure that the URS release is 8.1.400.50 or higher.
Each interaction can be assigned its unchangeable cost (using the routing strategy or Media Server) presented in the UserData key InteractionCost (or its override). The key name has to match the value of the interaction-cost-key option, recognized by URS. Stat Server notifies URS about available budgets in the extended CurrentTargetState statistics. URS takes available budgets into account when making a decision about the most suitable agent for the interaction with the specified cost. The agent (or place) has a particular budget assigned on the Tenant/MediaType/Agent or Place level with options in the [budget] section. Budgets on an agent and place are calculated independently, as well as capacity vectors.
- Starting with release 8.5.110.20, Stat Server accepts dynamic interaction-cost related content changes in UserData and recalculates cost-dependent statistics accordingly.
- Changes in the default-cost-<call-type> or interaction-cost-key options in the [budget] section in the Annex of the Tenant object as well as the default-cost-<call-type> options in the [budget] section in the Annex of the MediaType object do not cause immediate re-computation of interaction costs for existing interactions. However, in handling the subsequent changes to UserData of existing interactions, new values of options will be used.
- To have consistent results, Genesys recommends to use the UpdateUserData method (instead of the AttachUserDat method) in routing strategy to associate the cost with interaction.
- Explicitly assigned interaction-cost for an existing interaction has priority over the default-cost and does not change with default-cost changes.
Monitoring
CurrentTargetState Attributes
For agents only, the SCurrentTargetStateInfo attribute pExtensions contains (optionally) the embedded KV-List under the Budget key.
Starting with release 8.5.110.20, the TimeStamp attribute is added. The TimeStamp attribute specifies the moment of the last change in the corresponding media budget counters and is used by URS to select an agent. If two available agents have the same Used/Total/Avail counters for the particular media, then the one with the smaller TimeStamp is selected.
Unchangeable System Attributes
Starting with release 8.5.110.20, the numeric OrigInteractionCost system attribute is available for call actions on the following objects:
- DN
- Media Channel
- Queue
- Routing Point
When an action is started, the immutable OrigInteractionCost system attribute has the same value as the InteractionCost system attribute.
Example: The following statistic can be used to calculate the average interaction cost change, introduced by a given agent:
[Average_Cost_Change]
Category=Formula
Objects=Agent
Expression=AVG( CallInternal,CallInbound,CallOutbound,CallConsult,CallUnknown; abs( kvnum( system, "InteractionCost")-kvnum( system, "OrigInteractionCost")) )
Formula=GetNumber( System, "budget_avail", -1 )
Changeable System Attributes
Starting with Stat Server release 8.5.110.20, the value of the InteractionCost system attribute can change. This numeric attribute was introduced in Stat Server release 8.5.110.03 and is available for call actions on the following objects:
- DN
- Media Channel
- Queue
- Routing Point
Example: The following statistic can be used to calculate the budget needed to handle all voice calls waiting in a given Virtual Queue:
[Required_Budget]
Category=CurrentCustomValue
Objects=Queue
MainMask=CallWait
Subject=DNAction
MediaType=voice
Formula=GetNumber( System, "InteractionCost", -1 )
The following numeric system attributes on Routable/NonRoutable actions are available for Agents/Places/AgentGroups/PlaceGroups:
- budget_total
- budget_used
- budget_avail
- budget_timestamp
Example: The following statistic can be used to calculate an available budget for a chat on a group of agents:
[Available_Chat_Budget]
Category=CurrentCustomValue
Objects=GroupAgents
MainMask=Routable
Subject=DNAction
MediaType=chat
Formula=GetNumber( System, "budget_avail", -1 )
Logging
The following LMS messages are available for the budget-based routing nitifications:
- 10077|STANDARD|GCTI_SS_BUDGET_MODEL_ENABLED|Budget model is enabled on tenant '%s'
- 10078|STANDARD|GCTI_SS_BUDGET_MODEL_DISABLED|Budget model is disabled on tenant '%s'
When changed, budget related parameters are printed in the debug log for the following configuration objects:
- Tenant
- Media-type
- Agent
- Place
For agents and places, the budget statistic is printed in the debug log, along with the capacity information.