Saturday, August 28, 2010

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?

Tuesday, August 24, 2010

Why is Skype so successful as a corporate communication tool?

From my personal experience Skype is getting more and more presence as a non-official corporate tool providing advance communication capabilities.  According to the official reports 35 percent of Skype users utilize it for business purposes [1].
In my opinion the three more important features making Skype so attractive in those environments over other VoIP/Messaging tools are the following ones:
  • Unblockable communications: Some corporate networks try to restrict employees traffic making impossible to use other VoIP tools.  Skype is able to overcome that limitation encapsulating all the traffic under HTTP/HTTPS connections while maintaing a good enough voice quality.
  • Conferencing support: Skype was a pioneer offering voice conferencing support without additional equipment in the network.  That innovative solution allows free and easy to use conferencing support, being a feature commonly used in corporate environments to maintain the audio meetings with your colleagues.
  • Easy to use: Most of corporate employees are not interested in learning how to use and configure a complex software.  Skype makes a very good job offering a software working out of the box as expected with an appealing and intuitive user interface.
Are we watching the end of corporate PBX in favor of a great, proprietary and out-of-control software? Or will we be able to learn the lesson and make a competitive offer equally great but federated and standards based?