PortSIP Knowledge Base
  • PortSIP Communications Solution
    • What is PortSIP?
    • The Advantages of PortSIP PBX vs. Other PBXs
    • Cloud PBX Empowering Service Providers
    • Simplifying Unified Communications with WebRTC and SIP
    • What is CPaaS? Communications Platform as a Service Explained
    • UCaaS is Unified Communications as a Service
    • PortSIP PBX Administration Guide
      • Overview
      • PortSIP Security Features
      • Summary of Changes
      • Before Started
      • 1 Installation of the PortSIP PBX
        • Installation of PortSIP PBX v22.x
          • Install PortSIP PBX on Linux
          • Install PortSIP IM Server on Linux
          • Install PortSIP PBX on Windows
          • Upgrade to the Latest Version Within v22.x on Linux
          • Upgrade to the Latest v22.x on Windows
          • Upgrade v16.x to the Latest v22.x on Linux
        • Installation of PortSIP PBX v16.x
          • Upgrade to the Latest v16.x Release
      • 2 Configuring the PortSIP PBX
      • 3 Tenant Management
        • Password and Sign-In Security
      • 4 Phone Device Management
        • Managing Phones
        • Auto Provisioning Security
        • Custom IP Phone Template
        • Bulk Importing Users and Auto Provisioning IP Phones
        • Zero Touch Provisioning Phones
        • Provision Phone Using PnP
        • PnP Auto Provisioning IP Phone Multicast Debug
        • Provision Phone Using RPS
        • Provision Phone Using DHCP Option 66
        • Provision Phone Using TFTP
        • Provisioning Cisco 79xx IP Phones
        • Provision Fanvil DECT IP Phones
        • Provision Yealink DECT IP Phones
        • Provision SNOM DECT IP Phones
        • Configuring Private RPS Account
      • 5 User Management
        • Users
        • How to Configure the Endpoints?
        • User Groups
        • DND and Automatic Callback
        • Speed Dial 8
        • Speed Dial 100
      • 6 Transport Management
      • 7 Trunk Management
        • Configuring SIP Trunk
        • Handle Outbound Calls Through SIP Trunk
      • 8 Call Route Management
        • Configuring Inbound Rule
        • Configuring Outbound Rule
      • 9 Configuring PortSIP SBC
        • Topology
        • Summary of Changes
        • Installation PortSIP SBC v11.x
        • Installation PortSIP SBC v10.x
        • Configuring PortSIP SBC for WebRTC
        • Upgrade to the Latest v11.x Release
        • Upgrade to the Latest v10.x Release
      • 10 Configuring SBC for MS Teams
        • Architecture
        • Configuring Microsoft Teams
        • Configuring SBC and PBX
        • Configure an SBC for Multiple Tenants
      • 11 Deploy the SBC Cluster
      • 12 Configuring Virtual Receptionist
        • Managing Virtual Receptionist
        • Visual IVR Editor Guide
        • Direct Inward System Access (DISA)
      • 13 Configuring Ring Group
      • 14 Call Parking
        • PortSIP Call Parking Feature
        • Using Call Parking Feature
        • Using Enhanced Call Park on Fanvil IP Phones
        • Using Enhanced Call Park on Yealink IP Phones
        • Using Enhanced Call Park on Grandstream IP Phones
        • Using Enhanced Call Park on SNOM IP Phones
        • Using Enhanced Call Park on Dinstar IP Phones
        • Using Enhanced Call Park on Htek IP Phones
      • 15 Shared Voicemail
      • 16 Call Queue
        • Configuring Call Queue
        • Configuring Queue Callback
        • Agent States and Work Modes
        • Skills-Based Routing
        • Silent Monitoring
        • Wallboards
      • 17 Roles and Permissions
      • 18 E164 Number Processing
      • 19 Billing
      • 20 CDR and Call Recordings
        • CDR
        • Call Recordings
        • CDR Field Descriptions
      • 21 Call Reports
      • 22 Dealers
      • 23 Feature Access Codes
      • 24 Call Pickup
      • 25 Meetings
        • Joining a Meeting with the Invite Link
      • 26 Hot Desking
      • 27 STIR/SHAKEN
        • Configuring STIR/SHAKEN
      • 28 Digital Engagement Channels
        • SMS Channel
        • WhatsApp Channel
        • Manage SMS/WhatsApp Message Conversations
      • 29 Integrations
        • Microsoft 365 Integration
        • Google Workspace Integration
      • 30 Office Hours and Holiday Schedule
        • Configuring Office Hours and Holiday Schedule
        • Routing Calls Based on Office Hours and Holidays
      • 31 Configuring Email Notifications
      • 32 Night Mode
      • PBX and SIP Trunk using PortSIP SBC
      • SIP Header Manipulation
      • Rebranding PortSIP PBX, SBC
      • System Service Extension Numbers
      • Certificates for TLS/HTTPS/WebRTC
        • Preparing TLS Certificates
        • Update Certificates
      • Backup and Restore: An Essential Guide
        • Backup and Restore PortSIP PBX
        • Backup and Restore PortSIP SBC
      • Storing Into AWS S3
      • Storing Into Azure Blob Storage
      • Trace Server - A Better Way to Monitoring SIP Messages and QoS for PortSIP PBX
    • Configuring SIP Trunks
      • QuestBlue SIP Trunk
        • Purchase a DID on QuestBlue Platform
        • Configuring QuestBlue IP Authentication Trunk
        • Configuring QuestBlue Register Authentication Trunk
        • Configuring Outbound & Inbound Calls
        • QuestBlue SMS Integration
      • Twilio SIP Trunk
        • Purchase a DID on the Twilio
        • Configuring Twilio Register Based Trunk
        • Configuring Twilio Interconnect Trunk
        • Configuring Outbound & Inbound Calls
        • Twilio SMS Integration
      • Telnyx SIP Trunk
        • Purchase a DID on Telnyx Platform
        • Configuring Telnyx IP Authentication Trunk
        • Configuring Telnyx Register Authentication Trunk
        • Configuring Outbound & Inbound Calls
        • Telnyx SMS Integration
      • Vonage SIP Trunk
        • Purchase a DID on Vonage Platform
        • Configuring Vonage IP Authentication Trunk
        • Configuring Vonage Register Authentication Trunk
        • Configuring Outbound & Inbound Calls
        • Vonage SMS Integration
      • VoIP.ms SIP Trunk
        • Purchase a DID on VoIP.ms
        • Configuring VoIP.ms Register Based Trunk
        • Configuring Outbound & Inbound Calls
        • VoIP.ms SMS Integration
      • Voxtelesys SIP Trunk
        • Purchase a DID on Voxtelesys Platform
        • Configuring Voxtelesys IP Authentication Trunk
        • Configuring Voxtelesys Register Authentication Trunk
        • Configuring Outbound & Inbound Calls
        • Voxtelesys SMS Integration
      • Wavix SIP Trunk
        • Purchase a DID on Wavix Platform
        • Configuring Wavix IP Authentication Trunk
        • Configuring Wavix Digest Trunk
        • Configuring Outbound & Inbound Calls
        • Wavix SMS Integration
      • VoIP Innovations SIP Trunk
        • Purchase a DID on VoIP Innovations Platform
        • Configuring VoIP Innovations IP Authentication Trunk
        • Configuring Outbound & Inbound Calls
        • VoIP Innovations SMS Integration
      • Bandwidth SIP Trunk
        • Purchase a DID on Bandwidth Platform
        • Configuring Bandwidth IP Authentication Trunk
        • Configuring Outbound & Inbound Calls
        • Bandwidth SMS Integration
      • Flowroute SIP Trunk
        • Purchase a DID on Flowroute Platform
        • Configuring Flowroute IP Authentication Trunk
        • Configuring Outbound & Inbound Calls
        • Flowroute SMS Integration
      • Gamma SIP Trunk
      • Aire Networks SIP Trunk
      • VoiceMeUp SIP Trunk
        • Configuring VoiceMeUp Trunk
        • VoiceMeUp SMS Integration
    • PBX Cluster (v22.x)
      • Topology
      • Preparing Cluster Servers
      • Configuring Cluster Servers
      • Managing Cluster
    • High Availability (v22.x)
      • High Availability and Sclability On-Premise
        • PortSIP PBX High Availability Architecture
        • High Availability Installations on Ubuntu
        • Upgrading High Availability Installation
        • Scaling Servers On-Premise for High Availability
        • Scaling SBC On-Premise for High Availability
        • Scaling IM Server On-Premise for High Availability
      • High Availability and Scalability on AWS
        • PortSIP PBX High Availability Architecture
        • High Availability Installations on AWS
        • Upgrading High Availability Installation
        • Increase Size of EBS Volume
        • Scaling Servers on AWS for High Availability
    • PBX Cluster(v16.x)
      • Topology
      • Preparing Cluster Servers
      • Configuring Cluster Servers
      • Managing Cluster
      • Configuring Cluster Servers for High Availability
    • High Availability (v16.x)
      • High Availability for On-Premise
        • PortSIP PBX High Availability Architecture
        • High Availability Installations on Ubuntu
        • Upgrading High Availability Installation
      • High Availability and Scalability on AWS
        • PortSIP PBX High Availability Architecture
        • High Availability Installations on AWS
        • Upgrading High Availability Installations
        • Increase Size of EBS Volume
        • Scaling Servers on AWS for HA
    • PortSIP UCaaS
    • FAQ
      • Troubleshooting Call Issues
      • How to Activate License key?
      • What File Format Is Required for PortSIP PBX Prompt?
      • What is the Multi-Tenant PBX?
      • Is the PortSIP PBX built on Asterisk, FreeSwitch?
      • What is the SBC?
      • What is the PBX? Features, Benefits
      • What is Direct Inward Dialing (DID)?
      • What is the DID Pool?
      • What are IP Phones Work with PortSIP PBX?
      • Hardware Specifications
      • How to Adjust the REST API Rate Limit?
      • SIP Status Code of Response
      • What is SIP ALG and Why You Need to Disable It?
      • Essential Factors for Choosing a Could PBX Solution
      • Migrate from legacy FCM APIs to HTTP v1 for Android Push Notifications
      • PortSIP SDK License Agreement
      • PortSIP Software End-User License Agreement
  • Apps Guides
    • PortSIP ONE Desktop App
      • Sign in to PBX
      • Calls, Messages, and Voicemails
      • Customize Your Caller ID
      • SMS and WhatsApp Messaging
      • Click to Call
      • Calling from Another Device
      • Change Your Call Queue Status
    • PortSIP ONE Mobile App
      • Sign in to PBX
      • Calls, Messages, and Voicemails
      • Customize Your Caller ID
      • SMS and WhatsApp Messaging
      • Change Your Call Queue Status
    • PortSIP Softphone
  • DEVELOPING WITH PORTSIP
    • Getting Started
    • Calling APIs
      • User Manual for Windows
      • User Manual for iOS
      • User Manual for Android
      • User Manual for macOS
    • REST APIs
      • Version 22.2
        • Get Started
          • Schema
          • Authentication and Authorization
          • HTTP verbs
          • Summary Representations
          • Resource ID
          • Query Options Overview
          • Detailed representations
          • Timezones
          • API Response
          • Error Handling
          • Resource Synchronization
          • Personal Contacts Synchronization
        • Authentication
        • Administrations
        • Extensions
        • Authentication
        • Tenants
        • Call Queues
        • Billing
        • CTI
        • Call Sessions
        • Call Detail Records
        • Conference
        • Contact
        • Emergency Numbers
        • Extensions
        • Files
        • Blobs
        • Trunks
        • Inbound Rules
        • Outbound rules
        • Virtual Receptionists
        • Media Server
        • MOH
        • Automatic Callback
        • Auto Provisioning
        • Push Notification
        • Ring Groups
        • Shared Voicemails
        • Security
        • Feature Access Codes
        • Voicemails
        • Call Park
        • Call Pickup
        • Hot Desking
        • External Message
        • Notification
        • Troubleshooting
        • Microsoft 365
        • Models
      • Version 22.1
        • About
        • API reference
          • Info
          • Login
            • By microsoft
          • Logout
          • Network
          • Sbc
            • Token
              • Destroy
          • Im
            • Token
              • Destroy
          • Dealers
            • Password
            • Destroy
          • Mobile push
            • Destroy
          • Ip filters
            • Destroy
            • Export
          • Transports
            • Destroy
            • Status
          • Tenants
            • Switch
            • Dealers
              • Destroy
            • Destroy
          • Tenant
            • Status
            • Notification
              • Test email
            • Password policy
            • Billing
            • Balance
            • Custom headers
          • Conference servers
            • Status
            • Destroy
          • Media servers
            • Status
            • Destroy
          • License
          • Key
          • Brand
          • Dealer
            • Status
            • Username
            • Password
          • Roles
            • Destroy
          • User
            • Password
            • Extension password
            • Profile
            • Status
            • Presence
            • Balance
            • Greetings
              • Enable
              • Disable
              • Destroy
            • Phones
              • Destroy
            • Cdrs
              • Sync tokens
                • Diff
            • External messages
            • Recordings
              • Destroy
            • Speed dial 8
              • Destroy
            • Speed dial 100
              • Destroy
            • Meetings
              • Destroy
              • Status
              • Mute
              • Unmute
              • Lock
              • Unlock
              • Start
              • Stop
              • Start recording
              • Stop recording
              • Participants
                • Layout
                • Invite
                • Mute
                • Unmute
                • Chairman
                • Position
                • Destroy
            • Holidays
              • Destroy
            • Global holidays
            • Contacts
              • Favorite
              • Unfavorite
              • Destroy
              • Sync tokens
                • Diff
            • Call queues
              • Agent
            • Outbound caller ids
            • Ring groups
            • Business contacts
              • Favorite
              • Unfavorite
              • Sync tokens
                • Diff
            • Extension contacts
              • Favorite
              • Unfavorite
              • Sync tokens
                • Diff
          • Users
            • Profile
            • Password
            • Extension password
            • Role
            • Ms365 binding
              • Destroy
            • Destroy
            • Status
              • Destroy status
            • Balance
            • Greetings
              • Enable
              • Disable
              • Destroy
            • Phones
              • Destroy
            • Holidays
              • Destroy
            • Global holidays
            • Call queues
              • Agent
            • Speed dial 8
              • Destroy
            • Speed dial 100
              • Destroy
          • Extension numbers
          • Groups
            • Destroy
            • Members
              • Destroy
          • Voicemails
            • Set read
            • Set unread
            • Destroy
          • Recordings
            • Destroy
          • Call queue servers
            • Status
            • Destroy
          • Call queues
            • Status
            • Destroy
            • Waiting
              • Pickup
            • Agents
          • Exclusive numbers
            • Destroy
            • Call queues
              • Agents
              • Destroy
            • Export
          • Vip numbers
            • Destroy
            • Export
          • Call queue blacklisted numbers
            • Destroy
            • Export
          • Call queue blacklist prompts
          • Sessions
            • Directly
            • Hold
            • Unhold
            • Refer
            • Attended refer
            • Destroy
          • Conference rooms
            • Destroy
            • Status
            • Mute
            • Unmute
            • Lock
            • Unlock
            • Start recording
            • Stop recording
            • Participants
              • Layout
              • Invite
              • Mute
              • Unmute
              • Chairman
              • Position
              • Destroy
            • Recordings
              • Destroy
              • Set read
              • Set unread
          • Contacts
            • Destroy
            • Export
          • Emergency numbers
            • Destroy
          • Files
            • Destroy
          • Blobs
            • Uploads
              • Append
              • Complete
              • Status
              • Destroy
          • Inbound rules
            • Destroy
            • Export
          • Moh server
            • Musics
              • Destroy
          • Monitor
          • Monitor groups
            • Destroy
            • Members
              • Destroy
            • Managers
              • Destroy
          • Call park
          • Call park groups
            • Destroy
            • Members
              • Destroy
          • Call pickup groups
            • Destroy
            • Members
          • Voicemail
          • Acb
          • Outbound rules
            • Destroy
            • Export
            • Applied groups
              • Destroy
          • Phone models
          • Phones
            • Reprovision
            • Assignee
            • Reboot
            • Reject
          • Dect phone models
          • Dect phones
            • Destroy
            • Members
          • Providers
            • Status
            • Destroy
            • Export
            • Assignees
              • Destroy
          • Ring groups
            • Agents
            • Destroy
          • Shared voicemails
            • Destroy
            • Voicemails
              • Set read
              • Set unread
              • Destroy
            • Greetings
              • Enable
              • Disable
              • Destroy
          • Holidays
            • Destroy
          • Allowed country codes
          • Disallowed codes
            • Destroy
            • Export
          • Blacklisted numbers
            • Destroy
            • Export
          • Call rates
            • Destroy
            • Export
          • Ivr servers
            • Status
            • Destroy
          • Ivrs
            • Status
            • Destroy
            • Action urls
              • Destroy
          • Hotdesking
            • Status
            • Logout
            • Destroy
          • Sms
            • Destroy
          • Whatsapp
            • Destroy
          • Cdrs
          • Calllogs
          • External messages
          • Call reports
            • Destroy
          • Completed call reports
            • Destroy
          • Feature access codes
          • Default email templates
          • Custom email templates
          • Audit logs
          • Event logs
          • Ms365
            • Certificate
            • Users
          • Google
          • Admin
            • Status
            • Username
            • Password
            • Settings
            • Notification
              • Test email
            • Ms365
              • Certificate
            • Google
          • Templates
            • Phones
              • Destroy
        • Specification
      • Version 22.0
        • About
        • API reference
          • Info
          • Login
            • By microsoft
          • Logout
          • Network
          • Sbc
            • Token
              • Destroy
          • Im
            • Token
              • Destroy
          • Dealers
            • Password
            • Destroy
          • Mobile push
            • Destroy
          • Ip filters
            • Destroy
            • Export
          • Transports
            • Destroy
            • Status
          • Tenants
            • Switch
            • Dealers
              • Destroy
            • Destroy
          • Tenant
            • Status
            • Notification
            • Password policy
            • Billing
            • Balance
            • Custom headers
          • Conference servers
            • Status
            • Destroy
          • Media servers
            • Status
            • Destroy
          • License
          • Key
          • Brand
          • Dealer
            • Status
            • Username
            • Password
          • Roles
            • Destroy
          • User
            • Password
            • Extension password
            • Profile
            • Status
            • Presence
            • Balance
            • Greetings
              • Enable
              • Disable
              • Destroy
            • Phones
              • Destroy
            • Cdrs
              • Sync tokens
                • Diff
            • Recordings
              • Destroy
            • Speed dial 8
              • Destroy
            • Speed dial 100
              • Destroy
            • Meetings
              • Destroy
              • Status
              • Mute
              • Unmute
              • Lock
              • Unlock
              • Start
              • Stop
              • Start recording
              • Stop recording
              • Participants
                • Layout
                • Invite
                • Mute
                • Unmute
                • Chairman
                • Position
                • Destroy
            • Holidays
              • Destroy
            • Global holidays
            • Contacts
              • Favorite
              • Unfavorite
              • Destroy
              • Sync tokens
                • Diff
            • Call queues
              • Agent
            • Outbound caller ids
            • Ring groups
            • Business contacts
              • Favorite
              • Unfavorite
              • Sync tokens
                • Diff
            • Extension contacts
              • Favorite
              • Unfavorite
              • Sync tokens
                • Diff
          • Users
            • Profile
            • Password
            • Extension password
            • Role
            • Ms365 binding
              • Destroy
            • Destroy
            • Status
              • Destroy status
            • Balance
            • Greetings
              • Enable
              • Disable
              • Destroy
            • Phones
              • Destroy
            • Holidays
              • Destroy
            • Global holidays
            • Call queues
              • Agent
            • Speed dial 8
              • Destroy
            • Speed dial 100
              • Destroy
          • Extension numbers
          • Groups
            • Destroy
            • Members
              • Destroy
          • Voicemails
            • Set read
            • Set unread
            • Destroy
          • Recordings
            • Destroy
          • Call queue servers
            • Status
            • Destroy
          • Call queues
            • Status
            • Destroy
            • Waiting
              • Pickup
            • Agents
          • Exclusive numbers
            • Destroy
            • Call queues
              • Agents
              • Destroy
            • Export
          • Vip numbers
            • Destroy
            • Export
          • Call queue blacklisted numbers
            • Destroy
            • Export
          • Call queue blacklist prompts
          • Sessions
            • Directly
            • Hold
            • Unhold
            • Refer
            • Attended refer
            • Destroy
          • Conference rooms
            • Destroy
            • Status
            • Mute
            • Unmute
            • Lock
            • Unlock
            • Start recording
            • Stop recording
            • Participants
              • Layout
              • Invite
              • Mute
              • Unmute
              • Chairman
              • Position
              • Destroy
            • Recordings
              • Destroy
              • Set read
              • Set unread
          • Contacts
            • Destroy
            • Export
          • Emergency numbers
            • Destroy
          • Files
            • Destroy
          • Blobs
            • Uploads
              • Append
              • Complete
              • Status
              • Destroy
          • Inbound rules
            • Destroy
            • Export
          • Moh server
            • Musics
              • Destroy
          • Monitor
          • Monitor groups
            • Destroy
            • Members
              • Destroy
            • Managers
              • Destroy
          • Call park
          • Call park groups
            • Destroy
            • Members
              • Destroy
          • Call pickup groups
            • Destroy
            • Members
          • Voicemail
          • Acb
          • Outbound rules
            • Destroy
            • Export
            • Applied groups
              • Destroy
          • Phone models
          • Phones
            • Reprovision
            • Assignee
            • Reboot
            • Reject
          • Dect phone models
          • Dect phones
            • Destroy
            • Members
          • Providers
            • Status
            • Destroy
            • Export
            • Assignees
              • Destroy
          • Ring groups
            • Agents
            • Destroy
          • Shared voicemails
            • Destroy
            • Voicemails
              • Set read
              • Set unread
              • Destroy
            • Greetings
              • Enable
              • Disable
              • Destroy
          • Holidays
            • Destroy
          • Allowed country codes
          • Disallowed codes
            • Destroy
            • Export
          • Blacklisted numbers
            • Destroy
            • Export
          • Call rates
            • Destroy
            • Export
          • Ivr servers
            • Status
            • Destroy
          • Ivrs
            • Status
            • Destroy
            • Action urls
              • Destroy
          • Hotdesking
            • Status
            • Logout
            • Destroy
          • Sms
            • Destroy
          • Whatsapp
            • Destroy
          • Cdrs
          • Call reports
            • Destroy
          • Completed call reports
            • Destroy
          • Feature access codes
          • Default email templates
          • Custom email templates
          • Audit logs
          • Event logs
          • Test email
          • Ms365
            • Certificate
            • Users
          • Admin
            • Status
            • Username
            • Password
            • Settings
            • Notification
          • Templates
            • Phones
              • Destroy
        • Specification
      • Authentication
      • Accessing CDRs and Recordings
    • Call Control APIs
    • Messaging APIs
      • Protocol
      • API Examples
    • WSI: Pub/Sub
    • Webhook Events
      • Registering a Webhook
      • Receiving Events via a Webhook
      • Event Reference
    • Mobile Push Notifications
      • How Do Push Notifications Work with PortSIP PBX?
      • Integrating the Push Notifications in Native iOS APP
      • Integrating the Push Notifications in Android APP
  • PBX v12.x (EOL)
    • PortSIP PBX v12.x is EOL
    • High Availability
      • PortSIP PBX High Availability
      • UCaaS High Availability
      • Deploy the PortSIP PBX HA on AWS
      • Deploy PortSIP PBX HA for CentOS
      • Deploy PortSIP PBX HA for Ubuntu
      • Migrate the HA data
    • Push Notifications
      • How do push notifications work with PortSIP PBX?
      • Implement the PUSH notifications in Xamarin iOS APP with PortSIP PBX 12.x
      • Implement the PUSH notifications in native iOS APP with PortSIP PBX 12.x
      • Implement PUSH notifications in Android APP with PortSIP PBX 12.x
      • Implement PUSH notifications in Xamarin Android APP with PortSIP PBX 12.x
    • Tutorials
      • REST API Examples
      • Trace server - A Better Way to Debug PortSIP UC
      • Setup SSL Certificates for HTTPS/WebRTC
      • Going Real-Time with PortSIP PBX Pub/Sub
      • Upgrade PortSIP PBX for offline
      • PortSIP UC Architecture
      • PortSIP PBX Features
      • PortSIP Security Feature
      • Hardware Specifications
      • Setup PortSIP PBX for Linux
      • Upgrade PortSIP PBX
      • Upgrade PortSIP PBX v12.x to the v12.8.7
      • Add Extended Media Server
      • Store the recording files to AWS S3
      • Configure Notifications for Kubernetes
      • Rebranding PortSIP PBX
Powered by GitBook
On this page
  • Prerequisites
  • Architecture
  • Pacemaker
  • AWS EBS
  • Working Mechanisms
  • Notes
  • Creating the User Group and User
  • Create User Group
  • Create User
  • Create User Access Key
  • VPC and Subnet
  • VPC
  • Create the subnet
  • Create Security Group
  • Inbound rule
  • Outbound rule
  • Create EC2 instances
  • Create EC2
  • Create a Key pair for login
  • Networking
  • Configuring Storage (Volume)
  • Verifying Host NAME
  • Allocate Elastic IP
  • Create Elastic Block Store Volume
  • Configuring AWS
  • Install AWS CLI
  • Configuring AWS IAM
  • Configuring Certificate File
  • Configuring PortSIP PBX HA
  • Download the PBX resource package
  • Set variables
  • Install Dependencies
  • Deploying PBX HA
  • Configuring PortSIP PBX
  • Installing PortSIP IM Service
  • Managing PBX HA
  • View PBX HA Status
  • Check the Current Master Node
  • Restart PBX
  1. PortSIP Communications Solution
  2. High Availability (v22.x)
  3. High Availability and Scalability on AWS

High Availability Installations on AWS

PreviousPortSIP PBX High Availability ArchitectureNextUpgrading High Availability Installation

Last updated 2 months ago

This guide provides instructions on how to deploy PortSIP PBX HA on the AWS EC2 environment.

Prerequisites

  • Operating System: Ubuntu 24.04 LTS 64-bit is required.

  • AWS EC2 Instances: You will need three AWS EC2 instances. In this guide, the terms EC2 server, PBX server, and node are used interchangeably, all referring to an AWS EC2 instance.

  • Instance Specifications: Each EC2 instance should have a minimum of 4 vCPUs and 4GB of memory.

  • Public IP Assignment: Ensure to select the Assign a public IP automatically option when creating each EC2 instance.

  • Private IP Address: Each EC2 instance must be assigned a static private IP address.

  • Location: All EC2 instances must be located within the same Region, VPC, and subnet.

  • Elastic IP Address: An Elastic IP address must be allocated.

  • Virtual IP: A virtual IP is required. This should be an unused private IP address within the same VPC/subnet.

  • Elastic Block Store Volume: An Elastic Block Store(EBS) volume is needed.

Architecture

Figure 1-1 PortSIP PBX HA Architecture

Pacemaker

AWS EBS

You can mount these volumes as devices on your instances. EBS volumes that are attached to an instance are exposed as storage volumes that persist independently from the life of the instance. You can create a file system on top of these volumes, or use them in any way you would use a block device (such as a hard drive). You can dynamically change the configuration of a volume attached to an instance.

To connect to the PBX service, all SIP clients (IP Phone, Softphone, Mobile App, WebRTC Client) will access the Virtual IP of PortSIP PBX in the HA scenario.

Working Mechanisms

The working mechanisms of PortSIP PBX HA are as follows:

  • Node Configuration: Three PBX nodes operate concurrently to prevent split-brain scenarios during HA switching.

  • Access Point: A Virtual IP (VIP), an unused static private IP in the APC/subnet, serves as the access entry point for the PBX system.

  • IP Mapping: The Elastic IP consistently points to the Virtual IP, which is exposed for the IP Phone, APP, and Web browser access.

  • Service Provision: The primary node provides services. If the primary node goes DOWN, the Pacemaker will immediately drift the VIP to the standby node upon detection. User service requests will then be automatically routed to the standby node, which will continue to provide services.

  • Call Restoration: Any established call on the primary node will be automatically restored by the standby node.

Notes

  • All Linux commands must be performed as the default user "ubuntu".

Creating the User Group and User

To set up the PortSIP PBX HA on AWS, you’ll need to create the user group and user in IAM.

Create User Group

  1. Open IAM. You can choose an existing group or create a new one by clicking on Create group.

  2. The permissions policies for this user group must include AmazonEC2FullAccess and AmazonEBSCSIDriverPolicy.

  3. As the below screenshot shows up, you could name the group hagroup, and ensure that the permissions policies include both AmazonEC2FullAccess and AmazonEBSCSIDriverPolicy.

Create User

To create a new user, follow these steps:

  1. Click on Users to view the list of users.

  2. Click on Create user to start the process of creating a new user.

  3. As the below screenshot shows up, you could name the user hauser, and assign this user to the previously created user group hagroup.

Create User Access Key

Once you’ve successfully created the user, follow these steps to create an access key for that user (hauser):

  1. Click on Create access key.

  2. In Step 1, under Access key best practices & alternatives, select Command Line Interface (CLI) for the Use case.

  1. Proceed to Step 3, Retrieve access keys. Here, it's crucial to note and save the Access key and Secret access key for future use.

VPC and Subnet

VPC

In the PortSIP PBX HA setup, all PBX nodes will be deployed within the same Availability Zone (in this example, we’re using us-west-1), VPC, and subnet. It’s important to assign a static private IP from the subnet to each PBX node.

To do this, open the AWS VPC menu and use the default VPC(You can also create a new VPC). As shown in the screenshot below, the VPC IPv4 CIDR is 172.31.0.0/16.

Create the subnet

To set up the subnets, follow these steps:

  1. Click on Subnets to view the list of subnets. If there are no existing subnets, click on Create subnet to create a new one.

  2. As shown up below the example, the Subnet ID could be subnet-8cadc4e8, with an IPv4 CIDR of 172.31.16.0/20, and located in the Availability Zone us-west-1c.

The CIDR must be 20 otherwise the installation will fail.

In this scenario, we’ll assign the following static private IPs to the nodes:

  • Node 1: 172.31.16.133

  • Node 2: 172.31.16.134

  • Node 3: 172.31.16.135

Create Security Group

To set up the security group, follow these steps:

  1. Click on Security Groups to view the list of security groups. If there are no existing security groups, click on Create security group to create a new one.

  2. For example, your Security Group name could be pbx-ha, with a Security Group ID of sg-0e2bea9ea4033f893.

Inbound rule

TYPE

PROTOCOL

PORT RANGE

SOURCE

DESCRIPTION

Custom UDP

UDP

35000 - 65000

0.0.0.0/0

RTP

ALL TCP

TCP

0 - 65535

172.31.0.0/16

ALL UDP

UDP

0 - 65535

172.31.0.0/16

Custom TCP

TCP

5432

172.31.0.0/16

db

SSH

TCP

22

0.0.0.0/0

ssh

Custom UDP

UDP

5060

0.0.0.0/0

pbx sip/udp

Custom TCP

TCP

5061

0.0.0.0/0

pbx sip/tcp

Custom TCP

TCP

5063

0.0.0.0/0

pbx sip/wss

Custom TCP

TCP

8882-8900

0.0.0.0/0

pbx

Custom TCP

TCP

10443

0.0.0.0/0

sbc webrtc

HTTP

TCP

80

0.0.0.0/0

http

HTTPS

TCP

443

0.0.0.0/0

https

The rule for ALL TCP and ALL UDP is allowed under the same subnet, all hosts can access each other.

Outbound rule

TYPE

PROTOCOL

PORT RANGE

DESTINATION

DESCRIPTION - OPTIONAL

All traffic

All

All

0.0.0.0/0

–

Configure the security group when creating all HA EC2 instances.

Create EC2 instances

Create EC2

Please follow the below steps to create the EC instance.

  • In the Section Application and OS Images (Amazon Machine Image), please choose the AMI Ubuntu Server 24.04 LTS (HVM), SSD Volume Type.

  • In the section Instance type, please choose the instance type t3.medium or other instance types.

You should choose the appropriate instance type for your business usage.

For higher user volumes and concurrent calls, more CPU and memory resources are required. Therefore, it's important to choose an instance type that is appropriate for your specific needs. Please consider your user volume and call concurrency when selecting your instance type.

Create a Key pair for login

In the Key pair (login) section, you have the option to select an existing Key pair name or create a new one by clicking on Create new key pair.

For instance, in this guide, we’ll create a new key pair and name it aws-portsip-pbx-ha. This will generate a certificate file named aws-portsip-pbx-ha.pem.

In the PortSIP PBX HA, all EC2 instances must use the same key pair.

Networking

To set up the network for the EC2 servers, follow these steps:

  • Choose the VPC vpc-027ba466 and Subnet subnet-8cadc4e8 that you created earlier.

  • For Auto-assign public IP, select Enable.

  • In the Firewall (security groups) section, select the existing security group pbx-ha that you created earlier.

Note: In the Advanced network configuration > Network interface 1 section, enter the following IPs for the Primary IP field:

  • Node 1: Enter "172.31.16.133"

  • Node 2: Enter "172.31.16.134"

  • Node 3: Enter "172.31.16.135"

Configuring Storage (Volume)

In the Section Storage(Volume) we can configure the disk for the PBX HA, this disk is used for installing the Linux OS, usually, 40G or 100G is enough.

Verifying Host NAME

By default, AWS automatically sets up the Host Name for each EC2 instance once it’s successfully created. This means you don't have to manually assign a Host Name to each instance, simplifying the setup process.

In this scenario, it shows up as the below.

NODE

HOST NAME

PUBLIC IP

PRIVATE IP

DISK

DEFAULT USER

1

ip-172-31-16-133

Auto-assign

172.31.16.133

/dev/sda (40GB)

ubuntu

2

ip-172-31-16-134

Auto-assign

172.31.16.134

/dev/sda (40GB)

ubuntu

3

ip-172-31-16-135

Auto-assign

172.31.16.135

/dev/sda (40GB)

ubuntu

Allocate Elastic IP

Next, you'll need to allocate an Elastic IP for the PBX HA. Here’s how:

Click on Elastic IPs to list the current allocated Elastic IPs. Click on Allocate Elastic IP address to create a new one. For example, your allocated IPv4 address could be 54.151.30.9, with an allocation ID of eipalloc-02c7cf64a5cd449c.

Create Elastic Block Store Volume

Next, you’ll need to create an EBS volume to store the PBX HA data. This volume usually should be large since it is used to store the PBX data such as DB, recording files, logs, and chat files, in your production environment, we suggest it be as big as possible, such as 1000G.

Here’s how:

  1. Click on Volumes to view the list of volumes.

  2. Click on Create volume to create a new one.

For example, your volume info could look like this:

Type
Volume ID
Size
IOPS
Availability Zone
Encryption
Multi-Attach enabled

io2

vol-0e06e1e9da3c49b67

1000GB

500

us-west-1c

No

No

The following screenshot shows the example:

Configuring AWS

Install AWS CLI

Perform the below command on all EC2 instances.

sudo apt install unzip && \
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" \
-o "awscliv2.zip" && unzip awscliv2.zip && sudo ./aws/install

You can use the following command to check the AWS CLI version:

aws --version

Configuring AWS IAM

Take the region name as the screenshot, in case the region name is us-west-1.

Perform the below command on all EC2 instances.

aws configure

Enter the necessary information for the prompts.

AWS Access Key ID [None]: type your Access Key ID here (see Create User Access Key)
AWS Secret Access Key [None]: type your Secret Access Key Here (see Create User Access Key)
Default region name [None]: type region name here
Default output format [None]: json

Configuring Certificate File

You’ll need to upload the aws-portsip-pbx-ha.pem file to the /home/ubuntu/.ssh/ directory of the node with IP 172-31-16-133. This aws-portsip-pbx-ha.pem file is the key pair that was generated when creating the EC2 instances.

Perform the below command on the node ip-172-31-16-133 only.

chmod 400 /home/ubuntu/.ssh/aws-portsip-pbx-ha.pem

Configuring PortSIP PBX HA

Download the PBX resource package

The following command should only be executed on the EC2 ip-172-31-16-133.

cd /opt/ && sudo wget -N \
https://www.portsip.com/downloads/ha/v22/portsip-pbx-ha-on-aws-guide-22.tar.gz \
 && sudo tar xf portsip-pbx-ha-on-aws-guide-22.tar.gz

Set variables

Please prepare the value for the below Variables.

VARIABLES
TYPE
DESCRIPTION

pbx01_instance_id

string

The instance id of the node 1

pbx02_instance_id

string

The instance id of the node 2

pbx03_instance_id

string

The instance id of the node 3

private_vip_address

string

The virtual IP(in the example, 172.31.16.130 is used)

eip_address

string

Elastic IP Address

eip_allocation_id

string

Elastic Allocation ID

ebs_volume_id

string

EBS Volume ID

pbx_image

string

PortSIP PBX docker image

ssh_private_key_file

string

The path of certificate file for the key pair "aws-portsip-pbx-ha"

The following command should only be executed on the EC2 ip-172-31-16-133.

cd /opt/portsip-pbx-ha-guide && sudo bash -c 'cat > ./res/vars.yml' << EOF
pbx01_instance_id: i-08807c762627239b8
pbx02_instance_id: i-03411641c37513049
pbx03_instance_id: i-0c301db1a53ae3a4b
private_vip_address: 172.31.16.130
eip_address: 54.151.30.9
eip_allocation_id: eipalloc-02c7cf64a5cd449cf
ebs_volume_id: vol-0e06e1e9da3c49b67
pbx_image: portsip/pbx:22
ssh_private_key_file: /home/ubuntu/.ssh/aws-portsip-pbx-ha.pem
EOF

Install Dependencies

The following command should only be executed on the EC2 ip-172-31-16-133.

cd /opt/portsip-pbx-ha-guide/ && /bin/bash install_dependencies.sh

Deploying PBX HA

Perform the below command on the node ip-172-31-16-133 only.

The execution may take a long time, so patience is required. Please do not interrupt, restart, or shut down while the process is in progress.

cd /opt/portsip-pbx-ha-guide/ && /bin/bash deploy_pbx.sh

You can also resolve your web domain to the Elastic IP.

Configuring PortSIP PBX

When you sign into the PBX Web portal, the setup wizard will automatically pop up. In its first step, Enter the private virtual IP 172.31.16.130 as the filed Private IPv4, and enter the Elastic IP 54.151.30.9 as the filed Public IPv4.

Once successfully completed the Setup Wizard, select the menu Advanced > Settings > Advanced, select the Enable Call Recovery option, and confirm by clicking on the OK button.

Installing PortSIP IM Service

Managing PBX HA

Once you successfully configured the PortSIP PBX HA as per the above steps, you can use the following commands to manage the PBX HA.

All commands should be performed only on the EC2 instance ip-172-31-16-133.

View PBX HA Status

cd /opt/portsip-pbx-ha-guide && /bin/bash ha_ctl.sh show

The following output indicates that the PBX HA is working properly. The EC2 instance with IP 172-31-16-133 is serving as the current master node, while the EC2 instances with IPs 172-31-16-134 and 172-31-16-135 are acting as slave nodes.

Cluster name: ha_cluster
Cluster Summary:
  * Stack: corosync
  * Current DC: ip-172-31-16-134 (version 2.0.3-4b1f869f0f) - partition with quorum
  * Last updated: Tue Sep 19 03:29:30 2023
  * Last change:  Tue Sep 19 03:25:28 2023 by root via cibadmin on ip-172-31-16-133
  * 3 nodes configured
  * 7 resource instances configured

Node List:
  * Online: [ ip-172-31-16-133 ip-172-31-16-134 ip-172-31-16-135 ]

Full List of Resources:
  * eip    (ocf::portsip:awseip):     Started ip-172-31-16-133
  * privip    (ocf::heartbeat:awsvip):     Started ip-172-31-16-133
  * vip    (ocf::heartbeat:IPaddr2):     Started ip-172-31-16-133
  * src_pkt_ip    (ocf::portsip:awsipsrcaddr):     Started ip-172-31-16-133
  * ebs    (ocf::portsip:awsebs):     Started ip-172-31-16-133
  * datapath_fs    (ocf::heartbeat:Filesystem):     Started ip-172-31-16-133
  * pbx    (ocf::portsip:pbx):     Started ip-172-31-16-133

Daemon Status:
  corosync: active/enabled
  pacemaker: active/enabled
  pcsd: active/enabled

Check the Current Master Node

Perform the below command only on the EC2 instance ip-172-31-16-133.

cd /opt/portsip-pbx-ha-guide && /bin/bash ha_ctl.sh master

The output will indicate the current master node is on which EC2 instance.

Restart PBX

Use the below command to restart the PBX.

cd /opt/portsip-pbx-ha-guide && /bin/bash ha_ctl.sh restart -s pbx

The following output indicates that the PBX is successfully restarted.

try to restart resource pbx
disable resource pbx
resource 'pbx' is not running on any node
enable resource pbx

The is a high-availability Cluster Resource Manager (CRM) that can be used to manage resources and ensure that they remain available in the event of a node failure.

The PortSIP PBX HA uses the to do the resource management and monitoring, once the event of PBX node failure, the resources will automatically move to a working node in the cluster.

Amazon (Amazon EBS) is an easy-to-use, scalable, high-performance block-storage service designed for Amazon (Amazon EC2). It provides block-level storage volumes for use with EC2 instances. EBS volumes behave like raw, unformatted block devices.

The is utilized in the PortSIP HA scenario to synchronize data (DB, recording files, log files, and prompt files) between the PBX nodes.

Data Storage: is utilized to store PBX data, which includes active call information, recording files, logs, call records, and user-uploaded prompt voice files.

Status Monitoring: is used to monitor the status between EC2 servers.

You can reference the to choose the instance type.

Once the resource configuration is complete, you can access your PBX by opening in a web browser. All future PBX management, configuration, and access will be done through the Elastic IP 54.151.30.9.

You are now ready to install the PortSIP IM Service. Please refer to the guide for detailed steps to complete the installation.

Pacemaker
Pacemaker
Elastic Block Store
Elastic Compute Cloud
EBS
EBS
Pacemaker
Hardware Specifications
https://54.151.30.9:8887
Installation of PortSIP IM Server