I am trying to script a scenario where a Call comes in, and in the first instance a preferred resource (agent) is required and is the first option, then if this resource is not available the call is passed to a CSQ.
If the preferred resource becomes available whilst the call is in the CSQ then I would like the call to be delivered to that resource hence the queuing for a resource issue.
the other thing with this is that I would like to report on a single CSQ which would include the stats for the preferred resource. At the moment they are excluded as they are outside of the CSQ.
I tried to nest a select resource inside a select resource from CSQ, but this resulted in some weird behavior - the resource in the CSQ was reserved whilst the call was passed to the preferred resource and then when the call was not answered it bombed out. I dont think this is a supported call flow.
I am sure there is a way but not sure.
I think you want to do something like this:
...Resource based (or agent based) selection must occur first, before the CSQ based select resource step. If that fails, then select a resource from the ACD queue for the call. If the preferred agent resource is a skilled agent or resource group member in the subsequent CSQ (and they should be)-- when they become available, they will be able to answer the call. Otherwise, by design, the next available agent in the CSQ will take the call.
Hope this helps. I'm open to discussing this further if there are other requirements that are not met by this method.
Could we use the "Resource Selected" parameter in the "Select Resource" Step with type=CSQ, to set a preferred resource in the CSQ ?
I'ld like to do CSQ Routing with a preferred agent.
Sure I could use your script, but I'm asking why there is a "Resource Selected" parameter even with the Routing type=CSQ.
There are two separate processes. The first, you are using Resource selection, to see if the preferred agent is available. The second is CSQ based selection, which is used if the Resource selection process fails or the agent is not available; the contact goes to the next available agent.