Posts Tagged ‘Vonage’

Using Selenium to monitor Phone Power international call usage

Sunday, April 20th, 2014

Back when I was using Vonage, I wrote and shared a Selenium script to alert me automatically if I was approaching my monthly usage limits.

Then I kicked Vonage to the curb and switched to using Google Voice plus an OBi202 box for my home phone service, lowering my monthly bill from around $14 for Vonage to $Free for Google Voice.

Alas, as of May 15, 2014, Google Voice is no longer going to work with my Obihai box, so I’m back to paying for VoIP. I decided on Phone Power‘s $5/month special offer (I have a sneaking suspicion it’s going to go up after the first year, but we’ll see) for former Obitalk Google Voice users. Alas, Phone Power has the same problem as Vonage — they let you view on your web site how many minutes you’ve used toward your quota of free monthly international minutes, but they don’t have any sort of automated alerts when you’re approaching your limit.

So I went ahead and tweaked my old Vonage Selenium script to work with Phone Power instead. For anyone who might find them useful, I’ve posted them in this public gist.


Using Selenium to monitor your Vonage balance

Thursday, January 17th, 2013

UPDATE [2013-01-20]: The scripts weren’t reading the username and password from the config file properly. In fact, I had accidentally hard-coded my own Vonage username and password in this script. D’oh! Needless to say, I’ve changed my password, and the updated scripts below are fixed. Also, I updated the cron script to allow the usage of Xvfb to be conditional, so you can test the cron script on your desktop and watch it running by editing the script and setting the XVFB variable to “false”.

Until today, I’ve been paying Vonage a ridiculous amount of money (almost $400) for an annual plan with unlimited minutes. It turns out they’ve got a much cheaper monthly plan, something like $14 per month even after all the bogus surcharges, taxes and fees they tack on, with 300 outbound domestic minutes and 300 outbound international minutes, and unlimited inbound minutes. We rarely exceed either of those limits in a month, so the cheaper plan is a much better deal for us, so I switched to it earlier today.

However, we do exceed the domestic minutes limit in busy months, sometimes by quite a lot, and in those months I’d really like to know when we’re on track to exceed the limit, so we can take steps to avoid paying the 5¢ per minute overage charge, like using our cell phones (which have unlimited minutes) for more of our outbound calls.

Unfortunately, Vonage doesn’t provide any sort of account alerts feature which would notify us if we’re on track to exceed our limits, or at the very least if we get close to exceeding them at any point during the month. And I certainly don’t want to have to waste my time logging into the Vonage web site to check our usage!

Sai Charan solved this with a Python script, but I couldn’t use his script for two reasons: (1) it complained about a missing “libxmlmods” Python module, which I can’t figure out where to get; and (2) Vonage recently rolled out a new web site, and I’m not convinced his script works with the new site. Not only that, but the new site seems to depend on JavaScript being enabled to work properly, so I don’t think a simple screen-scraping script like Sai’s is going to work anymore (I tried writing a script like this using WWW::Mechanize in Perl, and couldn’t get it to work).

I therefore decided to automate this check using Selenium. Below are two scripts: a Perl script which does the actual fetching of data from the Vonage site, and a shell script which you can run out of cron to set up the necessary environment, run the Perl script, and then clean up after itself.


HOWTO: Prioritize Vonage (and other) traffic in Fedora (and other) Linux

Tuesday, October 19th, 2010

I use Vonage telephone service and Fedora Linux. My Fedora box is the router for my network.

Vonage recommends letting its box sit between the Internet and my computer, so that its traffic always gets priority. However, there’s no way I’m going to give Vonage control of Internet connection, so I have it plugged into my network, routing traffic through my Fedora box.

Unfortunately, this means that when something is generating a lot of outbound traffic, there isn’t enough outbound bandwidth for Vonage, so call quality is extremely poor.

With Linux Advanced Routing & Traffic Control (LARTC), it is possible to configure Linux to prioritize Vonage (or any other preferred application) higher than other outbound traffic. There’s lots of information on the Web about how to configure LARTC, but I found that most of it is either too dense and detailed or not detailed enough, and I couldn’t find any plug-and-play LARTC configuration tool for Fedora (it’s somewhat puzzling why such a thing hasn’t yet been written, given how long LARTC has been around for). With a little work, however, I managed to figure out how to do it. For the benefit of the others, I’m spelling it out step-by-step here with a level of detail I was unable to find elsewhere.


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

Tuesday, December 29th, 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.


How to lower your phone + internet cost from $80 per month to $50 per month: buy your own cable modem and kick Comcast to the curb

Monday, November 16th, 2009

Comcast was charging me $95 per month for internet and phone service.  That was too much.

I got them to lower it to $75 per month, but I had to pay extra for all non-local and long-distance calls.  That was still too much.

They raised the equipment charge for my cable modem from $3 to $5 per month.  That pissed me off, so I bought my own cable modem.

Not only that, but I decided it was time to send Comcast a message for being so slimy, so I switched to Vonage for phone service for $25 per month.  You would think that would have lowered my total cost, except that when I canceled my Comcast phone service, I was no longer eligible for the special “bundle” rate on internet service, so they jacked up my internet service to $60 per month.

That pissed me off even more, so when I called today to swap out Comcast’s cable modem for my own, I also told them to downgrade me to their $40 per month internet service.

Believe it or not, what you get for that ridiculously high price is a 1mbps internet connection.  Yes, you read that right, one megabit.

Fortunately, Comcast isn’t the only game in town.  RCN will sell me a 1.5mbps connection, 50% faster than Comcast’s, for $25 per month, i.e., 37% less.  That’s not even a promotional rate.  Or, if I feel like spending $5 more per month, I can get a 10mbps connection, i.e., ten times as fast as Comcast for 25% less.  And although that is a promotional rate, unlike Comcast, RCN will let me sign up for any new promotion that becomes available after my 12-month contract is up.  Heck, even Verizon charges only $20 per month, half of what Comcast charges, for a 1mbps DSL line!

I haven’t switched to RCN yet, but I’ll probably be doing it some day soon when I’m in just the right mood.

Below is the letter I just sent the CEO of Comcast explaining how they managed to lose an $80 per month revenue stream over a lousy $2 per month. (more…)