Quick test of 5 FOSS Linux SIP-softphones inside NAT

I want to call other computers in a open standardsbased way from WITHIN NATed networks and from anywhere. I’m researching this for my employer. It is important for us that our infrastructure is based on open standards, and secondly on free software.

Why this test?

Skype works in Linux, but it’s a very scary program with it’s own proprietary network. We can’t support that. Right now we’re using it however, because it’s reliable and works. I want to switch, but it has been hard. So that is why I’m testing. It must also work on Windows, because here is people in the organization that uses that. (However, since it’s an open standard, they don’t need the same program).

This was going to be one of those really posts were I’m really frustrated that nothing will work. Then yesterday I did more research and tried out other soft-phones than Ekiga.

Test parameters

Setting up my two SIP-accounts was easy in all clients, so not worth mentioning.

  • Calling (I’m using ekiga’s echo test: 500@ekiga.net)
  • Getting a call (520@ekiga.net)
  • General feel/stabillity/etc.

I had pictures of all the programs while I used them, but I’ve lost the pictures, so I just found some random ones on the web

So, here it goes:

Ekiga

Calling

It doesn’t work. Sadly I’ve been using hours and hours on my time on Ekiga. I thought it was the best soft-phone available.

I tried the Ekiga I got in Ubuntu Intrepid 8.10, didn’t work. So I installed the 3.0.1 version. Well, didn’t work.

Ekiga doesn’t work inside NAT, hence useless

Yate client

Calling

Doesn’t work.

I fiddled around a bit with this, found out it was trying to use /dev/dsp (what the fuck!?). I installed yate-alsa. No avail. Didn’t work, it still wanted to use OSS. So I killed PulseAudio, letting yate-gtk2 get /dev/dsp. And…

It worked!

Strangely, it seems to work with ALSA (thus PulseAudio) now. No. I put on some music, doesn’t work:

Unable to open /dev/dsp: Device or resource busy

Getting a call

It doesn’t notify me in any way. No sound, nor no notification, and no popup. Notification + sound would be the best option.

So, it doesn’t really work

But it can receive the call, and everything works (if I know the call is coming and have the client up).

General feel/stabillity

Yate-gtk2 is unusable as long as it can’t use ALSA. Also, it’s blue and ugly. That doesn’t really count high, but if there are options that work as well, it’ll be a downside with yate-gtk2.

However, YATE itself is a SIP-server, so maybe this is something I could put on my server to become part of our phone infrastructure.

Linphone

Calling

I thought it worked. But no. It can do all the hard bits, but actually sending my voice over the wire? No go. Video does not work.

Doesn’t work

General feel/stabillity

Linphone doesn’t have a very nice user interface. It looks OK in the screenshot, but configuration is a nightmare.

Empathy

Calling

It works!

Telepathy rocks! I had to install telepathy-sofiasip extra in order to get SIP, but after that it was super easy.

Video does not work. It shows up, however, if I press «send video» it hangs and drops the call.

Receiving a call

This is a truly sad story. It doesn’t work. Empathy give me a popup and flashes the tray icon when I get a call, but I’m unable to press «accept» because the windows disappears when I look at it. Or when I move my mouse towards it.

So, empathy is still unusable

General feel/stabillity

Stability is truly horrifying bad.

But. This is really the best project, they do everything correct. It is extremely smart to fork off all the networking and sending code to telepathy, so that it can be used by the whole system in a smart way. I love what they’re doing here. And I was amazed at the simplicity of Empathy, and that Telepathy in the bottom did such a great job.

I’ve big hopes for Telepathy, I hope it becomes a truly integrated part of my Ubuntu desktop.

Too bad there are still issues. (It would be nice if Pidgin could use Telepathy and get SIP-support).

QuteCom

(What!? I found my old picture using Google Images, someone else copied it and mirrored it on their site)

Calling

It works!

Video doesn’t work. It can only use h261, and spits out these error messages:

(warn) 10:53:13 [Common] virtual CodecList::VideoCodec PhApiWrapper::getVideoCodecUsed(int): unknown codec=31 H261/90000/1

Strangely, video worked yesterday. I tried removing H261 and using another video codec, but can’t do it yet. Hmm. In the screenshot I’m calling my Norwegian cellphone, it’s working! Yay!

Getting a call

This is how I like it. Ok, it doesn’t use the standard notification system (libnotify), but YES! Sound+notification where I can choose either «answer» or «hangup». Very well done!

This is actually usable.

General feel/stabillity

It uses Qt, but is actually rather nice. Not as nice as a integrated Gnome app would be, but still nice. It also has more features that the others (as far as I’ve seen). It uses libpurple to do everything Pidgin can do, so you can use it for Jabber/XMPP and MSN etc (if you use such unfree networks). That may be a plus for a few, though I prefer Pidgin that looks much better and fits nicely into my desktop.

So the winner is

QuteCom. By far. I will switch to Empathy when that time comes when it’s rocking. However, I guess the Windows-folks can use QuteCom, and also, many of my coworkers who use Linux without being really into it. It looks more like Skype.

If I can set up an XMPP server with LDAP, I can let all of them get XMPP-addresses, that would be hip, because then I could chat with them (I refuse to use MSN) and they could use it to chat inside QuteCom (or better yet Empathy when it’s ready). I’m also thinking about setting up our own SIP-server.

Proxy, our own STUN-server or anything else

I tried finding easy information to help set up a proxy. We’ve got loads of servers that can be used to proxy phone calls to help the NAT-problem, but I couldn’t really find any solutions.

But anyway, now I can start testing SIP inside the organization. Then maybe we can move away from Skype, and move to QuteCom. I look forward to it.

4 thoughts on “Quick test of 5 FOSS Linux SIP-softphones inside NAT”

  1. If the MPAA doesn’t hunt you down for piracy, the FCC will hunt you down for nudity. :p (Not in the US? No worries, US laws apply everywhere, you know.)

  2. I’ve been using ekiga with great success for the last year. I have an asterisk server behind a firewall in a datacenter that I connect to from work, home, or on the road. The protocol SIP in general doesn’t like firewalls, and there is some tinkering that needs to be done (on both ends) for any SIP compliant connection through a firewall. A lot will depend on the server side configuration.

    Good luck! -theron

  3. I too researched the SIP softphone solutions under Linux (namely Ubuntu). We have a SIP server at our office (Trixbox). I found 3 really stable solutions – QuteCom, Sflphone (Open source soft phone – http://www.sflphone.org – really like this one – simple, lightweight and efficient), and the free but not open source Zoiper softphone – not Communicator-that one doesnt really work well at all – i think this was the most stable of them all – and it has Linux, Windows and Mac versions available. Doesnt really like pulseaudio, but with ALSA its perfect. The thing i really liked about zoiper is that it did not require any setup – just 1 executable, working out of the box.

  4. Hi

    It surprises me what you’ve experienced. We frequently use Linphone and it is very good. It doesn’t bother if it’s behind a NAT or something. I can issue and recieve calls. No problem. I connect it to my own Asterix server (which routes the rpts – ok – I’ll change this soon.) The version 2.xx has some issues with later cameras (what you’ve experienced) – i.e for my netbook I had to install a 3.0 version from PPT.

    For any SIP client to work behind NAT you should – configure a STUN server, such as stun.ekiga.net – not configure rtp udp ports different on each side (just leave them as the are)

    I always do tests with various sip clients (today Empathy vs. Linphone vs. Ekiga through Asterisk) Feel free to contact me. Have Fun

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Notify me of followup comments via e-mail. You can also subscribe without commenting.