VoIP Rant

Why is trying to make a SIP call so ridiculously complicated?

Skype have it sorted. You download Skype, install it, register a nickname and you are ready to go. You can call anyone anywhere, assuming they are online, just by knowing their Skype ID.

With SIP, on the other hand, you need to register with one of a load of competing services, all of which have websites which are far keener on selling you WibbleOut and WibbleIn minutes than actually telling you how to configure and test your client. Despite a load of “SIP is open; Skype is closed” rhetoric, instructions are also sadly lacking on how you call people who have registered with one of their competitors.

And what about the state of softphones in Linux? I haven’t tried kphone, as it’s KDE and my desktop is Gnome, but linphone is a configuration disaster, and their website doesn’t tell you how to configure it for the most popular services – surely the one really useful bit of information it could possibly provide! Gnomemeeting is better, but the SIP version of that isn’t packaged for the latest Ubuntu. And, with all respect to Dan Glazman, the Wengo extension for Firefox gives you no clue whatsoever as to whether it’s logged on, correctly configured or working in any way. If you add contact called “gfdgfdgsdf”, it appears exactly the same in the contact list as one called “glazou”. Not a particularly useful way of telling if you’ve actually entered the right things into the right boxes.

And when you do try and configure e.g. linphone, you need usernames, ports, addresses, passwords, proxies, and so on. What on earth is the difference between a “SIP Identity” and a “SIP Proxy” in the linphone “Proxy/Registrar configuration box”? For that matter, what’s the difference between a proxy and a registrar? And why should I have to care?

Let’s say you’ve got as far as having a configuration you think might work. Where are the public echo services which let you find out? FreeWorldDialup has one, but Wengo doesn’t.

I want to fire up a client with a simple UI, enter a username (e.g. gerv@fwd.pulver.com) and a password, and be able to make calls to anyone else who has a SIP phone and whose username I know. All I need is a text box to type it into – no fake dial pads, DTMF or other POTS-holdover rubbish. I wouldn’t even mind paying a small subscription for the privilege. Why is it not that easy?

31 thoughts on “VoIP Rant

  1. Gerv, first, you could have waited for my private answer to your private email… I just got your message.

    Second, there is no visible difference between “glazou” and “gfdgfdgsdf” because “glazou” is not logged in…

    Third, this extension does not allow to use another SIP provider. It must be wengo. A future version – the standalone xulrunner-based one – will allow that.

  2. And the two icons on the left hand side of your session ID says if you’re connected or not. Red/green. Just hover over them, check the tooltip !

  3. By “latest” Ubuntu you mean 5.10? In 6.06, for which a beta was recently released, the description has changed from “H.323 compatible” to “H.323 and SIP compatible”, so that sounds like it’s what you want (but I haven’t tried it).

    Also note that the package name has changed from gnomemeeting to ekiga (I could remember that the program had a new name, but not what it was, so I had to go to http://www.gnomemeeting.org to look that up). Irritatingly there doesn’t seem to be a stub gnomemeeting package helping you make the transition — and even doing apt-cache search gnomemeeting doesn’t throw up ekiga.

  4. Daniel: This rant really wasn’t aimed at you – the Wengo extension was only one of the several things I tried. Sorry if it came across that way.

    I understand that the Firefox extension only allows you to use a Wengo account – but that shouldn’t, surely, stop you from calling people who use other SIP providers. Should it? If it does, that rather defeats the supposed advantage of a standards-based solution.

    Smylers: Yes, I mean the latest stable Ubuntu (5.10, Breezy). Things may well be better in Dapper.

  5. I understand that the Firefox extension only allows you to use a Wengo account – but that shouldn’t, surely, stop you from calling people who use other SIP providers. Should it? If it does, that rather defeats the supposed advantage of a standards-based solution.

    My only experience of SIP in ‘the real world’ is that the provider need to be peered with another SIP provider before it works, but that could just be the way the service I use is set up…

  6. I want to fire up a client with a simple UI, enter a username (e.g. gerv@fwd.pulver.com) and a password, and be able to make calls to anyone else who has a SIP phone and whose username I know. All I need is a text box to type it into – no fake dial pads, DTMF or other POTS-holdover rubbish. I wouldn’t even mind paying a small subscription for the privilege. Why is it not that easy?

    Not sure if they would suit you or not but, ave you seen Zap based on Gecko? I certainly tried it and it seemed to work reasonably well…

    There’s also Xten that works on linux – http://www.xten.com/index.php?menu=download

  7. Colin: Zap does work on Linux, although it’s still under development, it’s not an XPI yet and I couldn’t immediately see any “quick start” instructions. So I didn’t pursue that any further. If you know of good instructions, please let me know.

    Xten is not free software. If I was going to use non-free software, I’d be using Skype :-)

  8. Seems like Zap is just distributed as a zipped/tar-gzipped xulrunner package (not an extension XPI), which you basically just unarchive wherever, and then start the stub executable of. That’s the mini ‘zap’ file in the first level (/zap-0.2.2) of the archive, fwiw.
    You can also start, from the same folder, xulrunner/xulrunner –app application.ini.

    That should work, unless you meant something else by “quick start” instructions? Hope it helps regardless :-)

  9. All I need is a text box to type it into – no fake dial pads, DTMF or other POTS-holdover rubbish

    I have really never understood the obsession with fake dialpads. When are they ever useful?

  10. Re: VoIP Rant

    For sure VoIP should be easier and Skype is popular because they manage to create a simple VoIP application that works out of the box. An application should hide the underway complexity with a net and clear interface.

    So what about WengoPhoneNG?
    A pop

  11. one more reason to think about integrating SIP with thunderbird…? :) this would be a cool feature, and would make it a must have ;)

    well, I think that voice over IP should be a mozilla priority anyway, but I guess that’s a matter of human resources… if mozilla is aimed at making the web more open, voice over ip and instant messengers should be part of it, due to the fact that they are used even more tham email clients :)

    i keep hoping :)

  12. I have to agree in a way. I want to use the SIP protocol rather than the Skype protocol for obvious reasons, but SIP is currently un-user friendly in my opinion. GAIM was planning to support it, but that hasn’t happened. Google Talk plan to implement it (good) but it doesn’t run on Linux (bad). I think I’ll give ZAP a go, and OpenWengo, but I already know they won’t be as easy to just set-up and call a mate as Skype. I think the SIP world needs to hurry before we get Skype-Net (geddit? SkyNet? Ah I just don’t know how funny I am…)

  13. > Why is trying to make a SIP call so ridiculously complicated?

    Two words: telco committees.

  14. Just wanted to say that I couldn’t agree more, Gerv. It’s too complicated today as it is and I really want it to work just as you describe.

  15. disclaimer: I work for one of the biggest telecommunications manufacturers ; I’m working in the switching core of our IMS implementation, which is the basis for all future telecommunications (from the viewpoint of the big telco’s at least).

    The non-functional interoperation between different VoIP providers is indeed one of the biggest stumbleblocks of VoIP. If you can’t call your friend which is on a different provider (without peering agreements), on a non-compatible system (like MSN / Yahoo), or (even worse) on a ‘normal’ old telephone system, then your entire phone is worthless.

    Most people only look at the ‘free’ aspect of VoIP, but that’s only a very small part of the picture. In real life, you’ll need to call other networks too, so you’ll need peering agreements (often non-free) and gateways (always expensive). And the VoIP provider also needs a big staff to maintain it all. Only Skype seems to be able to hold its head above water, but that’s mostly due to the enormous amount of subscribers.

    Inter-operation between VoIP providers is actually a rather easy problem (using DNS, SRV, ENUM, …), but it’s the VoIP provider that needs to invest in them. Not the user, especially not with a complicated configuration.

    Oh, and Gerv: if you still have a regular old BT phone, you’re probably also using VoIP. But one without configuration. So it is possible ….

  16. Have you looked into Jingle on Jabber? It looks to be quite a bit simpler than SIP for VOIP use. Confederation is built right into it.

    There isn’t actually a final client for it yet besides GTalk though….

  17. I use a SIP client called Twinkle, it works pretty well. Too bad my headset microphone is broken.

    Unless there’s a firewall in the way, you can always call your friend by IP address/hostname. That was supposed to be the way sip would work, your dns server would point the way to your sip client, and your friends would be able to call you directly, without having to go through third party servers.

    Anyway, I know what it’s like looking for a good SIP client, especially on Linux. I had to look at a bunch before I found Twinkle. It’s not bad; it only gives you a fake dtmf pad in a separate dialog if you hit the button for it. It also shows you a log of recent activity, which I really like.

    Of course, I’m a little weird, because I’ve set up a personal Asterisk server which is really the only way to go. I can route a call to one of several voip providers to get to the PSTN (especially handy if you reguarly make international calls, just route the international calls to a provider local to the area you’re calling), or just use it as a proxy for a regular ip-to-ip sip call. It also records voicemail if I don’t pick up when someone calls, etc.

  18. I’ve looked into this a fair bit, and agree with your comments on SIP… I think Jingle on Jabber is a much nicer solution if you’re not a telecommunications person yourself. It’s an open standard that’s much simpler than SIP which makes it easier to implement, and there are open source libraries available that provide support, and it is Jabberish which is sensible and makes all the confederation work nicely. It addresses some of the technical issues that make people seem to like Skype (getting through firewalls etc) without having some of its headaches (proxying other people’s phone calls through your computer, a totally mad idea).

    The main issue is that the only current final-release program available with support is Google Talk, and its only available on Windows.

    Patches / Branches are available for Psi, Kopete and Gaim (although that one’s a bit more tricky to get working). See http://www.translate.org.za/blogs/david/archives/2006/01/27/T09_06_04/index.html for my blog on building Psi and Kopete on Fedora Core 4. Neither were too complex, and that was a few months ago.

    Unfortunately all of these patches/branches are languishing in we’ll-finish-that-at-an-undetermined-date mode, as the projects are busy doing other things and so on. Yet they all seemed to work reasonably well, a lot of the remaining work is cleanup and merging to the main branch etc.

    There are a number of proposals out there to do more work as part of Summer of Code, and I think it would be great if people participated:

    http://wiki.jabber.org/index.php/Summer_of_Code_2006#Jingle_Audio
    http://wiki.jabber.org/index.php/Summer_of_Code_2006#Jingle_Video
    http://wiki.kde.org/tiki-index.php?page=KDE%20Google%20SoC%202006%20ideas#id530479

    More details (including SIP and Asterisk interoperability) here:
    http://www.translate.org.za/blogs/david/archives/2006/05/10/T12_52_39/index.html

  19. Snark: sip:snark@ekiga.net is reasonable to find you. However, that’s not all the information that most of these programs ask for. That’s my point.

  20. I hate to promote a proprietary solution. But look at http://gizmoproject.com (I’m not affiliated with them). This is a SIP softphone done right. It looks and works like skype but uses a sipphone.com account. Just type in a name or click on your buddy list, that’s it. But you *can* call any SIP address if you know what you are doing. You can also take your account and log in using any hard/softphone using your sipphone account.
    They also provide a call-in call-out feature via sipphone. At the same time it is a jabber account, so you can be reached through jabber. It also interoperates with Google Talk, also I haven’t tested if voice call work.

  21. VoiP done right

    I have been experimenting with Voice over IP phone software, but none had worked so well (and without tweaking) that I could recommend it to friends and colleagues who are not computer geeks. I have found one now, amazingly enough it is a commercial so…

  22. Well, when you launch ekiga, it runs an assistant which asks a few questions, and presents you with the answers it thinks are correct… it can hardly just start and work as a browser would, to go on with the comparison I started, since it has to know how fat your pipes are and make sure you can be reached too, for example.

    Jingle is very interesting, since it makes use of an existing IM connection to negociate the media streams… but it will still have to go through firewalls at some point. And this is definitely not easy in general.

  23. One other person has mentioned this, but I’ll re-suggest it.

    Twinkle is by far the simplest to use SIP softphone I’ve come across.

    it works with pretty much everything (yes, even openwengo)

  24. Snark: The Jingle spec uses ‘transports’ to communicate different ways to connect. At least one option (URL below) uses ICE which is really about how to find a way through firewalls. It does this by sending a list of possible network sockets to connect to over the Jabber message, and attempting each of them in turn (and doesn’t wait for the full list of options before it attempts a connection) until one is found that works. It also supports STUN. See http://www.jabber.org/jeps/jep-0176.html for the details

  25. If you are interested in Jingle/Google Talk, try out our service at http://www.gtalk2voip.com/. Our gateway allows any Jingle complient client to call SIP phones/devices, make calls to PSTN and alot more. SIP phones (like Gizmo Project) can also call Google Talk users through our gateway just by placing calls like sip:SomeGTalkUserName@gtalk2voip.com (port 5060).
    I guess you will like it :-).

  26. But isn’t that still “the wrong thing”, Ruslan?

    I’d want my client to be able to understand (in your example) sip:SomeGTalkUserName@gtalk.com, or sip:j.smith@ekiga.net, and either communicate directly with gtalk or ekiga or whomever, or **transparently** use a gateway that you provide, without bothering me with the details, or expecting me to pick a different port number.

    Users should not have to look up a list of gateway names and mangle their friends’ SIP addresses to fit their service provider’s arbitrary setup.

    Either the client should forward all calls to the right network, based on the SIP address, or it should forward them to somewhere that automatically handles the forwarding (like a kind of proxy).

    That’s what I’d like, anyway.

  27. I have been using tringotel business line for the past few months. No major complaints about call quality.

    Lots of great features and very easy to customize. But, there is no way to set up multiple voicemail boxes. This is unfortunate because I have a partner. You can use an answering machine with multiple boxes instead, but all of the great Voip voicemail features (including. .wav messages to email) are lost. Lingo and vonage might have the same weakness.