In the realm of free VoIP, Skype is king. With over 225 million downloads to date, the Luxembourg-based provider of Internet telephony can rightfully claim to be in control of the free VoIP market. Indeed, they have even risen to a position occupied by companies such as Xerox and Google: their product name has been verbed, and 'to Skype' has become an informal way of saying 'to call over the Internet'.
But this doesn't stop upstarts from challenging the throne of talk. Gizmo is one such upstart. Formed by Michael Robertson, creator of Linspire (the-OS-formerly-known-as-Lindows), and MP3.com, Gizmo is an attempt to provide a serious alternative to Skype's model of Internet-based communication. Robertson is also CEO and Founder of pay-for VoIP service SIPphone.com, which provides Gizmo's pay-for CallOut and CallIn features.
On the surface, the two products seem almost identical. Both provide users with free methods of talking with other users, and both provide fee-based methods of talking to non-users over the plain old telephone system. But both programs go about this in very different ways. This review will take a look at how the challenger stacks up against the incumbent, and sort out which program can more effectively walk the talk.
Under the Hood
While both Skype and Gizmo offer the ability to call anywhere in the world using a computer, they could not be more different when it comes to how this is actually accomplished. Skype uses its own proprietary system to connect and route calls, while Gizmo uses the open Session Initiation Protocol (SIP) standard. Both of these systems have their advantages and disadvantages.
Figure 1: The main interfaces for Skype and Gizmo.
(Click image to enlarge)
Skype's proprietary system is simple and straightforward. Skype may be set up anywhere on a network - even behind a NAT device - and it will be able to connect and communicate just fine. The proprietary nature of the system also brings with it shortcomings, too, and the potential exists for security flaws in such a standard that is not open to others to examine. This also means that Skype users cannot talk directly to users of different telephony protocols, such as H.323 and SIP, though this is offset by the fact that Skype's userbase is phenomenally large.
Skype's protocol works like this: Alice and Bob want to talk over the Internet. Both Alice and Bob go out and download Skype, and set it up on their computers. Using technology similar to that used in the Kazaa P2P file-sharing program, Skype goes out and locates supernodes on the network, which are computers of users who are not behind a firewall or NAT device. Skype then uses these supernodes to routes calls between Alice and Bob. This distributed method of routing calls allows Alice and Bob to speak to one another, even if one or both of them is behind a router or firewall.
Gizmo, by contrast, uses the SIP standard established by the IETF to initiate the communication session between hosts (the exact specification for this standard is open for all to see here). This has the benefit of being able to interact with other telephony clients running SIP (such as the open-source OpenWengo and the beta Jajah), although it also comes with the pitfall of not always being able to traverse a NAT network.
SIP works like this: Alice and Bob want to talk over the Internet, though Alice is using Gizmo and Bob is using another SIP-based program. Alice and Bob both open up their SIP programs and Alice calls Bob. In order to make the call, both of their computers create SIP endpoints, which begin the process of communicating with one another. The endpoints are then able to communicate with one another through proxies. Proxies are what allow Alice and Bob to set up calls without using the same SIP service, and are also responsible for additional features such as authentication and obtaining user location information.