Showing results for 
Search instead for 
Did you mean: 

UCCX 10.6 - Transfer percentage of calls that hit queue


I have a queue that due to some business decisions is being overloaded. In order to alleviate this overload, our parent organization has offered to supplement our staff however they lie outside our phone system. I have a PSTN number that goes directly to the queue that will support the overloaded csq. I have a couple different objectives for this but right now, what is being asked is to send 25% of the calls that hit the overloaded csq to the supplemental queue (aka PSTN number). 


I think I will need to use the Get Reporting Statistic step using the CSQ IPCC Express report object but the rest of the logic kind of escapes me as I've never had to do this before. Current reports show that the csq group can handle about 75% of the calls they receive as 25% (or there abouts) are abandoned. I already know how to simply send calls to a PSTN number as I have another csq that already does this activity. Can anyone offer some suggestions on how to handle the logic involving the percentages?

2 Replies 2

Anthony Holloway
Cisco Employee
Cisco Employee

What about using the total contacts value in the Get Reporting Statistics step, and see if it's divisible by 4?  Every fourth call should be redirected, resulting in 25% of calls being redirected, right?

total_Calls = Get Reporting Statistic (Total Contact["Your CSQ Name"] from CSQ IPCC Express)
If (total_calls % 4 == 0)
    /* Do the Redirect */


EDIT: Actually, I don't think this would work, unless you queue every call first, and then redirect out of the queue.  Take this chart for example:


Call Scenario Total Contacts Is Divisible by 4? What to do?
1 0 Yes Redirect
2 0 Yes Redirect
3 0 Yes Redirect
4 0 Yes Redirect
5 0 Yes Redirect


The flaw of this method, without queuing 100% of calls first, is that the statistic would not count redirected calls as calls received.  I don't think there is a metric for calls to the phone number, from within a script, thus the need to queue 100% of calls.


In which case, your table would look like this:


Call Scenario Total Contacts Divisible by 4? What to do?
1 1 No Stay in Queue
2 2 No Stay in Queue
3 3 No Stay in Queue
4 4 Yes Remove from Queue/Redirect
5 5 No Stay in Queue


Or could you generate a random number between 1 and 4, and when it's a 1, you redirect the call, otherwise, keep it? Statistically this should result in about 25% of the calls being redirected over a long period of time, but is less precise than the above option.

If ((int) (java.lang.Math.random() * 4) + 1 == 1)
    /* Do the Redirect */


Okay, I see what you did there... And I kind of get why it works. At the end of this, they want to eventually be able to control/throttle the percentage. They will eventually want to type a 2 digit number representing a percentage to handle the calls. Your code theory gave me an idea:


total_Calls = Get Reporting Statistic (Total Contact["Your CSQ Name"] from CSQ IPCC Express)
handled_Calls= Get Reporting Statistic (Contacts Handled["Your CSQ Name"] from CSQ IPCC Express)

percent_not_handled = 100*((total_Calls - handled_Calls)/total_Calls)

If (percent_not_handled >= 25)
          /* Do the Redirect */

This way I can parameterize the 25 at a later date and enable them to update the script with whatever redirect they desire. 


Does the logic make sense? Percent not handled means calls that are either abandoned or still in queue? Check my maths.



Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Recognize Your Peers