Wednesday, July 28, 2010

Two years Kamailio

On July 28, 2008, OpenSER project was renamed to Kamailio (email announcement), so here we are, two years later.

Being one of OpenSER co-founders and then leading Kamailio evolution after rename, I can say it was a hell of a time, with bad days in the beginning but fruitful and with happy end.

Soon after the fork, the developer that registered openser domain forked the project and redirected web site to its new toy (not to say he started (and is still) claiming that his new pet is openser -- well, check http://sourceforge.net/projects/openser/ - the OpenSER development portal hosted by SourceForge.net was created in May 2005 by myself, while the forked project hosted by same SourceForge.net is created in 2008, so no comment, you judge!).

Anyhow, so August 2008 found us in a complete mess. It was not only bad for our project, but a tough hit to Open Source telephony applications, the case being used by competition to suggest unreliability and high risk of using Open Source for major communication projects.

In such foggy time you cannot go in dirty fights, or at least is what I decided to do, I avoided answering stupid claims and statements -- would have been endless discussions, removing any kind of trust left.

Well, I did defend against some statements about members of Kamailio development team when were purely brainless attacks. As a matter of fact, the Kamailio development team was the real value.

OpenSER was at that time a good piece of software, could run for ages if you knew it to configure it properly. But the question was the future. With 5 out of 7 management people committed to continue with Kamailio, it was clear for me that it will succeed.

So, what to do in such time? How to go over a dirty fork? Calm down, focus on the future - even a kick in the back is a step forward - time will sort it out and reveal the truth.

Therefore we worked, worked worked - two years ago was a new beginning: new name (some didn't even like it then, changed opinion meanwhile), main web domain lost. What we achieved meanwhile? I would say not bad at all, see next:
The biggest thing for me was integration with SIP Express Router (SER) -- I was core developer of SER, involved from early days, until I joined efforts to create OpenSER (as a fork of SER). The two projects still shared lot of common code even after 3 years of different development paths, the target was still the same - flexible and rock solid SIP server. SER had lot of improvements to transport layers and performances, OpenSER had lot of extensions, therefore a combination of the two was natural and took us about 6 months to join the source code of the two projects.

Practically these days Kamailio and SER are the same application (it is same source code, hosted by http://sip-router.org) the difference is the database structure used to store phone profiles, routing info, a.s.o. This is possible by having many extensions for same purpose (e.g., user authentication). With the time, more extensions will be merged, for sake of easy development and maintenance.

At this time, Kamailio is a far better application than OpenSER 2008 - not based on cosmetic changes and buzz words, but real re-factoring where was needed. The devel team is very solid (we had three devel-dedicated face to face meetings since 2008) with broad experience (4 out of the 5 core developers of SER in 2002 are still active in project).

We know what we developed since 2001, we will continue to develop and offer the reference SIP server implementation out there - being it your choice of SER or Kamailio at this time.

Sunday, July 25, 2010

SL and AUTH modules merged

Finally I found the time to merge two important modules that existed in Kamailio (OpenSER) and SIP Express Router (SER):
  • sl - stateless reply functions
  • auth - common API for www digest authentication
Their importance is given by the usage from other modules. SL really required many other modules to be updated.

For both modules was not a simple code integration, but also addition of new features:
  • sl - ability to execute event_route[sl:filtered-ack] when an ACK to a SL reply is received
  • auth - refurbished pv_www_authenticate() and pv_proxy_authenticate()
For Kamailio (OpenSER) users, the new auth module brings many improvements in terms of security and performance, mainly related to one-time nonce and qop auth-int.

After this merge, several duplicated modules became easier to merge, targeting them before releasing 3.1.0. Stay tuned!

Thursday, July 22, 2010

GSoC2010 Update: Code in GIT repository

Happy to announce that our first participation to Google Summer of Code with Kamailio Project shows the results.

Marius-Ovidiu Bucur, our selected student, succeeded to blend properly his resources to take care of University exams, job and GSoC project.

He has just pushed the code for SIMPLE presence server for conference calls (RFC 4353 and RFC 4575) into public GIT repository, for now it resides in branch: mariusbucur/conference

It comes along with a testing suite, being the first implementation in an open source SIP server I am aware of, there are not many options of clients and media servers that can be used. However, this is how SIP Express Router (SER) and Kamailio (OpenSER) pushed forward many times SIP and VoIP market over the years -- bringing innovation, offering to others necessary framework to start implement by themselves new features or new services.

SIP is a client-server communication protocol, facing many times the chicken-egg problem (i.e., there is no client implementation supporting extension X because there is no server implementing X, which is not there because is no client...). We take pride of unlocking many such situations in the past (e.g., IPv6, TLS, SCTP).

In this particular case, the project started upon suggestion of our colleagues from SIP Communicator project, which has already implemented these specs from SIP client point of view. What is still missing is a media server (audio conference mixer) offering these features. Looking forward to Asterisk, FreeSwitch or SEMS.

Wednesday, July 21, 2010

Date of freezing for major release 3.1

After January 10 release of Kamailio 3.0, the first version that incorporates the two open SIP server project Kamailio (OpenSER) and SIP Express Router (SER) in one application, time has come to set the milestones for next major release: 3.1.

Date to freeze the code is set to two-three weeks from today. Then follows the testing period, usually one or one and a half month. All these result in release date for first part of autumn.

Benefiting from the work of a larger development team, over the last six months, the development branch introduced 9 brand new modules and important updates to core. Just to mention here:
  • interacting configuration file debugger
  • asynchronous TLS
  • raw UDP sockets
  • API for embedded Lua and Python
  • GeoIP API for configuration file
  • basic embedded HTTP and XCAP servers
You find more at:

Tuesday, July 6, 2010

Summary of Devel Meeting, Berlin 2010

Last Kamailio and SIP Express Router (SER) Developers’ Meeting took place in Berlin, June 8, 2010. Hosted by Fraunhofer FOKUS Institute, the event gathered 16 people, from core developers to users of the projects, as well as developers involved in related projects such as SEMS and OpenIMSCore.

Main topics discussed covered the evolution so far, new features in the development version, planning of next major release and future development.

A summary of the event was uploaded to wiki page: