Skype won't work as they cannot host Canadian phone numbers.
The VOIP solution you suggest is probably your best bet, it's the solution I am using, but I use Primus.
The VOIP solution you suggest is probably your best bet, it's the solution I am using, but I use Primus.