We began our 15-minute adventure last week with a turnkey install of Asterisk® onto a $199 Everex gPC2 using a fully-customized version of PBX in a Flash. If you haven't yet read the first article, start there. Today we want to cover what components are included and walk you through using most of them. When we're finished, you'll have a good idea why PBX in a Flash is not only different but also a quantum leap forward in the turnkey IP telephony marketplace. We'll also cover adding RAID 1 redundant drive support to your new server for about $40.
Putting Your Backup System Into Operation. Hopefully, you heeded our recommendation and purchased a $20 4GB USB flash drive to store backups of your new PBX in a Flash system. Cheap insurance! Now let's put it into production. In the /root folder of your new system, you'll find a PDF with complete documentation for the new Mondo Rescue backup system. If you flip to Appendix A, it will walk you through formatting your new flash drive for use with the backup software. Basically, you're going to delete the existing partitions on the drive, repartition it as a FAT32 partition (don't use the existing partition even if it says FAT32!!), and then reformat the drive. It takes under a minute to do it all. Once you're finished, let's initiate a backup just to be sure everything is working. Log into your server as root and type /etc/cron.weekly/disk-backup.cron. When the command prompt returns in about 30 minutes, type /root/usbcheck.sh to get a listing of the files on your USB flash drive. Now you can sit back and relax knowing that every Sunday night a new full system backup will be loaded onto your flash drive. Should something go horribly wrong with your main drive down the road, it's a simple matter to burn CDs of the ISO backup and reload everything, the same process you used to build your new system in the first place. Remember, we provided you a Mondo Rescue backup to build your system from ours so you know it works. For us at least, having automatic backups of your data is a critical component in any computer system, particularly your entire telephone system. While Asterisk aggregations are a dime a dozen these days, no one else has implemented any backup solution except PBX in a Flash.
Text-to-Speech on Steroids. The next thing you need to do is install Cepstral with Allison on your system. This gives something close to perfect text-to-speech capability for your entire phone system for under $25. And, yes, you can try it out first without spending a dime. Log into your server as root and type install-cepstral. Accept the defaults except create the missing directory when prompted. You're done. That was hard wasn't it. We'll test it out in a few minutes.
PiaF Software Update Service. At least for now, the PBX in a Flash Software Update Service continues to be a free option on all PBX in a Flash systems so by all means use it to keep your system current, bug-free, and secure. Log into your server as root and type update-scripts. Once the new scripts are loaded onto your system, type update-fixes. Yes, you can build an Asterisk system from many other ISO distributions. But you won't find another one that can keep your system current and secure without starting all over with a new ISO install. And when you want the latest and greatest version of Asterisk without missing a beat, that's easy, too. Just type update-source and have a cup of coffee while your system is upgraded. And don't forget to run update-fixes one more time to clean up any mess created by the upgrade.
Help at Your Fingertips. And, what if you forget all of these commands down the road and you're too lazy to pull out the documentation? Not to worry! Log into your server as root and type help-pbx.
What's Next? Now that you have a stable, secure, and up-to-date server, let's have some fun. We've loaded and preconfigured most of the Nerd Vittles applications in this build so all you have to do is learn the numbers to dial to use most of the applications. Here's a quick thumbnail sketch for each of the applications:
- AsteriDex RoboDialer and Telephone Directory
This app gets you a phonebook, a web-based dialer using a browser or your cellphone, and a CallerID lookup source when used in conjunction with Ultimate CNAM. To add and update entries or lookup numbers, point your web browser to the IP address of your server: http://ipaddress/asteridex4/. For cell phone access, point the web browser on your cellphone to the public IP address or fully-qualified domain name of your server: http://publicIPaddress/cellphone/. Click on the link above for complete documentation and security suggestions.
- Telephone Reminders 4.0 with Support for Recurring Reminders and Web-based TTS Reminder Messages
This app lets you schedule reminders for future events by telephone (dial 1-2-3) or with a web browser (http://ipaddress/reminders/). When the appointed date and time arrives, Asterisk swings into action and places a call to the number you designate to deliver a customized reminder message. Recurring reminders (daily, weekday, weekly, monthly, and annual) also are supported. And the text-to-speech web interface lets you schedule and deliver reminders using either Flite or Cepstral-generated messages with any web browser. For more info, click on the link above.
- NewsClips for Asterisk featuring Dozens of Yahoo News Feeds (TTS) - Dial 5-1-1
- Weather Reports by Airport Code (TTS) - Dial 6-1-1
- Weather Reports by ZIP Code (TTS) - Dial Z-I-P
- Worldwide Weather Forecasts (TTS) - Dial 6-1-2
- MailCall for Asterisk: Get Your Email By Telephone (TTS)
This app reads your emails to you over the telephone. Some setup is required to plug in information about your email account. Once configured, dial 5-5-5 to retrieve your messages. Click on the link above for setup instructions.
- TeleYapper 4.0 Message Broadcasting System - Dial M-S-G (licensed for non-commercial use only!)
- CallWho for TTS Retrieval and Dialing of Entries in the AsteriDex Database (TTS)
After entering contacts in AsteriDex, run http://serverIPaddress/asteridex4/dialcode.php to populate the dialcodes. Then dial 4-1-2 and enter the first three letters of anyone in your AsteriDex database to place a call.
- TFTP Server with preconfigured setups for 15 Aastra 57i SIP telephones - See setup instructions in last week's article
Of course, there are literally hundreds of things you can do with your PBX in addition to running the Nerd Vittles applications. Here's a short list of some of our favorites with some tips to get you started. The best source of information for more detail is our original article on PBX in a Flash 1.2 and the PBX in a Flash Forum.
- Stealth AutoAttendant with Welcome and Application IVRs
Whenever an incoming call comes into your PBX, a generic greeting will play. If no button is pressed on the caller's phone, the call then will be routed to a ring group (700) for all of the extensions set up in that ring group. If no one answers, the call will be sent to the voicemail box for extension 701. While the greeting message is playing, the caller can press a digit on their phone to activate a hidden option in the Main IVR. As delivered, the only one that works is 0. This presents the caller with a list of Nerd Vittles apps from which to choose. You can add other options by modifying the Main IVR settings in FreePBX. To try out the Main IVR from any extension on your system, dial 7-7-7.
- Key Telephone Support Using Park and Parking Lot
Most PBXs do not support shared line appearances like the old key telephones from Ma Bell. With these phones you could answer a call, place it on hold, and then someone else could pick up the call by pressing the blinking light on their phone. Our Aastra phone setup does much the same thing except, instead of placing a call on hold, you press the Park button. The parked extension number then will be read to you by Allison (starting with 71). Anyone else on your system can retrieve the parked call by pressing the ParkLot button on their Aastra phone and selecting the call to be retrieved by CallerID. Or, if the recipient knows the parking lot extension (e.g. 71), the recipient can pick up any phone and dial that extension number to retrieve the call.
- Intercom/Paging Support
The Aastra phone setup for PBX in a Flash fully supports intercom calls and paging by pressing the ICom button on the phone. For more information, click Setup, Paging and Intercom from within the FreePBX web interface.
- Bluetooth Proximity Detection with Automatic Call Forwarding to Cell Phone
Your system is preconfigured to support a USB Bluetooth dongle. No additional software installation is required. When properly configured, this lets you automatically forward your calls to your cellphone just by leaving your home or office with your Bluetooth-enabled cellphone. When you return, your calls will magically begin ringing on your local extension again. Click the link above for setup instructions.
Direct Inward System Access lets you call into your PBX and get dialtone to make an outbound call. To use it, you typically would add it as a hidden option on your IVR with a very secure password. We have preconfigured DISA support on your server. Just be sure you change the password to something very secure before activating it. To change the password, click Setup, DISA, DISAmain in FreePBX. Then save your changes and reload the Asterisk dialplan.
- Blacklisting with Web and Telephony Interfaces
To block future calls from the last person who called you, dial *32. To block calls from a specific phone number, dial *30. To remove a number from the blacklist, dial *31. You also can use FreePBX to blacklist certain numbers. Just click Setup, Blacklist to access the web interface.
- CallerID Name Lookups from 8 Providers
Most telephony providers reliably pass CallerID numbers but discard CallerID name info. With Ultimate CNAM which is preinstalled on your system, you can look up CallerID names from up to 8 different directory providers. To activate it, use FreePBX and click Setup, Inbound Routes, DefaultIncoming. Scroll down to CID Lookup Source and choose Ultimate CNAM from the dropdown box. Save your changes and reload the dialplan. For complete documentation, consult cnam_user_guide.pdf in the /root folder on your server. To choose the providers to use for the lookups, log into your server as root and type: cnam-config.pl
- Weekly Automated System Backups to a Flash Drive
See the first section of today's article for the one-minute setup instructions.
- One Touch Day/Night Service
With our Aastra phone setup, there is a DayNite button that toggles your system between Day and Night operation. As configured, the Night option transfers all calls to voicemail for extension 701. The Day option routes all incoming calls through the Main IVR which routes calls to the 700 Ring Group on timeout. To activate Night service from an Aastra phone, just press the DayNite button. To deactivate Night service, just press the button again. You also can dial *28 from any phone on your system to toggle Day/Night mode.
- Music on Hold
Royalty-free music on hold is provided as part of the basic Asterisk install. Additional music can be added through the Music on Hold option in FreePBX. WAV files must be PCM Encoded, 16 Bits, at 8000Hz. See this thread for assistance. For other royalty-free and free music on hold, start here, choose Creative Commons for the License Type, and then click Go.
- Voicemail with Email Delivery of Messages and Pager Notification
All of these settings are performed within FreePBX for each extension. Choose Setup, Extensions, and pick one of the extensions you already have created. Make certain that Voicemail Status is enabled. Then enter a valid email address and pager address. To include the voicemail as an attachment in the delivered email message, set Email Attachment to Yes. To include the CallerID in the voicemail message, set Play CID to Yes. To include the date and time of the call, set Play Envelope to Yes. To delete the voicemail message from the system after emailing it, set Delete Vmail to Yes. Don't ever do this until you're sure it's working reliably! If you want the option of calling back the caller when you retrieve your voicemail message by phone, set VMoptions to callback=from-internal. Submit your changes and reload the Asterisk dialplan to put the modifications into effect. If the emails are not delivered, then it may be because your ISP is blocking downstream SMTP traffic. To reconfigure your server to use gMail or Comcast as your SMTP host, click on one of the links.
- Voicemail Blasting
This feature allows you to record a message and distribute it via voicemail to one or more extensions without actually calling the users. We've already configured extension 500 to send voicemail blasts to extensions 701 and 702. You can adjust the destinations in FreePBX by choosing Setup, Voicemail Blasts, Vmail (500). You also can add additional extensions to handle voicemail blasts to a different group of phones.
- Cell Phone Direct Dial
There are two ways to make a cellphone an integral part of your PBX. The first involves setting up a specific extension for each cellphone and forwarding incoming calls to that extension to your cellphone. We've created extension 501 to show you how it's done. Once the extension is created, simply log into your server as root and issue a command like this where 6781234567 is your actual cellphone number:
asterisk -rx "database put CF 501 6781234567"
When callers dial 501 on your system, your cellphone will automatically ring. Another option is to use FreePBX's Follow Me function under Setup. With this option, you can specify multiple destinations for incoming calls to a specific extension. Point to the Ring Strategy option and review the available choices. Choose the one that best meets your needs. Then enter the numbers to be called. Numbers outside your PBX should be in the format 6781234567# and must match your outbound dialing rules. You also can choose the time to attempt the call and what to do if no one answers. Very slick!
- Call Forward: All, Busy, No Answer
While you can certainly use FreePBX's Follow Me functionality to accomplish any flavor of call forwarding, you also can dial codes from any extensions to activate call forwarding. To activate Call Forwarding All, dial *72; for Call Forwarding Busy, dial *90; for Call Forwarding No Answer, dial *52. To deactivate Call Forwarding All, dial *73; for Call Forwarding Busy, dial *91; for Call Forwarding No Answer, dial *53. To deactivate Call Forwarding All from a different extension, dial *74; for Call Forwarding Busy, dial *92. You also can activate and deactivate Call Forwarding from any Aastra phone using our default setup.
- Call Waiting
To activate Call Waiting from any extension (which is the default), dial *70. To deactivate Call Waiting, dial *71.
- Call Pickup
To pickup a call ringing on another extension, dial **.
- Zap Barge
To barge into an existing call, dial 888.
- Call Transfer: Attended and Blind
For attended call transfers where you can remain on the line until the other party answers, dial *2. For unattended call transfers, dial ## and then the number to which the call should be transferred.
- Dictation Service with Email Delivery
Before using FreePBX's dictation service, you must activate Dictation Services for the specific extension to be used. Using FreePBX, go to Setup, Extensions, and click on the desired extension. Scroll down to the Dictation Services section of the form and enter your email address, the format of the sound files to be used, and change Dictation Service to Enabled. Save your settings and reload the dialplan. Then you can dictate your message by dialing *34. Once you finish your dictation, you can email it to your email address for this extension by dialing *35.
- Do Not Disturb
To activate Do Not Disturb on any extension, dial *78. To deactivate Do Not Disturb, dial *79. There's also a button to accomplish the same thing with our Aastra phone setup.
- Phonebook Dial by Name - Dial 4-1-1
- VoiceMail Options
To retrieve your voicemail from any phone, dial *97. To retrieve voicemail for a different extension, dial *98 or *98701 where 701 is the extension desired. To leave a voicemail message for any extension with voicemail enabled, dial *701 where 701 is the extension desired.
- Speed Dial
To set up a user speed dial entry, dial *75. To call any previously established speed dial entry, dial *0 plus the speed dial number. To create or modify speed dial entries in FreePBX, click Tools, Asterisk Phonebook. You also can import entries from a CSV-formatted file.
- Flite and Cepstral Text to Speech (TTS)
Flite TTS is installed by default with all PBX in a Flash systems using Asterisk 1.4. The Asterisk developers have broken Flite in the Asterisk 1.6-beta and refuse to fix it. Cepstral can be installed using the directions below with Asterisk 1.4 and 1.6-beta. To use Flite with Egor in your dialplan, here's the syntax:
exten => 444,5,Flite("Hello World.")
To use Cepstral with Allison in your dialplan, use this syntax:
exten => 444,5,Swift("Hello World.")
- One-Click (almost) Cepstral TTS Install with Allison
If our code didn't have a bug, you could have typed install-cepstral to install Cepstral. Instead, you need to type the following three commands:1
sed -i 's|Cepstral_Allison-8kHz_x86-64|Cepstral_Allison-8kHz_i386|'↵
sed -i 's|x86-64-linux|i386-linux|' /usr/local/sbin/install-cepstral
For detailed instructions on reconfiguring Nerd Vittles apps to use Cepstral instead of Flite, see this article. No software needs to be reinstalled. Simply change the dialplan and PHP app settings to use Cepstral as explained in the article. For more background on Cepstral, read this article. To register your newly installed Allison voice, go to this link. Be sure you select U.S. English language, Allison-8kHz voice, and Linux platform before you check out, or it's money down the drain. For 20% off your Cepstral license registration, use promo code “REALLUSIONTTS” when you check out. Write down the name, company (optional), and key that is issued once you fill in the blanks. Then log into your server as root, and type
swift --reg-voice. Fill in the blanks with the information you wrote down above, and you're all set.
- Windows Networking with SAMBA
Windows Networking with SAMBA is enabled by default in this special build. The default workgroup is "workgroup." To change the workgroup, log into your server as root and edit /etc/samba/smb.conf. Then restart SAMBA: service smb restart. You then can connect to your server from any computer that supports Windows networking using root as your username and whatever root password you created.
- Linux Firewall
The IPtables firewall is enabled by default in all PBX in a Flash systems. For this build, we have enabled SAMBA access to your server. To disable it, log into your server as root, and issue the following commands:
cp /etc/sysconfig/iptables.nosamba /etc/sysconfig/iptables
service iptables restart
WebMin is often described as the Swiss Army Knife of Linux. It provides a terrific web interface to Linux.everything. It is enabled by default in this install. To access it using a web browser, go to http://serverIPaddress:9001/ and login as root with the password you set up above for WebMin access. For complete documentation, go here.
- PBX in a Flash Software Update Service To Keep Your System Current
To load current fixes for this build of PBX in a Flash, log into your server as root and type the following commands:
To upgrade your system to the latest version of Asterisk 1.4, log into your server as root and type the following commands:
More Good News with the Everex gPC2. From the "Learn Something New Every Day Department," this news just in. The Everex gPC2 has built in hardware SATA RAID 1 support that actually works. What you'll need to get this going is a second 80GB hard disk to match the one delivered in your original box. Total cost: about $40. If one disk fails, the other kicks in automatically. Here's a link to purchase your drive. And here's the link that'll tell you how to get everything set up. Before you begin, make certain that you have a current ISO backup on your flash drive so that you can restore your system once the RAID setup is up and running. See the top of this article for the backup and testing procedure.
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...
- Join the text of a following line when you encounter this character: ↵ [↩]