January 29, 2025: Kamailio SIP Server v6.0.0 has been released – this is a major release, meaning that it is introducing a consistent number of new features as well as improvements to existing components. The increment of the first version number reflects several important updates, among them: multi-threaded option for UDP receiving, option for specifying a range of ports to listen to, support for expressions with variables for most of the module function parameters, internal libraries are directly linked to the core, support to use cmake to compile and install Kamailio.
Overview of new features in v6.0.0
(for more details see the wiki page or the commits ChangeLog)
Highlights
- option to turn on multi-threaded UDP receiving for all listen sockets
- per listen socket option to receive either in multi-process or multi-threaded mode
- most of the module functions have support for providing parameters with variables
- support to compile and install using CMake
- ability to listen on a range of ports on the same socket definition
- support for HTTP2 to http client module and ability to access HTTP response headers
- support for HTTP2 as server via nghttp2 module
- standalone IMS AKAv1-MD5 authentication support without HSS
- evaluation of template files with config variables
- ability to set authentication hashing algorithm (e.g., MD5, SHA-256) per SIP request
- internal libraries are directly linked to the core
- new variables and transformations
Summary Of New Features
- five new modules:
- ims_qos_npn – enhanced version of IMS QoS implementation
- nghttp2 – HTTP2 server module implementation
- presence_dfks – presence support for Device FeatureKey Synchronization
- pvtpl – evaluation of template files with config variables
- topos_htable – htable storage for topology stripping (topos) module
- new operators to delete htable items: string in and end-with
- client side implementation for overload control (RFC7339)
- db-connect on demand option for sqlops module
- per-destination flag for dispatcher to send keepalives
- ability to set authentication hashing algorithm per SIP request
- event route for asynchronous key-value processing (e.g., for async logging processing)
- support for as-feature-event in the presence server
- content of the DNS cache can be loaded from a file (i.e., work without a DNS server)
- PTR query support for IP operations
- Kafka module new parameters and improvements
- MSRP support to forward with path replacement
- sqlite improvements for concurrency
- support for national format in phonenum module
- many new variables to get the SDP media stream attributes
- variables to get escaped and punctuation characters
- subscribe operation functions for RTPEngine
- functions to forward in stateless mode with a single Via header
- flexibility to set the From/To-URI for Shared Call Appearance processing
- function to verify Identity with extra options for STIR/SHAKEN done with secsipid module
- rabbitmq option to start without connecting immediately
- new variables to get TCP active connection attributes via tcpops
- ability to execute a route block with modified SIP message without applying the changes permanently
- function to explode parameters string to xavp specifying the separators
- customizable code and reason text for locally generated timeout (408) response
- siptrace use of advertise address if set for trace mode 1 callbacks
- function to append only current branches to the stored transaction via tsilo
- event route for local requests engaged also for CANCEL
- uptime and private memory statistics exported to Prometheus
- support for tagging Prometheus exports
- tls config option to set the password for private key files
- new event route executed before modules initialization
- capability to specify CSeq for requests generated in config file via uac module
- functions and rpc commands to control registering/unregistering to remote registrar servers via uac module
- several new features in the kamcli tool
Project achievements during v6.0.0 development cycle
- the development of the project approaches 24 years of activity
- it is the 27th public major release in the history of project (SER project went out first with v0.8.x)
- the 13th edition of the conference Kamailio World, is scheduled for May 12-13, 2025, in Berlin, Germany
- presentations at several other events such as: Fosdem, OSMNT, Cluecon, FUSECOForum
- continuous development at high pace – the project has almost 39000 commits to the master branch (about 1800 commits done for v6.0.0 alone from more than 40 different contributors)
Downloading v6.0.0
You can download the tarball of the released sources at:
Binary packages for several distributions can be found at:
- https://www.kamailio.org/pub/kamailio/latest-6.0.x/bin/
- https://www.kamailio.org/pub/kamailio/latest-6.0.x/packages/
- https://www.kamailio.org/wikidocs/packages/debs
- https://www.kamailio.org/wikidocs/packages/rpms
Packages will be uploaded as soon as they are built by developers (Debian and Ubuntu debs as well as RPMs for Centos, RedHat, Fedora and OpenSUSE) or submitted by community for other operating systems.
A step by step installation tutorial is available at:
Documentation
- Modules’ documentation: https://www.kamailio.org/docs/modules/6.0.x/
- Cookbooks and more wiki docs: https://www.kamailio.org/wikidocs/
- Migration guide: https://www.kamailio.org/wiki/install/upgrade/5.8.x-to-6.0.0
- Alphabetic indexes: for modules’ functions, parameters and control commands
Useful links:
- Install and maintain Kamailio 6.0.x from GIT repository
- Commit ChangeLog for Kamailio 6.0.0
- Kamailio 5.8.x Release Notes – the previous major release
Many thanks to those contributing with code, helping testing or advocating the project!
We are looking forward to meeting many of you at events around the world (online or in person), and invite you to join the efforts to improve Kamailio!
Thanks for flying Kamailio!