Showing results for 
Search instead for 
Did you mean: 

Why the call is not routed to the most skilled agent


All my agents are ready and have a skill level higher than the CSQ but the Select Resource Step of this CSQ always failed.

My settings are :

agent1 (Phone Agent) has Skill1(5).

agent2 (CAD) has Skill1(2) and Skill2(2).

CSQ for Skill1(1).

Can someone tell me where I did wrong or where I need to check ?


10 Replies 10

Rising star
Rising star

We really need some more info, like in what way does your Select Resource step fail? What's happening instead of your desired result? I'll take a stab at your question anyway.

Are callers getting the "Sorry, we are currently experiencing system problems" message?

In the Select Resource step properties, make sure the CSQ name is filled in correctly, and has no typos. If the CSQ you try to queue for with Select Resource doesn't exist, an un-trappable exception will be thrown and the caller hear the system error message. If you run the script in the Reactive Debug mode of the Editor, this will be very obvious.

Make sure you have an existing string variable filled in for the Contact. The Editor's Validate function will catch this, so be sure your script Validates successfully before you upload it. Any script that would fail to Validate in the Editor will fail to execute in the CRA Engine and callers will get the system error message.

Are callers staying on hold forever and not getting to an agent?

If you have the Connect Yes/No setting in the Select Resource step set to No, then you have to use a Connect step under the Selected output branch of Select Resource when you're ready to connect them to the agent. If you fail to do this, your script proceed out of the Select Resource step and the caller will stay on hold indefinitely, plus hang the Selected agent in a Reserved state. Unless you need to use the Set Enterprise Data steps or do something else very specific in the interval between Select Resource and Connect, you want to just set the Connect Yes/No property to Yes - this way you don't need a Connect step, because Select Resource connects it for you.

Are your agents actually set to Ready to take calls as well as being logged-in? It's worth checking.

Are callers getting to the wrong agent?

Make sure you're actually using the Most Skilled queuing method for that CSQ. On the first page of the CSQ configuration, make sure you're using the Resource Skills model instead of Resource Group. On the second screen of the CSQ configuration page in AppAdmin, you have the choices of Longest Available, Most Handled Contacts, Shortest Average Handled Time, Most Skilled and Least Skilled. Make sure you have Most Skilled picked out here.

Also in that screen, use the Show Resources button to have AppAdmin show you its idea of who belongs in that CSQ, based on your skills configuration. That will validate your CSQ configuration as containing the agents you want it to contain.

Does it fall to the queued branch of the Select Resource step? In your CSQ setup, if you click on Show Resources are any agents listed?

In some case, when I update the CSQ configuration by changing the resource group or skill, the first attempt is routed to the agent but the next calls fall in Queued branch even if the agents are ready.

Thanks for your help.

That would almost have to be a bug in IPCC Express. You can hang agents in a Reserved state where they can't take calls if your script is written incorrectly, but the agents would show Reserved in the Realtime Monitor and on the Cisco Agent Desktop itself instead of being Ready, and you assert that your agents are indeed in the Ready state. Hitting update on an unchanged CSQ configuration shouldn't (temporarily) alter the engine's behavior.

What version of IPCC Express are you using? You should make sure you're on the latest service release for whatever version you're on before we even try to troubleshoot further. The latest versions as of this writing:

IPCC Express 3.0(1): service pack B

IPCC Express 3.0(2): service pack A

IPCC Express 3.0(3a): service pack D

IPCC Express 3.1(1): service release 2

IPCC Express 3.1(2): service release 3

IPCC Express 3.1(3): service release 1

I use the Reactive Debug and there is no Exception error.

I use Select Resource with Connect set to No in order to Set Enterprise Data. But even when I set Connect to Yes, I have the same problem.

My agents are listed in the Show Resource box from the CSQ configuration.

From Realtime Reporting and Desktop Supervisor, the agents are connected and ready.

I put some trace in the Engine and the trace file says that there is "No resource available" and select the QUEUED branch.

How can I know in the trace file the data from the CSQ that is using ? I can see :

1035: Jul 16 11:29:03.963 CEST %MIVR-STEP_ICD-7-UNK:Task:21000000058 SelectResourceStep: calling rm.allocateResource() for icdContact 16777307 [91/1] (22) for CSQ3

How can I find the CSQ3 data ?

Did you check to see if the skill level of your resource is higher or equel then the minimum required skill level for your CSQ?

BTW, I have a very similar issue right now. I am running 3.1(2)sr3 and recently added one extra agent. For some reason I can not get the agent to get any call. I checked all calling search spaces and compared all setting with the other users and phones, but can not find any difference. Still, it does not work.

I am thinking that it might be a bug indeed, because the supervisor shows that the agent is available.




Check out the following tech notes...

Cisco IP ICD Fails to Route Call to an Agent Phone - Calling Search Space Issue -


Unable to Route Calls to Agents - CTIERR_MAXCALL_LIMIT_REACHED -


Agent Goes into Reserved State after End of Call - Interruptible Play Prompt -


Cisco IPCC Express: Troubleshooting Calls Stuck In Queue -


Integrated Contact Distribution (ICD) Agents Stuck in RESERVED State With IP Contact

Center (IPCC) Express -




Already did that, but no luck so far :-(

(I saw your post on another thread with this links)

Even more strange, before I added the agent I had one agent with skill level 8 getting the first call if available, and another agent with level 6 being the second in line. Now that I added the new agent with skill level 7 in that CSQ the agent with skill level 6 is getting the most calls. Strange huh?

I have no more this issue on CRS 3.1(3)sr1.

I had a similar problems with my "Most Skilled" queue. In one of the builds they failed to add the "Most Skilled" switch in the rm.aef system script. The updated rm.aef with all the "Resource Selection Criteria" fixed my problem

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Recognize Your Peers