CloudPBX Self-Care Portal configuration

Link copied to clipboard
If your system version is MR90-99, some adjustments to the PortaSwitch code may be required. Please contact PortaOne support immediately after deploying the portal to perform these adjustments for the portal to work properly. We do not recommend portal deployment for systems that run versions older than MR90.

Once your free trial/paid subscription is activated, you can deploy your branded CloudPBX Self-Care Portal:

Preparation steps

Link copied to clipboard

Before proceeding with the module configuration and deployment, perform the following steps:

  1. Configure domains
  2. Obtain SSL certificates for these domains
  3. Add the portal domain to the list of trusted domains
  4. Make sure the configuration on the PortaBilling web interface is complete
  5. Prepare a logo and a favicon

Step 1: Configure domains

Link copied to clipboard

You need to configure two domains:

  • A “portal” domain (e.g., cloudpbx.company.com) – will be used in the portal URL your customers open in their browsers.
  • A domain for “middleware” (e.g., middleware.company.com) – will serve internally as a proxy to handle all API requests between the portal and PortaSwitch . It will not be visible to your customers. This proxy will protect your PortaSwitch from overload caused by a high number of concurrent API requests, e.g., in case of malicious activities on the portal.

The “middleware” is not deployed if:

  • Your PortaSwitch location is other than Europe, North America, South Africa, or Australia, since in this case, there will be a delay in processing API requests.
  • Your PortaSwitch has a complex configuration where API for admin and API for customer self-care run on physically different servers so that they have different hostnames, in which case, the middleware is not going to work.

When configuring DNS for these domains, specify the IP address depending on the location (cluster) where you deploy the portal. Find the IP addresses here.

Step 2: Obtain SSL certificates

Link copied to clipboard

Choose one of the following ways to obtain SSL certificates for the domains configured at step 1:

SSL certificates can be generated for you automatically. All you need is to configure domains as described in step 1. The certificates will be generated by PortaOne using Let’s Encrypt certification authority (CA).

If you choose to generate certificates automatically, you can skip to step 3.

If you configured Certification Authority Authorization (CAA) DNS record for your main domain to permit issuing certificates only via a specific CA, and wish to use subdomains, then you need to additionally permit issuing certificates via Let’s Encrypt CA for your subdomains. Add the following CAA records to the DNS configuration for the “portal” and “middleware” subdomains:

  • cloudpbx.company.com IN CAA 0 issue “letsencrypt.org”
  • middleware.company.com IN CAA 0 issue “letsencrypt.org”
Order SSL certificates from a trusted CA
Link copied to clipboard

Optionally, you can contact your trusted certification authority (CA) such as Verisign to order SSL certificates for your domains (configured in step 1).

After you receive SSL certificates and private RSA key files from the CA, you will be able to upload them on the CloudPBX ConfigUI portal.

Only unencrypted RSA private key files are suitable for the portal configuration. Since Add-On Mart needs the ability to start a new instance of the portal in the cloud automatically (i.e, when applying a configuration change or when updating to a new version) – this has to be done without the need for you (or your admin) to manually enter the password. If your trusted CA provided you with an encrypted private key file, decrypt it first (remove the password). You can check how to identify whether a private key is encrypted or not here.

For subdomains, you can use:

  • A wildcard certificate issued for the main domain and applicable to any subdomains. For example, if the main domain is company.com, the wildcard certificate covers any subdomains of the *.company.com format such as cloudpbx.company.com and middleware.company.com.
    A wildcard certificate covers only subdomains, such as *.company.com. It is not suitable for nested subdomains, for example, cloupbx.voip.company.com.
  • A certificate issued for both your subdomains configured at step 1 (e.g., cloudpbx.company.com and middleware.company.com).

Step 3: Add the portal domain to the list of trusted domains

Link copied to clipboard

Cross-Origin Resource Sharing policy (CORS) is a set of rules and permissions that web browsers use to allow web pages from one website to securely talk to APIs on another website (hosted on a different domain). By default, CORS policy blocks all requests from a different origin as potentially malicious. For example, a web page hosted on domain evilhacker.com is prohibited from making requests to an API hosted on myphone.com.

To allow cross-origin API requests from your portal to PortaSwitch, you need to explicitly grant permission by adding the portal to the list of domains trusted by the PortaSwitch API. This way your portal will be able to access it.

You need to grant permission to the portal domain regardless of whether the “middleware” is deployed or not, since the portal domain is always used as the origin of API requests.
If your system version is MR97 or later
Link copied to clipboard

Go to the Configuration server web interface and specify the URL of the portal, e.g., cloudpbx.company.com in the CorsAllowedOrigins option.

ConfServerCORS

If your system version is MR95-96
Link copied to clipboard

Go to the Configuration server web interface and specify the URL of the portal, e.g., cloudpbx.company.com in two options:

  • CorsAllowedOrigins
  • Media_server_cors_allowed_origins
If your system version is MR94 or earlier
Link copied to clipboard

Contact the PortaOne support team for assistance.

Step 4: Make sure the configuration on the PortaBilling web interface is complete

Link copied to clipboard

If you do not have your cloud PBX products configured yet – follow the steps in the handbook.

For the rest of this guide, we assume you have already configured products, product groups, customers (you can create test customers to test access to the portal), and these customers’ agreements.

Make sure that the customer role that controls customers’ access to their self-care web interface does not include any restrictions. We recommend creating a new customer role such as “Cloud PBX customers” where all permissions are set to “Modify.”

Step 5: Prepare a logo and a favicon

Link copied to clipboard

For your branded portal, prepare a logo and a favicon in the format specified below.

The format of the logo:

  • .svg or .png
  • width 130–200 pixels
  • max file size: 3 MB

It is crucial that the logo has a transparent background.

LogoCorrect

LogoIncorrect

A logo with non-transparent background is not suitable and may result in an incorrect appearance.

LogoIncorrectResult

 

Favicon
Link copied to clipboard

The format of the favicon:

  • square .ico image
  • 32×32 pixels

Module configuration and deployment

Link copied to clipboard

Once the module is activated and the preparation steps are performed, you can customize and deploy your branded CloudPBX Self-Care Portal.

On the Subscriptions page, click Manage.

Add-onMartSubscriptionsManage

Click Configure.

ManageModuleConfigure

On the CloudPBX ConfigUI page that opens, fill in the configuration details and click Save & Deploy (or Save for later to deploy it later).

CloudPBXConfigUI

The form on the ConfigUI consists of the following blocks:

General settings

Link copied to clipboard

Before proceeding with the module configuration, select the suitable portal version and the location that is closest to your PortaSwitch:

  • Version – select a portal version that is compatible with your PortaSwitch MR version (you can check the minimal required MR version here).
  • Location – select the cloud datacenter where the portal will be deployed that is closest to your PortaSwitch (to minimize the latency). The following options are available:
    • Europe cluster
    • South Africa cluster
    • Australia cluster

If none of these locations are close enough, please contact the PortaOne sales team. Additional data centers in other locations can be activated upon request.

GeneralSettingsVersionLocation

Your portal branding

Link copied to clipboard

Upload your logo and choose a sidebar color to brand your CloudPBX Self-Care Portal.

YourPortalBranding

Company logo (mandatory) – upload your logo that will be shown on the portal web interface.

This is where the logo will be displayed on the portal.

YourPortalBrandingLogo

Favicon – click to upload an .ico image that will be used as a favicon for the portal web page.

Sidebar color – you can change the default color of the portal’s navigation panel. Specify the needed color code or select a color in the dropdown menu.

This is the default sidebar color on the portal.

YourPortalBrandingSidebar

Choose domain configuration

Link copied to clipboard

Specify the domains configured at preparation step 1 and upload SSL certificates for these domains (or choose to generate the certificates automatically).

ChooseDomainConfiguration

Portal domain – specify the domain name for the portal’s web page, e.g., cloudpbx.company.com

Choose the location – choose the cloud data center where the portal will be deployed that is closest to your PortaSwitch (to minimize the latency). The following options are available:

  • Europe/North America
  • South Africa
  • Australia
  • Other

If none of these locations are close enough, please contact the PortaOne sales team. Additional data centers in other locations can be activated upon request.

If you choose “Other”, the middleware domain will not be deployed.

 

If your PortaSwitch has a complex configuration where API for admin and API for customer self-care run on physically different servers so that they have different hostnames, the middleware is not going to work. In this case, select “Other” regardless of location.

Middleware domain – specify the domain name for the API “middleware”.

Choose whether you want us to generate certificates for you or you want to upload your custom certificates. If you choose the Custom certificates option, upload your SSL certificate for your domain and the private RSA key (see preparation step 2).

PortaSwitch connection configuration

Link copied to clipboard

Fill in the parameters that are needed to connect the portal to PortaSwitch.

PortaSwitchConnectionConfiguration

Retail API URL (mandatory) – specify the URL of the PortaSwitch customer self-care interface: https://:/rest. By default, the customer realm port is 8444 (you can check the actual port on the Configuration server web interface in the VirtualHostsCustomer.server_port option). For example, the URL can be https://telecom.com:8444/rest.

PortaSIP API URL (mandatory) – specify the URL to which the portal must send all PortaSIP API requests: https://:/rest. By default, the PortaSIP API port is 8443 (you can check the actual port on the Configuration server web interface in the VirtualHostsAdmin.server_name_and_port option). For example, the URL can be https://telecom.com:8443/rest.

Product group ID (comma separated) – you can organize products in groups, so that only relevant products will be shown to a customer on the portal, and it will be easier for them to select the product they are looking for. For example, when a customer adds a new extension, they will see only the products that are meant for extensions, and will not be able to choose a product for an auto-attendant or a fax mailbox by mistake. After you create the product groups in PortaBilling, specify the IDs of groups that are meant for:

  • extensions
  • auto-attendants
  • fax mailboxes
  • SIP trunks
To get the product group IDs, you can use the Product/get_group_list API method or contact the PortaOne support team for assistance.

 

If you don’t specify product group IDs, the customer will be able to choose only the products from the customer agreement that don’t belong to any product group.

Default action (if permissions are undefined) – in PortaBilling, you can define the portal access levels per customer role via portal view configuration (e.g., a PBX administrator should have access to the PBX configuration and not have access to invoices). Here, you can additionally control access for customers when the portal view configuration is not set for their role.

To allow full access to the portal even if a customer’s role does not include portal view configuration, select Show the menu here. This may be useful if you don’t want to configure different access levels in PortaBilling and simply provide full access to all customers.

By default, the Hide the menu option is selected, so that a customer will not have access to the portal if a customer’s role does not include portal view configuration.

Other settings

Link copied to clipboard

Configure other settings to customize your portal.

OtherSettings

Zendesk key – to embed the Zendesk widget into the portal, you can specify the widget snippet key, e.g., e8681381-8d63-45f3-a16a-eeaaaaec65f1.

Custom links to external apps (semicolon-separated) – you can provide your customers with useful links to your other resources on the portal sidebar. For example, you can add links to a ticketing system or to an e-commerce platform like Shopify where customers can order IP phones. For this, specify the corresponding menu item names and URLs here, e.g., Contact support;https://support/abc.com;Store;https://store/abc.com

These custom links will be displayed on the portal sidebar.

SidebarCustomLinks

Trusted websites (semicolon separated) – your customers will be able to create widgets on the portal’s wallboard – you can either allow them to use content from any website of their choice (which is the default option) or limit this possibility to the websites listed as trusted sources in this field (for example, hubspot.com;google.com;youtube.com). PBX admins will be able to add widgets with the content from external systems (even not integrated with PortaSwitch) to have all the needed information in a single place.

If you add a specific domain name here, e.g., google.com, the subdomains like maps.google.com will be treated as trusted as well.

 

See more details about wallboard widgets in the Call Center Wallboard for Data-Driven Decisions video.

Add a leading ‘+’ to outbound caller ID – by default, this option is set to “No”. Change to “Yes” if you need all DID numbers that are set as caller identity to be automatically prefixed with “+” so that you don’t need to set translation rules for CLI (Calling Line Identity) in PortaBilling.

This is how the outbound caller identity is shown on the portal when the option is set to “Yes”.

CallSettings

Embed custom JavaScript (React) – to add a custom widget, e.g., a “live chat” connected to your CRM, insert the corresponding JavaScript code here.

Deployment

Link copied to clipboard

To deploy your CloudPBX Self-Care Portal right away, click Save & Deploy. To save the configuration and deploy it later, click Save for later.

CloudPBXConfigUI_Deployment

Test the portal

Link copied to clipboard

Once CloudPBX Self-Care Portal is successfully deployed, open the link to the portal web page and test the basic functionality.

On this page

Release
What's new
Admin manuals
Handbooks
Developers documentation
UI help