I’ve been using Vonage for telephone service for a couple of months, and I’m quite happy with it. Their feature set is quite competitive, and I’m paying them significantly less than I’d be paying Verizon, Comcast or RCN for equivalent service. (Shameless plug: if you’d like to give Vonage a try, send me email and I’ll send you a referral. Both you and I will get a free month of service.)
You can configure Vonage to email you about voicemail messages. The email contains the actual voicemail message as an audio attachment, but what it doesn’t have, inexplicably, is the name of the caller pulled from caller ID. This has annoyed me ever since we switched to Vonage, and I recently finally got annoyed enough to finally do something about it. I’m posting my solution here on the off chance that it’ll be useful to others.
To take advantage of this hack, you have to have the ability to filter the contents of your incoming email, e.g., with procmail. If you don’t know what that means, then you should probably stop reading now. :-/
My solution consists of two scripts and two configuration changes. First, the scripts:
- The script vmail-cid.pl fetches the caller ID information for recent calls from www.vonage.com and saves it in a CSV file.
- The script vonage-vmail-filter.pl reads the aforementioned caller ID CSV file, as well as a CSV file you’ve exported from your Outlook contacts, and uses the information in those files to filter a voicemail notification email message on stdin and send the (possibly modified) notification to stdout. You can configure the script which of the two CSV files to read, i.e., you can take advantage of either the caller ID information from vmail-cid.pl, or the Outlook export CSV, or both.
Now, the configuration changes:
- You need to set up a scheduled task, cron job, or whatever to run vmail-cid.pl periodically to keep the caller ID CSV file up-to-date.
- You need to tie vonage-vmail-filter.pl into your email delivery, e.g., by editing your .procmailrc file (for which there is an example in a comment at the top of the script), sieve configuration, or whatever.
When all of this is done properly, then every voicemail notification you receive will be updated with the caller ID or Outlook Contacts name for the calling phone number, if it’s available, before it lands in your mailbox.
Click here to download a zip file containing the scripts. See the comments at the top of the scripts for additional details. As always, please feel free to send me any questions, comments and suggestions you might have.