Jump to: navigation, search


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.


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.


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.


CurrentTargetState Attributes

For agents only, the SCurrentTargetStateInfo attribute pExtensions contains (optionally) the embedded KV-List under the Budget key.

Unchangeable System Attributes

The numeric InteractionCost system attribute 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:

Formula=GetNumber( System, "InteractionCost", -1 )

Changeable System Attributes

The following numeric system attributes on Routable/NonRoutable actions are available for Agents/Places/AgentGroups/PlaceGroups:

  • budget_total
  • budget_used
  • budget_avail

Example: The following statistic can be used to calculate an available budget for a chat on a group of agents:

Formula=GetNumber( System, "budget_avail", -1 )


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.


Comment on this article:

blog comments powered by Disqus
This page was last modified on June 29, 2018, at 11:35.