How Virtual Queue works?

What is Virtual Queue?

Virtual Queue is a logical queue where an interaction is queued if the target is not available. Virtual queues can be associated with any target type like agent, agent groups, place and place groups and commonly used for reporting purpose.

Events on virtual queues are similar to those on actual queues and URS simply uses T-Server to distribute queue events (EventQueued, EventDiverted and EventAbandoned) to the Stat Server for reporting purpose.

How it works?

When an interaction is waiting for a target, URS requests T-Server to distribute an ‘EventQueued‘ for the virtual queue. For Stat Server, this means that interaction is queued for target and will start calculating stats.

When target is available and interaction is routed to target, URS requests T-Server to distribute ‘EventDiverted‘ for the virtual queue.

If the customer hangs up while waiting for the target, URS requests T-Server to distribute ‘EventAbandoned‘ for the virtual queue.

To understand it better, I developed sample routing strategy where call is simply routed to agent ‘agent01’. Let’s see all the above scenarios from URS and T-Server log files.

From URS logs, we can see that call with ConnID ‘006c02462a161006’ is now entering strategy ‘VQDemo’ and immediately targeting agents with Skill ‘Skill1’

_I_I_006c02462a161006 [14:33] strategy: *0x65*VQDemo is attached to the call

EventDiverted Request to T-Server – When it will be sent?

When the target is available, URS requests T-Server to route to the target using ‘RequestRouteCall’. After receiving event ‘EventRouteUsed’, URS requests T-Server to send ‘EventDiverted’ event as seen below