features:new-in-5.2.x
This is an old revision of the document!
Table of Contents
Kamailio SIP Server (SER) - New Features in 5.2.0
Previous stable version was 5.1.x, 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
acc_json
app_ruby
db_redis
pua_json
New in Old Modules
acc
- use acc.time_mode to save cdrs in gmt time
app_lua
- LUAJIT variable to build agains LuaJIT compiler
app_python
- implemented rpc command to list kemi functions
- kamctl rpc app_python.api_list
- rpc command to reload the routing script
cfg_rpc
- rpc command cfg.get can accept only the group name to list all its vars
corex
- functions to manage extended flags
- setxflag(idx), resetxflag(idx), isxflagset(idx)
- idx can be between 0 and 63
db_mongodb
- create projection field to set the list of returned column
dispatcher
- add methoded to reinit state for all destinations in group
- allow 'all' to update all destinations in group via RPC
json
- new transformation to access json fields
- new function json_get_string() to return string value without quotes
nathelper
- allow variable for flags parameter of fix_nated_sdp(), add_rcv_param(), nat_uac_test()
presence
- dmq integration - replication of presentity updates over DMQ
- adds ruid column for matching across cluster
- new parameter enable_dmq
pua_rpc
- added pua.send_publish rpc command
- send a PUBLISH request without waiting for response
rr
- new parameter force_send_socket
- if set to 1, the socket is also forced for single rr
rtpengine
- added aggressive_redetection param
- setting tos value for the control commands - new parameter “control_cmd_tos”
- added support for DTLS transports - added ability to explicitly request DTLS transports:
- UDP/TLS/RTP/SAVP and UDP/TLS/RTP/SAVPF
- explicitly handle new option flags (transcoding)
tcpops
- added function to get connection id based on target host:port
- tcp_get_connid(hostport, pvname)
- connection id is set in pvar paraemter
textops
- new function msg_set_buffer(…) to kemi framework
- is_audio_on_hold() returns hold type
- 1 - RFC2543 hold type (the connection IP is set to null IP)
- 2 - RFC3264 hold type (inactive or sendonly attr)
tm
- make processing of event routes for local requests reentrant
- rpc tm.t_uac_start option to work with From and To headers only
tmx
- added t_flush_xflags() function
usrloc
- partition column name can be set via modparam
- new parameter rm_expired_delay - set how many seconds to delay the removal of an expired record (DB_ONLY mode)
- execute cleanup by server_id
New in Core
- new module exports interface
- unified from Kamailio and SER module exports interfaces
- locking - added api functions for recursive lock sets
- added xflags field to sip_msg_t - holds extended flags - 64 new flags in addition to the old 32 flags
Interpreter
- kemi - more core functions exported to kemi framework
- kemi - added KSR.is_method_in(“mflags”)
- check if current method matches one listed in the flags
- flags are: I (INVITE), A (ACK), B (BYE), C (CANCEL), R (REGISTER),
P (PUBLISH), S (SUBSCRIBE), N (NOTIFY), O (OPTIONS)
- KSR.is_method_in(“IABC”)
Parameters
- new parameters to control the size of pv cache
- pv_cache_limit - the limit how many pv declarations in the cache after which an action is taken. Default value is 2048
- pv_cache_action - specify what action to be done when the size of pv cache is exceeded. If 0, print an warning log message when the limit is exceeded. If 1, warning log messages is printed and the cache systems tries to drop a $sht(…) declaration. Default is 0
- aliased global param ip_free_bind to ip_nonlocal_bind - match better with linux system control option
- new parameter kemi.onsend_route_callback
- allow setting the name of the function to be called by kemi framework as equivalent of onsend_route {}
- default value: ksr_onsend_route
- set to empty string or “none” to skip the execution of this kemi callback
- new parameter kemi.reply_route_callback
- set the name of kemi callback function to be executed on receiving a sip reply (equivalent of reply_route)
- default: ksr_reply_route
- set to empty or “none” to skip execution of this callback
- new parameter route_locks_size
- if set, kamailio creates a group of recursive locks used to sync on execution of request_route and reply_route based on hashing ID of Call-ID header. In other words, if a message has triggered the execution of request_route or reply_route, any other message with the same Call-ID waits until the other one finishes the execution.
Functions
- core functions exported to kemi interface
Memory Managers
Architecture
kamailio.cfg
- added log_prefix parameter to print call-id, cseq, message type during SIP message processing
- do not relay to foreign network if auth is not enabled
Tools
kamcmd
kamctl
- default PID_FILE set to /var/run/kamailio/kamailio.pid
- kamdbctl - remove not working db migrate command
kamcli
- support to generate tls.cfg from database table
- packaged for debian and ubuntu distributions
Testing Framework
- new tests: https://github.com/kamailio/kamailio-tests
features/new-in-5.2.x.1543302621.txt.gz · Last modified: 2018/11/27 07:10 by miconda