Percentage routing

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

Example

Let's assume, you have 2 terminators: Terminator1 and Terminator2.
You want to spread the traffic this way:

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

Implementation

This feature is implemented in system in the 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 = 70 + 30 = 100.
Using the sum value the system calculates the actual traffic portions for the routes using the next formula: actual portion = configured portion * 100 / sum.
For our example the actual portion matches the configured portion (70% and 30%).
In case if traffic portion would be configured as 1 and 4, they'd be calculated as 20% and 80%.

2. The system generates the probability distribution for the routes with the traffic portion configured, using their actual portion.
For the example above the distribution will be as follows:

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

4. System puts the rand onto the probability distribution and checks which route matches it.

5. System leaves only the matching route in the routing table and excludes all the other routes with traffic portion set.

As far as during each routing table generation rand is generated into different values, randomly, the routes are chosen randomly.
The bigger the area which is occupied by route on the probability distribution - the more often the route is chosen.

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.

This allows to specify backup routes, which will be used if the routes with percentage routing are unable to connect a call.

Configuration

Traffic portion is configured in the following menus:

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.

Please notice! Traffic portions are followed only approximately.

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