Kamailio 5.3.0 release

kamailio

Kamailio 5.3.0 has been released!

Overview of new features in v5.3.0

I am really happy with the result of the Kamailio 5.3 release period. Our new major release 5.3.0 was released on 17th October 2019. In the last weeks there has been some unplanned challenges, mostly related to OpenSSL library incompatibilties with the Kamailio multi-process architecture.

I will write about this challenge which needed to be solved in our core in another blog post soon.

I am exited to see all this extensions which were contributed from many different individuals and companies in production soon. Our project has now over 30000 commits to the master branch. Over 1500 commits were done for 5.3.0 from more than 60 different individual contributors.

Highlights

  • new command line parameters to have more flexibility for orchestration when running in containerised or virtual environments
  • exporting functions to Kamailio Embedded Interpreter (KEMI) interface continued for more modules and a dedicated module was added to offer KEMI specific extensions
  • dynamic management (add/remove) of load balancer routes (dispatcher module) via RPC commands, allowing to control routes without reloading all the records from backend
  • support for haproxy protocol, enabling use of Kamailio behind TCP/HTTP load balancers offered by various cloud providers
  • a new module (rtp_media_server) that can be used to answer a call and play media/audio files from Kamailio
  • extensions for next generation emergency services – HELD (RFC6155) and LOST (RFC5222) location-based routing

Summary of new Features

  • six new modules:
    • app_lua_sr – old Lua API before introduction of KEMI
    • lost – HELD (RFC6155) and LOST (RFC5222) location-based routing
    • kemix – KEMI specific extensions
    • rtp_media_server – embedded RTP and media processing functionalities for Kamailio (like playing media or bridging in a B2BUA manner, includes support for different codecs, including Opus)
    • secfilter – filters to allow/block using whitelists/blacklist based on user agents, IP addresses, countries, domains and users
    • xhttp_prom – generates suitable metrics for a Prometheus monitoring platform, answering to Prometheus pull requests
  • ability to execute async routes with a millisecond accuracy
  • support for connect cost in the prepaid cnxcc engine
  • rpc commands in dialog module to get active dialogs based on various filters
  • options to loop the BYE requests generated by dialog module
  • rpc commands in dispatcher module to add/remove a single destination record
  • evrexec ability to execute an event route via rpc command
  • options for http client module to set the size limit of the result or retrieve the entire data
  • significant extensions to imc module, including new commands like #room or #add
  • many extensions added to IMS-related modules
  • option to retrieve an item from internal message queue (mqueue) via rpc command
  • several new variables in the pv module
    • formatted time with millisecond precision
    • received info attributes
    • transformation to count characters
  • new rpc commands for presence module for more flexible external control
  • options for siptrace module to track SIP traffic per message, transaction or dialog
  • options to set filters for lookup location to fetch contacts only with specific branch flags set
  • rtpengine module enhancements
    • new functions play_media() and stop_media()
    • new functions start_forwarding() and stop_forwarding()
    • support for trickle ICE SDP fragments
  • option to add Path parameter to redirect contacts
  • ability to get in config script the value of the local To-tag to be generated by Kamailio
  • ability to start sqlops module even when initial connection to database server fails
  • function in textops to extract tokens from string based on regex substitution rules
  • new variables to access attributes from TLS connections and certificates
  • several enhancements to work smooth with libssl 1.1.x
  • many new features in the uac module
    • support for HA1 passwords for remote registrations
    • ability to specify the local socket for remote registrations
    • replace From/To using dialog module with restart capability
  • new core parameters for more elasticity on containerised environments:
    • add domain aliases with –alias
    • set advertised address to listen sockets specificied with -l socket/advertise
    • set server id with –server-id
    • set a subst, substdef or substdefs preprocessor expression with –subst, –substdef or –substdefs
  • support for haproxy protocol – both the v1 (human-readable) and v2 (binary) versions of the protocol are supported
  • new options for matching accepted tcp connections to prevent duplicates due to IP-layer load balancers
  • improvements to track execution latency and deployments on IPv6
  • new subcommands in kamctl tool

Many more details can be found at the wiki page.

Download links and the installation guide can be found in the official release notes.

Enjoy the new release.

We can support you with the update of your infrastructure to Kamailio 5.3.0 - more information here.

Previous Post Next Post