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.
Setting up my two SIP-accounts was easy in all clients, so not worth mentioning.
- Calling (I’m using ekiga’s echo test: firstname.lastname@example.org)
- Getting a call (email@example.com)
- 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:
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
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…
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).
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.
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.
Linphone doesn’t have a very nice user interface. It looks OK in the screenshot, but configuration is a nightmare.
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
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).
(What!? I found my old picture using Google Images, someone else copied it and mirrored it on their site)
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.
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.