MRE User Guide

Media Routing Engine Configuration Guide

This section describes the concept of Precision Queue, its contributing elements, and configuration. MRE triggers (getting newly created agents from UMM, new configuration application in MRE, task selection triggers in MRE) and limitations of MRE (MRE, Mre Microservice & Mre UI).

Prerequisites

Media Routing Engine, MRE Microservice, MRE UI, ActiveMQ, and UMM must be installed before starting this configuration

Configuration

Create desired attributes:

  1. Navigate to MRE-UI using https://<fqdn / hostname / ip>:<port>
  2. Log in with an admin user (same admin user as used to login into User Module Management)
  3. Click on the Attributes tab
  4. Click + sign to create an attribute
  5. Input attribute name & type
  6. Click save and create other attributes as required
  7. Go to Agents tab, search agents you want to assign these attributes to
  8. Click on the agent, the card will expand, click on + sign and associate attributes with the agent
  9. Set attributes value as per the agent skills
  10. Add other attributes as required
  11. Click on MRD tab, click + sign to add an MRD
  12. Give mrd name “chat”, make interruptible switch false (true/false)
  13. Save the MRD
  14. Navigate to Queue
  15. Click + sign to create a new precision queue
  16. Give the name of precision queue, the name must be equal to the SkillGroup name which is passed from Customer Gadget. This skill group appears in Subject drop down menu
  17. Enter step timeout, ranges from 1 to MAX_INT in seconds. See .
  18. Select “chat” mrd
  19. MRE currently supports LONGEST_AVALIABLE routing strategy, please select it
  20. Provide Step Script in Precision Queue. Save and close

Precision queue is now configured, all the agents who have attributes which justify precision queue step expressions are associated to newly created precision queue

Step Scripting

When we create / modify a Precision Queue in MRE-UI, a dialog box opens and step editor shows up with a template script. Please note that this script is not valid with your attributes and Does NOT fetches any attributes created in the DB. Please go through to have an understanding of Attributes, Terms, Expressions and Steps.

Steps contain expressions, expressions contain terms. This guide explains Terms first, then how to make an Expression with Terms and finally how to make a Step script using the Expressions.

Term Script

Step Editor accepts array of steps. Please note that a term is written in an object using {} and it does not have any key. Following is the script of a term:

{
    "AttributeName": "<case-sensitive-attribute-name>",
    "ConditionOperator": "<condition-operator>",
    "Value": "<value>"
}


Where

Property

Value

Description

AttributeName

<attribute-name>

Conditions:
- This attribute must be created in MRE-UI first

- The name of the attribute is case sensitive

ConditionOperator

<condition-operator>

Condition operator can be one of the following if Attribute Type is boolean:

==  (Equals)

!=  (Not Equals)

These condition operators can be used with Attribute Type Proficiency including above-described operators

>=  (Greater than or Equal)

>    (Greater than)

<=  (Lesser than or Equal)

<    (Lesser than)

Value

<value>

If the attribute type is boolean, these can be valid values:
- true

- false
If the attribute type is proficient, valid values must be from 1 to 10



Attributes must be created in MRE-UI before using them in Terms


Expressions Script

As mentioned, an expression is a collection of one or more terms. Furthermore, the terms in an expression must share the same operator—they must all be AND or must all be OR relationships. In a JSON script, one or more than one terms build up to make an expression like the following script:

"expression": [
             {
               "AttributeName": "ADSL",
               "ConditionOperator": "==",
               "Value": "true"
             },
             "AND",
             {
               "AttributeName": "Mobile",
               "ConditionOperator": "==",
               "Value": "false"
             }
           ]


An expression contains terms and conditional operators as an array of objects. Supported conditional operators are AND and OR

Note

The terms in an expression must share the same operator—they must all be AND or must all be OR relationships


Step Script

A step is a collection of one or more expressions. A step may also include wait time. If the step is the last step, the wait time will not be applicable. A step script consists of Expressions and Condition Operators array

"step": [
         {
           "expression": [
             {
               "AttributeName": "<attribute-name>",
               "ConditionOperator": "<condition-operator>",
               "Value": "<value>"
             },
             "AND",
             {
               "AttributeName": "attribute-name",
               "ConditionOperator": "<condition-operator>",
               "Value": "<value>"
             }
           ]
         },
         "AND",
         {
           "expression": [
             {
               "AttributeName": "<attribute-name>",
               "ConditionOperator": "<condition-operator>",
               "Value": "<value>"
             },
             "OR",
             {
               "AttributeName": "<attribute-name>",
               "ConditionOperator": "<condition-operator>",
               "Value": "<value>"
             }
           ]
         }
      ]

Here are a few limitations regarding steps:

  • An only a single step is supported until the current release
  • The expressions in a step must share the same operator, they must all be AND or must all be OR relationships

Skill-Based Routing

Media Routing Engine uses Precision Queues for routing, however, if there are more than 1 queues in an MRD i.e. chat, a new task is enqueued into the queue with the same name which is mentioned in SkillGroup with a new task. E.g. if “Mobile” skill group is selected while initiating chat, this task will be enqueued into “Mobile” name queue if there is any, otherwise, the task will be enqueued into Default Precision Queue.

If queues are created with all configured skill groups in customer gadget, No chat will be enqueued into default precision queue.