We spent a lot of time building Incredible PBX™ for Raspberry Pi™. But, what many developers forget to do is to answer the question: What Can It Do? Today we’ll walk you through all 35 Incredible PBX applications that we’ve managed to squeeze onto the $35 Raspberry Pi. And, you don’t have to pick Raspberry Pi or Incredible Pi™. It’s $35 for the hardware AND this ginormous collection of free software. Our special thanks goes out to the dozens of developers that have spent years building all of these terrific applications. If you’re just getting started, you’ll want to begin by reviewing our Version 3.7 Quick Start Guide or the just released Version 3.11 Quick Start Guide.
Once you have Incredible PBX 3.7 or 3.11 installed and running, read on to learn what you can do with your new toy. Here’s a quick thumbnail. In addition to free Google Voice calling in the U.S. and Canada, Incredible Pi supports 5+ simultaneous calls which is more than ample for most homes and small businesses. And you get virtually everything that a full-blown PBX offers: voicemail, music on hold, call forwarding and follow-me, IVRs and AutoAttendants, call blacklists, and even a preconfigured, rock-solid Linux firewall with IP address whitelisting. But, what separates Incredible PBX from the pack is its 35 bundled, preconfigured applications. You’d be hard pressed to add them to any commercial PBX without also giving them your new car. So, from A to Z, meet the Incredible PBX “Fab 35” for the $35 Raspberry Pi…
Call our demo Raspberry Pi (1-843-284-6844) and take it for a spin to judge the quality for yourself.
1. AsteriDex. A MySQL-based address book that can be managed inside the FreePBX® GUI: Other -> AsteriDex. Can be used for CallerID lookups with CallerID Superfecta, e.g. unpublished cell phone numbers of your friends. Can be used for Speed Dials by embedding 3-digit Dial Codes in each entry. Dial 00 + 3 digits to connect. Use 000 with Incredible PBX 3.11. Can be used for Speech-to-Text Calling by Name. Dial 411, say the name of an entry in your AsteriDex database, and press pound (#). Or access AsteriDex with a browser and click on any entry to place a call after designating an extension on your system to handle calls placed with AsteriDex. Click-to-Dial Bug Fix for 3.3 here. No patch required with 3.5 or later releases.
2. Asterisk Info. Accessible in FreePBX GUI: Reports -> Asterisk Info. Displays Asterisk® SIP, IAX, and Google Voice/Jabber Connections, Registrations, Active Channels, Peers, and much more.
3. Blacklist. Block Annoying Callers, Ex-Spouses, and Anonymous Callers by simply entering the numbers to block and checking the Block Anonymous box. Accessible in FreePBX GUI: Admin -> Blacklist.
4. CallerID Superfecta. Open-source app that provides CallerID name lookups from dozens of sources. Accessible in FreePBX GUI: Other -> CID Superfecta. Choose Default setup. Then choose the desired lookup sources. Select the order of the lookups. First hit wins. Also includes testing facility to assist in choosing quickest and best lookup sources.
5. CallWho. Speech-to-Text Dialing in conjunction with AsteriDex database. Dial 411 and say the name of the person or company to call. Press pound (#). Looks up names by firstname, lastname AND lastname, firstname. For certain names like Katherine, you may need to add duplicate AsteriDex entry for Catherine since CallWho uses soundex codes for lookups. Watch Asterisk CLI to see what CallWho thinks you said. Then make appropriate additions to AsteriDex.
6. CDR Reports. Call Detail Reports of various flavors to show incoming and outgoing calls from Incredible PBX. Accessible in FreePBX GUI: Reports -> CDR Reports. Includes Boolean searches, call graphs, and CSV data exports.
7. Config Edit. A web-based editor to manage Asterisk configuration files that are “safe” to edit and won’t be overwritten by FreePBX reloads. You still need to be very careful. Accessible in FreePBX GUI: Other -> Config Edit.
8. Email and TTS Announcements of IP Addresses. For those lacking a monitor, you now can totally manage Incredible Pi using a web browser from any PC or Mac. But, to access Incredible Pi via SSH (#16 below), you’ll need to know the DHCP-assigned IP address. We provide two ways to obtain it. First, you can plug in a set of earbuds when you boot Incredible Pi, and the system will tell you its IP address at the end of the boot process. With version 3.x, you can carefully edit1 /etc/init.d/freepbx and uncomment line 70 after inserting your actual email address.
There’s another little trick you might want to try. Beginning with the 3.x releases, you can take advantage of Bonjour to access your server via SSH using firstname.lastname@example.org. It also works with a browser to access the FreePBX GUI: http://incrediblepbx.local. So you no longer need an IP address to gain access.
9. Feature Codes. Incredible Pi includes an expandable and tailorable list of Feature Codes that can be used from phones connected as extensions on your system. The 50 predefined Feature Codes are accessible in the FreePBX GUI: Admin -> Feature Codes. Here’s the default list:
10. Follow Me and VmX Locater™. Two very sophisticated FreePBX call forwarding applications that provide enormous flexibility in determining how incoming calls to various extensions should be routed. It is accessible in the FreePBX GUI: Applications -> Follow Me and also through the ARI interface on the web page at the IP address of your server. Here’s a link to the complete tutorial.
11. Gmail SMTP Relay. If your ISP blocks downstream mail servers, it means your server won’t be able to send email messages directly to recipients. Not to worry! Just run the /root/use-gmail-smtp-relay script to reconfigure SendMail to use any Gmail account as an SMTP relay host. Thank you, Comcast!
12. Google News by Phone. Need a quick news update? Pick up any phone on your system and dial 951. Or you can offer it to callers by leaving nv-ivr as the default inbound route for your Google Voice trunks. Choose 1 from IVR menu.
13. Google Stocks by Phone. Keep up with your favorite stocks. Dial 950 and say the name of the company you’d like to track. For best results, use phonetic words for the stock symbol letters. For example, Apple would be Alpha, Alpha, Papa, Lima. Also works from the IVR menu. Just press 3.
14.Hotel-Style Wakeup Calls. Works exactly like the wakeup calls in your favorite hotel. Pick up any phone on your system and dial *68. Includes snooze. Configuration available through FreePBX GUI: Other -> Wake Up Calls to let you schedule wake up calls for others using designated extensions.
15. Interactive Voice Response (IVR) System. A full-featured, menu-driven IVR editor is included in FreePBX: Applications -> IVR. We’ve included a sample to get you started. Just click on nv-ivr to display its settings. You can delete and add options to your IVRs in seconds. The sound file that you play to introduce your IVR need not include all the available choices. We call this a Stealth AutoAttendant because callers need not know that an IVR is even available. Here’s how we’ve actually reconfigured the demo IVR that you can reach by dialing 1-843-284-6844. You’ll note that some of the IVR selections have been removed, and a 0 option has been added to access the new Conference Bridge in version 3.3 and beyond.
16. JAVA SSH Web Client. No external SSH app is required to access your server. You can log into your Incredible PBX 3.7 server via SSH from within the FreePBX GUI: Admin -> Java SSH. Disregard the maint login instructions. That’s for PBX in a Flash servers.
17. Music on Hold Management. You can easily manage your Music on Hold collection within the FreePBX GUI: Settings -> Music on Hold. MP3 files are not recommended on the Raspberry Pi because of performance issues. So use WAV files with Sample Rate: 8 KHz, Bit Depth: 8 bits, and Channels: 1. Here’s how to convert any MP3 file to WAV for use with Asterisk: sox sample.mp3 -c 1 -r 8000 sample.wav.
18. phpMyAdmin. Manage all of your MySQL databases from within the FreePBX GUI: Other -> phpMyAdmin. phpMyAdmin is one of the best database management tools in the business.
19. PPTP Virtual Private Networking. Quickly enable the PPTP VPN client on Incredible Pi to securely access all of the resources on any existing PPTP VPN. To set up a PPTP VPN, read the Nerd Vittles tutorial. To enable the Incredible Pi PPTP VPN client, edit /etc/ppp/peers/my-pptp-server and insert your credentials. Run rcconf as root and activate pptp and pppd-dns. Then reboot.
20. Reminder Scheduling by Phone or Web. Telephone Reminders are awesome even if we did write it. To schedule a reminder or recurring reminder, pick up any phone and dial 123. You can also schedule and manage reminders within the FreePBX GUI: Other -> Reminders. A password can be added by uncommenting the 123,n,Authenticate line and changing the default entry in /etc/asterisk/extensions_custom.conf. Bug Fix for 3.3 here. No patch required with 3.7.
21. Ring Groups. Ring Groups allow you to Ring a Group of extensions by dialing a certain number. You also can specify a Destination when nobody answers, e.g. an IVR or a voicemail account. Add, Delete, and Manage Ring Group entries within the FreePBX GUI: Applications -> Ring Groups.
22. SAMBA Windows Networking. If you’re a Microsoft Windows fan and use Windows Networking, it’s easy to add Incredible Pi as a note on your network. While logged into your server as root, set up a SAMBA password for user root: smbpasswd -a root. Edit /etc/samba/smb.conf and set the appropriate Windows workgroup. Run rcconf as root and activate samba. Then reboot.
23. SMS Dictator. Pick up any phone and dial 767 (S-M-S). Dictate an SMS message to deliver. When prompted, say the name of someone in your AsteriDex database whose phone number has SMS capability. Before this will work, edit /etc/asterisk/extensions_custom.conf and add your Google Voice credentials (GVACCT and GVPASS) in ext. 767.
24. SMS Message Blasting. Send out SMS messages to a group of individuals with this handy script. Log into your server as root. Edit /root/smsmsg.txt and insert the SMS message you wish to send. Edit /root/smslist.txt and add either phone numbers or email addresses with (optional) names of the recipients. Run the script to send the messages via SMS for phone numbers or via SendMail for email entries: /root/smsblast.
25. Speed Dial with AsteriDex (00+). Assign a 3-digit Dial Code in AsteriDex for each of your contacts, e.g. the telephone keypad numbers matching the first three letters in a contact’s name like 263 for American Airlines. Then, to call that contact with Speed Dial, dial 00263 using any phone.
26. Stealth AutoAttendant. Create a generic recording to thank callers for contacting you: Admin -> System Recordings. Or just use our generic welcoming message: nv-GenericWelcome. Create an IVR using one of these recordings as your Announcement message. Create an IVR menu of features on your PBX that you want to enable for “those in the know.” Make this IVR the Inbound Route destination for one or more of your Trunks.
27. Status Reporting for FreePBX. Within the FreePBX GUI, you can get a real-time display of how your server is functioning: Reports -> FreePBX System Status.
28. Status Reporting for Incredible PBX. Whenever you log into your server, you’ll get a status snapshot of how your server is functioning. You also can run it at any time with the command: status. Check it regularly. Clean out your mail often by typing: mail. Check the size of your log files: ls -all /var/log. And be alert to low memory or disk conditions. Memory can usually be restored to sane levels by clearing the cache: /root/clear-cache.
29. System Recordings. FreePBX includes a facility to create recordings and integrate them into the FreePBX GUI: Admin -> System Recordings. You can either import a recording or create a new one by selecting an extension on your system and then by dialing *77 from that extension.
30. Time of Day. We’ve added a Time of Day feature that mimics the old Ma Bell system. From the default IVR, choose option 4. You can integrate this into your IVRs by adding Custom Destination -> Time as an IVR option.
31. Travelin’ Man 3 WhiteLists. We strongly recommend that you always run Incredible PBX behind a hardware-based firewall with no Internet port exposure to your server. But, for those with telephones at remote sites, we appreciate that sometimes this isn’t always possible. So your server includes a preconfigured Linux firewall, iptables, that is preconfigured to block access except for private (non-routable) networks and trusted VoIP providers. You can add additional safe IP addresses and FQDNs using the Travelin’ Man 3 tools included in the /root directory. Before using any of these tools, please read the Travelin’ Man 3 tutorial.
32. Voicemail Delivery by Phone or Email. FreePBX includes all of the necessary tools to let you manage voicemail on your server. For each FreePBX extension, you can determine whether to enable voicemail and specify notification options as well as how the voicemails can be retrieved, either by phone (*98), email, or text message. You can also specify whether incoming voicemails should be deleted after sending them to an email address. You obviously would want to test this throughly before implementing it to make certain the voicemails arrive reliably.
33. Weather by Zip Code (NOAA). Get the latest weather forecast for almost any zip code in the United States courtesy of the National Weather Service. Dial 947 (Z-I-P) and key in the 5-digit zip code desired.
34. Worldwide Weather by Phone (Weather Underground). You’ll need a free Weather Underground API key to use this one. Once you have it, insert it on line 21 of nv-weather-wunderground.php in /var/lib/asterisk/agi-bin. Now you can get what we think are the best worldwide weather forecasts in the business. Dial 949 and say the name of the city and state or, for worldwide weather forecasts, say the name of the city and country.
35. Worldwide Weather by Phone (Yahoo). Get the latest weather forecast for almost any city in the world. Dial 948 and say the name of the city and state or, for worldwide weather forecasts, say the name of the city and country. Also works from the IVR menu. Just press 2.
36. BONUS: Conference Bridge. If you’ve installed version 3.3 or later, there’s an awesome bonus application, a full-featured Conference Bridge. We’ve tested it with up to 9 callers chatting away. If you have the Internet bandwidth (100K per caller) to support it, you’re in for quite a treat. Just point a trunk at nv-ivr and tell callers to call the number and press zero to join the conference. Then enter 1234 when prompted for the conference PIN. For phones connected directly to Incredible PBX, just dial C-O-N-F to join the conference. Complete details are available in the 3.7 Quick Start Guide.
37. BONUS 3.2 App: SysInfo. The popular SysInfo application has been added in FreePBX Reports.
38. BONUS 3.2 App: Bluetooth Proximity Detection. The modules and code required to support Bluetooth Proximity Detection and forward your calls to your cell when you’re away has been added. Read the documentation. Insert your credentials in /etc/proximity. Then activate the proximity monitor by uncommenting the command in /etc/crontab.
40. Incredible Fax for 512MB Raspberry Pi. The complete tutorial is available here.
41. Just Released: Incredible PBX 3.11. Complete tutorial available here.
Originally published: Monday, September 17, 2012
Astricon 2012. Astricon 2012 will be in Atlanta at the Sheraton beginning October 23 through October 25. We hope to see many of you there. We called Atlanta home for over 25 years so we’d love to show you around. Be sure to tug on my sleeve and mention you’d like a free PIAF Thumb Drive. We’ll have a bunch of them to pass out to our loyal supporters. Nerd Vittles readers also can save 20% on your registration by using coupon code: AC12VIT.
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 both for us and for you.
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…
- To configure some of the Incredible PBX apps, you are instructed to edit a specific config file. Some of these files are not accessible using Config Edit. This is our shorthand way of saying: (1) log into your server via SSH as root using your root password and (2) edit the specified file using a text editor, e.g. nano -w filename and (3) save your changes to the file: Ctrl-X, Y, then Enter and (4) logout of your server. [↩]