High Availability
In large systems, high availability (HA) is an important feature. A communications system with more than a few dozen users generally must not have any unexpected outages for basic calling and of course emergency calling. In sipXecs, routing a call depends on the proxy and the registry/redirect service - these are managed as the SIP Router roles.
Highlights of sipXecs High Availability
- One large system from the user's perspective
- Load balancing under normal operating conditions
- No calls lost in case a server fails
- Full proxy / registrar redundancy
- Not dependent on database clustering: uses DNS to distribute registrations and calls across servers (like a Web server farm)
- Phones can register with either proxy / registrar
- sipXconfig reports on load distribution
- Redundant systems can be in different locations or networks (the connection between them must not go through a NAT)
- Remote process management using the Web UI
- Simple installation of an HA system using the sipXecs installation ISO image
Configuring an HA system.
Setting up an HA system begins with setting up a single system just as you would if you were not going to use HA, with just one caveat:
SIP Domain vs. Server Host Name
In an HA system, the SIP Domain name is the name of the distributed system, and must be different than the fully qualified host name of any of the individual servers. See DNS Concepts for sipXecs.
When you set up the first system, it automatically is configured with the Management and Primary SIP Router roles. The Primary SIP Router role includes the proxy and registry/redirect services needed for call routing, and some other services such as the one that writes the Call Detail Records.
To add a distributed system for redundant call routing, add the system on the Systems page, and install the sipXecs software on the second system. Enable the Secondary SIP Router role on the system.
Managing Processes on the Master and Distributed Server
After installing a high-availability system all sipXecs processes can be managed from the Web UI for both the master and slave server. Login to the Web UI as admin and navigate to System / Servers.
Click on master server or one of the listed slave servers to see running services. A picture similar with the one below will be displayed
Processes on the distributed system can be monitored, restarted or reloaded.
When reload button is pressed, configuration is loaded without stopping/starting the service
Note: Not all services may support reload functionality
Monitoring Phone Registrations in an HA-System
In an HA system, each phone chooses either the Primary or some Secondary system with which to register. The load sharing distribution by default is evenly distributed across all SIP Router systems, but can be changed by configuring the DNS server. As soon as a phone registers with any server, sipXecs replicates this registration data to all other SIP Routers. Using the management Web UI you can see what phones used which server (which helps you measure whether your DNS is set up correctly and whether the phones can connect to the servers equally). The example below shows three phones, a Polycom, Snom and Grandstream, where two use the Master as their primary registrar and one used the Slave.