As we continue the march toward a truly free, RealGPL, open source VoIP platform for Asterisk®, we couldn’t think of a better time of the year for this announcement. Today we’re pleased to introduce our first virtual machine platform with an Incredible PBX™ GUI image that you can install in less than 60 seconds on virtually any desktop computer in the world. When the install is finished you’ll have the latest Asterisk 11 running atop Scientific Linux™ 6.6 with version 12 of the new Incredible PBX GUI. You’ll also have the very first Asterisk aggregation with native support for OAUTH authentication and secure communications using Google Voice. And it’s all FREE. No Gotchas!
Think of Incredible PBX as the glue stick that assembles all the necessary VoIP components into a state of the art Linux platform and holds them together seamlessly. As with all Incredible PBX builds, you also get the full complement of goodies including dozens of text-to-speech apps, voice dialing, SMS messaging, free fax support, reminders and wakeup calls, and SECURITY! The difference with the VirtualBox® platform is you get a turnkey install of everything on any desktop computer in less than one minute! That includes Windows PCs, Macs, Linux desktops, and even Solaris machines.
Is VirtualBox merely a sandbox for experimentation? Absolutely not. With any of the beefier desktop computers today, running Incredible PBX as a 24/7 VirtualBox image is every bit as feature rich with stellar performance, and it’s equivalent to using dedicated hardware. And there are some added advantages. Obviously, deploying a turnkey VoIP platform in under a minute is a major plus. But, unlike using a dedicated Linux platform, you also get the ability to take snapshots of your system and do full backups in minutes instead of the hours required to bring down dedicated hardware, load a different backup application using a different operating system, perform a backup, and then reboot your VoIP server. And your backups won’t just run on the one server on which the backup was performed. You can restore the backup to any other computer that can run VirtualBox. For any of you that came from a network management background, you know what a big deal that really is. And there’s one more bonus. With Incredible Backup and Restore, you can move to dedicated hardware running the same operating system with Asterisk 11 and the same version of the Incredible PBX GUI in minutes.
Need to deploy VoIP servers at dozens of sites around the globe? Not a problem with VirtualBox. Just send a preconfigured VirtualBox image to each site and install VirtualBox on a local desktop computer. In 60 seconds, you’ll have a functional VoIP server including interconnectivity to all of your other VoIP servers with a virtual private network already in place to provide secure VoIP connectivity between all of your sites.
Are there security compromises using the VirtualBox platform? Not at all. Incredible PBX comes preconfigured with the Linux IPtables firewall that is locked down to a whitelist of local area networks, preferred providers, and your own IP addresses. You can expand the whitelist using the add-ip and add-fqdn scripts or use PortKnocker and Travelin’ Man 4 tools to let remote users gain instant access.
So What’s All the GPL Fuss About? It’s about FREEDOM, the freedom to use or not use the GPL modules you wish to use without enduring false alerts that your system has been compromised and without being blocked from removing components that produce revenue for Sangoma®… as the GPL requires. It’s about FREEDOM to redistribute or resell the product AS IS… as the GPL requires. It’s about FREEDOM to examine and modify ALL of the source code using ALL of the tools and components necessary, not just ones Sangoma has chosen to provide… as the GPL requires. It’s about FREEDOM to add GUI components to your server with No Gotchas whether or not the individual modules were produced by Sangoma… as the GPL requires.
— Ward Mundy (@NerdUno) June 30, 2015
If you support the GPL and use open source projects, then you owe it to yourself and to the GPL community to get up to speed and get involved! Can’t we all just get along? You bet… when everyone does what they’ve agreed to do. Spend an hour or two of your Independence Day reading some of the Nerd Vittles commentary on FreePBX® and the GPL.
- An Open Letter to Sangoma: Here’s to a New Beginning in 2015
- We Have a Dream, Too: The Return of (Gotcha-free) Open Source GPL Software
- Turning the Page on Asterisk GUIs: Here’s to a New Beginning with a GUI Facelift
- Wear Something Green for May Day: The Schmoozification of Sangoma
- Freedom and the FreePBX Cloud: Is an Apple-like Ecosystem GPL-Compliant?
- Holey Socks! It’s the Missing FreePBX GPL Source Code, Or Is It?
- Choosing the Asterisk Platform That’s Right for You
BUY 3 STAMPS and let Sangoma and Digium hear from you. Don’t be shy. It’s about your FREEDOM.
William J. Wignall, President and CEO
100 Renfrew Drive, Suite 100
Markham ON L3R 9R6 CANADA
Danny Windham, CEO
445 Jan Davis Drive Northwest
Huntsville, AL 35806 USA
Mark Spencer, Founder and CTO
445 Jan Davis Drive Northwest
Huntsville, AL 35806 USA
Getting Started. For today, we’ll provide a refresher course on loading VirtualBox and the Incredible PBX virtual image. Then we want to spend a little time explaining the secret sauce that goes into building these images so that you can do it yourself either to migrate to a different network or to deploy at multiple sites. It’s called open source for a reason! When we’re finished, you’ll know everything we’ve learned about deploying VirtualBox machines and, unlike Grandma and some GUI platforms, we won’t leave an important ingredient out of the recipe just to be sure you never forget how good Grandma’s cookies really were. So let’s get started.
Installing Oracle VM VirtualBox
Oracle’s virtual machine platform inherited from Sun is amazing. It’s not only free, but it’s pure GPL2 code. VirtualBox gives you a virtual machine platform that runs on top of any desktop operating system. In terms of limitations, we haven’t found any. We even tested this on an Atom-based Windows 7 machine with 2GB of RAM, and it worked without a hiccup. So step #1 today is to download one or more of the VirtualBox installers from VirtualBox.org or Oracle.com. Our recommendation is to put all of the 100MB installers on a 4GB thumb drive.1 Then you’ll have everything in one place whenever and wherever you happen to need it. Once you’ve downloaded the software, simply install it onto your favorite desktop machine. Accept all of the default settings, and you’ll be good to go. For more details, here’s a link to the Oracle VM VirtualBox User Manual.
Downloading the Incredible PBX GUI Virtual Machine
A word of warning on the front end. Today’s Incredible PBX image featuring Asterisk 11 for VirtualBox is huge! The Scientific Linux 6.6 image with version 12 of Incredible PBX GUI is nearly 3GB. Be patient. You only have to download it once. Just click on the 11-12.3 .OVA image in this SourceForge link and start the download to your desktop. Then go have a nice lunch.
Importing & Configuring Incredible PBX Virtual Machines in VirtualBox
You only perform the import step one time. Once imported into VirtualBox, Incredible PBX is ready to use. There’s no further installation required, just like an OpenVZ template… only better. Double-click on the .ova file you downloaded to begin the procedure and load it into VirtualBox. When prompted, be sure to check the Reinitialize the Mac address of all network cards box and then click the Import button. Once the import is finished, you’ll see a new Incredible PBX virtual machine in your VM List on the VirtualBox Manager Window. We need to make a couple of one-time adjustments to the Incredible PBX VM configuration to account for differences in sound and network cards on different host machines.
Click on the Incredible PBX Virtual Machine in the VM List. Then click Settings -> Audio and check the Enable Audio option and choose your sound card. Save your setup by clicking the OK button. Next click Settings -> Network. For Adapter 1, check the Enable Network Adapter option. From the Attached to pull-down menu, choose Bridged Adapter. Then select your network card from the Name list. Then click OK. Finally, click Settings -> System, uncheck Hardware clock in UTC time, and click OK. That’s all the configuration that is necessary for your Incredible PBX Virtual Machine. The rest is automagic.
Running Incredible PBX Virtual Machines in VirtualBox
Once you’ve imported and configured the Incredible PBX Virtual Machine, you’re ready to go. Highlight IncrediblePBX Virtual Machine in the VM List on the VirtualBox Manager Window and click the Start button. The boot procedure with your chosen operating system will begin just as if you had installed Incredible PBX on a standalone machine. You’ll see a couple of dialogue boxes pop up that explain the keystrokes to move back and forth between your host operating system desktop and your virtual machine. Remember, you still have full access to your desktop computer. Incredible PBX is merely running as a task in a VirtualBox window. Always gracefully halt Incredible PBX just as you would on a dedicated computer.
Here’s what you need to know. To work in the Incredible PBX Virtual Machine, just left-click your mouse while it is positioned inside the VM window. To return to your host operating system desktop, press the right Option key on Windows machines or the left Command key on any Mac. For other operating systems, read the dialogue boxes for instructions on moving around. To access the Linux CLI, login as root with the default password: password. To access Incredible PBX GUI with a browser, point to the IP address of your virtual machine. Then, in the Administrator window, click on Incredible GUI Administration. Login as admin with the admin password you set below. For the security of your server, we recommend that you log in to the Linux CLI at least once a week so that Incredible PBX updates get applied to your server regularly. This is critically important if you care about your phone bill.
When logging in for the first time, Incredible PBX will go through some setup steps and then reboot. Login again to complete the setup. status will always provide a snapshot of your system. To shut down Incredible PBX gracefully, click in the VM window with your mouse, log in as root, and type: halt. Be sure to complete the following setup steps from the Linux CLI:
- Change your root password: passwd
- Set your Incredible GUI admin password: /root/admin-pw-change
- Set the admin password for web apps: htpasswd /etc/pbx/wwwpasswd admin
- 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
- Enable Incredible Fax support if desired: /root/incrediblefax11.sh
- Login to your NeoRouter VPN server if desired: /root/neorouter-login
Upgrading Modules with Module Admin in the GUI. The GUI includes a Module Administration component in the Admin tab which will let you check online for new modules and upgrade to newer releases. Once you have added or updated any modules, you will get some nasty error messages in the System Status display because we allow installation of all GPL-compatible modules, not just those of Sangoma. It’s one of the proprietary gotchas that we have been writing about. Simply click on the X option in the upper right corner of each window to remove the warnings. Log out of the GUI. Then login to your Linux CLI as root and issue the following command to permanently clear the error messages:
gui-fix. Now you can log back in and the warning messages will be gone… until you add or update modules again. Sangoma calls it a feature. 🙄
Command Line Management of Incredible PBX with VirtualBox
One of the real beauties of VirtualBox is you don’t have to use the VirtualBox GUI at all. The entire process can be driven from the command line. Other than on a Mac, here is the procedure to import, configure, and run Incredible PBX:
VBoxManage import IncrediblePBX-11-12.3-SL66.ova
VBoxManage modifyvm "IncrediblePBX-11-12.3-SL66" --nic1 nat
VBoxManage modifyvm "IncrediblePBX-11-12.3-SL66" --acpi on --nic1 bridged
VBoxHeadless --startvm "IncrediblePBX-11-12.3-SL66" &
# Wait 1 minute for Incredible PBX to load. Then decipher IP address like this:
VBoxManage guestproperty get "IncrediblePBX-11-12.3-SL66" /VirtualBox/GuestInfo/Net/0/V4/IP
# Now you can use SSH to login to Incredible PBX at the displayed IP address
# Shutdown the Incredible PBX Virtual Machine with the following command:
VBoxManage controlvm "IncrediblePBX-11-12.3-SL66" acpipowerbutton
On a Mac, everything works the same way except for deciphering the IP address. Download our findip script for that. Be sure to plug in the correct name of your virtual machine:
Deploying Google Voice Secure Communications with Incredible PBX
As with all prior releases of Incredible PBX, free calling in the U.S. and Canada with Google Voice is an integral component of this GPL platform. You still add Google Voice trunks using the GUI in exactly the same way: Connectivity -> Google Voice (Motif). What has changed under the covers with this release is what happens behind the scenes. Google has warned (for years) that they plan to phase out plain text passwords using your actual Google Voice credentials. This is for your protection! Unfortunately, until today, the only way to take advantage of the new OAUTH authentication method with Asterisk was to use one of the external SIP gateways to Google Voice. Now you no longer have to. The new 11-12.3 release of Incredible PBX adds native OAUTH authentication support to Asterisk and the Incredible PBX GUI. When prompted for the password in setting up your Google Voice accounts in the GUI, now you’ll enter your OAUTH token instead of your plain text password. It’s that easy. Obviously, you first need to obtain a free OAUTH token for each of your Google Voice accounts that you wish to activate. This tutorial on the PIAF Forum will walk you through the simple, one-time procedure.
IMPORTANT: Once you have added one or more Google Voice trunks in the GUI, you must restart Asterisk to activate the trunks:
We want to take a moment and express our heartfelt thanks to Ryan Tilton of GVsip.com for setting up and maintaining the free platform to support OAUTH tokens for Google Voice. And a special shoutout to Martin Dindos (a.k.a. @dziny on the PIAF Forum) for his truly Herculean efforts in getting this to work properly with Asterisk 11, no small feat. This is yet another amazing testament to how the open source community should really function. Thank you!
Preparing Incredible PBX Virtual Machine for Backups & Migration
To us, the most compelling feature of the virtual machine platform is the ease with which you can make a perfect backup of your server in minutes! From that backup, you can restore a working platform in the same 60 seconds it took to build today’s platform on your desktop. One of the drawbacks as the Linux operating systems have become more turnkey is the shortcut that was implemented on both the RedHat and Debian/Ubuntu platforms to store your network setup so that the server reboots more quickly. While that’s fine for rebooting on the same server, it’s a real problem if you attempt to move your setup to different hardware or a new network because your network configuration will not load properly on the new platform. That means no IP address! Here’s the easy way to assure that things will actually work after the move. It assumes you will have a DHCP server at the new location just as you did at your existing site.
The Easy Way. If you have console access after the VM image is restored on the new platform (which means you don’t need a network IP address for the server in order to log in as root), then the easy way to prepare any of the Incredible PBX machines for relocation is to issue the following commands before you halt the system and make a VirtualBox backup:
touch /etc/update_hostconfig touch /etc/update_serverconfig rm -f /etc/ssh/ssh_host* rpm -e openssh-server openssh-xinetd yum -y install openssh-server openssh-xinetd rm /etc/ssh/*.rpmsave
Once you have halted the server, edit both the sound card and network card settings and disable both of them in VirtualBox Manager. Then choose File -> Export Appliance from the VirtualBox title bar and create an .ova backup image on your desktop. You now have an image that is similar to the Incredible PBX image that you originally downloaded, except it has all of your data and settings. All you have to do is repeat the install drill above at the new location using the .ova image you created and log in with whatever your current root password happens to be. You’ll get a two-pass automatic setup just as you did when you began today’s adventure.
The only drawback to this procedure is the fact that the extension 701 and default DISA passwords as well as your firewall configuration will be initialized when you first boot from your .ova image at the other location. Aside from that, you’ll have a clean platform with new SSH and DUNDI credentials as well as mostly sanitized log files.
What’s Next. Now that you have a functioning server, it’s time to learn all about the Incredible PBX applications that are ready for use. Jump over to the latest Nerd Vittles application tutorial for a quick look at what’s available. Even though it was written for the Asterisk-GUI, everything will work exactly the same way. That’s the beauty of the Incredible PBX platform. Enjoy!
Originally published: Monday, June 29, 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. Our forum is extremely friendly and is supported by literally hundreds of Asterisk gurus.
Need help with Asterisk? Visit the PBX in a Flash Forum.
Special Thanks to Our Generous Sponsors
Awesome Vitelity Special. Vitelity has generously offered a terrific discount for Nerd Vittles readers. 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. When you use our special link to sign up, Nerd Vittles gets a few shekels down the road to support our open source development efforts 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. NOTE: You can only use the Nerd Vittles sign-up 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.
3CX is a software PBX that’s easy to install & manage. It includes integrated softphones, WebRTC conferencing and essential add-ons out of the box, at no additional cost. Try the free edition at www.3cx.com. Better yet, download the PIAF5 ISO powered by 3CX. Free version includes support for 8 simultaneous calls with a SIP trunk.
Some Recent Nerd Vittles Articles of Interest…
- Many of our purchase links refer users to Amazon when we find their prices are competitive for the recommended products. Nerd Vittles receives a small referral fee from Amazon to help cover the costs of our blog. We never recommend particular products solely to generate Amazon commissions. However, when pricing is comparable or availability is favorable, we support Amazon because Amazon supports us. [↩]