We began our 15-minute adventure with a turnkey install of Asterisk onto either a $199 Everex gPC2 or a Dell SC440 or T100 using a fully-customized version of PBX in a Flash. If you haven't yet read the first article, start there. In Part II, 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 the new fax addition to this build as well as adding RAID 1 redundant drive support to your new gPC2 server (not the Dell) 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. If you'd prefer the easy way, log into your new server as root and type: /root/usbformat.sh. That's it. Your flash drive is now ready to make automatic backups of your entire system every Sunday night. Let's kick off one backup just to be sure everything is working. Log into your server as root and type /etc/cron.weekly/disk-backup.cron. Now go have a cup of coffee. 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 images 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 system 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 edit /root/install-cepstral. Delete the current contents and substitute the following code:1
wget http://downloads.cepstral.com/cepstral/i386-linux/ ↵
tar -zxvf Cepstral*
echo /opt/swift/lib > /etc/ld.so.conf.d/cepstral.conf
tar -zxvf app_swift-1.4*
cp swift.conf.sample /etc/asterisk/swift.conf
chown asterisk:asterisk /etc/asterisk/swift.conf
ln -s /opt/swift/bin/swift /usr/bin/swift
sed -i 's|David-8kHz|Allison-8kHz|' /etc/asterisk/swift.conf
asterisk -rx "core show application swift"
echo "Installation completed. "
echo "To purchase a license, go here:"
echo "Choose US English, Allison-8kHz, Linux."
echo "To register your installed copy of Cepstral, type: swift --reg-voice"
Now save the script and then run it: /root/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. The PBX in a Flash Software Update Service continues to be a free option on all PBX in a Flash systems until November 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 another 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. NOTE: There's no need to run update-source after installing the Orgasmatron II build. All of the updates already are included in the ISO image you downloaded.
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:
- The Ultimate VoIP Fax Machine
Orgasmatron II now incorporates the original nv-Fax application for sending and receiving faxes using your new Asterisk system. Every incoming call is screened for a fax tone. If it's detected, the fax is received, converted to a PDF document, and emailed to the email address you set up in Part I of this article. You also can convert any document to a fax by simply faxing it to the F-A-X extension on your system. And, when you need to send a fax, just save the document in /tmp with a PDF file extension and the number to which the fax should be routed. Then pick up any phone on your system and dial F-A-X-I-T. Specify the matching destination phone number, and your fax will be on its way. For complete documentation, click on the link above.
- 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/. You now can import all of your Microsoft Outlook contacts as well. Just 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.3 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. First, create an extension 501 on your system if it doesn't already exist. 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 or 1.6. Cepstral can be installed using the directions below with Asterisk 1.4. 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
After logging in as root, type install-cepstral to install Cepstral. Accept all the defaults except create the missing directory when prompted by the install script to do so. 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. 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 disabled 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. To start SAMBA, type service smb start. 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. For more setup tips and to configure SAMBA for automatic startup on boot, click on the link above.
- Linux Firewall
The IPtables firewall is enabled by default in all PBX in a Flash systems. For this build, we have disabled SAMBA access to your server. To enable it, log into your server as root, and edit /etc/sysconfig/iptables by adding the following three lines just above the COMMIT line at the end of the file:
-A INPUT -p udp -m udp --dport 137:138 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 139 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 445 -j ACCEPT
Then issue the following command to restart SAMBA:
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:
More Good News with the Everex gPC2. From the "Learn Something New Every Day Department," this newsflash. 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.
Some Recent Nerd Vittles Articles of Interest...
- Join the following line whenever you encounter this character: ↵ [↩]