Creating Virtual PBX Instances - 3CX
Zero Admin
With the new Dashboard
Bulletproof Security
With SSL certs and NGINX
Install on $150 Appliance
Intel MiniPC architecture
New, Intuitive Windows Client
More themes, more UC
More CRM Integrations
Scripting Interface to add your own
Improved Integrated Web Conferencing
iOS and Android apps included
Personal Click2Meet URLs

Creating Virtual PBX Instances

Creating Virtual PBX Instances

On this topic

Creating Virtual PBX Instances

Option 1: Create Instances from your Partner Portal (ERP)

Step 1: Create a Google Cloud Account

Step 2: Create a Server Cluster

Step 3: Add the Virtual PBX Servers

Step 4: Creating a Virtual PBX instance

Managing Virtual PBX instances

Option 2: Creating Instances using an API

Option 3: Creating Instances using the Management Tool

Once you have installed 3CX Phone System Virtual PBX Server you can create Virtual PBX instances for your customers. There are 3 ways in which to create instances.

  • Option 1: Through the Partner Portal (ERP)
  • Option 2: Via API from your application.
  • Option 3: Using the 3CX Cloud Admin PBX Manager tool

Option 1: Create Instances from your Partner Portal (ERP) 

You can manage Virtual PBX instances from your 3CX Partner Portal account. To do this you will configure the 3CX Phone Systems you have setup, after which you can dynamically create and delete Virtual PBX instances. To do this:

Step 1: Create a Google Cloud Account

The 3CX Partner portal will use Google Cloud DNS to automatically create the correct DNS entries. To create the entries for you, you will have to create a Google Cloud account and specify the details in your account. For more information:

After you have setup your account, click on “Virtual PBX Instances > Virtual PBX Settings” and in the section Google Cloud DNS Settings enter the following information:

  • Project ID - You will find this in your Google Cloud developer console (;
  • Service Account Email Address - Unless you already have one, you will need to create a service account for your Google Cloud project from APIs & Auth > Credentials. This will create a private/public key pair file (.p12) which will allow the Partner Portal to authenticate with Google Cloud. You will also receive a Server Account Client ID and email address to identify the service. Enter the email address here;
  • Private Key File - Upload the private/public key file here;
  • Private Key Password - The private key will be encrypted with a password. You will need to enter it here. Unless you have been instructed otherwise by Google, your private key password is “notasecret” (you may wish to change this, but this is beyond the scope of this document).
  • You will also need to determine in which managed zone the DNS records will be created, as well as the default TTL value used for newly created DNS records.

Step 2: Create a Server Cluster

Before you can add a 3CX Phone System Virtual PBX server, you must have configured at least one server cluster. A server cluster is a group of servers, which can be in different data centers, different regions or simply servers with different specs or SLAs. When creating a hosted instance, you will specify the server cluster on which to create the Virtual PBX instance. The server within that cluster with the least load will then be automatically selected to host the new Virtual PBX.

  1. Click on the “Server Clusters” tab.
  2. Click Add button to add a cluster.
  3. Enter a Cluster Code - An unique internal code of maximum 4 characters, consisting only of letters and number, to distinguish the cluster. This will be used to reference the cluster in Web Forms (e.g. trial form, Create Hosted Instance form)
  4. Description - This is the text that will be displayed to the user when selecting the cluster.
  5. Hosted Instance Domain - The domain name for this cluster. Accounts will be a subdomain of this, e.g. You will typically be required to install a trusted wildcard SSL certificate for *.<domain>, e.g. * on all the servers within this cluster.
  6. DNS Managed zone: You get this from your Google DNS Account.

Step 3: Add the Virtual PBX Servers

Download and install 3CX Phone System 14 on each of your servers. Ensure to select the option Multiple Instances. This will install 25 3CX Phone System tenants which will later be allocated to individual instances for your users. When all the servers have 3CX Installed, you can start adding the 3CX Phone System Virtual PBX servers to each cluster.

  1. In the 3CX ERP, go to “Virtual PBX Instances > Virtual PBX Servers”.
  2. Click the Add button and specify:
  • Server Cluster - Select a cluster from the dropdown. In this example we will add a server to the ASIA Cluster so we will choose Asia.
  • Unique name - An internal name used to reference the server. Can be the same as the FQDN.
  • FQDN - Fully qualified domain name. This may not be an IP address. If you will be using trusted SSL via a certificate issued from a certificate provider (such as Thawte or Verisign), then you need to supply a domain name for the server that would match your wildcard certificate (e.g. *;
    The Partner Portal will manage the DNS entries for your tenants by adding CNAME records for tenants on this server pointing to this FQDN. However, it will NOT create the A record for this domain name. This will be your responsibility.
  • System Id - The default for this is ‘phonesystem’. Get this from the 3CX Phone System multi-tenant installation;
  • Password - Get this from the 3CX Phone System multi-tenant installation. This is different for each installation;
  • Omit from pool - Should be enabled only for testing purposes. By Default the partner portal should be the only controlling entity of adding or deleting instances from a server. Check this option if you want to add or delete instances from the Cloud Manager tool.
  • Untrusted SSL - When you install 3CX Phone System you are prompted to import a trusted SSL Certificate or let 3CX Installation generate an untrusted / self signed SSL Certificate. If you plan to use Self Signed certificates, then you need to check this option.
  1. Repeat this process to add more servers.

Step 4: Creating a Virtual PBX instance

To add a new hosted instance on a server:

  1. Click on Virtual PBX instances > Add
  2. Select the Server cluster.
  3. Select on which server in this cluster you want to create this new instance.
  4. Enter a Tenant ID - your company name for example.
  5. Enter a contact name and email address
  6. Specify voice mail and or recording quotas in Mb. Default is 1Gb for each feature.
  7. If you want to assign a license to a hosted instance, enable the checkbox “Use the following license key” and enter the end-user customer details.
  8. Click OK to  create the Virtual PBX.
  9. An email will be sent with access credentials and configuration steps.

Managing Virtual PBX instances

You can manage your hosted instances from the Virtual PBX Instances screen:

To obtain the status of the available instances on a server, click on the [Request Status] button next to the Server record in the Virtual PBX Servers screen:

Option 2: Creating Instances using an API

If your company already has a customer portal and you have development resources available, you can automate the process of creating Virtual PBXs for your customers via the Web Service API. Using the API, your portal can activate instances on the various 3CX Phone System Virtual PBX servers you have installed. For more information see the Virtual PBX Management API documentation.

Option 3: Creating Instances using the Management Tool

You can also create your instances using 3CX Cloud Admin PBX Manager tool directly on the server that the 3CX Phone System has been installed on. This is a good solution if you have a single server.

With the tool you can Stop/Start or restart the instances services, launch the management console for an instance, delete an instance and view the instances information using the Log Tab.

  1. Launch the 3CX Cloud Admin PBX Manager tool from the servers desktop
  2. Within the “Instance Manager” tab type the name for your new Instance and click “Add new instance”.

  1. Fill in the required information.
  2. Specify the license key including the company details. If you do not specify a license key, the instance will use the default 2 sim call Free Edition.
  3. Click “OK”. To create the instance.
  4. Now get the management console username and password, that you need to log onto an instances Management Console, from the log file tab. Inside the Log File Tab you will find  the “WebAdminUser” and “WebAdminPassword” for the newly created instance. You can also view all your created instances Usernames and Passwords by clicking the “Open Log File” button, in the bottom right hand corner.

Once you have created your instances you can proceed to the Configuring a Virtual PBX Instance guide.

You might also be interested in:

Ask a Question

Please only post questions in regards to the document you are currently reading.
Technical support or pre sales questions must be posted via the support or sales channels and such comments will be deleted. Thank you for understanding

Leave a Reply

  1. Maarten van Kaam

    When I create a new virtual instance with the management tool, it automattically assigns it as instance 9 with the port plan of 13060 etc.

    Will it be possibel to select the instance number, or when creating a new inscance, to just begin from nr 1?

    July 3, 2015 at 11:20 am Reply
    • Charalambos Eleftheriou

      @Maarten – It is not possible to set the instance number. Can you give us some feedback as to why you want to assign specific instances?

      July 3, 2015 at 11:27 am
    • Maarten van Kaam

      Hi Charalambos,

      The reason for choosing the instance (or autmatically begin from instance 1) is that I can plan the configuration of the ports on the routers etc.
      Now I have to create the instance first and after that i can begin configuring the according port configuration.

      I prefer to plan the port configuration in advance of the pbx configuration, so i can prepare the network devices accordingly before configuring the instance of the pbx.

      July 3, 2015 at 11:43 am
  2. Is the Google DNS account a requirement for the ERP management? We manage our own DNS and would prefer to continue to make the DNS records ourselves. From what I understand about the upcoming v14 release, the FQDN will now be instead of www Are there any other DNS changes other than this?

    August 5, 2015 at 7:49 pm Reply
    • Charalambos Eleftheriou

      @Brian, Yes Google DNS is a requirement if you want to use the ERP system for automatically deploying instances. There are quite a few changes in v14 but the main DNS change is as you have said. When you install you Virtual PBX Server you will be asked for the FQDN which will be assigned as the main FQDN for all instances. If you specify your FQDN as then your instances will be named, for example,, and so on.

      August 6, 2015 at 10:01 am
  3. Hi, my question is related to the chosen FQDN, I have struggled all weekend at getting my Virtual PBX to run, well most of the time went to setting up the PfSense on Azure, I eventually gave up and now I have progressed this far. I have created an instance and responds well enough, to the point that I get the admin console for the instance and my login details. My challenge is that I used the incorrect FQDN to start of with which refers to a different server all together. second to that I have realised that using subdomain names wont work in my case as Azure doesn’t seem to support that other than allowing me to open a port.

    Is there a way I can change your software to allow me to use port numbers for for my instance consoles instead of dedicating an entire subdomain for its use?

    September 27, 2015 at 10:52 am Reply
    • Charalambos Eleftheriou

      @Sabata, Thanks for the question. To change the domain name that you used, you will have to backup all your instances remove the entire 3CX Phone System Virtual PBX server installation and then re-install 3CXPhone System again. This time using the correct domain name that you want to use, then restore the backups if the names are correct. If the instance names are not correct either, then you will have to create them again one by one. Then log in to each instance’s management console, configure the instance using the configuration wizard then restore the backup using the Backup and Restore feature from within the management console for each instance. Please also be aware that Azure is not a supported platform for 3CX Phone System.

      September 28, 2015 at 11:47 am
  4. mark

    About the “WebAdminUser” and “WebAdminPassword” how can I get this if the Log tab is blank and when I click open log file it has no information inside the file

    January 11, 2016 at 8:37 pm Reply
    • Charalambos Eleftheriou

      @Mark, Thanks for the question. Unfortunately due to the limitation of these in page comments we are unable to offer direct support for issues that require investigation to resolve. Please contact your 3CX reseller/partner or distributor to open a ticket with our support team so that they can look into this for you. If this is not an option for you, please ask this question in our user forums and I am sure that one of out very capable users and partners will be able to assist you further. We also have a dedicated 3CX Support Engineer browsing the forums and guiding people in the right direction. Please find our forums here:

      March 29, 2016 at 3:04 pm