Home » Technology » Telephony (Page 79)

Category Archives: Telephony

The Most Versatile VoIP Provider: FREE PORTING

Click2Dial for Every(Asterisk)man… and Woman

blankThere have been any number of click to call applications released for Asterisk®, but none quite so simple to implement as the one we've uncovered. The original was introduced at VoIPjots.com about this time last year. Then Rafael Cortes at asteriskpbxs.com further embellished it. We took Rafael's version and added a few minor enhancements, and today you get Click2Dial for Asterisk to freely use with virtually any Asterisk PBX. It works exceptionally well with our customized versions of TrixBox 1.2.3 which you can download from the links above for Windows, Intel Macs, and Linux.

Overview. For those new to this technology, the basic idea behind Click-to-Dial or click to call applications is that folks can visit your web site, click on a link after plugging in their phone number, and a call is placed from your Asterisk PBX connecting you and them without the visitors incurring any long distance charges. The initial call to you is placed first, and it can be to any extension on your Asterisk system or even your cellphone if you have more than one outbound (termination) trunk. If you don't answer, no second call is placed. Once you answer, the outbound call to the web site visitor is placed. We've added support in the PHP application so that callers can also enter their name, and the name entry together with the phone number to be called will be displayed on your phone before you answer the call: Web-John Doe 843-678-1234. Be aware that cellphone providers throw CallerIDName information in the bit bucket so the name display only works on calls to Asterisk extensions, but the CallerIDNumber will work with any of the providers that support adjusting your outbound CallerID, such as TelaSIP. See our Roundup of VoIP Providers for more choices. Anyway, the web site visitors get 12 characters in which to enter their name and 10 for their area code and phone number. Without much tweaking, the 10-digit limitation can be adjusted for international calling. No dialplan changes are required to get this working assuming your dialplan supports 10-digit dialing from extensions on your system. Simply drop the code into the web directory on your Asterisk server, open port 80 on your firewall to point to the web server on your Asterisk or TrixBox system, and you're off to the races. Installation and setup time: about 2 minutes.

Click2Dial for Asterisk Installation and Setup. To download the Click2Dial for Asterisk application, click on this link. Save and unzip the archive on your Desktop. Open the Click2Dial folder and copy click2dial.php into the web folder on your Asterisk server (/var/www/html on TrixBox systems). Log into your Asterisk server as root and edit the file: nano -w /var/www/html/click2dial.php. For TrixBox systems, the only entry you need to change is the incoming call destination on line 38. For a SIP extension on your Asterisk system, the line should look like this: $strChannel = "SIP/502"; where 502 is the extension you wish to ring for incoming Click2Dial calls. If you have multiple outbound trunks and you want to route incoming web calls to your cellphone, here's the syntax:

$strChannel = "local/1NXXNXXXXXX@from-internal" ;

Replace 1NXXNXXXXXX with the actual phone number that you currently dial from an extension on your system to place a call to your cellphone. Save your change (Ctrl-X, Y, then Enter), and you're done! To try it out, point a web browser at the following page substituting your own fully-qualified domain name or IP address of your Asterisk server: http://192.168.0.211/click2dial.php. Feel free to cut-and-paste the code into an actual web page if you'd prefer to integrate Click2Dial for Asterisk into your existing web layout.

Other Goodies. We've also included all of Rafael Cortes' other handiwork in the archive which you are free to use (not sell!) if you so desire. In addition, we've included our YeeHah add-on for AsteriDex. This lets you do a couple of things. First, you can use it as a Click2Dial add-on which works exactly like the code described above. Just edit the top of the file and specify your CallerID number and extension number to be called. Then move the file to your existing AsteriDex folder on your Asterisk server. While editing the file, if you set Click2Call=false, then the application lets you actually dial outbound calls to two phones of your choosing from the web page. This is handy for personal use but obviously has serious security risks unless you also uncomment the top few lines in the application and specify the actual IP addresses of the computers on which this application can be used. If you don't understand what any of this means, then do yourself and your phone bill a favor, don't use it! Otherwise, anyone with access to your AsteriDex web application can make unlimited calls on your nickel to anywhere. Enjoy!

Nerd Reminder. Don't forget today is Valentine's Day. Give the keyboard a rest for a bit.

Nerd Vittles Valentine's Day Giveaway. As a special thanks to our loyal readers, we have a couple of free passes to give away to the Fonality trixbox Open Communications Certification course being held on March 5-6, 2007 at the Los Angeles LAX Westin. The retail value of each pass is $1495. If you'd like to attend, post a comment to this article which begins with I WANNA GO. Just tell us why you'd like or need to go to the course. And be sure to include your real name and email address in the required fields. Email addresses do NOT get shown on the web but do give us a way to get in touch with you. Except for the winning entries, none of the other comments will actually be posted on the blog so feel free to lie your ass off beg. To be eligible, we must receive your comment before 7 a.m., Eastern time, on Thursday, February 15, 2007. We will pick two lucky winners tomorrow morning. Decision of the judges (Nerd Uno) is final. If you don't hear from us by noon (Eastern time) tomorrow, then you didn't win. Sorry. Make up a better story next time. Winners are, of course, responsible for their own transportation, lodging, food and beverage expenses. This is a perfect opportunity to get certified on the TrixBox platform at minimal expense. Offer void where prohibited by law. Good luck!


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

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


Some Recent Nerd Vittles Articles of Interest...

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

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

    Hacker’s Dream Machine: Introducing the Best Gadget of the Year And It’s Not From Apple

    blankAttention Toy Junkies and Hackers: Imagine a 14 ounce device the size of a five pound bag of sugar with a self-contained Wi-Fi server, web server, streaming audio player, MP3 player, RSS Feed fetcher, email reader, voice recognition, built-in RFID proximity detection, text-to-speech and speech-to-text capabilities and... wiggly ears, a VoIP belly button, a speaker, and blinking lights all over the place. It's a bird, it's a plane. No, it's a Nabaztag/tag. With a name like that, you know it has to be good. Nabaztag actually is the Armenian word for rabbit. And the Nabaztag/tag is the second generation of Violet's infamous WiFi Bunny... from France no less.

    For those of you thinking about one of these fine critters as a Valentine's gift, let me just offer up a quote from someone near and dear to me: "If you'd gotten me one of those stupid bunnies for Valentine's, you'd be sleeping in your car." Yes, much to the chagrin of the Little Mrs., we've spent an entire week playing with Pat the Nerd. And, with the help of a number of similarly misguided souls from around the world, we've managed to turn this rabbit, uh, on its ear. Or is it the other way around? You see Pat costs $179 at ThinkGeek. But there's more to it. Violet, the bunny's proud inventor, is also proud of their connection service. Beginning Valentine's Day, Violet has a special surprise for bunny lovers. They'd like every bunny owner to pony up $6.95 a month (forever) to keep your bunny hopping. No more animal jokes, we promise! There still will be some free services such as time and weather information. And Violet will still let your bunny receive a whopping 14 15 messages a month. That's almost a whole 30-second message every couple of days! But, after that, it's Pay Per View time. Believe it or not, there already are hundreds of thousands of Nabaztags in the homes of our European friends. But the bunny lovers of the world are in for a little surprise in a couple weeks. Happy Valentines! Heh, heh.

    Well, that was last week. Several projects have been underway for months on SourceForge to unearth the bunny's innermost secrets. They quickly discovered that the first generation bunnies had a severe limitation because of an extremely proprietary sound chip. The second gen Nabaztag/tag resolves that by supporting playback of industry-standard sound files. The other problem with the SourceForge projects was the Hobson's Choice of an either-or bunny. You could either connect to Violet's servers and enjoy their offerings, or you could venture out on your own by creating your own applications using your own server. Thanks to Olivier Azeau, you now can have your cake and eat it, too. In addition to being an adept PHP programmer, Olivier also happens to like bunnies. So he began the OpenNab project on SourceForge to build a PHP-driven Nabaztag/tag proxy. Just as the name implies, it transforms the WiFi Rabbit into an open source platform while maintaining your existing connection to the Mother Ship. Stated another way, by using the OpenNab proxy, you don't throw the baby out with the bath water. Instead, you get the best of both worlds: all of the free Nabaztag services from Violet plus all of the free open source apps that the rest of us can dream up. And, if you want to subscribe to Violet's monthly service plan, you can do that as well. It also opens the door for competitive server platforms to support the Nabaztag/tag for those that have no interest in building and supporting a server just to trick out your dumb bunny.

    That, of course, is where a TrixBox Asterisk® server comes into play. In addition to getting a first-rate (free) PBX that will run on Linux, a Mac, or Windows (download links at top of the page), you now have the perfect platform for the OpenNab proxy. For our non-Asterisk readers, you don't have to use a TrixBox server to make all of this work... if you don't mind wrestling with Linux. Or, for the Windows platform, you might want to try WAMP5. The beauty of installing one of our TrixBox servers for the Mac or Windows platform is that you don't have to have a dedicated Linux server. You can run the TrixBox server in a window on your desktop, and you never need to touch the PBX if you don't want to. In short, a TrixBox server is an ideal development platform for projects such as this because all of the tools you'll need are already integrated into a turnkey appliance. In addition to a fairly complete Linux toolkit, it also includes an Apache web server with PHP and a voice synthesizer called Flite right out of the box so there's nothing to install... except OpenNab. We'll walk you through that installation, and we'll provide a couple of our reworked open source applications for your OpenNab-energized Bunny to get you started: weather reports for every U.S. city and a Yahoo Headline News Feed Reader. Then you can rip into our code and contribute some applications of your own to the cause. A few have already been contributed, and we'll post those on our new Wabbit Vittles web site in the next few days.

    OpenNab Prerequisites. As mentioned, you'll need a server platform that includes a web server with PHP 4.4.3 or later and CURL, a text-to-speech voice synthesizer such as Flite (free) or Cepstral ($30), and an encoding utility in order to get much use out of the OpenNab proxy. The free TrixBox appliances include everything you'll need to get started.

    Downloading OpenNab. Once you have your web server with PHP and CURL running, you're ready to install OpenNab. Start by downloading the OpenNab Proxy application from SourceForge. Unzip the file, and you'll have a folder named opennab with a version number. We're assuming it's 0.04, or some of the fixes below may not be necessary. There are several tricks to getting OpenNab installed and working reliably. We're going to walk through the TrixBox installation scenario. It's also possible to run this on a dedicated Linux machine or through a Linux hosting provider site, but it's considerably more complex to get all the pieces working as you'll quickly discover if you decide to try it. We've put up a demo system through our hosting provider, BlueHost, just to show it's possible. BlueHost incidentally happens to be the best AND the cheapest hosting provider on the planet if you ever have a need. Regardless of which route you take or even if you roll your own server, be aware that the two folders (vl and broad) both have to be copied into the root directory of your web server.

    OpenNab Installation and Setup. In the case of a TrixBox installation, copy the vl and broad folders into var/www/html which is the web server's home directory. If you're using a hosting provider, copy the two directories into your root web folder, usually www or public_html with cPanel systems. Instead of Apache redirect commands, OpenNab uses ErrorDocument redirection to reroute traffic from Violet's servers to your OpenNab Proxy. So, if they don't already exist, create a .htaccess file in both the vl and broad folders: nano -w .htaccess after logging into your server as root (for TrixBox) or your accountname (for hosted servers) and changing to the proper directory.

    In the vl folder, make sure you have the following line in a .htaccess file. This was missing in version 0.02 :

    ErrorDocument 404 /vl/bc.php

    In the broad folder, the following line should appear in .htaccess:

    ErrorDocument 404 /vl/media.php

    Next we need to modify the Apache config file on your TrixBox server so that it allows .htaccess commands to override Apache defaults at the directory level. This isn't required on most hosted systems since they already allow directory-level overrides. While still logged in as root on your TrixBox server, edit the Apache config file: nano -w /etc/httpd/conf/httpd.conf. Press Ctrl-W and search for AllowOverride None. Press Enter to execute the search. Leave this entry alone. Now press Ctrl-W and Enter again. Change this entry to AllowOverride All. What this does is allow .htaccess overrides on the /var/www/html directory and its subdirectories which is what we want since that's the root directory for the web server. Save your changes: Ctrl-X, Y, then Enter. Then restart Apache: apachectl restart.

    Regardless of your server type, we need to create a few new folders to make sure OpenNab can successfully pass its startup tests. Just issue the following commands while logged in as root:

    cd /var/www/html/vl/plugins/files_simpleplay (NOTE: Version 0.03 and 0.02 stored these files in /var/www/html/broad)
    mkdir 0
    cd 0
    mkdir 1
    cd 1
    mkdir 2
    cd 2
    mkdir 3
    cd 3
    touch 4.mp3

    If you're using a hosting provider, you can ignore this step. On TrixBox servers, the web service runs as user asterisk unlike other Linux systems. We need to adjust the permissions on the folders we installed to be sure this user can read, write, and execute in these directory trees. So issue the following commands while logged in as root:

    cd /var/www/html
    chown -R asterisk:root vl
    chown -R asterisk:root broad

    Finally, regardless of your server type, there was a little bug in version 0.02 that occurred if you happened to enter the MAC address of your bunny in upper case letters. This is fixed in version 0.03 and 0.04, but if you have the 0.02 version here's the patch:

    cd /var/www/html/vl/includes
    nano -w burrow.php

    Once the editor opens, cursor down to line 45 and add the strtolower function to the existing line so that the new line looks like this:

    $this->fileName = 'burrows/'.strtolower($serialNumber);

    Save your change: Ctrl-X, Y, then Enter.

    Securing OpenNab. We highly recommend using a TrixBox server or some other Linux server behind a firewall for this project. Running OpenNab on the public Internet with or without a hosting provider adds all sorts of security implications. At a minimum, there are some changes we recommend you make to lessen the opportunity for abuse from outsiders. Insert index.php documents in the folders that don't already have such a document. Here's what each index.php document should look like:

    <?php
    echo " ";
    ?>

    The second tip is don't activate the logging feature in vl/config.php because it will compromise the MAC addresses of every rabbit that connects through your server... unless you password protect the vl/logs directory. Finally, remove the phpinfo.php file from vl/tests once you complete your testing as this reveals all sorts of information to someone that may be attempting to break into your server.

    Testing Your Nabaztag/tag. There are two tests you need to perform to make sure your Apache server, PHP, and CURL are operating properly. Using a web browser, go to the following links using the IP address or fully qualified domain name of your OpenNab Proxy:

    http://my.domain.com/vl/foobar should return: ERROR 404 from OpenNab
    http://my.domain.com/vl/tests/ should return: 48 passes, 0 fails and 0 exceptions with a Green Bar

    Configuring Your Nabaztag/tag to Use OpenNab. Once you've passed the testing with flying colors, it's time to activate the OpenNab Proxy. Step 1: Get your tag/tag functioning reliably with Violet's server first. If you need help, here's a link. Before connecting through OpenNab, you'll also need to write down either the IP address of your TrixBox server on your internal LAN or a fully-qualified domain name that points to your web site on the Internet if you're using a hosting provider. So the syntax for the entry you're about to make should look like one of the following using your correct IP address or domain name:

    192.168.0.129/vl
    wabbitvittles.com/vl (This one actually works if you'd just like to try things out without installing any software.)

    Once you have your entry in hand, unplug your rabbit. Press and hold down the top button and reconnect power to your rabbit. As soon as all four front lights turn blue, release the button. This usually occurs in less than one second if you have an Internet connection. If you hold the button down too long after the lights turn blue, you'll need to start over. Now count slowly to twenty. From a wireless PC or Mac on the same subnet as your rabbit, open the Wireless Networking window and select Nabaztagnn as your WiFi host. The nn will match the last two numbers of the MAC address on the bottom of your rabbit. Count to twenty again and then open the following page with a web browser: http://192.168.0.1/. Click on Click Here to Start link. When the next page displays, click Advanced Configuration. You shouldn't have to change anything except the very bottom entry on the form which reads r.nabaztag.com/vl. Replace that entry with the entry you wrote down above and Save your change. This will reboot your bunny, disconnect you from the wireless connection, and restart your bunny using the OpenNab Proxy. Now is a good time to reconnect your PC or Mac to a functioning wireless network! The lights on your bunny will start out orange and then should turn green and go away after the bunny wiggles his ears. When properly connected, you'll have the glowing purple light on the bottom of the bunny and no other lights lit... just as you had when connected directly to Violet's server. Congratulations! You now have an operational OpenNab Proxy.

    But What Can It Do? If you'd like to try all of this through our OpenNab Proxy first, then go through the configuration step above using wabbitvittles.com/vl as your proxy address. Once your bunny springs to life, here's a simple test to make sure everything's working. Write down the MAC address of your bunny. Then open a web browser and go to the following link substituting the MAC address of your bunny for the string of zeros, of course. You can also pick any other city and state in the United States... as long as they really exist. This demo system uses Cepstral's Diane 8kHz English voice. There are many others available. You can try them out here.

    http://wabbitvittles.com/vl/api_demo/opennab-weather.php?sn=000000000000&code=422&city=Washington,DC

    The Cepstral voices on our demo site are nice, but we don't find them to be appreciably better than the default voice installed with Flite. Flite also happens to be free and is bundled in the TrixBox servers we recommend. There's also the hassle of finding a conversion utility to get the text into a format that your bunny can decipher. All of these tools come preconfigured on the TrixBox systems. Hint!

    OpenNab Applications. We're going to contribute several OpenNab applications to get you started today. Before you can use them, you'll need a TrixBox server or a garden-variety Linux server if you know what you're doing. If you roll your own, install Flite or Cepstral to handle text-to-speech conversion and a conversion tool to get the files into a format your bunny can decipher. You can look through the last couple dozen lines of code in the applications to figure out what you need.

    Cepstral Installation. The only trick to installing Cepstral is choosing a good voice. We've had better luck with the "telephone voices" which are 8kHz, but you can try out all of them here. We'd recommend you begin by downloading the Diane-8kHz voice for Linux and get it working first. You don't have to buy it unless you like it! Once you download it, log into your TrixBox/Linux system as root, and issue the following commands using the voice name associated with your download:

    mkdir /nerdvitt
    mkdir /cepstral
    cd /cepstral
    [copy your download into the /cepstral folder now]
    gunzip Cepstral_Diane-8kHz_i386-linux_4.1.4.tar.gz
    tar xvsf Cep*
    cd Cepstral_Diane-8kHz_i386-linux_4.1.4
    ./install.sh

    When prompted for the installation path, use /nerdvitt. Just to make sure you have a link to the application in your path, execute the following command:

    ln -s "/nerdvitt/bin/swift" /usr/local/bin/swift

    When you decide to buy a license ($30), you'll get an activation key. You activate it by issuing the following command (while logged in as root!) and filling in the blanks using the same name you used when you purchased the license:

    swift --reg-voice -n Diane-8kHz

    Installing OpenNab Applications. First, you'll need to download the desired applications. Assuming you want all of them, just execute the following commands after logging into your TrixBox server as root:

    cd /var/www/html/vl/api_demo
    wget http://wabbitvittles.com/applications/weather-opennab.zip
    wget http://wabbitvittles.com/applications/news-opennab.zip
    unzip weather-opennab.zip
    unzip news-opennab.zip

    Once you've unzipped the files, you'll need to edit each .php file to configure it. For the weather, edit the following file: nano -w opennab-weather.php. The configuration changes begin at line 37:

    if (strlen($city)==0) :
    $city="Charleston, South Carolina";
    endif ;
    if (strlen($SN)==0) :
    $SN = "000000000000";
    endif ;
    $WebRoot="/var/www/html";
    $BinRoot="/nerdvitt/bin";
    $ProxyAddress="0.0.0.0";
    $UseCepstral=false ;
    $voice="Diane-8kHz" ;

    Choose a default city to replace Charleston, South Carolina, e.g. Atlanta,GA is fine for the syntax. Enter the serial number ($SN) of your rabbit to replace 000000000000. If you're using a TrixBox server, the $WebRoot and $BinRoot entries are fine. These are the root directory of your web server and the location of the Cepstral executable. Replace the $ProxyAddress entry of 0.0.0.0 with the IP address fully-qualified domain name of your TrixBox/Linux server. If you plan to use Flite for speech synthesis, nothing else needs to be changed. If you're using Cepstral, change $UseCepstral=false to $UseCepstral=true. Don't delete the semicolon at the end of the line! If you're not using the Diane-8kHz voice with Cepstral, enter the file name of your voice surrounded by quotation marks. Save your changes: Ctrl-X, Y, then Enter.

    Now edit the opennab-news.php file: nano -w opennab-news.php. Beginning at line 18, you'll find the configuration settings:

    if (strlen($category)==0) :
    $category="topstories";
    endif ;
    if (strlen($SN)==0) :
    $SN = "000000000000";
    endif ;
    $WebRoot="/var/www/html";
    $BinRoot="/nerdvitt/bin";
    $ProxyAddress="0.0.0.0";
    $UseCepstral=false ;
    $voice="Diane-8kHz" ;

    Choose a default news category to replace topstories. Available choices include: topstories, us, world, iraq, world, mideast, politics, business, health, science, technology, showbiz, mostviewed, mostemailed, mostblogged, highestrated, adventures, obits, hotzone, nasashuttle, sept11, oped, oddlyenough, and many others. Here's the complete list of Yahoo RSS Feeds. Enter the serial number ($SN) of your rabbit to replace 000000000000. If you're using a TrixBox server, the $WebRoot and $BinRoot entries are fine. These are the root directory of your web server and the location of the Cepstral executable. Replace the $ProxyAddress entry of 0.0.0.0 with the IP address fully-qualified domain name of your TrixBox/Linux server. If you plan to use Flite for speech synthesis, nothing else needs to be changed. If you're using Cepstral, change $UseCepstral=false to $UseCepstral=true. Don't delete the semicolon at the end of the line! If you're not using the Diane-8kHz voice with Cepstral, enter the file name of your voice surrounded by quotation marks. Save your changes: Ctrl-X, Y, then Enter.

    Running the Weather Application. There are several ways to run each of these new applications. The weather application can be activated using a web browser using the IP address of your TrixBox/Linux server:

    http://192.168.0.129/vl/api_demo/opennab-weather.php?city=Charleston,SC

    The application also can be run from the Linux command line after logging into your server as root:

    php /var/www/html/vl/api_demo/opennab-weather.php city=Charleston,SC

    Using the command line syntax, you also can schedule the application to run automatically at various times of the day using a crontab entry. For example, the following entry could be added to /etc/crontab to kick off a weather bunny report at 29 minutes after the hour beginning at 6:29 a.m. until 8:29 p.m. every day:

    29 6-20 * * * root /etc/weather.sh

    For the /etc/weather.sh script, simply copy the above line to the script and make it executable:

    echo php /var/www/html/vl/api_demo/opennab-weather.php city=Charleston,SC > /etc/weather.sh
    chmod +x /etc/weather.sh

    Running the News Application. The Yahoo News application can be run in much the same way. It could be activated using a web browser using the IP address of your TrixBox/Linux server:

    http://192.168.0.129/vl/api_demo/opennab-news.php?category=topstories

    The application also could be run from the Linux command line after logging into your server as root:

    php /var/www/html/vl/api_demo/opennab-news.php category=topstories

    Using the command line syntax, you also could schedule the application to run automatically at various times of the day using a crontab entry. For example, the following entry could be added to /etc/crontab to kick off a news bunny report at 1 minute after the hour beginning at 6:01 a.m. until 8:01 p.m. every day:

    01 6-20 * * * root /etc/news.sh

    For the /etc/news.sh script, simply copy the above line to the script and make it executable:

    echo php /var/www/html/vl/api_demo/opennab-news.php category=topstories > /etc/news.sh
    chmod +x /etc/news.sh

    Finding the Latest Nabaztag Applications. Well, that should get you started with OpenNab. And we'll be adding more and more applications in the weeks ahead as others begin to contribute as well. It seemed a fitting time to dedicate a new web site to our non-furry friend so... Welcome to Wabbit Vittles. If you have a contribution to add, just send us a message, and we'll be glad to host it for you. You'll also want to check out the terrific new Nabaztalk Forums for late-breaking tips and tricks. Enjoy!

    Introducing Version 3 of the Plug-and-Play Asterisk IP PBX for the Intel Mac

    blankNOTE: The system referenced in this article is no longer supported by Nerd Vittles as this version of Asterisk® has been phased out. For the latest and greatest, please consider our new PBX in a Flash offering.

    We don’t usually write about stuff we haven’t personally tested, but we’re making a partial exception today because we don’t (yet) own an Intel Mac. Donations, anyone? Where were we? Thanks to the work of literally hundreds of developers, there is a terrific Asterisk IP PBX with an incredible array of additional bells and whistles. That product which we have tested extensively is TrixBox 1.2.3. It’s so good, in fact, that we chose it as the base system for all of the Nerd Vittles applications that we write about each week. For Halloween last year, we introduced Version 3 of our Plug-and-Play Asterisk IP PBX for Windows. Then a week later, we showed how to take a standard install of TrixBox 1.2.3 on Linux and NerdVittlize it into the equivalent of our version 3 build for Windows. When you were finished, you had a secure, turnkey Asterisk IP PBX with all of the Nerd Vittles software collection and virtually every mission-critical add-on anyone could ever dream of for a phone system: freePBX, an Apache web server, a SendMail server, PHP, MySQL, WebMin, SugarCRM contact management, FTP and SSH support, Perl, integrated fax-to-email support, calling card billing, and more. And it all runs quite peacefully in a CentOS 4.4 Linux wrapper on either a dedicated Linux machine or on your Windows Desktop.

    What was missing unfortunately was a way to run this same system on a Mac. Yes, there’s an Asterisk implementation on the Mac platform. But it’s downright primitive compared with the systems we’ve been writing about for the last 18 months. So today we have not one but two special treats for the Mac enthusiasts of the world. First, it’s now possible to run our standard Version 3 system using the new VMware beta for the Intel Mac. You can download it here (561MB). You’ll also need to install the VMware Fusion beta software on your Intel Mac. Just fill out this form and then download the software. At least the beta is free, and the clients have remained free on other platforms.

    Thanks to one of our great contributors, Gillam Hall, there’s now another alternative: a Parallels Desktop image of our Version 3 Asterisk system. You’ll first need to purchase and install Parallels Desktop on your Intel Mac. Parallels Desktop requires Mac OS X 10.4.6 or later. Then you can download the Parallels Desktop image of Version 3 here (535MB).

    After installing either VMware Fusion or Parallels Desktop on your Mac, all you need to do is download either our standard VMware Version 3 Build or the new Parallels Version 3 .tar.gz Build, decompress the archived file, and run it in a VMware or Parallels window on your Mac Desktop. Once you get it running, hop over to our Version 3 tutorial for Windows and configure your system. To maximize performance, make sure you also apply the tweaks covered in the Comments to that tutorial. The total setup time is about 30 minutes once you have the download in hand. Enjoy!

    What To Do Next. Once your new PBX is humming away, here are the next steps. First, you’ll want to upgrade freePBX to version 2.2.x. The tutorial to walk you through the drill can be found here. Last but not least, you’ll want to apply the latest Asterisk security patches to prevent a denial of service attack on your system. The tutorial for that can be found here.

    Securing AsteriDex. Because of a security vulnerability in our very own AsteriDex, you’ll need to download and install this simple patch as well. Log into your Asterisk server as root and issue the following commands:

    cd /var/www/html/asteridex
    rm -f callboth.php
    wget http://nerdvittles.com/trixbox11/callboth.zip
    unzip callboth.zip
    rm -f callboth.zip
    chown asterisk:asterisk callboth.php
    chmod 775 callboth.php

    Nerd Vittles Birthday Bash: freePBX 2.2.0, TrixBox for Macs, CallerID Trifecta for Asterisk, and…

    blankWe made some New Year’s Resolutions this year… that we intend to keep. So, no, we’re not going to discuss losing weight. Our most important resolution was to stop getting caught up in upgrade-itis with Asterisk® and TrixBox. After all, we’re building phone systems that folks expect to be considerably more reliable than their Windows desktop machines… which doesn’t take much. We’ve gotten literally hundreds of emails asking the same two questions: when do we plan to switch to TrixBox 2.0 and how about upgrading to Asterisk 1.4? Our answer is always the same to both questions: not anytime soon. Why? Because there is almost nothing that can’t already be done with TrixBox 1.2.3. It’s 99% reliable, at least once you NerdVittlize It using our upgrade script. So what do these upgrades buy you other than another version number? Who knows? We’d suggest you do a lot of reading before making the leap. Start with Chris Sherwood’s Guide and see if there’s some new feature you really can’t live without. And then check out the TrixBox Help Forum to determine if you can deal with the reported problems. That’s the balancing act we all have to perform, and we’ll let you know when we finally take the plunge. For now, we’re happy with the feature set in TrixBox 1.2.3, and it lets us build reliable snap-on applications that really make a phone system hum. If there are features you don’t need or use, just turn them off. That’s what WebMin is for! Think of it as TrixBox 2.0 in reverse. Instead of enabling apps, you disable them. Are you really that short on disk space? As for the feature set, you’re not missing much. Our home phone system has so many gimmicks and gizmos that some callers (mostly my perverted friends) ask to speak to Allison when they call. She doesn’t live with us. She’s a nice Canadian girl, but you might still enjoy listening to her recent interview with Ronald Lewis.

    Having said all that, there’s one new product for Asterisk that is nothing short of incredible. That’s the Rob Thomas & Co. upgrade of freePBX to 2.2.0. While the developers have conservatively numbered the new version, don’t be deceived. It’s more like 3.0 compared to the 2.1.3 version that ships with TrixBox 1.2.3. Why the enthusiasm? Because freePBX now includes the toolset that lets developers add unlimited new functionality without mucking around in the basic freePBX code. We’ll show you what we mean in a little bit so hang in there. Our diatribe is almost over.

    We’ve also gotten a lot of questions about whether we’ve looked at AsteriskNOW, the new "appliance" from Digium. Yes, we’ve looked and we’ve read some excellent documentation. If all you want to do is set up some extensions around your house and replace your answering machine, it looks like an interesting product. What’s missing? Well, the 80 million things you can do with freePBX for openers. So we actually thought about writing a HOW-TO covering installation of freePBX 2.2.0 with AsteriskNOW, but then we remembered our New Year’s Resolution, not to mention the Asterisk 1.4 wrinkle with a bunch of missing commands. They call them "deprecated." It’s a nice word for throwing the baby out with the bath water. To save a few lines of code, the Asterisk developers removed some important, old commands from the product. So now application developers have to review and update every piece of code they’ve ever written for Asterisk to make sure there aren’t any deprecated commands lurking. To make matters worse, you have to have different versions of applications to run on Asterisk 1.2 and Asterisk 1.4. Dumb idea not to mention a huge waste of time and talent! So… here’s our bottom line: why reinvent the wheel when TrixBox 1.2.3 is rock-solid reliable and when TrixBox uses the very best tools in the business: Asterisk 1.2.12.1, Apache, MySQL, PHP, Flite, SendMail, SugarCRM, and on and on we go. Aside from the IAX security hole which our upgrade script patches, every one of these applications is a proven winner which brings us back to freePBX.

    You really, really need freePBX 2.2.0! We plan to build all of our future goodies using it so climb on board today. We promise. You’ll enjoy the ride… every week! If you’re using TrixBox 2.0, you’re all set. If not, here’s how to upgrade your TrixBox 1.2.3 system to freePBX 2.2.0 in about 10 minutes! There’s nothing hard about any of this. The remainder of this article does assume that you have installed TrixBox 1.2.3 from the original .iso image and then NerdVittlized it on a dedicated Linux machine OR that you’ve installed our VMware/Windows XP version of TrixBox 1.2.3 which comes NerdVittlized out of the box. Otherwise, as they say, YMMV. If you’re new to all of this and have no idea what NerdVittlizing means, read up on the gerund here, and then come back and join us once you’ve secured your system and added all of the the Nerd Vittles goodies.

    When we get finished with the freePBX upgrade to your TrixBox 1.2.3 system, everything that worked before you started the upgrade will still work when you get finished. Of course, we recommend you try this out on a non-production system and verify for yourself that your system still functions reliably. That’s what VMware is for! But we think you’ll find that you still have a system that is ready to put in production: phones ring, applications run just as before, and all the things you have come to rely upon in your phone system will still function. And we’ll have an essential, new building block to add all sorts of additional features to your system in coming weeks without breaking anything. We’re even going to add a few goodies today just to get you started!

    Upgrading to freePBX 2.2.0. The upgrade process is straight-forward, but you need to pay attention and perform the steps in the order we’ve outlined below. Winging it will result in a system that either doesn’t work at all or one that may exhibit all sorts of quirky behavior. So, be reasonable. Do it our way! We’ve tested this about a dozen times on all sorts of different machines which is something you’re probably not going to find all that exciting to replicate.

    First, make sure that your TrixBox 1.2.3 server is working reliably. It handles incoming calls correctly, voicemail works, outbound calls work, etc. Once you’re certain that you have a stable TrixBox 1.2.3 system, then log into your server as root and issue the following commands in order. If, for some reason, the freePBX mirror site is unavailable, substitute bestof.nerdvittles.com/applications/callerid for mirror.freepbx.org below:

    cd /usr/src
    wget http://mirror.freepbx.org/freepbx-2.2.0.tar.gz
    tar zxvf freepbx-2.2.0.tar.gz
    cd freepbx-2.2.0
    ./install_amp  (When prompted whether to overwrite existing files, type a)
    

    Once the installation is completed, don’t reboot your system or restart Asterisk! Instead, using a web browser (IE 6 works great) point the browser to the IP address of your web server. Choose System Administration and type the username maint followed by your password to gain access. Now choose freePBX. Whatever you do, don’t click the Red Bar to update settings until you’ve completed all of the steps below.

    Pass #1. We’re going to make three passes through the FreePBX module update process before we’re ready to click the Red Bar. So choose Tools then Module Admin then click Check for Updates online. Click Download all at the top, far right side of your browser window. Then click the Process button followed by the Confirm button. Wait for the downloads to be processed. Then click the Return button at the bottom of the browser window.

    Pass #2. Click Upgrade all at the top, far right side of your browser window. Then click the Process button followed by the Confirm button. Wait for the upgrades to be processed. Then click the Return button at the bottom of the browser window.

    Pass #3. Click Upgrade all at the top, far right side of your browser window. Then click the Process button followed by the Confirm button. Wait for the upgrades to be processed. Then click the Return button at the bottom of the browser window.

    Finally, click the Red Bar to apply the configuration changes. Count to 20. Now let’s log into your server as root again and make a minor correction or two, and you’ll be ready to reboot and go. Once you’re logged in, issue the following commands to fix the initial voice prompts with our Stealth Autoattendant:

    cd /var/lib/asterisk/sounds/custom
    mv nv-greeting.wav nv-greeting.wav.bak
    mv nv-menu.wav nv-menu.wav.bak
    

    Now edit line 428 in the extensions.conf file to resolve a freePBX bug with Enum Lookups:

    nano -w /etc/asterisk/extensions.conf
    Ctrl-W and type: arg3 is pattern
    press Enter key
    Ctrl-W again and press Enter key
    

    You can verify the line number by pressing Ctrl-C in Nano. You should be positioned on line 428 which begins like this:

    exten => s,1,GotoIf($["{$ARG3}" = 
    

    Just insert an exclamation point (!) immediately before the equals sign (=) so that it looks like this != and save your change: Ctrl-X, Y, then press Enter.

    Now restart your server, and you’re done: shutdown -r now. Congratulations! You now should have a functioning freePBX 2.2.0 system. Be sure to take a look at the Release Notes and the freePBX Wiki.

    Adding Free Directory Assistance to freePBX. We’ll have a whole bunch more to say about freePBX 2.2.0 in coming weeks, but we wanted to give you a couple of sneak previews of new functions which are incredibly powerful. First, there’s a new way to add loads of functionality to your system without having to be a programmer. For example, here’s how to integrate free Directory Assistance into your system by simply dialing 411 from any phone connected to your Asterisk system.

    Using your web browser, go back into freePBX (System Admin, freePBX, Setup) and choose Misc Destination. Make the following entries:

    description  Directory Assistance
    dial  8003733411
    

    Then click the Submit Changes button followed by the Red Bar to reload your configuration into memory.

    Now choose Misc Application and make the following entries:

    description  Information
    Feature Code  411
    Status  Enabled
    Destination  Misc Destination:Directory Assistance
    

    Then click the Submit Changes button followed by the Red Bar to reload your configuration into memory. Now dial 411 from any phone on your system and enjoy free Directory Assistance.

    Checking Your AutoAttendant. The real beauty of the new Misc Application function is that you can use it for internal testing of almost anything. For example, to try out your Stealth AutoAttendant by dialing 412 from any extension, add the following Misc Application:

    description  Test AutoAttendant
    Feature Code  412
    Status  Enabled
    Destination  IVR:Stealth AutoAttendant
    

    Click the Submit Changes button followed by the Red Bar to reload your configuration into memory. Now dial 412 from any phone on your system and you can try out the Nerd Vittles Stealth AutoAttendant without having to dial into your system from an outside phone.

    Accessing the VoiceMail System. Another nice trick is to add hidden extensions to access VoiceMail. Let’s assume you want to do this for extension 500 and for the hidden extension number we add another zero: 5000. Here’s how to set up the Misc Application:

    description  VoiceMail 500
    Feature Code  5000
    Status  Enabled
    Destination  Core:voicemail box 500
    

    Click the Submit Changes button followed by the Red Bar to reload your configuration into memory. Now dial 5000 from any phone on your system to access the VoiceMail box for extension 500. It’s an easy way to leave messages for someone else on your system without dialing in from an outside phone. You can also use it to retrieve voicemail. Just press the asterisk (*) button while the voicemail prompt is playing on the phone. Then enter your voicemail password for extension 500. You should be catching on by now. Build a few more just for fun.

    Happy Birthday to Us. We’ll close by mentioning that it’s a big week here at Nerd Vittles. And we have a couple more surprises for you. This Friday marks our Second Birthday. Hard to believe it’s been two years. We spent our first six months covering what you could do with a $500 Mac mini. But the last 18 months have been devoted almost exclusively to Asterisk. Our gift to you is the brand new Best of Nerd Vittles web site. Have a look. There’s an RSS Feed for the new site as well. We think you’ll enjoy both the new format and the content. And, it’ll only get better as time marches on.

    And your gift to us? Glad you asked. What a great time to send along a modest contribution through the PayPal link at the top of the page. If every person that reads Nerd Vittles each week donated just ten bucks with any major credit card, we’d have the resources to pull off some really slick projects and hire a little help. Those additions just aren’t feasible without Yankee Dollars. So skip that overpriced cheeseburger today and do your part for the cause. We promise to spend it wisely, and, just like your church, we won’t come calling again (at least not too often) until this time next year. Finally, an apology for the yo-yo’s at PayPal. Once in a while, their system tacks on a shipping charge to donations. No shortage of Village Idiots, is there? If it happens to you, just reduce the amount of your donation accordingly. We’ve screamed and hollered for two years, but it still happens once in a while for no apparent reason. We’ve gotten two generous contributions in recent days for $47.50, not the sort of number someone usually pulls out of their hat. But thanks nevertheless and our apologies for the shipping charge! Now back to the party. All together now… Happy Birthday, Nerd Vittles… and to all a good night.

    blankFrom the Really Cool Dept. We’ve got a few more surprises to pull out of our hat so hang in there. What’s this? A New Bunny! We received a rather unique birthday gift from a fan. It’s a new Nabaztag/tag Wi-Fi Rabbit. We’ve named him PatTheNerd, what else? In addition to blinking lights and wiggly ears, you get a talking bunny with one of the best voice synthesizers on the planet. And it all runs over a self-configured wireless network connection on your LAN. Want to try it out? Feel free to send us a voice message. Just click on the bunny (inset). And soon, you’ll be able to issue voice commands directly to your bunny as well. Who’s Yo Daddy?

    If you’ve never heard of these little guys, you’ve got some serious reading to do. Start here and then head to their Forum. Every kid should have one! And, once you get yours, leave it to Nerd Vittles to turn your little critter into a Weather Bunny, maybe not as cute as the one at your local television station, but still pretty cool. Your Weather Bunny will tell you the latest weather conditions in any city in the United States as often as you like. Just add an entry to your Asterisk crontab! Sound familiar? You can download our WeatherBunny for NabazTag application written in PHP at your convenience. And now there’s a News Bunny as well! We’ll continue NerdVittlizing Pat in the coming weeks so stay tuned. Pat should be great at providing message alerts and reading emails and voicemail. Someone has even set up an Asterisk voicemail box for their rabbit. So what are you waiting for? Order one for yourself and put a bunny to work! Thanks, anonymous!

    News Flash! For Intel-based Mac users, the wait is over. A beta of VMware is now available simply by filling out this form. Once installed, you should be able to run the VMware version of TrixBox 1.2.3 or the VMware version of TrixBox 2.0 on your Mac Desktop. Let us know how it goes! We’re jealous and wishing we had an Intel Mac ourselves. All we got was a dumb bunny.

    CallerID Trifecta. NOTE: This application has been superseded. Continue reading the latest article here.

    Finally, we’ll leave you with some seriously good, new software if we do say so. It’s been almost a year since we last discussed CallerID Tips and Tricks. Seems to be our favorite topic on Nerd Vittles around the time of our birthday celebration. Don’t ask us why? But we wanted to continue the tradition this year by introducing an all-new CallerID Trifecta. Thanks to freePBX 2.2.0, with just a couple minutes of effort, you can snap our code into the web directory on your Asterisk server, make a couple of freePBX entries, and, presto, you get instant CallerID name lookups for all your incoming calls using AsteriDex, the Google Residential Phonebook, and AnyWho. We’ll add more sources including SugarCRM in the coming weeks. For today, you’ll find the documentation and download at this link on the Best of Nerd Vittles site. Particularly for those outside the U.S, we think you’ll find the PHP code easy to follow if you want to build additional directory resources on your own. Just be careful to always exit from the procedure rather than letting it just play out, or freePBX gets squirrelly and often just dumps incoming calls into voicemail. Guess how we know. Enjoy and thanks for visiting!


    Some Recent Nerd Vittles Articles of Interest…

    New Year’s Roundup: Pick-of-the-Litter VoIP Providers for Asterisk

    The Answer to the Best Riddle of the YearIt’s been a while since we last looked at the VoIP Providers that make Internet telephony hum with Asterisk® systems. So today we wanted to share our experiences with the best of the best over the past six months. For those just making the plunge, our most important rule of thumb remains the same: DON’T PUT ALL YOUR EGGS IN ONE BASKET. Particularly in the Internet Telephony Service Provider (ITSP) business, there are some excellent small providers that tend to be one-man bands. And, without casting a spell on anyone, you certainly need to be aware that these small companies depend upon the good health of their fearless leaders to survive. As Forrest Gump would say, "Stuff happens."

    Another important reason for diversifying your VoIP connections has to do with reliability. It’s still the Wild West in Internet Telephony Land, and things do go wrong for minutes or hours. And, in the case of some providers, downtime can stretch into days if not weeks. One final word of advice also remains the same: DON’T STAKE YOUR ENTIRE BUSINESS ON VoIP JUST YET. That’s not to suggest that businesses can’t reap enormous financial benefits by moving much of their outbound telephone traffic to VoIP. But, if your livelihood depends upon the phone to always ring when a customer calls, don’t trust your inbound traffic to VoIP, period.

    We’re not going to spend much energy discussing Vonage, Packet8, Comcast, Time Warner, and some of the Baby Bell VoIP offerings for a couple of reasons. First, they are expensive. And, more importantly, none of them encourage (and most actively discourage or outright prohibit) use of a PBX such as Asterisk with their services. While it is feasible to use these services with an Asterisk or TrixBox system, you’re typically limited to using their connections in much the same way you would use a traditional PSTN connection (aka landline) from "the phone company" in your area. This entails connection of an ATA device such as an SPA-3000 to manage calls to and from the line. Here’s how.

    All-You-Can-Eat Plans. Types of VoIP offerings fall into several categories. So called "all-you-can-eat" plans in theory provide unlimited incoming and outgoing U.S. calls for a fixed monthly fee. Some include Canada as well. These usually are limited to residential use, and they almost always are limited to a single call at a time. Most of the complaints you hear from users and providers center around abuse of these plans. When monthly calling volume on an all-you-can-eat plan regularly exceeds 2,000 minutes a month, you can expect problems. Why? Because your provider is paying some upstream provider by the minute for your calls, and the unlimited deal is no longer profitable for the provider. Nothing personal, but they really don’t care about you once you become a liability on their spreadsheet. BroadVoice, for example, has turned Terms of Service into an art form… to the point that it would make many lawyers blush. Abuse of their services (based solely upon what they secretly define as abuse) can result in retroactive, recalculated billing based upon per minute fees back to the time you signed up for their service. And, you agree to this in advance. While BroadVoice VoIP service remains acceptable, their terms of service and customer service are a nightmare with backbilling always lurking around the next corner. Those that attempt to protect themselves from these business practices by using single-use credit cards now are subjected to a $500 "fee" plus in-house attorney collection fees billed at $300 an hour. For most folks, the financial risks far outweigh any actual or perceived cost savings so our recommendation remains: JUST SAY NO to BroadVoice.

    Our old favorite, TelaSIP, has gotten out of the all-you-can-eat business because of increased costs from their providers. Our new favorite in the all-you-can-eat department is AxVoice where $18.99 a month buys you unlimited calling in the U.S. and Canada. For $4 more a month, you can add all or parts of 20 other countries. That’s almost identical to the BroadVoice offering once they’ve tacked on their hidden fees. And you don’t have the obnoxious terms of service to worry about. AxVoice plans also include free 911 service and free local number portability unlike many other providers.

    Unlimited Incoming Call Plans. Closely related to the all-you-can-eat plans are the free incoming call plans. These typically are bundled with a phone number (DID) in your local area to receive incoming calls usually one at a time. Some of these plans remain the best bargain in the VoIP industry. They also provide needed redundancy in your Asterisk system while spreading out the usage minutes between providers. This, in turn, reduces your risk of having a problem with your provider on an all-you-can-eat plan. We have two favorites in the free incoming plan with DID category depending upon your circumstances. If you only need one inbound phone number, then les.net is the best deal on the planet at $3.99 a month. They even provide two simultaneous channels with your local number. If you need multiple inbound numbers or if you want several DIDs in different area codes, then AxVoice is a good option as well. You get 3 DIDs for $8.99 a month with free 911 support on all the numbers plus free number portability if you want to kiss Ma Bell goodbye. Be aware that, unlike TelaSIP and les.net, AxVoice does not provide a method for your Asterisk system to determine which DID is ringing. For business-class service, we recommend VoIP Street which has DIDs in most cities with flat-rate unlimited inbound calling (with support for two simultaneous calls) for $9.95 a month.

    Unlimited Incoming Hybrid Plans. A new hybrid category has sprung up recently. With these plans, you typically get a DID with unlimited incoming calls as well as a fixed number of minutes for outbound calls to the U.S. and Canada. Our favorite is TelaSIP which offers two channels with unlimited incoming calls and 500 minutes of outbound calls to US48 and Canada for $14.95 a month. You can add another 1,000 minutes of outbound calls for $10 more a month. In addition to impeccable service, TelaSIP offers complete control over your outbound CallerID upon request. While federal law requires that your CallerID accurately identify who you are, the flexibile CallerID is especially helpful to professionals that wish to display their office phone number even when making calls from home. It’s also useful in households with teenagers so that each one can display a number that coincides with individually-assigned inbound DIDs.

    Pay-As-You-Go Providers. Once you have your local phone number with incoming calls covered, our recommendation for the balance of your outbound long distance calls is to pay as you go unless you use an enormous number of minutes. And, even if you rack up loads of outbound call minutes, be aware of the risks if you choose an all-you-can-eat provider. For pay-as-you-go outbound calling, there really is no reason with Asterisk not to use multiple providers. Most require only a small deposit and a credit card to open an account, and most don’t care how many simultaneous calls you are making. After all, you’re paying for them by the minute. The real beauty of most of these providers is that, if you don’t make any calls, you don’t pay anything. Our favorite and least-cost (sometimes) outbound provider is VoicePulse. We added "sometimes" because their rates fluctuate daily and sometimes hourly. However, they’re usually a bargain. For example, at 10 a.m. Eastern time yesterday, you could place an outbound call to anywhere in the U.S. for 1¢ or less. A large portion of the destinations were half of that! They have a unique offering for Asterisk that lets you configure your system to actually check their rate table before selecting them to terminate the call. Their web site explains how to set it up. And there’s a freePBX and TrixBox module that makes everything plug-and-play. You can get a $2 sign-up credit to try out their plan at no cost by using this link. Our other top pay-as-you-go providers are Vitelity at 1.39¢ a minute to U.S. and Canada and les.net at 1.5¢ a minute to U.S. and Canada. With Asterisk and especially TrixBox or freePBX, it’s incredibly easy to structure your dialplan so that outbound calls are automatically routed to the next available provider in the event an individual provider’s service is down.

    Toll-Free Plans. For those that need or want a toll-free number in the U.S., the hands-down winner is Vitelity. For 50¢ a month and 1.9¢ a minute, you get a toll-free number of your choice for a one-time setup fee of $10. Numbers are activated almost instantly, and the voice quality of the calls is top-notch.

    Other Plans of Interest. For Asterisk experimenters, there are some other interesting deals out there. For unlimited free incoming calls with a New York DID, you can’t beat Stanaphone. Their per minute calling rates aren’t too bad either. And, if you don’t mind checking the new calling rules regularly, you can make 300 minutes of calls every 7 days (this week!) to several dozen countries for three months for $15 with voipdiscount.com. Just be aware that their fine print (and rates) change almost daily.

    Provider Setup Instructions for Asterisk. Configuration of the various providers’ services has already been covered in previous articles. Just review the configuration tips on our Projects Page for detailed instructions.

    Quick Reference Guide. Every article deserves a chart for the learning impaired like us. We’ve condensed this article into such a beast on our soon-to-be Best of Nerd Vittles site for those that need a quick reference. We’ve also included some free samples and tips and tricks below for those that don’t want to wade through all of last year’s Nerd Vittles articles.


    blankFree Samples. Everybody loves free samples. Not sure about TelaSIP, you say. Well, take it for a test drive. Just call our Charleston number (shown in the inset) and wait for the fast busy to hang up. There’s no charge for the call because you’re never "connected." Within 15 seconds you’ll get a return call allowing you to make a FREE 10-minute phone call to almost anywhere in the U.S. All you have to do is key in the password you’re provided when you answer the return call. Keep in mind a few things. You have to call from a phone with CallerID so that the system knows where to call you back. Both legs of the call (to you and to the person you call) use GSM compression so you’re seeing TelaSIP at its most efficient but not necessarily with the best voice quality. You can set it differently on your own system if you like.


    blankNerd Vittles Demo Hot Line. You now can take a number of Nerd Vittles projects for a test drive while checking out the quality of les.net! 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.


    1-800-411-METROFree Directory Assistance Service. For those in the U.S. that just can’t live without Directory Assistance, write these numbers down and add at least one of them to your Asterisk dialplan for free directory assistance calls in the United States: 1-800-411-METRO and 1-800-FREE-411. We’ve had much better success with the second number lately. Both are free VoIP calls with the providers listed below once you set up an accounts with them. You can read our reviews of these providers here. Assuming you have an account, just add ONE of the following sets to the [from-internal-custom] or pfrom-internal-trixbox] context in extensions_custom.conf:


    exten => 411,1,Dial(IAX2/goiax/18003733411)   ; GoIAX Free Call
    exten => _1NXX5551212,1,Dial(IAX2/goiax/18003733411)
    exten => _NXX5551212,1,Dial(IAX2/goiax/18003733411)

    exten => 411,1,Dial(IAX2/fwd/*18003733411)    ; FWD Free Call
    exten => _1NXX5551212,1,Dial(IAX2/fwd/*18003733411)
    exten => _NXX5551212,1,Dial(IAX2/fwd/*18003733411)

    exten => 411,1,Dial(IAX2/teliax/18003733411)  ; Teliax Free Call
    exten => _1NXX5551212,1,Dial(IAX2/teliax/18003733411)
    exten => _NXX5551212,1,Dial(IAX2/teliax/18003733411)

    Free Directory Assistance Listing. Now that you have free directory assistance, you may be asking yourself, "How Do I Get My VoIP Number Listed With Directory Assistance Services?" Well, there’s finally a way. Just visit List Yourself! and sign up. Then you can verify that all went well in a few days. If we could only get Google to use the same listings in their Google Phonebook, the world would be almost perfect.


    Some Recent Nerd Vittles Articles of Interest…

    Introducing U-Rang II: Windows Desktop Screenpop Utility for Asterisk

    blankIt’s been five days since U-Rang hit the street and, with over 1,000 downloads, it seemed like a good time for an update. After all, it’s a new year so out with the old, and in with the new. Version 2 introduces an entirely new user interface (see inset) and an intuitive calling log based upon (what else) phone slips, two of the most requested additions from the early adopters.

    All of the functionality of version 1 has been retained so you still can monitor multiple extensions on your Asterisk® system if you want to. When an incoming call arrives, the ubiquitous phone slip will pop up on your desktop with the time and date of the call as well as CallerIDname and number information of the caller. And, if you’re using the Nerd Vittles CallerID enhancements, then your Asterisk system will check the Google Phonebook, AnyWho, and AsteriDex for supplemental CallerID information in addition to what’s provided by your local phone company. The easiest way to get CallerID enhancements is to install either our PBX-in-a-Flash script for TrixBox 1.2.3 or the VMware version of TrixBox 1.2.3. Both are available by clicking the links at the top of this page.

    We’ve also refined the user interface a bit so that the application can be installed on Windows systems in an office environment with no end-user ability to disable or terminate the application. And, yes, we know some of you want a SugarCRM link to the screen pop. But we had to save something for version 3. So stay tuned.

    To download U-Rang II and for complete installation instructions, just visit our almost-ready-for-prime-time Best of Nerd Vittles site. Enjoy!

    Introducing U-Rang: Free Windows ScreenPop Utility for Asterisk

    blankTo close out 2006, it’s free software day again at Nerd Vittles. And today we have another application checked off the 2006 Wish List. It’s a screen pop application for Windows desktops that pops up and tells you who’s calling on any Asterisk® extensions you’d like to monitor. The entire installation takes about 10 minutes for the first desktop and about 2 minutes for any other desktops on the same network.

    We’ve named the application U-Rang in honor of our favorite Addams Family character (the guy on the left). And today you also get a sneak peek at our new Best of Nerd Vittles site which officially opens on January 19, 2007, during the Nerd Vittles Second Birthday Bash. That’s where you will find the complete U-Rang download and documentation. We think you’ll agree that it’s a much better web format for tutorials, but don’t worry. Nerd Vittles isn’t going anywhere. We just want to migrate our best material to a format which is easier to maintain long term.

    We plan to introduce Mac and Linux versions of U-Rang in the coming weeks, but we just couldn’t quite pull it off for today. Check back soon for updates. Or, better yet, subscribe to the Nerd Vittles and Best of Nerd Vittles RSS Feeds for instant updates. For the 75% of you that use Windows Desktops (ugh!), enjoy! Our usual warnings apply. Use the software at your own risk. Don’t sell stuff that you got for free. And, last but not least, it’s version 1, and you know what that means.

    We’d love to hear suggestions for enhancements. Just post a comment here. Our comments are moderated to filter out the gambling and drug creeps of the world. Don’t be alarmed if it takes about a week for your comment to show up. You see we’re headed out on a cruise of the Caribbean tomorrow without a computer. Not to worry. We’ll read and post every last comment when we return sometime next year. Actually, this is a business trip to find a good ship to host the first Nerd Vittles GeekNik Cruise, but don’t tell my wife and daughters. Happy New Year!