Editing the Citrix Integration Configuration File on the CCF Server

The Agent Desktop persistently checks communication to the Citrix Server. The Agent Desktop sends a communication to the Citrix Server (called as “ping”), which in turn acknowledges this communication (called as “pong”). This “ping” and “pong” together are called the Heartbeat of the communication that indicates the health of the communication. In case the server does not respond on time, the Agent Desktop debugger displays the error “Server has died: Deactivating the proxy heartbeat timer” or “Shutting Down the HeartbeatTimer. No response from client for HeartBeatMaxWaitInMilliSeconds (60000)”. Mention this as a note for this section. This indicates that the connection between the Agent Desktop and Server has been broken.

The Microsoft.Ccf.Csr.CitrixIntegration.exe.config file in the <InstallDir>/Citrix Server Component folder, contains the tags and information used to configure the client and server communication.

<appSettings>
    <add key="CitrixIntegration.VirtualChannelNamePrefix" value="CTXCCF"/>
    <add key="CitrixIntegration.XmitFragmentSize" value="1000"/>
    <add key="CitrixIntegration.RecvTimeoutInMilliseconds" value="2000"/>
    <add key="CitrixIntegration.HeartbeatMaxWaitInMilliseconds" value="60000"/>
    <add key="CitrixIntegration.ClientOnly.HeartbeatIntervalInMilliseconds" value="15000"/>
    <add key="CitrixIntegration.ServerOnly.ProcessTableScanMaxAttempts" value="50"/>
</appSettings>

You can configure the following parameters in the configuration file:

  • HeartbeatMaxWaitInMilliseconds: The Agent desktop sends a communication to the Citrix server, after initiation. The HeartbeatMaxWaitInMilliseconds parameter is the maximum time the agent desktop should wait for a “pong” from the server. This is in milliseconds and the default is 60000 milliseconds (60 seconds).
  • HeartbeatIntervalInMilliseconds: This is the interval between each “ping” sent by the Agent Desktop. This is in milliseconds and the default is 15000 milliseconds (15 seconds).
  • RecvTimeoutInMilliseconds: This is the timeout interval for resending any data to the server. The Agent Desktop waits for the given time to receive an acknowledgement from the server, and resends the data if the server does not respond. This in milliseconds and the default is 2000 (2 seconds)