Enabling CNS Proxy Pass

The Chat Notification Servlet Proxy Pass (CNS Proxy Pass) is a configuration setting used to streamline the process of sending notifications to the self-service user and support agent in a load-balancing environment.

In the absence of CNS Proxy Pass, notifications in the load-balancing environment are sent by broadcasting messages to all the BMC Remedy Mid Tier servers (mid-tier servers), instead of restricting notifications within the relevant chat session. The CNS Proxy Pass configuration ensures that notifications are sent only to the mid-tier server involved in the chat session.

Enabling CNS Proxy Pass is required only in a load-balancing environment (where multiple BMC Remedy Mid Tier servers are installed). There is no effect on notifications if you enable CNS Proxy Pass in an environment that does not use a load balancer.

The following sections explain the process of CNS Proxy Pass and give the steps to enable and debug CNS Proxy Pass:

How CNS Proxy Pass works

When a self-service user initiates a chat session with a live agent, the user’s mid-tier server name is saved in the Master Chat Record and Participant Chat Record. All messages are passed only to that user's mid-tier server, and not to other mid-tier servers in the load-balancing environment. The mid-tier server that is considered for sending the notifications is added to the CNS Proxy Target field on the Master Chat Record and Participant Chat Record.

The following table explains the function of the CNS Proxy Target field in the CNS Proxy Pass process:

Form nameValue of CNS Proxy TargetFunction
Master Chat RecordThe mid-tier server name to which the self-service user or support agent sends a messageThe CNS Proxy Target value is updated every time the self-service user submits a message. Thus, if the mid-tier server changes during a chat session, the latest mid-tier server name is saved to the Master Chat Record.
Participant Chat RecordThe mid-tier server name to which the self-service user or support agent sends messageThe Participant Chat Record sends messages to the Chat Notification Servlet (CNS) installed on the mid-tier server that is mentioned in the CNS Proxy Target field, instead of broadcasting the message to all CNS instances on other mid-tier servers in the load-balancing environment.

Example of a chat session with CNS Proxy Pass enabled

  1. The self-service user initiates a chat session from Server A. 
  2. All messages that the self-service user sends are passed on only to Server A. 
  3. A support agent joins the session from Server B. 
  4. All messages from the support agent and the self-service user are sent only to server A.
  5. When the support agent polls the CNS on Server B for updates, Server B issues the polling request to Server A on behalf of the agent, retrieves the results from Server A and then returns the results to Server B.

Before you begin

Before configuring CNS Proxy Pass, perform the following steps to delete the value of the XML element <cnslb>:

  1. On the mid-tier server, go to Apache Software Foundation\Tomcat7.0\webapps\eschat\WEB-INF\classes and open the eschat_config.properties file.  
  2. Delete the <cnslb> value and save the file. 
  3. To apply changes in the eschat_config.properties file, restart Apache Tomcat.
  4. Repeat steps 1 and 2 for each mid-tier server in the load-balancing environment.

To enable CNS Proxy Pass

After deleting the value of the <cnslb> XML element, perform the following steps:

  1. From the IT Home page, select Virtual Agent > Administration Console.
  2. Click Self Service Portal Configuration.
  3. Select the Show Disabled check box. 
  4. Select the System Configuration - CNS Proxy Pass entry from the table and click Modify. 
  5. Select the Enable option and click Save.
  6. In Registered Servlets section, select ESChat servlet and click Refresh Servlets.


Do not verify the notification functionality by checking the eschat_config.properties file, as part of load-balancing configurations.

Additional configurations for CNS Proxy Pass

The CNS Proxy Target value (the mid-tier server name) is determined programmatically by the Java code on the ESChat servlet. If the mid-tier server name is not updated correctly in the CNS Proxy Target field, the <cnsproxymapXML element of System Configuration - CNS Proxy Pass entry is used. The ESChat servlet defined the mid-tier server name of the self-service user and passes it on as the CNS Proxy Target value. If for any reason, this name is not determined correctly, you can map the CNS Proxy Target value to another mid-tier server name or IP address.

The following sample code shows how the mid-tier server names and IP address is mapped in the <cnsproxymap> element:


The <cnsproxymap> values in the sample code are described in the following table:

Source value determined by the ESChat servletSeparatorTarget Value to be set in the CNS Proxy Target fieldDescription
ServerABC: Java Code on ESChat servlet determines the mid-tier server name ServerABC, it will set the CNS Proxy Target value to

If Java Code on ESChat servlet determines the mid-tier server name, it will set CNS Proxy Target value to Server2.

Related topics

Running Virtual Chat interactive diagnostics

Setting up notifications and alerts

Was this page helpful? Yes No Submitting... Thank you