Home » Technology » Office Automation (Page 2)

Category Archives: Office Automation

The Most Versatile VoIP Provider: FREE PORTING

Introducing PPTP VPNs: The Travelin’ Man’s Best Friend

It’s been almost three years since we introduced VoIP Over VPN to securely interconnect Asterisk® servers. As LogMeIn® continues to squeeze the free Hamachi® VPN into oblivion, we’ll have a new, Really Free™ matrix VPN solution for you in coming weeks. This will let you interconnect up to 256 PBX in a Flash™ servers in minutes, not months, with no muss, no fuss, no fees, and no licensing worries. But today we want to begin VPN Month by turning our attention to those that need a virtual private network to connect back to a home office network or a home for that matter. This includes the traveling businessman or woman, the physician or lawyer with multiple remote offices, and any hub-and-spoke business such as a bank that has small branch offices that need to transparently link back to the mothership for network and communications services. The hidden beauty of PPTP VPNs is that all data (including phone calls) travels through an encrypted tunnel between the satellite office and home base. If you travel for a living and rely on other people’s WiFi networks for Internet access, a layer of network security will be a welcome addition.

Believe it or not, Microsoft introduced the Point-to-Point-Tunneling-Protocol (PPTP) with Windows 95. Back then we knew it as Dial-Up Networking. Suffice it to say that, in those days, PPTP was anything but secure. Unfortunately, the bad name kinda stuck. For the most part, the security issues have been addressed with the possible exception of man-in-the-middle attacks which are incredibly difficult to pull off unless you are a service provider or have access to the wiring closets of your employer. You can read the long history of PPTP VPNs on Wikipedia for more background. If you’re traveling to China or other democracy-challenged destinations, you probably shouldn’t rely upon PPTP for network security. If these security considerations aren’t applicable in your situation, keep reading because PPTP VPNs are incredibly useful and extremely easy to deploy for an extra layer of VoIP and network security in most countries that have severe wiretapping penalties in place.

PPTP VPNs also provide home-away-from-home transparency to home office network services. Simply stated, with a PPTP VPN, you get a private IP address on the home office LAN that lets you do almost anything you could have done sitting at a desk in the home office. There’s more good news. Fifteen years ago, we paid Cisco thousands of dollars for hardware boxes known as PPTP VPN Concentrators. You can still find some of them on eBay. For history buffs, a little company in California originally built these boxes. I think we paid about $3,000 for them. One year later Cisco bought the company and promptly doubled the price. Today, you can Do It For Free™ using your existing PIAF2 server platform. And, trust me, today’s 2-minute setup runs circles around the hoops we jumped through 15 years ago to install PPTP VPNs. Once deployed, they revolutionized mobile computing.

If you’re already running one or more PIAF2™ servers, then adding a PPTP VPN server to an existing system is a job for a Fifth Grader. Remember, you only need to do this on one server at your home base even if you have a dozen. The other good news is there are PPTP VPN clients for almost any platform you can name. Linux, Windows, Macs, Android, as well as iPhones, iPads, and iPod Touch devices all have free PPTP VPN clients that can be activated in less than a minute giving you instant, secure home base access.

Getting Started. We’re assuming you already have a PBX in a Flash 2 server set up behind a hardware-based firewall. If not, start there. Next, we’ll need to download and run the installer for your PPTP VPN Server. Just log into your server as root and issue the following commands:

wget http://incrediblepbx.com/install-pptp
chmod +x install-pptp
./install-pptp

UPDATE: For those of you still running a PBX in a Flash 1.7.x server under CentOS 5, we have a separate install script for you thanks to the great work of scurry7:

wget http://incrediblepbx.com/install-pptp-centos5
chmod +x install-pptp-centos5
./install-pptp-centos5

The Server Install: Five Easy Pieces. The installer will walk you through these five installation steps, but we’ll repeat them here so you have a ready reference down the road.

First, on your hardware-based firewall, map TCP port 1723 to the private IP address of your PIAF2 server. This tells the router to send all PPTP VPN traffic to your PIAF2 server when it hits your firewall. If you forget this step, your PPTP VPN will never work!

Second, you’re going to need a dedicated IP address on your private LAN to assign to the PPTP VPN server. Make sure it’s not an IP address from your router’s DHCP pool of addresses, and make sure it’s not one of the addresses from Step #3 below.

Third, you’re going to need two or more sequential IP addresses on your private LAN to assign to PPTP VPN clients that connect to your server. Remember, the PPTP design makes every remote client a node on your local area network so each client needs a private IP address on your LAN. Figure out how many client devices will be simultaneously connecting to your server and add one to it. Make sure the addresses you choose are in sequential order and not part of your router’s DHCP pool of addresses. Don’t use the address reserved for your PPTP server in Step #2 above. The address range should look something like this entry: 192.168.0.41-49. If you get the syntax wrong, guess what happens? If you screw it up, you can edit your localip and remoteip entries in /etc/pptpd.conf.

Fourth, each user is going to need a username to access your PPTP server. We’re going to set up credentials for one user as part of the install. You can add extra ones by adding entries to /etc/ppp/chap-secrets. For an extra layer of security, make the username as obscure as a password. Just don’t use any special characters. Upper and lowercase letters sprinkled with numbers are perfect. We recommend a length of at least 8 alphanumeric characters.

Fifth, make up an equally secure password to access your PPTP server. Same rules apply as in Step #4.

You’re done. Review your entries very carefully. If all is well, press Enter. If you blink, you may miss the completion of the install process. It’s that quick.

Configuring PPTP Client Devices. As we mentioned, there are available PPTP clients for Linux and Windows machines and Macs as well as Android and Apple smartphones and tablets. We’ve documented the steps for the various client setups on the PBX in a Flash Forum. Come visit! You’ll also discover some great tips from our resident gurus. We also would encourage you to post any questions that arise in your use of PPTP VPNs in that thread. You’ll get a quick and courteous response.

Secure VoIP Calling. The collateral benefit of implementing a PPTP VPN on your PIAF server is that all calls between remote extensions and home base can now be transmitted through a secure VPN tunnel. The only adjustment necessary using a SIP client on either an Android or Apple device is to replace the public server IP address with the server’s LAN IP address, and all of the communications traffic will flow through the VPN tunnel. The way we set up our Android phone with the Bria SIP client is to allocate an extension from the home office PIAF server to the SIP client and then enter the private IP address of the PIAF server in the Bria configuration. Then, when you’re at home base with WiFi, the client just works. And, when you’re on the road, just turn on the PPTP VPN, and Bria will register through the VPN tunnel using the exact same settings. It’s that easy, and it works great with WiFi or 3G/4G.

Checking for Connected Clients. If you get curious about who is logged into your PPTP server, here’s the command that’ll let you know: last | grep ppp.

GPL2 License. The install-pptp application is open source software licensed under GPL2. It has been specifically tailored for use on PBX in a Flash 2 (and now PIAF 1.7.x) servers, but it can easily be adjusted to work with virtually any Linux-based Asterisk system. If you make additions or changes, we hope you’ll share them on our forums for the benefit of the entire VoIP community. Enjoy!

What’s Next? For a more traditional client-server VPN which still relies upon a central server but uses a star topology to connect remote nodes, see this new Nerd Vittles article on the NeoRouter VPN.

Originally published: Monday, April 9, 2012



Need help with Asterisk? Visit the NEW PBX in a Flash Forum.


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 Frontier Days

One of my favorite vacations as a kid was spent enjoying Frontier Days in Cheyenne, Wyoming. If you’ve never been with your family, you need to add this to your Bucket List. It’s a week-long celebration that you’ll never forget. To commemorate this year’s event which is going on right now, we decided to celebrate by staging our own Frontier Days here at Nerd Vittles. It provides you an opportunity to join with us in kicking the tires of all the new stuff we’re working on this summer to write about in the fall. In the grand tradition of Cheyenne’s Frontier Days, expect a wild ride! If you’re a bit squeamish about knowing how sausage is made, today’s introduction to new projects may not be your cup of tea. For the pioneers, it’s Party Time! So let’s get started.

Introducing Asterisk 10. At the top of our list is the brand new Asterisk®, formerly known as Asterisk 1.10. You’ll want to read Kevin Fleming’s announcement of the name change, and then read Malcolm Davenport’s summarization of the new product. Here are a few excerpts:

A major focus of the Asterisk 10 development cycle was Asterisk’s support for media types. In versions of Asterisk 1.8 and prior, Asterisk supported a rather limited number of codecs due to some architectural limitations. Plumbing was ripped out, kitchens were remodeled, girders were swapped, and Asterisk 10 now has a media architecture that’s capable of handling both a nearly unlimited number of codecs as well as codecs with more complex parameters…

Asterisk 10 [also] provides basic video conferencing support. That’s right, if you and your friends have video-capable SIP devices, that all speak the same video codec and profile, you can create multi-party video conferences.

Asterisk 10 can also improve your faxing experience. Asterisk 1.4 is capable of T.38 pass-through, where one T.38 capable endpoint can send a fax directly to another T.38 capable endpoint – usually a couple of SIP peers. Asterisk 1.6.X and 1.8 are capable of T.38 termination, where Asterisk can read/write TIFF files from/to T.38 endpoints. Now, with Asterisk 10, transparency between non-T.38 and T.38 is possible.

Whenever there are major plumbing changes, there usually are some major surprises awaiting those of us that depend upon Asterisk to actually make calls. That’s where you come in. Tom King has quickly put together a new PBX in a Flash 1.7.5.6.3 ISO that includes PIAF-Red, aka the new Asterisk 10. We encourage you to try it on a non-production machine, and report any problems both to us (on the PIAF Forum) and to Digium® (in the Bug Tracker). Here’s a download link to get you started. Here’s the new Cepstral TTS installer.

Introducing Incredible PBX 2.0. Frontier Days wouldn’t be complete without a new version of Incredible PBX. In this beta release, we’ve reworked Google Voice support and added one of the most requested features, the ability to enter dial strings for trunks in outbound routes the old-fashioned way.

On the Google Voice front, we’ve replaced the hard-coded Google Voice code in Incredible PBX 1.8 with Marcus Brown’s new FreePBX® module. It not only makes Google Voice usage optional, but it also lets you add and remove multiple Google Voice trunks to your heart’s content. And the setup process takes less than a minute to enter your credentials.

Incredible PBX 2.0 also includes Andrew Nagy’s new Swiss Army Knife Module for FreePBX. This module adds some of the most requested features that currently are missing from FreePBX 2.8 and 2.9:

  • Export a CSV file of your Dial Patterns from Outbound Dial Plans
  • Use Textbox Dial Patterns for Outbound Routes
  • Modified Blacklist Module allowing any value, not just numbers
  • Coming Soon: reg-exp black/white list module

If you’d like to take Incredible PBX 2.0 for a spin, here’s a download link with instructions. Be aware that this version is NOT suitable for use on any system that is not also protected by a hardware-based firewall. For example, don’t use it on a hosted server such as RentPBX.com just yet. We use a different security model on hosted and cloud-based systems, and it is NOT included in this build. Finally, Incredible PBX 2.0 is not yet compatible with Asterisk 10 and PIAF-Red, but we’re working on it.

Introducing Google+. Unless you’ve been sleeping under a rock, you probably have heard that Google has a new little product of its own. In less than 3 weeks, Google+ has grown to over 20 million users, and it’s still by invitation only. You can read our writeup of it on Nerd Vittles. Suffice it to say, it is a game changer for those of us in the technology business. It’s an almost perfect tool for carrying on a problem-solving dialog, and we plan to make extensive use of it in coming months to support PBX in a Flash and Incredible PBX. Don’t be shy. We’ve got plenty of invites. All you have to do is drop us a note and include the word Google+ so we’ll know what you need. We’re turning requests around in less than a day. One final hint. Use your real name on Google Voice, or the Soup Nazi may remove your account. It’s become a bit of a brouhaha at the moment… as one might expect during Frontier Days.

Introducing OS X Lion. Apple has not been asleep at the wheel either. Their new operating system release is extraordinarily good but only available as an over-the-air update to an existing OS X 10.6.8 system. You can read our writeup of the gotchas for a quick and painless install. And, if you’re in the market for a new notebook, we can’t say enough good things about the new MacBook Air. It’s in a league of its own.

Introducing Google Chromebooks. Last but not least, we need to say a few words about the amazing new Chromebooks running Google’s Chrome OS. As with cellphones, Google is not making the hardware. So you have a choice of Samsung or Acer at the moment. The Samsung model starts at $429 for the WiFi only model. The comparable Acer machine is $80 cheaper. We opted for the Samsung WiFi machine which is well made, has an incredible battery life, and just works. For 95% of what we do, it’s a perfect device. There’s a short list of gotcha’s. First, you’ve got to have network connectivity since everything is cloud-based. Second, if your requirements include a lot of graphics manipulation and editing, this probably is not the machine for you quite yet. Finally, if movies (NetFlix) and music (Spotify) are must-have’s, you’d better wait a month or two until those products are available for the Chromebook. Google Music, which allows you to put your own music collection in the cloud, works fine today! There’s an add-on extension to Chrome for Google Voice. As of yesterday, it works flawlessly to make and receive calls. In summary, if your computing requirements primarily involve surfing the web, email, and SSH, then you’re going to be very happy with the Chromebook.

In our case, we’re trying to alternate our use between a Chromebook and the new MacBook Air. So far, we’ve been very satisfied with both. And the Chromebook is 1/4 the cost! Pioneers Forever! Enjoy!

Originally published: Tuesday, July 26, 2011



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…

Donate Now To Claim Your $299 Web Appointment System

hitAppoint Demo

It's back-to-school time in the United States, and we want to lessen the pain of the transition with a deal you simply cannot refuse. Here's how it works. Every fall we solicit contributions to Nerd Vittles so that we can keep the lights on for another year. We try to reward our readers with great deals whenever we find them but especially during donation season. So this one is especially for you, our loyal readers! You'll find a PayPal Donate button just to the right. It works with every major credit card whether you have a PayPal account or not. For everyone that makes a contribution to Nerd Vittles this month, we'll forward a portion of your contribution to Ward Mundy & Associates, an organization we know and love, to purchase on your behalf a fully licensed copy of hitAppoint to run on a server of your choice. Ward Mundy & Associates already has purchased an unlimited distribution license to hitAppoint. We hope you'll consider running hitAppoint with PBX in a Flash or the Incredible PBX because, over the next few months, we'll be writing a new module for hitAppoint that lets you add Telephone Reminders and Client/Patient Confirmations when the software is run on PBX in a Flash systems. Who knows? We may even get energetic and write a module to let folks schedule appointments using their Plain Old Telephone.

What's the Catch? Sorry. There isn't one other than our assumption that you're a loyal Nerd Vittles reader. We obviously have no way to check. Just make a donation to Nerd Vittles this month and patiently await an email from us telling you how to download your software. If you're a long time reader of Nerd Vittles, you already know about our previous contributions to the open source and shareware communities. And today is no different even though this is commercial software. Yes, the Little Mrs. is not going to be happy. So there goes the new house... again.

Can I Pass the Software On? No. Your copy of hitAppoint will be licensed just to you or the entity making a donation to Nerd Vittles. And it's for use on a single server. This is the identical commercial software product that can be purchased from the hitAppoint web site for $299.

What Are Typical Uses for hitAppoint? The hitAppoint web site lists a number of real-world examples of how hitAppoint is being used. These include scheduling of medical appointments, fitness and wellness appointment scheduling, piano or guitar lessons, tutoring appointments, photographic services scheduling, workout class appointments, hair salon scheduling, carpet cleaning services, and almost any other trade or profession that involves scheduling of people's time or facilities.

Is it Full-Featured? You bet. It's one of the best in the business. That's why we chose it! Here's an overview of hitAppoint functionality in the latest release:

    Appointments

  • Appointment packs
  • Multiple seats at a time if needed
  • Customer can request/cancel appointment
  • Provider can create/accept/reject appointment
  • Manage past appointments
  • View appointments during any time period
  • Color for appointment status
  • Customizable automatic confirmation emails
  • Export to Outlook, iCal apps, Google Calendar
  • Export to Excel or any CSV-capable software
  • View apptmt by customer, provider, location
  • Day appointments visual view
  • One screen print view
  • Review appointments before scheduling
  • Configure service, location, provider, time
  • Move appointment to another location
  • Reassign appointment to another provider
  • Reschedule appointment to different time
  • Custom additional fields for appointments
  • Recurring Appointments
    Payments

  • Paypal integration
  • Authorize.Net integration
  • SagePage integration
  • Accept offline payments at your office
    Customers

  • Configure to allow registered users only
  • Require customer email validation
  • Require admin approval for new customer
  • Additional information fields for customer data
  • Search for customers by any field
  • View customer appointment history
  • Use of customer database from other apps
  • Temporarily suspend users
    Providers

  • Assign provider to any service and location
  • Flexible availability schedule for providers
  • Specify individual time off
    Services

  • Variable duration and pricing for sessions
  • Lead-in and lead-out times
  • Flexible availability for every service
  • Configure providers and locations for service
  • Define when advance booking is possible
  • Define when appointment cancellation is possible
    Locations

  • Flexible availability scheduling by location
  • Configure services and providers by location
    System

  • Tailor look and feel with themes
  • Integrate with WordPress
  • Integrate with Joomla
  • Multi-language support

Prerequisites. Here's what you'll need on your host machine which could be either Windows, Linux, or Mac OS X:

* Apache web server
* PHP (version 4.1 or greater or PHP 5)
* MySQL 3.23 or greater
* phpMyAdmin (strongly recommended)

In the Windows world, the easiest way to get everything you need is to install WampServer 2. With Mac OS X, we'd recommend XAMPP. For Linux, all you need is PBX in a Flash. If you plan to run hitAppoint in a hosted environment (e.g. WestNIC, LunarPages, BlueHost), we'd recommend you choose a provider that includes cPanel. This makes it easy to set up your MySQL database and credentials. The three providers we've listed all provide the necessary software to run hitAppoint, and we've used all three of them with good results. The three are ranked in our order of preference.

Downloading & Installing hitAppoint. If you're installing this on a PBX in a Flash server, it's incredibly simple and takes less than a minute. Log into your server as root and issue the following commands. Then skip down to the Running Setup section below:

cd /root
wget http://pbxinaflash.com/hitappoint.tgz
tar zxvf hitappoint.tgz
./hitappoint.sh

For those not installing hitAppoint on a PBX in a Flash server, download the hitAppoint software from the link that was provided in the email from us. The link changes regularly so download it as soon as you receive your email confirmation. Unzip the file in the root directory of your web server so that hitAppoint can be accessed using a web browser pointed to:

http://your-server-ipaddress-or-FQDN/hitappoint/

Step #2 is to create a MySQL database and user with permissions to manage hitAppoint.

On cPanel hosted systems, there will be a MySQL Databases option. Choose it and create a new database called hitappoint. This will actually create a database called nerd_hitappoint where nerd is your cPanel account name. Now add a new username and call it hitappoint as well. Then choose a very secure password for this username. Then click the Create User button. Finally, move to the Add User to Database option and specify nerd_hitappoint as the database and nerd_hitappoint as the user (using your own cPanel account name obviously). Then click the Add button.

On systems with phpMyAdmin, use a browser to open the application. Click on the Privileges option in the center column. Then click Add a New User. For Username, choose Use Text Field and enter hitappoint. For Host, choose Local and it will default to Localhost. For Password, choose Use Text Field and enter a very secure password twice. In the Database for User section of the form, choose the radio button marked "Create database with same name and grant all privileges." Now move to the bottom of the form and click the Go button.

Now you're ready to configure hitAppoint to use your newly created MySQL database. Use your favorite editor to open db.rename_it.php in the new hitappoint directory on your web server. Change the default entries so that they look like the following but use your actual password instead of yourpassword for the MySQL user account you created:

define( 'NTS_DB_HOST', 'localhost');
define( 'NTS_DB_USER', 'hitappoint');
define( 'NTS_DB_PASS', 'yourpassword');
define( 'NTS_DB_NAME', 'hitappoint');

If you're on a hosted platform, don't forget to add your prefix (e.g. nerd_) to both the DB_USER and DB_NAME entries. Then save your changes and rename db.rename_it.php to db.php.

Running Setup. You're almost finished with the installation. Using your favorite browser, call up the following page and follow the prompts:

http://your-server-ipaddress-or-FQDN/hitappoint/setup.php

When you finish running the setup procedure, delete setup.php in the /hitappoint directory.

Language Support. hitAppoint has been designed to support multiple languages. Unfortunately, it has not yet been translated into German, French, and Spanish. The entire translation process takes only an hour or so. If you are fluent in both Spanish and English, please drop us a note, and we'll walk you through the translation procedure. In addition, we'll share your handiwork with the rest of the hitAppoint community.

Getting Started. After you've downloaded and installed the software, review the hitAppoint Getting Started Guide for instructions on configuring the software to meet your needs. Here's an example of what you can create in less than 10 minutes. And, as you can see, integrating the live application into existing web sites, forums, or blogs takes only a couple minutes. Feel free to make some sample entries. We won't bill you. 😉 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...

Introducing PogoPlug: Cloud Computing for $100 per Terabyte

Introducing PogoPlug

Ever wished you could build and manage your own Cloud Computing Center with minimal cost and no recurring charges… ever? Well, today’s your lucky day.

It takes a lot to get us excited about a new product offering. But this one is a real winner! For under $130, Cloud Engines provides you your very own PogoPlug 2.0 device that connects to your router and shares up to four USB drives over the Internet. At today’s prices and ignoring sales tax, that means you can put eight terabytes of Cloud Storage on line for a one-time cost of about $100/terabyte. To give you a point of reference, Google will rent you the same space for $256/terabyte… per year. And Google is one of the least expensive Cloud Computing resources out there. Here’s the math for naysayers:

4 – WalMart1 2TB WD MyBook Drives @ $169 each = $676
1 – PogoPlug 2.0 Device @ $129 each = $129
ONE-TIME, NON-RECURRING COST: $805/8TB or $100/TB

For those that don’t need 8 terabytes, the 2 terabyte setup including the drive and PogoPlug device is still just over half the one-year rental rate of equivalent storage from Google. And, just to be clear, this isn’t merely a storage device (like Amazon S3) requiring downloads before the files can actually be used. PogoPlug’s software makes these USB drives an integral part of your Desktop just like any other attached storage devices. Think WebDAV! So it makes a perfect home for your music, movie, and photo collections. There also are loads of Open Source applications for PogoPlug for those that like to tinker. And you can use PogoPlug to keep synchronized backups of your important files.

Other Options. Be aware that for about $50 less, you can purchase the Seagate FreeAgent DockStar Network Adapter which includes a single year of PogoPlug Internet support. After that, it’s $30 annually. Translation: By the end of the second year, you’re better off with the PogoPlug. So the choice is a No-Brainer in our book. But, the fact that Seagate is also standing behind the PogoPlug design should make everyone sleep more soundly.

Deployment. After a one-minute, one-time setup over the Internet, you can securely access all of your USB drive resources via PogoPlug using either a web browser or one of several free desktop applications that are available for Windows, Mac OS X, Linux as well as Android phones, iPhones, and (earlier today) Blackberrys. And you get free support and a terrific forum. The device works flawlessly behind either a DSL or cable modem AND a NAT-based router so there are no firewall issues to address. Just enter the serial number on the bottom of your device when you access the PogoPlug web site, and configuration is automatic.

Uploading Files. One of PogoPlug’s slickest features is its automatic cataloging of files which are uploaded. Once uploaded, you can view your Music, Movies, and Pictures by simply clicking on one of the buttons. Photos are cataloged into directories by the month in which the photos were taken. Music is indexed by artist, album, and genre. In addition, music by artist, album and genre as well as photo albums can be shared by entering email addresses for those that can access the materials, by enabling public viewing (assuming you have legal rights to do so), or by sharing items using your Twitter, Facebook, and MySpace credentials. We’ve shared a photo album just to give you an idea of how this works. The security and logistical nuts and bolts all are managed by Cloud Engines’ servers. You can review and modify the materials you’re sharing by clicking on the Files I Share link in your browser. Finally you can automatically alert those with share privileges when folder content is updated. Very slick!

Give PogoPlug a try. By clicking on one of our links, you also help support the Nerd Vittles project. We think you’ll be as thrilled as we are with this terrific new creation. 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…

  1. The in-store pricing at WalMart is actually cheaper than on line for these particular drives. []

Apple’s iPad: A Home Run for Education

We’ve been anything but a cheerleader for Apple lately. And that applies in spades to the iPad. If you follow us on Twitter, here’s a sampling of our comments since the iPad was introduced last week.

The Computer Illiterate’s Dream Machine: Meet the iPad. Thinking you’ll slip your existing AT&T or T-Mobile SIM into Apple’s new iPad? Think again.

iPad: The Good http://tr.im/ipadg, The Bad http://tr.im/ipadb, and The Ugly http://tr.im/ipadu

iPad: Uh, but wait, No Camera http://tr.im/ipadc, No Flash http://tr.im/ipadf, No Multitasking http://tr.im/ipadm. No thanks.

Funny: Hitler’s take on the iPad. http://tr.im/ipadah

Why Apple Doesn’t Want Flash on the iPhone and iPad? It Finally Makes $ense. http://tr.im/theflash

The Vote That Really Matters: A 16-year-old’s view of Apple’s iPad: iFail http://tr.im/ipad16 (via @scobleizer)

Michael Dell demos what the iPad coulda/woulda/shoulda been. http://bit.ly/czYPww (via @engadget) #android Mini5

iPad Web Surfing: Here’s what the future holds. http://tr.im/noflash (via @gadgetweb) #surfsdown

RT @cultofmac: "Pundits On The iPad’s Closed System: It’s Doom For PCs, No It’s Great" http://bit.ly/cpFV4v

Apple iPad Micro SIM guarantees that you’ll be paying for two wireless data plans instead of one. http://bit.ly/bYipZP

Funny: iPad v. A Rock http://bit.ly/b50XP2 (via @TechCrunch)

RT @TechmemeFH: Apple reinventing file access, wireless sharing for iPad (Prince McLean/AppleInsider) http://bit.ly/awHJzG

Today’s Math Lesson: Hulu + Flash = Free Internet Movies. iPad – Flash = Megabucks for Apple from iTunes Movie Store sales

RT @dcagle: The library of the future, courtesy of the iPad http://bit.ly/bFvDAE #apple #toon

So what’s with the headline? Have we changed our mind? Well, no. It’s a lousy machine for us and for anyone above the age of puberty. But sometimes you need to look beyond the forest to find the nugget in the trees. And we’ve found the iPad’s Sweet Spot: It’s Lower School Education, Stupid!

For all the reasons that make the iPad an undesirable computing device for adults, it turns out these same qualities make it an almost perfect learning platform for young children, ages 3 to 12. In fact, we think it has the potential to revolutionize preschool and elementary education.

For openers, we can all probably agree that the key to a good education is good teachers. And that’s especially true when it comes to computer education. The problem, of course, is that teachers of young children don’t have the time or the resources to keep up with computer technology because they’re so busy doing all the things that parents should actually be doing to raise their kids. So, other than turning kids loose with a computer game, PCs have been all but worthless in lower school education because the teachers never had time to master the devices themselves. The iPad fixes that because of its incredibly simple learning curve. Any teacher can master the richness of the iPad interface in an hour. And it turns out that’s probably true for young children as well. If you don’t believe it, hand a kid your iPhone and come back in an hour.

A computer is important in early education because it’s much more patient and individually focused than any teacher ever could be. A computer doesn’t care how many times it takes a kid to master a specific topic. And, for young children, they need the repetition at their own pace until they actually get it. The iPad can handle all of these repetitive tasks while freeing the teacher up for observation and pinpoint coaching. So it levels the playing field by getting the "slow learners" up to speed without the usual frustrations of dealing with kids with different levels of comprehension. And the iPad accomplishes this while making education fun instead of frustrating!

Young kids learn with their hands. Walk in any lower school classroom if you don’t believe it. The iPad is a hands-on device. You use your hands literally for everything: a mouse, a navigation instrument, a drawing tool, and for writing and typing. So it’s a natural for kids, just like a hammer.

If you’ve ever visited a Montessori school, you’ll come away appreciating how critically important group collaboration can be to early education. Working in teams enhances learning in so many ways. The iPad is a natural collaboration tool. It can be used to encourage kids to jointly develop rich multimedia reports pulling from the web, their textbooks, images, and their classmates. iWork for iPad at $9.95 per application is the perfect development tool. And, as Steve Jobs demonstrated, the iPad makes a perfect presentation tool. Teaching kids to stand in front of their peers and tell a story is probably the single most important thing kids can learn in elementary education. You learn a lot more teaching others than you’ll ever learn as a student. Most of today’s adults never got it… nor did they have the opportunity that the iPad presents.

We could write a book about the advantages which would flow from getting rid of hardback books. Not only would it save trees and natural resources, but it also could turn books into living, breathing educational tools with rich multimedia presentations instead of static images. Instead of kids lugging around a backpack full of textbooks which will be obsolete in a year or two, they could carry an iPad with all of their learning tools, their schedules, their homework, and their presentations. Think about the possibilities, and you’ll come to appreciate why the iPad really could revolutionize education as we know it. We hope so. Go talk to the educators in your community and get them excited about this Golden Opportunity. You’re only young once!

For a well-balanced, thought-provoking review of the iPad, head over to emergent by design.

We’ll leave you with Neil Curtis’ 3-minute, adjective-laced version of Steve Jobs’ iPad Introduction. And, just in case you missed the Grammy Awards last night, there was an iPad Presentation there as well. Funny stuff!


Some Recent Nerd Vittles Articles of Interest…

Surfing the Google Wave

Original image courtesy of Squidoo.com... with apologies We’ve spent a week getting to know Google Wave using Chrome along with 100,000 of our closest friends. We wanted to give you a status report. Hype aside, Google Wave is an incredible tool when used for the right purpose. If you’ve been asleep or hiding under a rock for the past two weeks and missed the party, here’s a quick summary of Google’s latest invention. It’s a bird, it’s a plane… actually it’s a collaboration and communications platform that brings the full richness of Web 2.0 to your desktop. Some have suggested that it’s what email would look like if it were invented today. Our discussion focuses on the web-based Wave client, but Google Wave also is an open source development toolkit, and we’ll get to that one day soon.

Much has been written about Google Wave’s capabilities, and we won’t repeat that here. Instead, we want to address Google Wave’s potential and what we see as some of the present shortcomings of the product. We fully appreciate that this is a preview, and many of our concerns may yet be addressed before Google Wave becomes available to the general public. We can’t help chuckling at the realization that, in less than 30 years, we’ve now come full circle in data processing. What began as mainframe computing evolved into personal computing. And now Google Wave brings us much closer to being back where we started except for a state-of-the-art user interface and a new name: Cloud Computing. If IBM had addressed the user interface issues with mainframe computing, they probably never would have lost their market in the first place.

The screenshot above really can’t do justice to the richness of the client interface because you truly need a monitor as wide as your desk to get the most out of Google Wave. No, you won’t be using this on your cellphone or PDA… at least not well. For openers, Google Wave provides real-time collaboration so you actually see folks typing into various message threads (called waves) in the Land of Google. When you create a new wave, you "invite" other people in your Contacts to the wave. This puts the wave at the top of their Inbox in bold-faced type, akin to what Gmail would do with an incoming email.

There’s another frame to the right of your Inbox which actually displays the complete wave that you have selected so you’re never really jumping back and forth between selecting waves and reading them. What takes a bit of getting used to is the fact that both your Inbox and the wave you are currently reading may be changing every second with input from literally dozens of your associates or strangers if the wave you’re reading happened to be designated as public.

There’s one other dramatic difference in waves and threads of email messages. Other folks can change your stuff. As a collaboration tool with close associates, this might be desirable. With public waves, it would be a nightmare in the real world. And we don’t consider the 100,000 Google Wave previewers the real world. They are for the most part well-behaved probably out of fear that they’d be booted out if they behaved badly. That isn’t the real world as we all know. And the current Google Wave design would let a single creep destroy virtually every public wave in minutes using bots and malicious changes to documents. As presently designed, there would be little recourse other than replaying what your wave used to look like. You really can’t put Humpty back together again as some have already discovered.

Richard Nixon learned the hard way that tape recorders can be a blessing and a curse. Much has been made of the capability Google Wave offers to replay a wave so that you can playback the development of a thread of messages and see who added or deleted what and when. Google has touted the fact that everything is preserved. Well, not quite. First, there’s no capability at least presently to scroll back to a certain place in the timeline and recreate a new wave up to there. The most you can retrieve is a single posting. Second, anybody with access to the wave can use this timeline feature so wave restoration wouldn’t necessarily be desirable unless it were restricted to the original author of the wave. And, third, at least at Google someone knows how to cheat the system and delete stuff from the timeline. We only discovered this in reviewing the first public porn wave which started out prim and proper enough but quickly gathered steam when someone posted a collection of NSFW (or anywhere else) photos from their favorite collection. Within a few minutes, the postings quietly disappeared. Being the careful reviewer that we are, we immediately reached for the Playback button to check the history of the wave. Sure enough, the raunchy photos were still there. But, by the next morning, they had completely vanished from the chronology. So much for the official stance that nothing ever disappears. The real disappointment with the replay function is the lack of any capability to restore an entire wave. Because only individual messages (known as blips) can be recovered, this would prove to be next to worthless in a complex wave with hundreds of postings.

That brings us to the issue of whether public waves really make sense given the world in which we live. The good news is it works much better than IRC because of the richness of the content with attachments and hyperlinks. But, at least for public waves, the ability to edit someone else’s stuff would have to go. We try not to focus on legal nightmares in reviewing new software, but one can’t help wondering what would happen if one were to post something complimentary about a neighbor in a public wave and then another neighbor altered your posting by falsely accusing the individual of sleeping around with half of the neighborhood. Obviously, there’s still a good bit of work to do on the security front and in deciding whether allowing others to amend someone else’s postings is a good idea. Whether Google gets the security piece right will ultimately determine the success of Google Wave.

For public waves, it’s a no-brainer. You just can’t! And, to be honest, in reviewing hundreds of public waves in the preview, we can’t recall a single instance where this functionality would have been necessary. In a true (private) collaborative project, it would be wonderful but color-coding of text or some other method of identifying who wrote what would be absolutely essential from both a practical and legal standpoint. Both Microsoft Word and WordPerfect have had this capability forever. The simple way in Google Wave would be to add user’s pictures with a colored border and matching colored text whenever they make changes to someone else’s posting. With this addition, Google Wave could become a wonderful collaborative tool in both legal and technical environments.

And, speaking of word processing, Google Wave falls a bit short on the word processing scale. Despite the richness of Google’s knol platform, some of that functionality still is not available in Google Wave. The text editing and formatting is much akin to what’s available in a typical email client. You can change fonts, adjust color, indent, add hyperlinks and images, but that’s about as far as it goes. There are no headers, footers, footnotes, etc. So you can’t easily transform a wave into a formatted document for printing at this juncture. But that may come as development continues.

There are a few other things still on our Wish List. First, we’d love for Google Wave to evolve into a tool that can replace today’s forums which are not much more functional than BBS software was two decades ago. Once there is administrator control of rollback and protection of waves by granular access rights to functions, bots, and gadgets as well as the ability to block users and ranges of IP addresses, this should happen. Second, we obviously want the ability to include either read-only or read-write access to waves in a blog or web site. We already have the web site functionality working (see below for a sample), but you currently need a Google Wave account to access it. Third, we really want to assimilate all of the tools we use into the Google Wave Desktop so that everything is accessible in one place. That’s what Cloud Computing is all about, and Google Wave comes closer than anything else in meeting that need. You already can access Gmail on your Google Wave desktop and any web site that can be framed can be included in a wave as an iFrame. That doesn’t leave much once the security feature set is in place to protect all the components.

Finally, we’ll close with a brief mention of the coolest feature of Google Wave. That is its expandability which is enabled by incorporating bots and gadgets into any wave. As you might imagine, these extensions can do almost anything… good or bad. Here’s a short list of what has been developed and what’s already on the radar in just a few short weeks:

Chatbots
Eliza – ogenex@appspot.com – An implementation of the Eliza chatbot borrowed from the NLTK.
Elize – elizarobot@appspot.com – Is one of the first robots that was created by non Googler and is very useful if you are feeling alone in your Google Wave client.
Rude chatbot – notatory@appspot.com – An obnoxious chatbot borrowed from the Natural Language Processing Toolkit.
TooAngel Wave – In Progress – tooangel-wave@appspot.com – A self learning robot, that will respond to a reply in a more humanoid way

Conversion
BotURL – boturl@appspot.com – A URL Linker that replaces full URLs with hyperlinks.
Calcbot – calcbot@appspot.com – This bot will do in place calculations for simple mathematical expressions and allow you to use user defined variables.
Cartoony – cartoonybot@appspot.com – Replaces the text of every submitted blip with a cartoon balloon that contains the text instead. Colors the balloons based on username.
Dice Bot – dice-bot@appspot.com – Dice-rolling bot. Dice Bot will replace XdY (X is the number of dice; Y is the number of sides) with the results of those rolls.
Flippy – flippy-wave@appspot.com – Turns text upside-down.
Fnordlinky – fnordlinks@appspot.com – Replaces "PMID <number>" with article information from PubMed.
Hearty Emobot – hearty-emobot@appspot.com – Replaces ASCII art with wingding characters.
i-cron – i-cron@appspot.com – Evaluates Python expressions. Looks at blips in event, searches for CALC() macros and executes Python code using exec().
Insulty – megabytemb123@appspot.com – Information Needed
IPA Bot – ipa-bot@appspot.com – Changes normal letters into special characters used for phonetics.
Piratify
– piratify@appspot.com – Turns whatever you type into "Pirate Speak" .. Arrrr.
Plotzie – plotzie@appspot.com – Plots sparklines from your data.
Shortee – Wish – Change “c u l8r” to “see you later” etc.
Swedish Chef – borkforceone@appspot.com – Changes english into Swedish-Chef Speak. Bork! Bork!
Syntaxy – kasyntaxy@appspot.com – Syntaxy does blip-by-blip syntax highlighting for a variety of languages including Python, Java, C, C++, html, css and javascript.
Watexy – watexy@appspot.com – Use LaTeX mathematical language in your Waves!
Wikify – wikifier@appspot.com – Replaces specific marked up text with a link to Wikipedia or a description relevant to the marked text.

Games
Hangman – wavehangman@appspot.com – Play Hangman.
Roshambo – roshambowave@appspot.com – Play Roshambo (Rock / Paper / Scissors).
Speedy – Wish – Track the words per minute of all participants, competitive typing!

Groups
Groupy – groupy-robot@appspot.com – Robot to manage groups.

Integration
drop.io – mikeswaverobot@appspot.com – Creates a drop and puts the info into the wave whenever the robot is added as a participant.
OpenAustralia – In Progress – A robot to allow interaction with the OpenAustralia web site.
PlonieBot – In Progress – ploniebot@appspot.com – Brings wave document editing capabilities to the Plone CMS
Poppy – In Progress – poppywave@appspot.com – Helps bridge Google Wave conversations to email users outside the Wave.
Rssybot – rssybot@appspot.com – Turn google wave into an RSS reader!
Starify – starifybot@appspot.com – Lets you star waves, in sort of bookmarking style.
Tweety the Twitbot – tweety-wave@appspot.com – You can access your Twitter account.
Twiliobot – twiliobot@appspot.com – Transforms phone numbers into click-to-call links. If user clicks a link, a call is placed to his phone and to the number in the link. The call can be transcribed and inserted into the wave as text with a link to the audio.
Wave-Email – In Progress – wave-email@appspot.com – Provide an extension to Google Wave which will allow the integration of both sending and receiving emails.
Wave Live Messenger – wavelivemessenger@appspot.com – Allows you to chat to your windows live messenger contacts from inside a wave.

Language
PhilBot – Wish – A suggested solution to the problem of waves with languages you can’t read.
Rosy Etta – rosy@wavesandbox.com – Translator (40 Languages).

Polling
Polly the Pollster – polly-wave@appspot.com – Poll Bot.

Search / Aggregation
Dr Maps – dr-maps@appspot.com – Updates a wave by inserting a map associated to an address.
Dr Weather – shiny-sky@appspot.com – Gives the weather for a City
Embedded Search Results – wave-sandbox@appspot.com – Web and Image searches inline.
FML Blipper – fmlblipper@appspot.com – displays random FML story from www.fmylife.com
Grauniady – grauniady@appspot.com – Searches the latest items from The Guardian for a given phrase.
Stocky – stocky-wave@appspot.com – Detects stock symbols from a wave and updates it with the live stock price.
Wavethingy – wavethingy@appspot.com – Searches Amazon for DVDs and books, and gives the author a cut of any purchases made off the links.
Yelpy – yelpful@appspot.com – Searches Yelp with a user defined location and category.

Utilities
AmazonBot – amazon-withwaves-com@appspot.com – Enables social product research and shopping on Amazon.com. Wave participants can share products & reviews with contacts in real-time thanks to automatic queries by the AmazonBot against conversation keywords. The AmazonBot gadget can detect products and return inline product links or a custom full product browser.
Bloggy
– blog-wave@appspot.com – Information Needed
Bit.ly Bot – bitly-bot@appspot.com – Shortens the url using bitly.
Botty – Wish – Will automatically add a set of useful bots to a wave according to a collection of bots (so they don’t have to individually be added when you use them all the time.
CountColon – countcolon@appspot.com – Adds text statistics to your blips (words, lines, etc.)
Companion Sphere – companionsphere@appspot.com – Collection of geek utils, first working verb is "lookup" for wikipedia/wiktionary one-line descriptions.
Databot – Wish – Will start as soon as the GData interface is published.
Emoticony – emoticonbot@appspot.com – Replaces text representations of emoticons with the relevant image.
JBREAKOUT – jbreakout@appspot.com – Debug utility that reports event triggers.
Maison – maison@appspot.com – Makes blips public at http://maison.appspot.com.
Multi – multi-wave@appspot.com – A quote collector. Reply a blip you want to quote with ‘quote this’ and randomly display a quote with ‘quote <wave @account.com>’. The bot is still being under development but you can try playing with it.
Natural Language Processing – knowledge-books@appspot.com – Adds blips with NLP analysis.
Nokar – lab2market@appspot.com – Has many features such as translations, image insertion, insert last tweets etc.
Posterous – posterous-robot@appspot.com – A robot for posterous.com user to post blog in Google Wave. Here is how to write a blog using Google Wave Robot for Posterous.
Publisher – wave-publisher@appspot.com – Information Needed
Skimmy – wave-skimmy@appspot.com – Converts text emoticons, from : ) to img. Has a bookmarklet which creates a popup menu to insert emoticons for which the code is unknown.
Smiley – smiley-bot@appspot.com – Changes the smiley symbols to smiley images.
Smiley – In Progress – smiley-robot@appspot.com – Changes the smiley symbols to smiley images.
Style Chart – stylechart@appspot.com – Inserts a chart into a wave.

Wave Management
Bouncy – bouncy-wave@appspot.com – Allows you to remove robots from a wave. Doesn’t seem to work on real people though, and laughs if you try to ask it to kick itself out. To get it to kick a bot out, type "bounce:name@domain.com"
Linear – Wish – Enforce all replies to be to the main wave. If a user replies to a reply, remove it and place it as a reply to the main wavelet.
Read Onlie – readonliebot@appspot.com – Records the original wave content. Whenever it’s edited, the content is replaced with the original. Simple as that.
Seekdroid – seekdroid@appspot.com – You can list Robots, add them and find them out, easy to use. In continuous development. Website with all the information seekdroid.appspot.com.
Sweepy – sweepy-wave@appspot.com – Remove empty, whitespace-only blips.
Taggy – taggy-wave@appspot.com – Recognize #hashtags and add them as tags to the wave.
Tocgen – tocgen@appspot.com – Table of Contents auto-generated and updated based on the h1,h2,h3,h4 in a wave.
Twitusernames – twitusernames@appspot.com – Replaces all Twitter @username with links to the Twitter accounts.

Gadget Utilities
Ajax Animator – In Progress – http://antimatter15.com/ajaxanimator/wave/manifest.xml – A fully integrated multi-user web based vector graphic animation authoring environment.
AmazonBot Gadgett – http://amazon-withwaves-com.appspot.com/gadgets/AmazonProductList.xml – The AmazonBot gadget can detect products and return inline product links or a custom full product browser.
Bidder – http://wave-api.appspot.com/public/gadgets/bidder.xml – Simple Auction.
Checky – http://wave-gadgets.appspot.com/checky.xml – Basecamp-like checklists with drag-and-drop.
Click me – http://wave-api.appspot.com/public/gadgets/hellowave.xml – Shows a button with a counter. Each time the button gets clicked, the counter is incremented by one. Shows off how the state interaction works.
HTML – http://wave-ide.appspot.com/html.xml – Embed any HTML into a wave.
iFrame – http://wave-ide.appspot.com/iframe.xml – Embed any web page into a wave.
iWave – http://gadget.wave.to/iWave/iWave.xml – Allows you to create a profile on wave to make wave just a little more personal. Uses facebook connect to retrieve your details if you sign in.
Licensing – In Progress – http://wave-license.appspot.com/license_gadget.xml – Creative Commons RDF Embedding – Planning Stage.
Maps – http://hosting.gmodules.com/ig/gadgets/file/101415471413908368316/mappy.xml -Embed Google Map.
Napkin – http://my-wave-gadgets.appspot.com/wave/NapkinGadget.xml – Example of Flash/Flex Wave Gadget, similar to Whiteboard gadget above – source on Google Code.
QuakeBot – In Progress – Server information on the Quake 3 protocol.
Raffly – http://raffly.googlecode.com/svn/trunk/sandbox/raffly-xml1/raffly.xml – Insert this gadget to select a random participant from your wave to be the winner. The winner of what? Well that’s up to you 🙂
Ratings – http://google-wave-resources.googlecode.com/svn/trunk/samples/extensions/gadgets/ratings/ratings.xml – Lets participants rate and review a topic (movie, restaurant, etc) in a wave and shows a tally of the result.
Slashdot Gadget – http://www.m1cr0sux0r.com/slashdot.xml – Loads latest Headlines from Slashdot.
Troco – An experimental peer-to-peer currency – http://troco.ourproject.org/gadget/org.ourproject.troco.client.TrocoWaveGadget.gadget.xml – Aims to provide a decentralized complementary community currency system, that is, a peer-to-peer currency system. Also you can see it as an IOU or promissory note based system. More info click here.
Vector Editor – http://jsvectoreditor.googlecode.com/svn/trunk/wave/vectoreditor.xml – A cross platform collaborative real time vector graphics editor.
Whiteboard – http://vps.michaelrose.id.au/canvas.xml – Draw on a virtual whiteboard.
Who is Coming? – http://wave-api.appspot.com/public/gadgets/areyouin/gadget.xml -Show a list of all people that have said whether they will come or not.

Gadget Games
Backgammon – Wish – Remove all of one’s own checkers from the board before one’s opponent can do the same. [Wikipedia]
Battleship – Wish – Displays different board based on user.
Boxes – In Progress – Connect lines to make boxes and win.
Connect 4/Four-in-a-row – In Progress – sdunster@wavesandbox.com – http://www.sdunster.com/wave/four.xml – 2 users + observers, turn locking, just waiting to write win-detection code.
Floodit – http://gadget.wave.to/floodit/game.xml – 2 player race to fill a board with colors.
Magnetic Poetry – http://hosting.gmodules.com/ig/gadgets/file/107558585548952247431/fridge-11.xml – Re-arrange random words to form poetry.
Match them colors! – In Progress – Match 3 / gem matching game.
Othello – Wish – Play Reversi.
Sudoku – http://blah.appspot.com/wave/sudoku/sudoku.xml – Play Sudoku.
The Button – http://hyperthese.net/wave-gadgets/the-button.xml – A useless (I mean USELESS) game.

Hooks
CVS integration – Wish – CVS history can be converted into a wave with playback.
GIT integration – Wish – GIT history can be imported and played back (dffs).
SVN integration – Wish – SVN History can be converted into a wave with playback.

Appearance
Google Wave Scrollbars – http://www.uniformedopinion.com/google-wave-native-scrollbars-extension/google-wave.crx – Changes the wave scrollbars to the default system scrollbars.


Enhanced Google Maps. In case you haven’t noticed, we’ve added yet another Google Map to Nerd Vittles. Now, in addition to showing our location with Google Latitude, we also are displaying your location based upon your IP address. We’ll show you how to add something similar to any LAMP-based Linux system in coming weeks. It’s a powerful technology that has enormous potential. If you’re unfamiliar with Google Maps, click on the Hybrid and Satellite buttons and then check out the scaling and navigation options. Double-click to zoom. Incredible!


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…



For those of you that already have Google Wave accounts, here’s a sample of how a wave will look in a WordPress posting. You can even add content to the wave! This works in Safari and Chrome most of the time, Firefox some of the time (if you turn on Accept 3d Party Cookies), and IE almost never. For those of you that are not part of the Google Wave preview, you’ll just have to wait patiently until Google turns on at least read-only access to this functionality:

Introducing the Cisco 7970 WonderPhone … Or Is It?

Cisco 7970

We didn't know quite how to begin this article so we decided to try and find a picture that sums up what you're up against installing a Cisco 7970 color IP telephone with Asterisk®. The disturbing part of this photo is that it shows the lengths to which Cisco will go to provide literally picture-perfect documentation for how to hang this phone on a wall while there is close to ZERO documentation for how to use it as a SIP telephone with anything other than Cisco's proprietary CallManager telephone system. It's almost like they don't want it used that way. LOL! Since the entire world is moving to SIP, Cisco obviously needed to be able to say they supported SIP ... but just barely. If you've never had to deal with Cisco or, better yet, Cisco's web site, lucky you! For those of us that ran Internet services in a former life, there was Cisco or Cisco when it came to routers. Luckily, that's not the case in the IP telephony business, and fortunately it's now changed in the router business as well. Guess why? Creativity and software quality have gone down the rat hole. And Cisco shareholders wonder why their company is losing market share.

It wasn't quite right to reduce Cisco's beautiful (and I do mean beautiful) new COLOR IP telephone to a nuts-and-bolts image. But we're trying to paint a picture of how it works, not how it looks. The good news for Asterisk users is that IF you ever get the 7970 working with your Asterisk system, you'll never go back. The quality of calls with the Cisco 7970G is head-and-shoulders above all of the competition. Embarrassingly good! Having said that, it's more than a little disappointing to encounter Version 8 of their SIP firmware and discover that it functions about like a .8 beta release of most telephony software. Many things don't work. Some buttons still crash the phone. And it appears that Cisco has little or no intention to make things much better ever. You might be asking, "Why would a company act like this?" It's really pretty simple: monopoly (they wish!) and money (ditto!). The phone can be purchased for under $500 from many on line retailers such as our favorite (shown above). The CallManager license adds another $250 to the retail price of each and every phone. You'd want a monopoly, too, with that sort of pricing structure.

SPECIAL NOTE: We have one, gently used Cisco 7970 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.

So how do we get the damn phone to work with Asterisk? Well, here's where it gets a little tricky. The first thing you should do is watch Kerry Garrison's great video on setting up the phone. You'll find it at AsteriskTutorials.com. What you'll learn in the tutorial is that most of the configuration of the phone is done through XML config files which are ordinary text files with nested (special) keywords in brackets that tell the phone how and what to do when. You then copy these config files to a TFTP server and reboot the phone after pointing it to the IP address of your TFTP server. If you don't have a TFTP server, Kerry will even tell you about a great one for Windows that you can download for free: TFTPd32.

Welcome to TFTP Hell. As with everything Cisco, there are a few instant gotcha's with the installation process. First, Cisco provides no documentation with the phone and has published no documentation on the XML config files. Why? Monopoly and Money. The official answer would be that you don't need to know nothin' 'bout no stinkin' config files. Just use (buy!) their CallManager, and it generates the config files out of thin air. Now you get it. The only problem with the Cisco Scenario is that then your phone will only talk to the CallManager, not Asterisk. In fairness, we should note that Cisco documentation is available for the SIP firmware on the phone, but it all pertains to CallManager. Big surprise there. And, by the way, be sure to order the phone with SIP firmware, not SCCP, and a 7970 Power Supply or you're really S.O.L. with a dim phone to boot. So it's Go Back to Go time.

The second gotcha is that the phone has to know where to find the TFTP server before you can change anything. You can't manually set the TFTP IP address with something like telnet or ssh. That would be too simple. You can set it on the phone keypad provided the existing firmware is configured to allow changes. The default firmware load isn't. So what's left? Well, you'll need a DHCP server that understands Option 66. Most don't. What Option 66 does is store the IP address of your favorite TFTP server so that when a client obtains an IP address for IP access, it also can obtain an IP address for a TFTP server containing updated config files... or new firmware. If you don't have a router with DHCP that supports Option 66, not to worry. TFTPd32 includes it as well.

Gotcha #3 is that you can't just run TFTPd32 on your LAN and expect things to work. Why? Because your existing LAN probably already has a DHCP server (without Option 66) that's already handing out IP addresses. Can't we just disable our existing DHCP server? Absolutely, but you'll wipe out any preconfigured IP addresses that depend upon your DHCP pool of IP numbers which is the way most mere mortals reserve IP addresses on LANs without having to manually configure IP addresses, and subnet masks, and DNS server addresses for every device on your LAN. So ... the quickest, pain-free way to get started is to boot up a Windows machine on your network. Then replace the network cable connected to your PC with a crossover cable. Now connect the other end of the crossover cable to your shiny new Cisco phone. When the phone is rebooted, it will find the only remaining DHCP server in town (with Option 66 which you must set to match the first number in your DHCP pool since this number will be grabbed by your Windows machine when you plug in the crossover cable): the TFTPd32 DHCP server. If this sounds convoluted, hang on to your hat 'cause we're just getting started. Remember, we haven't changed anything yet!

Cisco 7970The Right Way, The Wrong Way, and The Cisco Way. While we're on a roll with DHCP and TFTP, let's assume for a moment that we already have your phone making calls through your Asterisk server which it isn't, of course. Now you've decided that you'd like a different ring tone or picture on your phone. Can the phone handle it? Absolutely. Is it intuitive? No way. To perform either of these feats of magic, the drill goes something like this. You create another XML config file for both the pictures and the ring tones. Then you load the config files in a secret place on your TFTP server. Then you copy your new ring tones and cover art to the same secret locations. Now you go to each phone and drill down through layer after layer of menu options until you finally come to a screen which will display available ring tones or background images. The phone then will kick off a TFTP session using your TFTP server (which hopefully is still on line). Once it retrieves the file names or thumbnails after querying the XML config file, you get a list of choices. Highlight the desired choice and the phone makes another TFTP connection to download the desired file into your phone. Rube Goldberg would be proud of what Cisco engineers have been able to dream up. I'd fire all of them. Here's a silly idea. Ever heard of HTTP and a web page. There's even HTML support already on the damn phone. Of course, it doesn't work, but who cares. Why fix it when you can dream up an installation scenario like this one? Who in their right mind would ever design an installation system which forces you to keep an insecure TFTP server running on your network all the time?

Call us picky, but here's another little detail. One disgruntled employee with a crossover cable and a notebook computer running TFTPd, and your entire Cisco phone system runs the very real risk of being toast. The problem with Option 66 is that whoever has physical access to your phones can wreak all sorts of havoc since the phones will connect to any available TFTP server. Holding down the pound key for 10 seconds while the phone reboots and then pressing all 12 buttons on the phone's dialpad (in order), and your phone is now MY PHONE. And, this is from a company that has been thinking about network security longer than almost anybody. We should point out that there is a phonePassword field in the config file which defaults to blank, and it may or may not help on the security front. My guess is that most companies never touch it. And, with the ink barely dry on our maintenance contract and given the other configuration quirks of this phone, we were reluctant to test this password feature for fear of turning the device into little more than a boat anchor. We'll leave that testing for you to try out on your new $500 phone. If there's some other, more obtuse security feature (such as tftpDefault) that we've missed, we're pretty confident that some diehard Cisco cheerleader will point it out to us in a comment shortly. In the meantime, we'll continue our head scratching. Memo to Cisco: There are lots of reasons that folks expect documentation with their equipment. Not the least of these is SECURITY.

Earth to Asterisk. Can You Read Me? Well, enough of the Cisco bashing. We really do want to get this phone working with Asterisk. And did we mention? We wouldn't trade the Cisco 7970 for ANY other phone on the planet. The voice quality with both the headset and the speakerphone is that good! For openers, to use the phone with Asterisk, you'll need at least Asterisk 1.2 to get any connectivity. Asterisk 1.09 won't cut it. And the 7970 ought to work fine with any version of TrixBox as well as Asterisk@Home versions going back to 2.0, all of which include at least Asterisk 1.2. Now for the fun part.

First, download the Sample Config Files from Kerry Garrison's AsteriskTutorials.com site. Unzip the file which will give you a configs folder with three files. Turn your phone over and write down the MAC address which is the number beginning with 00 and consists of 12 hex digits. Rename the SEP000E84E8E3D5.cnf.xml file substituting the MAC address you wrote down for 000E84E8E3D5 in the existing file name. If this config file name doesn't include the actual MAC adddress of your phone, your phone won't process any updates. Now press the Settings button on your phone. It's the one on the right side with a check mark on it. Then press 5, 3 and write down the version of the firmware that's loaded on your phone. If it doesn't start with SIP, send it back and tell the vendor that you requested a Cisco 7970 with SIP firmware. Unless the firmware version is SIP70.8-0-3S, you'll need to change the firmware version in both the SEP config file we renamed above and also in the XMLDefault.cnf.xml file. Use the Windows TextEdit program to search for SIP70.8-0-3S and replace it with the firmware version you wrote down.

Before we get too far along, let's be sure that your phone is locked in such a way that you can't manually specify a TFTP server's IP address. Press the Settings button again and then 2, 8. A closed padlock should appear in the upper right corner of the display. Pressing **# will attempt to unlock the phone. The padlock should open within a few seconds. If so, there may also be a new, gold Edit tab above the second (of six) softkey buttons on your phone. If the Edit button is not dimmed out, then you can press it and manually enter an IP address for a TFTP server. Otherwise, you'll need to go through the knuckle drill we 've previously outlined using a crossover cable. Be aware that each time you change or reenter the TFTP IP address, your phone will automatically reconnect to the TFTP server to check for updates as soon as you Save the IP address. This is worth remembering because it's an easy way to force a config reload on your phone.

We're almost ready to set up an extension to connect to your Asterisk server. But first, you'll need to be sure you have created an available SIP extension on your Asterisk system. Using AMP or freePBX, choose the Extensions option and Add a new SIP extension. Choose an available extension number and password. In the Device Options section, set the qualify field to No and set the mailbox option to something like 500@default instead of 500@device (using your chosen extension number, of course). Set up a voicemail account with the same password you specified for the extension. Then Submit your changes and click the Red Bar to reload Asterisk.

Now we're ready to edit the SEPxxxxxxxxxxxx.cnf.xml file using NotePad. First, search for 192.168.5.50 and replace every instance with the internal IP address of your Asterisk box. It should come as no surprise that Cisco has a different way of handling SIP connections through NAT and a firewall, and it's not yet compatible with the way the rest of the world (including Asterisk) do it. So, for the time being, forget using a 7970 outside your firewall unless you enjoy Water Torture. Beginning on line 10 of the file, you'll see two entries that look like this:

<datetemplate>M/D/Y</datetemplate>
<timezone>Pacific Standard/Daylight Time</timezone>

The top line tells the phone to display the date as MO/DA/YR with time in 24-hour military time. If you'd prefer a 12-hour clock with am and pm indications, add a lower case a immediately after the Y. Change Pacific on the second line to match your time zone. Leave the rest of it alone unless you live in a freaky Daylight Savings location. If you do, you'll know what I'm talking about. Otherwise, don't worry about it.

The 7970 theoretically can support 8 extensions on the eight buttons along the top right side of the phone. That only seems to work if all the designated extensions are housed on the same Asterisk server, i.e. one IP address. Here's what a typical entry for an extension should look like. To add another one, just duplicate the code, increment the line button number, and enter the appropriate settings for the next extension.

<line button="1">
<featureID>9</featureID>
<featureLabel>Ext. 400</featureLabel>
<proxy>192.168.0.108</proxy>
<port>5060</port>
<name>400</name>
<displayName>Ward Mundy</displayName>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>400</authName>
<authPassword>1234</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>1</messageWaitingLampPolicy>
<messagesNumber>*97</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>7b452e87-4496-4762-e11f-b26751a1884b</contact>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
</line>

We've shown the entries that worked for us. Most of the entries can be left alone. Just change the Proxy entry to the IP address of your Asterisk box. Then enter your extension number in featureLabel, name, and authName. Enter a displayName for calls from this extension, and enter your extension password in authPassword.

In addition to using these eight buttons for Extensions, you also can use them for Speed Dial entries. And these entries can be any sequence that your Asterisk server understands. For example, you could assign *8 to a button to do a Call Pickup. Here's what the entry would look like to assign this to the eighth button:

<line button="8">
<featureID>2</featureID>
<featureLabel>Call Pickup</featureLabel>
<speedDialNumber>*8</speedDialNumber>
</line>

Aside from assuring that the featureID code is 2, you can assign a Speed Dial entry to any button number and label it any way you choose. The speedDialNumber should be the exact string of numbers you would normally dial to place the call using the dialpad of your phone.

There are some other entries in the Config file, you'll want to take a look at. Near the bottom of the file you'll find settingsAccess. If this is set to zero, you'll want to change it to 1 so that you can avoid the TFTP knuckle drill we've outlined above. Once this configuration change is loaded into the phone, you should be able to manually enter a TFTP IP address as we described above.

Finally, there's a group of entries in the vendorConfig section of the file that determine when the 7970's display will be active and for how long. The entries look like this:

<daysDisplayNotActive>1,7</daysDisplayNotActive>
<displayOnTime>08:00</displayOnTime>
<displayOnDuration>10:30</displayOnDuration>
<displayIdleTimeout>01:00</displayIdleTimeout>

These are self-explanatory for the most part. The first line tells the phone which days of the week not to turn on the display automatically. If you want it on every day, delete 1,7. The displayOnTime tells the phone what time of day in your time zone to turn on the display (24 hour clock). The next line tells the phone how many hours and minutes to leave the display lit. And the last line tells the phone how long to leave the phone lit up when you manually turn on the display by pressing the sixth Display button (which will display a green light when the phone display is off).

To load the configuration changes we've made above, just copy the three files in your Config directory to the default directory you set up on your TFTP server. Then unplug the phone and plug it back in once you have your TFTP server with its DHCP server configured and running.

After reading the next paragraph, we think you'll understand why we're abbreviating the implementation step with this phone. I'd venture to say that not one of our daily readers is going to buy this phone after reading our review. If some of you prove us wrong with your comments, we'll be glad to add the missing pieces. Or you can go here and find most of the information you'll need to get started. Here are a few helpful hints on replacing the default photo and ring tone on the phone. A link for dozens of ring tones appears earlier in the column. Step 2 is to create a distinctiveringlist.xml file and put it in the root directory of your TFTP server together with the .raw sound files. In the XML file, you merely list the sound files. And it looks like this:

<CiscoIPPhoneRingList>
<Ring>
<DisplayName>Fun 1</DisplayName>
<FileName>CTU1.raw</FileName>
</Ring>
</CiscoIPPhoneRingList>

To load a new Ring Tone for your first extension, crank up the TFTP server. Then press the Settings button on your phone followed by 1, 1, 2. Then follow the prompts to Select your desired Ring Tone for each extension.

You do something similar for photos except you need two PNG images for each photo you want to make available for display on the phone. One is a thumbnail (80x53) and the other is the photo itself (320x212 in 12 bit color). Don't worry about the 12 bits. The phone will convert 16 bit images, but keep the full-size images relatively small, e.g. 100K. Once you have your photos, create a Desktops folder off the root directory of your TFTP server. Then create a subdirectory inside it called 320x212x12. Using Notepad, create an XML file there and name it List.xml. Capitalization matters! Sample entries are shown below. Now copy all of your images to the 320x212x12 folder.

<CiscoIPPhoneImageList>
<ImageItem Image="TFTP:Desktops/320x212x12/MyGirlsTN.png" URL="TFTP:Desktops/320x212x12/MyGirls.png"/>
</CiscoIPPhoneImageList>

To change the desktop photo, crank up your TFTP server. Then press the Settings button on the phone followed by 1, 2. Then pick the desired photo and press the Select button. Save your change and you're done.

In theory, there are all sorts of other neat things you should be able to do with this phone. For example, there's a message waiting light. Doesn't work. Then there's a stutter dial tone with message waiting. Doesn't work. The phone is designed to display a listing of Phonebook Entries out of an XML file on your web site when you press the Directory button. Doesn't work. It's also supposed to display a page of helpful tips when you hit the question mark button. Doesn't work. Then there's the ability to run a web-based XML application. No cigar there either. And, when you answer a call on the phone, don't dare press the Transfer button unless you like watching core dumps. Fortunately, # transfers still work with Asterisk. Well, you get the idea. And this is Version 8? Can you even imagine what Version 1 looked like? And the sad part of all of this: the Cisco 7970 probably has the best voice quality of any telephone we've ever used. And we've used lots of them. Here's how we've decided to use the phone in our pure-VoIP environment. It's a variant of the old adage: "Don't Call Us, We'll Call You." We put the 7970 on a separate table in our high tech office and, whenever we need to talk to someone important, we'll call from our cushiest chair using this phone. For the rest of our incoming calls and our voicemail, we'll use another phone ... that works and better supports IP telephony but sounds more like a cellphone call. So, if you get a crystal-clear call from us, you can stand a little taller knowing how important you are. It's a call from the Cisco 7970!

The Hobson's Choice for most folks boils down to this. Do you want great sounding IP phone calls with a phone that costs two to five times as much as other IP phones while giving up virtually every other feature that has made IP telephony great? While it will let you retrieve your voicemail messages from your Asterisk server, unfortunately you'll never know you have a message unless you dial in regularly and manually check. This phone has been pitched as the perfect phone for the busy executive. The first busy executive that misses an important meeting because the message waiting lamp never lit up, and this phone would be out the window. Too bad!

Perhaps more than any other American company, Cisco is responsible for getting IP telephony off the ground. So it's especially disappointing to see what an absolutely crappy job they've passed off to the Internet community as their SIP offering. If you're one of their corporate customers, we hope you'll take the time to drop a line to John Chambers at Cisco and give him your thoughts. Cisco didn't get to where they are today with software that just barely passes the smell test.


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.

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 NewsClips for Asterisk (latest news headlines in dozens of categories), MailCall for Asterisk with password 1111 (retrieve your email by phone), and Nerd Vittles Weather Forecasts by U.S. Airport Code. 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.

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 30GB of disk storage and 750GB 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!

ISP-In-A-Box: The $500 Mac mini (WebDAV and Web Folders 101)

Microsoft deserves a lot of credit for popularizing the idea of Web Folders, but the open source movement gets the accolades for making WebDAV work reliably across all the computing platforms. If you didn't already know, WebDAV stands for Web-based Distributed Authoring and Versioning. Simply put, it is an HTTP protocol extension that allows people anywhere on the Internet to collaboratively edit and manage documents and other files using the same protocol and port used for surfing the web. In the Mac world, WebDAV provides a Disk Volume on your Desktop that "looks and feels" like any other networked hard disk. In the Windows world, WebDAV provides a Web Folder which can be used like any other mapped drive in Network Neighborhood. If you're still a little fuzzy about the WebDAV concept, think of how you link to another drive on your local area network. WebDAV gives you the same functionality across the entire Internet with virtually the same ease of use. Depending upon user privileges, of course, you can copy files to and from a WebDAV volume, and the protocol imposes versioning control through file locking to assure that multiple people don't change the same file at the same time. Panther and Tiger versions of Mac OS X provide both a WebDAV client and server, and today we'll walk you through configuring and using both the client and the server on your Mac. Because of the number of folks that also use Windows machines at the office, we'll also briefly touch upon how to access your Mac WebDAV resources and set up a Web Folder from a Windows XP machine.

HOW-TO Use the WebDAV Client on the Mac. We're going to start by walking through the set up process for connecting to a WebDAV server resource anywhere on the Internet. To connect to a WebDAV resource from a Mac, press Command-K from Finder. Then enter a Server Address in the following format: http://192.168.0.103/dav/. This tells Finder to use the HTTP protocol to establish a link to an IP address and folder that you designate. You also can use a fully-qualified domain name in lieu of an IP address. Typically, you'll be prompted for a username and password, and then a new volume will appear on your Desktop which can be used just like your local hard disk. When you finish using the resource, CTRL-Click on the volume and Eject it. It's that simple.

HOW-TO Use Web Folders on a Windows PC. The Windows process is a bit different as you might expect, but the results are the same. Once connected, you'll have a mapped drive that can be used just like any other network drive. The simplest way is to map a drive (see inset). To access Web Folders and save your settings, we're going to use the Add Network Place Wizard. You can access it in several ways. Either Right-Click on Network Neighborhood and choose Map Drive. Or from My Network Places, choose Add a network place. Or from Windows Explorer, choose Tools->Map Network Drive. Now click "Sign up for online storage or connect to a network server" at the bottom of the window.

When the Add Network Place Wizard appears, you'll be prompted for where to create the network place. Select "Choose another network location" and click Next. For the Internet address, use the same syntax as on the Mac: http://192.168.0.103/dav/ and click Next. Give your network place a name and click Next then Finish. Your new Web Folder will now appear in My Network Places. Just click on it to connect. Here's the gotcha with WebDAV on the Windows platform. If you access a Web Folder by IP address, when you're prompted for a username and password to log in, the username must be in email format: john@doe.org. Another "Better Idea" from our friends at Micro$oft. So when you create usernames on your Mac, keep this in mind if you want Windows users to be able to access the resources reliably. It doesn't matter what the email username or domain is, but it has to be in email format. When you finish using a web folder, be sure to disconnect. Open Windows Explorer, choose Tools->Disconnect Network Drive, and select the Web Folder you wish to disconnect.

Connecting to a WebDAV Resource. We've temporarily set up a sample WebDAV server on one of our Tiger-enhanced Macs so that you can experiment with WebDAV access from your favorite Mac, Linux, or Windows machine. For reasons which should be obvious, we've disabled writing to our WebDAV server only because we didn't want our hard disk filled up by some anonymous bozo in the middle of the night. We're also going to provide a single username and password for everyone to use. It should be stressed that neither of these scenarios is typical. First, the usual purpose of a WebDAV server is to facilitate collaboration which means all authorized users should be able to read and write to the volume. Second, you usually don't provide access to a WebDAV server for anonymous users. That's what web sites are for. But this is Wiki World, and we wanted to show you how these things are put together before you roll your own. So bear with the constraints recognizing that, when you set up your own WebDAV server, it will be much more robust.

To access the system, follow one of the client access methods outlined above. The web address using Windows is http://webify.us. For Macs, use http://dav.webify.us:82. When prompted for a username and password, use bozo for the username and forlife as the password. If you have problems with the username on a Windows PC, use bozo@webify.us. Don't forget to disconnect when you are finished playing. NOTE: This system (only) will be down for a move to its new permanent location from Thursday afternoon, May 26 until Saturday morning, May 28. Our apologies.

That about covers using a WebDAV client. For step-by-step instructions on creating your own WebDAV server on your Mac, here's a reprint of the article from our former Tiger Vittles site.

ISP-In-A-Box: Building a WebDAV Server for Remote Access

Ever wished you had several gigs of off-site disk storage so you could safely back up all your most important data and use it for remote access or collaboration. One option, of course, is a .Mac account which gives you 125MB of iDisk storage space and other goodies for $99 a year. You can increase your iDisk to a gigabyte for an additional $49.95 a year, a bargain compared to some commercial sites. Here’s another approach that’ll save you hundreds of dollars a year. Find a friend with a Mac and an Internet connection and swap several gigs of storage space on your friend’s Mac for several gigs of storage space on yours. Then follow along here, and we’ll show both of you how to build and use WebDAV servers to do exactly what the commercial firms are doing. And you can use the Apache software that’s already installed with Mac OS X Tiger.

As you now know, WebDAV stands for Web-based Distributed Authoring and Versioning. Simply put, it is an HTTP protocol extension that allows people anywhere on the Internet to collaboratively edit and manage documents and other files using the same protocol and port used for surfing the web. In the Mac world, WebDAV provides a Disk Volume on your Desktop that “looks and feels” like any other networked hard disk. In the Windows world, WebDAV is called Web Folders. They can be used like any other mapped drive in Network Neighborhood. If you’re still a little fuzzy about the WebDAV concept, think of how you link to another drive on your local area network. WebDAV gives you the same functionality across the entire Internet with virtually the same ease of use. Depending upon user privileges, of course, you can copy files to and from a WebDAV volume, and the protocol imposes versioning control through file locking to assure that multiple people don’t change the same file at the same time. Panther and Tiger versions of Mac OS X provide both a WebDAV client and server. Nerd Vittles walked you through configuring and using the WebDAV clients. So let’s tackle the WebDAV server setup now. This works with Tiger or Panther by the way.

In a nutshell, the WebDAV server setup goes like this. We’ll create a new subdirectory in the web server’s storage folder which we’ll use for WebDAV read and write access. Then we’ll set up a username and password system to support WebDAV access. Next we’ll activate the WebDAV mods in Apache which already are installed on your Mac. We’ll then reconfigure Apache a bit to support WebDAV formatting. And finally we’ll restart our web server and presto, WebDAV. You don’t need to be a Rocket Scientist to do this, but you do have to get your hands dirty with a command-line editor, Pico. If you’ve followed other Nerd Vittles tutorials, then this one will be a breeze. Just be sure you edit carefully and, if something does go wrong, copy your backup Apache config file back over the edited one and try again. Apache errors don’t get reported in System Preferences->Sharing when you activate your personal web server. If you have problems and want to see what’s going on, activate and then run WebMin (which we previously covered at Nerd Vittles and upgraded here last week for Tiger). Using your browser, access WebMin and choose Servers->Apache Webserver. Then start and stop the web server from there. Errors will be reported with the line number in the config file that’s causing the problem. Ctrl-C in Pico will tell you what line number you’re on in the config file. If this sounds like I’ve had recent experience, you’d be correct. But you won’t have to pull your hair out. I’ve already done that with mine.

Creating a WebDAV Folder.
Open a Terminal window, and switch to root access: sudo su. Then navigate to the root of your web server folders: cd /Library/WebServer/Documents. Create a new WebDAV folder: mkdir dav. Change the permissions of the folder’s group to match the Apache group: chgrp -R www dav. If you want to provide write access to users who connect to your WebDAV folder, then change the permissions to allow it: chmod 775 dav.

Building a Password File. We already built a password file in the Web Sites 101 tutorial on Nerd Vittles. We used that password file to manage web site access to various web directories. You probably don’t want to use the same password file for WebDAV unless you are building this just for yourself. The only trick to password files is you want to put the file where Apache can read it but your web visitors cannot. And you want to be careful not to insert blank lines in the file with just a colon. That basically lets everyone in. The format for the file is username:password, each on a separate line. And the passwords are encrypted. Here’s how to do it.

Open a Terminal window and switch to root access: sudo su. Now move to the directory where we’ll put the password file: cd /usr/local. We’re going to name this password file dav.pw so we can remember what it’s for. To create the file and erase any existing file without warning type: htpasswd -c dav.pw admin. Think up a password you can remember, and you’ll be prompted to type it twice. Now let’s verify that the file was created: cat dav.pw. You should see the word admin, then a colon, and then your encrypted password. To add additional users to the file, just type: htpasswd -m dav.pw username where username is your next user. You’ll be prompted for the password. Remember, if you accidentally use the htpasswd -c syntax a second time, you will overwrite your existing file and all of its entries. So be careful. Finally, remember to make duplicate entries using full email syntax for the username to assure that Windows users can access your DAV resources: htpasswd -m dav.pw joe@schmo.com.

Reconfiguring Apache to Support WebDAV.
Open a Terminal window, and switch to root access: sudo su. Then navigate to the folder with Apache’s configuration file: cd /etc/httpd. First, let’s make a backup copy of the config file in case something goes wrong: cp httpd.conf httpd.conf.dav.save. Now let’s carefully edit the config file: pico httpd.conf. Uncomment the headers_module line by searching for headers (Ctrl-W, headers, enter) and then pressing Ctrl-D while positioned over the # sign at the beginning of the line. Now search for mod_headers (Ctrl-W, mod_headers, enter) and uncomment that line (Ctrl-D while positioned over beginning # sign). Now search for dav_module (Ctrl-W, dav_module, enter) and uncomment the line (Ctrl-D while positioned over beginning # sign). Now search for mod_dav (Ctrl-W, mod_dav, enter) and uncomment the line (Ctrl-D while positioned over beginning # sign). Now press Ctrl-V repeatedly until you get to the bottom of the file. Switch to your web browser and download this WebDav snippet. When the code snippet displays in your web browser, press Command-A then Command-C to copy all of the code to your clipboard. Then switch back to Pico, click at the bottom of the config file, and paste the code snippet into the config file by pressing Command-V. Use the down arrow to move to the BrowserMatch section of the code we just pasted and be sure “redirect-carefully” didn’t end up on a line by itself. If it did, position the cursor over the first letter “r” and press the backspace key to move it back up to the end of the previous line of code. Don’t worry if a dollar sign displays at the end of the line after you move it. This just indicates that additional text is off the screen… the price we pay for using a free editor. Now we should be all set. Save the config file: Ctrl-X, Y, enter. And restart Apache by deselecting and then reselecting Personal Web Sharing from System Preferences->Sharing. Close the Terminal window by typing exit, pressing enter, and then pressing Command-Q.

Testing Your WebDAV Server. To test whether WebDAV is working, switch to your Desktop and, using Finder, press Command-K. When prompted for the server address, type http://localhost/dav and then click the Connect button. Enter your username and password that you created in the dav.pw password file, and a blank dav folder should appear on your Desktop. Drag a file from your Desktop to the folder to be sure everything is working as it should. If you’ve enabled web access through your Mac and router firewalls (which we have previously covered here), then you should be able to access your WebDAV folder from the Internet with your IP address or domain name using the syntax: http://mydomain.com/dav. Enjoy your new WebDAV server. Now all you need is a friend to share it with.