Archive for March, 2010

Remarks about v3.0.x strong stability

March 31st, 2010

Here we are, more than two months and a half since v3.0.0 was released. Day by day the number of v3.0.x adoptions has increased substantially.

People looked at the work done during last year to integrate Kamailio (OpenSER) and SIP Express Router (SER), which was no doubt a visible big effort, and analyzed as well the list of new features. All together, plus propaganda of “some frienzi” saying that the SIP Router project will never succeed, kept some people a bit reticent to go ahead and deploy 3.0.x.

So from time to time, on projects’ public forums, new people ask about stability of 3.0.x. With this post I’ll try to demystify it and shed some light why 3.0.x is very stable.

Integration process

After releasing Kamailio 1.5.0 in March 2009, we started the work to bring Kamailio and SER using same source code tree. It was considered a huge task by many, but with the proper team it was feasible and finished in October 2009 (a bit more than 7 months). Add to this brand new features that were developed (e.g., memcache connector, number portability, topology hiding, …).

What you must understand here is that everything was carefully planned and coordinated. SIP Router project is not one man show, but big companies in communication world are involved, where project and product management follow standard procedures.

We started with a face to face meeting, in Karlsruhe, Germany, November 4, 2008. While preparing the 1.5 release, we sorted out how the integration is going to be done, the right people were set to handle the work to main components.

  • Andrei Pelinescu-Onciul – core integration – the one that started SIP Express Router (SER) project back in 2001, who developed the most of the core code (even in various forks, he still owns the most of the code after 5 years)
  • Jan Janak – DB API integration – core developer of SER, the designer and implementer of DB API v1 (used in ser 0.9.x, openser, kamailio and other forks) and DB API v2 (used in ser 2.0.0+ and sip router)
  • Daniel-Constantin Mierla – Kamailio (OpenSER) specific extensions (e.g., pseudo-variables, …) – co-founder Kamailio (OpenSER)

Moreover, it was not ad-hoc pushing of code to new repository. We analyzed component by component and selected the best, then we added what was missing from the other project, caring to be properly integrated. Nothing from scratch, so the code is very mature. Note that in 3.0.0, as opposite to 1.5.x or older, there is support for internal libraries, so we made use of that, the core of the application was slightly touched, missing parts from the other project got mostly as libraries.

The decision was to use the core of SIP Express Router (SER) and it was not a tough one:

  • most of core code even in Kamailio (OpenSER) still belonged to Andrei Pelinescu-Onciul (memory manager, locking system, config file interpreter, etc…)
  • during 2005 and 2008, Kamailio (OpenSER) focused to add new extensions rather than improve the core. Just few touches were done to core, e.g., timers, dns, tls in top of SER 0.9.x tcp, …
  • SER did an overhaul of the core starting with 2006, a new architecture of transport layers, e.g., sctp and tcp (supporting as well asynchronous tcp), tls support via module (no more need to recompile everything), better timers, memory mangers, locking systems, internal dns caching for failover and fast timeout to avoid blocking, global parameters value reload at runtime, and the list can continue

TM (transaction management) module was selected from SER being tight related to core. The other modules were updated to work with the new core, apart of three developers that left completely with the fork in 2008, the rest are still involved in this project, Juha Heinanen (developer of radius modules, lcr, domain, …), Klaus Darilion (enum,  tls and security, …), Henning Westerholt (carrierroute, number portability, cfg utils, …), Elena-Ramona Modroiu (xlog, pdt, htable, …), Andreas Granig (path), Jesus Rodriguez and Elias Baixas (seas).

From Kamailio (OpenSER) point of view, we got back the developers of some modules that were inherited in OpenSER from SER when forked in 2005: Miklos Tirpak (permissions, tm), Jiri Kuthan (acc, tm), Jan Janak (db modules, registrar, …), Nils Olhmeier (options, sanity) and Andrei Pelinescu-Onciul (tm, …).

Shortly, the team of SIP Router has real knowledge and the longest experience you can find out there regarding the SIP Express Router and forked projects.

Testing procedures

SIP Express Router (SER) was present at most of the SIPit events. Nils Olhmeier (developer of sipsak and sip forum testing suite) is well known for being the second most frequent participant at SIPit. That happened last year as well and it is one important source of stability for core and tm (as inherited from SER).

Several companies behind the developers of SIP Router project offer telecomunication services to millions of subscribers, routing billions of minutes per month. Others are in top ten of telco-grade vendors market, where one sold box must run seamless for years (of course, the price it is what it is). But none of these would be possible without large internal teams for testing.

In addition, the testing period for 3.0.0 was extended, longer than usual, spanning over 3 months. And it was not simple lab testing done within our group of open source project developers. We deployed on live systems.

voipuser.org and iptel.org are offering free service for VoIP calls during the past 8 years. They are tight related to Kamailio (OpenSER) and SIP Express Router (SER) projects.

voipuser.org has over 40 000 registered users and a good part of them very active, the incoming traffic being in the range of 20-30 SIP requests per second. This is real traffic in a open and free service, therefore imagine all kind of misconfigured or broken SIP phones connected – it is what I call testing, face the wild world.

Now, if you think that voipuser.org runs most of the modules (authentication, accounting, authorization, nat traversal, presence, …) and we did it with 3.0.0 code about 2 months before release, then you understand now why such stability is there.

As a matter of fact, no critical bug was reported for 3.0.x since its release, but in meanwhile we had crashes reported for openser 1.3.x (this does not even have the name kamailio, it is 2 years old, before trademark issue that made openser to be renamed to kamailio).

Conclusions

  • no doubt, SIP Router Project succeeded, Kamailio and SER are the same source code tree now, the differences come only in default config file and value of parameters
  • the results proved excellent and coordinated team work, showed a great bag of knowledge and strong development group
  • we work with facts, not with big mouths – using 3.0.x as SIP server ensures it does not crash every odd and even second like other forks
  • there are big companies directly involved in the project, it is not one man show
  • this SIP server project already offers support for asynchronous processing of SIP messages, asynchronous TCP, fast DNS and many features other similar projects can just dream at
  • offering a solid foundation right now, future releases will ensure to you continuity, stability and flexibility in building new communication services based on SIP
  • the architecture of the application was adapted to the new needs in SIP, to be able to handle large amount of traffic via TCP, TLS and SCTP for presence, instant messaging, secure and next generation communication services

VUC – Listen the SIP Router Project Podcast

March 20th, 2010

On March 19, 2010, starting at 16:00GMT, for more than 2 hours, VoIP User Conference was hosting a session about SIP Router Project and Kamailio 3.0.

You can listen to the podcast at:

The discussion was moderated by Randolph ‘Randy’ Resnick with participation of:

Do not forget the 24 hours Voipathlon, Friday next week, March 26, 2010:

Kamailio – SIP Router at GSoC 2010

March 19th, 2010

We are glad to announce that Kamailio – SIP Router has an application to Google Summer of Code 2010 accepted within SIP Communicator Organization.

More details will be published soon.

Meanwhile visit SIP Comm GSoC 2010 site:

http://www.sip-communicator.org/index.php/Development/Gsoc2010

http://www.sip-communicator.org/index.php/GSOC2010/Kamailio4575

Kamailio on VoIP Users Conference

March 15th, 2010

March 19, 2010, 16:00GMT (09:00 US Pacific, 17:00 Paris, Berlin), VoIP Users Conference is hosting a session about SIP Router project, including presentation of what is new in Kamailio (OpenSER) 3.0.0.

The voice conference will be coordinated by Daniel-Constantin Mierla, expecting other members of management and development teams to join.

See more details on the dedicated web page:

Kamailio v3.0.1 Released

March 8th, 2010

Kamailio v3.0.1 is out – a minor release including fixes in code and documentation since v3.0.0 – configuration file and database compatibility is preserved…

Kamailio (OpenSER) 3.0.1 is based on the latest version of GIT branch 3.0, therefore those running 3.0.0 are advised to upgrade.

Source tarballs are available at:

http://www.kamailio.org/pub/kamailio/3.0.1/src/

Detailed changelog:

http://www.kamailio.org/pub/kamailio/3.0.1/ChangeLog

Download via GIT:

# git clone –depth 1 git://git.sip-router.org/sip-router kamailio
# cd kamailio
# git checkout -b kamailio_3.0 origin/kamailio_3.0

Binaries and packages will be uploaded at:

http://www.kamailio.org/pub/kamailio/3.0.1/

Modules’ documentation:

http://www.kamailio.org/docs/modules/3.0.x/

What is new in 3.0.x release series is summarized in the announcement of v3.0.0:

http://www.kamailio.org/w/kamailio-openser-v3.0.0-release-notes/

Note: Kamailio is the new name of OpenSER project, name changed on July 28, 2008, due to trademark issues. First version under Kamailio name was 1.4.0. Source code for releases 3.0.0+ is hosted on GIT repository at http://sip-router.org. Older versions will continue to use OpenSER name. Project site and SVN repository on SourceForge.net still use the old name OpenSER.

New web site design

March 7th, 2010

Kamailio (OpenSER) web site has a new look. The natural choice was WordPress, allowing to create good looking template, publish web pages, blogs, news and straightforward integration with Web 2.0 technologies.

We hope the new portal offers more tools for clear navigation through project’s web resources and invite you to submit WordPress themes for better personalization and suggestions for improvements. Credits go to Elio Rojano for logo artwork.

Not all items are migrated yet, if you look for something you don’t find for now, go to the old web site.

We appreciate reporting broken links, missing pages or any other kind of mistakes.

Present and Future of SIP Routing, London

March 3rd, 2010

Present and Future of SIP Routing, London, UK, March 9, 2010 is dedicated event focused on Kamailio (OpenSER) and SIP Router projects

Main focus to present the last stable versions and what is new in development branch, with invited people from companies using SER-based applications to offer services and products for IP communication.

More details are posted at:

http://www.kamailio.org/w/present-and-future-of-sip-routing-2010-london/

Meet the project in March 2010

March 1st, 2010

Members of Kamailio (OpenSER) and SIP Router projects participate at several VoIP Events in March 2010. Drop an email to sr-dev@lists.sip-router.org

or registration@lists.sip-router.org

in case you want to meet at following events:

  • CeBIT 2010, Hannover, Germany, March 2-6 – you can meet Daniel-Constantin Mierla, Elena-Ramona Modroiu, Marcus Hunger and Carsten Bock from Kamailio Management Board
  • Social Networking Dinner, London, UK, March 9, tied to Present and Future of SIP Routing (London, UK, March 9, more details) and UC Expo (London, UK, March 10-11)
  • Social Networking Dinner, Berlin, Germany, March 25, tied to Kamailio SIP Router Masterclass

Stay tuned for more updates about Kamailio and SIP Router projects!