Home » 2014 » June

Monthly Archives: June 2014

The Most Versatile VoIP Provider: FREE PORTING

The Definitive VoIP Quickstart Guide: Incredible PBX for the Raspberry Pi

It’s been a wild ride with the $35 Raspberry Pi®. Last month, sales of the Raspberry Pi topped three million. And, if you didn’t already know, the Raspberry Pi makes a near perfect platform for your very own VoIP PBX. It’s less than a ONE HOUR project!
[iframe-popup id="3″]
If you’re new to the party, imagine squeezing a 700 mHz ARM processor with 512MB of RAM, 2 USB ports, a 10/100 Ethernet port, an HDMI port, composite video, a separate audio jack, an SDHC card slot, and a micro USB port onto a motherboard the size of a credit card weighing 1.6 ounces. Adding WiFi is as simple as plugging in a USB adapter. If your WiFi connection is password-protected, just plug your credentials into the top of /etc/wpa.conf and /root/restart-wlan0.

07/01/2019 NEWS FLASH: Just released Incredible PBX LITE for the Raspberry Pi 2, 3, and 4 featuring Raspbian 10 Buster. Tutorial here.

Absolute perfection. Other than the slow write speeds to the sd card (you might add a warning note about that part), I had it swapped over to local extension numbers and trunked to existing asterisk servers in minutes… [I]t doesn’t get any cooler than this! — Scott P.

Trust us when we say the performance of this tiny computer is nothing short of amazing. Can it do everything a $300 dual-core Atom PC can do? No. Can it do 90% of everything for someone whose requirements do not exceed a handful of simultaneous calls at a time but still wants a full-blown PBX for call routing, transcribed voicemails delivered by email, IVRs, music on hold, and text-to-speech and speech-to-text apps for a home, a SOHO office, a Little League team, or a dorm room? Absolutely. As Scott mentioned, configuration changes may take you a few seconds longer than would normally be the case with an Atom-based PC and a hard disk. But, hey, you can have this delivered to your front door in two days with Amazon Prime shipping for less than $2 more than the actual cost of the $35 computer. See the ad in the sidebar for ordering info. You’ll have a fully functional PBX up and running before you can break a summer sweat.

And today we’re pleased to introduce Incredible PBX 3.11.10 for the Raspberry Pi, a turnkey PBX featuring the latest releases of Asterisk® 11 and FreePBX® 2.11 for a near perfect telephony platform. Special thanks to the tens of thousands of pioneers that have given the first dozen iterations of this software a healthy workout over the past 18 months. We couldn’t have done it without you!

What’s New in Incredible PBX 3.11.10? Well, just about everything is either new or upgraded. For those of you already running a previous version, here’s a quick thumbnail of the 3.11.10 feature set. As in the past, we’ve tried to mimic as much of the previous build functionality as possible while providing new firmware support for the very latest Raspberry Pi boards. So you still get simple utilities to configure 1GHz overclocking and automatic expansion of the 3.11 image to run on any size SDHC card. You also get Asterisk’s latest long-term support release, Asterisk 11, which provides an incredibly stable VoIP platform. There also have been some major plumbing enhancements in FreePBX 2.11 to improve its stability and to enhance security. Although we can’t promise it will last forever, you also still get Google Voice support with free calling in the U.S. and Canada as well as free faxing and SMS messaging plus most of the Incredible PBX feature set. We’ve also added optional voice transcription and email delivery of MP3 voicemails to smooth the migration to unified messaging. If you want the first 15 seconds of each voicemail transcribed, then issue the following commands after logging into your server as root. Additional documentation is available here.

cd /usr/sbin
mv sendmailmp3 sendmailmp3.notrans
mv /root/sendmailmp3 sendmailmp3

Incredible PBX 3.5 and beyond added automatic detection and support of 512MB Raspberry Pi devices without touching anything. Beginning with version 3.7, we added an awesome fax server to Incredible PBX for those with a 512MB board. The complete tutorial is available here. update-my-pi in the /root folder of your server helps to safeguard your system by bringing it up to date with the latest fixes and enhancements. After running it the first time, it gets run automatically whenever you log in as root. For the safety of your server, don’t disable it! It’s free for the first ten updates, and then it’s just $20 a year. And it’s on the honor system so you can cheap out if you prefer not to contribute.

To enable overclocking at your own risk, run: raspi-config. Overclocking works for us. YMMV! The key is a good power supply. If you’re using an SD card larger than 4GB, version 3.11.10 can resize your partitions on the fly. Just choose the option in raspi-config and reboot. Even though the kernel now monitors CPU temperature and manages overclocking, it’s always nice to see for yourself. To monitor the CPU temperature, just run the status program which provides a current snapshot anytime. Temperature data now is provided on the FreePBX Dashboard as well.

There’s more good news. Networking is much more stable; however, we’ve dropped support for the TP-Link WiFi adapters. If you still have one of these adapters, see this thread on the PIAF Forum for setup instructions. Otherwise you’ll need the recommended AirLink 101 N-150 if you want WiFi capability. In the 3.11.10 release, your server will automatically attempt to connect to any open WiFi network that it can find. We’ve also added two scripts in /root to let you restart either your wired or wireless network and designate it as the primary network: restart-eth0 and restart-wlan0. Time zone management was also a bit of mess with multiple file settings required to support both Linux and PHP. In this release, you’ll be prompted to select your timezone when you first log in as root. The setup script will automatically apply your entry in all the right places. We’ve also replaced SendMail with Exim to simplify the process of using an SMTP mail gateway such as Gmail. The procedure for making the change is documented here.

As part of the latest build, we’ve also eliminated the pi user account. Everything you need to do to configure Incredible PBX requires root permission. So goodbye sudo. Only the root user account is included, and the default password is raspberry. Change the password when you first log in. New SSH and DUNDI keys now are automatically generated when you first boot your server. The FreePBX Backup and Restore Utility is included in this new build. AsteriDex Speed Dialing has been enhanced for our friends across the Atlantic. Enter 3-digit Dial Codes in AsteriDex, and you can call by dialing 000nnn. In this upgrade, Telephone Reminders work like a champ.

X Windows is included in this build. This won’t work with SSH. For a demo slideshow, plug in a real monitor and log in as root. In the /root folder, enter the command: startx. To end the slideshow, press ESCape. To disable the slideshow: mv .xinitrc xinitrc. To add photos, copy .jpg images into /root/slideshow. No mouse is required for the slideshow but, if you run X Windows natively, you’ll need a USB mouse. The SMS Blasting app in /root now supports phone numbers (which use SMS) and email addresses (which use SendMail).

Last but not least, a sophisticated Conference Bridge has been added to Incredible PBX. If you route one of your inbound DIDs to the predefined IVR, users can press 0 and enter 1234 for the conference PIN to join the conference. Local extensions simply dial C-O-N-F. We’ve already tested a 9-person conference call with excellent results. But don’t take our word for it. Try it for yourself. Just call our demo Raspberry Pi AutoAttendant and take the Conference Bridge and a handful of other Incredible PBX™ apps for a test drive:

And here’s what the conference call looked like in the FreePBX Dashboard:

So you don’t have to jump around between articles, we’ve put together this Quick Start Guide that tells you everything you need to know to get up and running in about an hour. Most of that time will be consumed copying the Incredible Pi image to an SD card. So there’s plenty of time for lunch during the hour. Once your system is running and you’ve completed the setup steps below, then jump over to the application tutorial which explains how to use every one of the 35+ Incredible PBX Apps for the $35 Raspberry Pi.

What to Buy. Here’s everything you need to get started.1 The case is optional. Yes, you can run the Raspberry Pi sitting on your desk with no case. It’s only 5 volts. WiFi is also optional. There’s a 10/100 port on the Raspberry Pi that gives you all the networking you need. Here are the links to buy the pieces. You also need a CAT5 cable and either a spare PC or Mac with Putty or SSH and a pair of earbuds or an HDMI cable to connect to a TV or monitor and a USB keyboard.

Setting Up Google Voice. If you want free calling in the U.S. and Canada, then you’ll need a Google Voice account, and you’ll need one dedicated to Incredible Pi, or it won’t work. Log out after setting up the new Google Voice account! Also note that Google Voice will cease to function on May 15, 2014. You can read all about it here.

  • Register for Google Voice account (no funky characters in your password!)
  • Enable Google Chat as Phone Destination
  • Configure Google Voice Calls Settings:
    • Call ScreeningOFF
    • Call PresentationOFF
    • Caller ID (In)Display Caller’s Number
    • Caller ID (Out)Don’t Change Anything
    • Do Not DisturbOFF
    • Call Options (Enable Recording)OFF
    • Global Spam FilteringON

  • Place test call in and out using GMail Call Phone

Baking Your Incredible Pi. The disk drive for the Raspberry Pi is an SD card. So what you need to do is download Incredible Pi and copy the image onto an SDHC card. Mac and Linux installers are included. For Windows, just use Win32 Disk Imager. Here are the steps:

  1. Download the latest Incredible Pi package
  2. Decompress the tarball: tar zxvf incrediblepi-version.tar.gz
  3. Copy .img file to SDHC using image utility or script
  4. Insert SDHC card into Raspberry Pi
  5. Boot the Raspberry Pi from Incredible Pi SDHC card

Your First Bite of Incredible Pi. If you’re not using a monitor and keyboard, you can use SSH to gain root access to Incredible Pi. And you can use any web browser on your private network to access your server. There are a couple of hurdles. First, you need the network address of your new server. And, second you need an SSH client. With Incredible PBX 3.3 and beyond, you needn’t worry about the IP address. You now can access your server via SSH by logging in like this: root@incrediblepbx.local. And browser access to your server is available at the following address: http://incrediblepbx.local. You still can plug in some earbuds when the bootup process begins and listen for the Incredible Pi to tell you its IP address when the boot procedure completes (about 90 seconds). Then you can use that IP address instead of incrediblepbx.local. The latest releases of Incredible PBX also include a Java-based SSH client in the FreePBX web GUI: Admin -> Java SSH. Because of the almost weekly security problems with Java, we strongly recommend using a standalone SSH client such as Putty.

Here’s everything you need to know about security for Incredible Pi:

1. ALWAYS RUN INCREDIBLE PI BEHIND A SECURE HARDWARE-BASED FIREWALL/ROUTER
2. NEVER EXPOSE ANY INCREDIBLE PI PORTS DIRECTLY TO THE INTERNET
3. NEVER MAP INBOUND INTERNET PORTS FROM YOUR FIREWALL TO INCREDIBLE PI

Initial Setup. There also are a few setup steps to complete once your Incredible Pi finishes the bootup process. When you first login (username: root  password: raspberry), you’ll be prompted to change your root password and to set your default time zone. If you’re using either a wired network or an open WiFi network, then everything just works. If you’re using secured WiFi, then you’ll need to plug in your credentials in /etc/wpa.conf and reboot. The wired network always takes precedence so unplug the cable if you want WiFi to be your primary network. /root/update-my-pi runs automatically when you log in as root. It will bring your server up to current specs. Finally, now’s the time to repartition your SD card if you’re using a card larger than 4GB (highly recommended!). While you’re at it, bump up the performance of your Raspberry Pi by 50% by setting the overclocking to turbo mode. It works great for us. YMMV! The key is a rock-solid power adapter such as the one we’ve recommended. Just run raspi-config and follow your nose.

Accessing Incredible Pi By GUI. You don’t have to be a Linux guru to use Incredible Pi. In fact, we’re just about finished with the Linux command prompt, but stay logged in until we finish the steps below. Most of your configuration of the PBX will be performed using the FreePBX® Web GUI.

If you’re new to Asterisk® and FreePBX, here’s the one paragraph primer on what needs to happen before you can make free calls with Google Voice. You’ll obviously need a free Google Voice account. This gets you a phone number for people to call you and a vehicle to place calls to plain old telephones throughout the U.S. and Canada at no cost. You’ll also need a softphone or SIP phone to actually place and receive calls. YATE makes a free softphone for PCs, Macs, and Linux machines so download your favorite and install it on your desktop. Phones connect to extensions in FreePBX to work with Incredible Pi. Extensions talk to trunks (like Google Voice) to make and receive calls. FreePBX uses outbound routes to direct outgoing calls from extensions to trunks, and FreePBX uses inbound routes to route incoming calls from trunks to extensions to make your phones ring. In a nutshell, that’s how a PBX works. There are lots of bells and whistles that you can explore down the road.

Let’s get started. Using a browser, enter the IP address of your server or just use incrediblepbx.local as the address. Choose FreePBX Administration. When prompted for a username and password, use admin for both. Here are the six steps you need to complete before making your first free call:

  1. Change FreePBX admin Password and Default Email
  2. Add Google Voice Account credentials
  3. Set Destination for Incoming Calls
  4. Change Extension 701 Passwords
  5. Eliminate Audio and DTMF Problems
  6. Install and Register a Softphone to Extension 701

1. Changing FreePBX admin Password and Default Email. From the main FreePBX GUI, click Admin => Administrators. Click on admin user in the far-right column. Enter a new Password and click Submit Changes button. Then click the Apply Config button. Next, set your default email address in the right margin of Admin -> Module Admin and save your entry.

2. Activating a Google Voice Trunk. To create a Trunk in FreePBX to handle calls to and from Google Voice, you’ll need three pieces of information from the Google Voice account you set up above: the 10-digit Google Voice phone number, your Google Voice account name, and your Google Voice password. Choose Connectivity -> Google Voice (Motif) from the FreePBX GUI. The following form will appear:

Fill in the blanks with your information and check only the top 2 boxes. If your Google Voice account name ends in @gmail.com, leave that out. Otherwise, include the full email address. Then click Submit Changes and Apply Config.

There’s one more step or your Google Voice account won’t work reliably with Incredible Pi! From the Linux command prompt while logged into your server as root, restart Asterisk: amportal restart

3. Setting a Destination for Incoming Calls. Now that you’ve created your Google Voice Trunk, we need to tell FreePBX how to process inbound calls when someone dials your Google Voice number. There are any number of choices. You could simply ring an extension. Or you could ring multiple extensions by first creating a Ring Group which is just a list of extension numbers. Or you could direct incoming calls to an Interactive Voice Response (IVR) system (we’ve actually set one up for you to play with).

By default, Incredible Pi is configured to route all incoming calls to a demo IVR that shows off some of the applications that come with Incredible Pi. You can change whenever you like by choosing Connectivity -> Inbound Routes -> Default. In the Set Destination section of the form, change the target to Extensions and then select 701 from the list. Then click Submit and Apply Config.

4. Changing Extension Passwords. From the main FreePBX GUI, choose Applications -> Extensions. Then click on 701 in the Extension List on the right side of your display. You’ll see a form that looks like this:

For now, we only need to make a few changes. First, you need a very secure password for both the extension itself and your voicemail account for this extension. The extension secret needs to be a combination of letters and numbers. The Voicemail Password needs to be all numbers, preferably six or more. Replace the existing 1234secret and 1234 with your own (very secure) entries. You also need to lock down this extension so that it is only accessible from devices on your private LAN. You do that with the deny and permit entries which currently are filled with zeroes. Leave the deny entry the way it is which tells Incredible Pi to block everybody except those allowed in the permit entry below. For the permit, we need the first three octets of your private LAN address, e.g. if your LAN is 192.168.0.something then the permit entry will be 192.168.0.0/255.255.255.0.

Finally, you need to plug in your actual email address in the Voicemail section so that voicemails can be delivered to you when someone leaves a message. You can also include a pager email address if you want a text message alert with incoming voicemails. If you want the voicemails to automatically be deleted from the server after they are emailed to you (a good idea considering the disk storage limitations of an SDHC card), change the Delete Voicemail option from No to Yes. That’s it. Now save your settings by clicking the Submit button. Then reload the dialplan by clicking on the red prompt when it appears.

In case you’re curious, unless you’ve chosen to automatically delete voicemails after emailing them, you can retrieve your voicemails by dialing *98701 from any extension on your phone system. You’ll be prompted to enter the voicemail password you set up. In addition to managing your voicemails, you’ll also be given the opportunity to either return the call to the number of the person that called or to transfer the voicemail to another extension’s voicemail box. And you can always leave a voicemail for someone by dialing their extension number preceded by an asterisk, e.g. *701 would let someone leave you a voicemail without actually calling you.

5. Eliminating Audio and DTMF Problems. You can avoid one-way audio on calls and touchtones that don’t work with these simple settings in FreePBX: Settings -> Asterisk SIP Settings. Just plug in your public IP address and your private IP subnet. Then set ULAW as the only Audio Codec.

6. Setting Up a Desktop Softphone. Incredible Pi supports all kinds of telephones, but we’ll start with the easy (free) one today. You can move on to "real phones" once you’re smitten with the VoIP bug. For today, you’ll need to download a softphone to your desktop PC or Mac.

7. Activating Voice Recognition for Incredible Pi Apps. Google now requires an API key to use their voice recognition services. This affects a number of Incredible Pi applications including the Yahoo Weather report service (951) which lets you say the name of a city to retrieve its weather forecast, dial by name to call anyone in your AsteriDex database (411), and the Wolfram Alpha almanac service which lets you look up almost anything (4747). The 5-minute tutorial to activate voice recognition is available in the PIAF Forum.

As we mentioned, the easiest way to get started with Incredible Pi is to set up a YATE softphone on your Desktop computer. Versions are available at no cost for Macs, PCs, and Linux machines. Just download the appropriate one and install it from this link. Once installed, it’s a simple matter to plug in your extension 701 credentials and start making calls. Run the application and choose Settings -> Accounts and click the New button. Fill in the blanks using the IP address of Incredible Pi, 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 your first call. It’s that easy!

Monitoring Call Progress with Asterisk. That about covers the basics. We’ll leave you with a tip on how to monitor what’s happening with your PBX. There are several good tools within the FreePBX GUI. You’ll find them under the Reports tab. In addition, Asterisk has its own Command Line Interface (CLI) that is accessible from the Linux command prompt. Just execute the following command while logged in as root: asterisk -rvvvvvvvvvv.

Activating SAMBA for Windows Networking. SAMBA is included for transparent access using the Windows Networking Protocol from PCs, Macs, and other Linux machines. As delivered, SAMBA is deactivated. For obvious reasons, we recommend you never activate root login access to SAMBA without a very secure password. If you wish to enable SAMBA on your server, here are the steps while logged in as root:

  • 1. Set SAMBA password for user root: smbpasswd -a root
  • 2. Change Windows workgroup from WORKGROUP, if needed: nano -w /etc/samba/smb.conf
  • 3. Manually start SAMBA from command prompt: service samba start
  • 4. If desired, set SAMBA to start on boot: rcconf and activate SAMBA option

Activating the PPTP VPN Client. If you’ve followed the Nerd Vittles tutorial and previously set up a PPTP VPN Server for your devices, then it’s pretty simple to add Incredible Pi to the mix by activating its PPTP VPN client. You’ll need the FQDN or public IP address of your VPN server as well as a username and password for VPN access to your VPN server. Once you have those in hand, log into Incredible Pi as root.

Lest we forget to mention, you cannot log into your PPTP server from an IP address on the same private LAN so you’d only use the PPTP VPN when your Incredible Pi is at a remote location.

Edit the connection template: nano -w /etc/ppp/peers/my-pptp-server. Insert the following text and replace myfqdn.org with the FQDN of your PPTP server, replace myname with your PPTP username, and replace mypassword with your PPTP password. Then save the file: Ctrl-X, Y, then Enter.

To test it, issue the following command: /etc/init.d/pptp start. When you run ifconfig, you should now see a ppp0 entry:

ppp0 Link encap:Point-to-Point Protocol
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Remember, it won’t show an IP address if the Raspberry Pi and your PPTP VPN Server are on the same subnet (like ours). Once you install your Raspberry Pi in a remote location, you now can access it at the first IP address in your reserved PPTP IP address pool.

To permanently activate the PPTP VPN client on your Incredible Pi server, run rcconf. Scroll to the bottom of the list and highlight pptp. Press the space bar to select it for automatic startup when you boot your server. Then tab to OK and press Enter.

Activating Incredible Fax. With a 512MB Raspberry Pi, here are the 5 Simple Steps to activate Incredible Fax. The original tutorial is available here.

  1. Download and Install Incredible PBX 3.11
  2. Run the /root/fax-enable Script to Automatically Configure HylaFax
  3. Using FreePBX, Add Additional, Dedicated DID and Inbound Route to Handle Incoming Faxes
  4. Install Any Desktop HylaFax Client to Send Faxes via Print-to-Fax using any PDF
  5. Reboot Your Server and Enjoy

Incredible Trunks. When you’re ready to try some other SIP providers, here is a quick Cheat Sheet courtesy of Kristian Hare, who translated our original setups into a spreadsheet. Just click on the image below to open it in a new window. Then click on the redisplayed image to enlarge it.

Configuring CallerID Superfecta. In order to match names with phone numbers, Incredible PBX includes a FreePBX application named CallerID Superfecta. Out of the box, Incredible PBX 3.11 will work fine if you remember to activate CallerID Superfecta whenever you create a new Inbound Route. The CNAM entries also will be displayed in your CDR reports. For those not in the United States, you may prefer to use a lookup source for your numbers other than the ones preconfigured in CallerID Superfecta. You will find all of the available modules on the POSSA GitHub site. Just download the ones desired into /var/www/html/admin/superfecta/sources and then activate the desired sources in Admin -> CID Superfecta -> Default. You can test your results and the performance using the Debug facility that’s built into the module.

Shutting Down Your Server. Last but not least, never just pull the plug when you want to shut down your server, or you may end up with corrupted MySQL databases. Then nothing will run. Instead, log into your server as root, and issue the following command: shutdown -h now. Enjoy!

Where To Go Next. Once you’ve done a little exploring, take a few minutes to read the complete tutorial on all 35 Incredible PBX applications for Raspberry Pi. A few require a bit of configuration before you start using them. And then you’ll want to explore Interconnecting Asterisk Servers with Incredible PBX and the Raspberry Pi. Enjoy!


Don’t forget to List Yourself in Directory Assistance so everyone can find you by dialing 411. And add your new number to the Do Not Call Registry to block telemarketing calls. Or just call 888-382-1222 from your new number.

Originally published: Monday, June 23, 2014


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 ordinary 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…

  1. 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. []

Another Feather in the VoIP Cap: Fedora 20 Comes to PBX in a Flash

Summer has always been the season for experimentation at Nerd Vittles, and 2014 is shaping up to be a banner year. Red Hat® has been a pioneer in all things Linux® so we were anxious to take their latest technologies for a spin. Nothing sums up Fedora™ 20 better than Cubieboard’s graphic (shown above). For those new to open source, Fedora is where the Bleeding Edge action is. If you like roller coasters and fast cars, then you’ll feel right at home with Fedora 20. Suffice it to say it’s the 10th year anniversary edition and the twentieth release of Fedora. What’s new? Well, almost everything. At the desktop level, you’ll be struck by how quickly Fedora components are closing the gap on Windows® and Mac OS X®. In particular, the new LibreOffice™ office suite will leave you wondering whether your favorite word processor has been ported to Linux. It’s that good. And graphics support in Firefox® is every bit as good as any browser you’re currently using on any platform. Of particular interest to us was Fedora’s new support for the Cloud and more important to VoIP, the ARM® platform. This opens up exciting possibilities with the Raspberry Pi® and especially the third generation BeagleBone Black® with its new 4GB flash drive. Is that enough trademark symbols for you? If we missed any owned Word®, our apologies. Yes, you all own your brand names. And no, we didn’t invent any of this. We’re in the aggregation business, trying to make all the pieces work together. For a look at everything new in Fedora 20, be sure to read Danny Steiben’s terrific review. While there still are a few rough edges, it’s actually a much better product than the graphic above might lead you to believe. Here is sample displaying a favorite webcam site, ours.


What does all of this have to do with VoIP? Everything. Fedora is where RedHat experiments with new technologies that ultimately find their way into Enterprise Linux® releases.1 With last week’s release of RHEL 7, CentOS™ 7 cannot be far behind. And much of the new Linux technology found in Fedora will be coming to a VoIP desktop or Cloud near you very soon. So it was important for us to see just how well Asterisk® and FreePBX® perform using the current PBX in a Flash™ installer. If you’re one who likes to read the last page of a book first, we’d give Fedora 20 an A-. And we don’t give out many A’s.

Our tasks for today are three-fold. We’ll show you how to install PBX in a Flash on top of an existing Fedora 20 installation. Then we’ll show you how to roll your own Fedora Remix, a generic operating system that you can embellish and redistribute to your heart’s content (pursuant to GPL2) without worrying about RedHat’s legal beagles. Finally, we’ll provide a Fedora Remix appliance for VirtualBox® that will let you deploy and play with Fedora 20 and PBX in a Flash on your favorite desktop computer. The complete appliance setup takes less than 5 minutes on almost any Windows, Mac, or Linux desktop.

Installing PBX in a Flash Atop Fedora 20 or Fedora Remix

Before you can install the latest PBX in a Flash aggregation, you’ll first need an operating system platform on which to run it. In the case of Fedora 20, that means downloading and installing the Live Media Desktop Edition. For today, we’ll assume you’re installing Fedora 20 on VirtualBox, but any relatively recent desktop computer should work equally well.

You actually have two choices for your operating system: the Fedora 20 platform described above or the PIAF-FC20 Remix which is a superset of that platform. The choice is completely yours. The Fedora Remix is not provided or supported by the Fedora Project. It has been created and is maintained by Ward Mundy & Associates LLC on behalf of the PBX in a Flash Development Team. Download the official Fedora software from here. Or download the PIAF-FC20 Remix ISO from SourceForge.

Let us restate the obvious. This is Bleeding Edge technology. Only deploy it behind a hardware-based firewall with no Internet port exposure. It is not safe to deploy this aggregation on the open Internet. It’s your phone bill. 🙂

Create a new Fedora 20 Virtual Machine in VirtualBox:

Type: Linux
Version: Fedora
RAM: 1024MB
Default Drive Options with 20GB+ space
Create
Settings->System: Enable IO APIC and Disable HW Clock (leave rest alone)
Settings->Audio: Enable
Settings->Network: Enable, Bridged
Settings->Storage: Far right CD icon (choose your ISO) and click Live CD/DVD
Start

Install and configure Fedora 20:

Start your Virtual Machine
Start Fedora Live (be patient while it loads)
Click: Install to Hard Drive
Choose Language and Click Continue
Click: Install Destination (do not change anything!)
Click: Done
Click: Continue (to autoconfigure disk)
Click: Begin Installation
Click: Root Password: password, password, Click Done twice
Click: User Creation: admin, admin, password, password, Click Done twice
Wait for Software Install and Setup to finish
Click Quit
Click Activities and Search for terminal
Click Terminal icon
shutdown -h now
Close the VM window and choose Power Off Machine

Adjust Virtual Machine to Remove Live Image:

Settings->Storage: Click on Fedora Live ISO
Click: (-) icon to remove Live ISO
Confirm: Remove
Click: OK
Restart Virtual Machine

Fedora 20 Initial Setup:

Accept default kernel for boot
Click: Admin user, enter password, Accept
Choose Language, Keyboard
Ignore Link to Data in Cloud, Next
Start Using Fedora
Click: X to close Gnome Help window
Activities, Search: terminal
Click: Terminal icon
su root
enter your password
init 3
login again as root
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
service sshd start
chkconfig --level 2345 sshd on
ifconfig (decipher IP address for SSH login)
shutdown -h now

Once you login with admin:password, the Gnome Desktop will appear. Navigation is similar to a Windows or Mac desktop. Clicking on the Power button and then the Settings icon will bring up the Settings window. Clicking on Activities will bring up the Application list and Search bar. You can drag any of your favorite apps to the left toolbar for quick access. For our purposes, type terminal in the search bar to access a Terminal window. Switch to the root user: su root. And enter your root password. Then complete the steps above to configure Fedora 20 for PIAF installation. You will NOT lose your ability to also use Fedora 20 apps in graphics mode. Switch between modes with init 5 for graphics and init 3 for non-graphics, multi-user mode. PIAF installation and operation requires run level 3. But, once it’s installed and operating, you can easily switch to run level 5 to use desktop applications such as FireFox and LibreOffice. The advantages of a multi-purpose platform for those who travel or for deployment at small remote sites should be obvious. A single computer could be used to provide BOTH desktop computing services as well as a full-featured PBX with secure connectivity to home base.


 

Preliminary Steps for PIAF3 Installation:

Restart Virtual Machine
Login as root using SSH so you can cut-and-paste
cd /etc/yum.repos.d
# change gpgcheck=0 for all repos
yum -y install httpd* php wget nano iptables-services glibc.i686
sed -i 's|SELINUX=enforcing|SELINUX=disabled|' /etc/selinux/config
systemctl enable httpd.service
systemctl start httpd.service
systemctl stop firewalld.service
systemctl status firewalld.service
chkconfig --level 2345 firewalld off
cd /root
wget http://pbxinaflash.com/piaf3-install.tar.gz
tar zxvf piaf3-install.tar.gz
./piaf3-install

PIAF3 Installation Procedure:

Phase 1: Allow automated install to complete (2,000+ new components)
Phase 2: Following reboot, choose option C to exit to command prompt
Type: piafdl
Flavor: PIAF-Green
# expand the size of your SSH window now by doubling its size
Enable make menuconfig option: Y
Time Zone: your choice
FreePBX: 2.11
Master password: your choice
When menuconfig opens, press down arrow, right arrow, left arrow, and X
Wait for reboot and login again
Post-install script will run and leave you with a functional system

Congratulations! Enjoy your new Bleeding Edge VoIP platform.

Rolling Your Own Fedora Remix

We promised you a quick tutorial on building your own Fedora Remix using Fedora 20 as a base. It’s actually pretty easy and can be built using the platform you created above. After logging into your server as root, issue the following commands to create the ISO. When you’re finished, you’ll have the same Fedora Remix ISO that can be downloaded from our SourceForge site.

mkdir /root/remix
cd /root/remix
yum -y install livecd-tools spin-kickstarts
wget http://pbxinaflash.com/piaf-fc20-remix-ks.tar.gz
tar zxvf piaf-fc20-remix-ks.tar.gz
livecd-creator --config=fedora-live-desktop.ks --fslabel=PIAF-FC20-Remix \
--cache=/var/cache/live

PIAF3 VirtualBox Appliance with Fedora Remix

You may be asking, "Why the knuckle drill with rolling your own remix when Fedora provides the ISO for you?" The short answer is because RedHat has rules (lots of them) on how you can redistribute their open source products (many of which aren’t theirs at all). Most of these rules address which trademarks of theirs can and cannot be used and under what circumstances. For anyone building virtual machines, it’s simply the cost of doing business with RedHat. If it were as easy as removing the fedora-logos, fedora-release, and fedora-release-notes packages and replacing them with the generic-logos, generic-release, and generic-release-notes packages as RedHat’s site suggests, life would be easy. Unfortunately, there are dozens of commingled dependencies that get broken by directly swapping out these RPMs on a live system. While it has never been legally tested, as things stand today, you are forced to build your own ISO with the appropriate packages in order to comply with Red Hat’s licensing rules. Once you’ve done that, then creation of virtual machine appliances with the remix operating system are straight-forward and simple to create. We have built a VirtualBox appliance that will provide you a functional system on any desktop computer in minutes. The .ova appliance (3.1GB) is available for download from SourceForge. For those that want to experiment with this exciting new platform without the installation hassle, this virtual machine appliance is for you. After downloading the .ova image, just follow our previous VirtualBox tutorial to get started. It only takes a couple of minutes. At a minimum, change your root password by running passwd and change your FreePBX maint password by running passwd-master.

What’s Still Broken with PIAF Running Fedora 20

The new PIAF install procedure lets us push the latest fixes to every system as necessary. These always get loaded the first time you log in as root and configure your network for DHCP access, and you can reapply the latest fixes by issuing the command touch /etc/firsttime and then logging out and back into your server as root. With the latest fixes, the bug list is tiny. Apache authentication for FreePBX now works just as it does in all other versions of PBX in a Flash. Simply log into the FreePBX web GUI with username maint and the maint password you set up with passwd-master. The original PIAF status application has been replaced with an interim status app that provides most of the same functionality as the original. Zend Guard loader remains broken because Fedora 20 uses PHP 5.5. It means FreePBX commercial apps will not yet function. With those two exceptions, PBX in a Flash running under Fedora 20 should be indistinguishable from PIAF running on other OS platforms.

We really need your help identifying bugs! Much of this platform will ultimately be part of the new CentOS 7 and RHEL 7 builds. If you happen to stumble upon problems, particularly in FreePBX which now is dependent upon a new version of PHP and the new MariaDB database engine which replaced MySQL, please post a comment on the PIAF Forum AND open a bug ticket in the FreePBX Issue Tracker. The PIAF and FreePBX Dev Teams take all bug reports seriously and appreciate your assistance. Enjoy!

Originally published: Monday, June 16, 2014



Need help with Asterisk? Visit the PBX in a Flash Forum.


whos.amung.us If you’re wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our new whos.amung.us statistical web site and check out what’s happening. It’s a terrific resource for all of us.



 

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…

  1. Did you happen to notice who is using someone else’s trademark in their brand name? But we digress. []