Creating Virtual PBX Instances
On this topic
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 (https://console.developers.google.com/);
- 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.
- Click on the “Server Clusters” tab.
- Click Add button to add a cluster.
- 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)
- Description - This is the text that will be displayed to the user when selecting the cluster.
- Hosted Instance Domain - The domain name for this cluster. Accounts will be a subdomain of this, e.g. instance1.pbx.mycompany.eu. You will typically be required to install a trusted wildcard SSL certificate for *.<domain>, e.g. *.pbx.mycompany.eu on all the servers within this cluster.
- 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.
- In the 3CX ERP, go to “Virtual PBX Instances > Virtual PBX Servers”.
- 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. *.mycompany.eu);
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.
- Repeat this process to add more servers.
Step 4: Creating a Virtual PBX instance
To add a new hosted instance on a server:
- Click on Virtual PBX instances > Add
- Select the Server cluster.
- Select on which server in this cluster you want to create this new instance.
- Enter a Tenant ID - your company name for example.
- Enter a contact name and email address
- Specify voice mail and or recording quotas in Mb. Default is 1Gb for each feature.
- 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.
- Click OK to create the Virtual PBX.
- 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.
- Launch the 3CX Cloud Admin PBX Manager tool from the servers desktop
- Within the “Instance Manager” tab type the name for your new Instance and click “Add new instance”.
- Fill in the required information.
- 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.
- Click “OK”. To create the instance.
- 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.