Skip to main content
Skip table of contents

CTI JS Library Configs on Unified Admin

Managing the MRD, and ChannelType for the voice platform and Identifying which voice platform is enabled

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


SOLUTION:

There will be bootstrapped voice platform names like Freeswitch, CISCO, teams, etc. (these names will act as an identifier for the front end that, these platforms are currently being used for voice channels)


UNIFIED ADMIN

On the admin there will be a page named voice platform settings, in the page there will be an option to add dynamic forms to add support currently enabled voice platforms. 

While creating a form, a user can 

  • Add a voice platform name from the bootstrapped voice platform names list
  • Add an MRD by choosing an MRD from the available MRD list
  • Can add multiple form fields to add the configurations for the relevant voice platform 
  • Add a switch to enable/disable that platform

like the image


AGENT DESK

When the agent desk will load up, it will

  • load voice platform settings forms from the unified-admin API
  • Map an MRDId with a voice platform based on these settings, (MRD to Voice platform) mapping.
  • get the relevant voice platform configurations based on these settings 


When the agent desk will receive the agent presence from the agent manager, the agent presence will have the list of MRDs for that agent, it will

  • Check if any MRD exists that is being used for any voice platform on the basis of the (MRD to Voice platform) mapping, it stores. 

           If yes, it will

      • Target the relevant library of that voice platform
      • Pass the relevant configurations to the library
      • Login to that voice platform and creates a connection


When the agent needs to close a channel session, the channel session contains an MRD, it will

  • Check if that MRD is associated with any voice platform based on (MRD to Voice platform) mapping

           If yes, it will

      • Send a command to the relevant voice platform to close the call leg
      • Send call_leg_ended CIM message to CCM 


NOTE: For now, these settings on the unified admin will place in the environment variables of the agent desk, agent desk will create and load these settings internally 


How will the libraries Embed/Integrate into the Agent desk?

Cisco service, teams service, free-switch, and all the new incoming voice platform services in the future will act as a middleware service that will subscribe and sends and receive commands to the relevant library. All the voice-related implementations will exist in the Voice service which will process all the voice events and contains common functionality, will manage all the voice actions and decisions, so in the future, if we add any new voice platform then we only need to add a middleware service for that platform but the voice service remains the same.

JavaScript errors detected

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

If this problem persists, please contact our support.