Gmail phone calls from a technical perspective

This week we received good news from google including phone calling support from gmail.   This feature is far from perfect and we expected it to improve a lot yet (specially in voice quality and integration with gmail site), but it is interesting to try to figure out how it works and how is it integrated with the rest of google communications suite.

Gmail phone calls is a service to make outgoing voice calls from gmail website to international mobile and fixed telephone lines.  The charging and the caller id are integrated with google voice (GV) if available for that google account.

From a technical perspective these are VoIP calls from the web client to the server infrastructure terminating the calls in the telephony network.

Client technology
The client is suppose to be the same application they use for the previous gtalk voice and video feature (in fact I hadn't to install anything new to start making calls).   That software is a native browser plugin scriptable from the web page (details of technology behind previus voice and video calls in gmail)
With a quick traffic sniffing during a call we can see that they are using standard protocolos STUN and RTP and probably the existing XMPP infrastructure for signalling (we have seen some gtalk headers in some HTTP requests) using jingle for session establishment.
Regarding the media we have not investigated the codecs being used (although RTP packets size of 172 bytes in one of the calls could be a probe of G711 usage), but Google indicates that they are integrating GIPS technology ensuring high quality algorithms for media management (buffering, echo cancellation...).

Server technology
Taking into account that charging is integrated with GV, probably all the infrastructure to manage calls and termination to the PSTN is exactly the already existent GV infrastructure.

The only missing part here is the integration of the Gtalk XMPP based client application with the server infrastructure.  Knowing that GV includes SIP interfaces (you can connect with a SIP gizmo client and probably they are interconnecting with carriers with SIP) probably they have implemented just a typical XMPP to SIP gateway to translate XMPP jingle to SIP signalling and perhaps even transcoding voice when needed.

What can we expect in next versions of this feature? Some ideas:
  • Real integration in gmail interface (to call the sender when receiving an email or to call from the contacts view)
  • Integration of this feature in GTalk desktop application or a complete new desktop application to replace gtalk application that hasn't evolved a lot recently
  • Voice conferencing to add more participants to a call and mixing voip and PSTN participants
  • Official VOIP support in Android phones replacing existing PSTN dialer and adding support to voip calls to PSTN, voip calls to google contacts and maybe even voip calls to other providers
What are your predictions for the future of this feature?


Popular posts from this blog

Bandwidth Estimation in WebRTC (and the new Sender Side BWE)

Controlling bandwidth usage in WebRTC (and how googSuspendBelowMinBitrate works)

Using DSCP for WebRTC packet marking and prioritization