We are big fans of Google Voice - it's easy-to-use, accessible, and best of all, free.
Here is one method we recommend on how to setup Google voice for use in Canada.
Step 1 - Pretend to be in the United States
To activate your Google account you need to be in the US. You have a few options here:
G oto the United states and use an internet connection at a cafe
Use a proxy, vnc, remote desktop to a computer in the US
Step 2 - Get a US Number
You need a US Number that you can receive a call on. There are a number of options:
The easiest is to buy a number from Skype $20~
Step 3 - Activate Google Voice
With both Part A and B in place, go to http://www.google.com/voice
You should be able to sign up since your "in the US"
Use your temporary number as your primary number and do the google voice activation.
You now have a Google voice US Number.
Step 4 - Use Google Voice in Canada
You can now go to http://www.google.com/voice and use all the Google voice services whether you are in the US or not.
Limitation here is the Android/iphone Google Voice app won't be able to "validate" your phone on your Canadian network. You can however use the web app without issue by going to http://www.google.com/voice on your Android or iphone handset.
You can now benefit from free VOICEMAIL, SMS AND CALLS North American wide anytime. Greedy telco operators beware!
Step 5 - Get a local Canadian Number to use with Google Voice
https://tellfi.com has started offering a paid Google Voice like service in Canada. Sign up and get your free local Canadian phone number.
Use thier options to forward the phone number to your Google voice number and turn off the voicemail option.
You can now use a Canadian local number to allow people to call you using Google Voice.
Thanks for reading. Questions or comments? Let me know if it worked for you in the comments below.