Home » Technology » Telephony (Page 78)

Category Archives: Telephony

The Most Versatile VoIP Provider: FREE PORTING

Introducing the Asterisk WiFi HotSpot Finder

blankWe’re all rested up now that we’ve had a little R&R time. So today we’ve put together an application requested by one of our loyal readers. It’s an Asterisk®-based WiFi HotSpot Locator. All you do is pick up a telephone on your Asterisk system and dial WiFi. Then plug in any U.S. zip code and wait for E-Gor to read you the addresses of the closest Wi-Fi Hot Spots. We initially had planned to include all of the free FON hot spots, but their database is going to take a little work to get it into proper shape for use in this application. So we decided to save the FON hot spots for version 2. In the meantime, there’s a terrific (meaning free) WAP service for cellphone users at wap.4info.net that works quite well for our purposes today. As with some of our other software, this application is provided as an educational tool to teach you how to write Asterisk AGI scripts, and it should only be used for personal, non-commercial purposes.

We’ve previously covered the basics of writing a PHP script that can be used by Asterisk to retrieve data over the Internet. All of our weather applications perform this magic. So the only trick today was parsing results to determine whether a WiFi Hot Spot was commercial or free. That matters to some folks… like us. So when you set up the Asterisk WiFi HotSpot Finder, you can configure it to retrieve only free hotspots, only commercial hotspots, or all hotspots. As installed, you get the kitchen sink. Simply adjust the $PayWiFi and $FreeWiFi flags if you prefer a different list. As was true with the Nerd Vittles Weather Applications, you also need to add a chunk of code to the extensions_custom or extensions_trixbox config file and restart Asterisk. Then you’ll be off to the races. Pick up a phone on your system and dial 9434 ("WiFi"). When prompted for a zip code, key in a 5-digit zip code. After a brief pause, Flite will read you the names and addresses of up to 10 Wi-Fi Hot Spots at or near the zip code you entered. It doesn’t get much easier than that.

Rather than repeat the entire tutorial here, we’ve posted the complete documentation including the code on our Best of Nerd Vittles site which has a much more flexible and intuitive interface for documenting applications. Enjoy!


The Year of Flash. If you’re a slow learner like us, be glad you waited until now to tackle Adobe’s Flash technology. The unbelievably simple tools that are now available to build Flash applications are nothing short of mind-boggling. We’ve been prototyping some of this technology for a new neighborhood web site. Have a look at this link, and click around the various Flash applets. We built it all from nothing in UNDER 3 HOURS! They look almost as good as Apple’s Dashboard Widgets except they’ll run on any platform: Windows, Mac, or Linux. All you need is a current web browser with a Flash Player to run these babies. Internet Explorer, Firefox, and Safari all work just fine. If you want to do a little experimenting, here’s the deal of the year. The best flash tools on the planet are made by CoffeeCup Software. A close runner-up is Amara Software. You can visit their sites and get free demos to try out. Then you can buy all the tools from CoffeeCup for about $700 or from Amara for $129… or you can sign up for a year of hosting with Lunarpages and get every single CoffeeCup application for free. And, just so you don’t feel totally ripped off by the one-year web hosting fee of $84, Lunarpages throws in support for 10 domains, 250 gigs of storage space, 2.5 terabytes of monthly bandwidth, and a free domain registration for as long as you host with them. Use the coupon code blog25 when you sign up to save an additional $25. That makes the total cost $59 for all you math wizards. Our site link to the Flash Widgets is actually hosted at Lunarpages so you can judge the performance for yourself. If you want them to back up your data every night and restore any or all files from a backup at any time, add another whopping $1.50 a month. Yes, we get a spiff if you sign up using our link. Sure beats clicking on the Donate button, doesn’t it? And, if you happen to work in a K/12 school, the deal is even sweeter: the web hosting is free and so are five of the very best CoffeeCup Software applications. Now go learn something new or, better yet, teach it to a kid!


blankNerd Vittles Demo Hot Line (courtesy of les.net). You now can take a number of Nerd Vittles projects for a test drive… by phone! The current demos include (1) MailCall for Asterisk with password 1111 (retrieve your email by phone), (2) NewsClips for Asterisk (latest news headlines in dozens of categories), (3) Weather Forecasts by U.S. Airport Code, and (4) Weather Forecasts by U.S. ZIP Code. You’re not prompted for #4 yet, but it does work! Just call our number (shown in the left margin) and take any or all of them for a spin. The sound quality may not be perfect due to performance limitations of our ancient Intel 386 demo machine. But the price is right.

Nerd Vittles Fan Club Map. Thanks for visiting! We hope you’ll take a second and add yourself to our Frappr World Map compliments of Google. 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 as well.


Some Recent Nerd Vittles Articles of Interest…

No Asterisk on Cruise Ships … Yet

blankMy in-law’s once-removed (see if you can figure that one out) chartered one of the finest cruise ships on the planet last week to take 200 of their closest friends on a seven-day cruise in the Caribbean. Do you have 200 close friends?? If you’ve watched the movie Speed 2: Cruise Control, you’ve seen this ship up close. They chartered the ship for several months to make the movie. There were actually 197 passengers and 179 crew on the ship for our cruise so life was pretty good… for a week. Now I’m cooking my own breakfast again. We were lucky enough to squeak onto the invitation list for the bottom deck. Actually, there was no bottom deck. Every room was palatial with digital TV, a DVD Player, thousands of free DVD movies, unlimited booze, slot machines, and… Well, you get the idea.

For those that live and breathe technology (like we do), I thought you might enjoy a brief technical update on cruising as it pertains to Internet and telephony use, especially Asterisk® and Skype. We set sail in St. Thomas for the West Indies with stops in Antigua, St. Martin, Virgin Gorda, and Nassau before returning to Fort Lauderdale. You can click on the photo to visit our Photo Gallery if photography happens to be one of your pastimes or if you just want to see what you missed.

Cruising and the Internet. Those two big round balls you see on the top deck of the Seabourn Legend are actually antennas that provide Internet service via satellite 24/7. We’re accustomed to Comcast’s 8 megabit service in Charleston, and it’s not quite that good. But it’s pretty damn fast. That’s the good news. The not so good news is that it’s still expensive, and the bandwidth is shared between Internet surfers and those wishing to make phone calls from the ship. Phone calls from the ship are $4.95 a minute, and Internet service via a ship-wide Wi-Fi HotSpot is $25 an hour. As you might imagine, while others were soaking up the sun, I was quizzing the Captain and Hotel Manager about unlimited service, cost, bandwidth, and better telephony solutions. They were very attentive. This technology is less than a year old. While there have been other providers for several years, reliability has been pretty terrible until now. As with any Internet service provider, the next step is figuring out how much bandwidth you actually need and whether it is cost effective to implement all-you-can-eat Internet service. Disney and some of the other big ships already have it, but 3,000 people sharing a satellite link is not exactly broadband at its finest. Seabourn, on the other hand, has ships that are technology marvels in and of themselves, and they want nothing less than the best Internet experience for every one of their 200 passengers. I’d give it one more year unless you have deep pockets. And, after signing up for a Seabourn cruise, you probably won’t.

Once we got past the sticker shock of $25 an hour Internet service, Plan B was to figure out a way to use Asterisk or Skype to beat the $4.95 a minute telephony charges. After all, even at $25 an hour, that works out to just over 40¢ a minute which is less than one-tenth the cost of their telephony offering. More bad news unfortunately. The service provider who set up the system has locked down all ports except port 80. Yes, Skype and Asterisk can live with port 80, but all of the UDP ports were blocked as well so home-grown IP telephony was pretty much dead. According to the hotel manager, they will unlock other ports as soon as they get the system stabilized. And unlimited Internet service is also on the drawing board. The temporary high cost is designed primarily to discourage heavy usage until they can put sufficient bandwidth in place to support the 10% of passengers who will probably use it.

Cellphone Service Onboard Ship. Seabourn is about half way through providing transparent cellphone service onboard every one of their ships all the time. The only prerequisitie is a GSM phone which left our Sprint service dead in the water, literally. Many onboard with Cingular service made and received calls regularly, and their Blackberrys had no trouble receiving and sending messages. Just wait until they get home and discover that all those calls were billed at $2.95 or more per minute. Roaming outside the U.S. isn’t included in any U.S. cellphone plans that we know of. Until Skype or Asterisk work, the real key to inexpensive telephone calls while cruising the world is to buy an unlocked Quadband GSM phone and then purchase a local SIM card at each destination. They are readily available within 100 yards of the dock so don’t bother to take one with you. If you don’t own an unlocked GSM phone, you can even rent one for about $35 a week. If you’d prefer to purchase a SIM card in advance of your trip, use Google to search for the country of interest: free incoming calls gsm sim card "antigua". Once known only for its postage stamps, the Principality of Liechtenstein has become the SIM card mecca of the universe, much like what Iowa has done for free international calling from the United States.

Using the One Ringy-Dingy Phone Trick. Be sure you purchase a local SIM card that includes free incoming calls. Why? Because you then can use Nerd Vittles’ One Ringy-Dingy Phone Trick to call your home Asterisk system from your new GSM phone, let it ring once, hang up, and let your Asterisk system call you back with outbound dialtone using DISA. Actually, this has gotten considerably easier since our original article 18 months ago. Newer versions of freePBX include a Callback option which does all the work for you without writing a single line of code:


http://AsteriskIPaddress/admin/config.php?type=setup&display=callback

If you want a more flexible SIM card that works in most countries with low-cost inbound calls, try a service such as United Mobile. Their incoming call rates for Antigua from the U.S. are 19¢ a minute. In 80 countries whose territory doesn’t look like an Island, the incoming calls are free. Doing the math, you’d pay 19¢ a minute for the inbound cell call plus your Asterisk rate from your U.S.-based Asterisk server to your assigned cellphone number from United Mobile. That total will almost always be considerably less than the outbound U.S. calling rate on your SIM card.

If you have additional telephony tips for those traveling around the globe, feel free to leave a comment and share it with our readers. Enjoy your cruise! We did.


blankNerd Vittles Demo Hot Line (courtesy of les.net). You now can take a number of Nerd Vittles projects for a test drive… by phone! The current demos include (1) MailCall for Asterisk with password 1111 (retrieve your email by phone), (2) NewsClips for Asterisk (latest news headlines in dozens of categories), (3) Weather Forecasts by U.S. Airport Code, and (4) Weather Forecasts by U.S. ZIP Code. You’re not prompted for #4 yet, but it does work! Just call our number (shown in the left margin) and take any or all of them for a spin. The sound quality may not be perfect due to performance limitations of our ancient Intel 386 demo machine. But the price is right.

Nerd Vittles Fan Club Map. Thanks for visiting! We hope you’ll take a second and add yourself to our Frappr World Map compliments of Google. 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 as well.

Keeping Telemarketers At Bay With TrixBox and freePBX-Enabled Asterisk Systems

blankJust when you thought the National Do-Not-Call Registry was getting you some peace and quiet during the dinner hour, VoIP telephony comes into its own and gives the telemarketers a brand new universe to pollute. And, of course, the politicians exempted themselves and non-profits from the Do-Not-Call rules anyway. So the unwanted dinnertime calls from your best friends at campaign headquarters and the Fraternal Order of Police will always need to be dealt with. Lucky for all of us, there’s an Asterisk® PBX standing between the telemarketers and the dinner table. We first wrote about this 16 months ago so we wanted to provide an update showing how much simpler things have become with TrixBox and any other Asterisk system running freePBX 2.2.x. In the "old days" you had to do a good bit of mucking around in the Asterisk code to blacklist callers. And that method still works. However, you now can avoid the coding knuckle drill. With the latest versions of freePBX, you can send a special information tone to certain callers to block autodialers just by adding the unwanted numbers to your BlackList. There’s no code to modify at all. And there are three simple ways to manage your blacklist. Here’s how.

BlackListing Callers With freePBX. freePBX 2.2.x now includes all the tools you’ll need to block unwanted calls. If you’re running one of the free TrixBox 1.2.3 systems at the top of this page, we’ve already provided a tutorial to get your freePBX system upgraded. Once you’ve done that or if your running TrixBox 2.x, to block calls from unlisted numbers, simply log into freePBX and choose Setup, General Settings, and set Allow Anonymous Inbound SIP Calls to No. This may cause too many calls to be blocked with some hosting providers. Another option is to set Privacy Manager to Yes in each of your Inbound Routes setups. This forces Asterisk to prompt callers for their phone number when no CallerID is provided. If there are old girlfriends and ex-wives that you’d prefer to never hear from again, choose Setup, Blacklist, and plug in the numbers. When they call, they’ll be greeted by a disconnect tone and a message that your number is no longer in service. It’s as simple as that. If you change your mind, you can remove numbers from your blacklist just as easily. freePBX now displays the list of all the numbers you’ve blacklisted. Just click Delete beside the number you wish to remove from your blacklist, and you’re done. It doesn’t get much easier than that.

BlackListing Callers Using Your Phone. You may not always want to run to your computer to block future calls from someone that annoys you. freePBX now includes built-in support for blacklisting callers using any telephone on your Asterisk system. If you’ve just hung up and wish to blacklist the last caller, pick up your telephone and dial *32. You’re done. If you want to manually enter a different number into your blacklist, pick up any phone on your system and dial *30. Enter the number to be blacklisted when prompted. To remove a number from your blacklist, dial *31 and enter the number to be removed.

BlackListing Callers Using Phone Genie for Asterisk. If you’ve installed our free Phone Genie for Asterisk web utility, you also can blacklist callers by sending an HTML command to your Asterisk server using any web browser including the one on your cellphone.

To add a number to your blacklist, just enter a command like this where 192.168.0.123 is the IP address or fully-qualified domain name of your Asterisk server, 6781234567 is the number to be blacklisted, and 1234 is your admin password for Phone Genie:

http://192.168.0.123/nv-genie.php?action=dbput&family=blacklist&key=6781234567&value=1&pw=1234

To remove the same number from your blacklist, the web command would look like the following:

http://192.168.0.123/nv-genie.php?action=dbdel&family=blacklist&key=6781234567&pw=1234

To display the numbers in your blacklist, the web command would look like the following:

http://192.168.0.123/nv-genie.php?action=dbshow&family=blacklist&pw=1234

You’re an expert now. So just sit back and wait for the Bad Guys to call. They will.

blank Our Special Thanks. We’re actually out cruising in the middle of the Carribean this week soaking up a little sun. So don’t be frustrated if your comments don’t get posted until next week. We did want to take a moment to thank all you for reading Nerd Vittles. About 50,000 folks from 137 countries around the globe read Nerd Vittles every week. The Nerd Vittles Official Flag at left shows all of your home towns, and that’s just this month. Incidentally, the countries are ordered by the number of actual visitors from each country. We like detail work unfortunately. InfoWorld finally discovered Open Source VoIP this week, and Vonage would do well to brush up on the advantages of open source VoIP… within the next two weeks. The VoIP Revolution is, of course, old news to us and to you. But it does demonstrate that our little secret is becoming front page news worldwide almost every day. Thanks again for your support. And, yes, we’re still looking for a few good advertisers. You don’t get a huge ad, but you get an enormous, focused, loyal group of readers. And we’ve got the cheapest ads on the planet, just $500 a month. Give it a shot. You won’t be disappointed, and you’ll be helping us hire some H-E-L-P, not to mention paying for these Carribean junkets.

Security Reminder. If the version of Asterisk displayed when you start up the Command Line Interface (asterisk -r) predates Asterisk 1.2.17, your system is extremely vulnerable to a SIP denial of service attack. For complete upgrade instructions, read this Nerd Vittles article.


blanktrixbox Appliance. In case you missed it, Fonality has announced a new line of turnkey trixbox appliances. Two-port and six-port configurations as well as models with one and two preconfigured T1’s, mirrored drives, and redundant power supplies will be available for purchase in June starting at $999 for the base model. Stay tuned to Nerd Vittles for a sneak peak and test drive of what’s coming. In the meantime, you can read all about the new line of trixbox appliances by clicking on the link at the top of the page. Great idea!


blankNerd Vittles Demo Hot Line (courtesy of les.net). You now can take a number of Nerd Vittles projects for a test drive… by phone! The current demos include (1) MailCall for Asterisk with password 1111 (retrieve your email by phone), (2) NewsClips for Asterisk (latest news headlines in dozens of categories), (3) Weather Forecasts by U.S. Airport Code, and (4) Weather Forecasts by U.S. ZIP Code. You’re not prompted for #4 yet, but it does work! Just call our number (shown in the left margin) and take any or all of them for a spin. The sound quality may not be perfect due to performance limitations of our ancient Intel 386 demo machine. But the price is right.

Nerd Vittles Fan Club Map. Thanks for visiting! We hope you’ll take a second and add yourself to our Frappr World Map compliments of Google. 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 as well.


Some Recent Nerd Vittles Articles of Interest…

March Madness: Another Asterisk Security Hole in TrixBox Systems

blankHere we go again. It's a repeat of the week before last when everything gets put on hold in order to patch (another) denial of service security problem with Asterisk®. All versions are apparently affected. We obviously can't provide step-by-step instructions for each and every version of Asterisk@Home and TrixBox. But we have thousands of loyal readers that depend upon TrixBox 1.2.3 systems in a production environment. So today's column is for these folks. Our special thanks to Bubba for lending a technical hand as well. This should work reliably on all Nerd Vittles editions of TrixBox 1.2.3. That includes PBX-in-a-Flash implementations on Linux systems as well as Nerd Vittles VMware builds of TrixBox 1.2.3 which run on Windows and Mac desktop systems. If you're running a different system, you'll have to read between the lines and do the best you can. Based upon the results two weeks ago, this fix should also work on Trixbox 2.x systems. If you really get stumped, post your questions on the TrixBox forums and someone will come to your rescue. Make a backup of your system before you begin. For an excellent free backup solution, visit Thomas King's site for Backup 2 and follow the instructions.

The Asterisk Security Problem. The issue involves a hole which allows an improperly formatted SIP packet to crash your server. For more details, go here. In the scheme of things, security problems don't get much worse than this one. All Asterisk servers accept SIP INVITE packets so all Asterisk servers can be crashed from any remote location. New versions of both Asterisk and Zaptel are again available, and today we'll show you how to apply the upgrade to Nerd Vittles TrixBox 1.2.3 systems.

Getting the Latest Kernel Source for TrixBox. If you went through this knuckle-drill two weeks ago, you can skip this step. Otherwise, be aware that TrixBox systems don't ship with kernel source code so we have to begin there before we have the necessary pieces in place to compile the new version of Asterisk and Zaptel. Log into your Asterisk server as root and issue the following command:

yum -y install kernel-devel kernel

Addressing the RedHat Bug. Every time there is an update using the Asterisk kernel, module support needs to be rebuilt using the new kernel. Unfortunately, a RedHat bug (inherited by CentOS) causes the rebuilding process to fail. Here's the fix. Log into your new server as root and issue the following commands to determine which new kernel source was loaded on your system:

cd /usr/src/kernels
ls

You should see an entry that looks something like this: 2.6.9-34.0.2.EL-something. Depending upon the processor in your system, the something may be different than our machine. Write down the name of the new kernel directory and substitute it below for 2.6.9-34.0.2.EL-i686. Now issue these commands:

cd /usr/src/kernels/2.6.9-34.0.2.EL-i686/include/linux
mv spinlock.h spinlock.h.old
wget http://nerdvittles.com/trixbox/spinlock.h
shutdown -r now

Fixing a Source Code Wrinkle. At least one of the existing (older) source modules in the TrixBox 1.2.3 build will cause Asterisk to fail to restart after updating Asterisk. The simple fix below solved it for us. Your mileage may vary. If you have problems, look at the tail of the Asterisk error log (tail /var/log/asterisk/full) and then find the offending source module in the directory shown below. Rename the module and try the compiles again. Here's the error we received (app_speech_utils.so: Asterisk died with code 1.) and what solved it for us without breaking anything (actually it apparently does break Lumenvox; see Comment #7 from two weeks ago if you're using Lumenvox):

cd /usr/lib/asterisk/modules
mv app_speech_utils.so app_speech_utils.so.old

Installing Asterisk 1.2.17 and Zaptel 1.2.16. Now we're ready to install the Asterisk and Zaptel updates. While still logged in as root, execute the following commands in order:

amportal stop

cd /usr/src
wget http://ftp.digium.com/pub/telephony/zaptel/zaptel-1.2.16.tar.gz
wget http://ftp.digium.com/pub/telephony/libpri/libpri-1.2.4.tar.gz
wget http://ftp.digium.com/pub/telephony/asterisk/asterisk-1.2.17.tar.gz
wget http://ftp.digium.com/pub/telephony/asterisk/asterisk-addons-1.2.5.tar.gz

tar -zxvf zaptel-1.2.16.tar.gz
tar -zxvf libpri-1.2.4.tar.gz
tar -zxvf asterisk-1.2.17.tar.gz
tar -zxvf asterisk-addons-1.2.5.tar.gz

cd zaptel-1.2.16
make clean
make install
cd ..

cd libpri-1.2.4
make clean
make install
cd ..

cd asterisk-1.2.17
make clean
make install
cd ..

cd asterisk-addons-1.2.5
make clean
make install
cd ..

shutdown -r now

Now rebuild support for your ZAP devices or ztdummy if you have no ZAP devices. Log in as root again and type the following command: rebuild_zaptel. Then reboot your system: shutdown -r now. Now log in as root again. If you have zaptel devices, type modprobe wcfxo. Whether you have zaptel devices or not, type amportal stop and then genzaptelconf. Reboot your system again, and you should be back in business with a rock solid Asterisk system. Be sure to read the comments below as well as the original comments (especially 5, 8, 10, and 11) if this is your first attempt to patch Asterisk. There was a slight glitch with Music on Hold and the Voicemail introductory message, but we've found the fixes for both of those, and they're documented in the original comments if you run into the same problems. Enjoy!

P.S. There now is also a scripted solution to this update if you prefer auto-pilot. Here's the link.


blanktrixbox Appliance. In case you missed it, Fonality has announced a new line of turnkey trixbox appliances. Two-port and six-port configurations as well as models with one and two preconfigured T1's, mirrored drives, and redundant power supplies will be available for purchase in June starting at $999 for the base model. Stay tuned to Nerd Vittles for a sneak peak and test drive of what's coming. In the meantime, you can read all about the new line of trixbox appliances by clicking on the link at the top of the page. Great idea!


blankNerd Vittles Demo Hot Line (courtesy of les.net). You now can take a number of Nerd Vittles projects for a test drive... by phone! The current demos include (1) MailCall for Asterisk with password 1111 (retrieve your email by phone), (2) NewsClips for Asterisk (latest news headlines in dozens of categories), (3) Weather Forecasts by U.S. Airport Code, and (4) Weather Forecasts by U.S. ZIP Code. You're not prompted for #4 yet, but it does work! Just call our number (shown in the left margin) and take any or all of them for a spin. The sound quality may not be perfect due to performance limitations of our ancient Intel 386 demo machine. But the price is right.

Nerd Vittles Fan Club Map. Thanks for visiting! We hope you'll take a second and add yourself to our Frappr World Map compliments of Google. 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 as well.

Introducing Phone Genie for Asterisk (Web Edition)

From Our Disney Cruise Family ScrapbookToday we’re finishing up the Phone Genie for Asterisk® project by introducing version 2.0. For those that missed the original article last month, you might want to start there. Phone Genie for Asterisk is an all-purpose web utility that lets you reconfigure virtually anything and everything on your Asterisk system on the fly using an incredibly powerful HTML command language that you can master in a matter of minutes. All you’ll need is a web browser including most cellphone web browsers as well. And, of course, it’s free just like version 1.0.

What Phone Genie 1.0 provided was a web interface to the complete Asterisk Manager API. With version 2.0, you now get HTTPS secure web access as well as a web interface to both the Asterisk Command Line Interface (CLI) and the Linux command prompt with bash command and script support as well. And all this power is accessible using nothing more than simple web requests. As in the original version, Phone Genie 2.0 also provides complete control over Asterisk’s internal database: dbget to query the Asterisk internal database, dbput to add and update information in the database, dbdel to delete records from the database, and dbshow to display all or a subset of the Asterisk database contents.

Do you have to be a whiz kid to use the Phone Genie? Not at all. In fact, all you really need to do is download the application into the default web directory on your Asterisk, TrixBox, or Asterisk@Home web server, and keep reading. We’ve tested Phone Genie with versions of Asterisk@Home dating back to 2.8, and it should work with all the latest TrixBox releases as well.

Security Warning. Phone Genie 2.0 includes two password schemes to protect your Asterisk system from intrusion and/or destruction. Without secure passwords, Phone Genie is about as dangerous a tool as you can imagine. Anything and everything on your Asterisk server can be destroyed by anyone who gains access to Phone Genie with the administrator password. If you’re not going to change the default password, you might as well put your Asterisk server on your front curb.

Installation. To download the new software and for the complete write-up on installation and security setup as well as examples of all the web commands supported by Phone Genie 2.0, visit our Best of Nerd Vittles site. While you’re there, take a look around. There are loads of new Asterisk goodies that are free for the taking. There’s also a new Best of Nerd Vittles RSS Feed to keep you up to date on additions and changes on the site. Enjoy!


blankNerd Vittles Demo Hot Line (courtesy of les.net). You now can take a number of Nerd Vittles projects for a test drive… by phone! The current demos include (1) MailCall for Asterisk with password 1111 (retrieve your email by phone), (2) NewsClips for Asterisk (latest news headlines in dozens of categories), (3) Weather Forecasts by U.S. Airport Code, and (4) Weather Forecasts by U.S. ZIP Code. You’re not prompted for #4 yet, but it does work! Just call our number (shown in the left margin) and take any or all of them for a spin. The sound quality may not be perfect due to performance limitations of our ancient Intel 386 demo machine. But the price is right.

Nerd Vittles Fan Club Map. Thanks for visiting! We hope you’ll take a second and add yourself to our Frappr World Map compliments of Google. 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 as well.


Some Recent Nerd Vittles Articles of Interest…

Fixing the Asterisk Security Hole in TrixBox Systems

blankIt's one of those unfortunate weeks when everything gets put on hold in order to patch a denial of service security problem with Asterisk®. All versions are apparently affected. We obviously can't provide step-by-step instructions for each and every version of Asterisk@Home and TrixBox. But we have thousands of loyal readers that depend upon TrixBox 1.2.3 systems in a production environment. So today's column is for these folks. Our special thanks to Bubba for lending a technical hand as well. We've tested this pretty carefully on Nerd Vittles editions of TrixBox 1.2.3.

Update: For the latest information, please read our Primer on Asterisk Security.

If you're running a different system, you'll have to read between the lines and do the best you can. It reportedly works fine to upgrade Trixbox 2.x sysems as well. If you really get stumped, post your questions on the TrixBox forums and someone will come to your rescue. Make a backup of your system before you begin. For an excellent free backup solution, visit Thomas King's site for Backup 2 and follow the instructions.

The Asterisk Security Problem. The issue involves a hole which allows an improperly formatted SIP packet to crash your server. For more details, go here. In the scheme of things, security problems don't get much worse than this one. All Asterisk servers accept SIP INVITE packets so all Asterisk servers can be crashed from any remote location. New versions of both Asterisk and Zaptel are now available, and today we'll show you how to apply the upgrade to Nerd Vittles TrixBox 1.2.3 systems.

Getting the Latest Kernel Source for TrixBox. TrixBox systems don't ship with kernel source code so we have to begin there before we have the necessary pieces in place to compile the new version of Asterisk and Zaptel. Log into your Asterisk server as root and issue the following command:

yum -y install kernel-devel kernel

Addressing the RedHat Bug. Every time there is an update using the Asterisk kernel, module support needs to be rebuilt using the new kernel. Unfortunately, a RedHat bug (inherited by CentOS) causes the rebuilding process to fail. Here's the fix. Log into your new server as root and issue the following commands to determine which new kernel source was loaded on your system:

cd /usr/src/kernels
ls

You should see an entry that looks something like this: 2.6.9-34.0.2.EL-something. Depending upon the processor in your system, the something may be different than our machine. Write down the name of the new kernel directory and substitute it below for 2.6.9-34.0.2.EL-i686. Now issue these commands:

cd /usr/src/kernels/2.6.9-34.0.2.EL-i686/include/linux
mv spinlock.h spinlock.h.old
wget http://nerdvittles.com/trixbox/spinlock.h
shutdown -r now

Fixing a Source Code Wrinkle. At least one of the existing (older) source modules in the TrixBox 1.2.3 build will cause Asterisk to fail to restart after updating Asterisk. The simple fix below solved it for us. Your mileage may vary. If you have problems, look at the tail of the Asterisk error log (tail /var/log/asterisk/full) and then find the offending source module in the directory shown below. Rename the module and try the compiles again. Here's the error we received (app_speech_utils.so: Asterisk died with code 1.) and what solved it for us without breaking anything (actually it apparently does break Lumenvox; see Comment #7 below for how to fix it):

cd /usr/lib/asterisk/modules
mv app_speech_utils.so app_speech_utils.so.old

Installing Asterisk 1.2.16 and Zaptel 1.2.15. Now we're ready to install the Asterisk and Zaptel updates. While still logged in as root, execute the following commands in order:

amportal stop

cd /usr/src
wget http://ftp.digium.com/pub/telephony/zaptel/zaptel-1.2.15.tar.gz
wget http://ftp.digium.com/pub/telephony/libpri/libpri-1.2.4.tar.gz
wget http://ftp.digium.com/pub/telephony/asterisk/asterisk-1.2.16.tar.gz
wget http://ftp.digium.com/pub/telephony/asterisk/asterisk-addons-1.2.5.tar.gz

tar -zxvf zaptel-1.2.15.tar.gz
tar -zxvf libpri-1.2.4.tar.gz
tar -zxvf asterisk-1.2.16.tar.gz
tar -zxvf asterisk-addons-1.2.5.tar.gz

cd zaptel-1.2.15
make clean
make install
cd ..

cd libpri-1.2.4
make clean
make install
cd ..

cd asterisk-1.2.16
make clean
make install
cd ..

cd asterisk-addons-1.2.5
make clean
make install
cd ..

shutdown -r now

Now rebuild support for your ZAP devices or ztdummy if you have no ZAP devices. Log in as root again and type the following command: rebuild_zaptel. Then reboot your system: shutdown -r now. Now log in as root again. If you have zaptel devices, type modprobe wcfxo. Whether you have zaptel devices or not, type amportal stop and then genzaptelconf. Reboot your system again, and you should be back in business with a rock solid Asterisk system. Be sure to read the comments below, especially Comment #5. There was a slight glitch with Music on Hold, but we've found the fix for that as well. Enjoy!


blankblankNerd Vittles Demo Hot Line (courtesy of les.net). You now can take a number of Nerd Vittles projects for a test drive... by phone! The current demos include (1) MailCall for Asterisk with password 1111 (retrieve your email by phone), (2) NewsClips for Asterisk (latest news headlines in dozens of categories), (3) Weather Forecasts by U.S. Airport Code, and (4) Weather Forecasts by U.S. ZIP Code. You're not prompted for #4 yet, but it does work! Just call our number (shown in the left margin) and take any or all of them for a spin. The sound quality may not be perfect due to performance limitations of our ancient Intel 386 demo machine. But the price is right.

Nerd Vittles Fan Club Map. Thanks for visiting! We hope you'll take a second and add yourself to our Frappr World Map compliments of Google. 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 as well.

Introducing Nerd Vittles Phone Genie for Asterisk

From Our Disney Cruise Family ScrapbookEver left your home or office and wished you had transferred your calls to your cellphone before you departed. Unless you've done a good bit of design work on your Asterisk® PBX or paid Ma Bell half your monthly paycheck, you're probably S.O.L. until you return to home base. Well, at least until today. Today we introduce version 1.0 of Phone Genie for Asterisk, an all-purpose web utility that lets you reconfigure virtually anything and everything on your Asterisk system on the fly using an incredibly powerful HTML command language that you can master in a matter of minutes. All you'll need is a web browser including most cellphone web browsers as well. And, of course, it's free.

The easiest way to explain how powerful Phone Genie for Asterisk really can be is to give a few examples. So, let's assume you've registered a fully-qualified domain name for your Asterisk server using a free service such as DynDNS.org. Let's use asterisk.dydns.org in our example. Now you're on the road and want to forward calls from extension 200 on your PBX in a Flash system to your cellphone: 678-234-5678. All you need to do is open the browser on your cellphone or any desktop PC and enter the following web address:

http://asterisk.dyndns.org/nv-genie.php?action=dbput&family=CF&key=200&value=6782345678&pw=1234

If you're new to Asterisk, a few hints may be in order. What the Nerd Vittles' Phone Genie does is provide a web interface to the complete Asterisk Manager API. If you also happen to be using the Asterisk Management Portal or freePBX, then the sky's the limit since there are dozens of functions you can execute by simply manipulating data stored in Asterisk's internal database. We'll give you some examples today, and add many more in the coming weeks and months. For today, you'll have to settle for the Phone Genie Starter Kit with three critical Asterisk Manager tools. These three tools give you complete control over Asterisk's internal database: dbget to query the Asterisk internal database, dbput to add and update information in the database, and dbdel to delete records from the database. For the Asterisk whiz kids out there, you're probably chuckling that there's no such command as dbdel in the Asterisk Manager API. And you'd be right, but now there is... at least with the Nerd Vittles Phone Genie.

Do you have to be a whiz kid to use the Phone Genie? Not at all. In fact, all you really need to do is download the application into the default web directory on your Asterisk, PBX in a Flash, trixbox, or Asterisk@Home web server, and keep reading. We've tested Phone Genie with versions of Asterisk@Home dating back to 2.8, and it works perfectly with PBX in a Flash.

Installation and Setup. To begin, you'll need to download the Phone Genie application and set up a very secure password. Why? Because anyone with the web site address of your Asterisk server and access to this application could trash your Asterisk system faster than you can mutter "Genie in a Bottle." So log into your PBX in a Flash server as root and issue these commands:

cd /var/www/html
wget http://nerdvittles.com/trixbox123/phonegenie.zip
unzip phonegenie.zip
rm -f phonegenie.zip
chown asterisk:asterisk nv-genie.php
chmod +x nv-genie.php

Once the application is in place, you need to edit the file and change the default password to something secure: nano -w nv-genie.php. On line 2 of the file, change 1234 to a numeric value that only you know! Do NOT include non-numeric characters or PHP will reset your password to zero... which isn't that secure. You shouldn't have to change anything else in the file unless you've "improved" the account name and password used to access your Asterisk Manager API in /etc/asterisk/manager.conf. This Manager password is more secure than it appears because it only works from 127.0.0.1, i.e. localhost. So, without adding another entry in this file, you could not run this application from a web server that's different than your Asterisk server.

Getting Started with Call Forwarding. Now that everything's installed and configured, it's time for a test run. For this to work, you'll need a fairly recent version of Asterisk@Home or TrixBox with AMP or freePBX since we'll be using freePBX functions. If you're going to access the Phone Genie application from inside your firewall where your Asterisk server also resides, then you'll need the internal IP address of your Asterisk server. Otherwise, you'll need to configure your firewall to forward port 80 HTTP traffic to the internal IP address of your Asterisk server. And you'll need either the external IP address of your Asterisk system or the fully-qualified domain name for your system. Next, you'll need an extension number on your Asterisk system that we can experiment with. If you want to be able to forward incoming calls back out to your cellphone, then you'll need at least two trunks. The DID trunk handles the incoming call, and a termination trunk will actually forward the inbound call back out to your cell. We'll also need the phone number of your cellphone in the same format that you would dial it on your Asterisk PBX. For example, if a prefix of 1 is required to call outside your PBX, then the number would look like this: 16782345678.

Once you have all the pieces of information, open a web browser and issue a command that looks something like this for a web browser inside your firewall. Otherwise, follow the sample above.

NOTE: All database entries are case-sensitive so be sure you use the family name exactly as it should appear in your database. FreePBX uses CF in ALL CAPS for the call forwarding family of data.

http://192.168.0.123/nv-genie.php?action=dbput&family=CF&key=200&value=6782345678&pw=1234

Substitute your own internal or external address for 192.168.0.123. To forward a call, we'll use the freePBX CF function and we'll use dbput to put the information in Asterisk's internal database. Use your real extension number instead of 200. This becomes the key in Asterisk database lingo. Substitute your properly formatted cellphone number for 6782345678. And replace 1234 with the password you stored in the nv-genie.php file. This becomes the value for the call forwarding key 200. Once you get this working either internally or externally on your cellphone, you can save your entry as a favorite in your browser and forward calls at any time with one click!

In addition to a confirmation message, you can check your work in a couple other ways. You can obviously call the extension and see if it forwards the call to your cellphone. You also can query the Asterisk database using Phone Genie. The syntax for a query is almost identical to a dbput command except you don't need to include a value. Here's what it would look like for a query from your cell phone browser:

http://asterisk.dyndns.org/nv-genie.php?action=dbget&family=CF&key=200&pw=1234

When you return to home base and want to cancel the call forwarding, you can either pick up the extension you forwarded and dial *73 or you can use Phone Genie's dbdel function. This also can be saved as a favorite so that it's one click away when you need it.

http://192.168.0.123/nv-genie.php?action=dbdel&family=CF&key=200&pw=1234

<sermon> It goes without saying, but we'll say it anyway. Don't start randomly using dbdel to delete stuff out of the Asterisk internal database or you'll find yourelf with a whirring boat anchor in a matter of minutes. Both Asterisk and FreePBX rely upon database entries to function at all. Rule #1: If in doubt, leave it alone! <end of sermon>

What Else Can Phone Genie Do? We've barely scratched the surface of what lies ahead. For a list of database entries that you can query, manipulate, and delete, open the Asterisk CLI after logging into your server as root: asterisk -rvvvvv. Now issue the following command: database show. In the listing, you'll see some entries that look like this: /CALLTRACE/502 : 500 . Call Trace is a database family that keeps track of the number that last called a particular extension. In this example, extension 502 was called by extension 500. An easy way to figure this out when you're on the road would be to issue a query using the Phone Genie:

http://asterisk.dyndns.org/nv-genie.php?action=dbget&family=CALLTRACE&key=502&pw=1234

Asterisk Database Display. There may be times when you just want to review a group of settings in your Asterisk database or even the entire database without having to start up a CLI session. The dbshow action in Phone Genie provides this functionality. In its simplest form, the command looks like the following to display your entire Asterisk database:

http://asterisk.dyndns.org/nv-genie.php?action=dbshow&pw=1234

If you'd prefer to display only a single family of entries in the database, then the syntax looks like this:

http://asterisk.dyndns.org/nv-genie.php?action=dbshow&family=CALLTRACE&pw=1234

That's about it for today. We'll leave you with a partial list of freePBX functions that can be controlled from within Phone Genie. We'll cover other things you can do with the Asterisk Manager and Phone Genie in a future article. If you're in a hurry to add some additional functions and you speak PHP, please feel free to add away. Send us your additions and we'll include them in the next version. Enjoy!

  • Call Forwarding - Enable
  • Dialcode: *72

    Phone Genie: http://192.168.0.123/nv-genie.php?action=dbput&family=CF&key=200&value=6782345678&pw=1234

  • Call Forwarding - Disable
  • Dialcode: *73

    Phone Genie: http://192.168.0.123/nv-genie.php?action=dbdel&family=CF&key=200&pw=1234

  • Call Forwarding on Busy - Enable
  • Dialcode: *90

    Phone Genie: http://192.168.0.123/nv-genie.php?action=dbput&family=CFB&key=200&value=6782345678&pw=1234

  • Call Forwarding on Busy - Disable
  • Dialcode: *91

    Phone Genie: http://192.168.0.123/nv-genie.php?action=dbdel&family=CFB&key=200&pw=1234

  • Call Forwarding Unavailable - Enable
  • Dialcode: *52

    Phone Genie: http://192.168.0.123/nv-genie.php?action=dbput&family=CFU&key=200&value=6782345678&pw=1234

  • Call Forwarding Unavailable - Disable
  • Dialcode: *53

    Phone Genie: http://192.168.0.123/nv-genie.php?action=dbdel&family=CFU&key=200&pw=1234

  • Call Tracing
  • Dialcode: *69

    Phone Genie: http://192.168.0.123/nv-genie.php?action=dbget&family=CALLTRACE&key=200&pw=1234

  • Call Waiting - Enable
  • Dialcode: *70

    Phone Genie: http://192.168.0.123/nv-genie.php?action=dbput&family=CW&key=200&value=ENABLED&pw=1234

  • Call Waiting - Disable
  • Dialcode: *71

    Phone Genie: http://192.168.0.123/nv-genie.php?action=dbdel&family=CW&key=200&pw=1234

  • Do Not Disturb - Enable
  • Dialcode: *78

    Phone Genie: http://192.168.0.123/nv-genie.php?action=dbput&family=DND&key=200&value=YES&pw=1234

  • Do Not Disturb - Disable
  • Dialcode: *79

    Phone Genie: http://192.168.0.123/nv-genie.php?action=dbdel&family=DND&key=200&pw=1234


    NOTE: The Best of Nerd Vittles tutorial on Phone Genie for Asterisk covers all updates and new features.


    blankblankNerd Vittles Demo Hot Line (courtesy of les.net). You now can take a number of Nerd Vittles projects for a test drive... by phone! The current demos include (1) MailCall for Asterisk with password 1111 (retrieve your email by phone), (2) NewsClips for Asterisk (latest news headlines in dozens of categories), (3) Weather Forecasts by U.S. Airport Code, and (4) Weather Forecasts by U.S. ZIP Code. You're not prompted for #4 yet, but it does work! Just call our number (shown in the left margin) and take any or all of them for a spin. The sound quality may not be perfect due to performance limitations of our ancient Intel 386 demo machine. But the price is right.

    Nerd Vittles Fan Club Map. Thanks for visiting! We hope you'll take a second and add yourself to our Frappr World Map compliments of Google. 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 as well.


    Some Recent Nerd Vittles Articles of Interest...

    Programmer’s Corner: Asterisk Weather Station Updates

    blankNow that we've solved Asterisk weather forecasting for the rest of the world, wouldn't you know our U.S. weather reports would come unglued. One of the problems with depending upon the web data of other organizations (such as the National Weather Service) is that, when they shift gears, you have to make adjustments to your applications as well. So this week is cleanup time at Nerd Vittles. In its infinite wisdom, the National Weather Service decided last week to add latitude, longitude, and elevation information to all of their weather reports. This caused some wrinkles in both the Asterisk® Weather Station by Airport Code and Zip Code applications which didn't know how to interpret this new data. Personally, we were always big supporters of more federal holidays because it meant the bureaucrats and politicians had less time to screw things up. These new "improvements" are a good example of what happens when federal workers have too much time on their hands.

    All of the Nerd Vittles weather applications for Asterisk (except last week's Worldwide Weather Forecasts) depend upon NOAA web site information at a web link that looks like the following. You can enter either a zip code or a city and state.

    http://www.srh.noaa.gov/port/port_zc.php?inputstring=Charleston,SC

    Using MySQL databases, we convert telephone input of airport codes and zip codes into City and State information which then can be passed to NOAA's web link to collect the information that we use to convert the text to speech with the Flite application. If you look at one of the reports, you'll see that the main page display now looks like this:


    Charleston, SC
    Current Local Conditions at:
    Charleston Air Force Base
    Lat: 32.91 Lon: -80.03 Elev: 59.055
    Last Update: 02/20/07, 08:56 AM EST
    Fair: 48 °F

    Forecast at a Glance
    Detailed 7-day Forecast
    Your Local Radar
    Current Conditions
    Satellite Image
    Hazardous Weather
    Area Forecast Discussion

    Changes in Latitudes. So, Problem #1 is that there's a new Line 4 on the web page with the Latitude, Longitude, and Elevation information. Problem #2 is what to do with it. The two options, of course, are to discard it and leave things the way they were in the Asterisk weather reports or to convert it into intelligible text and play it with the weather report. The addition is a little puzzling quite frankly because it's static information and it really doesn't pertain to the weather other than telling you how close to the equator you are or how close to the sun you live plus or minus 93 million miles. They could just as easily have added the State Bird or State Flower but, no, we have Latitude, Longitude, and Elevation to deal with instead. The good news is that, if you ever want to build an application that computes the distance between two cities, this new information combined with searches for two cities using the NOAA link above will give you everything you need to make the calculation without having to rely upon a ZIP code database with latitude and longitude information (which we've previously given you). So we'll leave that as your homework project. With a little Googling, you can find the formula. And we'll throw in one of our PBX-in-a-Flash drives to the first person that posts a comment with working PHP code that correctly calculates the distance between two U.S. cities using NOAA website data only.

    Manually Updating the Weather Applications. We've made the management decision to throw the new data in the proverbial bit bucket, but we also want to show you how to convert the data into a usable format for the one or two folks that just can't live without it. Why are we going to such pains? Because we want to encourage others to build PHP applications for Asterisk that do something useful. And, if you walk through the Nerd Vittles code for these applications, it will give you a good idea how to get started. Looking through the code, you'll notice that we have to parse the web data to actually collect the information we need to "play" a weather report on the telephone. So, to strip out this line of text, there are a couple ways to approach it. One way would be to look for Lat: and then search for the next line break character: <br> and strip out the intervening text. We chose to actually count line breaks after the Current Local Conditions line (above) until we got to the desired string of text:

    // new code to delete Latitude, Longitude, and Elevation info from report
    $start = strpos($newvalue,"<br>") ;
    $start2 = strpos($newvalue,"<br>",$start+1) ;
    $start3 = strpos($newvalue,"<br>",$start2+1) ;
    $newvalue = substr($newvalue,0,$start2) . " " . substr($newvalue,$start3) ;
    // new code ends here

    So the new code above needs to be inserted immediately after the line that looks like this:

    $newvalue=substr($newvalue, 0, $finish);

    This change should be made in both /var/lib/asterisk/agi-bin/nv-weather.php and /var/lib/asterisk/agi-bin/nv-weather-zip.php if you happen to be using both the Weather Station by Airport Code and by Zip Code. And, not to worry, we've fixed the original downloadable code so that newbie's will never know anything changed.

    If you'd prefer to actually have the Latitude, Longitude, and Elevation information spoken to callers, then you'd obviously not include the new code above. Instead, we need to add three new parsing instructions after the following line:

    $newvalue = str_replace( "NA:", " ", $newvalue );

    Here are the new lines you'd insert to translate the NOAA abbreviations into Plain English:

    $newvalue = str_replace( "Lat:", "Latitude: ", $newvalue );
    $newvalue = str_replace( "Lon:", ". Longitude: ", $newvalue );
    $newvalue = str_replace( "Elev:", ". Elevation: ", $newvalue );

    Now that we've covered all the theory, it occurred to us that some of you might just like to download the new code. If you prefer that approach, here are the step-by-step instructions for each application. These instructions assume that you've already installed the Weather Applications previously. If not, just choose your desired installation from the Best of Nerd Vittles site.

    Installing Weather by Airport Code Update. To install the Weather by Airport Code update, log into your Asterisk server as root and issue the following commands:

    cd /var/lib/asterisk/agi-bin
    rm -f nv-weather2-zip.*
    wget http://nerdvittles.com/wp-content/nv-weather2.zip
    mv nv-weather.php nv-weather.old2.php
    unzip nv-weather2.zip
    rm -f nv-weather2.zip
    chmod 775 nv-weather.php
    chown asterisk:asterisk nv-weather.php

    Installing Weather by Zip Code Update. To install the Weather by Zip Code update, log into your Asterisk server as root and issue the following commands:

    cd /var/lib/asterisk/agi-bin
    rm -f nv-weather-zip.zip
    wget http://nerdvittles.com/trixbox123/nv-weather-zip.zip
    mv nv-weather-zip.php nv-weather-zip.old.php
    unzip nv-weather-zip.zip
    rm -f nv-weather-zip.zip
    chown asterisk:asterisk nv-weather-zip.php
    chmod 775 nv-weather-zip.php

    Test Driving the Latest Asterisk Weather Applications. To use the Asterisk Weather Station by Airport Code, pick up any phone connected to your Asterisk server and dial 611. When prompted, key in the three-character Airport Code for the weather report you wish to retrieve. Then sit back and listen to the latest weather report for your Airport Code from the National Weather Service.

    To use the Asterisk Weather Station by Zip Code, pick up any phone connected to your Asterisk server and dial Z-I-P (947). When prompted, key in the five-digit Zip Code for the weather report you wish to retrieve. Then sit back and listen to the latest weather report for your Zip Code from the National Weather Service.


    blankblankNerd Vittles Demo Hot Line (courtesy of les.net). You now can take a number of Nerd Vittles projects for a test drive... by phone! The current demos include (1) MailCall for Asterisk with password 1111 (retrieve your email by phone), (2) NewsClips for Asterisk (latest news headlines in dozens of categories), (3) Weather Forecasts by U.S. Airport Code, and (4) Weather Forecasts by U.S. ZIP Code. You're not prompted for #4 yet, but it does work! Just call our number (shown in the left margin) and take any or all of them for a spin. The sound quality may not be perfect due to performance limitations of our ancient Intel 386 demo machine. But the price is right.

    Nerd Vittles Fan Club Map. Thanks for visiting! We hope you'll take a second and add yourself to our Frappr World Map compliments of Google. 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 as well.