Media Routing Engine for CCX
Cisco Unified Contact Center Express (UCCX)
A unified queue for UCCX that allows you to route non-voice media to CCX agents using a single customer interaction service queue. This provides the same functionality as the Cisco Socialminer Unified Queue API (UQ API) does in UCCE/ PCCE.

Rhw MR Engine routes non-voice tasks to the next available CCX agent while the CCX engine continues to route voice calls as per the Skills and CSQs configured in UCCX

Pre-configured integrations exist for:

Unlike CCX Chat, which is dependent of the Cisco Socialminer gadget and customer-side gadget, you can create your own front-ends or gadgets. It enables third-party omnichannel applications to request, queue, route and manage the interactions based on the defined business rules in order to send interactions to the agents, regardless of the media types and customer or agent interfaces.

How it works

MR Engine keeps an active CTI connection with UCCX for the updated agents list with their current state. The Engine makes no impact on the voice MRD and lets CCX engine route voice calls as per the CCX definition of agent skills and CSQs.

The MR engine receives non-voice task such as an email or chat through a REST interface and selects an available CCX agent, who’s not handling a voice call and is the most relevant agent for handling this non-voice task. Once the agent is selected, the Engine reserves  the agent (voice not-ready) and assigns the task to the agent. The CCX agent can handle the request either on a Finesse gadget or on a CRM interface such as Siebel, MS CRM, SAP, or others.

The agent can transfer, pause and resume the task.

Unlike CCX chat & email, MR Engine doesn’t require Cisco SocialMiner for routing of non-voice tasks.

CCX engine manages voice-only agent-state information whereas the MR Engine manages agent-state information for all MRDs. An MRD is a channel such as Chat, Email, or SMS.

  • For all voice calls, routing is done by UCCX and the MR Engine is being updated by the voice state information.
  • For Chat requests, the Chat Connector receives external chat requests and the MR Engine routes the chat to one of the available CCX agent.
  • For email requests, the Email Connector receives new email requests and the MR Engine routes the email to one of the available CCX agents.

Agent Selection For Non-Voice Tasks

The MR Engine selects an available agent based on the following criteria.

  1. * Select the best available agent based on the longest available algorithm matching the MR Engine agent selection criteria.
  2. * Change the agent state to NOT_READY for voice calls (with a particular media reason)
  3. * Route the media request
  4. * Upon finishing the request handling, change the agent state back to READY (to make him available to receive voice calls again)

Note: Only one queue per channel is available with the agent selection algorithm based on “longest available” in the READY state.

Precision Queue

MR Engine relies on Precision queues. You can dynamically map the precision queues to direct a call to the agent who best matches the non-voice task’s precise needs. With the MR Engine, you can:

  1. * Create attributes. Attributes are characteristics with a boolean flag or a Proficiency rating from 1 to 10.
  2. * Assign attributes to CCX agents on the MR Engine configuration interface.
  3. * Create precision queues. Create Expressions and Steps while creating Precision Queues.

CCX agents become members of the precision queues automatically based on their attributes. For instance,

  1. * A precision queue requires an agent who is fluent in French and is proficient in dealing with high priority trouble tickets.
  2. * An agent Sara is assigned attributes English = True and Trouble-tickets > 7.
  3. * The engine will select Sara for such tasks if there’s no other free agent with a proficiency beyond 7 in Trouble-tickets.

Priority Customer Routing

MR Engine handles priority customer routing in support with the CC Admin Caller List module. The Caller List module allows to manage repetitive, malicious/hoax Customers or Gold/Silver customers. For more information about the Caller List module, visit Caller Lists

Caller Lists may be created manually by the application user and may also be synchronized with the 3rd party CRM solution.

How does Priority Routing work?

  • The MRD Connector (Chat, Email) receives a new task.
  • The MRD connector verifies the customer priority label from CC Admin Caller Lists module.
  • If the customer is a member of a priority list, the label is passed along with the task to the MR Engine.
  • The task with the priority label assigned will be inserted to the priority MR Queue.
  • The MR engine always checks the priority queue for any new task to be routed. If there’s no task in the priority queue, tasks from the regular queue will be selected.

Agent Interface

For the agent interface, MR Engine allows both a Finesse gadget front-end or an embedded CRM Connector.

Finesse Gadget Frontend

The Engine supports open RESTful API for asynchronous communication with a 3rd party Finesse gadget.

CRM Connector

All the task handling including accept, reject, pause, resume and handling of the non-voice tasks such as Email and Chat will be handled directly from the embedded CRM interface. The MR Engine has planned to provide embedded adaptors for MS Dynamics CRM on-premise and 365, and Oracle Siebel. Using the MR Adaptor SDK, adaptors for other CRM solutions may be developed.


MR Engine currently supports single server deployment with a single point of failure. However, it supports integration with UCCX cluster deployment.

The Engine requires:

  • Supervisor Tools Team Administration Module for seamless integration with CCX components and configuration synchronization.
  • Customer Interaction (CIM) Caller Lists module for handling Priority Customers

MR Engine doesn’t require Cisco SocialMiner. The Engine integrates directly with UCCX APIs, Finesse REST APIs and XMPP.