We began our Elastix® adventure last week with the Bleeding Edge and our introduction of Incredible PBX for Elastix MT, the promising new multi-tenant edition of Elastix. Unfortunately, for production use, Elastix 3.0 is not quite there yet. So this week we’re introducing Incredible PBX™ for Elastix 2.5, an incredibly stable telephony platform with a loyal following and dozens of add-on components to satisfy almost any requirement. Having not looked at Elastix in more than a year, we were pleasantly surprised to find a very current version of Asterisk® 11 as well as a stable, gotcha-free Elastix fork of FreePBX® 2.11. It’s amazing what can be accomplished with a single command: yum upgrade. If you know how to use FreePBX, then the Elastix GUI will be a walk in the park.
We promised that 2015 would be the year of Gotcha-Free choices for the Asterisk platform, and today we deliver the third VoIP alternative with pure and honest GPL code minus the patent, trademark, and copyright minefields previously covered. Incredible PBX™ for Elastix 2.5 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.
What Incredible PBX brings to the Elastix 2.5 platform are several dozen (free) applications for Asterisk in addition to a rock-solid firewall with a preconfigured WhiteList of your favorite VoIP providers and private LAN addresses. With the Elastix 2.5 version, you also get a dozen preconfigured trunks and extensions plus a familiar GUI that we’ve all used for the better part of a decade. And it’s all bundled in a graphical user interface that integrates telephony, faxing, instant messaging, email, and calendaring in a single desktop application. We’re glad to be part of the family.
Our deployment strategy remains consistent and straight-forward. Install a 64-bit bit version of Elastix 2.5 on the platform of your choice. Then run the Incredible PBX installer. In 5-10 minutes, you’re ready to roll. The installer first will bring Elastix 2.5 and CentOS up to current specs. Then it will work its magic and add an Incredible PBX tab to the existing Elastix 2.5 UI 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 2.5 with NO MODIFICATIONS before you begin the Incredible PBX install. All of the existing Elastix 2.5 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. So don’t make any! Once the Incredible PBX install is completed, you can make all the changes you wish in your Elastix 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 current and future 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. We watch for and fix problems so you don’t have to.
Target Audience: Small or Large Organization in need of a turnkey, Gotcha-Free PBX
Default Configuration: Asterisk 11 with enhanced Elastix 2.5 GUI and Kennonsoft GUI
Platform: CentOS 5.x 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 2.5
Here’s a quick overview of the installation and setup process for Incredible PBX for Elastix 2.5:
- Choose a Hardware Platform – Dedicated PC, Cloud Provider, or Virtual Machine
- Install Elastix 2.5 – 64-bit CentOS 5 platform
- Download and Install Incredible PBX for Elastix 2.5
- Set Up Passwords for Incredible PBX for Elastix 2.5
- Activate Trunks with Incredible PBX for Elastix 2.5
- Connect a Softphone to Incredible PBX for Elastix 2.5
- Configuring SMTP Mail with Incredible PBX for Elastix 2.5
1. Choose a Platform for Incredible PBX for Elastix 2.5
Incredible PBX for Elastix 2.5 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 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 2.5 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 2.5.
2. Install 64-bit Elastix 2.5 on Your Platform
Begin by downloading the 64-bit Elastix 2.5 ISO. For dedicated hardware, burn the ISO image to a CD/DVD and boot your server with the Elastix 2.5 ISO to begin the install. Here are the simplest installation steps:
Install or Upgrade in Graphical Mode by pressing ENTER
Choose: Install Language
Choose: Initialize Drive and Erase ALL DATA
Remove: All partitions on selected drive and YES you’re sure
Modify: Partitioning Layout (No is fine)
Configure: eth0 and disable IPv6 Support (unless required)
Choose: Dynamic IP (DHCP) configuration
Choose: Hostname Configuration Automatic
Choose: Time Zone and Disable System Clock Uses UTC
Set: Root Password (Make it Secure!)
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 2.5 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 2.5 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 2.5 in your virtual machine.
3. Download and Install Incredible PBX for Elastix 2.5
After completing the Elastix 2.5 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. You’ll actually run the installer twice, once to upgrade CentOS and Elastix and a second time to install Incredible PBX.
cd /root wget http://incrediblepbx.com/incrediblepbx11elastix25.tar.gz tar zxvf incrediblepbx11elastix25.tar.gz rm -f incrediblepbx11elastix25.tar.gz ./IncrediblePBX11-Elastix25.sh ./IncrediblePBX11-Elastix25.sh
4. Initial Configuration of Incredible PBX for Elastix 2.5
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 2.5 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 6 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
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.
5. Activate Trunks with Incredible PBX for Elastix 2.5
For those migrating from another aggregation including PBX in a Flash, this should be familiar territory for you. Using a browser, log into Elastix 2.5 at the IP address of your server. Before you can actually make or receive calls outside your PBX, you’ll need at least one trunk. In the Elastix 2.5 GUI, click PBX -> Trunks. Once you have your credentials from a provider, choose a provider from the list of preconfigured trunks on the right or create a new one. If you’re using one of the preconfigured options, remember to enable the trunk after adding your desired CallerID and credentials. Then save your settings and reload your Asterisk dialplan. That’s it. You’re ready to go.
6. Configure a Softphone with Incredible PBX for Elastix 2.5
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 2.5 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, 701 for your account name, and whatever password is assigned to the extension. Here’s what your entries should look like. 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. Here are a few numbers to get you started:
123 - Reminders
947 - Weather by ZIP Code
951 - Yahoo News
222 - ODBC Lookup (try: 12345)
DEMO - Allison's IVR Demo
TODAY - Today in History
6. Configuring SMTP Mail with Incredible PBX for Elastix 2.5
Outbound email support using Postfix is preconfigured with Elastix 2.5. You can test whether it’s actually working by issuing the following command using your destination email address after logging in as root:
echo "test" | mail -s testmessage firstname.lastname@example.org
If you don’t receive the email message within a minute or two and you’ve checked your spam folder, chances are your ISP is blocking downstream SMTP servers in an effort to combat spam. Comcast is one of the usual suspects. To enable outbound email service for delivery of voicemail and other email messages with a provider blocking downstream SMTP servers, you first need to obtain the SMTP domain of your ISP, e.g. smtp.comcrap.net. Next, edit /etc/postfix/main.cf and add your SmartHost entry [in brackets] to the line that begins like this: relayhost =. The line should look like this: relayhost = [smtp.comcrap.net]. Save your addition and restart Postfix: service postfix restart. Be sure to try another email test message after completing the SmartHost update. To use Gmail as your mail relay, see this tutorial.
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.
If you have difficulty finding the Google Chat option after setting up a new Google Voice account, follow this tutorial.
Homework Assignment: Mastering Incredible PBX for Elastix 2.5
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 2.5 as well. That should be your next stop. Then you’ll be ready to tackle Elastix 2.5. Google is your friend. Do some exploring, and we’ll post links to great articles on this terrific 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 forum.
And if all of that wasn’t enough, feast your eyes on the Elastix Add-Ons that are only a button click away:
Originally published: Tuesday, March 10, 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.
New Vitelity Special. Vitelity has generously offered a new discount for Incredible PBX users. You now can get an almost half-price DID from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For Incredible PBX users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this link to order your DIDs, or you won’t get the special pricing! Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage and any balance is fully refundable if you decide to discontinue service with Vitelity.
Some Recent Nerd Vittles Articles of Interest…