MRE User Guide

This guide covers the concept of Precision Queue, its contributing elements, and how to configure them. 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 the precision queue, the name must be equal to the SkillGroup name which is passed from Customer Gadget. This skill group appears in the Subject drop-down menu in Customer Gadget


  17. Select “chat” MRD
  18. MRE currently supports LONGEST_AVALIABLE agent selection strategy, please select it
  19. Provide Step Script in the Precision Queue. Save and close

The precision queue is now configured, all the agents who have attributes which justify precision queue step expressions are associated with the 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 fetch 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 an 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": {
        "expressions": [
          {
            "expression": [
              {
                "AttributeName": "<attribute-name>",
                "ConditionOperator": "<operator>",
                "Value": "<value>"
              },
              "AND",
              {
                "AttributeName": "<attribute-name>",
                "ConditionOperator": "<value>",
                "Value": "<value>"
              },
              "AND",
              {
                "AttributeName": "<attribute-name>",
                "ConditionOperator": "<value>",
                "Value": "<value>"
              }
            ]
          },
          "AND",
          {
            "expression": [
              {
                "AttributeName": "<attribute-name>",
                "ConditionOperator": "<operator>",
                "Value": "<value>"
              },
              "OR",
              {
                "AttributeName": "<attribute-name>",
                "ConditionOperator": "<operator>",
                "Value": "<value>"
              }
            ]
          }
        ],
        "timeout": <value>
      }

Every step has a different timeout value. This value can be set from 0 to MAX_INT. Using -1 in any step timeout value will invalidate all the following steps and will be considered as the last step. The last step timeout value is ignored by MRE.

Media Routing Engine supports a minimum of 1 and a maximum of 10 steps.


The expressions in a step must share the same operator, they must all be AND or must all be OR relationships

Limitations

We need to add an extra dummy step if we configure more than 1 steps. This last step doest nothing and will have no agents associated, it is a workaround for the bug CSN-4112 - Getting issue details... STATUS

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 the “Mobile” skill group is selected while initiating a chat, this task will be enqueued into the “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.