ACD Routing for Fighting Wrong Signal Supervision
Emin Gabrielyan
Switzernet Sàrl
The Scientific Park of
Swiss Federal Institute of Technology
2010-06-22 ← 2010-03-31 ← 2009-10-20
ACD
Routing for Fighting Wrong Signal Supervision
2010-06-22:
a multi vendor ACD routing system
The desired target load per vendor
Computation of the rejection rate
2009-10-20
through 2010-03-31: a two-vendor ACD routing system
The two-vendor voice quality control system is successfully
tested during several months and offered us a significant stability without any
call for a manual intervention. In this section we suggest the upgrade of the
two-vendor architecture. We present the formulas for generalizing the
two-vendor design into a multi-vendor version. The three vendor system is
currently of a special urgent interest, as one of the main vendors of our
highly demanded destination (
As usual, we need the ACD values of each of the vendor. Values are periodically collected from the remote billing database. For each vendor the aggregate ACD over all circuits must be computed (without limiting to the circuit representing the ACD transit router only). The choice of the window (restriction of the number of attempts or the time) must be based on the same technique used in the two-vendor system.
We need also the ACD minimal and maximal values. If there
are no stats for computing even the max or min, both, the max and min, must be set
to a ACD default value. Use 9 minutes as a default for
If there are no connected calls to certain route and therefore no stat for computing the ACD of a route, the route’s ACD must be set to the current minimum. Obviously if there are no stats for any of the routes, the ACD values of all vendors, the minimal ACD, and maximal ACD will be all equal to the default ACD value.
The weighted rank of a route is computed as follows:
The route’s rank cannot be more than 1:
The best rank of 1 is possible only if there is only one working route and the ranks of all other routes are equal to zero. The sum of all ranks is always equal to 1:
To avoid divisions by zero assign a non-zero positive value to this (ACD zero) parameter (e.g. 1 second = 1/60). In general, the higher is the value of this parameter, the more vaguely, i.e. the less accented is be the prioritization of the best route.
The desired final load of a route is computed so as to guarantee a minimal traffic via the worst routes. The minimal traffic is needed for continuous quality tracking.
The expanded formula for computing the desired load values is the following:
The load represents a value from the n-th fraction of the load min to 1 (corresponding to a percentage up to 100%)
Similarly to the sum of ranks, the sum of loads is always equal to 1 (i.e. to 100%).
Below is an example of target loads (pink curve), as function of the set of 4 measured ACD values (the blue histograms). The minimal monitoring load is set to 40% which is shared across the 4 routes, constantly ensuring even to the worst route a 10% (the ¼ of the 40%) of the total traffic. The value of ACD zero was set to quasi 0.
The next two subsections are not required for the implementation of the algorithm. Skip these subsections if you are focused on the implementation.
This section is not required for the implementation.
In fact the ACD zero parameter is redundant and the formulas can be always replaced by simplified versions without this parameter. We can prove that for any combination of the following two parameters, the formulas can result the same with an appropriately chosen different value of load min:
There always exists a different load min returning the same results when used in simplified formulas without ACD zero:
The statement looks as follows, when expanded:
This section is not required for the implementation.
The formula for computing the load of a route can be rewritten as follows:
The new load min value, working without ACD zero, must be expressed as follows:
It remains to prove that the right sides of the above two formulas are identical:
Further simplifications show that the two equations are the same, therefore the suggestion is proved:
Though any combination of load min and, ACD min and ACD zero can be replaced by a single (new different) load min, that new load min is not necessary positive and is therefore hard to interpret logically. The joined Excel file shows a computation of the new virtual load min value and validates what was discussed above [xls].
The rejection rate of the current route depends on the target loads of all routes with the lower or equal preferences in the billing:
The expanded formula of the rejection rate:
The following embedded Excel table shows a computation of reject rates for 4 routes (here the routes are sorted in the order of preference). The 4 target loads are computed randomly. The reject rate is computed according to above formulas. The last column is for validation. It computes back the load, based on the reject rate. We see that the loads computed based on reject rate match the initial target load values.
The formula in cell C3 for computation of the reject rate:
=SUMIF($A$2:$A$5,"<"&$A3,$B$2:$B$5)/SUMIF($A$2:$A$5,"<="&$A3,$B$2:$B$5)
Below is the formula in cell D3 for computation of the load, based on reject rates. The percentage of attempts seized (kept) on the next high priority route (preference 4) is equal to D4. The attempts received by that route (preference 4) are equal to D4/(1-C4). The attempts passed from that route (preference 4) to the current route (preference 3) are equal to D4/(1-C4)*C4. The attempts kept by current route (preference 3), i.e. the load of the route is equal to D4/(1-C4)*C4*(1-C3).
=D4/(1-C4)*C4*(1-C3)
A rejection rate on-line calculator (contains an example with 4 vendors) is available below:
A two vendor ACD quality routing system was designed and successfully tested on real voice traffic of about 200’000 minutes per month [1] [3]. The details of the architecture and tests are published [1]. The next step (presented above) is the multi-vendor solution. The subsections of this section present the basics of the two vendor system.
Whenever there is a high demand for a certain phone destination, fake vendors appear in the market offering voice termination with false answer signal supervisions. The worst case scenario is often encountered, the answered signal is returned immediately and calls are being charged without being connected. Different techniques are used to keep the calling party on the line. One of these techniques is to play a record of a ring back tone (while the call is already being charged). Another, more sophisticated technique is to play a human voice randomly picked up from a set of records containing contents similar to: “hello, hello, I cannot hear you…” Apart the fact that these fallacious calls are charged at rates of real calls, such malicious routes seriously handicap the switching process. The system does not detect any failure on the signaling level and is unable to send new attempts via backup routes, the call technically considered as being already connected. Once the call flow falls into such a trap, the calls will continue being routed via the fraudulent route until a manual intervention.
We suggest measuring ACD on different vendor connections and routing based on ACD. Fake calls are terminated by the customer earlier. The ACD of the vendor will ultimately drop if a fraction or all of its calls end up in fraudulent answering systems with wrong answer supervision.
In the proposed model, we consider a system with two vendors (Vendor A and Vendor B) terminating to a destination requiring the automatic quality control. We assume a billing system capable of LCR routing, handovers (assuming proper signaling), and of hard priorities. Both vendors have the same priority and an LCR is enabled.