Scaling Servers On-Premise for High Availability
This guide explains how to configure cluster servers for a High Availability (HA) PortSIP PBX deployment designed to operate at very large scale.

The architecture can support:
Over 1 million total users
Approximately 50,000 concurrently registered (online) users
Up to 10,000 simultaneous calls
This deployment model is also ideal for high-demand workloads, including large meetings, IVR applications, and high-volume call queues.
Prerequisites
Before configuring the cluster servers, ensure that you have successfully completed the PBX HA installation and configuration on the Main Server by following the guide: High Availability Installations on Ubuntu
❗ Note At this stage, only the PBX needs to be installed. The Instant Messaging (IM) server and Data Flow server should not be installed yet, as it will be deployed later in this guide.
Preparing Cluster Servers
The following Linux servers must be prepared to host the PortSIP cluster application services:
Media Servers
Queue Servers
Meeting Servers
IVR Servers
Example Cluster Topology
In this guide, the cluster is deployed using the following server layout:
Main Server: PBX HA with a virtual IP address:
192.168.1.130Server 1 – Media Server
Private IP:
192.168.1.21Static Public IP:
104.101.137.60
Server 2 – Queue Server: IP address:
192.168.1.22Server 3 – Meeting Server: IP address:
192.168.1.23Server 4 – IVR Server: IP address:
192.168.1.24
❗ Important Each server can deploy only one server role. For example, you must not deploy both a Media Server and a Queue Server on the same machine.
Supported Linux Operating System
Supported OS: Ubuntu 24.04 (64-bit)
Version Consistency: 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
pbxis used as an example.The user account must have sudo privileges to execute administrative commands.
Disk Space Recommendations
Cluster Servers: Minimum 128 GB disk space(No separate data partition is required.)
Media Servers with Call Recording Enabled: Minimum 256 GB disk space is recommended to accommodate recording storage.
Network Requirements
When deploying a PBX cluster, ensure sufficient network bandwidth and low latency between all servers.
Insufficient network capacity or unstable connectivity may cause degraded performance or unexpected system behavior.
Preparing the Linux Host Machine for Installation
The following tasks must be completed before installing any cluster server components:
Ensure the system date and time are correctly synchronized.
If the server is on a LAN, assign a static private IP address.
For Media Server clusters, each Media Server must also have a static public IP address if it will handle calls from the Internet.
Install all available OS updates and service packs.
Do not install PostgreSQL on the server.
Disable all power-saving features for the system and network adapters (use High-Performance mode).
Do not install TeamViewer, VPN clients, or similar remote access software.
The server must not function as a DNS or DHCP server.
Set Up Password-Free Login for All Cluster Servers
The following commands must be executed only on the PBX HA master node (pbx01).
This step enables password-free SSH access from the PBX HA node to all cluster servers, which is required for automated deployment and management.
If you are prompted to confirm the connection (yes/no), please enter yes.
Add the Cluster Servers
To add the cluster servers, sign in to the PBX Web Portal as a System Administrator.
From the administration interface, you can register each Media Server, Queue Server, Meeting Server, and IVR Server so they become part of the HA cluster.
Disable Default Servers on the Main Server
By default, PortSIP PBX installs Media, Queue, Meeting, and IVR servers on the Main Server.
For large-scale and high-availability deployments, we strongly recommend disabling these default servers so that the Main Server is dedicated exclusively to SIP signaling and call control. This significantly improves scalability and allows the system to support more users and concurrent calls.
Steps

Go to the Servers menu in the PBX Web Portal.
Expand each server category:
Media Servers
Queue Servers
Meeting Servers
IVR Servers
Disable the default server in each category, as shown in the screenshot below.
Note The Instant Messaging (IM) Server and data flow does not need to be disabled and should remain enabled.
Add a Media Server
Follow the steps below to add and deploy a new Media Server in the HA cluster.
Step 1: Add the Media Server in the PBX Web Portal
Sign in to the PBX Web Portal as a System Administrator.
Navigate to Servers > Media Servers.
Click Add.
Enter the server information as shown in the screenshot, then click OK to save.

❗Important Use the server name
media-server-1. This name will be required in a later deployment step.
Step 2: Configure the Public IP Address (Required for Internet Access)
If your PBX is deployed to serve Internet users, you must assign a static public IP address to the extended Media Server.
Enter the static public IP address as shown in the screenshot.
Ensure the public IP is correctly routed to the Media Server host.
❗Note We recommend not setting the maximum number of call sessions higher than 5,000 per Media Server to ensure optimal performance and stability.
Step 3: Deploy the Media Server
Run the following command only on the HA PBX node (pbx01).
The deployment process may take some time. Do not interrupt the process, close the terminal, or reboot the server while it is running.
Parameter Description
-s media-server-only: Installs only the Media Server role on the target machine.-n media-server-1: Specifies the Media Server name. This value must exactly match the name entered in the PBX Web Portal.-a 192.168.1.21: Specifies the private IP address of Server 1 (the Media Server host).
Step 4: Verify the Media Server Status
Once the deployment completes successfully:
Return to the PBX Web Portal.
Navigate to Servers > Media Servers.
Confirm that
media-server-1is displayed with the status Online.
Add a Queue Server
Follow the steps below to add and deploy a new Queue Server in the HA cluster.
Step 1: Add the Queue Server in the PBX Web Portal
Sign in to the PBX Web Portal as a System Administrator.
Navigate to Servers > Queue Servers.
Click Add.
Enter the server information as shown in the screenshot, then click OK to save.

❗Important Use the server name
queue-server-1. This name will be required in a later deployment step.
Step 2: Deploy the Queue Server
Run the following command only on the HA PBX node (pbx01).
The deployment process may take some time. Do not interrupt the process, close the terminal, or reboot the server while it is running.
Parameter Description
-s queue-server-only: Installs only the Queue Server role on the target machine.-n queue-server-1: Specifies the Queue Server name. This value must exactly match the name entered in the PBX Web Portal.-a 192.168.1.22: Specifies the private IP address of Server 2 (the Queue Server host).
Step 3: Verify the Queue Server Status
Once the deployment completes successfully:
Return to the PBX Web Portal.
Navigate to Servers → Queue Servers.
Confirm that
queue-server-1is displayed with the status Online.
Add a Meeting Server
Follow the steps below to add and deploy a new Meeting Server in the HA cluster.
Step 1: Add the Meeting Server in the PBX Web Portal
Sign in to the PBX Web Portal as a System Administrator.
Navigate to Servers > Meeting Servers.
Click Add.
Enter the server information as shown in the screenshot, then click OK to save.

❗Important Use the server name
meeting-server-1. This name will be required in a later deployment step.
Step 2: Deploy the Meeting Server
Run the following command only on the HA PBX node (pbx01).
The deployment process may take some time. Do not interrupt the process, close the terminal, or reboot the server while it is running.
Parameter Description
-s meeting-server-only: Installs only the Meeting Server role on the target machine.-n meeting-server-1: Specifies the Meeting Server name. This value must exactly match the name entered in the PBX Web Portal.-a 192.168.1.23: Specifies the private IP address of Server 3 (the Meeting Server host).
Step 3: Verify the Meeting Server Status
Once the deployment completes successfully:
Return to the PBX Web Portal.
Navigate to Servers → Meeting Servers.
Confirm that
meeting-server-1is displayed with the status Online.
Add an IVR Server
Follow the steps below to add and deploy a new IVR Server in the HA cluster.
Step 1: Add the IVR Server in the PBX Web Portal
Sign in to the PBX Web Portal as a System Administrator.
Navigate to Servers > IVR Servers.
Click Add.
Enter the server information as shown in the screenshot, then click OK to save.

❗Important Use the server name
ivr-server-1. This name will be required in a later deployment step.
Step 2: Deploy the IVR Server
Run the following command only on the HA PBX node (pbx01).
The deployment process may take some time. Do not interrupt the process, close the terminal, or reboot the server while it is running.
Parameter Description
-s ivr-server-only: Installs only the IVR Server role on the target machine.-n ivr-server-1: Specifies the IVR Server name. This value must exactly match the name entered in the PBX Web Portal.-a 192.168.1.24: specifies the private IP address of Server 4 (the IVR Server host).
Step 3: Verify the IVR Server Status
Once the deployment completes successfully:
Return to the PBX Web Portal.
Navigate to Servers → IVR Servers.
Confirm that
ivr-server-1is displayed with the status Online.
Adding Multiple Servers
You can repeat the above steps to deploy additional servers for higher capacity or redundancy.
Important When deploying multiple servers:
Each server must use a unique server name.
Each server must have a unique IP address.
The server name specified in the deployment command must exactly match the name entered in the PBX Web Portal.
Install PortSIP IM Service
With the PortSIP PBX High Availability deployment complete, if you have not installed the PortSIP IM service yet, you are now ready to install the PortSIP Instant Messaging (IM) Service.
Please follow the Scaling IM Server On-Premise for High Availability guide to complete the installation and configuration.
Install PortSIP Data Flow Service
With the PortSIP PBX High Availability deployment complete, if you have not installed the PortSIP Data Flow service yet, you are now ready to install the PortSIP Data Flow Service.
Please follow the Scaling Data Flow Server On-Premise for High Availability guide to complete the installation and configuration.
Install PortSIP SBC Service
With the PortSIP PBX High Availability deployment complete, if you have not installed the PortSIP SBC service yet, you are now ready to install the PortSIP SBC Service.
Please follow the Scaling SBC On-Premise for High Availability guide to complete the installation and configuration.
Managing Extended Servers
Important Notes
All management commands for extended servers must be executed on the
pbx01node, regardless of whether it is currently the active PBX node.Do not interrupt, reboot, or close the terminal while any management or upgrade command is running.
Supported Operations
The following operations are supported for managing extended servers:
start – Start servers
stop – Stop servers
restart – Restart servers
upgrade – Upgrade servers
rm – Remove installed servers
Server Type Filters (-s Parameter)
-s Parameter)You can optionally manage a specific type of extended server using the -s parameter with one of the following values:
media-server-only– Media Serversqueue-server-only– Queue Serversmeeting-server-only– Meeting Serversivr-server-only– IVR Servers
Targeting a Specific Server (-a Parameter)
-a Parameter)To manage a specific server instance, use the -a parameter to specify its private IP address.
Managing All Extended Servers
The following commands apply to all extended servers, including Media, Queue, Meeting, and IVR servers.
Start All Extended Servers
Stop All Extended Servers
Restart All Extended Servers
Remove All Extended Servers
Managing a Specific Type of Extended Server
To manage only one type of server (for example, Media Servers), use the -s parameter.
Start All Media Servers
Stop All Media Servers
Restart All Media Servers
Remove All Media Servers
Replace
media-server-onlywith another supported server type as needed.
Managing a Specific Server Instance by IP
To manage a specific server instance, use both the -s (server type) and -a (IP address) parameters.
Example: Manage a Media Server at 192.168.1.21
Start the Server
Stop the Server
Restart the Server
Remove the Server
Replace the server type and IP address as required for Queue, Meeting, or IVR servers.
Upgrading Extended Servers
Important Notes
All upgrade commands must be executed on the
pbx01node, even if it is not currently the active node.Before upgrading extended servers, ensure that the PBX HA itself has already been upgraded by following the guide: Upgrading High Availability Installation
The upgrade process may take some time. Do not interrupt the process.
Upgrading All Extended Servers
To upgrade all extended servers (Media, Queue, Meeting, and IVR), run:
Upgrading a Specific Type of Extended Server
To upgrade only a specific server type, use the -s parameter.
Example: Upgrade All Media Servers
Supported Server Types for Upgrade:
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
Upgrading PortSIP IM Service
Please follow the Upgrading the IM Server guide to complete the installation and configuration.
Upgrading PortSIP Data Flow Service
Please follow the Upgrading Data Flow Server guide to complete the installation and configuration.
Upgrading PortSIP SBC Service
Please follow the Upgrading SBC Servers guide to complete the installation and configuration.
Last updated