Skip to content
Documentation

9bx user guide

PBX & Call Center

Phone server, 3CX import and WhatsApp calling

Run the 9bx phone system on your own server, bring your setup over from 3CX, and take calls on a WhatsApp Business number.

Contents

Phone server

What it is for: by default 9bx hosts your phone system for you. If your plan includes your own phone server, you can install it on a server you control. You run one command; 9bx never logs in to your server.

Who: the account owner or an administrator with the Phone server permission, on a plan with the own-server feature. To send the request you confirm with your account password, plus your authenticator code if two-factor authentication is on for your account.

Where: Phone → Advanced → Phone server

The process

Step What you do
Request Enter the Server IP (egress) (the public address the server reaches the internet from), Public SIP IP if phones connect to a different address, and your Address for browser calls: 9bx address (recommended), where 9bx creates the DNS record, or Use my own domain, where you create one DNS record (copy it from the box under the domain): a CNAME (recommended) to a 9bx address shown there, so you add a single record and never touch it again if your server's address changes, or an A record that points to your server. You can send the request before the record exists; Check DNS is optional. Add a certificate contact email. Press Send request.
DNS record For your own domain, the page shows Waiting for DNS with the exact record, when it last checked and when it checks next. 9bx checks every minute for the first 15 minutes, then less often, for up to 48 hours, and sends you a notification and an email when the record is found (Verified). Press Check now to look at once. If it is not found within 48 hours the status becomes Not found with the reason; fix the record and press Check now, or cancel. Where do I add this record? shows the steps.
Approval The 9bx team reviews new requests, usually within one working day, and you are notified. Approval and the DNS check run at the same time.
Install command Press Generate install command. It holds a one-time token that works for 30 minutes and only from your server's IP. It is shown once; copy it.
Run it Log in to the server as root and run both lines. The second line checks the file before running it.
Progress A five-step tracker at the top shows Send request, Approval, DNS record, Run the command and Connected. During the install the page shows stages: Request sent, Approval, Install command run, Server checks, Reachable from the internet, Installing the PBX, Connected to 9bx.

Other buttons: Cancel request, Cancel this install, Request update (when a newer installer is available; the update runs on the same server with a new one-time command), Request new server (move to a new server; the old one is cut off when the new one is ready) and Remove server (phones registered through it stop working; nothing on the server is deleted). Sensitive actions ask you to Confirm it's you with your password, and with an authenticator code only when two-factor authentication is on for your account.

Import from 3CX

What it is for: bring extensions, ring groups, queues, IVR menus, office hours, inbound and outbound rules, SIP trunks, prompts and hold music across from 3CX in a few minutes.

Who: users with the Import permission. Where: Phone setup → Advanced → Import from 3CX.

Four steps: Upload, Review, Options, Import.

  1. Upload: drop a 3CX backup (.zip) or a CSV export (Extensions CSV or Phonebook CSV), up to the shown size. In 3CX, create the backup under Admin console, Backup, Create backup, leaving out recordings and voicemail to keep it small. For CSV use Users (or Extensions), Export, and Contacts, Export.
  2. Review: see what will be created, by type: audio, SIP trunks, extensions, ring groups, call queues, IVR menus, office hours, holidays, inbound and outbound routes.
  3. Options: choose how conflicts and people are handled.
  4. Import: watch progress and read the report.

Your file is deleted when the import finishes, or after a few hours at the latest. Trunk passwords are never taken, so re-enter them on each trunk. Import statuses: Ready to review, Waiting to start, Importing, Completed, Stopped, Discarded, File expired.

WhatsApp calling

What it is for: take and make calls on your own WhatsApp Business number, routed like any other line to extensions, IVR and queues, with recording.

Who: users with the WhatsApp calling permission. It is an add-on to your plan ("WhatsApp calling is an add-on").

Where: Phone setup → Advanced → WhatsApp calling

Item Meaning
Connect WhatsApp Opens a Meta window where you sign in and pick your WhatsApp Business account and number. Connect manually is available if self-service sign-up is not available.
Calls follow The inbound route whose office hours, IVR, queue and caller rules apply to WhatsApp calls.
Show the call button in WhatsApp Customers see a call icon in their chat.
Allow calls out Agents can call people who gave permission. Meta charges these calls to your WhatsApp Business account; 9bx does not bill them.
Meta status, Call permissions, Minutes this month Health and usage, for your information.
Disconnect Turns calling off at Meta; its calls stop reaching 9bx.

Example scenario

Padma Net Support installs its phone server in its own Dhaka data centre. They send the request for pbx.padmanet.com straight away, add the A record afterwards, get an email when the DNS record is verified, the request is approved the next morning, the install command is run, and after about ten minutes the page shows Connected to 9bx. They then import their old 3CX backup and re-enter two trunk passwords.

Tips

  • Copy the install command immediately; you can always generate a new one (the old one stops working).
  • Run the 3CX import on a quiet day and check the report line by line.
  • Keep your server's firewall open to the phone ports your provider requires.

Troubleshooting

Problem Fix
Command expired Press Generate a new command.
Server checks failed Fix the failed checks listed, then run the command again.
Switchboard or other newer features do not work on your own server Your phone server may run an older installer. Use Request update and run the new command.
DNS shows Waiting for DNS or Not found DNS changes can take a few minutes, sometimes a few hours. Confirm the record is either a CNAME to the 9bx address shown on the page or an A record that points only to your server's IP (proxy off), then press Check now. 9bx asks your domain's own name servers, so a correct record is normally seen within seconds.
Authenticator code field is missing It appears only when two-factor authentication is on for your account; your password alone is enough otherwise.
3CX file will not read Use a full .zip backup or the CSV exports described above.
WhatsApp calls do not arrive Check Meta status and the Calls follow route.