UCCX Automatic Call Distribution (ACD) Part 2

In my last post, we looked at configuring UCCX Queues, Skills, and Resource Groups. In this post, we will look at Agents, Supervisors, and Teams. These are how UCCX manages the call center employees. Agents (or Resources) are the people that  answer the incoming phone calls, or are assigned outgoing calls. Supervisors are usually the call center managers, although this capability may be assigned to other people, such as marketing, HR, or IT employees. Teams are administrative groupings of agents, supervisors, and queues.

Configuring Agents (Resources)

In UCCX, agents are referred to a Resources. A Resource can be assigned skills, be assigned to a Resource Group, or both. Agents are the people that calls are directed to, based on skills or resource groups.

The Agent capability cannot be assigned directly to a user; to make a CUCM user a call center agent, find the end user in UCM end users, and assign the user’s phone as a controlled device. Once you click save, you will be able to select a line from any of the controlled devices as the IPCC (IP Contact Center, one of the various names UCCX has had) extension. The extension used for UCCX must not be shared, and should be the first line on the phone. Once a UCM end user has an IPCC extension assigned, they have the agent ability assigned automatically.

Agents also need to be assigned Skills or assigned to a Resource Group before calls will be routed to them. To access the Resource Configuration page, you can go through Subsystems > RmCm > Resources, or the Configure Resource link in User Configuration. In the Resource Configuration page, you can assign a single Resource Group, and one or more skills.

UCCX Resource Configuration Screenshot

To assign a new skill or skills, select a skill, or multiple skills using the Shift or Ctrl keys, in the Unassigned Skills, then select a Competence Level, and click the left arrow to move them to Assigned Skills. Once a skill is assigned, you can select it, and click the right arrow to unassign it, or change the Competence Level with the drop down. You can assign the resource to a team on this page, or on the Team configuration page. The Team configuration here is only for agent purposes, and does not affect supervisor rights.

Configuring a UCCX Agent’s Phone

For a phone to be usable as an agent phone, there are several configurations needed. The phone must be set as IPv4 only, via a common device configuration assigned to the phone. To do this, in the UCM Administration site, go to Device > Device Settings > Common Device Profile. If you have an appropriate Common Device Configuration, you can edit that, otherwise, create a new one, give it a name like “CCX Agents,” and set the IP Addressing Mode to “IPv4 Only.” The other settings can be left as the defaults. Apply this Common Device Configuration to the phones on the phone configuration page.

For CAD based recording and remote silent monitoring, “Span to PC Port” must be enabled on the phone on the phone configuration page.

IP Phone Agent (IPPA) needs Web Access enabled on the phone configuration page.

The phone must be associated with the RmCm user created when UCCX was installed.

For IPPA, the phone must also be associated with the telecaster user.

Configuring Supervisors

Supervisors are able to view and manage agents. Supervisors can log into the AppAdmin page to make changes to queues and resources, and use the Cisco Supervisor Desktop (CSD) to monitor agents and queues, as well as listen to agent calls, send team messages, and other functions. Supervisors can also be agents, and to intercept an agent call or conference in from CSD, they need to be an agent and be running Cisco Agent Desktop (CAD.) If the supervisors wants to be logged in for call intervention, but should not receive calls, they should stay not ready in CAD, or not be assigned skills. Another common configuration is to assign the supervisors a much lower skill level than the agents, that way calls will only route to them if no other agents are available, assuming the CSQ is configured for Most Skilled. Remember if doing this that calls will route immediately to the Supervisors if they are ready and no one else is logged in and ready.

To assign a user Supervisor access, open AppAdmin, go to Tool > User Management > User View, and find the user. Once in the User Configuration page, find Supervisor under Available Capabilities, highlight it, click the left arrow to move it to Selected Capabilities, and click Save.

Supervisors can log into the AppAdmin page, and make changes to Resources, Teams, and Queues. To be able to do this, the administrator has to go into System > System Parameters, and select either “Access to Supervisor’s Teams Only” or “Access to All Teams” under Supervisor Access.

Configuring Teams

Teams are a grouping of Agents, supervisors, and contact service queues that are used for Supervisor access. Supervisors can change skills for agents assigned to teams they manage, change parameters for contact service queues assigned to their teams, and assign agents to teams.

Agents can only be part of one team, but supervisors can manage multiple teams, and contact service queues can be assigned to multiple teams. For a Supervisor to be able to monitor and agent or queue in Supervisor Desktop, the agent or queue must be part of a team the supervisor is assigned to.

To configure a team, open the AppAdmin page, and navigate to Subsystems > RmCm > Teams. Edit a team, or click Add New.

 photo team.png

In the team configuration page, assign a Name and a Primary Supervisor. You can then assign Secondary Supervisors, Resources, and CSQs. Supervisors and CSQs can belong to multiple teams, but Resources can only be members of a single team.

Check out the rest of my UCCX posts here.

8 thoughts on “UCCX Automatic Call Distribution (ACD) Part 2

  1. Pingback: UCCX Automatic Call Distribution (ACD) Part 1 | Route, Switch, Blog

  2. Great series of articles on setting up ACD on UCCX. But when will part 3 arrive?!!

    I’ve worked through Parts 1 and 2, and am ready now to finish the setup but I need part 3 to complete the jigsaw puzzle.



  3. Hi,
    thanks for the articles, I would like to learn how we can get the Service Level of a queue in each team if one queue is assigned to two teams. Is it possible to differentiate the SL for these two teams for one specific queue ?

    for example: there is a sales queue in a CCX system. The customer has two different remote callcenters in the CCX system but these two callcenters are using the same Sales queue and get calls from the sales queue. Now we want to measure the success rate of these two callcenters for Sales queue and want to learn each SL of Sales queue for both callcenter. Is it possible ?

    thanks for your comments in advance,

    Sedat Duztas

  4. I have a question. In UCCX one user is configured to answer calls for “Institutional” and “Retail”. He is in the Retail group but have to answer the calls for Institutional when everyone is busy on other calls or not available. This user is having an issue with the ACD where he is getting Institutional calls first instead of Retail calls. So if there is institutional and retail calls in the queue he should get the Retail call as per his configuration but he is getting Institutional call. Does any one can help me what configuration can be changed to accompish this.

    • From the sounds of it, you would need to increase the priority on calls in the “retail” queue.

      The problem there is that you might starve the “Institutional” queue if there is a situation where there are always calls in the “Retail” queue, and everyone who is available can take calls from “Retail” as well. You can mitigate this by either making sure that there are always agents available who are only skilled for the “Institutional” queue, or adding a routine in the “Institutional” script gradually increasing the priority so they eventually match the “Retail” priority.

  5. I am trying to setup our helpdesk group to be able to take turns being the lead tech to answer phones. I would like to do this with little effort on their part. When the aren’t the lead then I want the only to answer calls when the primary is busy on a call than the call has waited in queue for a specified time. Originally I thought I could let them login to different queues but this obviously isn’t possible. Any suggestions?


    • Prior to version 10, this is not possible. With the REST APIs added in 10, you could probably do something like this. You would need to create a routine that would check the longest time in queue, and if it is longer than you threshold, to rewrite the settings on the queue to lower the minimum skill level needed. The routine would also need to rewrite the queue settings to raise the minimum when there are not any calls over your threshold.

      You would then need to reskill the agents to have the lead over the minimum, and the others below the default minimum. You might be able to create a script to do this with the REST APIs by calling a trigger, either keeping a database of who should be the lead any given day, or having the assigned lead call a number, check the called number agains the agents, and setting that agent to be the lead that day.

      Unfortunately I don’t have anything about the actual REST API programming you would need to do, but maybe I can work on that sometime.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.