(This was a post in a thread elsewhere and several users suggest it get its own thread. So here it is.)





Google Voice has a very interesting system for outgoing calls on Android. Here's how it works.



Lets say your carrier number is (917) ATT-NUMB

Your GV number is (646) GVG-GVGV

You are trying to call you mom at (347) MOM-CALL



The first time you call a given number, the GV redirects the outgoing call to a specific number that belongs to Google, lets say (404) GOG-1234 and at the same time sends a small note to Google servers that says "heads up, barryspar is trying to call (347) MOM-CALL - forward this call please."



What happens is that mom sees an incoming call from (646) GVG-GVGV. However if I check my call logs on my carrier's site, it will show as a call to (404) GOG-1234, not to (347) MOM-CALL, since the Google number was the first step my call took and as far as the carrier is concerned, that's what they provided. (This is also why there are some complaints about "Hey my itemized bill shows these weird numbers that I never called."



Here's the cool part - both the app and Google's servers remember this, so the next time you call Mom it doesn't use any data. The GV app simply sends you call to (404) GOG-1234. Google sees an incoming call at (404) GOG-1234 from (917) ATT-NUMB and goes "Oh, that's barryspar calling (347) MOM-CALL again", and repeats the original forwarding action. So again mom sees a call from (646) GVG-GVGV.



OK, so what happens when I call my dad at (347) DAD-CALL? This time GV sends my call to different number in Google's reserved block, say (404) GOG-1235, with a little data packet that says "barryspar calling (347) DAD-CALL". So dad sees a call from me, my call log says I called dad, but my itemized carrier bill will show a call to (404) GOG-1235.



Next time I call dad I don't need a data connection, because Google already knows that a call from (917) ATT-NUMB to (404) GOG-1235 should be forwarded to (347) DAD-CALL.



So they dedicate a number per contact for you entire contact list, but only when you actually make the calls.



You're probably wondering "Whoa, so they have millions of phone numbers reserved just for this?!" Here's the cool part - they only need a thousand numbers or so - because they can reuse the same numbers for each distinct Google Account.



Lets say there some other guy, JohnDoe, whose carrier number is (987) TMO-NUMB, and he calls his wife at (654) MRS-JOHN. GV will send the call to (404) GOG-1234, the same number that for barryspar is used for his mom, and Google will set that an incoming call from (987) TMO-NUMB to (404) GOG-1234 should go to (654) MRS-JOHN, and will show JohnDoes GV number in the caller ID.



Someone else in JohnDoes' contacts will use (404) GOG-1235, etc.



I hope I explained it clearly. If not I'll try to clarify.







* EDIT: If you check your carrier's itemized call list you will see a bunch of wierd called numbers as described above - but you should see that each time you called a specific contact, the call went to the same wierd number. Every call to some other contact went to some other wierd number, but it will remain consistent per contact. This makes sense based on the explanation we gave.