FusionPBX can be used as a highly available single or domain based multi-tenant PBX, carrier grade switch, call center server, fax server, voip server, voicemail server, conference server, voice application server, appliance framework and more. FreeSWITCH™ is a highly scalable, multi-threaded, multi-platform communication platform. This article guides you on how to configure this PBX for making and receiving calls over the internet through a next generation carrier like Telnyx!
Instructions for configuring a credentials trunk between FusionPBX and Telnyx
In this activity you will:
(OPTIONAL BUT RECOMMENDED) Install a virtual machine
Ensure that your Telnyx Mission Command Portal is configured properly
This includes creating a credentials-based connection on your Telnyx Mission Control Portal account, assigned this connection to a DID and outbound profile in order to make and receive calls
RECOMMENDED: Enable TLS to encrypt your traffic
(RECOMMENDED) We recommend using Debian as the operating system version that should be running FusionPBX. The current Debian version that we tested FusionPBX on was Debian-9.9.
There are many applications that can be used to set up a Debian Operating System on your computer. In this article we use a program called VirtualBOX VM to set up a Debian Virtual Machine. You can follow these steps to do so. If you don't want to use a Virtual Machine you can skip these steps and go straight installation of the FusionPBX.
Setting up your Telnyx SIP portal account so you can make and receive calls:
Install FusionPBX (From FusionPBX)
Note: Video walkthrough for FusionPBX/Telnyx configuration coming soon. Check back as we update our docs.
1. (OPTIONAL BUT RECOMMENDED) Install a virtual machine
You only need to complete this section if you plan to run your FusionPBX on a virtual machine. If you don't, you can skip to section 2.
Download and install the Debian network installer disk image and run it.
Click on the New icon in the VirtualBox menu bar.
This will start the New Virtual Machine Wizard. The first screen is just a welcome screen so click Continue to proceed.
On the Name and operating system screen, provide the following:
On the Memory size screen, you can just use the default setting for the amount of base memory.
On the Hard disk screen, you'll create a new virtual hard disk to use as your VM file system. Select Create a virtual hard disk now.
In the next screen, you'll specify the format for the virtual hard disk. Just use the default settings here: the native VirtualBox disk image (VDI) format.
On the "Storage on physical hard disk" screen, you'll choose how your virtual hard disk is sized. The default option is is "dynamically allocated", and this is the option we recommend.
Finally, on the "File location and size" screen, choose the location and maximum size of your virtual machine disk. You can just use the defaults here, unless you require anything specific.
Click "Create". Welcome to your virtual machine!
Click on the "Settings" gear at the top left of your new VM and find the "Storage" option in the left-hand navigation.
Select the Debian file under the "Controller: IDE".
You'll see that the network ISO image is configured for your virtual machine and you can now start it. It will boot, and begin the Debian Linux installation process on the VM.
After this completes, you can go to your VirtualBox homepage and hit the power "button" on the page. This will power it on and allow you to specify your desired configurations, such as preferred language etc. and once complete, you can install your FusionPBX.
2. Install FusionPBX
FusionPBX can be installed on several different operating systems however we recommend using Debian. If you are installing Debian from scratch it will have prompted you during the installation phase to have created a root password. This will be the password you will enter when you run the command su root in the terminal.
Visit this website that FusionPBX recommends for following the install script as it is much simpler and faster than previous ways.
Run the following commands as root. This will run a scrip that installs FusionPBX, FreeSWITCH release package and its dependencies, iptables, Fail2ban, NGINX, PHP-FPM, and PostgreSQL.
#upgrade the packages
apt-get update && apt-get upgrade -y
apt-get install -y git lsb-release
#get the install script
cd /usr/src && git clone https://github.com/fusionpbx/fusionpbx-install.sh.git
#change the working directory
At the end of the install script you will be instructed to go to the IP address of the server in your web browser to finish the install in the FusionPBX GUI.
Once you have opened a browser with the URL the terminal gave you, you should see a GUI where you will go on to configure FusionPBX.
Choose your language and click "Next".
Your event socket settings will be automatically detected. Click "Next".
Here you will need to enter a username and password as your login credentials for FusionPBX.
Any writing in bold indicates that you must fill it in. At this point you will need to go back to the terminal and grab the details you would have seen, just above the server IP, that relate to the database username and password.
You'll be brought back to the login page where you will sign in with the username and password from step 7.
3. Configure a FusionPBX trunk
Once you have the installation of your FusionPBX set up, It is now time to configure your PBX so that you can make and receive calls through Telnyx!
Go to the "Advanced" header and to "Upgrade" in the drop down list.
Tick "App Defaults" and press the "Execute" button on the bottom-right.
Go to the "Accounts" header, select "Gateway", and provide the following details
Click "Save". You'll be taken to a screen where you'll see that FusionPBX is now registered with Telnyx.
4. Create your extensions
Now go to the "Accounts" header and select "Extensions".
Click the "Add" button to add an extension. The following image shows an example of what they should look like.
Note: The Telnyx support portal automatically shrinks images, so if you have trouble seeing it, right-click on the image and select Open Image in New Tab to view it in full size.
Once you've created an extension, you can click into it and change the password that was given to you if you'd like to.
Note: Depending on your phone configuration, you may also wish to configure an outbound caller ID. You can apply this via the "Outbound Caller ID Number" field. For more information on the fields below, please visit FusionPBX's extensions documentation.
Before configuring an outbound caller ID, you should be aware of some of the naming conventions standard for caller ID creation:
Your outbound Caller ID Name should be in "capital letters". This will appears more clearly/visible on some devices.
You "must NOT use any special characters", as they will not be displayed.
Some of regular "Canadian providers will not show more than 15 characters". We suggest shrinking or adapt your caller ID.
"Spaces are allowed" in a caller id name.
Be familiar with Telnyx's caller ID number policy.
Go to the "Dialplan" header and select "Destinations".
Click the "Add" button to add your destinations.
5. Configure inbound routing
In this step, you will configure an inbound calling route pattern that CompletePBX will require in order for you to receive inbound calls from your DID. Each DID will need to be associated with an inbound route. Multiple DIDs can be associated with the same route, but any single DID can only be associated with a single route.
Go to the Dialplan header and select Inbound routes. Your inbound routes should be added automatically that relate to your destinations you created.
When you click on any of the numbers you created as inbound routes you will see a dialplan like the picture that follows. (You will need to make sure that your number format is set to E164 on your connection you created in your Mission Control Portal.)
6. Configure outbound routing
In this step, you will configure an outbound calling route pattern that CompletePBX will use as a template, or set of rules, to follow for outbound calls associated with the route.
Go to the Dialplan header and select Outbound routes.
Click the Add button to create your different outbound routes.
Create your outbound route using the following parameters:
7. Register your extensions with a device
Go to the Status header and select Registrations. At this point you will need to register the extensions you created with whatever device you choose.
In this example, we used Zoiper and Xlite softphone to register these extensions.
All your registered devices will show up on the registration’s page.
Both extensions are registered with the servers IP address so they can now make and receive calls internally via calling 1000 or 1001. Your inbound and outbound routes are set and you will be able to make and receive calls externally also.
That's it, you've now completed the configuration of FusionPBX and can now make and receive calls by using Telnyx as the SIP provider.
Review our getting started with guide to make sure your Telnyx Mission Control Portal account is setup correctly!
Additionally, check out: