Skype is closed source. It uses propietary codecs and doesn’t play with anyone else! It also doesn’t run on FreeBSD running on an amd 64 processor.

SIP is an open protocol with quite a few clients. As it’s open it plays well with others and clients will even run on FreeBSD running on amd 64.

Given my preference for open source and open standards I should avoid skype, but that’s not as easy said as done. The simple fact is that skype “works” whereas the SIP clients I’ve tried have all had serious problems. The latest SIP client I tried was Gizmo. Everything seemed OK when installing, but then immeadiately there was a problem. Whatever username I tried to register failed! Even silly ones full of random numbers. Searching the web I came across the solution – you have to use at least 8 characters! why this simple restriction isn’t shown in the dialog box for registeration is a total mystery, not just to me but, given the comments I read, everyone else who has run across it.

Once I added enough characters it registered a new username. The lack of a directory to search hampers adding new contacts. The dialogs that are presented use labels for the text entry that aren’t helpful and seem to assume that you know a bit about how SIP works. Adding my other SIP account took a while and even then wouldn’t connect!

The other aspect of gizmo is that it seems to be confused about what it’s trying to be. It claims to be open source, but the source isn’t available and while it claims Linux compatibility there are only 2 packages available – both requiring a specific installer.

This is where skype really gets things right. It’s easy to register, has helpful messages and lots of help available. Finding people is easy with a helpful directory search option. It also seems more focussed on what it wants to be. Installing skype gives you a client that is primarily aimed at contacting other skype users, but also allows you to buy credit for calling other types of phones – gizmo seems more aimed at being a more general VoIP client.

Part of the problem seems to be SIP itself and how the various clients implement it. If I’m given a SIP “number” to contact I shouldn’t have to spend ages trying to figure out how exactly I dial it from my client. Nor should I have to know which network the number is provided by and thus what prefix I need to apply. The centralised nature of skype may not be something that we want (it really is a closed “silo” as many people have asid elsewhere on the web) but it bring tangible benefits to the end user, benefits that cannot be overlooked or ignored.

On my FreeBSD desktop I’ve been using linphone. I seem to have it all correctly setup and all the simple tests work fine, but for some reason all my attempts to call the desktop fail. There are no helpful error messages and no indication of the problem. I’m sure that it’s something simple, but no amount of hunting around the web has thrown light on the solution.

So I find myself forced to use Windows for VoIP, with skype being the primary choice due to it’s simplicity 🙁 Gizmo is still a new project and with luck it’ll evolve and become more useful.

Update: Thom suggested Shmoot, which I managed to get and run. 0.2 doesn’t run correctly and the svn version crashes when trying to make a call, but it does do everything else OK. The debugging it produces is also useful in finding errors.

Update: KPhone seems to work, but the interface is horrible.