Percentage routing

Percentage routing - the possibility to control a traffic portion, which is generated to particular terminator.

Example

Let's assume, you have 2 terminators: Terminator1 and Terminator2.
You want to spread the traffic this way:
  • 30% of calls go to Terminator1
  • 70% of calls go to Terminator2

To configure such a scheme, you should specify parameter traffic portion 30 for route to Terminator1 and 70 for route to Terminator2.

Implementation

This feature is implemented in system in following way.

1. After routing table is built, the system sums the traffic portion for all the routes, on which it's specified.
In our example sum = 30 + 70 = 100.
Using sum value system calculates actual traffic portions for routes using next formula actual portion = configured portion * 100 / sum.
For our example actual portion matches configured portion (30% and 70%).
In case if traffic portion would be configured as 1 and 4, they'd be calculated into 20% and 80%.

2. System generates random number rand from 0 to 100.

3. System sets variable current portion to 0 and iterates over all routes according to hunting order.

4. In case if route has traffic portion specified, then currenct portion = current portion + actual portion of a route.
In case if rand > current portion, then this route is excluded from routing table.

As far as during each routing table generation rand is generated into different values, randomly, the part of routes gets excluded and a call is directed to remaining routes.
This excluded part is changed randomly according to ratio traffic portion and this way percentage routing is achieved according to configured portions.

Pay attention that traffic portions are followed only approximately!

Interaction with the system of static routing and hunting

This feature works together with the system of static routing and Hunting.
Thus, routing table could contain routes either with configured traffic portion, or without it.
In this case, percentage routing will be applied only to those routes, which have this option configured.
Other routes will be present in routing table as usual and won't be excluded.

Also percentage routing can work together with Hunting.
For example:

  • According to Metrics Terminator1 has more priority than Terminator2.
    In 70% of cases the routing table will look this way:
    1. Терминатор1
    In 30% of cases this way:
    1. Терминатор1
    2. Терминатор2
  • According to Metrics Terminator2 has more priority than Terminator1.
    In 70% of cases the routing table will look this way:
    1. Terminator2
    2. Terminator1
    In 30% of cases this way:
    1. Терминатор1.

Therefore, system will try to perform both percentage routing and hunting to provide the highest ASR possible for incoming traffic.

Configuration

Traffic portion is configured in following widgets:

Checking

You can check if the configuration is correct by performing Check hunting.
By refreshing the web page with results - routing table - you will see a different picture each time.
For example, for the example above, after refreshing the page 10 times, you will see 7 times one order of routes and 3 times - different.

Русский перевод

Also available in: PDF HTML TXT