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. 1

2010-06-22: a multi vendor ACD routing system.. 1

Background. 1

Conventions on ACD values. 1

The desired target load per vendor 2

The redundancy of ACD zero. 4

Proof 4

Computation of the rejection rate. 6

2009-10-20 through 2010-03-31: a two-vendor ACD routing system.. 7

Background. 7

Proposed solution. 8

The algorithm... 9

Conclusions and further work. 10

Updates. 10

2010-03-31. 10

References. 11

Glossary. 11

 

2010-06-22: a multi vendor ACD routing system

 

Background

 

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 (Armenia) seems has long term problems and a new reliable vendor (Reliance) offers a possibly high quality termination to the destination in question. The next subsections present the algorithm and the formulas for implementation.

 

Conventions on ACD values

 

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 Yerevan, Armenia.

 

 

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 desired target load per vendor

 

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.

 

The redundancy of ACD zero

 

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:

 

 

 

Proof

 

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].

 

Computation of the rejection rate

 

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:

 

Rejection Calculator [xls]

 

 

2009-10-20 through 2010-03-31: a two-vendor ACD routing system

 

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.

Background

 

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.

 

Proposed solution

 

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.