Rate this page:

Cloud PBX

With Voximplant, you can easily build a PBX for your company. In this article, you will learn what features you can get with a PBX system and how to build such a PBX for yourself.

Contents

Copy URL

What is a cloud PBX

Copy URL

PBX, or Private Branch Exchange, is a phone system that consolidates multiple phone lines into one and routes calls within an organization. PBX phone systems support internal communication (within the company) as well as external (with customers, partners, etc.).

With Voximplant, you can build a PBX system that provides the following features:

  • Extension dialing – The entire office uses the same phone number, but different employees/departments have unique assigned extensions, which eliminates the confusion associated with multiple numbers within the same company.

  • Call transfer – A call can be transferred to a different extension without ending the call.

  • Business hour settings – Depending on the schedule you set, the PBX system routes calls differently during off-hours. This enables connectivity with branches that use after-hours or 24/7 customer support lines.

  • Call queues – Even though callers do not enjoy being put on hold, they do appreciate being told how long the expected waiting time is. Plus, call queues can be based on specific parameters and you can prioritize some callers over others.

  • Call conferencing – PBX phone systems help businesses arrange conference calls with ease. Since you do not have to hold face-to-face meetings regularly, you can reduce costs with virtual meetings.

  • Call recording and detailed phone records – This feature is used to keep track of conversations, or for those who would like to keep track of who calls and why. Archived calls, for example, serve as an important element in litigation proceedings.

Setting up a cloud PBX

Copy URL

In this section, let us create a working PBX system.

  1. Create an application.
  2. Create users for each subscriber within your PBX. Remember you can create multiple users in a fast way via the Management API AddUser method.
  3. Create 3 scenarios: for incoming calls, for processing local calls between PBX extensions, and for outgoing calls to PSTN phone numbers.
  4. Copy and paste our ready-to-use scenario codes for the scenarios.

Scenario for incoming calls

With this incoming calls scenario, if a call arrives during working hours, a standard greeting is played to the caller, otherwise, a greeting for non-working calls is played. The caller can enter an extension number to connect to a specific user or wait until the playback ends to be forwarded to all users.

Code with comments

Check the scenario's comments for a better understanding of the code.

Scenario for incoming calls

Scenario for incoming calls

Scenario for processing local calls

The scenario for local calls processes the calls within PBX users and starts recording the call after it is connected.

Scenario for local calls

Scenario for local calls

Scenario for outgoing calls to PSTN

The scenario for outgoing calls from your PBX to an external PSTN phone number.

Caller ID

To make outgoing calls to phone numbers, you need to specify a caller ID. You can find more information in the How to call a phone number article.

Scenario for outgoing calls

Scenario for outgoing calls

  1. Create routing rules for each scenario.

Please notice, that the routing rule patterns are different for each scenario:

  • Use the default pattern for incoming calls scenario

  • Use the 1[0-9]{2} pattern for the local calls scenario if your local phone numbers start with 1

  • Use the [0-9]+ pattern for the outgoing calls scenario

Please note, that the application checks the routing rules from top to bottom. The higher routing rules have higher priority. When the call's destination matches one of the rules, the rule executes and the application ignores further rules, so only one rule executes.

That is why you need to place the routing rules in the correct order. Place the rule of the local calls on the top, as it is a more special case. Then place the rule of the outgoing calls as the second one, and place the rule of the incoming calls to the bottom, as it is the most general one.

You can read more about routing rule patterns and how to set them up in the routing rules article.

Setting up a user's workplace

Copy URL

To make and receive calls, users need to have a softphone.

You can use our ready-to-use [voice & video app for Vue.js] as a web softphone. It is highly customizable, so you can tune it exactly for your workplace.

Alternatively, you can build your own softphone for any supported platform. Read the Processing voice calls in SDKs article to learn how to build your own app for web and mobile platforms, or browse our GitHub and download a demo for your platform.

Log in to your softphones with user credentials. The full SIP username looks like sip:USERNAME@APPNAME.ACCOUNTNAME.voximplant.com. Users act like PBX extensions, so they can make calls to each other and to external phone numbers.