With Googlevoice, outbound calls to the US and Canada are free. You can pay to make international calls, but there may be slightly cheaper rates elsewhere. Inbound are free and the telephone number supplied is free. You may or may not get a telephone number in the area code you want. In my case, I didn't care that the number was not local to me, so I got one where my Mom could call me for free because it was local to her and she didn't have a cellphone or long distance service. The Obi devuices are the only ones I know that interface with Googlevoice.
There are some providers other than Googlevoice who have free inbound and very reasonable outbound rates. Those providers also work with an Obi. One provider (Voip.Ms) we set up on my sisters unit has 7/10's of a cent rates to the UK and she doesn't mind paying like 30 cents for 45 minutes of calling.
If you want to keep your current telephone number, it may or may not be possible with Googlevoice. It certainly is possible with other providers, but then you may have to pay a slight charge per call to call out.
There are many options and you have to decide which is more important.