Scaling Servers On-Premise for High Availability
This guide explains how to configure cluster servers for a High Availability (HA) PortSIP PBX deployment, capable of supporting over 1 million users, approximately 50,000 online (registered/signed-in) users, and up to 10,000 simultaneous calls. The setup is also well-suited for high-demand scenarios, including large meetings, IVR, and call queues.
Prerequisites
Before configuring the cluster servers, please ensure that you have completed the PBX HA installation and configuration on the Main Server by following the guide High Availability Installations on Ubuntu.
Note: In this step, just need to install the PBX only, is no need to install the IM server at this stage, as it will be installed later in this guide.
Preparing Cluster Servers
We need to prepare the Linux servers for installing the following cluster application servers:
Media Servers
Queue Servers
Meeting Servers
IVR servers
In this guide, we assume that the following servers are being installed for the cluster:
Main Server: Install the PBX HA with a virtual IP address of 192.168.1.130.
Server 1: Install a media server with a private IP address of 192.168.1.21 and a static public IP of 104.101.137.60.
Server 2: Install a queue server with an IP address of 192.168.1.22.
Server 3: Install a meeting server with an IP address of 192.168.1.23.
Server 4: Install an IVR server with an IP address of 192.168.1.24.
A server can only deploy one type of PortSIP server at a time. For instance, it's not allowed to deploy both the media server and queue server simultaneously on Server 1.
Supported Linux OS
PortSIP PBX High Availability (HA) and all associated cluster servers require a consistent and compatible Linux environment.
Operating System Requirements
Supported OS: Ubuntu 24.04 (64-bit)
All servers in the HA cluster must run the exact same OS version as the PBX server.
User Account Requirements
All cluster servers must use the same username and password as the PBX server.
In this guide, the username
pbx
is used as an example. The user account must havesudo
privileges to execute administrative commands.
Disk Space Recommendations
Cluster Servers: A minimum of 128 GB of disk space is required. No additional data partition is necessary.
Media Servers (with Call Recording Enabled): If call recording is enabled, a minimum of 256 GB of disk space is recommended to accommodate the additional storage requirements.
When setting up the PBX cluster, please ensure there is sufficient network speed and bandwidth between the servers. Insufficient network resources may cause the PBX to not work as expected.
Preparing the Linux Host Machine for Installation
Tasks that MUST be completed before installing cluster servers.
Ensure the server date-time is synced correctly.
If the Linux server is on a LAN, assign a Static Private IP address.
For the media server cluster, each media server also needs a Static Public IP address if you want the user to call from the Internet.
Install all available updates and service packs before installing the cluster server.
Do not install PostgreSQL on the server.
Ensure that all power-saving options for your system and network adapters are disabled (by setting the system to High-Performance mode).
Do not install TeamViewer, VPN, or similar software on the host machine.
The server must not be installed as a DNS or DHCP server.
Set password-free login for all these servers
The following commands provided below should only be executed on the PBX HA node "pbx01".
The following commands provided below should only be executed on the PBX HA node "pbx01".
If you are prompted to choose an option (yes/no), please enter yes.
Add the Cluster Servers
To add the cluster servers in the web portal, sign in to the PBX Web portal as the system administrator.
Disable Default Servers
The PortSIP PBX installation comes with default media, queue, meeting, and IVR servers. We recommend disabling these default servers so that the Main Server only handles SIP signaling, allowing it to support more users and calls.
To do this, please select the Servers menu, expand each server type (media servers, queue servers, meeting servers, IVR servers), and turn off the default server as the below screenshot shows up.
Note: The IM server does not need to be disabled.
Add Media Server
To add a new media server, please follow the below steps:
Select the Servers > Media Servers menu and click the Add button.
Enter the server information as shown in the screenshot, and then click the OK button to save it. Please remember the server name "media-server-1", we will use it in a later step.
If your PBX is deployed for internet users to access, it is mandatory to assign a static public IP to this extended media server. Enter the static IP address as shown in the screenshot below.
Note: Suggest don't set the maximum of call sessions to more than 5,000.
Run the following command only on the HA PBX node pbx01. The process may take some time, so please be patient and wait for it to complete, don't interrupt or reboot.
-s media-server-only: This parameter indicates that only the media server should be installed.
-n media-server-1: This parameter specifies the name of the media server, which must match the name entered in step 2 above.
-a 192.168.1.21: This parameter specifies the private IP address of Server 1 (the extended media server).
Once the process is completed, the server will appear as Online in the PBX web portal under the menu: Servers > Media Servers.
Add Queue Server
To add a new queue server, please follow the below steps:
Select the Servers > Queue Servers menu and click the Add button.
Enter the server information as shown in the screenshot, and then click the OK button to save it. Please remember the server name "queue-server-1", we will use it in a later step.
Run the following command only on the HA PBX node pbx01. The process may take some time, so please be patient and wait for it to complete, don't interrupt or reboot.
-s queue-server-only: This parameter indicates that only the queue server should be installed.
-n queue-server-1: This parameter specifies the name of the queue server, which must match the name entered in step 2 above.
-a 192.168.1.22: This parameter specifies the private IP address of Server 2 (the extended queue server).
Once the process is completed, the server will appear as Online in the PBX web portal under the menu: Servers > Queue Servers.
Add Meeting Server
To add a new meeting server, please follow the below steps:
Select the Servers > Meeting Servers menu and click the Add button.
Enter the server information as shown in the screenshot, and then click the OK button to save it. Please remember the server name "meeting-server-1", we will use it in a later step.
Run the following command only on the HA PBX node pbx01. The process may take some time, so please be patient and wait for it to complete, don't interrupt or reboot.
-s meeting-server-only: This parameter indicates that only the meeting server should be installed.
-n meeting-server-1: This parameter specifies the name of the meeting server, which must match the name entered in step 2 above.
-a 192.168.1.23: This parameter specifies the private IP address of Server 3 (the extended meeting server).
Once the process is completed, the server will appear as Online in the PBX web portal under the menu: Servers > Meeting Servers.
Add IVR Server
To add a new IVR server, please follow the below steps:
Select the Servers > IVR Servers menu and click the Add button.
Enter the server information as shown in the screenshot, and then click the OK button to save it. Please remember the server name "vr-server-1", we will use it in a later step.
Run the following command only on the HA PBX node pbx01. The process may take some time, so please be patient and wait for it to complete, don't interrupt or reboot.
-s vr-server-only: This parameter indicates that only the IVR server should be installed.
-n vr-server-1: This parameter specifies the name of the IVR server, which must match the name entered in step 2 above.
-a 192.168.1.24: This parameter specifies the private IP address of Server 4 (the extended IVR server).
Once the process is completed, the server will appear as Online in the PBX web portal under the menu: Servers > IVR Servers.
Note: You can repeat the above steps to set up more IVR servers. If you set up multiple servers, they must not use the same server name or IP address. Especially, you must ensure that the server name specified in the commands matches the one entered on the web portal.
Managing Extended Servers
Important:
All management commands for extended servers must be executed on the pbx01
node, regardless of whether it is currently the active node.
Available Operations
The following operations are supported for managing extended servers:
start
– Start the serversstop
– Stop the serversrestart
– Restart the serversrm
– Remove the installed servers
You can optionally target specific server types using the -s
parameter, with one of the following values:
media-server-only
– Manage all Media Serversqueue-server-only
– Manage all Queue Serversmeeting-server-only
– Manage all Meeting Serversivr-server-only
– Manage all IVR Servers
To manage a specific server instance by its IP address, use the -a
parameter.
Managing All Extended Servers
The following commands apply actions to all extended servers(Media servers, Queue Servers, Meeting Servers, IVR Servers):
Start All:
Stop All:
Restart All:
Remove All:
Managing a Specific Type of Extended Servers
To manage only a specific type of extended server (e.g., Media Servers), use the -s
parameter. Replace media-server-only
with other supported server types as needed.
Start All Media Servers:
Stop All Media Servers:
Restart All Media Servers:
Remove All Media Servers:
Managing a Specific Server Instance by IP
To manage a specific server instance (e.g., a Media Server at IP 192.168.1.21
), use both -s
and -a
parameters:
Start Specific Media Server:
Stop Specific Media Server:
Restart Specific Media Server:
Remove Specific Media Server:
Replace media-server-only
with another server type as needed (e.g., queue-server-only
), and replace 192.168.1.21
with the corresponding server’s IP address.
Upgrading Servers
All the below commands must be performed on the pbx01 node, even if it is not the current active node.
Perform the following command only on the HA PBX node pbx01, even if it is not the current active node.
First, please ensure you have upgraded the PBX HA as per this guide: Upgrading High Availability Installation.
The upgrading process may take some time—do not interrupt, reboot, or close the terminal during execution.
Upgrading All Extended Servers
If you want to upgrade all extended servers—including the Media Server, Queue Server, Meeting Server, and IVR Server—run the following command:
Upgrading Specific Types of Extended Servers
If you want to upgrade only a specific type of extended server, use the -s
parameter to define the server type. For example, to upgrade all Media Servers:
Supported Server Types
In the above command, you can use one of the following values with the -s
parameter:
media-server-only
– Upgrade all Media Serversqueue-server-only
– Upgrade all Queue Serversmeeting-server-only
– Upgrade all Meeting Serversivr-server-only
– Upgrade all IVR Servers
Last updated
Was this helpful?