When I went down to San Francisco this time, the first thing I did was setting up Google Voice. There are some other nice features of Google Voice, such as a US phone number, a voice mail box with transcribing service, play back voice mail in gmail, etc, but the crown jewel is Google Voice Callback. With a Google voice number and using Google Voice Callback, now I can make free long distance call to any US and Canada number directly from my Canadian cell phone.
The setup is a bit long, but there are many guides out there teach you how to set it up and they are easy to fllow. First you need a US IP address to get a Google Voice phone number. There is a loop hole in Google Voice that it recognize 403 (area code of Calgary) as a US number. The next step is setting up a free 403 number with Free Phone Line. Since Alberta has introduced a new area code 587, it takes many tries to get a 403 phone number. Be patient, keep trying and eventually you will come across one. Once I have a 403 number, I can forward it to any Canada phone number. The final step is verify and link up the 403 number in Google Voice. Now the whole set up is done.
Google Voice Callback is an Android application that use data network to initiate the call, it will only use a few kilo-bytes per call. The app tells the Google Voice server what phone number you would like to call, then Google Voice complete the call by calling both the 403 number, which is forwarded to my cell, and the destination number. Since I have unlimited incoming minutes, using Google Voice to make long distance calls are essentially free.
I also set up a Toronto 647 phone number as well, so my parents can call my cell phone directly without paying long distance charge. Looking at the standard long distance charge from Rogers, it is really a rip off, comparing to the free offering from Google.