Step by Step - Installing your Linux-based PBX

Step 1: Choosing how to deploy your PBX

We’re going to assume that you need a VoIP telephony solution that will support an office of up to several dozen employees and that you have an Internet connection that will support whatever your simultaneous call volume happens to be. This is above and beyond your normal Internet traffic. To keep it simple, you need 100 Kbps of bandwidth in both directions for each call. And you need a router/firewall that can prioritize VoIP traffic so that all your employees playing Angry Birds won’t cause degradation in VoIP call quality. Almost any good home router can now provide this functionality. Remember to disable ALG on your router, and it’s smooth sailing.

Next up is choosing where to install your PBX. On a virtual machine on an existing server, directly onto a hardware appliance, or in the cloud on a Linux VPS. There are many good choices. Unless you have a burning desire to preserve your ties with Ma Bell, we recommend limiting your Ma Bell lines to your main number. Most phone companies can provide a service called multi-channel forwarding that lets multiple inbound calls to your main number be routed to one or more VoIP DIDs much like companies do with 800-number calls.

Any good dual-core Atom computer will suffice. You’ll find lots of suggestions in this thread. And the prices generally are in the $150-$400 range. For larger companies and to increase PBXinaflash capacity with beefier hardware, see these stress test results.

If your requirements involve retention of dozens of Ma Bell lines and complex routing of calls to multiple offices, then we would strongly recommend you spend a couple thousand dollars with a consultant. Some of the best in the business frequent the PBX in a Flash Forum, and they do this for a living. They can easily save you the cost of their services by guiding you through the hardware selection process. For business or for home, another alternative is available if you don’t want to babysit your own hardware. That’s signing up with a managed hosting provider.

Step 2: Choosing the Right Phones

If there is one thing that will kill any new VoIP deployment, it’s choosing the wrong phones. If you value your career, you’ll let that be an organization-driven decision after carefully reviewing at least 6-12 phones that won’t cause you daily heartburn. You and your budget team can figure out the price points that work in your organization keeping in mind that not everyone needs the same type of telephone. Depending upon your staffing, the issue becomes how many different phone sets are you and your colleagues capable of supporting and maintaining on a long term basis.

PBXinaflash supports a great many phones out of the box, you can see the full list here. So the question becomes which phones should you show your business associates. That again should be a decision by you and your management and budget teams, but collect some information from end-users first. Choose a half dozen representative users in your company and get each of them to fill out a questionnaire documenting their 10 most frequent daily phone calls and listing each step of how they process those calls. That will give you a good idea about types and variety of phones you need to consider for different groups of users. Cheaper rarely is better. Keep in mind that phones can last a very long time, even lousy ones. So choose carefully.

The phone brands that we would seriously consider include Yealink, Snom, Fanvil, HTek, Polycom and Cisco. Do you need BLF, call parking or multiple line buttons, a hold button, conferencing, speakerphone, HD voice, power over Ethernet support, distinctive ringtones for internal and various types of external calls, Bluetooth, WiFi, web, SMS, or email access, an extra network port for a computer, headset support, customizable buttons (how many?), quick dial keys? How easy is it to transfer a call? Do you need to mimic key telephones? Also consider color screens, touch screens, busy lamp indicators, extension modules (what capacity?).

What do we personally use: Yealink’s T46G is our favorite, and we also have several Polycom phones of various types, a Samsung Galaxy S4 and Moto X, and a Samsung Galaxy S3 extension interconnected with Vitelity’s vMobile service to provide transparent connectivity on both WiFi and cellular networks.

Step 3: Choosing VoIP Service Providers

One of the design differences between VoIP and the Ma Bell network that we’re all familiar with is that you no longer have to put all your eggs in one basket. The company or companies that you use to make outbound calls need not be the same as the ones you use to handle incoming calls. For home use, VoIP providers typically offer two types of plans: all-you-can-eat (which isn’t really) and pay-by-the-minute (which, in most cases, is priced by the fraction of the minute that you actually use the service). For business use, you have a choice of pay-by-the-trunk (each simultaneous call uses a trunk) and pay-by-the-minute (where you don’t have to manage your simultaneous calls). In all cases, be sure to stick to a VoIP provider that has been tried and tested PBXinaflash! You can find a list of supported VoIP providers here.

For businesses, we strongly recommend that you stick with Ma Bell for your main business number only. That gets you listed in the phone book and provides 99.999% reliability for access to your business. Most phone companies can provide a service called multi-channel forwarding that lets multiple inbound calls to your main number be routed to one or more VoIP DIDs much like companies do with 800-number calls.

For other business lines as well as home and SOHO setups, ditch Ma Bell as quick as you can. You’ll save boatloads of money. Give some thought to how much non-cellphone usage actually occurs in your situation. In many cases, you will find that pay-by-the-minute service for outbound calls is much less expensive than all-you-can-eat plans. Remember, there are no long term contracts on pay-by-the-minute services so try it and see what your usage habits actually are if you’re unsure. Keep in mind that acquiring inbound trunks for DIDs or phone numbers is almost always all-you-can-eat service ranging in price from $2-$8 a month. The PBX in a Flash Forum is chock full of recommendations.

Just remember that, in doing your calculations, separate out the the time spent on incoming calls from the time spent placing outbound calls. Also keep in mind that redundancy is a luxury you never had in the Ma Bell days. Take advantage of it and sign up with multiple pay-by-the-minute providers for outbound (termination) service. You only pay for what you actually use. For inbound trunks, many providers offer failover service to different numbers if the primary connection dies. Even if the failover is to your cellphone, it beats missing the call. If international calling is a frequent part of your business or lifestyle, then spend some time exploring the options that are available. There are numerous all-you-can-eat solutions at incredibly affordable rates if you do your homework. Now let’s get started…

Step 4: Installing PBXinaflash

Next step is to actually download the PBXinaflash ISO. If you’re building a system in the cloud or in a hosted environment, then Debian has already been installed so you can skip this step.

If you’re using a dedicated PC or virtual machine with no operating system, boot from the PBXinaflash CD/DVD or ISO. Suggestions in brackets. If using a hypervisor/virtualized OS set the CD option to boot from the iso and ensure the CD drive is set to connect on startup. If you are installing on a mini pc, then create a bootable image, plug it into one of the available Mini PC’s USB ports, set the BIOS to boot primarily from the USB drive and the installation will start.

  1. Download the PBX in a flash ISO from here
  2. Select Install or Graphical install. [Install]

  3. Now enter a hostname for the computer so you can easily identify it on your network. NOTE: If you need to configure a static IP address, press ESC when asked for the hostname. You will be taken back to configuring the hostname when you have set the IP address of the system. If you don’t want to set a static IP address, enter a host name and go to Step 6.

  4. If you pressed Escape at the hostname screen to configure a static IP address, from the network configuration screen, select “Configure Network Manually” and enter your IP address information.

  5. Enter a domain name. If this is a network, use the same domain as you use on other computers in the network, for example

  6. Now select the language you wish to install. [English]

  7. Select your geographical location from the location menu. This will update the system locale.

  8. Specify the root password for the machine. You will be prompted to re-enter the password for verification purposes.

  9. Select your timezone.

  10. Partition your disk. [Guided - use entire disk]

  11. Confirm your disk. If you are installing to a bare metal machine remember that all the data on your disk will be erased!

  12. Select “All files in one partition”

  13. Select “Finish partitioning” and write changes to disk. Debian for PIAF will be installed.

  14. Select Yes to start writing changes to disk. This can take about 10-20 minutes depending on your machine speed. After that the machine will be rebooted and 3CX will be installed automatically.

  15. After the PIAF installation is complete, you will be prompted to select how you want to configure 3CX - There are 2 options - 1 for Web Browser and 2 using command line. Select option 1 to use a web browser, and point your browser to http://<ip of machine>:5015.

Step 5: Get yourself a FREE 3CX license key

PBX in a flash includes 3CX, and to get your 16 sim call license free of charge - which is enough for up to approximately 25 users, fill in this form. This also entitles you to free DNS hosting, updates for a year and more.

Step 6: Configuring your PBX, running the PBX configurator

Now you have installed PBXinaflash, you need the run the PBX configurator tool. It will detect your IP, ask whether you are behind a NAT and confirm these with you. You get to choose a subdomain and admin credentials for your PBX. Afterwards you will be presented with a summary page to login to your PBX. Save it and don’t lose it!! Visit this guide for step by step instructions

Step 7: Setup your PBX

Here’s a quick overview of what needs to happen before you can start making and receiving calls. You’ll need an account with at least one phone number for people to call you (known as a DID), and you’ll need an account to place outbound calls to plain old telephones throughout the world. Phones connect to extensions in 3CX to work with PBX in a Flash. Extensions talk to trunks to make and receive calls. 3CX uses outbound routes to direct outgoing calls from extensions to trunks, and FreePBX uses inbound routes to route incoming calls from trunks to extensions to make the phones actually ring. In a nutshell, that’s how a PBX works. There are lots of bells and whistles that you can explore down the road. 3CX now has some of the best documentation in the business. Start here.

To get a minimal system functioning to make and receive calls, here’s the 2-minute drill. Create at least one extension with voicemail. Next, configure a trunk to handle your outside calls. Then set up inbound and outbound routes to manage incoming and outgoing calls. Finally, add a telephone or softphone with your extension credentials.

Suggested links:

User Manual

Administrator Manual

Learn about VoIP and PBX

Attend free webinars

Supported IP Phones

Supported SIP Trunks