User Tools

Site Tools


This is an old revision of the document!

Kamailio SIP Server (SER) - New Features in Devel Version

Current devel version will be numbered 5.0.0 and it is planned to be released at the end of 2016.

Previous devel, current stable, version was 4.4.x (released on March, 2016), see what was new in that release at:

This is a draft of new features added in devel version, manually updated, thus not always synchronized with what is new in source code repository.

New Modules


New in Old Modules


  • ability to execute routing blocks written directly in Lua


  • ability to execute routing blocks written directly in Python


  • added option to use SHA-256 encryption algorithm for digest authentication
  • add an option to include an Authentication-Info header in the response to a successful authentication


  • new config variable replace_query
    • Tells if the ODBC replace query is supported by the DB odbc driver
    • Just like insert, but update the row if it exists otherwise insert


  • new rpc function: dlg.terminate_dlg
    • terminates a singe dialog, identified by a Call-ID.
    • terminates an ongoing dialog by sending BYE in both directions


  • single digit is now valid in function enum_query
    • is_e164() returns true for a single digit (previously two digits)


  • support for tagging connections and select for sending based on tag
    • evapi_set_tag(tname)
    • evapi_multicast(data, tag)
    • evapi_async_multicast(data, tag)
    • evapi_unicast(data, tag)
    • evapi_async_unicast(data, tag)


  • new core stats
    • RPC request: stats.get_statistics all
    • requests by method
      • core:rcv_requests_invite
      • core:rcv_requests_cancel
      • core:rcv_requests_ack
      • core:rcv_requests_bye
      • core:rcv_requests_info
      • core:rcv_requests_register
      • core:rcv_requests_subscribe
      • core:rcv_requests_notify
      • core:rcv_requests_message
      • core:rcv_requests_options
      • core:rcv_requests_prack
      • core:rcv_requests_update
      • core:rcv_requests_refer
      • core:rcv_requests_publish
    • replies by status code
      • core:rcv_replies_1xx
      • core:rcv_replies_18x
      • core:rcv_replies_2xx
      • core:rcv_replies_3xx
      • core:rcv_replies_4xx
      • core:rcv_replies_401
      • core:rcv_replies_404
      • core:rcv_replies_407
      • core:rcv_replies_480
      • core:rcv_replies_486
      • core:rcv_replies_5xx
      • core:rcv_replies_6xx


  • added parameters to control connect and command timeouts
    • connect_timeout (int)
    • cmd_timeout (int)


  • new module parameter `force_delete`
    • disabled by default
    • enabling this parameter will delete expired presentity records without updating watchers (no NOTIFY)
  • new module parameter `retrieve_order_by`
    • default value is “priority”
    • Used to set the order-by of the db query for fetching the presence records


  • new function pv_evalx(dst, fmt)
    • The fmt string is evaluated twice for exiting variables, the result is stored in dst variable.


  • Add expiry value to the xavp.
    • handy if Kamailio for some reason changes the expiry value (min, max or variations caused by expiry_range)


  • new 'unidirectional' flag in Sipwise rtpengine
    • allows kernelization of one-way streams


  • new module parameters:
    • onhold_bflag, skip parsing sdp and controls on-hold detection by bflag
    • server_address, force Contact header address in NOTIFY replies
  • sca_call_info_update(): new to/from parameters
    • skips parsing message for To/From header values


  • new config variable $sdp(body)
    • returns the sdp body as raw string

New in Core

  • print tos value if socket option for it cannot be set
  • skip unusable network interfaces
    • no IP addr associated
    • address family AF_PACKET


A new framework (named kemi - kamailio embedded interface) was added, allowing to writing routing blocks in embedded languages such as Lua or Python:


  • log_prefix_mode
    • If set to 1, then the log prefix is evaluated before/after each config action
    • needs to be set when the log_prefix has variables that are different based on the context of config execution
      • e.g., $cfg(line))
  • latency_cfg_log
    • Log message with the duration of executing request route or reply route is printed to syslog
  • mcast
    • Specify interface to join multicast group for multicast listen address


Memory Managers






features/new-in-devel.1476086821.txt.gz · Last modified: 2016/10/10 10:07 by timmo