Favourite VoIP features

Previously I described how I implemented VoIP for our home phone. It’s pretty easy. If you’re comfortable setting up a wireless router, you can set up VoIP.

We’ve been on VoIP for a month now (using voip.ms as our provider) and really love the service. Here are our favourite features:

  • CHEAP – $0.99 – $1.99 per phone number per month, then a penny a minute for any call. If you want to be able to dial 911 from your phone, that’s an extra $1.50 / month. Our phone bill has dropped from $45 / month to $8 / month.
  • works like a traditional home phone – if you get an ATA (analog telephone adaptor), you plug in your home phone and it works and feels just like a regular phone.
  • call quality is excellent – VoIP bandwidth is about 100 Kb / sec. If you have a decent high speed internet connection, call quality won’t degrade even if you’re streaming Netflix at the same time.
  • voice mail, call display are free
  • emails your voice mail messages – this is probably our favourite feature. No need to ever “check your voice mail”. The system will email your voice mail as an attachment (.wav file), and you can listen to it directly from email.
  • make phone calls from anywhere in the world (with an internet connection) – Very useful feature if you’re travelling. Need to call home, family, friends, school, etc while travelling? No problem. Still only a penny a minute.
  • no such thing as “long distance” – all calls cost the same (a few remote areas / countries cost a bit more)
  • any phone number or additional phone numbers in cities across Canada / US are just $0.99 – $1.99. This is really useful if you have cheap friends or relatives who refuse to call you because of long distance charges. Get another phone number in their city (for 99 cents / month), and it’s a local call for them. Your home phone can be connected to any number of phone numbers.
  • can usually keep your number from Rogers / Telus / Shaw / Bell / etc. and move it over to your internet phone provider. This is called “porting”. It took 6 business days to move my number over from Shaw to voip.ms. Cost is a reasonable $10.

If you have any questions about VoIP or are considering it, feel free to ask.


An inexpensive home phone in 30 minutes using VoIP

I’m one of those old fashioned people who still have a home phone. Most people I know, say 35 or younger, who live in bigger cities have done away with a home phone, and go mobile phone only. My wife and I have decided to keep a home phone for a couple reasons:

  • we don’t live in a big city, and mobile phone reception is spotty around our house
  • we’re on inexpensive pay-as-you-go mobile phone plans, so we use our mobile data and phone time as little as possible

Home phone service typically costs $30-50 / month, depending on features and long distance. These days, this seems incredibly expensive for what you get. I discovered there is another way. Starting at $0.99 / month, you can have your own home phone number using VoIP. It works exactly like your existing phone, with your existing phone.

I followed the lead of Michel Renaud and Carsten Knoch. Both have excellent posts giving a general overview of using VoIP and making their VoIP provider choice (voip.ms). I chose voip.ms for my provider as well. They receive excellent reviews and are based in Montreal. Here’s how I set up VoIP in 30 minutes.

VoIP in 30 minutes:

  1. Create a voip.ms account. It’s free.
  2. Put some money into the account. Minimum is $25.
  3. Buy a new phone number through voip.ms. They have phone numbers (aka DIDs) for most major cities in Canada and the US. You can pick a phone number in any city.
  4. Install “softphone” software to test it out. A softphone is software you install on your computer, tablet, or smartphone that allows you to make VoIP phone calls. On my iPhone I installed “Join”. It’s not perfect; the interface isn’t the best, but it’s free.
  5. Try making and receiving some phone calls. At this point you have a fully functional VoIP setup. You can make / receive phone calls anywhere you have an internet connection. Excellent for calling friends / family when travelling!

Getting serious.

Once you’ve played with the service and are happy with it, you can switch your home phone over to VoIP as well.

  1. Buy an ATA (Analog Telephone Adaptor). This is a little device that connects your regular home phone to your router. I bought the Grandstream 702 from Amazon. It’s about $40.
  2. Connect the ATA to your router, and your home phone to the ATA. Configure the ATA according to voip.ms’ excellent wiki.
  3. Use your home phone to make / receive calls with your VoIP phone number.

If you’re still happy with the call quality and service, you can go all in:

  1. Request a “port” (move) of your existing home phone number to voip.ms. This typically takes about a week to happen.
  2. Cancel your regular home phone service and enjoy the excellent features and low prices VoIP has to offer.

In the next post, I’ll review some of the best features of VoIP and why it has a high WAF (wife approval factor).

One of the best features of Virtual Box: Bridged Networking

One of my most used tools is Oracle’s Virtual Box. I’m a virtual machine addict. I use a dedicated virtual machine for every new client or project. It’s so nice to have a self contained environment that doesn’t interfere with other projects, software versions, or dependencies. It’s also easier to bring on another developer to the project. Give them a copy of the VM image, and they’re up and running.

In a typical web application development environment, the web server, application server, and database server are all running within the same VM. I develop and test locally, completely self contained. When I’m ready to show others ( another developer, QA, or the client ), I typically deploy the app to a publicly accessible demo or test environment.

This process works fine in most cases, but occasionally I find it useful to test, demo, or have another person use the application served directly off my virtual machine development environment. Maybe I have something that’s experimental that I don’t want to deploy yet. Or maybe I need to test with Internet Explorer which doesn’t run in my usual development environment (Ubuntu Linux).

In these cases, it’s really helpful to have the virtual machine be accessible by other machines on the network (either another VM, or another computer).

The default network setting for a virtual machine in Virtual Box is “NAT”. This essentially treats your host computer like a router, and the VM is “hidden” from the local network. (There are limited ways around this, but it involves port forwarding setups). Other computers on the network can’t directly access any servers or services running on the virtual machine.

Default Network Settings

Digging into the Virtual Box’s documentation (which is pretty good btw), I found a network setting that solves my problem. See the screenshot below:

Virtual Box Network Settings

If you change the network setting of the VM to “Bridged Adaptor”, the VM actually becomes just another computer on your local network. This means it will obtain an IP from your DHCP router just like all other devices, and its services (like a web server) are now accessible by all other machines on the local network. Awesome!

Bridged Network Settings

There are a couple limitations. Virtual Box accomplishes this trick by using “promiscuous” mode of your host computer’s network interface card. There are certain cases (involving WIFI) where this doesn’t work. See the documentation for details. In most cases though, you’re good to go.

To make this network setting change, the VM must be stopped. You can verify it worked by looking at the DHCP client list of your router. It will list your VM there with its own assigned IP address. Woohoo!