Q: But wait. Aren’t Elastix® and PBX in a Flash™ competitors? What’s going on here?
A: Think of us as Two Amigos! Edgar Landivar and his team have been fellow contributors to the Asterisk® open source community for as long as we have. They just happened to be on another continent. We’re not in the Asterisk Business, per se, so steering those in need of commercial components toward a company that respects the tenets of the GPL is great for all of us. The rewards are new products such as Elastix MT, a formidable multitenant PBX solution with a terrific new GUI. And the icing on the cake is an integrated, commercial Call Center Service for those that need it.
We promised that 2015 would be the year of Gotcha-Free choices for the Asterisk platform, and today we deliver the second VoIP alternative with pure and honest GPL code minus the patent, trademark, and copyright minefields that we’ve previously written about. Incredible PBX™ for Elastix MT provides virtually the same feature set of applications for Asterisk as our previous releases. Just abide by the clear GPL licensing terms and copy, embellish, and redistribute to your heart’s content. The silver lining is a fantastic (free) multi-tenant platform with a terrific new GUI courtesy of Elastix MT. WOW!
Elastix MT is relatively new and not without a few growing pains as is true with all new releases. But, prepare to be amazed. What a terrific platform on which to build an Asterisk 11-based server that can support multiple organizations out of the starting gate… at no cost. The Elastix MT feature set has no rival in the open source community: telephony, instant messaging, faxing, email server, ODBC database support, integrated call center, and on and on. For a great overview of Elastix MT (aka Elastix 3.0), watch this video from AstriCon:
Incredible PBX adds a huge collection of its own open source applications for Asterisk to give you the best of all worlds. Our design strategy was straight-forward. Install a 64-bit bit version of Elastix MT on the platform of your choice. Then run the Incredible PBX installer. In 5 minutes, you’re ready to roll. The installer will create a separate Incredible PBX organization with all the bells and whistles to which you are accustomed. Text-to-speech applications, speech recognition, DISA, ODBC, SMS messaging, news, weather, conference bridge support, and a voice dialer are enabled out of the box.
A Word of Caution. If you’re new to Incredible PBX, install a clean version of Elastix MT with NO MODIFICATIONS before you begin the Incredible PBX install. All of the existing Elastix MT setup will be modified as part of the Incredible PBX install, and these changes will wipe out any additions you’ve previously made to Elastix MT. Once the Incredible PBX install is completed, you can make all the changes you wish in your Elastix MT configuration. The only major design change we’ve made is to rework the Elastix MySQL database tables into MyISAM format from InnoDB. This facilitates making future backups and restores of your server as well as providing the necessary platform to install Incredible PBX components.
Did We Mention Security? You also get a locked down, preconfigured IPtables Firewall WhiteList with all of the Travelin’ Man 3 tools plus the automatic update service to keep your server up to date and safe. There is a $20 voluntary annual license fee for the update service but, if you’d prefer to buy donuts, be our guest. But understand that voluntary is a two-way street. Running the update service costs us time and money and, when it ceases to be worthy of our time and financial investment, we reserve the right to discontinue the service down the road. The next time you log into your server after installing Incredible PBX, you’ll quickly appreciate why an automatic update service is important. Every major Linux vulnerability from the past year will be patched without your ever lifting a finger.
With respect to the multi-tenant functionality of Elastix MT, you can elect to use the Incredible PBX platform exclusively moving forward. Or you can create additional organizations from the Elastix MT dashboard or by using the Elastix MT API. It’s all about choices, and Incredible PBX with Elastix MT delivers in spades!
Target Audience: Small or Large Organization in need of a turnkey, Gotcha-Free PBX
Default Configuration: Asterisk 11 with enhanced Elastix 3.0 GUI and Kennonsoft GUI
Platform: CentOS 6.4 running on Dedicated Server, Cloud-Based Server, or Virtual Machine
Minimum Memory: 1024 MB
Recommended Disk: 20 GB+
Feature Set: Fax, SMS messaging, NeoRouter/PPTP VPN, Reminders, ConfBridge Conferencing, AsteriDex, Voicemail, Email, IVR, News, Weather, Voice Dialer, Wolfram Alpha, Today in History, TM3 Firewall WhiteList, Speed Dialer, iNUM and SIP URI (free) worldwide calling, DISA, Call Forwarding, Tailorable CDRs
Administrator Utilities: Incredible Backup/Restore, Automatic Updater, phpMyAdmin, Timezone Config, WebMin, Admin Password Configurator, ODBC/MySQL Database Configurator, Firewall WhiteList Tools
Getting Started with Incredible PBX for Elastix MT
For those new to Asterisk or accustomed to single-tenant PBXs such as PBX in a Flash, there are some differences of which you need to be aware. First, extensions are unique to each organization on your PBX. For example, it is perfectly acceptable to have an extension 701 for each organization with Elastix MT. The extensions are differentiated with a suffix that identifies the organization’s domain, e.g. firstname.lastname@example.org. Fictitious domains are acceptable. The nomenclature required to register a phone with Incredible PBX for Elastix MT and a sample setup using the (free) Telephone app for the Mac is shown below:
The other major change is the Asterisk config files. In a traditional single-tenant PBX, all of the files are stored in /etc/asterisk. With Elastix MT, there is an additional storage location for the extensions config files. And note the new context name [incred.pbx-from-internal-custom] in extensions_custom.conf. Incredible PBX handles all of the under-the-covers work for you automatically, but we wanted to alert you to the differences in the event you wish to build your own organizations within Elastix MT.
root@localhost# ls /etc/asterisk/organizations/incred.pbx extensions.conf extensions_custom.conf extensions_additionals.conf extensions_globals.conf
Here’s a quick overview of the installation and setup process for Incredible PBX for Elastix MT:
- Choose a Hardware Platform – Dedicated PC, Cloud Provider, or Virtual Machine
- Install Elastix MT – 64-bit CentOS 6.4 platform
- Download and Install Incredible PBX for Elastix MT
- Set Up Passwords for Incredible PBX for Elastix MT
- Configure Trunks with Incredible PBX for Elastix MT
- Connect a Softphone to Incredible PBX for Elastix MT
1. Choose a Platform for Incredible PBX for Elastix MT
Incredible PBX for Elastix MT works equally well on dedicated hardware, a cloud-based server, or a virtual machine. Just be sure you’ve met the minimum requirements outlined above and that you have a sufficiently robust Internet connection to support 100Kb of download and upload bandwidth for each simultaneous call you wish to handle with your new PBX.
For Dedicated Hardware, we recommend at least an Atom-based PC of recent vintage with at least a 30GB drive and 4GB of RAM. That will take care of an office with 10-20 extensions and a half dozen or more simultaneous calls if you have the Internet bandwidth to support it. For multi-tenant deployments, the hardware sky is the limit depending upon your requirements.
For Cloud-Based Servers, we recommend RentPBX, one of our financial supporters who also happens to size servers properly and restrict usage solely to VoIP. This avoids performance bottlenecks that cause problems with VoIP calls. Yes, we have a coupon code for you to get the $15/month rate: NOGOTCHAS. The new image to support Incredible PBX for Elastix MT should be available shortly.
For Virtual Machine Installs, we recommend Oracle’s VirtualBox platform which runs atop almost any operating system including Windows, Macs, Linux, and Solaris. Here’s a link to our original VirtualBox tutorial to get you started. We suggest allocating 1GB of RAM and at least a 20GB disk image to your virtual machine for best performance. We actually used VirtualBox to build Incredible PBX for Elastix MT.
2. Install 64-bit Elastix MT on Your Platform
Begin by downloading the 64-bit Elastix MT ISO. For dedicated hardware, burn the ISO image to a CD/DVD and boot your server with the Elastix MT ISO to begin the install. Here are the simplest installation steps:
Disable IPv6 Support (unless required) and Click Continue
Click: Discard All Data
Choose: Install Language
Choose: Time Zone
Set: Root Password
Choose Disk Setup: Use All Space
Wait for Reboot to Complete
Set MySQL Password to: passw0rd (MANDATORY: with a zero!)
Choose Elastix admin Password: minimum 10 alphanumeric characters with upper & lowercase
For VirtualBox, create an Elastix MT virtual machine of Linux (RedHat 64-bit) type by clicking New. Click Settings button. In System, enable I/O APIC and disable Hardware Clock in UTC Time. In Audio, enable Audio for your sound card. In Network, enable Bridged Adapter for Adapter 1. In Storage, click on Empty in the Storage Tree. Then click on the Disk icon to the right of CD/DVD Drive attributes. Choose the Elastix MT ISO file that you downloaded. Click OK. Then start the virtual machine to begin the installation process. Follow the setup steps above to install Elastix MT in your virtual machine.
CAUTION: For the time being, we would strongly recommend that you not run yum upgrade or yum update on the Elastix MT platform after the install is finished. This will be handled automatically by the Incredible PBX installer in the next step.
3. Download and Install Incredible PBX for Elastix MT
After completing the Elastix MT install, log into your server as root using SSH or Putty from a desktop machine that you will use to manage your server. This is important with the Incredible PBX IPtables Firewall WhiteList so you don’t get locked out of your own server! Then issue the following commands to begin the Incredible PBX install:
cd /root wget http://incrediblepbx.com/incrediblepbx11elastix.tar.gz tar zxvf incrediblepbx11elastix.tar.gz rm -f incrediblepbx11elastix.tar.gz ./IncrediblePBX11-ElastixMT.sh
5. Initial Configuration of Incredible PBX for Elastix MT
Incredible PBX is installed with the preconfigured IPtables Linux firewall already in place. It implements WhiteList Security to limit server access to connected LANs, your server’s IP address, your desktop computer’s IP address, and a few of our favorite SIP providers. You can add additional entries to this WhiteList whenever you like using the add-ip and add-fqdn tools in /root. There’s also an Apache security layer for our web applications. And, of course, Elastix MT has its own security methodology. Finally, we randomize extension and DISA passwords as part of the initial install process. Out of the starting gate, you won’t find a more secure VoIP server implementation anywhere. After all, it’s your phone bill.
Even with all of these layers of security, here are 10 Quick Steps to better safeguard your server. You only do this once, but failing to do it may lead to security issues you don’t want to have to deal with down the road. So DO IT NOW!
First, log out and back into your server as root with your root password to get the latest updates. Then do the following:
Make your root password very secure: passwd
Set your correct time zone: ./timezone-setup
Create admin password for web apps: htpasswd -b /etc/pbx/wwwpasswd admin newpassword
Set MySQL and Elastix admin PW: ./admin-pw-change (MySQL PW MUST be passw0rd with zero)
Make a copy of your other passwords: cat passwords.FAQ
Decipher IP address and other info about your server: status
Second, log into Elastix MT as admin using a web browser pointed to your server’s IP address:
Click USERS tab in Incredible PBX GUI
Click Elastix MT Administration
Log in as user: admin with password from above
Change Extension 701 and 702 passwords (including Voicemail)
Last but not least, Incredible PBX includes an automatic update utility which downloads important updates whenever you log into your server as root. We recommend you log in once a week to keep your server current. If you haven’t already done so, NOW would be a good time to log out and back into your server at the Linux command line to bring your server current.
6. Configure Trunks with Incredible PBX for Elastix MT
Before you can actually make or receive calls outside your PBX, you’ll need at least one trunk. Open the Elastix MT GUI and click PBX -> PBX -> Trunks. Then click Create New Trunk. Once you have your credentials from a provider, here is a quick Cheat Sheet courtesy of Kristian Hare, to help you set up your trunk. Our original setups are available in this spreadsheet as well. Just click on the image below to open it in a new window. Then click on the redisplayed image to enlarge it.
For a great tutorial on Getting Started with Trunks in Elastix MT, go here. Google will handle the translation to English if you’re a little rusty on your español.
7. Configure a Softphone with Incredible PBX for Elastix MT
Incredible PBX comes preconfigured with two extensions (701 and 702) that let you connect phones to your PBX. You can connect virtually any kind of telephone to your Elastix MT PBX. Plain Old Phones require an analog telephone adapter (ATA) which can be a separate board in your computer from a company such as Digium. Or it can be a standalone SIP device such as ObiHai’s OBi100 or OBi110 (if you have a phone line from Ma Bell to hook up as well). SIP phones can be connected directly so long as they have an IP address. These could be hardware devices or software devices such as the YateClient softphone. We’ll start with a free one today so you can begin making calls. You can find dozens of recommendations for hardware-based SIP phones both on Nerd Vittles and the PIAF Forum when you’re ready to get serious about VoIP.
We recommend YateClient which is free. Download it from here. Run YateClient once you’ve installed it and enter the credentials for the 701 extension on Incredible PBX. You’ll need the IP address of your server plus your extension 701 password. You can find them in /root/passwords.FAQ. Fill in the blanks using the IP address of your server, email@example.com for your account name, and whatever password is assigned to the extension. Complete the other fields as shown. Click OK to save your entries.
Once you are registered to extension 701, close the Account window. Then click on YATE’s Telephony Tab and place some test calls to the numerous apps that are preconfigured on Incredible PBX. Before you do anything else, dial yourself at 701 and press * to access the voicemail system. Change your password immediately. Next, dial 702 and press *. When prompted for the password, enter 702. Then change it. Now dial a few of these numbers just for fun:
123 - Reminders
947 - Weather by ZIP Code
951 - Yahoo News
222 - ODBC Lookup (try: 12345)
TODAY - Today in History
Creating your own extensions in Elastix MT is easy. Choose PBX -> PBX Apps -> Extensions. Then click Create New Extension and fill in the form using this example:
If you wish to enable voicemail on the new extension, click the Voicemail tab and complete the entries before clicking the Save button. For possible Voicemail Options, review ext. 701 voicemail configuration. The entries are self-explanatory.
Configuring Google Voice
We have included the Python implementation of gvoice in /root for those that want to experiment by making calls and sending SMS blasts the "old-fashioned" way. While Elastix does not directly support native Asterisk 11 Google Voice functionality, you now can use a SIP gateway to access Google Voice and make free calls in the U.S. and Canada.
Homework Assignment: Mastering Incredible PBX for Elastix MT
We’ve put together a complete tutorial for the applications included in Incredible PBX for Asterisk-GUI. Most of it is fully applicable to Elastix MT as well. That should be your next stop. Then you’ll be ready to tackle Elastix NT. Google is your friend. Do some exploring, and we’ll post links to great articles on this new platform as we discover them. Your suggestions are also welcomed!
In the meantime, if you have questions, join the PBX in a Flash Forums and take advantage of our awesome collection of gurus. There’s an expert available on virtually any topic, and the price is right. As with Incredible PBX, it’s absolutely free. The same applies to the Elastix 3.0 forum.
Bugs & Fixes. Rather than perpetually updating this article with bug reports and fixes, we will post bugs and fixes as they become available in this thread on the forum. For openers, there are major issues with Trunks in Elastix MT, but we’re getting there so enjoy the ride!
Originally published: Monday, March 2, 2015
Support Issues. With any application as sophisticated as this one, you’re bound to have questions. Blog comments are a terrible place to handle support issues although we welcome general comments about our articles and software. If you have particular support issues, we encourage you to get actively involved in the PBX in a Flash Forums. It’s the best Asterisk tech support site in the business, and it’s all free! Please have a look and post your support questions there. Unlike some forums, ours is extremely friendly and is supported by literally hundreds of Asterisk gurus and thousands of users just like you. You won’t have to wait long for an answer to your question.
Need help with Asterisk? Visit the PBX in a Flash Forum.
Special Thanks to Our Generous Sponsors
FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.
VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
Some Recent Nerd Vittles Articles of Interest…