Note: Google is set to make some changes to their Google Voice service in the next couple months. If it is past May 2014 (give or take) things may have changed and any details about the service may no longer be relevant.
What It Is
Google Voice(GV) is a service by Google that gives you a single contact point for all of your phones. When you sign up, you give GV all of the phone numbers you use, like your home number, your cell, your office, and Google gives you one number that will ring all of those phones at the same time when your GV number gets a call. It also works with texts if you select that option. It has some shortcomings though. The first is that it can only handle MMS messages (e.g. picture messages) with certain carriers. More importantly, it doesn’t integrate seamlessly with your cell phone.
How It Works
Here’s how the call forwarding works. Let’s say someone calls your GV number from their phone whose number is (555) 555-5555. Google now rings all of your phones but the incoming number isn’t (555) 555-5555; it is a number owned by Google, say (777)777-7777. Each number that calls you will show up with their own custom number but it won’t be the number of their actual phone. I assume Google reuses these numbers but for each incoming number-destination number combo the special Google number is unique and will stay the same with subsequent calls. The problem is you don’t know who is calling until you answer. You can actually have GV require the caller to say their name but it doesn’t show up on your cell screen. So what you have to do is add that number as a secondary number for that contact so you can know who is calling.
Worse is what happens if you need to dial out. If you’ve never received a call, and stored the special number for a contact, the only thing your cell phone can do is call from the cell itself. Now, however, the person you are calling will see the call coming from your cell phone when , presumably, the only number you’ve ever given them is your Google Voice number. If you want you can call your own cell number and Google will let you punch in the number to call. This makes sure they see the GV number but it sure isn’t convenient.
Texting works the same way with the same problems. Google added the ability to send GV texts (more seamlessly) to their Hangouts app but you have to be using your phone’s data connection. This probably isn’t a huge deal for most people, however, for me it sucks because I keep my data connection off (I have a pay by the minute plan with PTel because I don’t use my phone very much at all).
Using GV as a VOIP Provider
In its current incarnation GV uses a communications protocol called XMPP (also used by Facebook Chat and instant messaging clients). Google used this protocol to enable you to do things like make (and receive) phone calls (and texts), using your GV number, from inside GMail. This allowed you to make phone calls right from your desktop computer, over the internet.
Third parties also took advantage of it. I won’t go into a lot details but basically you could give your Google Voice info to a third-party and they would connect, through XMPP, to Google. When a call came in they could notify you. If you wanted to dial out you could do it through them. Again, all through an internet connection (e.g. your home wi-fi connection), without using any phone minutes! People even bought specialized devices that allowed them to use their GV number as their home number without having phone plan! (An internet plan was obviously necessary though).
Technically this was all against the Google terms of service so Google decided to re-implement the service without using XMPP.
Rolling GV into Hangouts
What I would like to see from this new combination is seamless integration with the phone. Ideally what would happen is, if you put a GV number in your Hangout settings, Hangouts would add alternate phone numbers for each of your contacts to your contacts app. Even better, Hangouts could store it behind the scenes somewhere so that it doesn’t clutter up your contacts. This way when a call comes in you can see who it is from, even if that person has never called your GV number before.
Obviously, this would also allow you to call or text the person and have them see your Google Voice number instead of the number of the cell phone. And you could do so just using their real number instead of the special Google assigned one. Bonus if Hangouts could get the special number for you even if you direct dial someone not in your contacts. If that doesn’t happen automatically, at the very least, there should be an easy way to tell Hangouts to give you the special number so you can store it yourself.
I don’t really care a lot about making VOIP calls myself but it wouldn’t be a bad thing to have that feature as well. The main thing though is we shouldn’t have to juggle a bunch of numbers for our contacts to make GV work the way it was intended.