High Availability Architecture of Yeastar P-Series Cloud PBX

Yeastar provides a High Availability (HA) solution for Yeastar P-Series Cloud PBX deployment, which ensures the system to operate continuously even if a specific server is failed or in heavy traffic. The High Availability architecture also allows you to elastically scale up service capabilities of the system according to the business load.

Note: This High Availability solution is only supported for Yeastar P-Series Cloud PBX deployed on Amazon Web Services (AWS).

Architecture

The figure below shows the High Availability architecture of the Yeastar P-Series Cloud PBX. According to your need, you can deploy the High Availability architecture for the whole system, or for specific servers in the system.

The High Availability architecture of the Yeastar P-Series Cloud PBX includes the following components:

Important: Make sure that the SBC Server, SBC Proxy Server, and PBXHub Server can communicate with each other internally.
Note: For security purpose, we recommend that you set up a security group for all the servers of Yeastar P-Series Cloud PBX, and set up the security group rule to open an SSH port 1022 and allow instance access from known IP addresses only; Contact Yeastar to obtain the IP allowlist.

YCM Server

YCM Server is the server that hosts a centralized platform, namely Yeastar Central Management platform. Through the graphical user interface presented on this server, you can implement the following features:

  • Create and manage Yeastar P-Series Cloud PBXs.
  • Monitor the status of all the servers (SBC Server, SBC Proxy Server, and PBXHub Server).

For more supported features of YCM Server, see Yeastar Central Management Administrator Guide.

SBC Cluster

If you adopt a High Availability architecture on SBC Server deployment, you need to create a Load Balancer and more than one SBC Servers.
Load Balancer
High Availability architecture adopts Load Balancing service to implement high system availability and quick response to user requests.
The Load Balancing automatically distributes the incoming traffic across multiple targets, namely the SBC Servers, in one or more Availability Zones. It monitors the health of registered targets by performing health checks on all targets registered to a target group (specified in a listener rule for the Load Balancer), and route traffic only to the healthy targets.
A Load Balancer can handle millions of requests per second. After the Load Balancer receives a connection request, it selects a target from the target group for the default rule, then attempts to open a TCP connection to the selected target on the port specified in the listener configuration.
When you enable an Availability Zone for the load balancer, the load balancing creates a load balancer node in the Availability Zone. By default, each load balancer node in the Availability Zone distributes traffic across the registered targets in its Availability Zone only. If you enable cross-zone load balancing, each load balancer node distributes traffic across the registered targets in all enabled Availability Zones.
Note: You need to provide Yeastar with the API interface of operating the load balancer.
SBC Server

SBC Server is a server that works as a security component of Yeastar P-Series Cloud PBX.

When the domain name of a Cloud PBX is resolved, it will point to the SBC Server, through which the traffic flow is sent to the PBX residing behind. In this way, the detailed network topology of Cloud PBX won't be exposed to the public Internet, greatly improving security performance.

Note: The SBC Server is embedded with default security rules to protect the P-Series Cloud PBX instances from malicious attack.
Supported services on SBC Cluster

The data packet of the following services are transferred through the SBC Cluster:

  • PBX web access
  • Account trunk
  • SIP extension registration
  • Linkus clients login and registration

SBC Proxy Cluster

If you adopt a High Availability architecture on SBC Proxy Server deployment, you need to create more than one SBC Proxy Servers.
SBC Proxy Server
We recommend that you deploy a primary SBC Proxy Server (Active) and a secondary SBC Proxy Server (Standby).
You need to associate an Elastic IP address with the primary SBC Proxy Server so it can access the Internet and be reachable from the Internet. Once the primary SBC Proxy Server fails, the Elastic IP address will be switched to the secondary server, and the traffic will then be routed to the server without changing the IP address.
In addition, you need to associate the subnets where the SBC Proxy Servers reside with a NAT gateway to ensure outbound Internet connectivity when the SBC Proxy server is in Standby mode.
Note: You need to provide Yeastar with the API interface of switching the Elastic IP address across the servers.
Supported services on SBC Proxy Cluster

An SBC Proxy Cluster deals with the following services:

  • LDAP/LDAPs
  • Register Trunk
  • Port-based Peer Trunk
  • DID-based Peer Trunk
  • Outbound service port assignment, including ports for SSH connection, AMI integration, and database grant.

PBXHub Cluster

If you adopt a High Availability architecture on PBXHub Server deployment, you need to create two servers in each PBXHub, namely a primary PBXHub Server (Active) and a secondary PBXHub Server (Standby).

PBXHub Server

PBXHub Server is the servers where the Yeastar P-Series Cloud PBX instances are launched. The server is located in private subnet, which needs to be associated with a NAT gateway to ensure outbound Internet connectivity.

Each PBXHub Server contains an primary server (Active) and a secondary server (Standby). In this way, once the primary PBXHub Server fails, the secondary server will automatically take over the service from it, and all the data will be synchronized, greatly increasing the fault tolerance of the servers.

Each PBXHub Server can provide up to 100 Cloud PBX instances, you can create more PBXHub Servers elastically according to the business load.

Supported services on PBXHub Cluster

The PBXHub Cluster provides the following services for the Cloud PBX:

  • Cloud PBX instance launching

    When you create Yeastar P-Series Cloud PBXs on the YCM Server for customers in different regions, the PBX instances are launched in the PBXHub Server. Customers can then log in and manage their own Cloud PBX.

  • Cloud PBX High Availability

    If there is more than one ACTIVE PBXHub Server, the PBXHub Cluster also provides high availability performance for the voice communication service of Cloud PBX instances.

    For example, you have deployed PBXHub Server 1 and PBXHub Server 2, and both servers are running in active status. If the voice communication of Cloud PBX A in PBXHub Server 1 becomes unavailable, the system will send an alarm, and automatically launch a new PBX instance in PBXHub Server 2. The data of the Cloud PBX A as well as the follow-up data packets will be transferred to the new instance. After that, the system will send a notification, informing that the PBX service is recovered. In this way, the voice availability of Cloud PBX can be guaranteed.

  • Storage

    In each PBXHub Server, you need to set up two additional storage disks for the active server and standby server respectively.

    • Data storage disk: This storage disk is used to store the system data of all the Cloud PBXs in the server.
    • Recording storage disk: This storage disk is used to store the recording files of all the Cloud PBXs in the server.
  • Port assignment for Peer Trunk (Private Network)

    When PBX administrator set up a Peer Trunk based on private network, PBXHub Server will provide a virtual IP address and a SIP registration port for the Cloud PBX.