The most straight forward is the Mobile Line 2 service. As the name says, you get another phone line (and number) on your existing mobile phone without affecting your carrier plans. All of these "virtual" phone services route calls via the Internet (VoIP) to be cost efficient. To use the service you need to download an application to your smart phone, which include many Java enabled phones. The cost is $9.99 per month plus less than $0.03 per minute. The cost is higher but comparable to a 2nd prepaid SIM card at low usage. There's no mention of International calls out of USA.
The better service seems to be TalkPlus. You can use smart phones including the iPhone, or dumb phones with just a browser. The cost is $9.99 per month with plenty of minutes included. International calls cost extra but cheap. You can get an international number too.
You can get a virtual phone number for free or very cheap. Incoming calls are easy. The problem is outgoing calls. There's no problem if your recipients take anonymous calls with blocked caller IDs, or you can call your recipients using any phones and ask them to call you back on your virtual number. For example, Skype out do not have outgoing caller IDs.
Google's GrandCentral is the exception. It's free for the moment but you have outgoing caller ID. The philosophy is to have a universal phone number to replace all your other numbers. But of course you can use this number as a 2nd mobile phone line. The added advantage is that you can use any phones when you have internet access. For mobile phones you just need a browser.
These mobile services all use your carrier's airtime for the duration of the call, and need a data plan for accessing the internet to setup the calls. For prepaid phones, the most expensive can be $0.25 per minute and a few cents per kilobytes. AT &T Cingular prepaid includes data plan, while Virgin phones typically weren't even internet capable. Typically a GrandCentral call uses less than $0.10 (prepaid) for data plus airtime.
Perhaps to limit free usage, you can only call somebody if you add it to the contact list first. This is a small deal but the funny thing is that you cannot add contacts at the mobile version of the site. Otherwise to call your contacts or return incoming calls via your mobile is simple, using one-click on the entry. My mobile phone works fine but one day I couldn't call anymore. I exchanged emails with Google support for a while but they couldn't solve the problem. My phone isn't too new or too smart or too old. It was on the compatible list of TalkPlus.
There is a little known service, or little thought of service that compliments any of the above services. You can call from any phone as if you are calling from your virtual number. You can setup calls using the internet, or via a toll free number. It's TalkPlus when you don't have or don't want to use your mobile phone. You can choose any phone number that you want your recipient to return your calls. It's GrandCentral when you can dial any number directly even with your cell phone.
It's the caller ID spoofing service such as Spooftel. It had been available for a couple of years now. You can just select your caller ID to your virtual number or any number you want. They don't have a mobile website so you may have to use the toll free access if you don't have a computer and internet. But you can always call somebody with a computer to connect the call for you. The cost is $0.10 per minute. Together with free GrandCentral, the combination is cheaper than the cheapest prepaid card. It's really pay as you go because the minutes do not expire.
The catch is, the bill to outlaw caller ID spoofing is at it's final stages, with the latest action last December. The bill is sort of agreed by all parties for a year now. Maybe there are as little as a few more months to go, or maybe a year. Maybe the cutoff date will be set further ahead to give some time for people to get ready.
ps I agree that carriers are trying to block the new VoIP services. When the mobile GrandCentral launched, it worked flawlessly. Then a couple of months ago I could access the mobile site but couldn't call. Now I can't even access the mobile site.
GC support didn't know what's the problem, and I haven't see any conspiracy theory yet. But I see good reason to block these services. When GC forward calls to your mobile, you can have the caller ID set to your GC number. If you add this number to your fav numbers, you have unlimited incoming calls for everybody calling your GC number.