CommuniGate Pro
Version 5.1
Clusters
 
 
 
Signals

Signal Processing in Clusters

This section explains how Real-Time Signal operations work in the CommuniGate Pro Cluster environment.

SIP

The CommuniGate Pro SIP Farm® feature allows several Cluster members to process SIP request packets randomly distributed to them by a Load Balancer.

Configure the Load Balancer to distribute incoming SIP UDP packets (port 5060 by default) to the SIP ports of the selected SIP Farm Cluster members. If a Cluster has Frontend Servers, then the Frontend Servers should be used as SIP Farm members.

Configure the SIP Farm Members: open the General page in the Settings WebAdmin realm and click the Cluster link:

SIP Processing
SIP Farm:   

SIP Farm
This setting specifies how the SIP requests should be processed by this Cluster member.

If the Member option is selected, this Cluster member is a member of a SIP Farm.

If the Relay option is selected, this Cluster member is not a member of a SIP Farm, but when it needs to send a SIP request, it will relay it via currently available SIP Farm members.
Select this option for Backend Servers that do not have direct access to the Internet and thus cannot send data directly.

The CommuniGate Pro Cluster maintains the information about all its Servers with the SIP Farm option switched on. Incoming UDP packets and TCP connections are distributed to those Servers using regular simple Load Balancers.

The receiving Server detects if the received packet must be processed on a certain Farm Server: it checks if the packet is a response or an ACK packet for an existing transaction or if the packet is directed to a Node created on a certain Server. In this case the packet is relayed to the proper Cluster member:

Packets not directed to a particular Cluster member are distributed to all currently available Farm Members based on the CommuniGate Pro SIP Farm algorithms.

The process a Signal, Cluster members may need to retrieve certain Account information (registration, preferences, etc.). If the Cluster member cannot open the Account (because the Member is a Frontend Server or because the Account is locked on a different Backend Server), it uses Inter-Cluster CLI to retrieve the required information from the proper Backend Server.


RTP Media

Each Media stream terminated in CommuniGate Pro (a stream relayed with a media proxy or a stream processed with a media server channel) is bound to a particular Cluster Member. The Load Balancer must ensure that all incoming Media packets are delivered to the proper Cluster Member.

Single-IP Method

The "single-IP" method is useful for a small and medium-size installations.
The Cluster Members have internal addresses L1, L1, L3, etc.
The Load Balancer has an external address G0.
The Network Settings of each Cluster Member are modified, so the Media Ports used on each Member are different: ports 10000-19999 on the L1 Member, ports 20000-29999 on the L2 Member, ports 30000-39999 on the L3 Member, etc.
All packets coming to the G0 address to the standard ports (5060 for SIP) are distributed to the L1, L2, L3 addresses, to the same ports.
All packets coming to the G0 address to the media ports are distributed according to the port range:

The Server-wide WAN IP Address setting should be left empty on all Cluster Members.
The Cluster-wide WAN IP Address setting should specify the G0 address.

This method should not be used for large installations (unless there is little or no media termination): it allows you to allocate only 64000 ports for all Cluster media streams (each AVP stream takes 2 ports, so the total number of audio streams is limited to 32000, and if video is used (togther with audio), such a Cluster cannot support more than 16,000 concurrent A/V sessions.

Multi-IP Method

The "multi-IP" method is useful for large installations.
The Cluster Members have internal addresses L1, L1, L3, etc.
The Load Balancer has an external address G0, and additional external addresses G1, G2, G3 - one address for each Cluster Member.
The Network Settings of each Cluster Member can use the same Media Port ranges.
All packets coming to the G0 address to the standard ports (5060 for SIP) are distributed to the L1, L2, L3 addresses, to the same ports.
For packets sent from the Cluster Members (except the packets for already established incoming TCP connections):

The Server-wide WAN IP Address setting on the L1 Cluster Member should specify the G1 address.
The Server-wide WAN IP Address setting on the L2 Cluster Member should specify the G2 address.
The Server-wide WAN IP Address setting on the L3 Cluster Member should specify the G3 address.
The Cluster-wide WAN IP Address setting should specify the G0 address.

This method does not limit the number of the ports in a Cluster: each Cluster Member can use up to 64000 ports.


CommuniGate® Pro Guide. Copyright © 1998-2006, Stalker Software, Inc.