Troubleshooting audio/video dropped calls in Sametime

Configure the IBM® Load Balancer to address dropped audio/video calls when using the IBM Sametime® Connect client.

About this task

This section defines the configuration changes that can be made to a load balancing component for the Sametime SIP Proxy/Registrar and Conference Manager nodes to address calls being dropped during 1:1 audio/video and n-way audio/video sessions. Users can be dropped from an audio/video session within 5 minutes from the time they accept the invitation to the call, and receive an error message such as:
Failure response 408 received in response to invitation to uid=...
Reason is: Unspecified Dial Failure

The Sametime Connect client registers with the SIP Proxy/Registrar to establish the audio/video call through an IBM Load Balancer. The error occurs when the client does not receive a KEEP_ALIVE response from the SIP Proxy/Registrar within a specified time and then closes the connection.

Make the following configuration changes to the IBM Load Balancer configuration (.cfg file).

Procedure

  1. Locate the Load Balancer configuration file in this location on Linux™: /opt/IBM/WebSphere/Edge/ULB/servers/configurations/dispatcher
  2. Change the selectionalgorithm value in the port definition by locating and then removing this definition:
    dscontrol port add ipaddress1@port1 selectionalgorithm connection
    dscontrol port add ipaddress2@port2 selectionalgorithm connection
    Replace the definition you removed with this value:
    dscontrol port add ipaddress1@port1 selectionalgorithm conn+affin
    dscontrol port add ipaddress2@port2 selectionalgorithm conn+affin

    The selectionalgorithm modification ensures client affinity for a new connection, maintaining the client connection to the same server.

    The connection value is based on a connection, whereas conn+affin is based on a connection as well as the client, so a new connection would use client affinity. If a client uses Proxy1 for their audio/video session and then is routed to Proxy2 because of a new connection, issues can occur, but using conn+affin would maintain the client connection to the same target server.

  3. If staletimeout is high, modify the stickytime parameter. Stickytime is the amount of time the affinity record is kept after a FIN packet is received and until a new connection is established. Staletimeout affects the amount of time a connection is maintained.
    stickytime=1800
    staleTimeout=6400 
    Note: For more information regarding connection records and FIN packets, see the topic Controlling connection records with the staletimeout value.
  4. From a Linux command prompt, enter the following commands:
    1. Determine the interface of the NFA of the Load Balancer by entering this command:

      # ifconfig -a

    2. Display standard information about the device by entering this command:

      # /sbin/ethtool -k interface_name

    3. Using ethtool from the command prompt, set these parameters:
      # /sbin/ethtool -K interface_name tx off 
      # /sbin/ethtool -K interface_name rx off  
      # /sbin/ethtool -K interface_name gro off 
      # /sbin/ethtool -K interface_name tso off 
      # /sbin/ethtool -K interface_name gso off      
      where
      interface_name = the interface of the Network Forwarding Address (NFA) of the Load Balancer.
      tx: TX checksumming
      rx: RX checksumming 
      gro: generic receive offload 
      tso: TCP segmentation offload
      gso: generic segmentation offload
  5. When using NAT forwarding, ensure the Maximum Transmission Unit (MTU) values used on the backend servers are the same, for example, the SIP Proxy/Registrar and the Load Balancer. The MTU is usually 1500 bytes.
  6. From the command prompt on the Load Balancer and back-end servers, SIP Proxy/Registrar and Conference Manager, ensure that the MTU is set to 1500 bytes by entering this command:

    # ifconfig | grep -i mtu