Skip to main content
Version: 4.3.0

Priority Queue

Introduction

All media tasks (email and chat) have a set priority inside the Routing Adapter. This priority defines, which task is sent to the UCCE queue next. There are priorities 1 and 0. Priority 1 is higher than priority 0.

Concept

A task needs to meet certain conditions so that it is treated with priority. If one of the following conditions apply, the task has priority:

  • The task is a chat task
  • The task was rejected by an agent or was not accepted within the defined timeout (RONA)

Additionally, in the .ini file of the Routing Adapter is a setting, to set the maximum number of tasks that can have priority (MaxQueuedTasksPrioReservation). If this limit is reached, all additional tasks don't have priority.

Priority queue concept

Example 1 - Single Task with reject

Priority queue example 1

  1. Queue Adapter sends an email task to the Routing Adapter. None of the conditions apply, resulting in the task not having priority
  2. The Priority Queue inside the Routing Adapter is currently empty. Routing Adapter sends the email from Queue Adapter to the UCCE queue.
  3. UCCE selects an available agent and routes the task to the agent.
  4. Agent Adapter routes the email task to Harmony Integration Server
  5. Harmony Integration Server sends the email task to the MediaBar, where the agent can now accept the task.
  6. The agent rejects the task, resulting in the task being sent back to Harmony Integration Server.
  7. Harmony Integration Server sends the task back to Agent Adapter.
  8. The Agent Adapter sends the rejected task to the Routing Adapter with priority.
  9. Since the rejected task has priority, it is put into the Priority Queue. The Priority Queue was empty, so the task is at position 1 and gets sent to the UCCE queue.

Example 2 - 3 Tasks (email and chat) with RONA, MaxQueuedTasks = 2 und MaxQueuedTasksPrioReservation = 1

Priority queue example 1

  1. Queue Adapter sends 2 email tasks (Email A and Email B) and 1 chat task (Chat A) to Routing Adapter. The chat task (Chat A) is given priority, since one of the priority conditions applies. The email tasks (Email A and Email B) have no priority.
  2. The chat task (Chat A) is sent to the UCCE Queue because it is in the Priority Queue.
  3. The chat task (Chat A) is routed to an available agent via Agent Adapter. Routing Adapter then sends the first email task (Email A) to the UCCE queue.
  4. Agent Adapter sends the chat task (Chat A) to Harmony Integration Server.
  5. Harmony Integration Server sends the chat task (Chat A) to the MediaBar, where the agent can now accept the task.
  6. / 7. The chat task (Chat A) is not answered by the agent within the configured timeout (RONA). Subsequently, the Agent Adapter 'takes' the task (Chat A) back.
  7. The chat task (Chat A) is sent to Routing Adapter with priority. The first email task (Email A) is now routed to the agent.
  8. The chat task (Chat A) is in Priority Queue at position 1 and the second email task (Email B) is in the normal queue. Priority Queue is processed first, so the chat task (Chat A) is sent to UCCE