Gross hack of the day: adding names to Vonage voicemail email notifications

By | December 29, 2009

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:

  1. The script fetches the caller ID information for recent calls from and saves it in a CSV file.
  2. The script 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, or the Outlook export CSV, or both.

Now, the configuration changes:

  1. You need to set up a scheduled task, cron job, or whatever to run periodically to keep the caller ID CSV file up-to-date.
  2. You need to tie 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.


Print Friendly, PDF & Email

2 thoughts on “Gross hack of the day: adding names to Vonage voicemail email notifications

  1. jik Post author

    Wait, you’re saying that in the past, Vonage voicemail notifications did include the name of the caller? Because I’ve never seen that since I started using Vonage a few months ago. Perhaps my account was put on one of the “new voicemail servers” you mentioned?

    I find this unfathomable. Why would they get rid of useful functionality?

  2. Aaron Neff

    Just got off phone w/ Vonage. Call was escalated, and an engineer provided this tidbit of info: Vonage is migrating everyone to new voicemail servers. The new voicemail servers do not include caller’s name in the body of the notification email. Example:

    Vonage Voicemail Notification format from old server:

    Date: MMM DD YYYY HH:MM:SS tt
    From: First Last (12345678910)
    To : First Last (12345678910)

    Vonage Voicemail Notification format from new server:

    Date: MMM DD YYYY HH:MM:SS tt
    From: 12345678910
    To : First Last (12345678910)

    The tech who I was speaking to (who, himself, did database work) suggested that perhaps Vonage is stripping this information for space reasons. He also did say that Vonage just isn’t really big on CallerID name. They do support CallerID name, but just if the number was brought thru a port from another carrier.

    Just thought I’d pass this along.

    -Aaron Neff


Leave a Reply

Your email address will not be published. Required fields are marked *