By way of a tweet from Aswath Rao (crediting @truvoip) today I learned that you could simply take your Google Voice number and append "@sip.voice.google.com" to get a perfectly working SIP URI that you could use with any SIP phone. I naturally tried it out with my own GV number using the SJphone SIP phone:
The call worked great. I answered it on one of my other phones and the conversation was fine - both audio streams intact, etc.
What's interesting to me here is that SJphone reports that the remote client is YATE, a.k.a. Yet Another Telephony Engine. Yate has been around for a while (the voip-info wiki has some history) but hasn't been as widely known as, say, Asterisk or FreeSwitch. I subsequently made several calls using the Blink softphone on my Mac and again could see in the SIP traces that YATE was receiving the call on the Google end.
Looking over at the Yate News page, I see this note with regard to the January 31, 2011, release 3.1 of Yate:
Yate client calls can use Google Voice service.
The Yate client is a soft client for both voice and IM and in looking at their tutorial on using the client with Google Voice it would appear that this is about using XMPP (Jabber) to connect from the client over to Google Voice (I'm guessing it is using Jingle, which has been supported for some time by Google Talk (which is different from Google Voice)).
So the Yate client support is really something different... but the key point here is that Google appears to have chosen Yate to use on the receiving end of SIP calls into a Google Voice number.
WHY A SIP ADDRESS MATTERS
For some of us who have had Google Voice numbers for quite some time (mine dates back to the pre-Google-acquisition GrandCentral days), it's always been a bit frustrating that the only way to call a GV number was through the good old PSTN. Particularly because the PSTN is so... well... limiting. When I've been building apps in Tropo or Voxeo's Evolution platform, I've wanted to route them to my GV number... and I have to do this via the PSTN side. No big deal on one level, but it's just inefficient. If the call is already all on the IP side, why not just keep it all IP!
As we're off building the future of communications over IP, I've wanted to include Google Voice into that mix.
Now we can!
At least... unofficially. Perhaps at some point Google will come out and formally promote this capability.
Once a GV account has a SIP address, we then have to wonder what else we will be able to do with it. Could I, for instance, use wideband audio to my GV number?
For that to work, of course, I'd need to be able to register a SIP device with my GV number, which I can't do... and is the other side of the frustration with Google Voice. (Or at least be able to give GV a SIP URI as one of the addresses to call when a call comes in.) But conceivably once that happens I would be able to receive wideband audio calls. Ditto making video calls...
The first step is getting a SIP address that is workable... we now seem to have that.
Kudos to Google to making this inbound SIP connectivity available... and I look forward to seeing what else they will do with regard to SIP.
Todd also points out a serious security issue (the guessability of 4-digit PINs) and points out another post of his raising excellent SIP interoperability questions.
Thanks, Todd, for finding that this functionality works and for writing about it!
If you found this post interesting or useful, please consider either: