We’ve been inching toward a new low-cost plateau for VoIP cloud providers, and today we have a new milestone that finally makes running VoIP servers out of your home or office look like the horse-and-buggy days. $10 a year now buys you a cloud platform that is less expensive than the cost of electricity to run a server on premise. You get 2GB of RAM, 20GB of SSD storage, two virtual core processors, and 2TB of monthly bandwidth. If you prepay for 3 years, you can double either the RAM or SSD storage by simply opening a ticket after you sign up. It’s a near perfect platform for Incredible PBX 13-13 with CentOS 6.9. Add a Google Voice trunk and you get unlimited calling in the U.S. and Canada combined with a feature set that you’ll be hard-pressed to find on any PBX at any price. Putting all the pieces in place is about as simple as preparing slice-and-bake cookies, and you’ll be up and running before the cookies come out of the oven. Skip that hamburger lunch and come join the VoIP revolution!
So what’s the catch? Well, there’s no catch with Incredible PBX 13-13 and CentOS 6.9. But this HiFormance platform uses OpenVZ with SolusVM, and SolusVM has some serious bugs with their CentOS 7 and Debian 9 implementations. That rules out using VitalPBX, Issabel, or Wazo. Someone always asks, "If the platform is so great, why aren’t you using it?" And our answer is we are. We have deployed HiFormance cloud-based VoIP servers running Incredible PBX 13-13 in Atlanta, Buffalo, Chicago, and Los Angeles without any hiccups in service. Performance is excellent. Support is excellent. So run, don’t walk, to sign up for one of these before they’re all gone. You won’t be disappointed. Just fill out the entries as shown above once you log into the HiFormance site. Nerd Vittles receives no commissions from signups.
Getting Started with Incredible PBX 13-13
Once your virtual machine is up and running with CentOS 6.9, log into your server as root and issue the following commands to get started. Use the first command to immediately change your root password. Then you’ll be ready to begin the Incredible PBX install. It’s a two-step process. First, the installer will bring your version of CentOS up to current specs and load the necessary packages to support Asterisk® and FreePBX®. The first stage takes 22 minutes.
passwd cd /root yum -y update yum -y install net-tools nano wget tar wget http://incrediblepbx.com/incrediblepbx-13-13-LEAN.tar.gz tar zxvf incrediblepbx-13-13-LEAN.tar.gz rm -f incrediblepbx-13-13-LEAN.tar.gz ./IncrediblePBX-13-13.sh
When the base install finishes, your server will reboot. Simply log back in as root and run the installer a second time. Be sure your console window is at least 80 x 28, or the install will fail. If in doubt, expand it to full screen. You’ll be prompted whether to implement Google Voice plain text or OAuth 2 passwords.1 OAuth is strongly recommended. In fact, OAuth is required if you wish to install the Whole Enchilada upgrade which gets you several dozen preconfigured applications for Asterisk. Make your selection, and the installer will work its magic. Return in 12 minutes.
./IncrediblePBX-13-13.sh
Reboot one final time when the installer finishes the setup, and Incredible PBX LEAN will be ready to go. Log back in as root. This will kick off the Automatic Update Utility to load any last minute additions, bug fixes, and security patches. After the status menu displays, run the following apps to set a very secure admin password for web access to the GUI and to choose your default time zone:
/root/admin-pw-change /root/timezone-setup
One of the unique features of Incredible PBX 13-13 is that most of the major components of the aggregation including Asterisk are compiled from source code on the fly. This has several advantages. First, you always get the latest version of the source code. And, second, the source code is available on your server so that you can make any future modifications desired to meet your own unique requirements. You won’t find this in any other VoIP implementation. It’s one of the reasons Incredible PBX takes a bit longer to install than many of the canned offerings that rely upon precompiled packages that are difficult to modify.
WebMin is also installed and configured as part of the base install. The root password for access is the same as your Linux root password. We strongly recommend that you not use WebMin to make configuration changes to your server. You may inadvertently damage the operation of your PBX beyond repair. WebMin is an excellent tool to LOOK at how your server is configured. When used for that purpose, we highly recommend WebMin as a way to become familiar with your Linux configuration.
Using the Incredible PBX 13-13 Web GUI
Most of the configuration of your PBX will be performed using the web-based Incredible PBX GUI with its FreePBX 13 GPL modules. Use a browser pointed to the IP address of your server and choose Incredible PBX Admin. Log in as admin with the password you configured in the previous step. HINT: You can always change it if you happen to forget it. You can safely ignore the warning about a missing swap file. You have plenty of RAM, and OpenVZ platforms don’t permit swap files. If you’re worried about it, choose the 3-year prepayment option and double your ram from 2GB to 4GB which is more than ample for even the busiest PBXs.
NOTE: If you plan to upgrade to the Whole Enchilada, you can skip the rest of this section. It’s for those that wish to roll their own PBX from the ground up.
To get a basic system set up so that you can make and receive calls, you’ll need to add a VoIP trunk, create one or more extensions, set up an inbound route to send incoming calls to an extension, and set up an outbound route to send calls placed from your extension to a VoIP trunk that connects to telephones in the real world. You’ll also need a SIP phone or softphone to use as an extension on your PBX. Our previous tutorial will walk you through this setup procedure. Over the years, we’ve built a number of command line utilities including a script to preconfigure SIP trunks for more than a dozen providers in seconds. You’ll find links to all of them here.
Continue Reading: Configuring Extensions, Trunks & Routes
Reconfiguring PortKnocker for OpenVZ
By default, PortKnocker monitors activity on eth0. Most OpenVZ platforms including HiFormance use venet0:0 as the default Ethernet port. Issue the following commands to get PortKnocker up and running. Then pbxstatus should show PortKnocker working.
echo 'OPTIONS="-i venet0:0"' >> /etc/sysconfig/knockd service knockd restart pbxstatus
Reconfiguring NeoRouter VPN for OpenVZ
On OpenVZ platforms including HiFormance, you’ll need to enable TUN/TAP in the Control Panel for your VPS. After adjusting the setting, reboot your server. Then the NeoRouter VPN client will function properly.
Upgrading to Incredible PBX Whole Enchilada
There now are two more pieces to put in place. The sequence matters! Be sure to upgrade to the Whole Enchilada before you install Incredible Fax. If you perform the steps backwards, you may irreparably damage your fax setup by overwriting parts of it.
The Whole Enchilada upgrade script now is included in the Incredible PBX LEAN tarball. Upgrading to the Whole Enchilada is simple. Log into your server as root and issue the following commands. Be advised that this upgrade will overwrite all of your existing Incredible PBX setup including any extensions, trunks, and routes you may have created previously. You also will be prompted to reset all of your passwords as part of the upgrade. Install time: 2 minutes.
cd /root ./Enchilada*
If you accidentally installed Incredible Fax before upgrading to the Whole Enchilada, you may be able to recover your Incredible Fax setup by executing the following commands. It’s worth a try anyway.
amportal a ma install avantfax amportal a r
Installing Incredible Fax with HylaFax/AvantFax
You don’t need to upgrade to the Whole Enchilada in order to use Incredible Fax; however, you may forfeit the opportunity to later upgrade to the Whole Enchilada if you install Incredible Fax first. But the choice is completely up to you. To install Incredible Fax, log into your server as root and issue the following commands. Install time: 2 minutes.
cd /root ./incrediblefax13.sh
After entering your email address to receive incoming faxes, you’ll be prompted about two dozen times to choose options as part of the install. Simple press the ENTER key at each prompt and accept all of the defaults. When the install finishes, make certain that you reboot your server to bring Incredible Fax on line. There will be a new AvantFax option in the Incredible PBX GUI. The default credentials for AvantFax GUI are admin:password; however, you first will be prompted for your Apache admin credentials which were set when you installed Incredible PBX 13-13 LEAN or the Whole Enchilada. Then you’ll be asked to change your AvantFax password.
Upgrading to IBM Speech Engines
NOV. 1 UPDATE: IBM has moved the goal posts effective December 1, 2018:
If you’ve endured Google’s Death by a Thousand Cuts with text-to-speech (TTS) and voice recognition (STT) over the years, then we don’t have to tell you what a welcome addition IBM’s new speech utilities are. We can’t say enough good things about the new IBM Watson TTS and STT offerings. While IBM’s services are not free, that’s really theoretical for most of our readers. Your first month on the platform is entirely free. And, after that, you get 1,000 minutes a month of free STT voice recognition services. And the first million characters of text-to-speech synthesis are FREE every month as well. So let’s put the pieces in place so you’ll be ready to play with the Whole Enchilada. Here’s our tutorial that will walk you through the one-time IBM setup.
Next, login to your Incredible PBX server and issue these commands to update your Asterisk dialplan and edit ibmtts.php:
cd /var/lib/asterisk/agi-bin ./install-ibmtts-dialplan.sh nano -w ibmtts.php
Insert your credentials in $IBM_username and $IBM_password. Verify that $IBM_url matches the entry provided when you registered with IBM. Then save the file: Ctrl-X, Y, then ENTER. Now reload the Asterisk dialplan: asterisk -rx "dialplan reload"
. Try things out by dialing 951 (news) or 947 (Weather) from an extension registered on your PBX.
To get IBM’s Speech to Text service configured, while still logged in to your Incredible PBX server, issue these commands to edit getnumber.sh:
cd /var/lib/asterisk/agi-bin nano -w getnumber.sh
Insert your API_USERNAME and API_PASSWORD in the fields provided. Then save the file: Ctrl-X, Y, then ENTER. Update your Voice Dialer (411) to use the new IBM STT service:
sed -i '\\:// BEGIN Call by Name:,\\:// END Call by Name:d' /etc/asterisk/extensions_custom.conf sed -i '/\\[from-internal-custom\]/r ibm-411.txt' /etc/asterisk/extensions_custom.conf asterisk -rx "dialplan reload"
Now try out the Incredible PBX Voice Dialer with AsteriDex by dialing 411 and saying "Delta Airlines." Check back next week for the Whole Enchilada apps tutorial.
Configuring Google Voice with Incredible PBX
The advantage of Google Voice trunks for those of you in the United States is that all of your calls within the U.S. and Canada are free. You can’t beat the price, and it has worked reliably for many, many years. There are three different ways to set up Google Voice trunks with Incredible PBX. For a one-time fee of $4.99 with this coupon, you can use the Simonics GV/SIP gateway to configure a Google Voice account using OAuth 2 authentication. Then just set up the Simonics SIP trunk on your PBX to point to the Simonics gateway. A second option is to choose the (recommended) OAuth 2 authentication method for Google Voice when you initially install Incredible PBX 13-13. Finally, you can choose plain-text passwords for Google Voice when you set up Incredible PBX. The drawback of this last option is Google has hinted that they may discontinue support of plain-text passwords.
Here are the initial setup steps on the Google side:
1. Set up a dedicated Gmail and Google Voice account to use exclusively for this Google Voice setup on your PBX. Head over to the Google Voice site and register. You’ll need to provide a U.S. phone number to verify your account by either text message or phone call.
2. Once you have verified your account by entering your verification code, you’ll get a welcome message from Mr. Google. Click Continue to Google Voice.
3. Provide an existing U.S. phone number for verification. It can be the same one you used to set up your Google account in step #1.
4. Once your phone number has been verified, choose a DID in the area code of your choice.
Special Note: Google continues to tighten up on obtaining more than one Google Voice number from the same computer or the same IP address. If this is a problem for you, here’s a workaround. From your smartphone, install the Google Voice app from iPhone App Store or Google’s Play Store. Then open the app and login to your new Google account. Choose your new Google Voice number when prompted and provide a cell number with SMS as your callback number for verification. Once the number is verified, log out of Google Voice. Do NOT make any calls. Now head back to your PC’s browser and login to https://voice.google.com. You will be presented with the new Google Voice interface which does not include the Google Chat option. But fear not. At least for now there’s still a way to get there. After you have set up your new phone number and opened the Google Voice interface, click on the 3 vertical dots in the left sidebar (it’s labeled More). When it opens, click Legacy Google Voice in the sidebar. That will return you to the old UI. Now click on the Gear icon (upper right) and choose Settings. Make sure the Google Chat option is selected and disable forwarding calls to whatever default phone number you set up.
5. When your DID has been assigned, click the More icon at the bottom of the left column of the Google Voice desktop. Click Legacy Google Voice. Now click the Settings icon on your legacy Google Voice desktop. Make certain that Forward Calls to Google chat is checked and disable calls to your forwarding number. Click on the Calls tab and select Call Screening:OFF, CallerID (Incoming):Display Caller’s Number, and Global Spam Filtering:checked. The remaining entries should be blank.
6. Google Voice configuration is now complete. Sign out of your Google Voice account.
The Simonics GV-SIP Gateway Solution. Here’s the quick thumbnail of the steps to put all the pieces in place. First, we set up a Google Voice account at Google as documented above. Next, we’ll set up an account at the Simonics site to link our Google Voice account to the Simonics SIP Gateway. Then we’ll plug our Simonics SIP credentials into the preconfigured Simonics trunk on Incredible PBX. Finally, we’ll add Incoming and Outgoing Routes to tell Incredible PBX how to process Google Voice calls.
Now you’re ready to set up an account on the Simonics site. With this Nerd Vittles link, there’s a one-time fee of $4.99.
1. Start by registering your new Google account.
2. After paying the $4.99 registration fee via PayPal, proceed through the setup process to link your Google Voice account and 11-digit Google Voice phone number to the Simonics SIP Gateway.
3. You then will be provided your SIP username and password as well as the gateway address, gvgw.simonics.com, to use in building your SIP trunk on your PBX.
4. If your SIP credentials ever get compromised, regenerate your password by logging back into the Simonics GW site.
Now it’s time to configure your Simonics trunk in Incredible PBX. Start by logging into the web interface as admin with your admin password from above. Click Connectivity:Trunks and choose the Simonics trunk in the PBX Configuration menu. The Simonics trunk template will display:
1. Untick the Disable Trunk check box.
2. In Outbound CallerID, insert your 10-digit Google Voice number.
3. In username, insert GV1 followed by your 10-digit Google Voice number.
4. In secret, insert your Simonics SIP password.
5. In the Registration String, insert GV1 followed by your 10-digit Google Voice number followed by a colon (:)
6. In the Registration String after the colon, insert your Simonics SIP password.
7. In the tail of the Registration String after the slash (/), insert your 10-digit Google Voice number.
8. Click Submit Changes and then Reload the Dialplan when prompted.
Configuring GV Trunk with Motif in the GUI. If you elect to configure your Google Voice trunk natively using the Incredible PBX GUI, you first will need to obtain a Refresh_Token if you elected to use OAuth 2 authentication.
1. Be sure you are still logged into your Google Voice account. If not, log back in at https://voice.google.com.
2. In a separate browser tab, go to the Google OAUTH Playground using your browser while still logged into your Google Voice account.
3. Once logged in to Google OAUTH Playground, click on the Gear icon in upper right corner (as shown below).
3a. Check the box: Use your own OAuth credentials
3b. Enter Incredible PBX OAuth Client ID:
466295438629-prpknsovs0b8gjfcrs0sn04s9hgn8j3d.apps.googleusercontent.com
3c. Enter Incredible PBX OAuth Client secret: 4ewzJaCx275clcT4i4Hfxqo2
3d. Click Close
4. Click Step 1: Select and Authorize APIs (as shown below)
4a. In OAUTH Scope field, enter: https://www.googleapis.com/auth/googletalk
4b. Click Authorize APIs (blue) button.
5. Click Step 2: Exchange authorization code for tokens
5a. Click Exchange authorization code for tokens (blue) button
5b. When the tokens have been generated, Step 2 will close.
6. Reopen Step 2 and copy your Refresh_Token. This is the "password" you will need to enter (together with your Gmail account name and 10-digit GV phone number) when you add your GV trunk in the Incredible PBX GUI. Store this refresh_token in a safe place. Google doesn’t permanently store it!
7. Authorization tokens NEVER expire! If you ever need to remove your authorization tokens, go here and delete Incredible PBX Google Voice OAUTH entry by clicking on it and choosing DELETE option.
Switch back to your Gmail account and click on the Phone icon at the bottom of the window to place one test call. Once you successfully place a call, you can log out of Google Voice and Gmail.
Yes, this is a convoluted process. Setting up a secure computing environment often is. Just follow the steps and don’t skip any. It’s easy once you get the hang of it. And you’ll sleep better.
Now you’re ready to configure your Google Voice account in Incredible PBX. You do it from within the Incredible PBX GUI by choosing Connectivity:Google Voice. Just plug in your Google Voice Username, enter your refresh_token from Step #6 above as your Google Voice Password, enter your 10-digit Google Voice Phone Number, and check the first two boxes: Add Trunk and Add Outbound Routes. Then click Submit and Apply Settings to save your new entries.
If you elected to use plain-text passwords for Google Voice, simply skip obtaining OAuth 2 credentials and substitute your plain-text password for the refresh_token when you create the Google Voice trunk above. If you have trouble getting Google Voice to work using a plain-text password, 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.
IMPORTANT: Once you’ve entered your credentials, you MUST restart Asterisk from the Linux command line, or Google Voice calls will fail: amportal restart
Incredible PBX Wholesale Providers Access
Nerd Vittles has negotiated a special offer that gives you instant access to 300+ wholesale carriers around the globe. In lieu of paying the $650 annual fee for the service, a 13% wholesale surcharge is assessed to cover operational costs of TelecomsXchange. In addition, TelecomsXchange has generously offered to contribute a portion of the surcharge to support the Incredible PBX open source project. See this Nerd Vittles tutorial for installation instructions and signup details.
Continue Reading: Configuring Extensions, Trunks & Routes
Don’t Miss: Incredible PBX Application User’s Guide covering the 31 Whole Enchilada apps
Originally published: Monday, April 16, 2018
Support Issues. With any application as sophisticated as this one, you’re bound to have questions. Blog comments are a difficult place to address 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 Forum. 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, the PIAF Forum 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.
NEW YEAR’S TREAT: If you could use one or more free DIDs in the U.S. with unlimited inbound calls and unlimited simultaneous channels, then today’s your lucky day. TelecomsXChange and Bluebird Communications have a few hundred thousand DIDs to give away so you better hurry. You have your choice of DID locations including New York, New Jersey, California, Texas, and Iowa. The DIDs support Voice, Fax, Video, and even Text Messaging (by request). The only requirement at your end is a dedicated IP address for your VoIP server. Once you receive your welcome email with your number, be sure to whitelist the provider’s IP address in your firewall. For Incredible PBX servers, use add-ip to whitelist the UDP SIP port, 5060, using the IP address provided in your welcoming email.
Here’s the link to order your DIDs.
Your DID Trunk Setup in your favorite GUI should look like this:
Trunk Name: IPC
Peer Details:
type=friend
qualify=yes
host={IP address provided in welcome email}
context=from-trunk
Your Inbound Route should specify the 11-digit DID beginning with a 1. Enjoy!
Need help with Asterisk? Join our new MeWe Support Site.
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.
Great information! Thanks for posting. PBX offers many benefits, there for the organizations are switching to cloud based PBX. It is a unified communications suite that allows interconnectivity between email, voicemail, presence, video, and more.
As someone who’s doing this for a learning experience / personal use. The instructions are fairly straight forward.
I got confused with the Fax instructions so I skipped it because I have no need to accept incoming faxes.
I’m reading your tutorial lineally so if i do everything in order I’d install Incredible Fax AFTER doing the Enchilada package. But you mention if you installed it already. Which threw me off.
Another thing you didn’t mention but assume the user has some Linux experience opening ports. With no mention or reminder that part of the install needs ports opened to access the PBX console.
[WM: As delivered, your server was secure. Without knowing what ports you opened, it’s unclear how insecure you’ve made things. But you should immediately undo whatever you did. Part of the Incredible PBX install includes automatic configuration of the firewall with a whitelist of IP addresses that can access your server. If you installed the server from a PC, then your PC’s IP address will be in that whitelist, and you should be able to access the PBX console without any port adjustments. If you couldn’t access it, then there’s a serious problem with your install, but opening ports is not the safe solution. Head to the PIAF Forum if you need to discuss further.]
For PBX use what would you double: RAM, CPU, or SSD?
[WM: Unless you have enormous numbers of voicemails, I’d double the RAM.]