Home » Search results for 'web sites 101' (Page 6)

Search Results for: web sites 101

The Most Versatile VoIP Provider: FREE PORTING

Home Run: Asterisk Baseball Scores & Schedules with Gtalk

Last week we introduced the new Worldwide Weather Station for Asterisk® 1.8 using Google's new Google Talk Guru. And, as promised, today we bring you the first of several new Asterisk applications to retrieve sports scores and schedules from the convenience of your telephone. With Google Talk Guru, you can retrieve the latest Atlanta Braves info by issuing this Chat command: score braves. What you'll receive in reply using Google Chat within Gmail would look something like this:

Baseball:
Atlanta Braves 2 - Milwaukee Brewers 1
Next game: @ Milwaukee Brewers, 6 Apr 3:10am
mlb.mlb.com

With today's installation, you'll also be able to dial M-L-B (652) from any Asterisk extension and retrieve the latest score and next game schedule for any one of 10 Major League Baseball teams by pressing a single button. For example, to retrieve the latest Atlanta Braves score and next game schedule, press 2. To try out our demo, just dial 425-406-4532 from any phone in the U.S. Here's the entire list which you can modify to meet your own requirements:

0 - Yankees
1 - Mets
2 - Braves
3 - Reds
4 - Marlins
5 - Orioles
6 - Pirates
7 - Royals
8 - Dodgers
9 - White Sox

As was true with weather forecasts, retrieval of baseball scores and schedules using Google Talk Guru takes less than a second for almost any team. And, in addition to playing these scores and schedules over the phone using Asterisk 1.8, we've added the ability to also forward the results to your favorite email address. If you're already familiar with last week's installation procedure, then drop down to the Quick Installation topic. The whole drill should take you no more than a couple minutes. If you're new to all of this, keep reading.

How It Works. Here's a quick summary of how all this works. With the Google Talk Guru, you can send a query as a text message to guru@googlelabs.com. You then get a reply message in Google Talk with the answer to your query. What we've done is add this querying functionality to your Asterisk dialplan with some preassigned baseball teams to obtain the latest sports scores and schedules. Once the response arrives, we've added a PHP application that puts the text (as shown above) into something that's a little more TTS friendly for Flite and Cepstral. If you're curious about how to do all of this, take a look at the dialplan and PHP code in the links below. It's not hard, but it is tedious. One little typo and nothing works. Ask us how we know. 😉

Prerequisites. If you're new to all of this, here's a quick list of what you'll need. First, you'll need a PBX in a Flash server running the very latest Asterisk 1.8. We call it PIAF-Purple. Bidirectional Google chatting only works in the most recent releases of Asterisk 1.8 so, no, you can't wing it with an earlier release and expect a working system. Next you'll need to add Google Voice and Chat support. You can install these components yourself, or you can use Incredible PBX 1.8. The latest release as of today has this application preinstalled. If you dial 652 from an extension on your Incredible PBX and are prompted to choose a team for the latest score and schedule after hearing a list of the available teams, then your installation is complete even though it won't work until you invite yourself to chat with guru@googlelabs.com using the same Gmail account you're using for Google Voice on your Asterisk server. If dialing 652 doesn't work, then you'll need to add this application to your existing Incredible PBX 1.8 installation by following the simple steps below in addition to enabling chats with guru@googlelabs.com. Almost any other (current) Asterisk 1.8 server should work as well so long as you've installed FreePBX, PHP and the Flite or Cepstral voice synthesizer. But then you're on your own. If you're a nuts-and-bolts Asterisk guy, then you should be able to decipher what needs to be done by reading through this tutorial.

Quick Installation. Assuming you have all the prerequisites in place, today's installation is about a five minute chore. There are 3 easy steps:

(1) While signed in to Gmail with the same account credentials being used for Google Voice on your Asterisk server, activate chat temporarily and invite yourself to chat with guru@googlelabs.com. Run a test query using the Braves example above. IMPORTANT: Once it works, disable chat on your desktop, or Google Voice and Chat will no longer work with Asterisk!

(2) Download the Baseball Scores & Schedules application into the agi-bin directory on your Asterisk system. Here are the commands after logging into your server as root:

cd /var/lib/asterisk/agi-bin
wget http://nerd.bz/eimkfZ
tar zxvf nv-mlb-google.tgz

(3) While still logged in as root, switch to the /etc/asterisk directory and edit extensions_custom.conf with this command:

nano -w extensions_custom.conf

Search for 652 and delete any existing lines with that extension. Then cut-and-paste the following code inserting it just below the [from-internal-custom] context marker (but above any other context marker) or in the existing position if you deleted existing 652 lines. Use nano -w extensions_custom.conf to open the file, or word wrap will delete part of the cut-and-paste code! Once you've saved your changes, reload your Asterisk dialplan:

asterisk -rx "dialplan reload"

Customization. By default, the application is set to use Flite as the text-to-speech (TTS) engine. If you have installed Cepstral, you can change to Cepstral. In the /var/lib/asterisk/agi-bin directory, edit nv-mlb-google.php and change $ttspick = 0 to $ttspick = 1. Do not delete the trailing semicolon! If you want the sports scores and schedules also emailed to you when you dial them up, then insert your actual email address in the $email variable and set $emailscore = 1.

You need not use the 10 teams that are preconfigured in the application. You can choose your own. First, write down the names of the 10 teams you wish to use. Do NOT use city names! Make a backup of extensions_custom.conf: cp extensions_custom.conf ext_custom.bak. Then carefully edit /etc/asterisk/extensions_custom.conf using nano -w filename. Move down to the 652,3 and 652,5 lines and make the necessary changes using the teams you have chosen. Finally, move down to 652,50 and replace Yankees with your 0 choice, 612,52 Mets with your 1 choice, etc. Save your changes and reload your dialplan. NOTE: For multi-word teams such as White Sox, be sure to use an underscore between the words, NOT A SPACE, e.g. white_sox.

If you want to retrieve scores and schedules for more than 10 teams, the easiest solution is to clone all of the 652 dialplan code and renumber each occurrence of 652 to 653. HINT: Some 652 entries are actually embedded in the code as well as in the extension numbers. Be sure to renumber those entries as well. Use Ctrl-W to find each 652 occurrence in the new context, and you won't inadvertently miss one. That gets you 10 more teams. Repeat as desired. Note also that you need not announce 10 teams in the voice prompt unless you want to. If you only plan to follow 3 teams, then alter the initial voice prompt to only announce those teams. You do NOT need to delete the dialplan code that actually picks other teams. No one will ever know. 😉

Adding a Miscellaneous Destination. This step is optional. Access FreePBX with your browser, and choose Setup, Misc Destination. If it's not already there, add a new entry for MLBScores with 652 as the Dial entry. Save your entry and then click the Red Bar to reload Asterisk.

Taking Baseball Scores and Schedules for a Spin. Now we should be all set. Just pick up an extension on your system and dial 652. You'll be prompted to enter a one-digit code. Punch in 5 and check out the latest score and next game for the Baltimore Orioles. Enjoy!

Housekeeping 101. Temporary files in /tmp get cleaned up by Linux housekeeping automatically. Temporary files stored elsewhere don't unless you're using Incredible PBX. The weather scripts store .wav files with your requested weather forecasts in /var/lib/asterisk/sounds/tts. So, from time to time, make a mental note to remove all of these files with a command like this:

rm -f /var/lib/asterisk/sounds/tts/tts*

Or just log into your Asterisk® server as root and edit the following file: nano -w /etc/crontab. Move to the bottom of the file and insert the following code on a blank line:

01 0 * * * root rm -f /var/lib/asterisk/sounds/tts/tts* > /dev/null

This code will delete all of the TTS files in the tts folder every night. Now save your changes: Ctrl-X, Y, then Enter.

Best of Nerd Vittles Link. This application also will be available on our Best of Nerd Vittles site shortly. Enjoy!

Originally published: Monday, April 11, 2011


Need help with Asterisk? Visit the PBX in a Flash Forum or Wiki.
Or Try the New, Free PBX in a Flash Conference Bridge.



whos.amung.us If you're wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our new whos.amung.us statistical web site and check out what's happening. It's a terrific resource both for us and for you.


 

Special Thanks to Our Generous Sponsors


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

Worldwide Weather Forecasts with Asterisk and Google Talk

Wouldn't it be nice if you could just describe your product and folks would know what you meant? Well, thanks to the lawyers, you can't. So, for all sorts of legal reasons, today's new product will not be called the Asterisk® Weather Station: Whole Earth Edition. Nor will it be called the Google® Weather Station even though we'll be using Google Lab's new Google Talk Guru. We've now written so many weather applications for Asterisk that we're thinking of changing our name to Willard Scott. Ooops! Can't do that either. And, yes, we used to have a Worldwide Weather application for Asterisk, but it died when Channel4.com discontinued providing weather data. The good news is that this forced us to take a look at Google's new Google Talk Guru which is nothing short of incredible. Weather reports are just the tip of the iceberg. We'll have an app to retrieve your favorite sports scores soon. To retrieve the latest Atlanta Braves info, just issue the Chat command: score braves. Here's the answer:

Baseball:
Atlanta Braves 2 - Milwaukee Brewers 1
Next game: @ Milwaukee Brewers, 6 Apr 3:10am
mlb.mlb.com

To give you some idea of performance, retrieval of a weather forecast using the Google Talk Guru takes less than a second for almost any location in the world. In addition to playing these forecasts over the phone using Asterisk 1.8, we've also added the ability to retrieve a forecast by phone and forward it on to your email address. Here's the result from weather paris:

Weather:
Paris, France
13°C, Clear
Wind: W 8 km/h
Hum: 53%
Mon: 6°C-14°C, Partly Cloudy
Tue: 7°C-18°C, Partly Cloudy
Wed: 8°C-23°C, Partly Cloudy

HINT: If you prefer zip codes or international postal codes, those all seem to return good results as well. We've tested U.S., Canada, and U.K. codes with no problems. Mexico, unfortunately, uses 5-digit codes just like the U.S. so those don't work. Now if we could just get rid of centigrade and kilometers for the metrically challenged, it would be almost perfect.

How It Works. Here's a quick summary of how all this works. With the Google Talk Guru, you can send a query as a text message to guru@googlelabs.com. You then get a reply message in Google Talk with the answer to your query. What we've done is add this querying functionality to your Asterisk dialplan with some preassigned cities to obtain weather forecasts. You can change them in any way you like. Once the response arrives, we've got a PHP application that puts the text (as shown above) into something that's a little more TTS friendly for Flite and Cepstral. Finally, we've added the option to email you the results as well as speaking them over the phone. If you're curious about how to do all of this, take a look at the dialplan and PHP code in the links below. It's not hard, but it is tedious. One little typo and nothing works. Ask us how we know. 😉

Prerequisites. If you've previously installed one of the Nerd Vittles Weather Applications or if you're using an older version of Incredible PBX 1.8 that doesn't include this app out of the box, then today's installation drill shouldn't take you more than 5 or 10 minutes. If you're new to all of this, then here's a quick list of what you'll need. First, you'll need a PBX in a Flash server running the very latest Asterisk 1.8. We call it PIAF-Purple. Bidirectional Google chatting only works in the most recent releases of Asterisk 1.8 so, no, you can't wing it with an earlier release and expect a working system. Next you'll need to add Google Voice and Chat support. You can install these components yourself, or you can use Incredible PBX 1.8. The latest release as of today has this application preinstalled. If you dial 612 from an extension on your Incredible PBX and are prompted to choose a city for your weather report after hearing a list of cities, then your installation is complete even though it won't work until you invite yourself to chat with guru@googlelabs.com using the same Gmail account you're using for Google Voice on your Asterisk server. If dialing 612 doesn't work or merely prompts for a number, you'll need to add this application to your existing Incredible PBX 1.8 installation by following the simple steps below in addition to enabling chats with guru@googlelabs.com. Almost any other (current) Asterisk 1.8 server should work as well so long as you've installed FreePBX, PHP and the Flite or Cepstral voice synthesizer. But then you're on your own. If you're a nuts-and-bolts Asterisk guy, then you should be able to decipher what needs to be done by reading through this tutorial.

Quick Installation. Assuming you have all the prerequisites in place, today's installation is about a five minute chore. There are 3 easy steps:

(1) While signed in to Gmail with the same account credentials being used for Google Voice on your Asterisk server, activate chat temporarily and invite yourself to chat with guru@googlelabs.com. Run a test query using one of the examples above. IMPORTANT: Once it works, disable chat on your desktop, or Google Voice and Chat will no longer work with Asterisk!

(2) Download the Google Worldwide Weather application into the agi-bin directory on your Asterisk system. Here are the commands after logging into your server as root:

cd /var/lib/asterisk/agi-bin
wget http://nerd.bz/fCcdOP
tar zxvf nv-weather-google.tgz

(3) While still logged in as root, switch to the /etc/asterisk directory and edit extensions_custom.conf with this command:

nano -w extensions_custom.conf

Search for 612 and delete any existing lines with that extension. Then cut-and-paste the following code inserting it below the [from-internal-custom] context marker (but above any other context marker) or in the existing position if you deleted existing 612 lines. Use nano -w extensions_custom.conf to open the file, or word wrap will delete part of the cut-and-paste code! Once you've saved your changes, reload your Asterisk dialplan:

asterisk -rx "dialplan reload"

Customization. By default, the application is set to use Flite as the text-to-speech (TTS) engine. If you have installed Cepstral, you can change the app to Cepstral quickly. In the /var/lib/asterisk/agi-bin directory, edit nv-weather-google.php and change $ttspick = 0 to $ttspick = 1. Do not delete the trailing semicolon! If you want the weather reports also emailed to you when you dial them up, then insert your actual email address in the $email variable and set $emailforecast = 1.

Worldwide Weather Forecasts for Asterisk is preconfigured for the following cities:

0 - Tokyo
1 - Washington
2 - Berlin
3 - Paris
4 - Honolulu
5 - London
6 - Moscow
7 - Sydney
8 - Toronto
9 - Zurich

You need not use the 10 cities that are preconfigured in the application. You can choose your own. First, write down the names of the 10 cities you wish to use. Do NOT add states or countries! Make a backup of extensions_custom.conf: cp extensions_custom.conf ext_custom.bak. Then carefully edit /etc/asterisk/extensions_custom.conf using nano -w filename. Move down to the 612,3 and 612,5 lines and make the necessary changes using the city names you have chosen. Finally, move down to 612,50 and replace Tokyo with your 0 choice, 612,52 with your 1 choice, etc. Save your changes and reload your dialplan. NOTE: For multi-word cities such as New York and San Diego, be sure to use an underscore between the words, NOT A SPACE, e.g. new_york.

If you want to retrieve weather forecasts for more than 10 cities, the easiest solution is to clone all of the 612 dialplan code and renumber each occurrence of 612 to 613. HINT: Some 612 entries are actually embedded in the code as well as in the extension numbers. Be sure to renumber those entries as well. Use Ctrl-W to find each 612 occurrence in the new context, and you won't inadvertently miss one. That gets you 10 more cities. Repeat as desired. Note also that you need not announce 10 cities in the voice prompt unless you want to. If you only plan to use 3 cities, then alter the initial voice prompt to only announce those cities. You do NOT need to delete the dialplan code that actually picks other cities.

Adding a Miscellaneous Destination. Access FreePBX with your browser, and choose Setup, Misc Destination. If it's not already there, add a new entry for WorldWideWeather with 612 as the Dial entry. Save your entry and then click the Red Bar to reload Asterisk.

Taking the WorldWide Weather Forecaster for a Spin. Now we should be all set. Just pick up an extension on your system and dial 612. You'll be prompted to enter a one-digit code. Punch in 5 and check out the weather forecast for good old London. Enjoy!

Housekeeping 101. Temporary files in /tmp get cleaned up by Linux housekeeping automatically. Temporary files stored elsewhere don't unless you're using Incredible PBX. The weather scripts store .wav files with your requested weather forecasts in /var/lib/asterisk/sounds/tts. So, from time to time, make a mental note to remove all of these files with a command like this:

rm -f /var/lib/asterisk/sounds/tts/tts*

Or just log into your Asterisk server as root and edit the following file: nano -w /etc/crontab. Move to the bottom of the file and insert the following code on a blank line:

01 0 * * * root rm -f /var/lib/asterisk/sounds/tts/tts* > /dev/null

This code will delete all of the TTS files in the tts folder every night. Now save your changes: Ctrl-X, Y, then Enter.

Best of Nerd Vittles Link. This application also will be available on our Best of Nerd Vittles site shortly. Enjoy!

Originally published: Tuesday, April 5, 2011


Need help with Asterisk? Visit the PBX in a Flash Forum or Wiki.
Or Try the New, Free PBX in a Flash Conference Bridge.



whos.amung.us If you're wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our new whos.amung.us statistical web site and check out what's happening. It's a terrific resource both for us and for you.


 

Special Thanks to Our Generous Sponsors


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

2010 Bargain of the Year: Nortel 1535 Color SIP Videophone

We try not to get overly excited by new discoveries, but once in a while there comes along a VoIP deal that probably never will be repeated. Now’s the time. Here are a Baker’s Dozen reasons why you should buy a boatload of these Nortel IP 1535 phones before they’re all gone. Just make a bid of ~$60. We’ve given you a hint below on the going rate. 😉

WARNING: There are reports that some of the phones from various merchants do NOT include WiFi even though the ad may say otherwise. If you need WiFi, be sure to carefully read the merchant’s ad AND verify that the phone you are ordering has WiFi before purchasing.

  • Nortel’s top-of-the-line $700 phone can be had for about $60
  • SIP-compatible and works with Asterisk® and sip2sip.info among others
  • H.263-compatible color videophone works flawlessly
  • Wired and 802.11 b/g WiFi is easily configured
  • Supports both U.S. and European power cords out of the box
  • Speakerphone rivals the best speakerphones on the market
  • Integrated apps include browser, email, calendar
  • Music and video storage supported using SD/MMC cards
  • Configurable voicemail button for easy access to any mailbox
  • Language support for English, French, Spanish, German and more
  • Tons of integrated multimedia capabilities
  • Robust STUN and proxy support so they work from anywhere
  • One year warranty on the phones from the eBay merchant

Connectivity Options. Once you have your phones, there are almost limitless SIP connectivity options including direct connections to many of our favorite providers: Vitelity, voip.ms, Future Nine, and Axvoice. But today we want to address two other connectivity options: sip2sip.info or as an Asterisk extension on your PBX in a Flash system, both of which give you color videoconferencing out of the box.

Using sip2sip.info with the Nortel 1535. If you haven’t discovered sip2sip.info, it’s one of the few VoIP freebies left in the universe. By simply providing your name and email address, sip2sip.info will give you a free SIP a URI that lets anyone on the planet call you via SIP at no cost. In addition, all calls to numbers registered with ENUM are free as well. For example, to call numbers in the U.S. listed with e164.org, just dial 001NXXNXXXXXX. You can talk as long and as often as you like. The call can be pure audio, or it can be an H.263 video call. It’s simple to set up and use. And, once you have your phone configured with sip2sip.info, it’s incredibly easy to add a free DID from IPkall and then a free local DID from Google Voice. Then, presto, you have a local phone number for inbound calls that will never cost you a dime. If you make most of your outbound calls from a cellphone, then this is a perfect solution for a free home telephone number where anyone can reach you. And it includes a free voicemail account that will deliver the voicemails to your registered email address whenever you miss a call. We actually travel with one of these phones preconfigured with a local number in our favorite towns. When we go to a different place, it’s easy to change the local phone number. Update: You also can obtain a free SIP URI from GetOnSIP.

There’s only one trick to the sip2sip.info setup. Once your credentials are emailed to you, log into your account and change your password to a very secure but all-numeric password.

Using Asterisk with the Nortel 1535. We have a personal preference for Asterisk, and it’s a perfect fit with these phones. Just add these entries to sip_general_custom.conf in /etc/asterisk, and video support comes to life in all versions of PBX in a Flash once you restart Asterisk:

rtptimeout=120
videosupport=yes
allow=h263

Then you’re ready to set up your extensions to support the Nortel 1535. Here are the settings we use, and they work equally well with the X-Lite 4 client if you’d like to try some test video calls on your server:

dtmfmode=rfc2833
canreinvite=yes
context=from-internal
host=dynamic
type=friend
nat=yes
port=5060
qualify=yes
disallow=all
allow=h263,ulaw,gsm

Configuring the Nortel 1535. All of the manuals for these phones still can be downloaded from Nortel’s web site. With the exception of the early phones which were configured for Turkey, here is the setup that works for us with sip2sip.info and Asterisk. Our special thanks to the dozens of gurus on the PBX in a Flash Forum who assisted with sorting all of this out. If you get stumped on any of this, the thread link provided has loads of additional information.

The two buttons at the top of the phone do most of the heavy lifting. The left one is the equivalent of the Enter key on a keyboard. The right one is the Back key. The other two keys of importance are * and #. * is used to enter special characters such as the period, slash, etc. # is used to change the keyboard type: ABC, Abc, 123, etc. Be sure you always have the correct keyboard type for the type of data you are entering. Pressing the Green button twice redials the last number called. The function key to the right of the number 3 connects you to voicemail. The function key to the right of the number 6 accesses the web browser.

Before you can configure the phone, you have to log in as Admin (Menu, Settings, System Settings, Admin, Login). The password is 1234. Then back out one level and set your Date/Time preferences. The most important one is to enable Network Time. For the Server Setting, enter time.nist.gov for a reliable NTP server. Then back out a level and choose Enable.

You’ve got to set up network connectivity before the phones will work obviously. They come preconfigured for a wired connection with DHCP support. That’s a good way to begin. Once everything is working reliably, you can switch to WiFi if desired. The only trick to WiFi is that you need to set your WiFi Type (Menu, Settings, Profile, WiFi, Settings, Wireless Settings, Authentication, Type) and then the WiFi Password for the chosen type before choosing your WiFi network (Menu, Settings, Profile, WiFi, Settings, Wireless Settings, WiFi Scanning). Once you have those set up, back out one level and choose Apply. Then back out one more level and choose Enable. You’ll be prompted to confirm you wish to restart the WiFi network. Then you’re all set.

Now you’re ready to configure your VoIP settings (Menu, Settings, VoIP Settings). Start with the domain of your server: sip2sip.info or the FQDN of your Asterisk server (Menu, Settings, VoIP Settings, Misc., Domain Name). While still in Misc., adjust the Codec Priority for video (Menu, Settings, VoIP Settings, Misc., Codec priority, Video). Choose First and change it to None. Choose Second and change it to H.264. Then choose First again and change it to H.263. Asterisk only supports H.263 so it has to be the first priority, or video won’t work. Then back out until the top left of the screen shows VoIP Settings. Choose User Information and enter your username for Username, Display Name, and Authentication name. For Asterisk, it’s your extension number. For sip2sip.info, it’s your 10-digit number beginning with 223. Enter your account password for Authentication pwd. Back out to VoIP Settings and enter the IP address of your server for Proxy, Proxy Address. For sip2sip.info, it’s 81.23.228.129. For Asterisk, it’s the public IP address of your server. While still in Proxy, choose STUN. For STUN Server IP Address, enter 75.101.138.128. Then Enable the STUN Server. Finally, back out to VoIP Settings again and choose Registration. Set the Expiry Timer to 3600. Then choose Register to connect your phone to your desired server. Done!

Using sip2sip.info with Asterisk. We were so impressed with the simplicity and functionality of sip2sip.info that we decided to also set up a sip2sip.info trunk on our Asterisk server. This is a very secure way to enable a SIP URI on your Asterisk server without exposing your server to SIP vulnerability. The only additional step with PBX in a Flash is to lock down external SIP access to the IP address of sip2sip.info. For setup instructions, see this thread on the PBX in a Flash Forums.

Configuring Voicemail Access. It’s easy to configure these phones to access any existing voicemail system. The only trick is that the number to call for voicemail access must be all numeric. On Asterisk systems, this means *98 won’t work! So, in FreePBX, first set up a Misc. Destination called Voicemail-Read and use *98 as the Dial String. Then set up a Misc. Application called VoiceMailRead and enter 86245 as the Feature Code. Then choose Misc Destination: Voicemail-Read as the Destination.

On the phone, choose Menu, Settings, VoIP Settings, Misc., Voice Mail, Voicemail Number and enter 86245. You can leave the Mailbox ID and password blank on Asterisk-based systems, and you’ll be prompted for them. Or you can fill in either the mailbox number or both the mailbox number and password, and your entries will be passed to Asterisk to access the desired voicemail box.

To access Voicemail from the phone, press the function key just to the right of the number 3 on the phone.

Using the Nortel 1535 Browser. While it’s not the best browser on the planet, these Nortel phones do have a decent web browser that can be used to retrieve current content such as news, weather, and sports scores. To set up a web link, choose Menu, Services, Web Browser, and choose one of the four links. Here are a couple entries to get you started. Others can be found in this thread on the PBX in a Flash Forums. Remember to use the Top Left function key as the Enter key in browser links! HINT: While in one of your four preconfigured web sites, if you press the Right Button just above the directional arrow keys, you can navigate to additional web sites.

  • mundy.org/news.php – Latest Yahoo! News
  • google.com/m – Google Mobile

To access the Browser, press the function key just to the right of the number 6 on the phone.

Accessing Email on the Nortel 1535. Both POP3 and IMAP email access are supported on the phone. And a number of boilerplate email messages already are preconfigured for sending using your chosen email provider. You can set up additional ones using the Template option. To set up email, go to Setup, Messages, Account Settings.

Nortel 1535 Organizer. These phones also include a very capable Address Book and Calendar. Entries can be imported using a standard SD/MMC card. We’ll leave the rest for you to sort out. Or take the guess work out of the experiment and read Nortel’s excellent documentation. Enjoy!



Need help with Asterisk? Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.


whos.amung.us If you’re wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our new whos.amung.us statistical web site and check out what’s happening. It’s a terrific resource both for us and for you.


 

Special Thanks to Our Generous Sponsors


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…

Welcome to IP Country: A New Layer of Asterisk Security

image courtesy of fail2ban.org One of the problems with writing a blog like Nerd Vittles is it's more than double the work of your typical blog where a writer pontificates about something and then moves on. What makes Nerd Vittles a little different is that, with help from a number of very gifted developers, we actually create useful applications and then write about how to use them. So you get a bonus for the same low price: free! This obviously imposes some time constraints in order to get fresh material into your hot little hands every week.

This week we turn our attention to Asterisk® Security again and unfortunately the Whole Enchilada is not yet ready. So today you get Chapter I of this topic with a comment that we're still mulling over some enhancements. When those pieces are finished or at least properly evaluated, we'll produce a sequel. Software houses spend years developing applications. And sometimes it takes us more than a week. 🙂

Let's start with a few observations which should be quite obvious to those who have wrestled with VoIP or Asterisk for a while. Internet security is a bitch. And Asterisk security is much, much worse. When a few disgruntled people can bring Twitter to its knees because they're mad about some particular tweet or Twitter user, it tells you what we're all up against. Hate to say it but we can all thank Microsoft for years of security neglect that rendered the Windows operating system less than optimum in preventing the spread and deployment of BOTs. And the tools have gotten more dangerous as well. Strangers (our euphemism for these folks) write new software, too.

If you're using PBX in a Flash (and you really should be!), you know that we've devoted enormous resources to Asterisk security. Two years ago when PBX in a Flash was introduced, the majority of people using Asterisk still were using 1234 as the extension password on all or most of their extensions. A couple $100,000 phone bills and lots of public education, and that situation hopefully is behind us. Two years ago, no Asterisk aggregation included a firewall... except PBX in a Flash. Believe it or not, there were individuals running Asterisk servers on the public Internet with a default root password of password. That added more than a few more BOTs to the Internet kettle of fish. Then there were the brute force password hacks that hit Asterisk servers thousands of times per minute guessing passwords. Nothing stood in the way of these attacks until PBX in a Flash introduced Fail2Ban which automatically blacklisted IP addresses after a certain number of failed login attempts. We followed Fail2Ban with our Atomic Flash product which provided a turnkey Hamachi VPN implementation for rock-solid safe remote computing. And, of course, there was a one-minute Hamachi VPN install script for standard PBX in a Flash systems. No other aggregation has it to this day.

The purpose of the history lesson isn't to crow about PBX in a Flash although we're mighty proud of it. Rather we wanted to make you aware that precious little development effort is actually going into security while enormous resources are devoted to things such as Internet faxing, Skype, and Google Voice integration. We'll be the first to admit that we love the latest gee whiz gizmos as much as anybody. But come on. A handful of us who do this purely for fun somehow manage to turn out loads of security enhancements while huge, for-profit companies are devoting virtually zero resources to making Asterisk, SIP, and the VoIP community safer. SIP is about as secure as whispering at a movie theater. Google releases Google Voice with SIP access protected by a 4-digit password. 🙄 That approach to security needs to change, or we're all going to wake up sorry one day soon. If this is preaching to the choir, then feel free to pass this article on to one of your brethren who has not yet seen the light! Start by reading our Primer on Asterisk Security.

If you have extremely secure passwords on your Asterisk extensions and trunks, and you have deployed a properly configured firewall with Fail2Ban to protect against brute force attacks, then you're ahead of the curve insofar as Asterisk security is concerned. But what we think is still missing is access restrictions based upon what the military calls a "need to know." Simply stated, it means folks shouldn't get access of any kind to your Asterisk server unless they have a need to be there. And, if we find someone there that doesn't belong, they should be kicked off and banned from further access.

So today we have a new security tool for your Asterisk toolbox: IP Country, country-based network filtering by IP address. In a nutshell, it means configuring your Asterisk server to dramatically reduce the number of IP addresses which can reach your server at all. If you receive anonymous SIP connections from all around the globe that you actually need or if you're attacked from a BOT running on grandma's Windows machine down the block, this may not work for you, but it's another tool in your quiver of arrows. For most servers, it has the potential to reduce the vulnerability from random outside threats substantially. It's taken a lot of research to come up with much of what follows, and we want to express our special thanks to Sandro Gauci and Joe Roper for their assistance. Some of this technology has been around for many years, but unfortunately it was expensive. So we also want to express our special appreciation to MaxMind for releasing their open source GeoLite Country database which is now free for downloading. That is the critical ingredient in much of what follows. So here's a word from our sponsor:

This product includes GeoLite data created by MaxMind, available from http://www.maxmind.com/.

Scope of Protection. An obvious question is just exactly what are we trying to protect. In our view, it's several things. First, we don't want strangers logging in to extensions on our server and making free calls around the globe using pilfered or hacked passwords. We also don't want strangers using our extensions to masquerade as us for any other purpose. Second, we don't want strangers randomly calling our server using SIP URI's that they've dreamed up. And third, we don't want strangers accessing any other applications on our server including SSH and FTP as well as web and email services.

IP Country Design. As with other security features in Asterisk, FreePBX, and IPtables, our implementation of IP Country uses permit and deny access tables that consist of authorized and unauthorized ranges of IP addresses. There's also a table with the latest GeoLite Country information which is used as the data source for your permit table. When a connection to the server is made, the IP address is checked against the permit table of authorized addresses. If there's no match, we'll consider the connection a stranger. If there is a match, then we'll check the deny table to make certain this particular IP address hasn't been banned. Unless you alter all of our scripts, your system must be using the default MySQL account name of root with a password of passw0rd. As configured in PBX in a Flash, this is NOT a security risk since MySQL access is limited to your server, and your server requires root credentials to log in.

Today's Objective. To get everyone started, we're going to tackle the first two objectives today. The solutions offered should work fine on any FreePBX-based Asterisk system... even those that hide the existence of FreePBX.

For outgoing calls, we'll introduce a new script which runs periodically to examine the IP addresses attached to every SIP and IAX extension and trunk on your Asterisk server. If a stranger's IP address is identified (as explained above), we'll add an IPtables firewall rule to permanently block access to your server from this IP address. These rules are stored in /etc/sysconfig/iptables should you ever need to remove an IP address that has been blocked. You can adjust the script execution frequency based upon the thickness of your wallet. After all, it's your phone bill. This functionality is mutually independent from the incoming call protection outlined below so you can use either or both of the functions to meet your own requirements. For systems that use enormous numbers of SIP URI's for communications around the globe, you might choose to implement just this piece for extension and trunk IP Country protection without altering your incoming dialplan at all. Keep in mind that FreePBX now supports permit and deny IP address filters on extensions, something you really should be using even if you decide against implementing the IP Country security protection layer.

For incoming calls, we're going to modify FreePBX's existing Blacklist functionality to also look up the calling IP address in our IP Country permit and deny tables. If the IP address is authorized, the call will go through. Otherwise, the call will be treated just as if the caller's number were blacklisted. Be aware that incoming calls to one of your commercial DIDs may reflect the IP address of your provider since the caller may be calling from a Plain Old Telephone rather than an IP address. The existing Blacklist functionality can be used to block these unwanted callers. If you live in the United States, you'll probably also want to call 888-382-1222 and place your DIDs in the Do Not Call database. Just call from a phone using the CallerID of the number you wish to block.

Installing GeoLite Country. To get started, log into your server as root and issue the following commands:

cd /
wget http://bestof.nerdvittles.com/applications/ipcountry/ipcountry.tgz
tar zxvf ipcountry.tgz
rm ipcountry.tgz
cd /root/ipcountry
./nv-ipcountry

Once the nv-ipcountry script begins to run, it will download and install the GeoLite Country database into MySQL. You then will be asked whether to add countries to your permit table. Since your permit table is empty at this point, the answer should be yes. You'll then get a list of country codes. Choose the two-character country code desired and type it in UPPERCASE, e.g. US. If you want to add one or more additional countries, just rerun ./nv-ipcountry and do NOT initialize the permit table (which erases all of its contents).

New GeoLite Country databases are released every month or two so get used to the procedure. You'll be using it periodically to keep your list of IP addresses current. We'll cover the update procedure after we get you up and running.

Remember: If no IP addresses for any country are added to the permit table, you will not be able to make calls or register trunks with your providers! The only default entries added to the permit table are the non-routable, private IP address ranges, e.g. 192.168.0, etc. The geolite table is merely a data repository of the latest GeoLite Country database and has no effect on the daily operation of your system! You use it only as a data source for populating your permit table.

Testing IP Country. Before we actually turn anything on, we need to be sure we're not going to blow your Asterisk system out of the water! In short, we want to make sure that every extension that's supposed to be able to make a connection to your PBX still can. And we need to make sure all of your trunk registrations still are working. While you're still in the /root/ipcountry directory, issue the following command: ./test.sh. This script will display all of your SIP and IAX connections and then will tell you whether each connection will pass muster with IP Country security in place. Each IP address should display ok. If any of them show ko, you have a problem. This means that you have an extension or trunk with an IP address that is not included in your permit table. You can scan through the show peers listings in the display to figure out which providers or extensions are associated with any problem IP addresses. Be sure it's not a bad guy first. Then you have a couple of options. You can either manually add the IP address to the permit table as outlined below. Or you can add additional countries which include the missing IP address(es). To decipher the country of any problem IP address, go to this link and plug in the IP address. Once you've made entries in your permit table to cover all of your needed IP addresses, run the test script again just to be sure everything shows ok. Do NOT proceed until you get all ok's, and don't write us if you do.

Manually Adding IP Addresses to IP Country. We've provided a command-line utility which makes it easy to add IP addresses and address ranges to either the permit or deny tables of IP Country. Be very careful using this tool! There's limited error-checking which means it's easy to create a mess. You'll find iputility.php in the /root/ipcountry folder. Since all IP addresses are stored as integers, you can use it to merely discover the integer value of an IP address, or you can actually insert IP addresses into either the permit or deny tables. Here are a few examples to show how the utility works:

./iputility.php 156.130.20.10
Returns the integer value for this IP address; no database update
./iputility.php 156.130.20.10 156.130.20.255
Returns integer values for this IP address range; no database update
./iputility.php 156.130.20.10 deny
Adds this IP address to IP Country deny table
./iputility.php 156.130.20.10 156.130.20.255 permit
Adds this address range to IP Country permit table)

A couple of points worth noting. First, all custom entries in your permit and deny tables using iputility will show a country code of AA. This makes them easy to find using phpMyAdmin if you make a mistake. Second, if you attempt to enter the same IP address range more than once, you'll get a database error since all entries in the tables must be unique. Third, remember that entries in the deny table take precedence over entries in the permit table. So, if the same IP address or address range is in both tables, access will be denied. The reason for this is to make it easy to exclude a few bad apples from a country that you might otherwise find unobjectionable. Finally, keep in mind that manual entries added to the permit table will have to be added again each time you initialize the table and insert new country IP codes after a GeoLite Country refresh. The deny table is unaffected by database refreshes. So make yourself a list of entries you manually insert into the permit table and keep it in a safe place for future reference.

Activating the IP Address Checker. In the /root/ipcountry directory, you'll find the script that we'll use to check your system periodically to be sure all of the extensions and trunks are registered at permitted IP addresses. To run the script manually, log into your server as root and type: /root/ipcountry/ip-checker.sh. When you run it, you shouldn't see any modifications to IPtables, just a string of ok's. So now we want to added the script as a cron job that will be run periodically to watch your system. Edit /etc/crontab and insert the following line at the bottom of the file:

*/1 * * * * /root/ipcountry/ip-checker.sh > /dev/null

*/1 means run the script once a minute, all day and night, every day. */5 means every 5 minutes. You make the call on how safe you'd like your system to be. If you'd like to receive an email or text message every time an IP address is blocked by ip-checker.sh, just edit the filecheck.php script, uncomment the two lines that begin with // and replace yourname@gmail.com with your email or text message address.

WARNING: For ip-checker.sh to work properly with IPtables, there are a couple of prerequisites. First, IPtables must be running on your system with the iptables file located in /etc/sysconfig. Second, your IPtables setup must include an SSH permit rule that looks like this:

-A INPUT -p tcp -m tcp --dport ssh -j ACCEPT

We use this rule as a place finder to determine where to insert new rules to block stranger's IP addresses. If you don't have the above rule, filecheck.php (used by ip-checker.sh) won't be able to insert new rules. So you'll need to manually edit filecheck.php to provide a "hook" that can be used to insert rules into your iptables file. PBX in a Flash systems come preconfigured to support this. With other aggregations, YMMV!

Activating the Incoming Call Checker. To screen incoming calls using your IP Country permit and deny tables, the setup is straight-forward assuming you are running the latest version of FreePBX 2.5. We're going to adjust the Blacklist context to also perform IP address lookups from IP Country when new calls arrive on your PBX. Just log into your server as root and add the following lines to the bottom of the extensions_override_freepbx.conf file in /etc/asterisk:

[app-blacklist-check]
include => app-blacklist-check-custom
exten => s,1,LookupBlacklist()
exten => s,n,GotoIf($["${LOOKUPBLSTATUS}"="FOUND"]?blacklisted)
exten => s,n,Set(TESTAT=${CUT(SIP_HEADER(From),@,2)})
exten => s,n,GotoIf($["${TESTAT}" != ""]?hasat)
exten => s,n,Set(FROM_IP=${CUT(CUT(SIP_HEADER(From),>,1),:,2)})
exten => s,n,Goto(gotip)
exten => s,n(hasat),Set(FROM_IP=${CUT(CUT(CUT(SIP_HEADER(From),@,2),>,1),:,1)})
exten => s,n(gotip),NoOp(Gateway IP is ${FROM_IP})
exten => s,n,NoOp(IP Country Lookup in Progress...)
; put authorized special calls like sipgate's Google Voice ringbacks below
exten => s,n,GotoIf($["${FROM_IP}"="sipgate.com"]?keepon)
exten => s,n,AGI(nv-ipcountry.php|${FROM_IP})
exten => s,n,GotoIf($["${STRANGER}"="true"]?blacklisted)
exten => s,n(keepon),NoOp(** AUTHORIZED CALLER **)
exten => s,n,Return()
exten => s,n(blacklisted),Answer
exten => s,n,Wait(1)
exten => s,n,Zapateller()
exten => s,n,Playback(ss-noservice)
exten => s,n,Hangup

Make sure you remove the line-wrap in the s,n(hasat) line and any others that may have wrapped in the display above! Then save the file and reload your Asterisk dialplan: asterisk -rx "dialplan reload". You're all set! If you'd like email notices when a stranger calls and is blacklisted, edit nv-ipcountry.php in /var/lib/asterisk/agi-bin. Plug in your actual email address in the $email variable and set $emailalerts = 1.

Housekeeping 101. As we mentioned above, the pool and location of IP addresses continues to change so periodic updates are necessary, or you'll end up blocking calls that otherwise should be permitted. MaxMind updates GeoLite Country on the first day of every month so add it to your TO-DO list. We strongly recommend that you perform these steps through an SSH connection from a remote PC. Why? Because, if you forget step 1 while logged directly into your server, you could inadvertently lock yourself out of your own system if the ip-checker script happens to run while your permit table is empty. If you do it from a remote machine, you can simply move to another machine and follow these instructions properly. Otherwise, you've got a serious problem on your main server. If this server provides phones to your business, do the update when the server is idle. So here's the drill:

  1. Comment out the ip-checker.sh /etc/crontab entry
  2. Download new GeoLite Country database from MaxMind
  3. Initialize the ipcountry.permit table
  4. Add authorized countries back into ipcountry.permit table
  5. Add back any custom entries to permit table
  6. Test your IP Country system to make sure you get all ok's
  7. Reactivate ip-checker.sh in /etc/crontab

1. Log into your server as root. To comment out the ip-checker.sh line in /etc/crontab, just add # as the first character on the line and save the file.

2. Change to the /root/ipcountry directory and run ./nv-GeoIPrefresh.

3. While still in the /root/ipcountry directory, run ./nv-ipcountry and choose 1-Yes to initialize your ipcountry.permit table.

4. Continue running or rerun ./nv-ipcountry to add each desired country to your ipcountry.permit table.

5. Run ./iputility.php to add custom IP address entries to your ipcountry.permit table. You do NOT need to reenter addresses in the deny table. It is unaffected by this update procedure.

6. Test your system again to make sure all extensions and trunks get an ok by running ./test.sh.

7. Edit /etc/crontab and remove the # at the beginning of the ip-checker.sh line and save the file.

What's Next. We're still exploring another possibility with IP Country, and that is integrating GeoLite Country directly into IPtables. This would validate every packet coming into your firewall using IP Country-like rules in IPtables. If you want to look at how it could be done, see this excellent writeup. Well, not so fast. Unfortunately, it won't compile under CentOS 5.2. Here's a link to the problem code if there are any Linux gurus in the house. Our reluctance in doing this has to do with performance. Keep in mind that, without stateful packet inspection, every single packet coming into your server would presumably trigger a database lookup. On a busy telephony system generating hundreds of thousands of packets per second, it would take a beast of a server with sufficient memory to cache the entire IP Country database in order to handle the processing load. So now we've got to either learn about or find an expert on the IPtables State Machine. If anyone wants to experiment, please share your expertise with the rest of us. There's a Google Voice invite in it for you, too.


whos.amung.us If you're wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our new whos.amung.us statistical web site and check out what's happening. It's a terrific resource both for us and for you.



Need help with Asterisk? Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.


 

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

Some Summertime Distractions for Asterisk Lovers


In addition to Spoleto and the Bridge Run, Charleston has many great traditions, one of which is a prompt transition from a rainy, cold winter into sweltering summer. We got a very long spring break this year, but now we’re paying for it. After spending a couple weeks on Balsam Mountain, it was nothing short of culture shock driving back into Charleston last night. But we’re glad to be home. And this week, we celebrate summer with a list of some of our favorite vacation discoveries that didn’t involve snakes and bears. Some are related to Asterisk®, and some aren’t. So here goes.

Streaming Video with Roku. If you haven’t figured out why Time Warner and Comcast have been pushing for Internet bandwidth caps, here’s a hint. Streaming video not only is killing their pipes, but more importantly (to them) it’s killing their pay-per-view and HBO/Showtime monopolies. If you enjoy (or can even remember) great television and movies without thousands of commercials, then we’ve got two discoveries that will make your summer! The first one is Roku, a little $100 device about the size and weight of a couple packs of cigarettes. You plug it into your TV and the Internet, pop the popcorn, and you’re ready for some fun. With an $8.95 Netflix subscription (which buys you one-at-a-time DVD rentals by mail), you also get unlimited movies streamed to your Roku device. It’s not their entire catalog, but it’s a substantial subset including most of the Starz catalog. The Roku player supports composite, S-video, component, and HDMI video connections as well as stereo and optical audio. A new addition allows the rental or purchase of first-run movies from Amazon (at Blockbuster prices). More offerings are promised for later this summer. Can Hulu be far behind? If you’ve been holding off purchasing a Blu-Ray player, then here’s another option. LG’s new $200 BD370 Blu-Ray Disc Player incorporates this same technology in addition to YouTube access. We haven’t used the BD370 yet, but we sure do want one.

Cellphones for Preteens. We laughed at our friends from Naples, Florida last summer when they were lamenting the fact that every child in their daughter’s second grade class had a cellphone except for theirs. They swore that they wouldn’t give in. That lasted until Christmas when the shiny new LG Xenon appeared. Chuckling all the way to spring, we recently met the same fate with the Samsung A767 Propel after our 9-year-old raised over $300 selling all of her old toys at the neighborhood yard sale. Bottom line: All the kids are going to have them by the time they turn 10. And with the family plans available from a number of providers, the costs are no longer prohibitive for most of us. You might as well get them trained to use cellphones responsibly while they’re young. Trust me. It’s a lot more difficult once they hit high school or college and know everything. There is a difference between adult and kid usage of cellphones. They rarely make a call. But you’ll want an unlimited texting plan. And none of the kids want an iPhone. They much prefer one the newer phones that includes a full keyboard for texting. Apple, are you listening?

If you go down this road with the rest of us that swore we wouldn’t do it, demand two things: (1) that your kids not use cellphones while driving and (2) that they not hold cellphones up to their ears while making calls. The jury is still out on whether cellphone usage leads to brain tumors. But it seems pretty obvious when you review the research provided by organizations not funded by the cellphone industry. Remember the tobacco companies swore that cigarettes were safe for decades, and they paid good money for authoritative-sounding research to back them up. Read this. And watch this. Then decide whether you want to gamble with the lives of your children. Better safe than sorry.

Deals, Deals, and More Deals. If you always shop for technology purchases at the same few stores, then send us a check for all the money we’re about to save you. There’s a green eBates coupon in the right pane just below that will usually save you 1-5% on all your technology and clothing purchases and just about anything else. It costs nothing to use it, and you’ll get $5 just for signing up. So do we. 🙂 To go with those savings, there are some bargain web sites that you won’t want to miss. Our old favorite is TechBargains, but there’s also a new kid on the block, DealNews. Check ’em out. You’ll find something you just can’t live without… at bargain basement prices.

SMS Messaging with Asterisk. We’ve always lamented the fact that Asterisk had no built in SMS messaging capability. This is primarily because the cellphone providers keep a fairly tight lock on the SMS business since it’s their Cash Cow. There is a simple solution actually.

Virtually all of the cellphone providers have an Email-to-SMS gateway that can be used for sending SMS messages to their customers. For example, to send a message to a cellphone subscriber on the AT&T network, you just send an email message to 6781234567@txt.att.net. Click here for a complete list of the email gateway addresses.

That got us to thinking how simple it really would be to create a bash script that delivered the same message to every provider used by your friends. Who cares if all but one of the messages goes in the bit bucket. Your SMS message still will get delivered. For example, in the United States, if you’ve covered AT&T, Verizon, Alltel, Sprint, T-Mobile, US Cellular, Cricket, and Nextel, that pretty much gets 99% of the cellphones. If there’s a service that we’ve left out that you really need, just add another line to the bash script with the domain of that carrier.

So, log into your server as root and create a bash script named sms.sh that looks like the following: nano -w sms.sh

#!/bin/bash

# Script for sending SMS messages
# For additional cell carriers, see:
# http://en.wikipedia.org/wiki/List_of_carriers_providing_Email_or_Web_to_SMS

msg="Just testing the new SMS batch script."
subj="SMS Message"
num2call="8431234567″

echo "$msg" | mail -s "$subj" $num2call@message.alltel.com
echo "$msg" | mail -s "$subj" $num2call@txt.att.net
echo "$msg" | mail -s "$subj" $num2call@sms.mycricket.com
echo "$msg" | mail -s "$subj" $num2call@messaging.nextel.com
echo "$msg" | mail -s "$subj" $num2call@messaging.sprintpcs.com
echo "$msg" | mail -s "$subj" $num2call@tmomail.net
echo "$msg" | mail -s "$subj" $num2call@email.uscc.net
echo "$msg" | mail -s "$subj" $num2call@vtext.com

Fill in the msg, subj, and num2call fields. Press Ctl-X, Y, then Enter to save your file. Then make it executable: chmod +x sms.sh. Now give it a try: ./sms.sh

You can alter the sender address for your emails from the default of root by inserting an entry like the following in /etc/mail/genericstable: root    joeschmo@gmail.com. Then restart SendMail: service sendmail restart.

Micro$oft Bing. I have to admit that I’ve always had a soft spot for Microsoft. They came from humble beginnings and outsmarted almost everybody during the 80’s and 90’s… until Google entered the picture and did much the same thing to them. You’ve also got to hand it to Microsoft. They may not get it right the first, or second, or third time. But they don’t give up. And their reincarnated search engine, Bing, is worth a look. It includes an Explorer Pane that categorizes search results in a left panel that is customized to your search query. There’s also a Quick Preview providing website popups. The theory is to give you a sneak peak at a particular site to see if it’s what you’re looking for. As with many Microsoft creations, it’s just too slow at the moment to be of much value. Good idea. Not so good implementation.

A good bit already has been written about Bing’s picture and video search capabilities. Suffice it to say, once they tamed the content, it’s worth a look. Actually, it was worth a look even before they tamed the content. 🙂 But give Microsoft credit, they quickly recognized that there needs to be a way to make the web accessible to younger children and students without exposing them to an endless stream of pornography. What happened to the good old days of reading National Geographic to find all that stuff?

Microsoft’s Farecast technology also is interesting. It brings new, smart tools to the process of purchasing airline and hotel accommodations. Much of this toolkit was acquired by Microsoft, but it’s pretty slick. The downside of Bing, when compared to Google, is that there seems to be a tilt toward Microsoft content in results. And there still is a lot of drill-down (aka Windows) to find exactly what you’re looking for. Both are deeply rooted in the Microsoft psyche so I doubt it’ll ever go away. But have a look anyway. It’s an interesting, new product to at least have in your search toolkit.

Let There Be Music. All-you-can-eat streaming music plans have been around for a while. But there’s never been anything quite like the new Napster service from Best Buy. $5 a month for access to 7 million songs on either your PC or a Sonos sound system is just too good to pass up. We’ve previously written about this so we won’t repeat it all here. Have a look at the article if you’re a music addict. And, if streaming DRM’d music isn’t your thing, check out this PC Mag article on Virgin Media’s new offering. It will let you download an unlimited number of MP3’s from Universal’s entire music catalog for about $20 a month. Unbelievable!

People Tracking. If you glance over to the right margin, you’ll get a good sample of Google’s Latitude offering that pinpoints your location on a Google map using GPS data from your cellphone. AT&T offers something similar for "only" $10-$15 a month. This data can be either the location of the nearest cellphone tower or, if your phone is GPS-enabled, it can be the actual GPS coordinates of your phone. There are obviously privacy issues that need to be weighed, and Google has carefully addressed most of those issues. You can restrict access to select friends, or just family, or no one at all. In coming months, we’re going to build something similar with Google Maps to display a map with the default location of incoming calls on certain color SIP phones. Stay tuned. In the meantime, feel free to monitor our summer vacation as we move from Charleston, to the beach, and back to the mountains. Not too exciting, but it may give you some ideas for future uses of this technology. For those of you with young daughters, think of it as LoJack for Parents!

Footnote: Uh, oh. Google.everything just died. 8:30 a.m., June 16. Bad way to start your day. Good time to check out Bing. 🙂

Hurricane Tracking. If hurricanes are a part of your everyday life and you haven’t visited Stormpulse.com yet, you’re missing the ultimate storm tracking site on the net. Not only do they provide up-to-the-minute predictions from all of the world’s best sources, but you also get map overlays showing virtually anything you’d ever want to know that’s weather-related. Unbelievably good! And, for a ringside seat, visit our own Pawleys Island WebCam. We’ll wave to you later this week.

Promising New Asterisk Appliance. Every now and then we read an article about a new Asterisk appliance that really shows some promise. So it is with Michael Graves’ recent writeup of Jazinga, a $1095 Asterisk appliance that does just about anything and everything a small business would ever need in a phone system using a simple but intuitive web interface. Have a look. We think you’ll agree. Very slick, indeed. Only wish it were $595 instead of $1095.

Some Great Blogs. And, speaking of blogs, there are some other telephony blogs in addition to Graves on SOHO VoIP that are worth a look from time to time. Here’s another Baker’s Dozen of our favorites in no particular order:

FreeNum Dialing System. Another new project worth a careful look is FreeNum. Taking a page from Nextel, FreeNum lets you make SIP calls from ordinary telephones after registering your organization. The format of a FreeNum dial string looks like 1234*567 where your extension is 1234 and your ITAD (Internet Telephony Administrative Domain) number is 567. FreeNUM relies upon DNS and, as such, is perfectly suited for transparent use over the Internet. In coming weeks, we’ll have more to say about FreeNUM including a methodology for letting all PBX in a Flash systems register with a shared ITAD for transparent communications worldwide. Here’s the article.

Twitter. The entire planet is aflutter with Twitter. We finally bit the bullet, and we’d be the first to admit that Twitter fills an important gap in today’s Internet-centric 21st century world. Not only does it provide instantaneous searches of very current content, it’s also quite useful as a micro-blogging tool if you like to keep current on technology happenings without always waiting for full-blown articles to appear. Many of the topics in this article were first introduced to Twitter users over the last few weeks. So there’s much more to Twitter than periodic reports of individuals’ bathroom and sleeping habits. You can get a sampling by reviewing our Twitter entries in the right pane of this blog. And there are literally hundreds of Twitter clients to meet your every need. Here’s a link to a great Twitter FAQ. Then give Twitter a try if you haven’t already. NerdUno is looking forward to hearing from you.

Wordle.net. We’ve mentioned Wordle before, but no article on Internet fun would be complete without at least a passing reference. The way Wordle works is that you pass it some text. It then rearranges the words in a hierarchical order that exposes the word usage count of the various words in the text it examined. You can see an example below which took the subject matter from the PBX in a Flash Help Forum and passed it through Wordle. You’ll note that "Resolved" is just about the same size as "problem" and "question." That actually speaks volumes about the quality of our forum. Give it a try. We think you’ll agree. We’ve done some other samples to give you some ideas: the Gettysburg Address, the Declaration of Independence, and MLK’s I Have A Dream speech. Try a few of your own. It’s a summertime blast. Enjoy!



Need help with Asterisk? Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.


whos.amung.us If you’re wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our new whos.amung.us statistical web site and check out what’s happening. It’s a terrific resource both for us and for you.


 

Special Thanks to Our Generous Sponsors


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…

Using Asterisk and Gizmo5 to Transform Your Nokia N95 Cellphone into the Ultimate Free SIP Phone

We're wrapping up our Gizmo5 series with what we believe is the real silver lining in the Gizmo Project. Here's our YouTube demo to prove it. We kicked things off by showing you how to set up a Gizmo5 account to make free calls with Asterisk® using Backdoor Dialing and ENUM. Then last week we added an Asterisk dialplan script to actually test whether an outbound call would be free through Gizmo5 before choosing a final route to terminate outgoing calls from your Asterisk server. Today we're going to use your Gizmo5 account to transform a standard Nokia N95 cellphone into a SIM-free, carrier-free WiFi SIP telephone which can perform a whole bag of tricks at absolutely no cost... once you own the unlocked phone. It's the perfect back-to-college gift if your wallet matters. Without too much hype, suffice it to say the N95 earned PC Magazine's Editor's Choice. In a word, the call quality is phenomenal. If you like Snickers candy bars, then you'll love the size of this phone. And WiFi works all day with Nokia's Symbian OS even though you're lucky to make it an hour with Windows Mobile devices. Maybe it's not the WiFi that's the problem after all, Bill. Ooops. He retired. Sorry. Anyway, any unlocked Nokia N95 will do. Just not the N96! And you'd better get one while they last. Nokia apparently has had a change of heart on SIP telephony support, and it's quickly disappearing from their newer models. Dumb move!

SPECIAL NOTE: We have one, gently used N95 for sale. It actually was used to prepare this article. Make us an offer, or we'll make you a deal you can't refuse. If you're interested, contact us.

When we're finished, you'll have a better appreciation for why AT&T and the other cellphone carriers hate Nokia phones and why Comcast would prefer to limit your bandwidth and charge you $40 (extra) per month for their VoIP service and boatloads more for their pay-per-view movies. This isn't about greedy bandwidth abusers. It's about a greedy service provider. Comcast could easily rein in bandwidth abusers with a letter threatening to terminate service. What they can't control with nastygrams are the Blockbuster's and Walmart's of the world that want to deliver pay-per-view movies to your doorstep via the Internet. So this looks more like restraint of trade to us than protection of scarce resources from the Napster generation as Comcast would have you believe. You don't make the whole class stay after school because one kid chewed gum... if your motives are as pure as the Comcast TV barons would have you believe. Now where were we? </rant>

For openers today, you can place SIP calls at no cost to any SIP phone or Asterisk server in the world. See our previous tutorial to learn how to set this up on your Asterisk server. Second, you can place "regular" phone calls to any phone in the world using a Gizmo5 account at Gizmo5's discounted calling rates (2¢ a minute or less for calls to U.S., U.K., most of Europe, China, and Australia for example) rather than cellphone subscription plus stratospheric long distance charges. Third, you can place free calls to almost every non-AT&T cellphone in the U.S. by dialing 0101 and the number. Fourth, you can place free calls back to and through your Asterisk server to just about anywhere on the globe (except resort areas surrounded by water) for almost nothing. And, finally, you can receive free calls on your N95 cellphone whenever anyone dials your free IPkall-assigned DID in the Seattle area or your SIP number through Gizmo5. And, did we mention that all of this magic occurs with no connection to AT&T or any other cellphone carrier. In fact, we don't even have a SIM chip in our N95. Well... not all the time anyway. All you really need is a WiFi connection to make all of this work. And even the Asterisk server is optional. So let's get started.

Enabling WiFi on Your Nokia N95. Before we can use the N95 as a free SIP telephone, we've first got to get a WiFi connection enabled on the phone. Pressing Menu, Tools, WLAN Wizard will get you started. You can test your connection by opening the web browser for a trial run after you have your WiFi connection set up. Once it's working, be sure to disable the WiFi Access Point scanning feature by choosing Menu, Tools, Settings, Connection, Wireless LAN and set Show WLAN availability to Never.

Installing the Gizmo5 Application. Now the tricky part, and it's really not that difficult. It just happens that there's lots of conflicting information posted around the web, and this makes the drill more confusing than it needs to be. First, if you already have automatic registration of your Gizmo5 account on another device or an Asterisk server, disable the automatic registration. You can't have the same account registered in two places simultaneously. Just open a second account if you need it. There are two components that need to be installed on your Nokia N95, and they're in different places. First, install Nokia Internet Services Support Package to the device memory (not to the memory card). Here's Nokia's download link. Next, install the Gizmo5-Nokia PlugIn from gizmovoip.com. Here's the download link for that one. Finally, we had one little gotcha with getting everything to work once it was installed. On your phone go to Menu, Tools, Settings, Connection, SIP Settings, Options, Edit SIP Profile and set the Service Profile to Nokia 3GPP. Next, go to Menu, Tools, Internet Tel and activate Gizmo after choosing your default WiFi network. You'll be prompted for your Gizmo account name and password. Once it's registered, you should be able to dial 0101 plus an area code and phone number to test out the free calling feature. Or you can dial an area code and number, and route your outbound call as a pay-by-the-minute Gizmo5 Internet Call under the Options button. To call a sip phone directly, simply create a new Contact and insert an Internet telephone entry in the SIP URI format: sipname@FQDN.com. Once you have saved the entry, simply choose it from your Contacts to place the free SIP call. In Nokia-speak, it's referred to as an Internet Call.

If the above procedure doesn't work for you, repeat the drill and set the Service Profile to IETF instead of Nokia 3GPP. Not sure why but one setting works some of the time, and the other one works the rest of the time. If you can't connect, this is usually the problem... assuming you've gotten your Gizmo5 username and password entered correctly.

You also can use your Asterisk server to forward outbound SIP calls from your N95 to other phones. For example, if there are 10 close friends that you call frequently, assign each of them a SIP URI on your Asterisk server. We covered the setup process in this article. In a nutshell, create an Incoming Route in FreePBX named tom and point it to the phone number you wish to call. For destination phones outside your PBX, first create a Miscellaneous Destination called Tom-home that includes the home phone number. Then use this destination in your Incoming Route for tom. Save your entry and reload your FreePBX dialplan. Finally get your own fully-qualified domain name from a service such as dyndns.org. Assuming your FQDN was pbx.dyndns.org, then your Internet telephone entry for Tom in your N95 contacts would be this SIP URI: tom@pbx.dyndns.org. Otherwise, you'll need a SIP URI with the IP address of your Asterisk server, e.g. tom@36.24.36.1.

Adding a Free DID for Inbound Calling to Your Nokia N95. One of the world's best kept secrets continues to be the availability of free DIDs from ipkall.com in Seattle. This saves you $35 a year over the current Gizmo5 DID rate, and IPkall will give you a free phone number in one of several available area codes to use with the SIP device of your choice. Your Nokia N95 qualifies! Just be sure to place at least one call a month to the number, or it's automatically recycled to someone else. To register for a free IPkall account, go to this link and sign up. Your SIP Phone Number is your 11-digit Gizmo5 phone number starting with a 1. Your SIP Proxy for Gizmo5 is proxy01.sipphone.com. Now plug in a valid email address and create a password for your account. Your new phone number will be delivered to this email address. Once it arrives, you should be able to dial the number from any phone, and your Nokia N95 should start ringing. Answer the call just as you would any other cellphone call. The only difference is that you can talk as long as you like... for free. For other free DIDs and some great tips including ATA setup, go here.

Using Asterisk to Add the Missing Pieces. There are a number of ways you can use Asterisk to enhance your SIM-free Nokia experience. By enabling DISA, you can place a SIP call to your Asterisk server, obtain dial tone, and call anywhere using your existing Asterisk trunks. Here's the way we set this up. Edit /etc/asterisk/extensions_custom.conf and add a [custom-disa] context at the end of the file that looks like the following code. Be sure to set a VERY secure password in line s,7 by replacing 1234. It's your phone bill! Then set your IPkall DID number as the CallerID in s,13. By changing 701 in s,12 you can call any extension on your Asterisk server just by dialing 0 when you're using DISA. For our foreign friends, be sure to adjust the dial string length (10) in s,9 to meet your local needs.

[custom-disa]
exten => s,1,Answer
exten => s,2,Wait(1)
exten => s,3,Set(TIMEOUT(digit)=7)
exten => s,4,Set(TIMEOUT(response)=10)
exten => s,5,Background(enter-password)
exten => s,6,Read(MYCODE,beep,7)
exten => s,7,GotoIf($["${MYCODE}" = "1234"]?8:15)
exten => s,8,Set(TIMEOUT(absolute)=9000)
exten => s,9,Read(NUM2CALL,pls-entr-num-uwish2-call,10)
exten => s,10,Playback(pls-wait-connect-call)
exten => s,11,GotoIf($["${NUM2CALL}" = "0"]?12:13)
exten => s,12,Dial(Local/701@from-internal)
exten => s,13,Set(CALLERID(number)=4251234567)
exten => s,14,Goto(outbound-allroutes,${NUM2CALL},1)
exten => s,15,Hangup

Next, add an Incoming Route using FreePBX. For the DID Number, use a SIP name that is not easily guessed, e.g. DISA2375. This gives you an extra layer of password protection since anyone can try to guess your SIP URI's once they know the IP address of your Asterisk server. Leave all of the other entries at their defaults and, for the Destination, choose Custom Route: custom-disa,s,1. Save your settings and reload your dialplan. Ignore the warning that you're doing something odd. We know what we're doing.

Finally, on your Nokia N95, add a new Contact called DISA with an Internet telephone number to match the name of your incoming route above with the fully-qualified domain name of your Asterisk server, e.g. DISA2375@pbx.dyndns.org. Now you're ready to dial away by simply selecting this contact on your N95. Enter your DISA password when prompted and then enter a 10-digit phone number to call.

The WiFi HotSpot Two-Step (and a few more steps). Now that everything is working swimmingly, we're ready to take your Nokia N95 on the road. Here's the failsafe step-by-step to get connected in a WiFi HotSpot of your choice.

  • Turn off the phone
  • Arrive at HotSpot
  • Turn on the phone
  • Menu, Tools, WLAN Wiz., Pick Your HotSpot, and Start Web Browsing, Create WLAN While OffLine=Yes
  • Using Browser, log into the HotSpot with your account name and password
  • Leave the browser open so it'll be easy to log out when you're finished
  • Menu, Tools, Internet Tel., Pick Your HotSpot AP
  • Once Connected, Dial Away As Usual
  • When finished, Hold Down Menu Button and Choose Browser App, Log Out of the HotSpot
  • Turn off the phone

Cellphone Options. But what if you really do want to use the Nokia N95 in all its glory with the 5 megapixel camera and the multimedia goodies and even a cellphone provider? Well, it works great for just about anything you need. In fact, you can even take the SIM chip from your iPhone (even a First Generation iPhone) and plug it in. Phone calls work, voicemail works (even though you get two text messages when a new voicemail arrives... which is a lot better than Cingular in the old days when you typically got zero), and email and web browsing work great, too. Just select MediaNet as the access point when you open your Internet connection, and you'll be off to the races. Of course, all the cheapo, pay-as-you-go SIM cards work as well. Both Oxygen and Airvoice packages including free minutes and a SIM card are available at this eBay store for under $10. And there are lots of other options as well. Enjoy!


VPN in a Flash Update! We've had over 100 reservations for our new VPN in a Flash system. We're very close to having a manufacturer in place so hopefully we'll have more good news in a week or two. We have begun the documentation for the new product, and we encourage you to take a look and offer any questions or comments you may have on our forums. The documentation is in the new Google Knol format and can be reviewed here. It's not too late to get in the queue and place a reservation for a system. Just send us a note, and we'll keep you posted as the release date approaches. It'll hold your place in line with absolutely no obligation to purchase.

Coming Attractions. We're very close to signing on a new VoIP provider for PBX in a Flash users that will provide penny-a-minute calls in the U.S. and Canada. And a new version of AsteriDex with Outlook synchronization and a TTS dialer for AsteriDex queries from any connected Asterisk phone is just around the corner. Stay tuned!


Hosting Provider Mega Deal. Just an FYI that the Nerd Vittles hosting provider, BlueHost, has raised the bar again on hosting services. For $6.95 a month, you can host unlimited domains with unlimited web hosting disk storage and unlimited monthly bandwidth. Free domain registration is included for as long as you have an account. It really doesn't get any better than that. And their hosting services are flawless! Just use our link. You get a terrific hosting service, and we get a little lunch money.


 

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

Weather, Weather Everywhere: Finally, Worldwide Weather Forecasts for Asterisk

Wouldn't it be nice if you could just describe your product and folks would know what you meant? Well, thanks to the lawyers, you can't. So, for all sorts of legal reasons, today's new product will not be called the Asterisk® Weather Station: Whole Earth Edition. We're back from the bunny honeymoon, and we've finally found a source to generate Asterisk weather reports worldwide. We've now written so many weather applications for Asterisk that we're thinking of changing our name to Willard Scott. Ooops! Can't do that either. Whatever you want to call this new application, it was the #1 Request on the Nerd Vittles Wish List, and today it's soup. With all the news organizations in the world, you wouldn't think it would be so difficult to find a source for worldwide weather information, but it's been a twelve-month ordeal. For those of you that thought last week's column on the Nabaztag WiFi Rabbit was a big waste of time, think again. It was the proud owner of a Nabaztag bunny that provided the tip which led to today's worldwide weather application for Asterisk and TrixBox systems. Thanks to Channel 4 in London, the weather forecasts are freely available on the web for thousands of cities around the world. Assuming you visit their web site from time to time and take advantage of some of their "advertising opportunities," we're pretty sure they won't object to your retrieving their forecasts using a telephone from time to time. Just be sure it's for non-commercial use, and we think you're in pretty good shape with their terms of service. This is not legal advice... but you knew that.

Update: Due to changes at Channel4.com, this application no longer works. For a current, working Worldwide Weather application for Asterisk 1.8 using the Google Talk Guru, see this article.

Prerequisites. If you've previously installed one of the Nerd Vittles Weather Applications, then today's installation drill shouldn't take you more than 5 or 10 minutes. If you're new to all of this, then here's a quick list of what you'll need. A TrixBox 1.2.3 server for Windows, an Intel Mac, or Linux is the ideal platform because it includes all of the tools you'll need to be up and running in minutes. Almost any other Asterisk server should work so long as you've installed freePBX, PHP and the Flite voice synthesizer. But you're on your own. If you're a nuts-and-bolts Asterisk guy, then you should be able to decipher what needs to be done by reading through this tutorial. And, yes, the code could be reworked in less than six lines to support Festival or Cepstral if you'd prefer different voices for your weather reports. In fact, we use Cepstral with our Nabaztag/tag bunny, Pat the Nerd, and it works like a champ using an existing Asterisk@Home server. Our bunny tutorial will walk you through the Cepstral installation.

Installation Overview. Assuming you have all the prerequisites in place, today's installation is about a five minute chore. You'll need to download the weather application into the agi-bin directory on your Asterisk system. Then you need to configure the 10 cities you want to support with dial-up weather forecasts. Finally, you'll drop in a little snippet of dialplan code and reload Asterisk. And, you're off to the races. If you want to retrieve weather forecasts for more than 10 cities, the easiest solution is to rework the dialplan code and the program to accept multiple digits for the city code. The number of digits is up to you. Another option is to copy the program to another filename, add another chunk of dialplan code for another extension, and expand your city count to 20, or 30, or whatever. You could even have 10 cities for each continent if that's your thing. The instructions below assume you have a TrixBox 1.2.3 system in place. It works equally well on an Asterisk@Home 1.5 system and most systems in between. If you're using an older Asterisk@Home system, just remember to put the dialplan code in extensions_custom.conf instead of extensions_trixbox.conf, and you'll be just fine.

Installing nv-weather-world.php. Sounds like something out of a Sci-Fi movie, doesn't it. Well, it's not as hard as it sounds. Log into your TrixBox server as root and issue the following commands in order:

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

Configuring Cities for Phone Access to Weather Forecasts. By default, the Worldwide Weather for Asterisk application comes preconfigured to support 10 cities around the world. Here's the list:

  • $query[0]= "http://www.channel4.com/news/weather/world_city.jsp?city=Tokyo&country=Japan&continent=Asia" ;
  • $query[1]= "http://www.channel4.com/news/weather/world_city.jsp?city=Washington&country=United+States+of+America&continent=North+America" ;
  • $query[2]= "http://www.channel4.com/news/weather/world_city.jsp?city=Berlin&country=Germany&continent=Europe" ;
  • $query[3]= "http://www.channel4.com/news/weather/world_city.jsp?city=Florence&country=Italy&continent=Europe" ;
  • $query[4]= "http://www.channel4.com/news/weather/world_city.jsp?city=Gough+Island&country=Tristan+Da+Cunha&continent=Africa" ;
  • $query[5]= "http://www.channel4.com/news/weather/uk_city.jsp?city=London" ;
  • $query[6]= "http://www.channel4.com/news/weather/world_city.jsp?city=Moscow&country=Russia&continent=Europe";
  • $query[7]= "http://www.channel4.com/news/weather/world_city.jsp?city=Sydney&country=Australia&continent=Australasia" ;
  • $query[8]= "http://www.channel4.com/news/weather/world_city.jsp?city=Toronto&country=Canada&continent=North+America" ;
  • $query[9]= "http://www.channel4.com/news/weather/world_city.jsp?city=Zurich&country=Switzerland&continent=Europe" ;

  • You'll notice that the syntax is identical for every entry except London, #5. Cities in the U.K. have a different syntax... because that's Channel 4's home base. That's why. For cities outside the U.K., the syntax is pretty straight-forward. You need a city, a country, and a continent. No spaces in any of the entries. If there's a real space in either a city or country name, then you replace the spaces with plus signs (+). How do you figure out the entries? Well, for most of them, a guess is probably good enough. Cities and countries don't switch continents that often. If you flunked geography, then you can use Channel 4's web site and call up the weather report for the city you're interested in. The answer will be in the browser's address bar.

    While you're displaying a sample weather report from Channel 4, you'll probably notice the little programming challenge that we were up against. Telephones don't (yet) display images of a weather forecast or wind direction too well. Not to worry. We solved it. The only trick was trying to figure out what all 32 weather icons meant. Your guess may be better than ours so feel free to adjust the code to your heart's content. You can make it rain on a sunny day if that's your thing.

    Now where were we? You need to make yourself a list of 10 cities with the link code to the weather reports. You'll notice that our cities happen to match the letters on the telephone except for zero and one. Once you have your city links in hand, edit nv-weather-world.php: nano -w /var/lib/asterisk/agi-bin/nv-weather-world.php. Then cursor down to line 19 and edit the ten entries with the locations you've chosen. Be very careful in editing the code! The http links need to be surrounded with quotes, and each line ends with a semi-colon. Leave everything to the left of the equals sign and the equals sign alone. If you decide to add more than 10, just follow the examples and keep numbering. Before you add any additional lines, scroll down to line 148 and change strlen($code)>1 to the maximum number of digits you plan to use. Save your changes when you're finished: Ctrl-X, Y, then Enter.

    Adding the Dialplan Code Snippet. In order to activate extension 612 to answer calls for your Worldwide Weather Forecasts, you'll need to drop the following code into your dialplan in the [from-internal-trixbox] context of /etc/asterisk/extensions_trixbox.conf. The easiest way is to access TrixBox from your browser and choose System Administration, Config Edit. Then click on the extensions_trixbox.conf file in the left column, scroll down into the [from-internal-trixbox] context and cut-and-paste the following. If you've decided to support more than 10 cities at a time, then you'll need to change the one in line 6 to a bigger number. Once you get it the way you like it, click the Update button to save your changes.

    exten => 612,1,Answer
    exten => 612,2,Wait(1)
    exten => 612,3,DigitTimeout(7)
    exten => 612,4,ResponseTimeout(10)
    exten => 612,5,Flite("At the beep enter the code for the weather report you wish to retrieve.")
    exten => 612,6,Read(APCODE,beep,1)
    exten => 612,7,Flite("Please hold a moment while we retrieve your report.")
    exten => 612,8,AGI(nv-weather-world.php|${APCODE})
    exten => 612,9,NoOp(Wave file: ${TMPWAVE})
    exten => 612,10,Playback(${TMPWAVE})
    exten => 612,11,Hangup

    Adding a Miscellaneous Destination. While you're still in TrixBox with your browser, choose freePBX and then choose Setup, Misc Destination. Add a new entry for WorldWideWeather with 612 as the Dial entry. Save your entry and then click the Red Bar to reload Asterisk.

    Taking the WorldWide Weather Forecaster for a Spin. Now we should be all set. Just pick up an extension on your system and dial 612. You'll be prompted to enter a one-digit code. Punch in 5 and check out the weather forecast for good old London. Enjoy!

    Housekeeping 101. Temporary files in /tmp get cleaned up by Linux housekeeping automatically. Temporary files stored elsewhere don't unless you're using a Nerd Vittles build of TrixBox with either the VMware edition of nv-trixbox for Windows, an Intel Mac, or PBX-in-a-Flash for Linux. The weather scripts store .wav files with your requested weather forecasts in /var/lib/asterisk/sounds/tts. So, from time to time, make a mental note to remove all of these files with a command like this:

    rm -f /var/lib/asterisk/sounds/tts/*

    Or just log into your Asterisk server as root and edit the following file: nano -w /etc/crontab. Move to the bottom of the file and insert the following code on a blank line:

    3 0 * * * /usr/bin/find /var/lib/asterisk/sounds/tts -type f -mtime +14 | /usr/bin/xargs /bin/rm -f >/dev/null 2>&1

    This code will delete all of the files in the tts folder every two weeks. If you'd prefer a shorter time, change the number 14 accordingly. Now save your changes: Ctrl-X, Y, then Enter.

    Best of Nerd Vittles Link. This application also is now available on our Best of Nerd Vittles site.


    Hosting Provider Special. Just an FYI that the Nerd Vittles hosting provider, BlueHost, has raised the bar again on hosting services. For $6.95 a month, you can host up to 6 domains with 200 gigs of disk storage and 2000 gigs (that's 2 terabytes!) of monthly bandwidth. Free domain registration is included for as long as you have an account. That almost doubles last month's deal, and it still doesn't get any better than that. Their hosting services are flawless! We oughta know. We've tried the best of them. If you haven't tried a web hosting provider, there's never been a better time. Just use our link. You get a terrific hosting service, and we get a little lunch money.

    Want More Projects? For a complete catalog of all our previous Asterisk projects, click here. For the most recent articles, click here and just scroll down the page.


    Some Recent Nerd Vittles Articles of Interest...

    The Asterisk Weather Station: Forecasts from Any Phone for 42,740 U.S. Zip Codes

    Weather MapAfter we published our article providing Asterisk® weather forecasts for 1,000 U.S. cities using airport codes, we heard from a number of folks asking if we could do something similar using zip codes to retrieve forecasts from the National Weather Service. Well, Santa is two weeks early, and today you get your wish: an enhanced weather application for Asterisk that supports every last zip code in the United States, all 42,740 of them. As with our original weather application based upon airport codes, this one requires the Flite voice synthesizer which now is an integral part of all TrixBox builds. You'll note that there are no thermometers and barometers to install with this application. So, to be perfectly candid, this is really a virtual weather station. The National Weather Service does the forecasting, the U.S. Postal Service does the locating, and the Asterisk Weather Station simply provides the glue to put the two together and retrieve and play the results using your touchtone telephone. The good news is that you actually control and manage this application rather than worrying about dialing into someone else's system only to find that they've gone out of business or quit providing the service. And, if you only want to hear current conditions for a particular zip code rather than the full 7-day forecast, we've retained the high tech solution we introduced with our original weather application: just hang up the phone. And the total cost. Well, that's the same as always here at Nerd Vittles: zero, zip, nada. Merry Christmas! [Note: Looking for Worldwide Weather Forecasts for Asterisk? Here's the link.]

    How It Works. The design is pretty straightforward. You install a MySQL zip code database. Thanks, Novak! Then you add a simple dialplan to your extensions_custom or extensions_trixbox config file and tell freePBX the extension on your Asterisk system to dial to retrieve the forecasts. Finally, you download the nv-weather-zip.php script into your default Asterisk agi-bin directory. When you dial 9-4-7 (that's Z-I-P), the Asterisk Weather Station will prompt you to enter the 5-digit zip code of the city for which you want to hear the weather forecast. In a few seconds you'll be listening to the latest information from the National Weather Service. And apologies to all of our foreign friends. Yes, we know you have weather, too. We just don't know of an equivalent organization like the National Weather Service in every country. If you do, then it'll be fairly simple to adjust the code to meet your local needs. Here's a Canadian solution. If you have solutions for other countries, do everyone a favor and post a comment.

    Prerequisites. For the Asterisk Weather Station to work, you'll need an Internet connection to access the National Weather Service reports. Then you'll need either a TrixBox Asterisk server or an Asterisk@Home 2.x server and the new Flite voice synthesizer for Asterisk. Instead of a dedicated Asterisk server, you can use our VMware version of TrixBox if you just want to experiment a bit. It runs in a window on your Windows XP/2000 desktop. If it's not already part of your Asterisk system, our Flite tutorial and the Flite application software are available here.

    Downloading the Zip Code Database. We searched far and wide to find a free MySQL zip code database that could be used with TrixBox. But there wasn't one. So the Nerd Vittles elves started with Novak Banda's free zip code data and converted it into something MySQL could understand. You're welcome. Before downloading the database, kindly read and heed Novak Banda's license agreement. Then download zipcodes.zip to your desktop and unzip the file. Once you decompress the archive, you should have two files: zipcodes1.sql and zipcodes2.sql. We'll use these in a minute to build your very own, free MySQL zip code database on the fly. Buy someone in need a little Christmas present with the money you saved. You'll both be happier!

    Installing the Zip Code Database. Using your web browser, access your TrixBox server by entering the IP address of the server. Click on System Administration, log in as maint with your password, and then click phpMyAdmin to enter the world of MySQL. Now click on the Import link at the bottom of the right pane. Choose the zipcodes1.sql file on your Desktop, uncheck the Partial import box and leave the other settings as they are. Then click Go. Be patient with the imports. This is a BIG database, and numerous indexes have to be created as well. When the import finishes, you should see a message which says "Import has been successfully finished. 22003 queries executed." Now choose the zipcodes2.sql file on your Desktop and click Go again. When the import completes, you should see a message which says "Import has been successfully finished. 20741 queries executed." Double-check to make sure you got the whole database by exiting from phpMyAdmin. Then start it up again and select the zipcodes database. In the right panel, it should show a zipcodes table with 42,740 records. Close phpMyAdmin if all is well. Otherwise, repeat the drill.

    Dialplan Code. In order to activate extension 947 to answer calls for your Asterisk Weather Station, you'll need to drop the following code into your dialplan in the [from-internal-trixbox] context of /etc/asterisk/extensions_trixbox.conf. The easiest way is to access TrixBox from your browser and choose System Administration, Config Edit. Then click on the extensions_trixbox.conf file in the left column, scroll down into the [from-internal-trixbox] context and cut-and-paste the following. Then click the Update button to save your changes.

    exten => 947,1,Answer
    exten => 947,2,Wait(1)
    exten => 947,3,DigitTimeout(7)
    exten => 947,4,ResponseTimeout(10)
    exten => 947,5,Flite("At the beep enter the five digit zip code for the weather report you wish to retrieve.")
    exten => 947,6,Read(ZIPCODE,beep,5)
    exten => 947,7,Flite("Please hold a moment while we contact the National Weather Service for your report.")
    exten => 947,8,AGI(nv-weather-zip.php|${ZIPCODE})
    exten => 947,9,NoOp(Wave file: ${TMPWAVE})
    exten => 947,10,Playback(${TMPWAVE})
    exten => 947,11,Hangup

    Adding a Miscellaneous Destination. While you're still in TrixBox with your browser, choose freePBX and then choose Setup, Misc Destination. Add a new entry for WeatherByZipCode with 947 as the Dial entry. Save your entry and then click the Red Bar to reload Asterisk.

    Downloading and Installing the Asterisk Weather Station. To get the Asterisk Weather Station script installed, you'll need to log into your Asterisk server as root. Then issue the following commands in order:

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

    Taking the Asterisk Weather Station for a Spin. Now we should be all set. Just pick up an extension on your system and dial 947. You'll be prompted to enter a five-digit zip code. Punch in 90210 and check out the Valley Girls weather forecast. Enjoy!

    Housekeeping 101. Temporary files in /tmp get cleaned up by Linux housekeeping automatically. Temporary files stored elsewhere don't unless you're using a Nerd Vittles build of TrixBox with either the VMware edition of nv-trixbox for Windows or PBX-in-a-Flash for Linux. The weather scripts store .wav files with your requested weather forecasts in /var/lib/asterisk/sounds/tts. So, from time to time, make a mental note to remove all of these files with a command like this:

    rm -f /var/lib/asterisk/sounds/tts/*

    Or just log into your Asterisk server as root and edit the following file: nano -w /etc/crontab. Move to the bottom of the file and insert the following code on a blank line:

    3 0 * * * /usr/bin/find /var/lib/asterisk/sounds/tts -type f -mtime +14 | /usr/bin/xargs /bin/rm -f >/dev/null 2>&1

    This code will delete all of the files in the tts folder every two weeks. If you'd prefer a shorter time, change the number 14 accordingly. Now save your changes: Ctrl-X, Y, then Enter.

    Installation Script. Some folks may find an install script easier to deal with. Here's a Script-Trix link if you want one.


    Nerd Vittles Demo Hot Line. 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.

    Hosting Provider Special. Just an FYI that the Nerd Vittles hosting provider, BlueHost, has raised the bar again on hosting services. For $6.95 a month, you can host up to 6 domains with 50GB of disk storage and 999GB of monthly bandwidth. Free domain registration is included for as long as you have an account. That almost doubles last month's deal, and it really doesn't get any better than that. Their hosting services are flawless! We oughta know. We've tried the best of them. If you haven't tried a web hosting provider, there's never been a better time. Just use our link. You get a terrific hosting service, and we get a little lunch money.

    Want More Projects? For a complete catalog of all our previous Asterisk projects, click here. For the most recent articles, click here and just scroll down the page.

    Headline News for the Busy Executive and the Lazy Loafer. Get your Headline News the easy way: Planet Asterisk, Planet Gadget, Planet Mac, and Planet Daily. Quick read, no fluff.

    Got a PDA or Web-Enabled Smartphone? Check out our new PDAweather.org site and get the latest weather updates and forecasts from the National Weather Service perfectly formatted for quick download and display on your favorite web-enabled PDA, cellphone, or Internet Tablet. And, of course, it's all FREE!