Showing results for 
Search instead for 
Did you mean: 

Agent Based routing with priority for the agent

So I am not sure the title is the best for what I want to accomplish but basically I have agent routing setup and working.  If the agent isn't avaialble I then set a CSQ variable and route based on skill.  My problem is that during the time the caller is waiting for someone with the skill to become available I still want o prefer the original agent contact.  So at anytime during the waiting that first agent becomes  available I want it to route to them.  I can only see this not working when I do reactive debugging because said agent has the skill that it is looking for.  So before my select resource step for the CSQ  the agent becomes available it doesn't route back to that agent it just keeps stepping down and looks for a resource in the CSQ.

Let me know if this makes sense.


Cisco Employee

When you say "My problem is that during the time the caller is waiting for someone with the skill to become available I still want o prefer the original agent contact."raises below two questions in my mind:

1) At what point in script, you are placing the logic that actually tells you who the original agent was

2) If the call is indeed reaching to the original agent then why he/she is not simply answering the call in the first place.

The only thing I can think of is that when you say agent is not available that means, call goes to the agent but he/she did not answer the call which results in Ring No Answer and then it goes to the CSQ variable. Correct me if I am wrong here, also provide the script and please note more descriptive you will be, better it will be to cut this down



- Rate Helpful Posts -


I am doing an XML lookup to map the Caller ID to an agent.  I then do the select User to verify that the returned user is actually a user.  Once that step is done, I will then be able to route the caller to the specific agent. 

If the agent is currently on the phone with another call, the agent won't be available at the time I try to send them the call.  At that point it looks at the CSQ for another resource. 


Hi Chris-


The way I have accomplished this in the past is by creating a CSQ for each agent and routing to that queue first rather than selecting the agent by name.  


The individual CSQs were configured as Resource Groups and each agent would have their own Resource Group assigned rather than using skill based CSQs.


It should be noted that from a scalability stand point it is a terrible design and I wouldn't use it unless you have a fairly small environment or at the very least a small team that will be configured for it.  This can eat up your finite number of CSQs very quickly.



Thanks for the reply.  I think I am going to leave it as is at this point since I wouldn't want to support agent CSQs moving forward.  It isn't a large group but that is more that I or the customer would want to manage.  

My next issue is that I have callback configured for this script.  The customer would like that if the caller chooses the callback option they would like the callback to be queued for the initial agent.  From the first look at this, I am not sure how to do this because it is a new call the script places to the callback script.  How would I associate a new call to that script with the original call that is hanging out in the primary script?




Refer to Cisco Unified Contact Center Express Script Repository 9.0(2) from the below link that contains various sample UCCX scripts that you can use:
The one for callback is BaseLineMesageCallback.aef script.