Home » Search results for 'sip uri' (Page 48)

Search Results for: sip uri

The Most Versatile VoIP Provider: FREE PORTING

Googlified Messaging: Asterisk’s New Best Friend

Lips from GoogleWithin the past few months, we've added several hundred million free phone numbers to our Asterisk® PBX by creating a Skype Gateway as well as Gizmo Backdoor Dialing and ENUM interfaces that didn't cost us a dime. And, today, we turn our attention to Google's recent transmogrification of GrandCentral into Google Voice. More specifically, what we want to do is examine some ways to integrate the Google Voice feature set into our existing Asterisk implementations. The potential benefits are enormous. There's free calling in the U.S., free distribution of inbound calls to multiple phone numbers scattered around the country, free SMS messaging and delivery by email, free transcription of voicemail messages into text-based emails, free conferencing, and free GOOG-411, a voice-activated service that let's you find nearby businesses by saying where you are and what you're looking for. For today, we've set our sights on the Google Voice feature set which is easiest to integrate into existing Asterisk systems: free voicemail message transcription, free calling in the United States, and free GOOG-411 directory assistance. For lack of a better term, we call it... Googlified Messaging™. 😉

Update: The original SIP interface to Google Voice described in this posting no longer works. A new approach that really works is now available on Nerd Vittles at this link.

Integrating Google Voice into Asterisk. If there is a recurring theme to Google Voice, it's this. Google Voice was designed to be a user-friendly, interactive messaging system. Google didn't intend to provide a telephony toolkit for Asterisk developers, but they haven't blocked any functionality either. There's no SIP connectivity in Google Voice... at least that is obvious. Can you spell G-I-Z-M-O? Well, that was the first hint. But a simple call trace revealed a lot more. It appears the entire Google Voice platform is SIP-based which makes it a perfect fit with Asterisk.

Because of the Google Voice design, there's no simple way to use your Google Voice DID for incoming call distribution while also integrating voicemail transcription and outbound calling into your Asterisk dialplan. Why? Because you can't take advantage of the free voicemail transcription service with Asterisk if Google Voice is sending inbound calls all over the countryside. So the real key to unlocking the greatness of Googlified Messaging is having two Google Voice accounts so that each can be used for a dedicated purpose. The first account will be used for outbound functions and voicemail transcription while the second is used to manage and route incoming calls. This is important because, for security reasons, you don't want to reveal your Google Voice number that is being used for outbound calling. Why? Because it is a SIP connection, and your Google Voice phone bill is only protected by a 4-digit PIN. If Google hasn't learned about Fail2Ban, they will soon. As this is written, multiple Google Voice accounts aren't possible unless you had more than one GrandCentral account since only GrandCentral users currently are eligible for Google Voice accounts. But that, too, will change!

For today, let's put aside the incoming call routing and concentrate on the remaining Googlified Messaging functionality. We turn first to Google Voice's free transcription of voicemail messages into text-based messages for email delivery to your desktop PC or cellphone.

Voicemail Transcription Overview. We begin with a cautionary note. Google's new automated voicemail transcription service is absolutely incredible... even if it's not quite perfect. We've tried a couple of messages to evaluate the transcription accuracy, and we'll let you judge for yourself.

Actual Message: "Hi. I was just passing through the airport. I hadn't seen you in a couple years, and I thought you might wanna get together for a quickie. Give me a call."

Googlified Transcription: "hi i was just passing through the airport i hadn't seen you in a couple years and i thought you might wanna get together for a quickie give me a call"

As you can see, the accuracy was pretty good. But there are a couple of problems. First, there's no CallerID name associated with inbound calls. So, if the caller doesn't identify himself or herself (especially if the caller is using a pay phone), you're S.O.L. relying on the transcription. But the message and phone number were accurate. It probably would motivate you to quickly connect to your email account and actually listen to the voicemail to decipher the caller's identity and avoid a missed opportunity. 🙂

Actual Message: "Hi. I've read over your corporate acquisitions and merger paper, and it isn't quite accurate with regard to our position."

Googlified Transcription: "hi i have a red over your corporate acquisitions in merger paper and it is a quite accurate with regard to our position"

This second example is a bit more problematic. The same issues apply from the first example. Plus there's a new wrinkle that could be a show stopper: the Googlification of "isn't quite accurate" into "it is a quite accurate." You'd better hope there was more to the message than this before running off to present your paper. It also highlights the difficulty that automated systems have when deciphering conjunctions such as "isn't" which often are used in conversational speech.

Some might suggest that this demonstrates the Google developers actually have their priorities in order. Get the kinks out of the sex jargon before focusing on exciting subject matter such as conjunctions. 🙄

Bottom Line: Googlified Messaging may be a boon to your sex life, but don't stake your job security on it just yet. Also make certain that your voicemail announcement includes a very emphatic request that callers actually identify themselves and leave a callback number where they can be quickly reached.

Google Voice Design. To integrate free voicemail transcription into Asterisk, what we first must do is turn your Google Voice account into a glorified answering machine and message distribution system. When calls arrive on your Google Voice number, they will immediately trigger a greeting message that says something like this:

Thank you for calling Nerd Vittles. No one is available at the moment to take your call. After the tone, please identify yourself, leave a callback number, and a brief message. Your message will be transcribed and delivered to us. We will get back to you promptly. Please begin speaking after the tone.

Once a voicemail message is received, we want Google Voice to transcribe it and email us both the voicemail message and the transcribed text.

Google Voice Setup. Log into your Google Voice account and click Settings, General. In the Voicemail Greeting section of the form, record your greeting message as outlined above. In the Notifications section, identify the email and SMS addresses for delivery of your voicemail messages. In Voicemail Transcripts, check the option to transcribe voicemails. Now click on the Do Not Disturb check box to forward all inbound calls to voicemail.

FreePBX Setup. Obviously there are numerous ways to integrate this transcription service into Asterisk. If you're using FreePBX, here are a couple of simple ways. First, create a Miscellaneous Destination for Google Voice and provide your Google Voice number in the correct format to match your dialplan. Next, if you use a Ring Group to answer incoming calls, choose your new Google Voice Miscellaneous Destination as the "Destination if no Answer." If you're using an IVR to route calls, then perhaps you'll want to add an option to leave a voicemail and have it transcribed for delivery to your email account.

HINT: For rerouting of Asterisk calls to Google Voice, be sure to use an outbound trunk that supports CallerID pass-through. And configure the trunk with a blank CallerID value in FreePBX. Then the actual CallerID of the incoming call will be passed along to Google Voice and stored as part of the voicemail message.

Connecting the Dots. For the visionaries in the audience, you're probably wondering what it would take to add language translation to transcription. So were we. It raises some interesting questions, and some of our early adopters already have tried it. Suffice it to say, it doesn't work yet. But it wouldn't take much effort to run a transcribed message through Google Translate and spit out a Spanish, French, or German message on the other end. Or vice versa: transcribe a German message and translate it into English for email delivery in an English-speaking country. Exciting times, indeed. Stay tuned!

Free U.S. Calls with Google Voice. At least for now, calls through Google Voice to phone numbers in the United States are free. And the rates are quite reasonable to other countries. It's a penny a minute to Canada and two cents a minute to many other countries whose names don't include the word "island." There are several ways to terminate calls through Google Voice with Asterisk. Here's the only way we've found to place outbound calls and also preserve the message transcription functionality.

Log into your Asterisk server as root and edit extensions_custom.conf in the /etc/asterisk folder. In the [from-internal-custom] context, add one or more entries for people you wish to call. Be sure to make the following substitutions to match your Google Voice credentials:

999 - Extension number to call
9876543210 - Your Google Voice DID
8888 - Your Google Voice PIN
1234567890 - Phone number of person to call

And here's the default entry which should be one continuous entry on one line:

exten =>999,1,Dial(SIP/9876543210@216.239.37.15:5061
,30,mD(wwwwwwwwwwww*ww8888ww2ww1234567890#))

When you finish making all the extension entries desired, save the file. Then reload your Asterisk dialplan: asterisk -rx "dialplan reload"

Google Dialer for Asterisk. Another approach for outbound calling with Google Voice would be to create a simple dialer in your Asterisk dialplan. The idea here is that anyone can pick up a phone and dial *GV (which is *48) to place a call. They then will be prompted to enter the 10-digit number to call. This code would be inserted in the same [from-internal-custom] context, and remember to insert your actual Google phone number and PIN in the dial string and keep the entire Dial command on a single line (which we can't do in this blog's template). Reload the Asterisk dialplan when you're finished.

exten => *48,1,Answer
exten => *48,n,Wait(1)
exten => *48,n,Set(TIMEOUT(digit)=15)
exten => *48,n,Set(TIMEOUT(response)=20)
exten => *48,n,Playback(pls-entr-num-uwish2-call)
exten => *48,n,Read(NUM2CALL,beep,10)
exten => *48,n,Playback(pls-wait-connect-call)
exten => *48,n,Dial(SIP/9876543210@216.239.37.15:5061
,30,mD(wwwwwwwwwwww*ww8888ww2ww${NUM2CALL}#))
exten => *48,n,Hangup

Outbound Trunk Alternative. Since the original article was published, our British colleague, Joe Roper, suggested that we also include instructions for configuring Google Voice as a dial-out trunk (instead of an extension) in Asterisk. The advantage of this approach is that outbound calls can be dialed in the traditional way without interaction with voice prompts. The solution we will outline below lets you place a call from any Asterisk phone by dialing the GV prefix plus a 10-digit number. So, to place a call to President Obama in Washington through Google Voice, you'd dial 48-202-456-1111. Good luck with that, but here's how...

First, log into your Asterisk server as root and edit extensions_custom.conf again. This time, go to the very bottom of the file and add the following code using your Google Voice phone number and PIN. Remember to expand the two-line dial string so it fits on a single line with no spaces! Save your changes and reload the dialplan.


[custom-google-voice]
exten => _X.,1,Dial(SIP/9876543210@216.239.37.15:5061
,30,rD(wwwwwwwwwwwwww*www8888www2wwww${EXTEN}#))
exten => _X.,n,Hangup

Next, open FreePBX with a web browser and choose Setup, Trunks, Add Custom Trunk. Insert the following Custom Dial String on the form and Submit Changes and reload the dialplan:

local/$OUTNUM$@custom-google-voice

Finally, choose Setup, Outbound Routes, Add Route and fill in the following entries on the form:


Route Name: GoogleVoice
Dial Pattern: 48|NXXNXXXXXX
Trunk Seq: local/$OUTNUM$@custom-google-voice

Save your changes and reload the Asterisk dial plan one more time to complete the setup. Now you're all set to call the President whenever the urge strikes: 48-202-456-1111. And, remember, it's a free call... at least for now.

Homework. Google also has introduced a slick new directory assistance service which also is free. We'll leave it to you to take the lesson above and create a GOOG-411 entry in your dialplan. HINT: You choose option 3 instead of option 2 after entering your PIN in the Google Voice menu. Enjoy!

Chapter 2. Google Voice: Is the SIP and Asterisk Honeymoon Over?

Chapter 3. The Return of Googlified Messaging With Free U.S. Calling


 

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...

Introducing PBX in a Flash 1.4: The Lean, Mean Asterisk Machine

It's almost spring. So what better time to introduce version 1.4 of PBX in a Flash. It's chock full of new telephony goodies to whet your appetite for Internet Telephony. Tom King has worked his usual Magic™ to come up with a pair of new ISOs that are nothing short of spectacular. Not only is PBX in a Flash leaner and meaner, but it's now incredibly flexible and even easier to use.

You don't get the kitchen sink in PBX in a Flash ISOs. Instead you get a rock-solid CentOS 5.2 operating system with the latest CentOS kernel on which to build an Internet telephony server that meets your specific needs. Want a 64-bit operating system? We've got it. Prefer to stick with a 32-bit operating system? We've got you covered there, too. Want to experiment with Asterisk® 1.6 and DAHDI? We've got it. Prefer to stick with Asterisk 1.4 and Zaptel for a production environment? No problem. Do you prefer LVM, ext3, or SATA RAID for your disk drives? Well, take your pick. PBX in a Flash 1.4 now supports all of them. For those with a physical handicap, you now can install the complete system with no user intervention by typing ksauto at the first prompt. And, for PBX in a Flash development partners, we've got a 2-CD install set that makes generation of multiple systems with minimal Internet access a reality.

A Better Mousetrap. Asterisk-based LAMP aggregations thankfully are more plentiful today, but we think we have a better mousetrap. Here are a few reasons why? First, PBX in a Flash is the only distribution that is totally source-based with Asterisk compiled from source as part of the install. What that means is when you purchase add-on hardware and it has a problem for some reason, all of the tools are already in place for you to contact the manufacturer or reseller and have them reconfigure or recompile whatever is necessary on your system to get you back in business quickly. It also means that most of our applications are compiled from source on your specific hardware which assures a more reliable and stable software platform on which to build your telephony system.

Second, we don't release PBX in a Flash ISOs every other week. We don't have to. Every time a new security patch is released for Asterisk, the "other guys" have to create a new RPM or ISO to support it. That means your system is vulnerable for weeks or months while that process is underway. In some cases, it means installing a new ISO and starting over. I wish I had a nickel for every time I reinstalled and basically started over with Asterisk@Home or trixbox. With PBX in a Flash, you simply type update-source at the command prompt and your system is brought current without missing a beat. The total downtime for your system is typically under 15 minutes!

Third, PBX in a Flash uses a two-step install process that all but eliminates the ISO obsolescence issues that have plagued other distributions. The PBX in a Flash ISO is used to install either the 32-bit or the 64-bit CentOS 5.2 operating system and kernel. When that process completes, the installer then searches multiple sites on the Internet for our "payload file" which contains the latest, greatest version of Asterisk which is compiled on-the-fly. The payload script also installs FreePBX and many of the customized features that make PBX in a Flash unique. If you need additional functionality, we have an entire web site, pbxinaflash.org, dedicated to add-on scripts. Most of these add-on scripts install without user intervention in under a minute. So... install what you need and skip the BloatWare. Using this design, most bugs are eliminated as well without your having to do much of anything. Translation: More time to enjoy your production-quality VoIP PBX... and less all-nighters!

So today we're proud to introduce the 1.4 release of PBX in a Flash for Linux, Windows, and Macs. It's still the Lean, Mean Asterisk Machine designed to meet the needs of hobbyists as well as business users. Text-to-speech works, Bluetooth works, faxing works. FreePBX 2.5 is rock-solid and much more secure.

And, speaking of security, PBX in a Flash is the only distribution that brings you multiple layers of security out of the box. There's the preconfigured Linux IPtables firewall. And, in addition, there's the latest and greatest version of Fail2Ban which blocks malicious intruders attempting to guess your passwords and break into your system. We also recommend adding a hardware-based firewall/router to block HTTP access to your system unless you really know what you're doing. Does all of this matter? Well, it's your phone bill. Here's a link to our article about a company that recently received an unexpected $120,000 phone bill in the mail. So you decide. If you read nothing else before embarking on your VoIP adventure, read our Primer on Asterisk Security!

As some of our regular readers know, we have been very concerned with the Asterisk development strategy that continues the process of regularly deleting commands and syntaxes with each major version change. Many of us rely upon these commands in building dialplans and vertical market applications for Asterisk so it causes real problems. PBX systems break that used to work. When that happens almost annually, it's a bad thing. One way that we hope to improve the dialogue with the developers is to make it easy for more people to experiment with Asterisk 1.6. Whether you choose our 32-bit or 64-bit ISO, you also have the option to install the latest release of Asterisk 1.6 and get you involved in this process. Otherwise, we might as well look forward to annual train wrecks because of the Asterisk design strategy. You can read all about it here and here.

Getting Started with PBX in a Flash 1.4. Begin by downloading either the 32-bit or 64-bit ISO image for PBX in a Flash. Don't worry. If you try to run the 64-bit install on a system that doesn't support it, it'll just sit there so you've got nothing to lose by trying the Ferrari first. As new locations for ISO downloads come on line, we will add them to the download list. Once you've got the ISO image in hand, use your favorite tool to burn it to a bootable CD. This next step is the most important. Do some reading!! There also are loads of helpful tutorials that are free for the downloading from our support site.

What About Hardware? If you're new to all of this, let us recommend you try either one of Dell's entry-level T100 or T105 PowerEdge servers or one of the newer Intel Atom-based small-footprint PCs or netbooks such as the Acer Aspire One. On sale pricing is typically around $300. You can save an additional 2% plus $5 by using our coupon link in the right margin. These systems are just about perfect for a home or small business telephony server.

Basic Install. Once you have your new system, just insert the CD containing the pbxinaflash.iso and then reboot the machine you wish to dedicate to PBX in a Flash. After reading this tutorial and the initial prompts and warnings, choose an option and press the <Enter key> to begin the installation. If you want to first check the media for corruption, type linux mediacheck and then press the <Enter> key. When prompted, be sure to choose the option that erases all existing partitions and uses the default partition layout. Then choose your time zone and leave the UTC system clock option unchecked. Next choose a root password for your new system. Make it secure, and write it down (not on your shoe). We plan to use this password for virtually everything on your new system. The install process begins. This includes MySQL, Apache, PHP, CUPS, Samba, WebMin, Subversion, SendMail, Yum, Bluetooth support, SSL, Perl, Python, the kernel development package, and much more. In about 15 minutes depending upon the speed of your PC, the machine will reboot. Be sure to eject the CD at this point. You now must have an Internet connection to complete the install so be sure you've plugged in a 10/100 cable if you haven't done so already.

After the reboot, the system will start up with CentOS 5.2, then download and install Asterisk and FreePBX, and search for the necessary installation script and payload file on pbxinaflash.net. If that site happens to be down, the script will go to pbxinaflash.com for the same payload file. Just to repeat, if you don't have Internet connectivity, then the installation cannot complete. When the installation finishes, reboot your system and log in as root. The IP address of your PBX in a Flash system will be displayed once you log in. If it's blank, type service network restart after assuring that you have Internet connectivity and access to a DHCP server that hands out IP addresses. Typing ifconfig should display your IP address on the eth0 port. Write it down. We'll need it in a minute.

Now that you've logged in as root, you should see the IP address displayed with the following command prompt: root@pbx:~/. If instead you see bash displayed as the command prompt and it's not green, then the installation has not completed successfully. This is probably due to network problems but also could be caused by the time being set incorrectly on your server. You can't compile Asterisk if the time on your computer is a date in the past! For this glitch you have to try again. If it's a network issue, fix it and then reboot and watch for the eth0 connection to complete. Assuming it doesn't fail the second time around, the installation will continue. Likewise, if you do not have DHCP on your network, the installation will fail because the PBX will not be given an IP address. Simply type netconfig, fill in the blanks and reboot.

Four Steps to Complete the Install. There are four important things to do to complete the installation. First, from the command prompt, run genzaptelconf. This sets up your ZAP hardware as well as a timing source for conferencing. If you're using additional hardware for your Asterisk system, we recommend removing the 56K modem when you install the cards. This will help avoid interrupt conflicts. Second, decide how to handle the IP address for your PBX in a Flash server. The default is DHCP, but you don't want the IP address of your PBX changing. Phones and phone calls need to know how to find your PBX, and if your internal IP address changes because of DHCP, that's a problem. You have two choices. Either set your router to always hand out the same DHCP address to your PBX in a Flash server by specifying its MAC address in the reserved IP address table of your router, or run netconfig at the command prompt and assign a permanent IP address to your server. Be aware that netconfig no longer is a part of CentOS 5.2. We added it back in as part of the install. If you update your CentOS configuration, you will need to reinstall it by running update-scripts, then update-fixes, and then install-netconfig. If you experience problems with the process, see this message thread on the forum. The third configuration requirement probably accounts for more beginner problems with Asterisk systems than everything else combined. Read the next section carefully and do it now!

Getting Rid of One-Way Audio. There are some settings you'll need to add to /etc/asterisk/sip_custom.conf if you want to have reliable, two-way communications with Asterisk: nano -w /etc/asterisk/sip_custom.conf. The entries depend upon whether your Internet connection has a fixed IP address or a DHCP address issued by your provider. In the latter case, you also need to configure your router to support Dynamic DNS (DDNS) using a service such as dyndns.org. If you have a fixed IP address, then enter settings like the following using your actual public IP address and your private IP subnet:

externip=180.12.12.12
localnet=192.168.1.0/255.255.255.0     

If you have a public address that changes and you're using DDNS, then the settings would look something like the following:

externhost=myserver.dyndns.org
localnet=192.168.0.0/255.255.255.0     

(NOTE: The first 3 octets in the above localnet entries need to match your private IP addresses!)

Once you've made your entries, save the file: Ctrl-X, Y, then Enter. Reload Asterisk: amportal restart. If you assigned a permanent IP address, reboot your server: shutdown -r now.

Be aware that some people experience problems with the externhost approach outlined above. If your provider only gives you a dynamic IP address, you still can use the externip approach above so long as you have a method to frequently verify your IP address. The approach we actually use on our home network is to run a little script every 5 minutes. If it finds that your outside IP address has changed, it will automatically update your sip_custom.conf file with the new address. To use our approach, create a file in /var/lib/asterisk/agi-bin names ip.sh. Here's the code:1

#!/bin/bash
# File to log the IP Address
IPFILE='/var/log/asterisk/externip'
# Your local lan ip block
localnet=192.168.1.0
# Nothing else needs to be changed.
if [ ! -f "$IPFILE" ]; then
echo "creating $IPFILE"
echo first_time_usage > $IPFILE
fi
lastip=`cat $IPFILE`
externip=$(curl -s -S --user-agent "PIAF 1.4"↩
http://myip.pbxinaflash.com | awk 'NR==2')
if [ $externip != $lastip ]; then
# Writes new IP address (if it has changed) to file.
echo "$externip" > $IPFILE
echo "externip=$externip" > /etc/asterisk/sip_custom.conf
echo "localnet=$localnet/255.255.255.0" >>↩
/etc/asterisk/sip_custom.conf
echo "srvlookup=yes" >> /etc/asterisk/sip_custom.conf
echo "nat=yes" >> /etc/asterisk/sip_custom.conf
asterisk -rx "dialplan reload" ;
else
exit 0;
fi
exit;

On line 5, enter the internal subnet for your server as the localnet entry. This is usually 192.168.0.0 or 192.168.1.0. YMMV!

Save the file and give it execute permissions: chmod +x /var/lib/asterisk/agi-bin/ip.sh. Then make asterisk the file owner: chown asterisk:asterisk /var/lib/asterisk/agi-bin/ip.sh.

Finally, add the following entry to the bottom of /etc/crontab:

*/5 * * * * asterisk /var/lib/asterisk/agi-bin/ip.sh > /dev/null

Getting Your Machine Up to Date. Tom King, one of our lead developers, has gone to great pains to make it easy for you to always have a current system. All you have to do is type a few commands, but you do have to type them. So do it now! After logging in as root, type update-scripts to get the latest PBX in a Flash scripts installed on your system. This doesn't run them, it merely makes them available for you to run them. Once you complete this step, you can always review the latest scripting options by typing help-pbx. Now run update-fixes to apply the latest patches to your PBX in a Flash system. When it completes, you're up to date. If you want the latest version of Asterisk, it's easy! Just run update-source. In the case of PBX in a Flash 1.4, you have the latest stable version of Asterisk 1.4 or 1.6... at least for today.

Activating Email Delivery of Voicemail Messages. We've previously shown how to configure systems to reliably deliver email messages whenever a voicemail arrives unless your ISP happens to block downstream SMTP mail servers. Here's the link in case you need it. As it happens, you really don't have to use a real fully-qualified domain name to get this working. So long as the entry (such as pbx.dyndns.org) is inserted in both the /etc/hosts file and /etc/asterisk/vm_general.inc with a matching servermail entry of vm@pbx.dyndns.org (as explained in the link above), your system will reliably send emails to you whenever you get a voicemail if you configure your extensions in FreePBX to support this capability. You can, of course, put in real host entries if you prefer. For 90% of the systems around the world, if you just want your server to reliably e-mail you your voicemail messages, make line 3 of /etc/hosts look like this with a tab after 127.0.0.1 and spaces between the domain names:

127.0.0.1     pbx.dyndns.org pbx.local pbx localhost.localdomain localhost

And then make line 6 of /etc/asterisk/vm_general.inc look like the following:

serveremail=voicemail@pbx.dyndns.org

Now issue the following two commands to make the changes take effect:

service network restart
amportal restart

The command "setup-mail" can be used from the Linux prompt to set the fully-qualified domain name (FQDN) of the mail that is sent out from your server. This may help mail to be delivered from the PBX. One of things mail servers do to reduce spam is to do a reverse lookup on where the mail has come from, checking that there is actually a mailserver at the other end. You can only do this if you have set up dynamic DNS or if you have pointed a hostname at your fixed IP address. Once you have done this, and assuming your ISP is cooperative, then you will receive your voicemails via email if you wish (this is set within FreePBX),and your PBX will email you when FreePBX needs an update. You set this feature in FreePBX General Settings.

If your hosting provider blocks downstream SMTP servers to reduce spam, here's a simple way to use your Gmail account (free!) as your SMTP Relay Host. Then you never have to worry about this again!

Setting Passwords and Other Stuff. Be aware that major security issues are reported from time to time with FreePBX. We strongly recommend that you not use FreePBX admin security alone to protect your system from a web attack. It may compromise root access to your entire server. For this reason, we recommend that you log in as root and immediately run passwd-master after completing the update-scripts and update-fixes scenario. This establishes Apache htaccess security on your FreePBX web interface. After running this conversion utility, you can only log into the FreePBX admin interface with the username maint (not admin) and the password which you establish when you run the utility.

Other passwords can be set in your system with these commands:

passwd... reset your root user password
passwd-maint... reset your FreePBX maint password
passwd-wwwadmin... for users needing FOP and MeetMe access
passwd-meetme... for users needing only MeetMe access
passwd-webmin... for users needing WebMin access to your server (very dangerous!)

There's also an Administration password that you can set in the KennonSoft UI that displays when you point your browser to the IP address of your server. Do NOT use the same password here that you use elsewhere as it is not overly secure.

Configuring WebMin. WebMin is the Swiss Army Knife of Linux. It provides TOTAL access to your system through a web interface. Search Nerd Vittles for webmin if you want more information. Be very careful if you decide to enable it on the public Internet. You do this by opening port 9001 on your router and pointing it to the private IP address of your PBX in a Flash server. Before using WebMin, you need to set up a username and password for access. From the Linux prompt while logged in as root, type the following command where admin is the username you wish to set up and foo is the password you've chosen for the admininstrator account. HINT: Don't use admin and foo as your username and password for WebMin unless you want your server trashed!

/usr/libexec/webmin/changepass.pl /etc/webmin root password

To access WebMin on your private network, go to http://192.168.0.123:9001 where 192.168.0.123 is the private IP address of your PBX in a Flash server. Then type the username and password you assigned above to gain entry. To stop WebMin: /etc/webmin/stop. To start WebMin: /etc/webmin/start. For complete documentation, go here.

Updating and Configuring FreePBX. FreePBX 2.5 is installed as part of the PBX in a Flash 1.4 implementation. This incredible, web-based tool provides a complete menu-driven user interface to Asterisk. The entire FreePBX project is a model of how open source development projects ought to work. And having Philippe Lindheimer's as the Captain of the Ship is just icing on the cake. All it takes to get started with FreePBX is a few minutes of configuration, and you'll have a functioning Asterisk PBX complete with voicemail, music on hold, call forwarding, and a powerful interactive voice response (IVR) system. There is excellent documentation for FreePBX which you should read at your earliest convenience. It will answer 99% of your questions about how to use and configure FreePBX. For the one percent that is not covered in the Guide, visit the FreePBX Forums which are frequented regularly by the FreePBX developers. Kindly post FreePBX questions on their forum rather than the PBX-in-a-Flash Forum. This helps everybody. Now let's get started.

NOTE: PBX in a Flash comes with the IPtables firewall enabled on your system. If this causes problems with access to the FreePBX repository (for loading the FreePBX updates below), you can easily (and temporarily) turn off the firewall. Type help-pbx for assistance. Don't forget to restart the firewall especially if your system has any Internet exposure!

Now move to a PC or Mac and, using your favorite web browser, go to the IP address you deciphered above for your new server. Be aware that FreePBX has a difficult time displaying properly with IE6 and IE7 and regularly blows up with older versions of Safari. Be safe. Use Firefox. From the PBX in a Flash Main Menu in your web browser, click on the Administration link and then click the FreePBX button. The username and password both default to admin. Click Apply Configuration Changes, Continue with Reload, and then Refresh your browser screen. Now click the Module Administration option in the left frame once FreePBX loads. Now click Check for Updates online in the upper right panel. Next, click Download All which will select every module for download and install. The important step here is to move down the list and Deselect Speed Dials and PHPAGI from the download and install options. Once these apps have been deselected, scroll to the bottom of the page and click Process, then Confirm, then Return once the apps are downloaded and installed, then Apply, then Continue with Reload. Now repeat the process once more and do not deselect the two applications, then Process, Confirm, Return, Apply Config Changes, and Continue with Reload. Finally, scroll down the Modules listing until you get to the Maintenance section. Click on each of the following and choose Install: ConfigEdit, Sys Info, and phpMyAdmin. Then click Process, then Confirm, then Return once the apps are downloaded and installed, then Apply, then Continue with Reload. All three of these tools now are installed in the Maintenance section of the Tools tab of FreePBX. One final step, and you're good to go. An update of FreePBX has been released. Click Check for Updates online. Then choose Download and Upgrade for the Core, FreePBX Framework, and System Dashboard modules. Then click Process, then Confirm, then Return once the apps are downloaded and installed, then Apply, then Continue with Reload. You now have an up-to-date version of FreePBX. You'll need to repeat the drill every few weeks as new updates are released. This will assure that you have all of the latest and greatest software. To change your Admin password, click on the Setup tab in the left frame, then click Administrators, then Admin in the far right column, enter a new password, and click Submit Changes, Apply Configuration Changes, and Continue with reload. We're going to be repeating this process a number of times in the next section so... when instructed to Save Your Changes, that means "click Submit Changes, Apply Configuration Changes, and Continue with reload."

Choosing Internet Telephony Hosting Providers for Your System. Before you can place calls to users outside your system or to receive incoming calls, you'll need at least one provider (each) for your incoming phone number (DID) and incoming calls as well as a provider for your outbound calls (terminations). We have a list of some of our favorites here, and there are many, many others. You basically have two choices with most providers. You can either pay as you go or sign up for an all-you-can-eat plan. Most of the latter plans also have caps on minutes so it's more akin to all-they-care-for-you-to-eat, and there are none of the latter plans for business service. In the U.S. market, the going rate for pay as you go service is about 1.5¢ per minute rounded to the tenth of a minute. The best deal on DIDs is from Vitelity. They charge $3.99 a month for a DID with unlimited, free incoming calls. There's a link to the Nerd Vittles discount on this service for PBX in a Flash users below.

Before you sign up for any all-you-can-eat plan, do some reading about the service providers. Some of them are real scam artists with backbilling and all sorts of unconscionable restrictions. You need to be careful. Our cardinal rule in the VoIP Wild West is never, ever entrust your entire PBX to a single hosting provider. As Forrest Gump would say, "Stuff happens!" And life's too short to have dead telephones, even if it's a rarity.

Setting Up FreePBX to Make Your First Call. There are four components in FreePBX that need to be configured before you can place a call or receive one from outside your PBX in a Flash system. So here's FreePBX for Dummies in less than 50 words. You need to configure Trunks, Extensions, Outbound Routes, and Inbound Routes. Trunks are hosting provider specifications that get calls delivered to and transported from your PBX to the rest of the world. Extensions are internal numbers on your PBX that connect your PBX to telephone hardware or softphones. Inbound Routes specify what should be done with calls coming in on a Trunk. Outbound Routes specify what should be done with calls going out to a Trunk. Everything else is bells and whistles.

Trunks. When you sign up with most of the better ITHP's that support Asterisk, they will provide documentation on how to connect their service with your Asterisk system. If they have a trixbox tutorial, use that since it also uses FreePBX as the web front end to Asterisk. Here's an example from les.net. And here's the Vitelity support page although you will need to set up an account before you can access it. We also have covered the setups for a number of providers in previous articles. Just search the Nerd Vittles site for the name of the provider you wish to use. You'll also find many Trunk setups in the trixbox Trunk Forum. Once you find the setup for your provider, add it in FreePBX by going to Setup, Trunks, Add SIP Trunk. Our AxVoice setup (which is all entered in the Outgoing section with a label of axvoice) looks like this with a Registration String of yourusername:yourpassword@sip.axvoice.com:

allow=ulaw
authname=yourusername
canreinvite=no
context=all-incoming
defaultip=sip.axvoice.com
disallow=all
dtmfmode=inband
fromdomain=sip.axvoice.com
fromuser=yourusername
host=sip.axvoice.com
insecure=very
nat=yes
secret=yourpassword
type=friend
user=phone
username=yourusername

And our Vitelity Outbound Trunk looks like the following (labeled vitel-outbound) with no registration string:

allow=ulaw&gsm
canreinvite=no
context=from-pstn
disallow=all
fromuser=yourusername
host=outbound1.vitelity.net
secret=yourpassword
sendrpid=yes
trustrpid=yes
type=friend
username=yourusername

Extensions. Now let's set up a couple of Extensions to get you started. A good rule of thumb for systems with less than 50 extensions is to reserve the IP addresses from 192.x.x.201 to 192.x.x.250 for your phones. Then you can create extension numbers in FreePBX to match those IP addresses. This makes it easy to identify which phone on your system goes with which IP address and makes it easy for end-users to access the phone's GUI to add bells and whistles. To create extension 201 (don't start with 200), click Setup, Extensions, Generic SIP Device, Submit. Then fill in the following blanks USING VERY SECURE PASSWORDS and leaving the defaults in the other fields for the time being.

User Extension ... 201
Display Name ... Home
Outbound CID ... [your 10-digit phone number if you have one; otherwise, leave blank]
Emergency CID ... [your 10-digit phone number for 911 ID if you have one; otherwise, leave blank]
Device Options
secret ... 1299864 < -- make this unique AND secure! dtmfmode ... rfc2833 Voicemail & Directory ... Enabled voicemail password ... 1299864 <-- make this unique AND secure! email address ... yourname@yourdomain.com [if you want voicemail messages emailed to you] pager email address ... yourname@yourdomain.com [if you want to be paged when voicemail messages arrive] email attachment ... yes [if you want the voicemail message included in the email message] play CID ... yes [if you want the CallerID played when you retrieve a message] play envelope ... yes [if you want the date/time of the message played before the message is read to you] delete Vmail ... yes [if you want the voicemail message deleted after it's emailed to you] vm options ... callback=from-internal [to enable automatic callbacks by pressing 3,2 after playing a voicemail message] vm context ... default

Now create several more extensions using the template above: 202, 203, 204, and 205 would be a good start. Keep the passwords simple. You'll need them whenever you configure your phone instruments.

Extension Security. We cannot overstress the need to make your extension passwords secure. All the firewalls in the world won't protect you from malicious phone calls on your nickel if you use your extension number or something like 1234 for your extension password because the SIP and IAX ports typically are exposed to allow connections to your providers. In addition to making up secure passwords, the latest version of FreePBX also lets you define the IP address or subnet that can access each of your extensions. Use it!!! Once the extensions are created, edit each one and modify the permit field to specify the actual IP address or subnet of each phone on your system. A specific IP address entry should look like this: 192.168.1.142/255.255.255.255. If most of your phones are on a private LAN, you may prefer to use a subnet entry like this: 192.168.1.0/255.255.255.0 using your actual subnet, of course.

Outbound Routes. The idea behind multiple outbound routes is to save money. Some providers are cheaper to some places than others. We're going to skip that tutorial today. You can search the site for lots of information on choosing providers. Assuming you have only one or two for starters, let's just set up a default outbound route for all your calls. Using your web browser, access FreePBX on your server and click Setup, Outbound Routes. Enter a route name of Everything. Enter the dial patterns for your outbound calls. In the U.S., you'd enter something like the following:

1NXXNXXXXXX
NXXNXXXXXX

Click on the Trunk Sequence pull-down and choose your providers in the order you'd like them to be used for outbound calls.Click Submit Changes and then save your changes. Note that a second choice in trunk sequence only gets used if the calls fail to go through using your first choice. You'll notice there's already a 9_outside route which we don't need. Click on it and then choose Delete Route 9_outside. Save your changes.

Inbound Routes. We're also going to abbreviate the inbound routes tutorial just to get you going quickly today. The idea here is that you can have multiple DIDs (phone numbers) that get routed to different extensions or ring groups or departments. For today, we recommend you first build a Ring Group with all of the extension numbers you have created. Once you've done that, choose Inbound Routes, leave all of the settings at their default values and move to the Set Destination section and choose your Ring Group as the destination. Now click Submit and save your changes. That will set up a default incoming route for your calls. As you add bells and whistles to your system, you can move the Default Route down the list of priorities so that it only catches calls that aren't processed with other inbound routing rules.

General Settings. Last, but not least, we need to enter an email address for you so that you are notified when new FreePBX updates are released. Scroll to the bottom of the General Settings screen after selecting it from the left panel. Plug in your email address, click Submit, and save your changes. Done!

Adding Plain Old Phones. Before your new PBX will be of much use, you're going to need something to make and receive calls, i.e. a telephone. For today, you've got several choices: a POTS phone, a softphone, or a SIP phone. Option #1 and the best home solution is to use a Plain Old Telephone or your favorite cordless phone set (with 8-10 extensions) if you purchase a little device known as a Sipura SPA-3102. It's under $70. Be sure you specify that you want an unlocked device, meaning it doesn't force you to use a particular service provider. This device also supports connection of your PBX to a standard office or home phone line as well as a telephone.

Downloading a Free Softphone. Unless you already have an IP phone, the easiest way to get started and make sure everything is working is to install an IP softphone. You can download a softphone for Windows, Mac, or Linux from CounterPath. Or download the pulver.Communicator or the snom 360 Softphone which is a replica of perhaps the best IP phone on the planet. Here's another great SIP/IAX softphone for all platforms that's great, too, and it requires no installation: Zoiper 2.0 (formerly IDEfisk). All are free! Just install and then configure with the IP address of your PBX in a Flash server. For username and password, use one of the extension numbers and passwords which you set up with freePBX. Once you make a few test calls, don't waste any more time. Buy a decent SIP telephone. Visit the PBX in a Flash Forum for lots of suggestions on telephones. Our personal favorite and the phone that PBX in a Flash officially supports is the Aastra 57i or 57iCT which also includes cordless DECT phone. Do some reading before you buy.

A Word About Ports. For the techies out there that want "the rest of the story" to properly configure firewalls, here's a list of the ports available and used by PBX in a Flash:

TCP 80 - HTTP
TCP 9080 - Duplicate HTTP
TCP 22 - SSH
TCP 9022 - Duplicate SSH
TCP 9001 - WebMin
UDP 10000-20000 - RTP
UDP 5004-5082 - SIP
UDP 4569 - IAX2
UDP 2727 - Media Gateway

Where To Go From Here. The PBX in a Flash script repository at pbxinaflash.org also has gotten a facelift. That should be your next stop because it is the home of all the goodies that make PBX in a Flash shine. Tom King, the ultimate scripting guru, manages that site. So check it often. You'll also find all of our Nerd Vittles Goodies work with this new release. Most of our original collection work flawlessly with Asterisk 1.4 including AsteriDex, Yahoo News Headlines, Weather by Airport Code, Weather by Zip Code, Worldwide Weather Forecasts, Telephone Reminders, MailCall for Asterisk, and TeleYapper. We have not yet completed testing with Asterisk 1.6, but most should work. Complete documentation for each application also is provided at the link above. And, if you still have a DBT-120 Bluetooth adapter, you'll be happy to learn that it works out-of-the-box with PBX in a Flash on your new Everex Green PC. Dust off our recent article on Proximity Detection, and you should be in business in under 10 minutes. Enjoy!


Nerd Vittles Skype Gateway to Asterisk. If you haven't yet built your own Skype Gateway to Asterisk, you're missing a treat. To give you some idea of the flexibility of the gateway, pick up any Skype phone and call our Skype demo hotline: nerdvittles. It was a 5-minute project once the gateway was running.


Want a Bootable PBX in a Flash Drive? Our Atomic Flash bootable USB flash installer for PBX in a Flash has been quite the hit. Special thanks to all of our generous contributors! Atomic Flash provides all of the goodies in the VPN in a Flash system featured last month on Nerd Vittles. You can build a complete turnkey system using almost any current generation PC with a SATA drive and this USB flash installer in less than 15 minutes!

If you'd like to put your name in the hat for a chance to win a free one delivered to your door, just post a comment with your best PBX in a Flash story.2

Be sure to include your real email address which will not be posted. The winner will be chosen by drawing an email address out of a hat (the old fashioned way!) from all of the comments posted over the next several weeks.

And it still isn't too late to make a contribution of $50 or more to the PBX in a Flash project and get a free Atomic Flash installer delivered to your door as our special thank you gift. See this Nerd Vittles article for details.


 

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. Join the following line to the original line of code whenever you encounter the ↩ character. []
  2. This offer does not extend to those in jurisdictions in which our offer or your participation may be regulated or prohibited by statute or regulation. []

Introducing Atomic Flash: 15-Minute Turnkey Asterisk Installs

PBX in a Flash offers a number of Asterisk- compatible PBX solutions to meet virtually every need. These range from base installs of Asterisk 1.4 and 1.6 in both 32-bit and 64-bit flavors. In addition, the Orgasmatron builds provide turnkey installs for Everex gPC systems and Dell PowerEdge SC440 and T100 servers. And our recent VPN in a Flash build for the Acer Aspire One NetBook introduced the ultimate portable, secure traveling communications server including the Hamachi VPN.

For 2009 we round out our offerings with the ultimate development tool, a bootable USB flash drive which can create turnkey, full-featured Asterisk PBX systems in 15 minutes or less. As its name suggests, this build was specially engineered for the new Atom-based motherboards found in most netbooks although it works just fine with Dell’s PowerEdge T100 servers as well. Many of the newer netbooks lack a CD/DVD drive so a bootable flash installer is ideal. In addition to a current generation computer, you’ll also need an 80GB or larger SATA disk drive which can be configured as sda1, sda2, and sda3. RAID setups are not yet supported unless you’re very familiar with reconfiguring Mondo Restores. With your new computer in hand, just plug in the Atomic Flash, and boot the computer from the flash drive. Type nuke and have a cup of coffee. When you return in 15 minutes and type a couple commands, your system will be ready for deployment. Add your trunk providers, match phones to the preconfigured extensions, secure passwords, and you’re all set. It’s that easy!

Make no mistake. This is a Bleeding Edge installer featuring a Fedora 10 Remix1 that’s less than a week old. It supports the latest and greatest motherboards, wired and WiFi networks, and it includes the KDE graphical user interface for those that love GUIs. Out of the box, it provides a functioning softphone as well as your own private Hamachi VPN connecting up to 15 additional systems so the entire setup can be deployed as a mobile communications hub in less time and for less money than most folks spend on their breakfast.

For those that demo systems for a living, no one will touch this presentation. Just show up at a customer site with a $300 Acer Aspire One NetBook and an Aastra 57i business phone. While the customer watches the Atomic Flash build a new PBX in a Flash server from the ruins of a Windows XP clunker, you can connect and configure the 57i and explain how simple VoIP networks can be.

When you finish your 10-minute slide show, your system will be operational. Dial any 800 number from your Aastra phone, and presto… instant, flawless communications! Now explain to the customer what the world of penny-a-minute communications is all about with every call between PBX in a Flash systems and other SIP phones absolutely free… worldwide.

Friends of PIAF. So how do you get one? If you don’t mind a preproduction version, which means we have to custom-build every flash drive, here’s how to get yours. First, this offer is for a limited time (until we get sick of cloning flash drives). And don’t expect to receive your unit overnight. In fact, it may be several weeks or more depending upon how busy we get with other Honey-Do’s. But we won’t forget you!

Now what? Just make a contribution of $50 or more to the PBX in a Flash project through PayPal, and we’ll give you one (as in gift for free), and we’ll even pay the shipping. Limit of one per contributor please! Keep in mind that $50 barely covers the cost of the 8GB flash drive, the shipping, the PayPal commission, and the labor (at 5¢ an hour) so your generosity is most appreciated. And when we get tired of working for 5¢ an hour, we’ll holler. 🙂

Once your Atomic Flash device arrives, please visit http://atomicflash.org or http://pbxonaflash.com for complete installation instructions.



The Perfect Complement. The stars have all lined up to provide a perfect opportunity for you to purchase a state-of-the-art NetBook. Click or hover on the image above for details. If you’d prefer a server, you now can grab a Dell Poweredge T100 server with dual 160GB SATA drives and 2GB of RAM saving $397 off the list price. Either hardware works great with Atomic Flash.

Are You Crazy? Why Are You Doing This? Well, yes and because it’s the First Anniversary of PBX in a Flash! We want everyone to experience PBX in a Flash in all its greatness now that we’ve got it down to a 15-minute walk in the park. These are tough economic times for many businesses around the world, and we want you to help us spread the word about the savings that can be realized through Voice Over IP. We also want to encourage those of you on the fence about a career to enter the Asterisk® reseller community, and we’re doing our part by providing the perfect sales and development tool.

So now’s your chance. We hope you’ll tell every business acquaintance and friend you have about PBX in a Flash. And you have our heartfelt thanks for your continuing support. It’s been a blast!


 

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. Fedora and the Infinity design logo are trademarks of Red Hat, Inc. Asterisk is a registered trademark of Digium, Inc. All other trademarks and registered trademarks are property of their respective owners. This software aggregation is neither provided nor supported by the Fedora Project and contains non-Fedora and modified Fedora content. Official Fedora software is available through the Fedora Project website []

What PBX in a Flash Brings to the Asterisk Table

As 2008 comes to a close, PBX in a Flash celebrates its First Anniversary and continues to be the only Asterisk® distro that offers users a choice of Asterisk 1.4 or 1.6 in either 32-bit or 64-bit flavors. In addition, you can choose our Lean, Mean Asterisk Machine or a preconfigured turnkey implementation with every VoIP bell and whistle on the planet. It’s all about choice and flexibility, and we offer both. For a preview of coming attractions, see the end of this article or take a look at the screen capture below. But today we hand over the editorial reins to some of our PBX in a Flash users to express in their own words why they chose PBX in a Flash and what their return on investment has been. We think you’ll be surprised by some of the responses. We certainly were.

You Never Know How Things Will Work Out

During the time of PBXIAF 1.0, I had been working with Trixbox for about 6 months. By the time PBXIAF 1.1 came out, I had learned enough about the way Trixbox can’t be updated to develop a healthy appreciation for the PBXIAF “compile on site, update as prudent” approach.

I happen to be a techno-nut -– but that notwithstanding, our small business was experiencing telephonic growing pains. After 7 years in business, an opportunity to expand our private label help desk product was easily ready to overrun the terrible copper lines we had for telephone service.

Since it was obvious VoIP was the only way to go – we began to explore what was out there. Vonage was riding high, Packet8 and many other competitors all got us around the limited copper into the office, each one we looked at had their own special quirks. All of them were using analog telephone adapters (ATAs) and either regular or slightly customized Analog phones.

We began a year of exploration that started with the BigGreenBox – hoping to learn enough about VoIP and this strange creature called FreePBX to be able to use it. But, with time marching on, Packet8’s Virtual Office product was selected, and put into use in a 10-phone system.

Although pretty much always under development, the web application that was provided was a little twisted, but worked once you got over its way of looking at call flow – rudimentary ring groups could be arranged in such a way as to simulate queues provided nor more than 8-10 callers were on hold. And so it went for a good year. We definitely used all our creativity to connect various IVR’s ($15/month each) to give the caller a good experience, but we were already clearly operating at the very limits of flexibility and capacity for the Packet8 system.

The average telephone bill during this period was approximately $380 per month (about 1/3 of what copper lines had cost) and almost nothing in hardware ($1,000 in proprietary telephones and ATAs).

Then the balance was broken when Packet8 rather arbitrarily stopped supporting a type of IVR transfer that was crucial to our work flow. At the same moment, the unthinkable happened. The help desk grew a little more. Less flexibility + even more demands for non-achievable call flow changes was the death knell for Packet8 at our office.

During this same time we had deployed several ISOs of the GreenBox in the lab and with field technicians….Several ISO’s! In a very short time. So many ISO’s, so fast – and a complete reinstall to go with each one. Yikes. It had become apparent to me that my career would suddenly change from network engineering to “PBX Upgrade and Reconfigure Monkey” if we deployed that distribution. Also – the forums were unproductive and negative much of the time. There are ways to disagree and still remain civil. Then, I rediscovered Nerd Vittles. This was about the time PBXIAF 1.1 was released.

The difference in the environment and team spirit – even when disagreements occurred – is very palatable. The community is full of people who are so wonderfully giving of their experience. The difference in the distributions – well- they can be summed up in about 6 words. Ward Mundy, Tom King, and Joe Roper.

This trio has brought together a remarkable set of skills and disciplines that produced a really, really good distribution, not solely RPM-based so knuckleheads like me can follow simpler instructions. [Asterisk code is] updated and compiled right on the box – and fully scripted. Security flaws get fixed in hours – sometimes minutes (when they find them – there’s been so FEW), not DAYS like the other guys. And all of it is based on FreePBX, arguably the most evolved UI for managing Asterisk.

Together – they got stability, reliability, and repeatability, and decorated it with enough solid features and functions to be a platform whose feature-function-benefit points are all top notch. Linux, Asterisk, Mysql, Apache, Text to Speech (2 different flavors), Voice Reminders, Wake Up Calls, Weather Reports, Tide Reports, Email by Phone, Headline News by Phone, and scripts that make it all go together just the way it needs to be: “stable and reliable”.

PBX In a Flash is a gift – an opportunity for our technical staff to learn a new area of our field, with the camaraderie of some genuine experts in the arena. We are 8 people, doing the work of 12 – just like a million small businesses. As an old network guy – learning a new skill has been tremendously exhilarating. And this technology is so flexible that I’m continually exhilarated learning new things… and for a long time to come! The professional growth has been great for all of us.

Now, the money. Way back up in the top of this [post], I told you the phone bill with Packet8 was on a good month $380 with barely the [functionality] needed to do our professional best.

Today, thanks to PBXIAF, we run 6 queues every day, with tremendous customer and client satisfaction. We use every part of the system to provide our customers with the best telephone interaction experience they could get anywhere. While handling about 10% more traffic, and with far superior call handling and work flow support, our average phone bill is $120 month.

Here’s the good part. With the $260 a month being saved, the company was able to afford to bring in group medical insurance for all our employees. How’s that for positively impacting 8 people every single day of their lives?

Ward, Tom, Joe – I could never have done it without you.

–tshif

And then there was this testimonial from a venue that all of us are thinking about these days:

Our small public middle school in Washington, DC has to make every penny count. I’m in charge of our technology and its meager budget. This past summer we moved to a new and bigger building and needed to migrate our phone system. We had an existing NEC Aspire system with 15 extensions that worked just fine – nothing fancy – and it hooked up to a single POTS line.

At the new building we needed to double the size to 30 extensions. As the Aspire system used VOIP, it should just be a matter of buying the handsets and a little labor to configure them. Right? [Wrong!] $17,000 is what they wanted to hook up the existing equipment that we moved over and add the 15 new extensions. My response: "Hell no!"

I’d wanted an excuse to setup an Asterisk server for a while, but I had heard how complicated it was. School was close to opening. I had a lot of other things to take care of. And I needed a solution that would most likely work the first time. I found PiaF then read up on the wiki and Nerd Vittles. I ordered a set of Aastra 57i’s and a used Dell PowerEdge 2650. We decided to go "pure VOIP" for flexibility and signed up with Vitelity.com.

I followed the great step-by-step directions for PiaF. I wanted to set mine up inside a Virtual Machine which added some complexity, but I found lots of helpful users in the forums that had documented their experiences before me.

Now we’re 5 months in. The system has more capabilities than our old NECs. The sound quality is better, and it’s easier to use. I had some problems with my server crashing, but I was able to rebuild it on different hardware and transfer our entire configuration in about an hour. Now everything is great. I love that we’re implementing more open source tools, open standards, and aren’t limited to vendor BS when we’re ready to expand. Other schools thought we were "crazy" to setup our own system. Now they want all the details to try and do it themselves.

The best part, of course, is that our whole setup was under $7K. That’s a $10,000 savings. To translate that with regards to the school, that savings allowed us to buy and set up four desktop machines in each of ten classrooms. Now THAT is making a difference.

Thanks to the PiaF team and community!

–jcasimir

And then there’s this one:

TODAY I TOOK CONTROL OF MY VOIP…..

I’ve been a happy VOIP user for 4 years running on Vonage. Even got my son hooked up on Vonage while he was in the Army stationed in Japan. But, when the lawsuits loomed over Vonage’s head, I started looking for something else, and I found Nerd Vittles. WOW! Being kind of a gadget junkie to start with and always looking for something interesting to do with my PCs, I started with Trixbox from Ward’s "build" and fumbled along. When PIAF came along I naturally followed.

I have two important successes that have made me love this VOIP/PIAF stuff.

1) When my grandson was diagnosed with a heart condition my daughter and her husband were stuck in hospital emergency rooms for hours at a time. Being about 500 miles from both our family and the other grandparents, they had a very difficult time getting news out to us since hospitals usually restrict the use of cell phones and don’t allow long distance calls from their phones. That only leaves (yuck!) pay phones. In just a few minutes time, I was able to buy a local DID to the hospital and connect it to my PIAF. I then set up an IVR that gave them access to a DISA. That way they could call us using a local number or call through the DISA to contact the other grandparents. Keeping everyone informed really eases your mind when the grandkids are ill!

2) When I got tired of my wife continuing to ask me for phone numbers when calling our family and friends, I finally decided to set up an IVR for her. So far, both of our kids’ home and cell numbers (as well as my cell number) have kept her happy. When she asks for more I’ll just add them. So far the "Wife Acceptance Factor" is high and I’m having great fun. Hanging up on recognized telemarketers is great, the Callerid Superfecta works great, and I like getting the Weather Forecast from Allison.

The port from Vonage was completed today. I’m using Future-Nine as my primary provider. So, like I said, today is the day I took control of my VOIP.

–jeffmac

And, speaking of role reversal…

PIAF to the Rescue!!

Here is a twist for you.

First, the problem:

My company has a ShoreTel system in place, 48 extensions. They have 2 PRI’s bonded together with dynamic channel allocation. Eight channels are dedicated to the phones, the rest to the Internet. When we have more calls than 8, the system robs channels from the Internet, up to 23 channels max, and returns them as the call volume drops. This all works well.

Monday, a pole a few blocks from our office had the transformer catch fire, and the provider’s equipment was affected. We lost both Internet and phones for several hours. Much of our business is time critical. With no incoming phone calls and no email, we almost lost out on a chance to bid on a VERY large deal. Fortunately, the customer knew the L.A. branch number and after being unable to get in touch with us, he called L.A.

Anyway, now it is critical to management that this NEVER happen again.

The Solution:

Tuesday: I studied the issue and wrote a proposal.

Wednesday: I fired up a PIAF box, established a 10 channel SIP trunk group to the ShoreTel system, and got everything setup for intersystem routing, etc.

Thursday: I am picking up a pay-as-you-go service with 10 channels from a VOIP provider with a single DID and setting our Telco service for failover/rollover to the VOIP DID. I am then ordering a second Internet circuit, 2meg x 2meg, to bring in the SIP trunks from the provider. As soon as that is done, I will dual-home the mail server so that we can get and send email via both Internet providers.

The End Result:

If the primary connection fails, phone service rolls over to the DID from the VOIP provider, rolls into PIAF, and cross trunks to the ShoreTel – AUTOMATICALLY!! Email switches to the secondary MX record and keeps right on rolling. One change in the firewall for the public NAT address and gateway and Internet [and phone service] is back up and running.

THANK YOU Ward, Tom, Joe and gang for making this possible.

–Greg Keys

And, last but not least…

You made my Grandma Cry!

My wife and I are currently living in Germany, and we’ve been using a Skype-In number so our friends and family can call us. For my wife it is important that the solution just works like a regular phone and so I had setup a Siemens M34 to interface with our DECT phone and it worked, mostly, for a few days until the entire system needed to be restarted. For most of our family, this solution works. But my grandmother is living in a different area code and can’t afford to call us as often as she would like.

I stumbled upon the PBX in a Flash project a few weeks ago and, after I found two old Grandstream GXP-2000 in the company junk closet (we are an Internet startup – someone is always buying new toys), I installed PiaF 1.2 using VMWare. I set up a Vitelity DID, the CallerID Superfecta, the Callerid Creep Detector, experimented with ring groups, routing, IVRs and was so impressed that I knew our Skype-solution days were numbered.

Last night, I took the plunge, reformatted the Skype system, and deployed PiaF 1.3. The install was so fast and painless. I copied the old configuration information into the new system. And, my new PBX was up and running in under and hour.

I had so much time left on my hands that I figured I might as well experiment. I followed another Nerd Vittles tutorial and created a few cell phone extensions for my family back in the states. I went to Vitelity and purchased another DID. I recorded a quick message, setup an IVR, and a new corresponding route. That’s when the fun started.

I called my grandmother and told her: "Grandma, we’ve got a new telephone number. Will you please call me right back at…". She was a little surprised when I told her that the number was now going to be a local call for her. The real surprise came when she called the number and heard, "Hi Grandma, welcome to your phone system. For Martin and Ashlee, please press 1, for Rachel please press 2,…". By the time she pressed 1 and Asterisk was ringing our home ring group, she was in tears.

We talked for quite a while about our lives, the Olympics, the hurricane, and everything else. This morning when I got up, I checked the call logs and saw that she had systematically called every single IVR point after we got off the phone.

I didn’t deploy PiaF as a mission-critical business application yesterday–though that day will come for me, but I did what the open-source Internet ideology is all about in my mind. I used the knowledge and experience others have gifted the community to create a solution that fit my situation.

Thanks Again, PiaF Team, from the bottom of my heart!

–Martin Modahl

For those of you that still need a New Year’s Resolution, we hope our fans have given you some ideas. And, when my wife again asks why I continue to work for 5¢ an hour, I’ve got something great for her to read.

Thanks, everybody. You’ve made it all worthwhile.


Want a Bootable PBX in a Flash Drive? Early in 2009 to celebrate the beginning of Nerd Vittles’ Fifth Year, we’ll be introducing our bootable USB flash installer for PBX in a Flash with all of the goodies in the VPN in a Flash system featured a few weeks ago on Nerd Vittles. You can build a complete turnkey system using almost any current generation PC with a SATA drive and our flash installer in less than 15 minutes!

If you’d like to put your name in the hat for a chance to win a free one delivered to your door, just post a comment below with your best PBX in a Flash story.1

Be sure to include your real email address which will not be posted. The winner will be chosen by drawing an email address out of a hat (the old fashioned way!) from all of the comments posted over the next couple weeks. All of the individuals whose comments were used in today’s story will automatically be included in the drawing as well. Good luck to everyone and Happy New Year!!


Nerd Vittles Fan Club Map. We hope you’ll take a second and add yourself to our Frappr World Map. In making your entry, you can choose an icon: guy, gal, nerd, or geek. For those that don’t know the difference in the last two, here’s the best definition we’ve found: "a nerd is very similar to a geek, but with more RAM and a faster modem." We’re always looking for the best BBQ joints on the planet. So, if you know of one, add it to the map while you’re visiting.


 

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. This offer does not extend to those in jurisdictions in which our offer or your participation may be regulated or prohibited by statute or regulation. []

Orgasmatron II for Asterisk: A Turnkey PBX Install in Under 15 Minutes, Part II

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

#!/bin/bash
cd /root
wget http://downloads.cepstral.com/cepstral/i386-linux/ ↵
Cepstral_Allison-8kHz_i386-linux_5.1.0.tar.gz
tar -zxvf Cepstral*
cd Cepstral_Allison-8kHz_i386-linux_5.1.0
./install.sh
echo /opt/swift/lib > /etc/ld.so.conf.d/cepstral.conf
ldconfig
cd /usr/src
wget http://pbxinaflash.net/source/app_swift/app_swift-1.4.2.tar.gz
tar -zxvf app_swift-1.4*
rm *.gz
cd app_swift-1.4.2
make
make install
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
amportal restart
asterisk -rx "core show application swift"
echo "Installation completed. "
echo "To purchase a license, go here:"
echo "https://www.cepstral.com/cgi-bin/store/home"
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.
  • DISA
    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
    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:

    update-scripts
    update-fixes

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.


 

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. Join the following line whenever you encounter this character: ↵ []

The Asterisk Orgasmatron: A $199 Turnkey PBX Install in Under 15 Minutes, Part II

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.
  • DISA
    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|'↵
    /usr/local/sbin/install-cepstral
    sed -i 's|x86-64-linux|i386-linux|' /usr/local/sbin/install-cepstral
    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
    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:

    update-scripts
    update-fixes

    To upgrade your system to the latest version of Asterisk 1.4, log into your server as root and type the following commands:

    update-scripts
    update-source
    update-fixes

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...

  1. Join the text of a following line when you encounter this character: ↵ []

The Asterisk Orgasmatron: A $199 Turnkey PBX Install in Under 15 Minutes, Part I

Well, okay. We confess that today's creation doesn't quite measure up to the legendary Orgasmatron... but, look out Woody Allen, we're close. It's been a couple of years since we released our first preconfigured, turnkey Asterisk® install. Much has changed both in Asterisk and in the hardware and software environment since 2006. So today, to celebrate the six month anniversary of PBX in a Flash and the brand new PBX in a Flash 1.2 release, we're taking another stab at it. From the time you insert the CD 'til you have a functioning Asterisk PBX with all the bells and whistles imaginable... 15 minutes!

NOTE: This article and the Orgasmatron software have been updated. Click here to read the new article.

Coming January 19: Incredible PBX 11 & Incredible Fax for Asterisk 11 and FreePBX 2.11

Our approach today is a little different than the last time around. The processing overhead of CentOS 5.1 has made VMware problematic. Luckily, the price of hardware has dropped like a rock. So today we're comfortable recommending the best phone, the best PC, and the best provider on the planet. And you'll still have your arms and legs intact after you pay the piper. If you've been following along with our articles, you already know that we've identified what we believe to be the perfect Asterisk SIP phone, the Aastra 57i, and we've also identified a perfect small business/home computer on which to run a production Asterisk server for about 50 employees, the Everex gPC (aka "The WalMart Special"). Now that the second generation Everex gPC2 is readily available, we decided to preconfigure one of these systems from the ground up and then make a 2-disk ISO image backup of the whole system using Mondo. So, once you download the ISO images and burn your CDs, it's a 15-minute No-Brainer to install the entire image onto your own Everex gPC2. But you must have a gPC2 for this to work so accept no substitutes, and don't try this with any other hardware or you'll end up with an Electronic Brick instead of an Orgasmatron. The $199 gPC2 systems are available from WalMart and NewEgg among others.

We've preconfigured outbound and incoming trunks from some terrific providers as well as some extensions on your new system. So you literally can sign up for service with these providers, plug in your phones, and you can be in full operation in under an hour. Our only word of caution is not to use these ISO images on another type of computer. Everything has been specifically tailored to the stock gPC2 and chances are very good that the install would not proceed much past erasing and reformatting your hard disk on a different flavor machine. We also recommend that, if you want to add our recommended $25 extra gig of RAM to the gPC2, hold off on installing it until after you have loaded the new ISO image. So... what do you get with this preconfigured build?

In addition to all of the goodness of a stock PBX in a Flash 1.2 build including Asterisk 1.4 running under CentOS 5.1 with all the latest and greatest versions of FreePBX, Apache, MySQL, and PHP, you also get 10 preconfigured Nerd Vittles applications for openers:

  • AsteriDex RoboDialer and Telephone Directory
  • Telephone Reminders with Support for Recurring Reminders and Web-based TTS Reminder Messages
  • NewsClips for Asterisk featuring Dozens of Yahoo News Feeds (TTS)
  • Weather Reports by Airport Code (TTS)
  • Weather Reports by ZIP Code (TTS)
  • Worldwide Weather Forecasts (TTS)
  • MailCall for Asterisk: Get Your Email By Telephone (TTS)
  • TeleYapper 4.0 Message Broadcasting System
  • CallWho for TTS Retrieval and Dialing of Entries in the AsteriDex Database (TTS)
  • TFTP Server with preconfigured setups for 15 Aastra 57i SIP telephones

In addition, you get dozens of preconfigured telephony applications and functions that would take even an expert the better part of a year or two to build independently. And, unlike all of the other distributions, we build Asterisk from source so it's simple to modify and upgrade whenever you feel the need. Here's a short list of what you have to look forward to:

  • Stealth AutoAttendant with Welcome and Application IVRs
  • Key Telephone Support Using Park and Parking Lot
  • Intercom/Paging Support
  • Bluetooth Proximity Detection with Automatic Call Forwarding to Cell Phone
  • DISA
  • Blacklisting with Web and Telephony Interfaces
  • CallerID Name Lookups from 8 Providers
  • Weekly Automated System Backups to a Flash Drive
  • One Touch Day/Night Service
  • Music on Hold
  • Voicemail with Email Delivery of Messages and Pager Notification
  • Voicemail Blasting
  • Cell Phone Direct Dial
  • Call Forward: All, Busy, No Answer
  • Call Waiting
  • Call Pickup
  • Zap Barge
  • Call Transfer: Attended and Blind
  • Dictation Service with Email Delivery
  • Do Not Disturb
  • Gabcast
  • Phonebook Dial by Name
  • Speed Dial
  • Flite Text to Speech (TTS)
  • Windows Networking with SAMBA
  • Linux Firewall
  • PBX in a Flash Software Update Service To Keep Your System Current
  • One-Click Cepstral TTS Install with Allison... Just Type install-cepstral

Prerequisites. As mentioned, you'll need a $199 Everex gPC2 (WalMart or NewEgg ) to use this build. We also recommend an additional $25 gig of RAM for anything other than home use. We also recommend a 4GB USB flash drive on which to store automatic weekly backups of your new system. Finally, you'll need to cough up a whopping $5 to download the two-disk ISO image for this build. And, yes, we eat our own dog food. The ISO images you'll be downloading were captured as a backup on the flash drive of our gPC2 lab machine. If you use this special build, it seemed only fair that you cover the cost of the bandwidth to download it. As most of you know, we don't have the luxury of freeloading off SourceForge for our downloads. And we didn't want to impose upon our existing bandwidth providers to bring you this custom image. The good news is that, once you download the image from DreamHost, you are more than welcome to pass it along to one or more of your friends or business acquaintances at no charge. You can even do it electronically through the DreamHost Files Forever program. And, if you'd like to host this image for your fellow man at no cost, be our guest... and thank you! Bottom line: For about $250, you'll have the slickest, most reliable PBX on the planet with rock-solid weekly backups and, of course, the one-of-a-kind PBX in a Flash Software Update Service!

Getting Started. Once you have purchased your Everex gPC2, take it out of the box, plug it into your LAN with DHCP and DNS support and Internet connectivity. Having said that, we strongly recommend that you always keep your system running behind a NAT-based firewall/router. Almost any home router will do. Don't redirect any ports to the machine and don't turn the PC on just yet.

Download the two ISO images for the gPC2 from here. If you don't know how to create a CD from an ISO image, read that section from our article last week. In fact, read the whole article. It'll help you immensely down the road. Once you have the two CDs in hand, turn on the gPC2 and quickly insert Disk 1 into the CD/DVD drive and close the drive. If you don't see a Mondo Rescue screen within a minute or less, turn the machine off and then back on again. At the Mondo Rescue main screen, type nuke and press the Enter key. This will erase, repartition, and reformat your hard disk in case you didn't know. This is normal. If you get any kind of errors about incorrect drive or partition names, halt the install by pressing CTL-ALT-DEL and remove the CD. You'll need to install PBX in a Flash using our standard ISO which is available here. Otherwise, go have a cup of coffee and come back in about 12 minutes. When prompted, insert Disk 2 and press the Enter key to finish the install. When the CD ejects, remove it and your gPC2 will reboot after you type exit.

After the reboot finishes, type root at the login prompt for your username and password for your password. The IP address assigned by your DHCP server should appear near the top of the screen. Write it down. If there is no IP address, your machine does not have network connectivity or access to a DHCP server with an available IP address. Correct the problem and reboot.

Securing Passwords. We're going to change five passwords now. For the time being (until you've done some reading), think up one really difficult password (that you won't forget) and use it for all five passwords. At the root@pbx:~ $ command prompt, type the following commands and type in your new password when prompted. Don't forget your password or you'll get to put in your two CDs and start over.

passwd
passwd-maint
passwd-wwwadmin
passwd-meetme
/usr/libexec/webmin/changepass.pl /etc/webmin root yournewpasswordhere

Now, using a web browser, go to the IP address of your new PBX in a Flash server. Click Administration. Log in as admin:password. Then click Menu Config. Change Admin Pwd to a new password that you're NOT using elsewhere. Now click Update and then Done. Click Administration again and then Asterisk Mgmt (FreePBX). If you're prompted for username and password, use admin:password for now. After FreePBX loads, click Setup and then Administrators. In the far right column, click admin, fill in your new password, and click Submit Changes. Then do the same thing for maint. Finally, click on the orange Apply Configuration Changes button and then Continue with Reload. Whew!

Don't change any other passwords without first contacting us. Regardless of what you may read elsewhere, PBX in a Flash is now secure. If you want more details, read this article and this thread.

Permanently Setting the IP Address. There are different schools of thought on whether to use a fixed or dynamic IP address. Most hardware-based routers support DHCP IP address reservations. The simplest way to permanently secure the existing IP address for your server is to reserve it on your router. If you'd prefer to assign your own IP address, we have included the deprecated netconfig utility which can be run after logging into your server as root. Sometimes you will need to run it once, enter your settings, reboot, and then repeat the drill. Then you should be all set.

Adding Plain Old Phones. Before your new PBX will be of much use, you're going to need something to make and receive calls, i.e. a telephone. For today, you've got several choices: a POTS phone, a softphone, or a SIP phone (highly recommended). Option #1 and the best home solution is to use a Plain Old Telephone or your favorite cordless phone set (with 8-10 extensions) if you purchase a little device (the size of a pack if cigs) known as a Sipura SPA-1001. It's under $60. Be sure you specify that you want an unlocked device, meaning it doesn't force you to use a particular service provider. Once you get it, plug the SPA-1001 into your LAN, and then plug your phone instrument into the SPA-1001. Your router will hand out a private IP address for the SPA-1001 to talk on your network. You'll need the IP address of the SPA-1001 in order to configure it to work with Asterisk. After you connect the device to your network and a phone to the device, pick up the phone and dial ****. At the voice prompt, dial 110#. The Sipura will tell you its DHCP-assigned IP address. Write it down and then access the configuration utility by pointing your web browser to that IP address.

Once the configuration utility displays in your web browser, click Admin Login and then Advanced in the upper right corner of the web page. When the page reloads, click the Line1 tab. Scroll down the screen to the Proxy field in the Proxy and Registration section of the form. Type in the private IP address of your Asterisk system which you wrote down previously. Be sure the Register field is set to Yes and then move to the Subscriber Information section of the form. Assuming you're using the preconfigured extensions starting with 701, do the following. Enter House Phone as the Display Name. Enter 701 as the User ID. Enter 1234 as the Password, and set Use Auth ID to No. Click the Submit All Changes button and wait for your Sipura to reset. In the Line 1 Status section of the Info tab, your device should show that it's Registered. You're done. Pick up the phone and dial 1234# to test it out.

Downloading a Free Softphone. Unless you already have an IP phone, the easiest way to get started and make sure everything is working is to install an IP softphone. You can download a softphone for Windows, Mac, or Linux from CounterPath. Or download the pulver.Communicator. Here's another great SIP/IAX softphone for all platforms that's great, too, and it requires no installation: Zoiper 2.0 (formerly IDEfisk). All are free! Just install and then configure with the IP address of your PBX in a Flash server. For username and password, use one of the extension numbers and passwords which you set up with freePBX. Once you make a few test calls, don't waste any more time. Buy a decent SIP telephone. We think the best phone out there is the Aastra 57i for under $200. Another $100 buys you the Aastra 57i CT with a cordless DECT phone.

Configuring Aastra 57i SIP Phones. Your new system comes preconfigured to automatically configure up to 15 Aastra 57i phones. Plug each phone into your network and wait for it to boot. Once it boots, press the Option button, then Phone Status (3), then IP & MAC Address (1). Write down each phone's IP address and MAC address. Then press Done to exit from the menus.

Next, we need to tell your phone to use your new server as the TFTP server to obtain its setup. Press the Option button again, then Admin Menu (5). Type 22222 for the admin password and press Enter. Then choose Config Server (1), then TFTP Settings (2), then Primary TFTP (1), enter the IP address of your new server, and press Done a half dozen times.

Log back into your server. Switch to the TFTP directory: cd /tftpboot. You'll notice that there are config files for up to 15 phones. Simply choose the extension number you wish to use for each phone and rename the file from 701.cfg to the MAC address of each phone.cfg. Do NOT use hyphens in the MAC address. One final step and you'll be ready to load up your phones. We need to set the correct IP address to tell each phone where your server is located. So... issue the following command using the IP address of your new server instead of 192.168.0.123. Leave the rest of the command as it is!

sed -i 's|192.168.0.0|192.168.0.123|g' /tftpboot/aastra.cfg

Now restart each phone by pressing the Option button and then Restart Phone (6) and then the Restart button. Once the phone reboots, you can make a test call by dialing 1-2-3-4. You can get the latest news by dialing 5-1-1. Or get a weather forecast by airport code (6-1-1) or zip code (Z-I-P).

A Word About Ports. For the techies out there that want to configure remote telephones or link to a server in another town, you'll need to know the ports to remap to your new server from your firewall. Here's a list of the ports available and used by PBX in a Flash. We don't recommend exposing UDP 5038 which is used to communicate with Asterisk via the Asterisk Manager.

TCP 80 - HTTP (needed if you want to access the web sites on your new server from the Internet)
TCP 22 - SSH (needed if you want remote SSH access)
TCP 9001 - WebMin (needed if you want remote WebMin access, not recommended)
UDP 10000-20000 - RTP (needed for SIP communications)
UDP 5004-5037 - SIP (ditto)
UDP 5039-5082 - SIP (ditto)
UDP 4569 - IAX2 (needed for IAX communications typically between Asterisk servers)

Setting Up Trunks for Outgoing and Incoming Calls. If you want to communicate with the rest of the telephones in the world, then you'll need a way to route outbound calls (terminations) to their destination. And you'll need a phone number (DIDs) so that folks can call you. Unlike the Ma Bell world, you need not rely upon the same provider for both. And nothing prevents you from having multiple outbound and incoming trunks to your new PBX. At a minimum, however, you do need one outbound trunk and one inbound phone number unless you're merely planning to talk to other extensions set up on your system. We've actually put all the hooks in place to make it easy for you to interconnect to other Asterisk servers, but we'll save that for another day. For today, we want to get you a functioning system so that you can place outbound calls to anywhere in the world and can receive incoming calls from anywhere in the world. Thanks to our friends at Vitelity, this is not only an easy process, but it's also an incredible deal... but only for PBX in a Flash users.

Vitelity: The Best Provider and Pricing on the Planet. 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. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road 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 PBX in a Flash users, here's a deal you can't (and shouldn't) refuse! Sign up before the end of June, and you can purchase a Tier A DID with unlimited incoming calls for just $3.79 a month and you get a free hour of outbound calling to test out their call quality. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this link to order your DIDs, or you won't get the special pricing! After the free hour of outbound calling, Vitelity's rate is just 1.44¢ per minute for outbound calls in the U.S. You can't beat the price OR the call quality! Trust us. We've tried just about everybody. Update: This offer has been extended until July 15.

To sweeten the pot a bit more, we've preconfigured both inbound and outbound Vitelity trunks for you. For the vitel-inbound trunk, all you'll need to do is plug in your username, password, and host assigned by Vitelity and adjust the registration string to match your assigned username and password. In FreePBX, click Setup, Trunks, SIP/vitel-inbound and make the changes. Then adjust the vitel-outbound trunk to reflect your actual username in the fromuser and username entries, your real password in the secret entry, and the correct host provided by Vitelity for your outbound calls, and you're all set. In FreePBX, click Setup, Trunks, SIP/vitel-outbound and make the changes.

To test things out, pick up a phone configured on your system and dial an area code and number of someone in the United States or Canada. Now get someone to call you using your new number. Presto! You have inbound and outbound phone service.

An Alternate Outbound Calling Solution. As we said, it costs you almost nothing to add an alternate outbound calling solution to your new system. As luck would have it, adding a second outbound calling provider is now a breeze because AOL just entered the SIP terminations market with a product called AIM Call Out. We wrote about it recently, and you can read the article here. All you need is an AOL or AIM account name and $5 to get you started. The system you've just installed is preconfigured to use AIM Call Out. All you have to do is plug in your username and password, and you can immediately make calls to anywhere in the United States for under 2¢ per minute. Adding international calling is as easy as inserting the correct dial string. If you never use it, it doesn't cost you a dime. So $5 is mighty cheap insurance in our book.

First things first. Sign up for the service at this link. Your username will look something like this: johndoe@aim.com. You also will be assigned a password. Using your web browser, open FreePBX by pointing to the IP address of your new server and choosing Administration, then FreePBX. Type in admin as your username and the password you assigned to your system. From the main FreePBX menu, choose Setup, Trunks, and click on SIP/AIM in the far right column. Scroll down to the Peer Details section of the form and replace yourAIMpassword with your new password. Then replace yourAIMaccountname with your actual AIM account name. Now click the Submit Changes button and then Apply Configuration Changes and Continue with Reload.

Setting Up an Alternate DID for Incoming Calls. You also may want to consider a second phone number where people can call you. For example, if Grandma and Grandpa happen to be in another state and still have an old fashioned telephone, you might consider adding an additional DID to your system in their area code. They then can make a local call to reach you by dialing the local DID. On the les.net pay-as-you-go plan, it costs less than a dollar a month plus a penny a minute for the calls. Money well spent if we do say so... and you'll sleep better.

If this setup looks a bit complicated, don't be intimidated. Remember, we're connecting your PBX to the rest of the world so people can call you! With les.net, you have a choice of rate plans for most DIDs. You either can pay $3.99 a month for unlimited inbound calls with two concurrent channels or 99¢ per month and 1.1¢ per minute with four concurrent channels. Just visit their site and click Signup to register. Once you are registered, click Login and then Order DIDs. Pick a phone number. Then click Peers/Trunks and Create New Peer. Write down the Peer Name as you will need it in a minute to set up your connection. Choose SIP for Peer Technology, RFC2833 for DTMF Mode, G.711 for Codecs, Registration for Peer Type, enter the public IP address of your server for Peer Address, make up a secure password and write it down also, specify an Outbound CallerID for your calls, and check the 10-digit dialing box. Leave voicemail unchecked since you'll handle this on your end. Save your changes.

Now choose Your DIDs and click on the one you just ordered. We now need to tie the phone number to the Peer setup you just created above. Click on the DID and select the Route to Peer which you just created. Check the Send DID Prefix box and leave everything else blank. Click Save Changes and you're finished at the les.net end. Now let's set up your inbound DID trunk in Asterisk using FreePBX.

Log into FreePBX using a web browser. Click Setup, Trunks and then Add SIP Trunk. Fill in the CallerID and then drop down to the Outgoing Settings section of the form. For Trunk Name, use the Peer Name that you created above and wrote down. It ought to look something like this: 1092832198. For Peer Details, enter the following using the Peer Name and Password you assigned at les.net:

canreinvite=no
context=from-trunk
fromuser=1092832198
host=did.voip.les.net
insecure=very
nat=yes
secret=yourpassword
type=peer
username=1092832198

For Incoming Settings, use from-pstn for the User Context and enter the following User Details:

canreinvite=no
context=from-pstn
dtmfmode=rfc2833
insecure=very
nat=yes
type=user

For the registration string, enter a string like the following using your Peer Name and Password:

1092832198:yourpassword@did.voip.les.net/1092832198

Now click the Submit Changes button and then Apply Configuration Changes and Continue with Reload.

Choosing a Preferred Provider. Finally, you'll need to decide whether to use AOL or Vitelity as your primary terminations provider. HINT: Vitelity is less costly. So we've set them up as your primary terminations provider with AOL as the backup. This is handled in FreePBX in the Outbound Routes tab under the AllCalls entry.

A Word About Mondo Rescue. We would be remiss if we didn't mention what a fantastic open source product Mondo Rescue is. It's the sole reason that today's build was possible. Our special thanks go to the development team: Bruno Cornec, Andree Leidenfrost, and Hugo Rabson. It is the first (and only) backup software for Linux builds that actually works reliably. The best way to prove that for yourself is to download this build and try it for yourself on your Everex gPC2. It has much more flexibility than what you will experience, but that would take another dozen pages to explain. We'll save that for another day. In the meantime, if you'd like more information, visit the Mondo Rescue web site.

Where To Go From Here. Well, we've covered a good bit of territory today so we're going to save the really fun stuff for our next installment. In the meantime, you have a new phone system that works. And there are a number of PDF documents in the /root folder on your new system which are worth a read. Better yet, you can browse through all of the documentation which is available for PBX in a Flash by going here. You also can dial D-E-M-O on your new system and see just how powerful direct SIP connections can be to other Asterisk hosts (in this case, ours!)... at no cost. Finally, you can log into your server and type help-pbx for access to a treasure trove of additional features. Enjoy!

Continue reading Part II...


 

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...

Asterisk Hell: A Minefield Navigation Guide for Newbies

We're going to take a serious look at Asterisk® through the eyes of a typical new user today. Our objective is to turn newly built Asterisk servers into stellar performers, IP telephony systems that work reliably without the quirks that are all too familiar to those of us who have tiptoed through the minefield for many years. Whether you've chosen to run PBX in a Flash, or a trixbox system, or Elastix, or rolled your own Asterisk system, that's the least of your problems. And it doesn't really matter which flavor you chose because most of the pitfalls we'll be discussing today apply more or less to all of the distributions. Our yardstick for whether your system is performing satisfactorily is straightforward. When your significant other begins screaming for the return of a plain old telephone, you know, one where people on the other end of a call can actually hear what you're saying... you've got a problem.

Download Blues. You can't build an Asterisk-based turnkey system without knowing how to deal with an ISO download. If you have questions about how to create a usable CD from an ISO download or, if your newly minted CD won't boot, follow these simple steps. With a Mac, use Roxio Toast. Choose Copy, click Image File, and drag the ISO file you downloaded into the folder. Click Burn after inserting a blank CD. If you don’t own Toast for your Mac, go to the Applications->Utilities folder and run Disk Utility. Click on Images->Burn from the Title Bar and choose the ISO file you downloaded. Then click Burn to begin. For those in the PC World, you’ll need either Roxio Easy CD Creator or Nero to create a CD from an ISO image. With Easy CD Creator, choose Create Data CD. Then in the File menu, select Create CD from Image, and choose your downloaded file. Now click burn to begin. With Nero, go to Recorder from the top menu and choose Burn Image. Select your download file. Then from the Burn Compilation Window, choose Burn to begin.

Hardware Nightmare. Our Wild Ass Guess (WAG) would be that 90% of the installation problems experienced by new Asterisk users are directly related to crappy hardware. If it sounds like we're tired of hearing about this, you'd be right. The issues range from clone X100P cards that don't work (those that do work usually don't work for long!) to 10 year old systems that barely work to $3,000 top-of-the-line dual everything systems that Linux simply does not yet recognize because the hardware is so new that the glue isn't even dry on the motherboard. The video card is brand new, the onboard network adapter has been in production less than a month, and the SATA RAID drive adapter has been customized just for Dell. Guess what, Dude? The operating system won't load. ATTN: Everybody. Do yourself (and us) a favor. Throw your 10-year-old system in the recycle bin where it belongs. And don't replace it with the most expensive new system from Dell that you can find. We've got nothing against Dell by the way. Keep in mind that we're not loading Windows Vista Premium Deluxe that needs 10,000 horsepower to get out of bed every morning. For a Linux-based telephony server that is going to support under 100 people, the $3,000 server is just overkill and will cause many more problems than it solves. Instead, scratch together $200 and buy yourself a new WalMart Special, a.k.a. the Everex Green PC. You also can get one from NewEgg if you hate WalMart.everything. Now add a gig of RAM for $25 and call it a day. Bottom line: It works. It's reliable. It's new. And it's got performance to spare. Worried about a system failure? Then buy two of them, and we'll show you how to build mirrored servers in coming weeks.

Hardware Nightmare, Part II. For newbies that skimp on hardware, their next purchase is usually the cheapest SIP telephone on the planet. Don't! It's a Death Wish Come True. A week later you'll be wondering why all your friends say it sounds like you're calling from a tunnel. The Little Mrs., of course, has long since begun making all of her calls on a cellphone... which tells you how bad your new system really is! Our advice: Take the $200 you saved buying the WalMart Special above, and buy yourself ONE decent SIP telephone. You'll never be sorry. The Aastra 57i is a perfect phone, period. You can read why here. We even have free software that will automatically configure Aastra 57i's for you. All you have to do is plug it in. And, if you like the flexibility that comes with cordless handsets, splurge for the 57i CT for about $100 more, and you'll have the best phone plus one or more cordless handsets with incredible range.

Software Nightmare. Whether you barely understand Linux or consider yourself a Linux guru, unless you know just as much about Asterisk, save yourself (and the existing Asterisk community) weeks and weeks of headaches. Download one of the Asterisk aggregations that's already been built for you such as PBX in a Flash. In the case of PBX in a Flash, it includes all of the source code necessary to recompile anything on the system once you get your feet wet. Believe it or not, the people that put these aggregations together have decades of Linux, networking, and telephony experience. They actually know what they're doing (in most cases), and the FreePBX web interface to Asterisk that is included in most of these packages was written by some of the best Asterisk gurus on the planet. These aggregations are self-contained ISO images that include the operating system and every piece of the puzzle that you'll need to get an Asterisk system up and running in under an hour. No small feat! If you pick the right one, everything works out of the box, and you can keep it current by issuing one simple command from the Linux prompt... any time you like. It's also easy to add your own pieces down the road using the included compiler and compilation tools. For those that say "I wanna learn as I go" but don't know the difference in a Dialplan, a Bedpan, and a Portapotty (HINT: see inset), here's a tip. Start with an aggregation and then build your own Asterisk system from the ground up... in about six months after you return from Asterisk Bootcamp. In the meantime, pick up a copy of Linux for Dummies. If you're too cheap to cough up the twenty bucks, at least read Joe Roper's Conversational Linux for Newbies. It's free.

It's Your Firewall, Stupid. I wish I had a nickel for every message thread that has been written that goes something like this. "I can make calls out of my system, but the people I call can't hear me." Or vice versa. The answer is pretty simple if you stop and think about it for a second. A phone call has two participants. One talks and the other one listens. Then you take turns. At least that's the theory. For that to actually work in the world of Internet telephony, the talking legs of the call have to be able to get from Point A to Point B and from Point B to Point A. If your IP-based telephone or Asterisk system is sitting behind a firewall/router, you have to configure your router to pass the incoming data into the server and telephone on your private network. If the telephone or Asterisk system on the other end of the call happens to also be sitting behind a firewall/router, then we have what's called "double NAT issues." And, no, this doesn't refer to no-see-ums on a steamy summer night in Dixie. Bottom line: If any of this communications traffic can't find it's way to the other end, then someone can't hear all or part of the telephone conversation.

To fix NAT problems with Asterisk, you simply tell your router to forward all data received on UDP ports 4569, 5004 to 5037, 5039 to 5082, and 10000 to 20000 to the private IP address of your Asterisk server. You also must make certain that the following entries exist in /etc/asterisk/rtp.conf:

[general]
rtpstart=10000
rtpend=20000

And bindport = 5060 must exist in the [general] context of /etc/asterisk/sip.conf. The aggregations take care of the rtp.conf and sip.conf setups for you. But you must reconfigure your router/firewall. Last, but not least, you probably need to complete the next step below as well.

Wherefore Art Thou, Server? If you plan to add additional telephones to your system which are not behind the firewall with your Asterisk server, then those phones have to know the public IP address of your server... all the time. The same holds true with some Internet telephony hosting providers. In lieu of a static IP address, you can use a fully-qualified domain name, e.g. mypbx.dyndns.org. This avoids a problem if your Internet service provider only gives you a dynamic IP address which changes from time to time. There's one more step in making this work. You have to set this information up in Asterisk. Here's how.

Log into your Asterisk server as root and edit sip_custom.conf: nano -w /etc/asterisk/sip_custom.conf. The entries depend upon whether your Internet connection has a fixed IP address or a DHCP address issued by your provider. In the latter case, you also need to configure your router to support Dynamic DNS (DDNS) using a service such as dyndns.org. If you have a fixed IP address, then enter settings like the following using your actual public IP address and your private IP subnet:

externip=180.12.12.12
localnet=192.168.1.0/255.255.255.0      (NOTE: The first 3 octets need to match your private IP addresses!)

If you have a public address that changes and you're using DDNS, then the settings would look something like the following:

externhost=mypbx.dyndns.org
localnet=192.168.0.0/255.255.255.0      (NOTE: The first 3 octets need to match your private IP addresses!)

Once you've made your entries, save the file: Ctrl-X, Y, then Enter. Reload Asterisk: amportal restart. If you assigned a permanent IP address, reboot your server: shutdown -r now.

Be aware that, with some hosting providers, you may experience problems with the externhost approach outlined above. If your ISP only gives you a dynamic IP address, you still can use the externip approach above so long as you have a method to frequently verify your IP address. The approach we actually use on our network is to run a little script every 5 minutes. If it finds that your outside IP address has changed, it will automatically update your sip_custom.conf file with the new address. To use this approach, create a file in /var/lib/asterisk/agi-bin named ip.sh. For this to work, you have to be able to ping your fully-qualified domain name and get a response! Here's the code:1

#!/bin/bash
fqdn="mypbx.dyndns.org"
localnet="192.168.0.0"
externip=`ping -c 1 $fqdn | cut -f 2 -d "(" | cut -f 1 -d ")" -s ↩
| grep -m 1 ^`
if [ -e /tmp/$externip ] ; then
echo No IP Update Required ;
else
echo IP Update Required ;
touch /tmp/$externip ;
echo "externip=$externip" > /etc/asterisk/sip_custom.conf
echo "localnet=$localnet/255.255.255.0" >> /etc/asterisk/sip_custom.conf
asterisk -rx "dialplan reload" ;
fi

On line 2 of the above code, enter the fully-qualified domain name for your server that is registered with your DDNS host. Take a look at this thread for information on DNS-O-Matic which is free.

On line 3, enter the internal subnet for your server. This is usually 192.168.0.0 or 192.168.1.0. YMMV!

Save the file and give it execute permissions: chmod +x /var/lib/asterisk/agi-bin/ip.sh. Then make asterisk the file owner: chown asterisk:asterisk /var/lib/asterisk/agi-bin/ip.sh.

Finally, add the following entry to the bottom of /etc/crontab:

*/5 * * * * asterisk /var/lib/asterisk/agi-bin/ip.sh > /dev/null

Snap, Crackle, and Pop. No. Your phone calls are not supposed to sound like a bowl of Kellogg's Rice Krispies. If they do, it usually means your Internet bandwidth is insufficient to support a reliable VoIP call. Using an uncompressed codec such as ULAW, a single call requires roughly 128 kbps of bandwidth in both directions for a reliable conversation. A full T1 can handle roughly 20 simultaneous calls. If you have a dial up Internet connection, do your friends a favor. Go back to tin cans and a string. It'll work just as well and maybe better. Keep in mind that most ISPs do not offer any QOS guarantees with their service and upstream bandwidth is severely restricted. Not surprisingly, this seems to have gotten worse as more and more ISPs try to steer their customers towards their own VoIP offerings. If you have Internet bandwidth to spare but have a busy LAN, you may want to consider a router that provides increased throughput for certain types of data, e.g. SIP and IAX traffic. Most gaming routers provide good traffic shaping functionality. For example, the dLink DGL-4300 Gaming Router provides excellent results and is currently available at Amazon for under $85 after rebate. Another option is to use a different codec for your calls. See this table for the bandwidth calculations. But be aware that as VoIP data gets compressed, you also run the risk of serious degradation in calls if there is any appreciable packet loss because of the geometric effect this has on compressed data. See this thread for some other troubleshooting tips.

Got Those Disappearing Email Blues. Where did my emails go? Nowhere is the usual answer. Sending email messages with your latest voicemails attached is a wonderful feature that PBX in a Flash and other FreePBX-based systems fully support. There are two common problems in sending emails from your LAMP-based Asterisk server. Either your server isn't configured to send out email or your ISP is blocking the transmission of emails that originate from your system. It's usually easier to troubleshoot email problems by first determining whether your ISP is blocking the emails. Then it's pretty simple to test whether your server is properly configured to send the messages... but, first, a brief history lesson.

Many ISPs don't like downstream servers that function as so-called SMTP hosts because of SPAM and email relay hosts. An improperly configured SendMail server can be used to generate thousands of messages an hour from anyone with an Internet connection. One of the first SPAM messages we received after creation of the Department of Homeland Security was a message using a DHS sendmail server as an email relay host. That inspired confidence. To avoid this problem, ISPs do several things. Typically they block port 25 on their servers so that you can't send out email from downstram SMTP servers. Instead, you have to use their SMTP server to send all outbound email. Comcast takes it a step further. On some systems, they block port 25 on your cable modem so that email never leaves your home or office. Do they typically tell you when they do this? Of course not. While all of this is done in the name of reducing SPAM, it's also a convenient excuse for imposing service restrictions which also happen to save them bandwidth... which you are paying for.

To test whether your ISP is blocking port 25, log into your Asterisk server as root and issue the following command:

telnet nerdvittles.com 25

If your provider isn't blocking port 25, you should get a response like this:

Trying 69.89.21.89...
Connected to nerdvittles.com (69.89.21.89).
Escape character is '^]'
220-We do not authorize the use of this system to transport unsolicited,
220 and/or bulk e-mail.

If your ISP is blocking port 25, then the first step to get email flowing from your Asterisk server is to reconfigure SendMail in one of two ways. You can either send the messages through your ISP's SMTP server (and this won't work if port 25 is blocked on your cable modem!) or you can send secure messages using gMail as your SMTP relay host on port 587. This requires that you set up a free gMail account first. For detailed instructions on the gMail setup, go to this message thread and follow the instructions. For an example of using Comcast as your SMTP relay host using port 587, read this thread.

Now we're ready to configure your Asterisk server to reliably send out email messages. There's a simple trick to get this working. A fully-qualified domain name for your server must match the "from" address for the email messages that are sent. This domain does not actually have to be accurate so long as you don't expect to get return emails. Think of it as putting a fake return address on a letter which you mail. It doesn't keep the letter from getting to the designated destination. It just means that you'll never get it back if it were incorrectly addressed. So... our recommended scenario is to do the following. Log into your server as root and edit /etc/hosts. Insert pbxinaflash.dyndns.org in front of pbx.local and separate the entries with a space. Save the file and then restart your network: service network restart. Now edit /etc/asterisk/vm_general.inc and change the serveremail line to read as follows: serveremail=vm@pbxinaflash.dyndns.org. Save the change and reload your dialplan: asterisk -rx "dialplan reload".

Finally, we want to send a test message to be sure everything works. Then you can use FreePBX to tell Asterisk to deliver voicemails to your email address by editing your Extensions settings. To send a test message, log into your server as root and type the following using your real email address. Wait a minute and then check your mailbox (including your SPAM mailbox) to be sure you got it somewhere.

echo "test" | mail -s testmessage nerduno@dyndns.org

Decipherable TouchTones Really Are Part Magic. For the poor soul that finally has a system where he can both speak and hear on the phone (just like in the Old Days), the next hurdle usually rears its head the first time you connect to your favorite doctor's office or credit card company and need to press zero for customer service. After pressing 0 for the hundredth time, you conclude that the buttons on your phone are not working. Before too long, you rightly conclude that there's something wrong with Asterisk. Correctomundo! If you want the technical reason for why you may have lost DTMF signalling, take a look at the RFC. To put it down where the goats can get, if you go into a Chinese restaurant where only Chinese is spoken and you happen to only speak English, chances are you may leave hungry. In the world of touchtones and Asterisk, there are several different dtmfmode settings. There's one for your phone to communicate with your Asterisk server, there's another for your server to communicate with your phone, there's another for your Asterisk trunk to communicate with your provider, and there's another for your provider to talk to you. Now multiply all those combinations by two for communications with another party, and you'll have some idea of the technical hurdles... even with a perfect connection between Party A and Party B. In short, perhaps you just should be thankful you can hear the person at the other end of the call at all.

If different portions of the call are using different DTMF settings and with some compressed codecs, the touchtones cannot be deciphered at the other end of the call. There are several things you can do to improve your chances of DTMF tones working. First, use a reliable provider and buy decent phones. Second, set your server trunks, extensions, and your phones to dtmfmode=rfc2833 and see how it goes. If you still have problems, try adjusting the dtmfmode settings on just your phone and extension to some other value supported by your phone. These two must match. Try dtmfmode=inband and dtmfmode=info. Next, make certain that the dtmfmode setting for your trunk matches what your service provider is using to communicate with your server. This pair of settings must match as well. If you still don't have any luck, try a little Googling for the dtmfmode for your phone type and your provider. If it worked for someone else, chances are it will work for you. If all else fails, try another phone or a more reliable telephony service provider. Assuming you can understand them, you typically can tell whether your service provider understands the problems within about 30 seconds after the music on hold ends... which brings us to our favorite topic.

My Telephony Provider SUX. Yes. There are telephony providers and then there are telephony providers. As with most things in the world, you get what you pay for. Cheap telephony rates don't always mean crappy service, but it certainly improves your chances. All-you-can-eat plans are notoriously dangerous. Even if the telephone service is fairly good, the terms of service typically are shocking. Some even force you to agree to pay exorbitant backdated fees plus attorneys' fees if they, in their sole discretion, determine that you have used your plan for unauthorized calling.

We've got some tips that we repeat often so if you've heard them already, skip along to the next topic.

  • Rule #1: If your business depends upon incoming telephone calls, don't use VoIP telephony service for all of your incoming calls. What you may want to do is order a single business line from AT&T and take Marty Tennant's advice: "You can order an arrangement called 'call forward/busy multi-path' from AT&T (confirm this beforehand) that will allow multiple call forwarding instances to another number (the VOIP one in this case)."
  • Rule #2: Do some reading on which providers have good reputations. We also have a good list of providers that we regularly recommend.
  • Rule #3: With pay-as-you-go termination providers for outbound calls, it doesn't cost you a dime to have numerous trunks provisioned and working on your Asterisk system. If a termination fails using your preferred provider, Asterisk will simply drop down the list until it can successfully complete the call. So don't ever put all your eggs in one basket for terminations.
  • Rule #4: All-you-can eat incoming service with a free DID is still a very good deal at least in the United States and Canada. See our list for suggestions.
  • Rule #5: Toll-free numbers no longer have to be expensive. See our recommendations for reasonably priced toll-free numbers, and give your business a shot in the arm for almost nothing!

What Happened to CallerID? CallerID really is the last vestige of the old Ma Bell monopoly. CallerID numbers are easily deciphered on almost all Asterisk systems regardless of your DID provider. This is true on inbound and outbound calls. CallerID name is a different story. The short answer is that the Baby Bells all maintain their own telephone directories. And chances are you're not in it if you're using VoIP telephony service. These companies seek to preserve their telephone monopoly by *NOT* processing CallerID names that are received from "foreign" systems. Instead, they take the CallerID number that is provided and look up the name in their proprietary directory. No entry = No CallerID Name display. So... the short answer is that, for outbound calls from your system, it does no good to send CallerID Name information. Almost every provider throws it in the bit bucket.

That still doesn't explain why you can't get CallerID names for incoming calls. Here's where your DID provider matters. Some of them subscribe to baby Bell-supported service that provides the names, and others don't. If your DID provider doesn't, then you can either set up your own service to supply CallerID name information, or you can get a new DID provider. For the best homegrown CallerID name service, we recommend Ultimate CNAM from Titanous. It works well on all PBX in a Flash systems and is extremely flexible in the choices provided for name lookups. It currently supports eight lookup providers: AsteriDex, WhoCalled.Us (registration required), Whitepages.com, AnyWho.com, Canada411.com, Google Phonebook, TelcoData (Ratecenter), and Fonetastic (Ratecenter).

My Passwords Don't Work Any Longer. What is it about Asterisk that makes everyone want to screw around improving their passwords? Leave them alone! So long as your initial root password is secure, you're absolutely safe from intruders except someone with physical access to your machine (even on the Internet) if you just do the following. First, using a web browser, go to the IP address of your new server. Click on Administration and then Menu Configuration and enter an Admin password that is as secure as your root password. Second, open FreePBX and click on Setup and then Administrators. Change the password for admin to something equally secure. Third, go to the Linux command prompt. Type each of the following commands and enter a secure password for each.

passwd-maint
passwd-amp
passwd-meetme
passwd-webmin

Now leave your damn passwords alone for at least six months unless you are tortured and forced to reveal all of your innermost secrets. If the annoying FreePBX password reminders bug you, then go to this link and follow the instructions to make the reminders disappear. Then leave your system alone for a week to make sure everything works reliably. Now you're free to add one new thing every other day checking often to make sure it didn't break something that was previously working. When you add ten new things at once, it's virtually impossible to put Humpty back together again. But, of course, you knew that. Enjoy!


PiaF Without Tears. Ben Sharif's PiaF Without Tears tutorial (all 208 pages) was released last week. For those that haven't yet taken a look, you're missing a treat!

Coming Attractions. With the new PBX in a Flash 1.2 release, there now are four different versions of Asterisk that can be installed: 32-bit Asterisk 1.4, 64-bit Asterisk 1.4, 32-bit Asterisk 1.6-beta, and 64-bit Asterisk 1.6-beta. Next week we'll address the installation issues with the Nerd Vittles applications using each of these new systems and expose a few more potholes in the Asterisk minefield. And we may have a new AsteriDex 4 add-on for you as well.

Nerd Vittles Cepstral Demos with Allison TTS (courtesy of les.net). You now can take some Nerd Vittles projects for a test drive... by phone! And it provides a good example of the VoIP quality you can expect with hosted service from Aretta Communications. The current demos include all five new applications preconfigured for Cepstral with the Allison TTS voice: (1) MailCall for Asterisk with password 1234 (retrieve POP3 email by phone), (2) NewsClips for Asterisk (latest news headlines in dozens of categories), (3) Weather Forecasts by U.S. Airport Code, (4) Weather Forecasts by U.S. ZIP Code, and (5) Worldwide Weather Forecasts.

The WalMart Special. We continue to believe that the Everex gPC (aka The WalMart Special) is an almost perfect server for Asterisk implementations with less than 30 simultaneous calls and up to 100 or so extensions. At $199, you can't beat the price. To make things even easier, we will have a preconfigured 2-CD ISO installation set for either the 32-bit Asterisk 1.4 or 1.6-beta version of PBX in a Flash in the next few weeks. It'll include all of the Nerd Vittles goodies plus a full system automatic backup system. All you'll need to add is a 4GB flash drive (about $15) for your weekly backups, and you'll never have to worry about losing your system again! So order your unit, and you'll be ready for the rollout. Here's the WalMart link and the NewEgg link for the latest hardware version. Add a gig of RAM for $25, and you'll have the perfect telephony server platform to begin your Asterisk adventure.


 

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. Join the following line as part of the line above when you see the ↩ character in the code. []