We’ve spent much of 2015 developing a new GPL VoIP platform for virtually every Linux flavor in the universe with Incredible PBX installers for CentOS, Ubuntu, Debian, and Raspbian for the Raspberry Pi. Along the way we introduced the first turnkey aggregations for Asterisk® 13, an incredible new platform that’s been under development for several years. Until now, we’ve left the initial deployment of the operating system platform up to you. There were two principal reasons for shifting to this two-step install. First, there was the sale of CentOS to RedHat which set off red flags as to whether RedHat would now raise legal objections to bundling a superset of GPL applications with the base CentOS install, something which the original CentOS developers swore they would never do. Second, we didn’t want to get in the operating system business with maintenance of an independent repository to address security issues and to avoid legal issues from the RedHat folks.
But we heard from more than a few that the two-step process could be tedious especially for those that were new to Linux. Luckily, there’s another derivative of RHEL called Scientific Linux. As the name implies, it is used and was developed primarily to support the worldwide scientific community. Many have contributed to the Scientific Linux build over the years, but its principal sponsor is Fermi Lab which is managed by the Fermi Research Alliance LLC for the U.S. Department of Energy Office of Science. As a National Laboratory funded by the federal government, Fermi Lab’s work products including Scientific Linux constitute U.S. Government Works. As such, in addition to its GPL license, Scientific Linux can be used by others to create derivative works. That’s a long-winded explanation of why we’re now comfortable getting back into the ISO business and building an incredibly powerful unified communications system atop the Scientific Linux GNU platform. For those that have dealt with Asterisk aggregations over the past 10 years, this design is nothing particularly new. What is unique is the mix of features in the Incredible PBX aggregation. We begin with a preconfigured Asterisk 13 platform. Then we’ve added a large collection of FreePBX® GPL modules to create the web-based Incredible GUI for management of your server. Finally, we’ve integrated over three dozen applications for Asterisk as well as a preconfigured, functioning firewall to give you a rock-solid, secure UC VoIP platform with an unrivaled feature set for your home office or small business.
Installing Incredible PBX 13 with Scientific Linux 6.7
The installation procedure with the Incredible PBX 13 ISO couldn’t be easier. Start by downloading the 32-bit ISO from SourceForge to your desktop computer. The file name is IncrediblePBX13.iso. If you prefer a torrent, that’s available as well. The file name is IncrediblePBX13-12.2-SL67-ISO.torrent. After completing the download, if you’ll be using dedicated hardware for your platform, burn the ISO to a USB Thumb Drive or a DVD using a Mac or Windows machine. Then boot your hardware from the device you just created. If you’re using a virtual machine such as VirtualBox, then designate the ISO as the VM boot device. Then start the virtual machine to begin the install.
When the installation begins, choose your time zone and create a very secure root password. After about 5 minutes, the Scientific Linux platform will be in place and your system will reboot. Agree to the Incredible PBX license agreement and press ENTER to complete the install. After one more reboot, you’ll be in business. Log in as root with your new password. After the Automatic Update Utility brings your system current, press ENTER after reviewing the status display for errors. To install Incredible Fax, issue this command and accept all the defaults by pressing ENTER:
If you prefer secure OAUTH2 authentication for your Google Voice accounts, follow this tutorial beginning at step #1b.
UPDATE: Today’s build of Incredible PBX is now available in the RentPBX Cloud with your choice of Asterisk 11 or 13 in the following locales: Seattle, Los Angeles, Mountain View, Dallas, Chicago, Atlanta, Tampa, Miami, Ashburn/Washington D.C., New Jersey, Montreal, Toronto, Berlin, and Northern U.K. Use coupon code NOGOTCHAS for $15/month pricing.
To complete the install, perform the following from the Linux CLI while logged in as root:
- Change your root password if it’s insecure: passwd
- Set your FreePBX admin password: /root/admin-pw-change
- Set your web apps admin password: htpasswd /etc/pbx/wwwpasswd admin
- Set your admin password for AvantFax: /root/avantfax-pw-change
- Set your correct time zone: /root/timezone-setup
- Add WhiteList entries to firewall if needed: /root/add-ip or /root/add-fqdn
- Store PortKnocker credentials in a safe place: cat /root/knock.FAQ
- Login to your NeoRouter VPN server if desired: /root/nrclientcmd
Managing Your Server with Incredible PBX Web-Based Tools
Most of your time initially configuring and managing your server will be spent using the web-based tools provided with Incredible PBX. Using any modern browser, go to the IP address of your server as shown in the status display above. This will bring up the Kennonsoft GUI that provides access to all of the web-based applications. Toggle between User and Admin apps by clicking on the blue tab in the lower left section of the display. This GUI also displays the latest security alerts and bug fixes from the PIAF RSS Feed. We recommend you check it at least once a week.
The other GUI to configure the FreePBX® GPL modules is accessed from the Admin menu in the Kennonsoft menus. Choose Incredible GUI Administration. The default username is admin and the password is what you set during the final installation steps above. Once the Incredible PBX GUI appears, edit extension 701 so you can figure out (or change) the randomized passwords that were set up for your 701 extension and voicemail account: Applications -> Extensions -> 701. If you’re behind a hardware-based firewall, verify the NAT setting is set to YES.
Setting Up a Soft Phone to Use with Incredible PBX
Now you’re ready to set up a telephone so that you can play with Incredible PBX. 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. Choose Settings -> Accounts and click the New button. Fill in the blanks using the IP address of your server, 701 for your account name, and whatever password you created for the extension. Click OK.
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. Dial a few of these to get started:
DEMO - Allison's IVR Demo
947 - Weather by ZIP Code
951 - Yahoo News
*61 - Time of Day
*68 - Wakeup Call
TODAY - Today in History
Now you’re ready to connect to the telephones in the rest of the world. If you live in the U.S., the easiest way (at least for now) is to set up a free Google Voice account. Google has threatened to shut this down but as this is written, it still works. Upgrading your server for OAUTH authentication is covered here. Start at step #1b. The safer long-term solution is to choose several SIP providers and set up redundant trunks for your incoming and outbound calls. The PIAF Forum includes dozens of recommendations to get you started.
Configuring Google Voice
If you want to use Google Voice, you’ll need a dedicated Google Voice account to support Incredible PBX. If you want to use the inbound fax capabilities of Incredible Fax, then you’ll need an additional Google Voice line that can be routed to the FAX custom destination using the GUI. The more obscure the username (with some embedded numbers), the better off you will be. This will keep folks from bombarding you with unsolicited Gtalk chat messages, and who knows what nefarious scheme will be discovered using Google messaging six months from now. So keep this account a secret!
We’ve tested this extensively using an existing Gmail account, and inbound calling is just not reliable. The reason seems to be that Google always chooses Gmail chat as the inbound call destination if there are multiple registrations from the same IP address. So, be reasonable. Do it our way! Set up a dedicated Gmail and Google Voice account, and use it exclusively with Incredible PBX. It’s free at least through 2013. Google Voice no longer is by invitation only so, if you’re in the U.S. or have a friend that is, head over to the Google Voice site and register.
You must choose a telephone number (aka DID) for your new account, or Google Voice calling will not work… in either direction. Google used to permit outbound Gtalk calls using a fake CallerID, but that obviously led to abuse so it’s over! You also have to tie your Google Voice account to at least one working phone number as part of the initial setup process. Your cellphone number will work just fine. Don’t skip this step either. Just enter the provided 2-digit confirmation code when you tell Google to place the test call to the phone number you entered. Once the number is registered, you can disable it if you’d like in Settings, Voice Setting, Phones. But…
IMPORTANT: Be sure to enable the Google Chat option as one of your phone destinations in Settings, Voice Setting, Phones. That’s the destination we need for The Incredible PBX to work its magic! Otherwise, all inbound and outbound calls will fail. If you don’t see this option, you may need to call up Gmail and enable Google Chat there first. Then go back to the Google Voice Settings.
While you’re still in Google Voice Settings, click on the Calls tab. Make sure your settings match these:
- Call Screening – OFF
- Call Presentation – OFF
- Caller ID (In) – Display Caller’s Number
- Caller ID (Out) – Don’t Change Anything
- Do Not Disturb – OFF
- Call Options (Enable Recording) – OFF
- Global Spam Filtering – ON
Click Save Changes once you adjust your settings. Under the Voicemail tab, plug in your email address so you get notified of new voicemails. Down the road, receipt of a Google Voice voicemail will be a big hint that something has come unglued on your PBX.
One final word of caution is in order regardless of your choice of providers: Do NOT use special characters in any provider passwords, or nothing will work!
Now you’re ready to set up your Google Voice trunk in the GUI. After logging in with your browser, click the Connectivity tab and choose Google Voice/Motif. To Add a new Google Voice account, just fill out the form. Do NOT check the third box or incoming calls will never ring!
IMPORTANT LAST STEP: Google Voice will not work unless you restart Asterisk from the Linux command line at this juncture. Using SSH, log into your server as root and issue the following command: amportal restart.
If you have trouble getting Google Voice to work (especially if you have previously used your Google Voice account from a different IP address), try this Google Voice Reset Procedure. It usually fixes connectivity problems. If it still doesn’t work, enable Less Secure Apps using this Google tool.
Troubleshooting Audio and DTMF Problems
You can avoid one-way audio on calls and touchtones that don’t work with these simple settings in the GUI: Settings -> Asterisk SIP Settings. Just plug in your public IP address and your private IP subnet. Then set ULAW as the only Audio Codec.
A Few Words about the Incredible PBX Security Model for SL 6.7
Incredible PBX for Scientific Linux joins our previous builds as our most secure turnkey PBX implementation. As configured, it is protected by both Fail2Ban and a hardened configuration of the IPtables Linux firewall. The latest release also includes Port Knocker for simple, secure access from any remote computer or smartphone. You can get up to speed on how the technology works by reading the Nerd Vittles tutorial. Your Port Knocker credentials are stored in /root/knock.FAQ together with activation instructions for your server and mobile devices. The NeoRouter VPN client also is included for rock-solid, secure connectivity to remote users. Read our previous tutorial for setup instructions. As configured, nobody can access your PBX without your credentials AND an IP address that is either on your private network or that matches the IP address of your server or the PC from which you installed Incredible PBX. You can whitelist additional IP addresses by running the command-line utility /root/add-ip. You can remove whitelisted IP addresses by running /root/del-acct. Incredible PBX is preconfigured to let you connect to many of the leading SIP hosting providers without additional firewall tweaking. We always recommend you also add an extra layer of protection by running your server behind a hardware-based firewall with no Internet port exposure, but that’s your call. And it’s your phone bill. 😉
The IPtables firewall is a complex piece of software. If you need assistance with configuring it, visit the PIAF Forum for some friendly assistance.
Incredible Backup and Restore
We’re pleased to introduce our latest backup and restore utilities for Incredible PBX. Running /root/incrediblebackup will create a backup image of your server in /tmp. This backup image then can be copied to any other medium desired for storage. To restore it to another Incredible PBX server, simply copy the image to a server running Asterisk 13 and the same version of the Incredible PBX GUI. Then run /root/incrediblerestore. Doesn’t get much simpler than that.
Incredible PBX Automatic Update Utility
Every time you log into your server as root, Incredible PBX will ping the IncrediblePBX.com web site to determine whether one or more updates are available to bring your server up to current specs. We recommend you log in at least once a week just in case some new security vulnerability should come along.
In the meantime, we encourage you to sign up for an account on the PIAF Forum and join the discussion. In addition to providing first-class, free support, we think you’ll enjoy the camaraderie.
Incredible PBX Application Users Guide
Your next stop ought to be learning about the three dozen applications included in Incredible PBX. We’ve put together this tutorial to get you started. Enjoy!
And, to our friends at Google, thank you!
Originally published: Sunday, September 27, 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.
Awesome Vitelity Special. Vitelity has generously offered a terrific discount for PBX in a Flash and 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, PBX in a Flash, and Incredible PBX 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 our 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 and four simultaneous channels 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. Any balance is refundable if you decide to discontinue service with Vitelity.
Some Recent Nerd Vittles Articles of Interest…