Deploying HA on Linux
Complete these steps to set up SIP Server HA on Linux, using the IP Address Takeover method.
IP Address Takeover HA Deployment on Linux
Prerequisites
There are basic requirements and recommendations for deploying an IP Address Takeover HA configuration of SIP Server in your environment.
- Two separate physical host computers: one for the primary SIP Server and one for the backup SIP Server.
Note: Genesys recommends that you install primary and backup instances of SIP Server on different host computers. However, SIP Server does support HA configurations in which both primary and backup SIP Server instances reside on a single host server. - Software requirements:
- For the Windows OS to send a gratuitous ARP packet when a new IP address is assigned on the computer, you must install the Microsoft Hotfix 2811463 for Windows 2008 R2. See http://support.microsoft.com/kb/2811463/en-us.
- SIP Server must be installed and configured on both host computers.
- LCA must be installed and configured on both host computers.
- In deployments where SIP Server uses two NICs, one NIC is used for SIP communication, while the second NIC is used for other kinds of communication with various components. Solution Control Server (SCS) manages and monitors the SIP Server application through the second NIC. When you create a Host object, make sure you specify the hostname or IP address of the second NIC (dedicated to other non-SIP communication).
- Networking requirements:
- Static IP addresses are required for all network interfaces on both host computers.
- It is highly recommended that you have primary and backup SIP Server hosts on a dedicated subnet. A dedicated subnet ensures that Virtual IP Address Takeover affects only the Address Resolution Protocol (ARP) table on the subnet router. Without a dedicated subnet, hosts that communicate with SIP Server might fail to update the ARP table during Virtual IP Address Takeover.
- In deployments where SIP Server uses two NICs, one NIC is used for SIP communication, while the second NIC is used for other kinds of communication with various components. Each host has one NIC connected to a subnet dedicated to SIP communication. The Virtual IP address should be within the range of the network to which the NIC dedicated to SIP communication is connected. The second NIC on both hosts should be connected to a separate network.
Configuring the primary SIP Server
Purpose
To configure the primary SIP Server Application object for high availability.
- Stop the SIP Server service on the primary and backup hosts. Genesys SIP Server services can be stopped by using the Windows Services dialog box.
- Open the Configuration Manager.
- Select the Applications folder, and right-click the SIP Server Application object that you want to configure as the primary SIP Server. Select Properties.
- Click the Options tab.
- Select the TServer section.
- Set the sip-port option to the port number that will be used by both the primary and backup SIP Server applications.
- Set the sip-address option to the Virtual IP address.
- Click Apply to save the configuration changes.
- If you are deploying a hot-standby configuration, it is recommended that you enable ADDP for communication between the primary and backup SIP Servers. To enable ADDP:
- Select the backup-sync section, and configure the following options:
- sync-reconnect-tout
- protocol
- addp-timeout
- addp-remote-timeout
In the preceding example, the guideline that is used to configure ADDP settings is to set the addp-timeout and addp-remote-timeout options to at least two times the established network-latency time, and to set the sync-reconnect-tout option to at least two times the timeout value plus the established network latency.
Note: For more information about ADDP configuration parameters, see the "Backup-Synchronization Section" section in the Framework 8.1 SIP Server Deployment Guide. - Select the backup-sync section, and configure the following options:
- Click Apply to save the configuration changes.
- Select the TServer section.
- Click the Switches tab.
- Ensure that the correct Switch object is specified. If necessary, select the correct Switch object by using the Add button.
- Click Apply to save the configuration changes.
- Click the Server Info tab.
- Select the Redundancy Type. You can select either Hot Standby or Warm Standby.
- Complete this step if you are deploying a hot-standby configuration. If you are deploying a warm-standby configuration, proceed to Step c.
- In the Ports section, select the port to which the backup SIP Server will connect for HA data synchronization, and click Edit Port.
- In the Port Properties dialog box, on the Port Info tab, select the HA sync check box.
- Click OK.
- For the Backup Server option, select the SIP Server Application object that you want to use as the backup SIP Server. If necessary, browse to locate the backup SIP Server Application object.
- Click Apply to save the configuration changes.
Note: If the HA sync check box is not selected, the backup SIP Server will connect to the default port of the primary SIP Server.
- Click the Start Info tab.
- Select Auto-Restart.
- Click Apply to save the configuration changes.
- Click Apply and then OK to save the configuration changes.
Configuring the backup SIP Server
To configure the backup SIP Server Application object for high availability.
- Stop both primary and backup SIP Servers, if they are running. You can stop the SIP Server service by using the Windows Services dialog box.
- Open the Configuration Manager.
- Select the Applications folder, and right-click the SIP Server Application object that you want to configure as the backup SIP Server. Select Properties.
- Click the Switches tab.
- Click Add, and select the Switch object that you associated with the primary SIP Server Application object.
- Click Apply to save the configuration changes.
- Click the Start Info tab.
- Select Auto-Restart.
- Click Apply to save the configuration changes.
- Click the Options tab.
- Select the TServer section.
- Set the sip-port option to the same port number that you specified for the primary SIP Server.
- Set the sip-address option to the Virtual IP address.
- Click Apply to save the configuration changes.
- If you are deploying a hot-standby configuration and have configured ADDP communication on the primary SIP Server, you must configure ADDP also on the backup SIP Server. To enable ADDP:
- Select the backup-sync section, and configure the following options:
- sync-reconnect-tout
- protocol
- addp-timeout
- addp-remote-timeout
- Select the backup-sync section, and configure the following options:
- Click Apply to save the configuration changes.
- Select the TServer section.
- Click Apply and then OK to save the configuration changes.
Updating the /etc/hosts file
To make the address and host name of the Virtual IP interface known to the DNS server.
On both the primary and backup SIP Server host computers, add an entry for the Virtual IP interface by using the following format:
- <IP_address> <host_name>
- For example:
- IPAddress Hostname
- 127.0.0.1 sipdev1
Creating a configuration file for the Virtual IP interface
To create a configuration file for the Virtual IP interface. This procedure must be performed on both SIP Server host computers.
- On each of the SIP Server host computers, locate the /etc/sysconfig/network-scripts/ifcfg-eth0 file.
- Create a copy that is named /etc/sysconfig/network-scripts/ifcfg-eth0:1.
- Define IPADDR, NETMASK, and NETWORK parameters values for the Virtual IP interface. When you are finished, the content of the file should appear similar to the following example:
DEVICE=eth0:1
BOOTPROTO=static
USERCTL=yes
TYPE=Ethernet
IPADDR=192.51.14.208
NETMASK=255.255.255.0
NETWORK=192.51.14.0
BROADCAST=192.51.14.255
ONPARENT=no
Creating Virtual IP address control scripts
The Virtual IP interface/address is enabled and disabled by using the ifconfig administrative command. To facilitate the enabling and disabling of the Virtual IP interface, you can wrap ifconfig commands in shell files.
- On both SIP Server host computers, create two shell files: one to enable the Virtual IP interface and another to disable it—for example:
- set_ip_up.sh—To enable the Virtual IP interface
- set_ip_down.sh—To disable the Virtual IP interface
- In the set_ip_up.sh file, enter the following command line:
ifconfig <name_of_ethernet_interface>:1 xxx.xxx.xxx.xxx up
where name_of_ethernet_interface is the name of the Virtual IP interface and xxx.xxx.xxx.xxx is the Virtual IP--interface IP address. - In the set_ip_down.sh file, enter the following command line:
ifconfig <name_of_ethernet_interface>:1 down
where name_of_ethernet_interface is the name of the Virtual IP interface.
Creating Application objects for the Virtual IP address control scripts
To create four Application objects of type Third Party Server: one for each of the shell files that you created previously. For example:
- SIP_SERVER_PRIMARY_VIP_UP—For a script that enables the Virtual IP address (to be run on the primary SIP Server host)
- SIP_SERVER_PRIMARY_VIP_DOWN—For a script that disables the Virtual IP address (to be run on the primary SIP Server host)
- SIP_SERVER_BACKUP_VIP_UP—For a script that enables the Virtual IP address (to be run on the backup SIP Server host)
- SIP_SERVER_BACKUP_VIP_DOWN—For a script that disables the Virtual IP address (to be run on the backup SIP Server host)
Creating Application objects for the shell files allows the shell files to be run as applications within the Genesys Framework.
- In the Configuration Manager, select Environment > Applications.
- Right-click and select New > Application.
- Select the Third Party Server template from the Application Templates folder, and click OK.
- On the General tab, enter a name for the Application object—for example, SIP_SERVER_PRIMARY_VIP_UP.
Note: You can use the previously listed Application object names, or you can specify your own.
- Select the Server Info tab.
- Select the host name of the SIP Server on which the corresponding Virtual IP address control script is located.
- If necessary, specify a valid communication-port number by using the Edit Port option.
- Select the Start Info tab.
- Set the Working Directory to the location of the script, and enter the name of the script in the Command Line field. For example, for the SIP_SERVER_PRIMARY_VIP_UP Application object, enter the script name that enables the Virtual IP address (set_ip_up.sh). For the SIP_SERVER_PRIMARY_VIP_DOWN Application object, enter the script name that disables the Virtual IP address (set_ip_down.sh).
- If you are configuring an Application object that disables the Virtual IP interface (SIP_SERVER_PRIMARY_VIP_DOWN and SIP_SERVER_BACKUP_VIP_DOWN), set the Timeout Startup value to 8.
- Repeat the steps in this procedure to create an Application object for each of the four scripts.
Creating Alarm Reaction scripts
To create Alarm Reaction scripts for HA-related Alarm Conditions. When an HA-related Alarm Condition occurs, the associated Alarm Reaction script is run. Alarm Reaction scripts are configured to call the Application objects that you created in Step 7.
- Open the Configuration Manager.
- Select Resources > Scripts.
- Right-click and select New > Script.
- Create four scripts: one for each of the Application objects that you created previously. For example:
- AR_SCRIPT_PRIMARY_VIP_UP—To trigger a script that enables the Virtual IP address (to be run on the primary SIP Server host)
- AR_SCRIPT_PRIMARY_VIP_DOWN—To trigger a script that disables the Virtual IP address (to be run on the primary SIP Server host)
- AR_SCRIPT_BACKUP_VIP_UP—To trigger a script that enables the Virtual IP address (to be run on the backup SIP Server host)
- AR_SCRIPT_BACKUP_VIP_DOWN—To trigger a script that disables the Virtual IP address (to be run on the backup SIP Server host)
- For each of the Alarm Reaction scripts, select Alarm Reaction as the Script Type.
- For each of the Alarm Reaction scripts, use the Alarm Reaction Wizard to configure the Alarm Reaction Type.
- Select an Alarm Reaction script, and right-click to open the Alarm Reaction Wizard (select Wizard > Configure).
- In the Alarm Reaction Wizard, click Next.
- In the Alarm Reaction Type dialog box, select Start a specified application, and click Next.
- Browse to select the corresponding Application object. For example, for the AR_SCRIPT_PRIMARY_VIP_UP Alarm Reaction script, select the SIP_SERVER_PRIMARY_VIP_UP Application object of type Third Party Server.
- Repeat the previous steps to configure each of the Alarm Reaction scripts that you created in Step 4.
Creating Alarm Conditions
Alarm Conditions are required to handle log events that occur when a SIP Server changes its mode from primary to backup or from backup to primary. When you create the Alarm Conditions, you will configure them to trigger the Alarm Reaction scripts that you created in Step 8.
Four Alarm Conditions are required for your HA configuration: two for the primary SIP Server application and two for the backup. The following table outlines the Alarm Conditions for both hot-standby and warm-standby configurations.
Log Event ID | SIP Server Application | Alarm Condition | Alarm Reaction Scripts
|
---|---|---|---|
00-05151 | SIP_SERVER_PRIMARY | ALRM_PRIMARY_51_HABackup | AR_SCRIPT_PRIMARY_VIP_DOWN |
00-05150 | SIP_SERVER_PRIMARY | ALRM_PRIMARY_50_HAPrimary | AR_SCRIPT_BACKUP_VIP_DOWN AR_SCRIPT_PRIMARY_VIP_UP |
00-05151 | SIP_SERVER_BACKUP | ALRM_BACKUP_51_HABackup | AR_SCRIPT_BACKUP_VIP_DOWN |
00-05150 | SIP_SERVER_BACKUP | ALRM_BACKUP_50_HAPrimary | AR_SCRIPT_BACKUP_VIP_UP AR_SCRIPT_PRIMARY_VIP_DOWN |
For information about the log events for which you are creating Alarm Conditions, refer to Log events generated by SCS.
- Open the Configuration Manager.
- Navigate to the Environment > Alarm Conditions folder.
- Right-click and select New > Alarm Condition to open the New Alarm Condition Properties dialog box.
- On the General tab:
- Enter the Name for the Alarm Condition—for example, ALRM_PRIMARY_51_HABackup.
- Optionally, enter a description.
- For the Category value, select Critical.
- Set Cancel Timeout to 1.
- On the Detect Event tab:
- Set the Log Event ID as defined in the table above.
- Set the Selection Mode to Select By Application.
- For the Application Name field, click the folder icon to browse for the SIP Server Application object. If you are creating an Alarm Condition for the primary SIP Server, select the primary SIP Server Application object. If you are creating an Alarm Condition for the backup SIP Server, select the backup SIP Server Application object.
- Click OK.
- On the Reaction Scripts tab, add the Alarm Reaction script as defined in the previous table.
- Repeat the steps in this procedure to create each of the four Alarm Conditions for your configuration.
Testing Alarm Conditions
To verify that the Alarm Conditions work as expected.
- Use Telnet to access the SIP Server Virtual IP interface.
- Open the Solution Control Interface (SCI).
- Under Alarm Conditions, select the Alarm Condition that you created in the previous procedure—for example, ALRM_PRIMARY_51_HABackup—right-click it, and then click Test. The ALRM_PRIMARY_51_HABackup Alarm Condition indicates that the primary SIP Server is in backup mode, which triggers the Alarm Reaction scripts that disable the Virtual IP address at the primary SIP Server and disable the Virtual IP address at the backup SIP Server.
- Use the ipconfig command to verify that the Virtual IP interface is active on the backup SIP Server and that the Virtual IP interface is inactive on the primary SIP Server.
Testing your SIP Server HA configuration
To validate your HA configuration, you can perform the following tests.
- Ensure that the Management Layer is up and running.
- Start the primary SIP Server, and ensure that it is in primary mode.
- Start the backup SIP Server, and ensure that it is in backup mode.
- Test 1: Manual switchover
- Establish a call between two SIP endpoints.
- Perform a manual switchover by using the SCI. In the SCI, verify that the SIP Server roles have changed.
- Verify that hold, retrieve, and transfer functions can be performed on the call that was established before the switchover.
- Release the call.
- Test 2: Manual switchback
- Establish a call between two SIP endpoints.
- Perform a manual switchover again by using the SCI. In the SCI, verify that the SIP Server roles have changed.
- Verify that hold, retrieve, and transfer functions can be performed on the call that was established before the switchover.
- Release the call.
- Test 3: Stop primary SIP Server
- Establish a call between two SIP endpoints.
- Stop the primary SIP Server. Use the SCI to verify that the backup SIP Server goes into primary mode.
- Verify that hold, retrieve, and transfer functions can be performed on the call that was established before the switchover.
- Release the call.