Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

ACD question in relation to vectors

Status
Not open for further replies.

JJacobs313

Technical User
Apr 26, 2013
185
0
0
US
So, I took over a phone system where this was already in place, we use CM 6.2 (for now) and ACD with call queues and agents.

Usually the vector looks at if there are any staffed agents, time of day, holiday and moves on down the line. Recently there has been an uptick in the number of agents who will AUX, and then log out of the queue while there are calls in queue. So then they hang there, unless I go in and do a temporary change to funnel them out.

My question is, how do others handle this in the vector programming? I don't want to send them all the way to the beginning of the vector again to check time of day etc, because they would end up hearing the main announcements again. Just curious how others do their programming. i knows around it, but wondered just how others were doing it, maybe there are options I am not thinking about.

Here is an example of one:
Some COVID information...
06 wait-time 2 secs hearing ringback
07 goto step 19 if time-of-day is fri 16:30 to mon 08:00
08 goto step 19 if time-of-day is all 16:30 to all 08:00
09 goto step 19 if holiday in table 1
10 goto step 19 if staffed-agents in skill 14 = 0
11 queue-to skill 14 pri m
12 announcement 3497
13 wait-time 30 secs hearing music
14 announcement 3401
15 wait-time 30 secs hearing music
16 announcement 3667
17 goto step 13 if unconditionally
18 stop
19 route-to number 8136360 with cov y if unconditionally


"I am learning all the time. The tombstone will be my diploma." - Eartha Kitt
 
set up rona on the hunt group which stands for ring on no answer, point it to a vdn that sends it back into the queue but with a higher priority

ACSS IP Office AIPS IP Office
 
If all my agents have logged out early, which is the issue, how would ringing it back at a higher priority help the issue? I am looking for more of how to keep calls from being stuck in queue if it is still business day, but all the agents have logged out early. I mean i can loop it back to checking the day, but that seems a bit silly, guessing there is a better way. I don't want to send them all back to the top, and hear the main announcement again, but would you really put a time of day check further down in the vector to avoid this issue? Just looking for other methods.

I think I am hearing in your second post that I can do a check skill X pri m is staffed agents > 0
but then what would my next step be, because I only want to send them somewhere else if there are 0 agents staffed.

I wonder if people do not just put a goto step if staffed agents = 0 further on down the queue? Might be the best way to take care of this situation.

"I am learning all the time. The tombstone will be my diploma." - Eartha Kitt
 
There's only so much we can do with programming. It is up to the manager of the call center to educate and enforce the rule that the queue must be checked before logging out. Agents can make themselves available to get any call still in queue or there are various ways to check the queue. CMS, TASKE, or even a vu-stats button will help see if there is anyone stuck in queue.

To minimize the pain of staying in a queue too long if all Agents are unavailable or un-staffed, I try to incorporate these ideas:
[ul]
[li]A timeout on queues so that there is a maximum time callers will wait in queue before routing to another destination (answering service, other queue, vmail, etc). A loop counter (A) works well.[/li]
[li]Variable CQ let's me count how many times the call has been re-queued via RONA (SEEK-YOU, get it?) The RONA vector will check CQ and send to different Queues or priorities depending on the value.[/li]
[li]Estimated Wait Time (Line 14 - vector 415) provides callers with a spoken estimate of the wait-time.[/li]
[li]In this vector the staff level is checked just before entering into the queue. If there are no agents staffed then the call goes to voicemail.[/li]
[li]At Line 22 we introduce the ability to press "1" to exit the queue and go to voicemail - but only after so much time (loops) have elapsed. This gives callers a bit of control over their other than just hanging up.[/li]
[/ul]

If managers or agents won't properly monitor the queue the you can add another staff check, perhaps just after the wait-time statement.


Code:
7	set A = none ADD 0
8	# Next Priority = Medium (2)
9	set CQ = none ADD 2
10	# Check for Staffed Agents
11	goto step 32 if staffed-agents in skill 1st = 0
12	queue-to skill 1st pri l
13	# Check Estimated Wait Time (Only if no immediate Agents)
14	goto vector 415 @step 1 if unconditionally
15	wait-time 2 mins hearing music
16	goto step 20 if A >= 1
17	# Play Ann "All Busy" the first time only.
18	announcement AR
19	goto step 26 if unconditionally
20	# Play Ann "Still Busy" on 2nd loop and above.
21	announcement AS
22	# Vmail Option on loop 4 and above.
23	goto step 26 if A <= 3
24	collect 1 digits after announcement AT for none
25	goto step 34 if digits = 1
26	# Increment Counter (A) and check for max loops (6).
27	set A = A ADD 1
28	goto step 31 if A >= 6
29	goto step 15 if unconditionally
30	# -----------------------------------------------------------------------
31	# Menu Timeout
32	# Announcement "No Agents"
33	announcement AV
34	# Voicemail
35	announcement AI
36	messaging skill 1 for extension BA
37	stop

 
Thanks! Yeah, we are a small hospital, and so these are tiny internal clinic queues, like two agents on at any given time, max of six. So we don't use any RONA or sending calls elsewhere, no where else to really send them. The spoken estimated time is something I am interested in, but never looked into. We do use the option to press 1 for voice mail, but I have had callers that just don't want to, and end up just sitting in a loop. I will def look into some of these options.

"I am learning all the time. The tombstone will be my diploma." - Eartha Kitt
 
Even in small call-centers I'd recommend a RONA vector to at least queue the call for the next available Agent. That keeps the call in queue if the call is presented to an Agent but that Agent stepped away or otherwise didn't answer.

For estimated wait time I record several announcements:

4000 "Your Estimated Wait Time is"
4001 "Up to two minutes"
4002 "Up to four minutes"
4003 "Up to six minutes"
4004 "Up to eight minutes"
4005 "Due to heavier than normal call volumes, your time on hold may be ten minutes or more"

The vector just checks the expected-wait time for the skill and plays the appropriate announcements:

Code:
1	# Purpose: To Inform callers of the approximate wait time in Queue
2	# Last change: 2020-02-14
3	# -----------------------------------------------------------------------
4	# Check for Long Wait
5	goto step 12 if expected-wait for skill 1st pri l >= 500
6	announcement 4000
7	goto step 15 if expected-wait for skill 1st pri l <= 120
8	goto step 18 if expected-wait for skill 1st pri l <= 240
9	goto step 21 if expected-wait for skill 1st pri l <= 360
10	goto step 24 if expected-wait for skill 1st pri l <= 499
11	# -----------------------------------------------------------------------
12	# Over 8 minutes is considered "10 or more"
13	announcement 4005
14	goto step 28 if unconditionally
15	# Up to Two Minutes
16	announcement 4001
17	goto step 28 if unconditionally
18	# Up to Four Minutes
19	announcement 4002
20	goto step 28 if unconditionally
21	# Up to Six Minutes
22	announcement 4003
23	goto step 28 if unconditionally
24	# Up to Eight Minutes
25	announcement 4004
26	goto step 28 if unconditionally
27	# -----------------------------------------------------------------------
28	# Return to Previous Vector
29	return
30	stop

 
In the end, you'll still need to come up with a plan if no one is logged in. You can send the call to another queue/extension/answering service, play a message and disconnect, or send the call to a mailbox. I wouldn't do another time check but if the agents always disappear at 4:30 then that might be necessary.
It's on the call center staff to not leave calls in queue. You can certainly end up with callers that will just sit on hold regardless of hearing that their call will be answered after X amount of minutes so it's a nice feature to set up but doesn't fix your agents jumping ship and leaving callers in limbo.
 
Right. We don't have issues with people not using AUX either. Actually I have the opposite issue and agents have started sitting in AUX, and if they see a call in queue, then they auto-in, which managers don't seem to care about. It has just been recent that I am getting email triggers from call accounting software of long queue times, and I check, sure enough, agent just Auxed during last call, and then logged out with calls in queue. Really all I can do is keep telling the managers, but then they come back with, well what is in place to stop this? A few I have put a staffed agent check, but I shouldn't have to be doing it, I agree.

"I am learning all the time. The tombstone will be my diploma." - Eartha Kitt
 
RONA = Redirect On No Answer

You can place a timer in the queue and send the call off to a different vector where it rechecks for agents available and drops the call back in the original vector at the step just before queueing if agents are still available, or sends the call to VM or something else if agents have all logged off for the day. That way no one sits on queue longer than your timer says they should.
 
What do the managers expect? Just dump the calls to the manager and see if they like that instead.

You could offer to change the time check to 4:25 or earlier to curb the issue with negligent agents but I can guess how that would go over.
 

Call centers should staff to take calls after the call center "closes". If there are calls in queue and calls take an average of X minutes to handle, then they should be scheduling agents to stay on the phone until X after the calls are no longer put in queue. That's on the call center.

You can put in a step in the vector after the call is queued and in the loop of music and announcements to check the time while the call is in queue and if the time is after 4:30pm to send the call to a message that says the center is closed and they will need to call back during normal business hours then disconnect the call. Callers are going to be just as upset as waiting indefinitely in queue and not being answered, or when you disconnect them manually.

You could also put in a time check before you queue the call (say if time is greater than 4:20pm and play a message that warns callers that due to the time of their call, the center may close before their call is answered by an agent. That might soften the blow of being told the center is closed and disconnecting the caller.

The call center needs to do a better job staffing and staying on the phones until the queue clears, or the business/call center will have to deal with customers that are upset.



- Stinney

“The man who asks a question is a fool for a minute, the man who does not ask is a fool for life.” - Confucius
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top