Prevention of multiple logoffs if a single client is not reachable (kb3889)
The information in this article applies to:
- SwyxWare v6.20
- SwyxWare v6.12
- SwyxWare v6.11
- SwyxWare v6.02 Maintenance Pack 2
- SwyxWare v6.10
- SwyxWare v6.02 Maintenance Pack 1
- SwyxWare v6.01 Maintenance Pack 3
- SwyxWare v6.02
- SwyxWare v6.01 Maintenance Pack 2
- SwyxWare v6.01 Maintenance Pack 1
- SwyxWare v6.01
- SwyxWare v6.00
The fact that a single client is not reachable may lead to multiple logoffs of further clients, which were indeed reachable. This is founded in the function and the default settings of the Windows operating system in the network.
You can avoid this situation by changing the configuration of the operating system as described below.
To avoid the logoff of reachable clients if one or a few other clients are not reachable, please create in the Windows registry of the server machine the parameter ArpCacheMinReferencedLife (DWORD) under HKLM\System\CurrentControlSet\Services\Tcpip\Parameters and set the value to 0xFFFFFFFF. Please restart the server machine afterwards.
SwyxIt! and SIP-Clients log in to SwyxServer via a central UDP Socket (5060). SwyxServer sends SIP messages, e.g. for status signalling and registration, to the clients via this socket.
SwyxServer uses the IP protocol to address the clients. To deliver messages to an IP address in a local network, the assigned MAC address of the client must be published. This assignment will be detected automatically via the ARP protocol. The operating system applies the ARP protocol transparent for the overlaying applications. The ARP works in the following way: For unknown IP addresses an ARP request is sent to all clients (Broadcast). Only the client with the requested IP address will answer. The answer contains the assigned MAC address.
Using these requests a table is created which contains an assignment between IP address and MAC addresss in every line. If no IP packet is sent to a certain IP address for two minutes, this entry will be deleted in the table. In general, Windows deletes every entry in the table after ten minutes unseen if there is an active conversation with this station! That means, that also for actual used entries ARP requests are necessary for the availability of the clients.
If there is a coincidence of the following events:
- A client is no longer reachable, e.g. in case of a BSOD of the operationg system or any other problem in the switch ports
- the client did not logoff via SIP accordingly
- SwyxServer is going to send a message to this client
- an ARP request is necessary after the ten-minutes-timeout and is not answered by the client because the client is not reachable
it may happen that the traffic of the SIP messages slows down. In this situation SwyxServer could not answer all client requests promptly and further clients will lose their registration.
The configuration described above avoids the timeout after ten minutes, so that such critical situations will no longer occur.
The timeout after two minutes (ArpCacheLife) is not attached! If there is no traffic between the client and the server, the ARP entry will be deleted after two minutes as usual. Please don't mistake this modification for static entries.
For further information about the ARP functionality of Microsoft Windows please refer to the following articles: