Kamailio (OpenSER) v3.0.0 Release Notes

On January 11, 2010, Kamailio (OpenSER) 3.0.0 has been released – this is a special release, being first based on SIP Router core framework, thus it includes an astonishing number of improvements and new features.

Along with the thanks deserved by Kamailio development team, this time we have to credit and thank to development team of SIP Express Router (SER) for their contribution to SIP Router project. Because of that, you can run any module and use any core feature of SER with Kamailio 3.0.0. It’s worth mentioning for new users that SIP Router project was planned on November 2008, during Karlsruhe meeting, integration work started after releasing Kamailio 1.5.0 on March 2009. After 10 months, we are able to deliver the stable release, numbered 3.0.0 – it includes new features developed during this period and all the features of SER 2.1.

Given above, it is hard to list all the new features that Kamailio users get access to in 3.0.0, however, an attempt of summary:

  • asynchronous TCP – no longer performance penalty when dealing with heavy TCP SIP traffic
  • TCP tunnings – lot of new parameters to tune TCP connection attributes
  • TLS – a new architecture – TLS support is provided now by a module
  • SCTP – a new architecture and advanced implementation of SCTP transport layer, including multi-homing, statistics for SCTP, connection associations and auto-close, runtime re-configuration, management of attributes for retransmission at transport layer, connection reuse and tracking, black-listing at SCTP level
  • internal DNS caching system with auto black-listing
  • improvements to memory manager, timers and locking system
  • include file suport in config
  • define/ifdef/ifndef support in config file
  • new routing blocks: onsend_route – access the SIP request to be sent to network; event_route – event based triggered route
  • event route block executed once, at start up, useful to custom initialisations before SIP processing starts
  • string names for routes and flags
  • cfg parameters reload framework – get/set global and module parameters without restart
  • custom cfg parameters – define your cfg parameters and use them in routing blocks
  • library framework – shared code can be structured in library
  • 14 new modules. plus the fact you can run other over 50 SER specific modules
  • number portability system – connector module and daemon
  • RPC control interface
  • new XMLRPC implementation reusing the transport layer from core – TCP and TLS support, more scalable, handle XMLRPC requests in a special route of cfg file (e.g., you can auth by IP, reply from cfg, check XMLRPC message content)
  • auth identity – support for SIP Identity (RFC 4474)
  • command line interface application – sercmd
  • switch statement matches regular expressions
  • auto-optimization of routing blocks – operations with constant results are pre-compiled for speed
  • new script operators, extended AVPs (xavp) and select classes of script variables
  • connector to memcache server
  • topology hiding – hide addresses in contact, via and route headers
  • transaction management overhaul – redesign to avoid locking, asynchronous SIP message processing, refurbished retransmission timers
  • NAT traversal using kernel space for media relaying
  • fallback for big udp packets to tcp, tls or sctp

More details about what is new are collected in New in 3.0.x Wiki Page

Download:

You can download the tarball of the released sources at
http://www.kamailio.org/pub/kamailio/latest/src/

Binary packages for several distributions you can find at
http://www.kamailio.org/pub/kamailio/latest/bin/
http://www.kamailio.org/pub/kamailio/latest/packages/

Packages will be uploaded as soon as they are submitted.

Documentation:

Useful links:

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. Older versions will continue to use OpenSER name. Project site and SVN repository on SourceForge.net still use the old name OpenSER. Source code for release 3.0.0 is hosted on GIT repository at http://sip-router.org.