Table of Contents

Kamailio

Kamailio is an Open Source SIP server, designed for high performance and scalability.

I wanted to use it in combination with Asterisk (which is not an unusual arrangement - Asterisk is god for defining dial plans, and Kamailio is good as a registration server, so a combination uses the strengths of both).

However, finding an introductory HOWTO on getting started with Kamailio seemed pretty difficult, so I started documenting how I got going with it. [Note: I never finished that documentation, mainly because finding out how to get Kamailio to do even basic things was so challenging.]

You can read about that further, if you want to.

The main point I want to make here, though, is that Kamailio must be one of the most unfriendly open source projects I have ever come across.

Firstly

This must be one of the most obscure and challenging applications to understand "what is it for and what does it do?", and yet there is no good explanation of why you should use it and where you should install it in your network (that I have managed to find so far).

I'm not saying it isn't a useful thing to have, and I'm certainly not saying that it doesn't do a good job; I'm just saying that compared to, for example, a web server or a web proxy (both of which it has functional similarities to, just based on SIP instead of HTTP), it's hard to find a readable explanation of why you should use it and how to implement it.

But "everybody knows what a web server is", you might think, so try a comparison with Asterisk instead. "Asterisk is a framework for building multi-protocol, real-time communications applications and solutions. Asterisk is to realtime voice and video applications as Apache is to web applications: the underlying platform."

One of those protocols is SIP - the language Kamailio speaks. Asterisk is a far more esoteric application than Apache is - not everyone wants to build and run their own telephone exchange, whereas far more people choose to host and run their own website using Apache.

But - and here's the difference with Kamailio - Asterisk makes it easy to understand why you might want it, how to deploy it into a network, and how to get started with it.

Even corosync and pacemaker, which I think qualify as "pretty damned obscure and take some getting your head round" have more accessible and comprehensible documentation about why you might want them and how you might use them than Kamailio does.

Secondly

The project seems to have a fundamental objection to providing the sort of helpful documentation to encourage newcomers to be able to install it and try it out, that is so common with most other open source projects I'm familiar with.

Examples of such are:

There are, of course, many more.

Finding documentation online about how to get Kamailio to do something simple, so you can get started with it, is near impossible.

What you can do, though, is part with €52 in exchange for a 354-page PDF which is the equivalent of the documentation which you would find free and online for most other open source projects. One of the biggest differences is that in those 354 pages which I paid for, I found 68 linguistic, typographical or technical errors, despite the authors stating that "we are not looking for another language review of the book, we paid a professional service for it when the book was written as well as a couple of native English community members reviewed it."

The fact that it is provided as a PDF also means that you have the choice of reading it on a (largish) computer screen or printing it out on dead tree, but you cannot use it on an eBook reader, because the fixed page size of a PDF makes the font, and the diagrams, unreadable.

Other projects generally use HTML for their documentation (see the sample list above), which works on any device.

Finally

The attitude around the project itself, and on the mailing list in particular, is like a cabal, where if you aren't an accepted member, and especially if you don't use the right words, you are shunned and rejected, sometimes quite unpleasantly.

The website clearly states that "a good understanding of SIP is critical to get faster familiar with Kamailio", however even if you do have a good understanding of SIP, you can expect to be told both "Forget about how you think that things works, because your are fully wrong on that" and "as is more than clear, that you don't have a f**k idea how things works on the SIP world" if you start asking questions on the mailing list.

Note: I am not commenting on this (hopefully) non-native-speaker's competence with English. I think the intended meaning and attitude come across perfectly well despite the grammatical errors, and those are what I am pointing out where the Kamailio community is concerned.

I have seen some reasonable people on the mailing list, but I'm not the only one who has been insulted for asking beginners' questions, and the general attitude seems to be that if you make the slightest slip-up in what you say, you'll be laughed at the first time, insulted the second time, and possibly thrown out (I didn't feel inclined to stay around long enough to find out) the third time.

Kamailio feels like a private club, where if you're in, it's probably lovely, but if you don't quite fit, you're not welcome.

In contrast, the mailing lists / forums for:

are some of the friendliest I've ever experienced (I've been using mailing lists / forums / newsgroups for 30 years), and are a model of politeness and helpfulness which the Kamailio project would do well to try to learn from.


Go up
Return to main index.