I have a script, where script places a call to agent, it plays prompt (wishper) and then makes another call to same agent to connect the caller. In this setup, when agent does not answer the call, his state is stuck in RESERVED state and caller is moved to queued section forever. How do I ensure if agent does not answer the call, script releases that agent and waits for say 15sec before trying the agent again.
contact center, Unified Communications
If you remove the call hold step, what happens?
Looking at your script I don't think things will work the way you want them to because you can only deal with one call. It looks like you're trying to park the incoming call, then make an outgoing call, then connect both parties. Are you calling them to try and notify them that a call is in queue?
Once an agent is selected, I am placing a call to the agent for,
a) Alerting the agent with a customer prompt name
b) Then, the agent will get another call to connect to the customer.
I think if agent status is "ready" it meant they are available to take the call. Can't ignore/miss the call for whatever reason. But then how to ensure that agent gets the call again? Right now issue is his status is stuck at RESERVED
I've done this before in the past. It is a bit tricky.
This is what I did to get it to work.
There are Pros/Cons in attempting to deliver "Whisper" tone/prompts with this method.
Hope this helps.
I haven't tested this out, but it would be my guess that, if you reserve an Agent with the Select Resource step, the only way to "unreserve" them, is to send the call to them, and let that timeout.
Therefore, if you want to retry an unanswered whisper, you could simply put a loop/counter in place with a delay step in there and just try the whisper again. Regardless of how many times you loop/attempt the whisper, you'll need to use the Connect step to free that Agent and go to the next available Agent. Granted, you can reasonably expect that the Agent will not answer the actual call if they are not already answering the whisper, so maybe use a variable connection timeout in the Connect step to set it to the lowest possible value, or just a separate Connect step all together. This way, you can ring their phone like 1 time, and move on.
Find an Agent: Select Resource Selected Get User Info (Extension from User ID) Place Call Successful Play Prompt (Whisper) Terminate
Set connect_timeout = 18
Goto Connect to Agent NoAnswer Set connect_timeout = 1 Goto Connect to Agent
All Other Failures
Set connect_timeout = 18
Goto Connect to Agent
Connect to Agent: Connect (User ID, connect_timeout) Connected End Failed Goto Find an Agent Queued Queue Loop: Play Prompt (thank you for waiting) Goto Queue Loop