Configuring the TURN Server for load balancing

Create or modify the IBM® Sametime® TURN Server's properties file and add settings for use with the load balancer.

Before you begin

Install and configure the load balancer, and define the loopback interface.

About this task

In addition to the loopback interface, each TURN server must have several settings in its own TurnServer.properties file that define IP addresses for connections to the server. The TurnServer.properties file can be found in the same directory as the TURN server JARs; if the properties file does not exist, you can create it yourself.

When planning your deployment, you should have reserved a set of IP addresses for each TURN Server, as described in Reserving IP addresses for TURN Servers.

Procedure

Complete this task on every TURN Server.
  1. On the computer hosting the TURN Server, locate the TurnServer.properties file and open it for editing.

    This file is stored in the directory where you installed the TURN Server files. If the file does not exist, you can create it now using any text editor.

  2. Add the following statements to the file:
    #Listens on port 3478 to requests forwarded by the Load Balancer
    # usually if the LB has public NFA address you simply put here the IP 
    # you would use to get to the Load balancer.
    # for example turn.loopback.hostname.ipv4=9.138.23.90
    turn.loopback.hostname.ipv4=Load_balancer_Loopback_IP
    
    #Used as default for other IP settings if they are missing
    turn.local.hostname.ipv4=TURN_Server_local_IP
    
    #Allocate relayed ports on this IP
    # in most cases same as the turn.local.hostname.ipv4 value
    turn.allocation.hostname.ipv4=TURN_Server_local_IP
    
    #special cases (usually not needed)
    
    #In case Turn server machine has multiple IPs: 
    turn.redirect.hostname.ipv4=TURN_Server_external_IP
    #In case Turn server machine is accessible only via its reflexive IP : 
    turn.public.hostname.ipv4=TURN_Server_reflexive_IP

    where:

    • turn.loopback.hostname.ipv4=Load_balancer_Loopback_IP
      The IP address to which the load balancer routes client connections for the TURN Server.
      Note: For MAC forwarding, the defined IP address should match the virtual IP address that is being load balanced, and which is usually configured to answer locally as a loopback address. This setting does not apply to NAT forwarding.
    • turn.local.hostname.ipv4=TURN_Server_local_IP

      The actual IP address of the host where the TURN Server will be listening for client connections. After the initial client connection that is routed through the loopback address, the TURN Server will provide this IP address for subsequent connections from that client during the same session.

    • turn.allocation.hostname.ipv4=TURN_Server_local_IP

      The IP address where the TURN server should allocate the relayed ports if port forwarding is configured. In most cases this IP address will be the same as the turn.local.hostname.ipv4 value.

    • turn.redirect.hostname.ipv4=TURN_Server_external_IP

      The IP address where the TURN Server should direct the initial client requests coming from the load balancer. In most cases this IP address will be the same as the turn.local.hostname.ipv4 value but in some cases where the physical IP address of the TURN server is not directly accessible by the clients (such as a private address), you must be sure to use the address that is accessible for the clients.

    • turn.public.hostname.ipv4=TURN_Server_reflexive_IP

      The IP address that the TURN server should publish as the allocated IP address. In most cases this IP address will be the same as theturn.local.hostname.ipv4 value but in some cases where the physical IP address of the TURN server is not directly accessible )such as a private address), this address will specify the NAT reflexive address that is accessible.

    Note: The turn.local.hostname.ipv4 and the turn.redirect.hostname.ipv4 (if specified) IP addresses should be open in the firewall on the same port as the turn.loopback.hostname.ipv4, to ensure that clients can connect to the TURN Server using the specified addresses.
  3. Save and close the file.
  4. Restart the TURN Server so the changes can take effect.
  5. Repeat these steps on each additional TURN Server.