Skip to main content
Skip table of contents

CTI JS Library & MRD Config On Agent Desk For Voice

Context

Voice Channel Configuration Limitations/Issues

Problem



Hard Coding the Voice MRD in the Agent deskWe map the Agent State coming from the CISCO with the relevant voice MRD,  so for this, we are using a hardcoded MRD named "VOICE". 
Hard Coding the Voice Channel Type in the Agent desk

On leaving a conversation in case a voice channel session is active,
the client side needs to send the command for ending the call to the voice platform and the client identifies the active voice channel session on the basis of the Voice channel type name. Need identification criteria to identify the active voice channel session for a particular voice platform and send the command on that particular voice platform.

Which library needs to load during the Agent desk Load-upFor handling the voice channel the Agent desk needs to know which platform is being used for voice calls, either Cisco or free switch so that the relevant library will create a connection with the relevant platform

Proposed Solution

  1. We will introduce configuration parameters in agent-desk environment variables to store the supported voice platform MRDs mapping.
    1. CISCO-CC-MRD
    2. CX-VOICE-MRD
    3. TEAM-CC-MRD (For future)
  2. At the time of deployment, the RE will bootstrap MRDs and CCM will link MRDs with the supported voice channel types.
  3. The ids of the MRDs bootstrapped by RE will be per-configured in CICSO-CC-MRD and CX_VOICE_MRD parameter values.

In the future, we will define and load the voice platform configurations from unified-admin.  An ADR for this has been created.

User Cases

User CaseAgent DeskRE
On Login
  1. The agent desk will compare the list of the agent's active MRD Ids with the value of CISCO-CC-MRD or CX-VOICE-MRD from it's configuration.
  2. Load the configuration parameter to initialize connection with the relevant voice channel.

At the moment, RE sends all MRDs upon agent login. The RE should return the list of MRDs associated with the agent. An ADR for this has been created.

On MRD Change notification from the voice platform
  1. Identify the MRD for voice platform on the basis of MRD associated with the Voice platform.
  2. checks whether the state coming from voice platform is already equal to the current state of agentMRD.
  3. if the states are equal, ignore it, otherwise, send the MRD state change request to RE
The RE will update the presence state of the MRD
On MRD state change from agent-deskThe request will be sent to RE as per the current implementation.
On agent state event from RE
  1. The agent desk will get the MRD ids from the agent's presence
  2. Identify the MRD for voice platform on the basis of MRD associated with the Voice platform.
  3. checks whether the state coming from RE  is already equal to the current state of the voice platform.
  4. if the states are equal, ignore it, otherwise, send the state change request to voice platform.

Note: if the incoming MRD state from RE is ready  or not_ready , then only for these two states  we sync to the voice patform


On Conversation Close
  1. For each active channel session get the MRD ID
  2. Check if the channel session's MRD ID matches with any voice platform
  3. If matched, send the call end command to the relevant voice provider.



JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.