Explanation of the Communications Bridge parameter Idle Client Timeout

Document ID : KB000029087
Last Modified Date : 14/02/2018
Show Technical Document Details

The idle client timeout mechanism is meant to purge/disconnect client connections in order to free up connections slots for new client connections when the total number of connections might exceed the 255 limit.  The lower the number the more frequently the clients might be timed out and disconnected.  

It is recommended that the idle client timeout not be lower than 3 or 4 minutes, even though a value of 1 minute is possible.  If a low setting is needed to ensure that a specific Communications Bridge (CB) instance has enough available connection slots for new connections it might indicate (1) that either a new CB instance is needed if all the other CB instances are equally full or (2) if the other CB instances do not appear to be as loaded that the client connections be tweaked to use the other available CB instances.  While a setting of 1 minute for the timeout session is allowed, if the CB nstance has almost as many timeouts occurring as new connections being requested it could lead to the CB instance becoming bogged down. The best remedy for this is to start enough new CB instances to spread the connection load. 

There are a couple of ways to get an idea of how many connections are currently connected to a given CB instance and how new connections take place in a given period of time:

1. By looking for the following line from a CB log file, "Current # of users = <x>, Max concurrent users seen =<y>", one can see the number of new connections over time. This line is produced in the CB log every time a new connection is added so the last entry in each log is the latest connection count. If the value of <y> never reaches the maximum of 255 then this instance does not need an idle client timeout necessarily.

2. By filtering out those lines from the CB log and looking at the timestamp for each entry one can determine how many new connections come into a CB instance over a given period of time. This information can be used to determine how short or long and idle client timeout needs to be if it appears that the highest value for "Current" users gets close to the maximum value. If the number of "Current" users is close to the maximum, that would be an indicator that the idle client value should be shortened. Once the timeout is reduced to but a couple of minutes in order to keep open available connections for the CB it may be time to consider starting a new CB instance. Additionally, if the measure of the new connections over time shows a rapid number of connections in a short period of time is normal, it may be advisable to keep the timeout longer in order to minimize possible collisions where the CB is disconnecting a group of idle clients when a large number of new connections are coming in at the same time. Raising the timeout does not prevent collisions, of course, but it should minimize them.