User Tools

Site Tools


features:new-in-5.0.x

This is an old revision of the document!


Kamailio SIP Server (SER) - New Features in v5.0.x

Previous 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 v5.0.x, manually updated, thus not always synchronized with what is new in source code repository.

New Modules

app_jsdt

ims_ocs

nsq

pua_rpc

rabbitmq

ss7ops

New in Old Modules

app_lua

  • ability to execute routing blocks written directly in Lua

app_python

  • ability to execute routing blocks written directly in Python

auth

  • 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

db_unixodbc

  • 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

dialog

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

enum

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

evapi

  • 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)

kex

  • 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

ndb_redis

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

presence

  • 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

pv

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

registrar

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

rtpengine

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

sca

  • new module parameters:
    • onhold_bflag, if bflag is set skips parsing SDP and sets onhold
    • server_address, force Contact header address in replies
  • sca_call_info_update(): new to/from URI parameters
    • skips parsing message for To/From header values and uses URI values from parameters

sdpops

  • new config variable $sdp(body)
    • returns the sdp body as raw string
  • new optional parameter to sdp_remove_line_by_prefix script function
    • sdp_remove_line_by_prefix(string [, mtype])
    • mtype can be provided to apply the operations only to the streams matching m=mtype

siputils

  • new pseudo variables
    • $pcv(orig) - returns orig-ioi from P-Charging-Vector header
    • $pcv(term) - returns term-ioi from P-Charging-Vector header

websocket

  • added $ws_conid pseudo variable
    • gives id of closed connection in websocket:closed event route

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

Interpreter

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

Parameters

  • 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

Functions

Memory Managers

Architecture

kamailio.cfg

  • rr module parameter enable_full_lr now defaults to 0
  • no more lr=on in Record-Route
  • use t_precheck_trans() to catch retransmissions faster
  • drop silently traffic from scanners
  • added option to block 401/407 from downstream

Tools

kamcmd

kamctl

  • now interacts with Kamailio via a fifo file using jsonrpcs module
    • CTLENGINE is RPCFIFO by default
    • RPCFIFOPATH has to be set to the fifo file created by jsonrpcs module
  • kamctl rpc command is available for sending raw jsonrpc commands
    • see documentation for all RPC methods
    • the prefix s: or i: can be used to enforce type string or int for parameters
      • by default forwards number cli parameters as number type in jsonrpc commands
  kamctl rpc jsonrpc.echo abc 123
  kamctl rpc jsonrpc.echo s:abc i:123
  kamctl rpc jsonrpc.echo s:888 i:123
  kamctl rpc core.version
  

kamcli

  • new command line tool
  • kamcli is aiming at being a modern and extensible alternative to the shell script kamctl
  • communicates to Kamailio via jsonrpcs module
features/new-in-5.0.x.1488187259.txt.gz · Last modified: 2017/02/27 10:20 by miconda