I have a situation which I'm struggling with and can't figure out.
There's a call center application with a CSQ set with an automatic 30 seconds WORK state after answering a call.
The weird behavior is that :
- if there's no call waiting in the queue the agent can manually change its state from WORK to READY before the end of the 30 seconds and make himsel/herself available to answer a call
- if there's a call witing in the queue, then the agent can't manually change its state from WORK to READY and the call is transfered to him/her only at the end of the 30 seconds. The other strange thing is that if the agent tries to change its state from READY to WORK, it looks like the call is assigned to him/her but will only be transferred at the end of a timer.
This was working before I change the script just to add another announcement before the "select resource" object in the script.
I thought the reason was in fact the "call hold-delay timer-call unhold" sequence in the loop but the delay is set to "interruptible" so if an agent becomes available it should stop the delay and attempt transfer.
One thing I can think of is that I changed the way the script is called.
Instad of calling it using a "Call Subflow", I am using now a "Trigger Application" and am wondering if the way I set the "Trigger Application" variable inside the called application's script could be the reason of this behavior.
I looked around but couldn't find a documentation describing what are the conditions that could prevent an agent in WORK state to manually switch to READY.
Thank you in advance for any hint.
Thank you very much for replying and trying to help.
I thought about it and checked it and yes the "Delay" object is set in the script as interruptible.
And I made some tests outside of office hours with only one agent being in "not Ready" state so the call is being put on hold for 30 seconds, and as soon as I switch the agent state to "Ready" the call is distributed to the agent.
Sorry if my answer was confusing but no, the problem is the same. What I meant is that I confirmed that the "Delay" object was set to "interruptible" and that making some tests, when switching from "not ready" to ready the call on hold during the delay is distributed.
But agents still can't switch from "work" to ready manually when there is a call waiting in the queue.