Resource Manager High Availability
This topic describes how to configure the Genesys Voice Platform (GVP) Resource Manager and the Configuration Database for High Availability (HA) on Windows and Linux operating systems.
Overview
High availability for Resource Manager is achieved by combining two Resource Manager instances in an HA-pair, which enables the resource-management function to be distributed over two servers to provide redundancy. The active Resource Manager node (running on server 1) simultaneously handles the incoming IP traffic and updates the other Resource Manager node (in the HA-pair) with information about the active sessions, thereby achieving high availability and scalability.
HA prevents single point-of-failure and provides immediate failure recovery. In addition, administrators can manage the HA-pair as a single system either locally or remotely.
HA Modes
To configure the Resource Manager Application in HA mode, use the cluster.ha-mode parameter to set the value to active standby, active active, or None. A value of None, which is the default, means the Resource Manager is in stand-alone mode. Two HA modes exist for Resource Manager:
- Active Standby: Where only the active instance processes SIP requests and the backup instance processes SIP requests when the active instance fails. Two Resource Manager instances share the same virtual IP address but only one instance is actively receiving network traffic.
To configure the Resource Manager in active standby mode, see Task Summary: Configuring the RM in HA Active Standby Mode (Windows) and Configuring the RM in High Availability Active-Standby Mode (Linux)
- Active Active: Where either one of the active nodes can process SIP requests. This mode is similar to the virtual IP solution; however, an external load balancer maintains the virtual IP address that forwards information to the active nodes in the cluster. The load balancer can apply proprietary load-balancing rules when it forwards the requests.
The virtual IP address for the active active HA-pair is configured by using the cluster.virtual-ip parameter in the Resource Manager Application. The Resource Manager advertises the virtual IP address in the Record-Route and Via headers so that SIP Server or the Media Control Platform can send mid-call requests and responses to the load balancer.
To configure the Resource Manager in active active mode, see Task Summary: Configuring the RM in HA Active-Active Mode (Windows) and Configuring the RM in High Availability Active-Active Mode (Linux)
Tip
When configured as an HA-pair, both Resource Manager instances must manage the same set of resources.
In addition, the load balancer must have the routing capability to route the same SIP transactions to the same Resource Manager instance.
(The load balancer must be SIP-aware and support the Call-ID stickiness feature to ensure this requirement is met.) The same Resource Manager node must process the SIP transaction in its entirety.
Before You Begin
Before you begin the procedures in this section, pay attention to the following information:
Ensure that the Resource Manager hosts...
...are configured and fully functional in stand-alone mode.
...reside on the same subnet.
...have at least two network interface cards (NICs) that are configured with unique IP addresses (within the same subnet).
...have one virtual IP address allocated for the cluster (to be shared by the Resource Manager hosts in the HA-pair)
Tip
If you are configuring HA on Linux by using the Simple Virtual IP failover option, only one NIC is required. However, to avoid a single point-of-failure if the NIC or network switch fails, you must use the Bonding Driver failover option with two NICs. The bonding driver is configured to share one IP address among two NICs operating one NIC as active and the other as standby. See
Resource Manager HA (Linux). If you configure active active HA on either Windows or Linux, only one NIC per server is required.
- If you are deploying the Supplementary Services Gateway (SSG) on the same host as the Resource Manager, be aware of a possible port conflict. The default HTTPS Port for the Supplementary Services Gateway is 9801 (controlled by the HTTPS Port parameter in the HTTP section), which is also the default port value for the Resource Manager member.1 and member.2 cluster parameters when they are configured for HA. Use Genesys Administrator to change the values, if required.
- When you configure the Resource Manager for active standby HA, five IP addresses are required. (If you are using the Simple Virtual IP failover option, only three IP addresses are required.) The first network adapter handles the network traffic that is addressed to the server as part of the HA-pair, while the second network adapter is used for intrahost communication. Figure 32 depicts an example of how IP addresses are assigned to the servers.
- Simple Network Management Protocol (SNMP) Management Information Bases (MIB) function properly when there is only one instance of a GVP component on a host. It is not recommended that you install the SNMP MIBs on a server that is hosting more than one instance of the Resource Manager. SNMP traps are sent by the active Resource Manager only.
Figure: IP Address Assignation for active standby HA
Monitoring the NICs
When the Resource Manager is configured as an active standby HA-pair, it monitors the NICs to determine network error instances for example, when a cable is unplugged. If any of the NICs encounters errors, the network is considered to be down.
The Resource Manager must monitor the NICs that are used in the HA-pair to ensure that the Network Load Balancing (NLB) is working properly:
- For Windows: One with NLB configured, and one with the IP address of the host computer.
- For Linux: If only one NIC is used in the HA-pair, it must be monitored.
When there are more than two NICs present in the system and the other NICs are not part of the NLB HA-pair, it is recommended that you specify the Media Access Control (MAC) addresses of the NICs that you want to monitor.
To specify the NICs that you want to monitor, use the steps in Procedure: Specifying the NICs to Monitor (Windows), and Procedure: Specifying the NICs for Monitoring (Linux).
Tip
When Windows NLB is used, the standby Resource Manager can take up to seven (7) seconds to become active when failover occurs. However, there is no data loss, even for those calls that are in progress.
Integrating GVP with SIP Server for an Active-Active Resource Manager Configuration
For all GVP deployments with SIP Server that will support Resource Manager High Availability Active-Active in IP modes, configure a VoIP service DN.
[+] GVP as a Self-service IVR
In self-service mode, GVP works as an IVR for handling inbound calls that are forwarded by SIP Server. Calls can be self-service (where the call terminates at GVP), or assisted service (where GVP transfers the call to an agent as needed).
Configure GVP as a Trunk DN in SIP Server:
Table: Trunk DN Configuration (Inbound)
Parameter
|
Value
|
contact
|
"::msml"
|
prefix
|
Initial digits that match the DNIS number
|
sip-busy-type
|
2
|
Geo-location (optional)
|
<location1, location2>
|
For HPE, configure GVP as a Trunk Group DN in SIP Server:
Table: Trunk Group DN Configuration (Outbound)
Parameter
|
Value
|
contact
|
"::msml"
|
subscription-id
|
<DN_Name>
|
make-call-rfc3725-flow
|
1
|
refer-enabled
|
false
|
ring-tone-on-makecall
|
false
|
request-uri
|
sip:msml@<RMHost>:<RMport>;gvp-tenant-id=[<Tenant-Name>]
|
[+] GVP as an Inbound Media Server
In this mode, SIP Server is an application server and GVP is a media server performing requests such treatment, greeting, music, conference, and recording.
Configure GVP as a VoIP Service DN in SIP Server:
Table: VoIP Service DN Configuration Parameters
Name
|
Value
|
Type
|
contact-list (for IP mode)
|
Resource Manager's contacts
|
Mandatory
|
service-type
|
msml
|
Mandatory
|
oos-check
|
<time in seconds>
(Active OOS functionality)
|
Mandatory
|
oos-force
|
<time in seconds>
|
Mandatory
|
geo-location
|
<location1, location2>
|
Optional
|
subscription-id
|
<tenant_name>
|
Optional
|
userdata-map-format
|
sip-headers-encoded
|
Mandatory
|
Parameter Notes
Contact-list
Use contact-list when SIP-Server Resource Manager High Availability Active-Active (SIP-S RM HA A-A) is deployed in IP mode.
Contact-list contains comma-separated URIs,and is used when SIP-S RM HA A-A is deployed in IP mode.
A new DN level parameter contact-list is introduced for supporting Multiple IP address configuration. This parameter will have comma-separated list of any valid SIP URI. Configure each URI using following format:
[sip/sips:][number@]hostport[;transport=(tcp/udp/tls)]
Where:
- sip/sips: is an optional prefix.
- number is the DN number (currently ignored.)
- hostport is a host:port pair, where host is a dotted IP address for the endpoint.
Tip
Media Server mode uses the same VOIP service DN that is used to configure Resource Manager contacts. This mode requires Media Server status notification functionality, so the subscription-ID parameter must be added in the VOIP service DN.
[+] GVP as an Outbound Media Server
In this mode, GVP is a media server providing outbound services such as Call Progress Analysis, music treatment, media bridging (ASM mode) and playing the VXML application.
Configure GVP as a Trunk Group with these parameters:
Parameter name
|
Parameter value
|
contact
|
"::msml"
|
subscription-id
|
<DN_Name>
|
make-call-rfc3725-flow
|
1
|
refer-enabled
|
false
|
ring-tone-on-makecall
|
false
|
request-uri
|
sip:msml@<RMHost>:<RMport>;media-service=cpd;gvp-tenant-id=[<Tenant-Name>]
|
userdata-map-format
|
sip-headers-encoded
|
Important
The request-uri parameter in the Trunk Group DN will specify only one of the RM IP addresses. When contact is set to ::msml, SIP Server knows that RM is deployed in active-active mode and takes care of load-balancing/failover.
In deployments of CTI through an IVR Server (used for playing VoiceXML applications after the outbound call is established), configure GVP as a set of Voice treatment port DNs, with this parameter:
Parameter name
|
Parameter value
|
contact
|
"::msml"
|
For Voicemail Integration, you must configure a VoIP service DN along with the msml VoIP service DN. Configure the voicemail VoIP service DN with these parameters:
Parameter
|
Value
|
contact
|
"::msml"
|
service-type
|
voicemail
|
[+] Limitations of the Active-Active RM Configuration
Integration of GVP with SIP Server for RM HA (Active-Active) is not supported with DNS SRV as RM Virtual-IP or SIP-S contact.
SIP Server supports Resource Manager configuration in these ways:
- Multiple IP addresses (IP mode)
In IP mode, SIP Server does not support configuring priority and weightage for each IP address. All entries are considered of equal priority and weight. Set cluster.ha-mode to active-active.
SIP Server supports only the round-robin load-balancing method to support Resource Manager HA Active-Active.
See also in the
SIP Server Deployment Guide:
- Configuring an MSML Service in Chapter 4: SIP Devices Support.
- Genesys Voice Platform Integration in Chapter 5: SIP Server Feature Support.
When SIP Server is configured for Resource Manager High Availability Active-Active, all the calls going to the RM will be in either TCP or UDP format, based on what transport is specified in the VoIP service DN.
Notes on Resource Manager Configuration for Active-Active (Load Balancing)
Set these options on each Resource Manager:
- Set cluster.ha-mode to active-active.
- Set cluster.virtual-ip to the RM IP address.
- Set Cluster.member.1|2 to the corresponding RM IP:Port.
- Set cluster.virtual-ip to the IP address of the local RM.
- Set cluster.other-active-rmnode-ip to the IP address of the other RM in the HA pair.
- From the RM metadata for the cluster.other-active-rmnode-ip option, if non-empty, this parameter indicates that this RM node is part of a RM active-active cluster and the value specifies the IP address of other active RM in the same cluster. In active-active HA mode using SIP Server, this value should be configured with IP address which takes SIP traffic in other active RM node. In stand-alone, active-standby and active-active (when using load balancer like F5) HA modes, this parameter must be left empty.
Important
The
cluster.other-active-rmnode-ip option must be specified only when SIP Server is used as the load balancer. When F5 (or others) are being used, this option should not be configured.
- On each MCP, set transport.staticroutelist to RM Node1 contact, RM Node2 contact.
- In the sip section, routeset=<sip:ipaddress:port;lr> must be one of the Resource Managers.
Configure half of the MCP's route-set to point to one RM, and the other half of the MCP's route-set to point to the other RM.
- In the vrmrecorder section, routeset=<sip:ipaddress:port;lr> must be one of the Resource Managers.
Configure half of the MCP's route-set to point to one RM, and the other half of the MCP's route-set to point to the other RM.
Tip
The configuration parameter
transport.staticroutelist is also applicable for other SIP components such as CTIC and CCP.