Breadcrumbs

Media Routing API

This page features API Reference. Here is the communication flow diagram for MRE:

MRE API Communication Flow.png

1

Input Message Name

JMS Type

Message Body

Queue

Category

Details

Producer

Consumer

1

Agent Connect



Connect

{"AgentId":"<agent-id>","Password":"<agent-pwd>","Extension":"<agent-extension>""Destination":"<client-destination>"}

General

agent-state

Communication Server performs pre-login steps such as:
- initialize agent-queue
- initialize agent-loggers
- login Finesse via REST or login UMM via REST
- get subscription via XMPP

These steps are carried out depending upon the configuration (Standalone agents or CC agents)

Chat Server

Communication Server




2

Agent Login

Login

{"AgentId":"<agent-id>","Password":"<agent-pwd>","Mrd":"<mrd-id>"}

General

agent-state

Communication Server performs agent-login on Chat MRD

Chat Server

Communication Server

3

Change Agent State

AgentState

{"AgentId":"<agent-id>","State":"<agent-state>","Mrd":"<mrdId>""ReasonCode":"<reason-code-id>"}

General

agent-state

Communication server changes the state of the agent in its data-structure, and forwards the status update to MRE and Chat server

Chat Server

Communication Server

4

Conference Command Handler

Conference

{"TaskId":"<task-id>","ConferenceOwner":"<conference-owner-agent-id>","ConferenceParticipant":"<conference-participant-agent-id>""Mrd":"<mrd-id>"}

General

agent-state

When conference is initiated by the conference-owner-agent to include conference-participant-agent. Chat server starts the conference and notify Comm-Server via this message.

Chat Server

Communication Server

5

Conference Command Handler

Conference

{"TaskId":"<task-id>","ConferenceOwner":"<conference-owner-agent-id>","ConferenceParticipant":"<conference-participant-agent-id>""Mrd":"<mrd-id>"}

RoutingEngine

agent-state

Comm Server sends this message to MRE to perform conference

Communication Server

MRE

6

Conference Event Handler

TaskConferenced

{"TaskId":"<task-id>","OwnerAgentId":"<conference-owner-agent-id>","ParticipantAgentId":"<conference-participant-agent-id>"}

CommunicationServer

agent-state

MRE notifies Comm Server after setting up conference.

MRE

Communication Server

7

Transfer Chat

Transfer

{
"TaskId":"<task-id>",
"OwnerAgentId":"<chat-owner-agent-id>",
"RecipientAgentId":"<Transfer-recipient-agent-id>"
}

General

agent-state

Chat Server sends transfer command to Communication server, where chat owner agent is the agent who initiates chat and recipient agent is the intended recipient agent

Chat Server

Communication Server

8

Transfer Chat

Transfer

{"TaskId":"<task-id>","OwnerAgentId":"<chat-owner-agent-id>","RecipientAgentId":"<Transfer-recipient-agent-id>"}

RoutingEngine

agent-state

Communication Server validates the owner and recipient agent, recipient agent state and task, and forwards the request to MRE

Communication Server

MRE

9

Chat Transferred Event

TaskAgentTransferred

{"TaskId":"<task-id>","AgentId":"<recipient-agent-id>","PreviousAgentId":"<previous-owner-agent-id>"}

CommunicationServer

agent-state

MRE notifies Comm Server after transferring the chat.

MRE

Communication Server

10

Agent State Update

AgentState

{"AgentId":"<agent-id>","State":"<agent-state>","MRD":"<mrd-id>","ReasonCode":"<reason-code-id>","StateChangeTime":"<time>"}

RoutingEngine

agent-state

Communication Server forwards updated state to MRE which updates it in its internal data structures
<time:>
Time in date time format according to UTC

Communication Server

MRE

11

Change Task State

TaskState

{"AgentId":"<agent-id">,"TaskId":"<task-id>","State":"<task-state>","Code":"<state-change-code>"}

General

task-state

Chat Server forwards this command to Communciation Server, Communication Server changes the task state and forwards the state change notification to Chat Server and MRE

Chat Server

Communication Server

12

Task Sate Update

TaskState

{"AgentId":"<agent-id">,"TaskId":"<task-id>","MRD":"<mrd-id>","State":"<task-state>"}

RoutingEngine

task-state

Communication Server forwards task state update to Routing Engine

Communication Server

MRE

13

New Task

Task

{"Mrd":"<mrd-id>","ClientUniqueId":"<client-unique-id>","name":"Name of customer""params":["key","<value>"],}

General

new task

Chat Server forwards new task request to Communication Server

Chat Server

Communication Server

14

New Task

NewTask

{"MRD":"<mrd-id>","TaskId":"<task-id>","params":["key":"value"]}

RoutingEngine

new task

Communication Server assigns a task id and forwards this request to Routing Engine for Agent Selection

Communication Server

MRE

15

Agent Selected

TaskAgentSelected

{"TaskId":"<task-id>","AgentId":"<agent-id>","Status":"<task-status>"}

CommunicationServer

new task

MRE assigns task to an agent and sends this information to Communication Server

MRE

Communication Server

16

Get Agent State

GetAgentState

{"AgentId":"<agent-id>","Mrd":"<mrdId>"}

General

agent-state

Chat Server fetches agent state from Communication Server using this command

Chat Server

Communication Server

17

Get Task State

GetTaskState

{"TaskId":"<task-id>","AgentId":"<agent-id>"}

General

task-state

Chat Server fetches task state from Communication Server using this command

Chat Server

Communication Server