What are the internal workings of Google Voice?

2

I am new to Google Voice and am interested in how it works internally so I have few doubts about it.

  1. Is the Google Voice number itself a SIP number?
  2. How does Google Voice receive calls from any PSTN line or mobile internally and transfer to the user's directed phone?
  3. Does Google Voice have its own SIP server from where they generate different Google Voice numbers for users?

Hunt

Posted 2011-08-21T07:51:50.087

Reputation: 133

Answers

4

No numbers are inherently "SIP" numbers or any other type of numbers, they are just numbers. Numbers are handed out to VoIP providers and PSTN line providers alike from number vendors (such as 360 or Level 3, they do not generate the numbers themselves - though they can, however this doesn't mean they own the number, it will route only within their network if it is not routed through a number vendor). These number vendors control the routing of the numbers between other number vendors and the providers they provide backbone service for. This is typically where the transfer between PSTN and VoIP takes place, on something called an IP Backbone.

SIP is just one of many VoIP protocols. Google has its own SIP servers to handle the signaling for its service - its clients will need to sync with this server and signaling that creates a call is handled this way. These servers are called Session Border Controllers and are often accompanied by applications servers (for hosted voice, but integrated systems don't always require application servers). Their SBCs communicate with the servers of their number vendor in order to have the call routed properly (unless it is an in-network call, then it will never leave the VoIP provider's network).

Hopefully this image will help

Hopefully this image will help

MaQleod

Posted 2011-08-21T07:51:50.087

Reputation: 12 560

Ok , so if i want to implement a system like google voice then what i need a sip server and a SBC ? – Hunt – 2011-08-21T10:40:03.487

You would need an SBC and an account with a number vendor. That would get you your numbers and the inbound routing for those numbers to your SBC. You would need a contract with one or more number vendors and routing rules set up in the SBC for outbound calls to follow. You would need an SBC to communicate with your clients and you would likely need an application server to handle the functions for those clients (call forwarding, hunt groups, voice mail - much like a PBX). You would also need e911 registration capability as required by law in your coverage area. – MaQleod – 2011-08-21T10:48:46.517

So i need to convinces phone service providers and need to get a tie up so that they allow my SBC to cope up with them ? – Hunt – 2011-08-21T10:52:48.187

Well, no, you are the phone service provider, you just need access to their gatways for inbound and outbound calls to actually go anywhere. They'll provide you with the routes for outbound calls, you need to program them into your SBC. You provide them with the route(s) to your SBC(s) and they program that into their systems. They hand you numbers, you assign those to customers and you write the routing for those numbers in your SBC/Application server. When one of those numbers gets dialed, it hits the number vendor, they send it to your SBC, your SBC sends it to your customer. – MaQleod – 2011-08-21T10:58:21.260

okay thats pretty much informative help your are providing , so does these companies like Vodafone , AT&T etc do allow us to acess their gatways for inbound and outbound calls ? – Hunt – 2011-08-21T11:05:23.277

No, you will not access other companies' networks directly. Your only point of contact will be your vendor(s) for inbound and outbound calls, they will contact other vendors or companies as necessary for routing calls. Basically, you will receive inbound requests from only one source and you will send to various outbound sources depending on your routing rules (static, lowest cost, regional/international, etc), but outbound requests will only go to these intermediary vendors, not the final terminating company. – MaQleod – 2011-08-21T11:10:12.957

so who will be the vendors in this case ... the telecommunication providers ?? – Hunt – 2011-08-21T12:00:15.163

@Hunt, telecommunications provider? you mean ISP? They are completely different and not part of this at all. The vendors are companies like 360, Level 3, Global Crossing, etc. Level 3 is indeed a backbone carrier for ISPs, but that is completely unrelated. – MaQleod – 2011-08-21T17:34:30.670

Okay but i am bit confuse so can you give me an example that if i want to start implementing things that i have ask in my question then how would i proceed ? – Hunt – 2011-08-22T07:33:34.307

To be honest, this endeavor would take a seasoned crew of engineers and managers and a budget of well over $200,000 at least 6 months to sign contracts, purchase equipment, purchase licenses, install, configure and test the system. This is not a simple process. – MaQleod – 2011-08-22T07:39:42.157

Ohh thats a lots of money involved so rather i need to use some existing APIs or facilities , do you know any apart from google voice which meets the requirement ? – Hunt – 2011-08-22T08:23:33.843