User Tools

Site Tools


features:new-in-devel

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
features:new-in-devel [2016/02/28 15:02]
miconda
features:new-in-devel [2019/08/16 19:15]
henningw lost module
Line 1: Line 1:
-====== Kamailio SIP Server (SER) - New Features in Devel Version ======+====== Kamailio SIP Server - New Features in Devel Version ======
  
-**Current devel version will be numbered 4.4.0 and it is planned to be released during first trimester of 2016**.+**Current devel version will be numbered 5.3.0 and it is planned to be released in the autum 2019**.
  
 <fc #0000FF> <fc #0000FF>
-**Previous devel version was 4.3.x (released on June2015), see what was new in that release at:**+**Previous devel, current stable, version was 5.2.x (released on November2018), see what was new in that release at:**
 </fc> </fc>
-  * <fc #0000FF>http://www.kamailio.org/wiki/features/new-in-4.3.x</fc>+  * <fc #0000FF>http://www.kamailio.org/wiki/features/new-in-5.2.x</fc>
  
 <fc #800000>//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.//</fc> <fc #800000>//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.//</fc>
Line 12: Line 12:
 ===== New Modules ===== ===== New Modules =====
  
-==== cfgt ====+==== app_lua_sr ====
  
-  reports config execution for unit test evaluation +Old **sr** module exported to Lua scripting.
-  http://kamailio.org/docs/modules/devel/modules/cfgt.html+
  
-==== crypto ====+  * https://www.kamailio.org/docs/modules/devel/modules/app_lua_sr.html
  
-  * cryptographic functions for use in config file +==== lost ====
-  * http://kamailio.org/docs/modules/devel/modules/crypto.html+
  
-==== http_async ====+HELD (RFC6155) and LOST (RFC5222) location-based routing.
  
-  * async http queries using curl library +  * https://www.kamailio.org/docs/modules/devel/modules/lost.html
-  * http://kamailio.org/docs/modules/devel/modules/http_async.html+
  
-==== http_client ====+==== kemix ====
  
-  * http queries using curl library +KEMI specific extensions.
-  * http://kamailio.org/docs/modules/devel/modules/http_client.html+
  
-==== log_custom ====+  * https://www.kamailio.org/docs/modules/devel/modules/kemix.html
  
-  * send log messages to custom backend +==== rtp_media_server ====
-  * http://kamailio.org/docs/modules/devel/modules/log_custom.html+
  
-==== log_systemd ====+Embedded RTP and media processing functionalities for Kamailio, like playing media or bridging in a B2BUA manner. Includes support for different codecs (including Opus).
  
-  * send log messages to systemd journal +  * https://www.kamailio.org/docs/modules/devel/modules/rtp_media_server.html
-  * http://kamailio.org/docs/modules/devel/modules/log_systemd.html+
  
-==== smsops ====+==== secfilter ====
  
-  * sms operations for sip messages +Filters to allow/block using whitelists/blacklist based on user agents, IP addresses, countries, domains and usersSQL injection attacks prevention. Blacklist of destinations where the called number is not allowed.
-  * http://kamailio.org/docs/modules/devel/modules/smsops.html+
  
-==== statsc ====+  * https://www.kamailio.org/docs/modules/devel/modules/secfilter.html
  
-  * statistics collector providing reports +==== xhttp_prom ====
-  * http://kamailio.org/docs/modules/devel/modules/statsc.html+
  
-===== New in Old Modules =====+Generates suitable metrics for a Prometheus monitoring platform, answering to Prometheus pull requests (HTTP requests to /metrics URL).
  
-==== acc ====+  * https://www.kamailio.org/docs/modules/devel/modules/xhttp_prom.html
  
-  * new **acc_prepare_always** parameter to allow preparation of the request no matter if the acc_prepare_flag is set at the moment of the transaction creation. See [[http://lists.sip-router.org/pipermail/sr-users/2015-July/089191.html|sr-user discussion]] 
  
-==== acc_radius ====+===== New in existing Modules =====
  
-  * added radius time mode parameter: rad_time_mode - format can be set to seconds.microseconds+==== acc_json ====
  
-==== app_lua ====+Add support for leg_info fields to the acc_json module
  
-  * export registrar.lookup_to_dset to app_lua interface +  * https://www.kamailio.org/docs/modules/devel/modules/acc_json.html
-  * export many sdpops functions to LUA+
  
 ==== async ==== ==== async ====
  
-  * module timer processes based on workers parameter+New functionality to sleep for milli-seconds and also schedule a asynchronous route execution with milli-seconds delay
  
-==== carrierroute ====+  * https://kamailio.org/docs/modules/devel/modules/async.html#async.f.async_ms_sleep 
 +  * https://kamailio.org/docs/modules/devel/modules/async.html#async.f.async_ms_route
  
-  * addind db_load_description parameter +==== cnxcc ====
-    * toggle on/off loading in memory the description column in the carrierroute/carrierfailureroute database tables. This reduces the shared memory used by the module+
  
-==== cdp ====+Added a new param in the cnxcc_set_max_credit() function to set the connect cost of a call.
  
-  * added class of auth session to know more info about auth session - for exampleims_qos can now report Rx session for Reg or for media +  * https://www.kamailio.org/docs/modules/devel/modules/cnxcc.html#cnxcc.f.set_max_credit
-  * CER/CEA retry if send/receive FD disappeared +
-  * evaluate the supported_vendor_id-AVP during CER/CEA +
-  * load balancing timer has millisecond resolution+
  
-==== cfgutils ====+==== dialog ====
  
-  * sleep() and usleep() accept vars as parameter+Add new rpc commands dlg.list_match and dlg.list_match_ctx to the dialog module. They will list dialogs matching the expression given via parameters
  
-==== cnxcc ====+  * https://www.kamailio.org/docs/modules/devel/modules/dialog.html#dlg.r.list_match 
 +  * https://www.kamailio.org/docs/modules/devel/modules/dialog.html#dlg.r.list_match_ctx
  
-  * locks re-entrant for simplifying the upper layer APIs+Add new parameter keep_proxy_rr to loop BYE through proxy. When in use, sending locally generated in-dialog requests will loop back to the proxy with a proper Record-Route header, including any parameters.
  
-==== corex ====+  * https://kamailio.org/docs/modules/devel/modules/dialog.html#dialog.p.keep_proxy_rr 
 +==== dispatcher ====
  
-  * added file_read() and file_write() functions +  * Add new rpc functions, to add and remove destinations to the in-memory dispatcher list. 
-    * file_read(fpath, var) - read content of a text file into a variable +    * https://www.kamailio.org/docs/modules/devel/modules/dispatcher.html#dispatcher.r.add 
-    * file_write(fpat, content- write content of parameter to a text file +    * https://www.kamailio.org/docs/modules/devel/modules/dispatcher.html#dispatcher.r.remove 
-  added corex.pkg_summary command +  * Add a new flag 16 (1<<4) to the cfg syntax for destinations with host not having A/AAAA record. 
-    dump pkg usage summary to syslog for specific pid or process index +    https://www.kamailio.org/docs/modules/devel/modules/dispatcher.html#idm1021190300 
-<code> +  Add new parameter reload_delta to limit the frequency of rpc reload commands to try to avoid races of parallel reload operations
-    kamcmd corex.pkg_summary pid 12345 +    * https://www.kamailio.org/docs/modules/devel/modules/dispatcher.html#dispatcher.p.reload_delta
-    kamcmd corex.pkg_summary idx 1 +
-</code>+
  
-==== ctl ====+==== dialplan ====
  
-  * increased default buffers size for rpc responses +Add reload_delta parameter to make the rate limit of maximum allowed dialplan reload configurable.
-    * binrpc_max_body_size = 32 +
-    * binrpc_struct_max_body_size = 8+
  
-==== db_text ====+  * https://www.kamailio.org/docs/modules/devel/modules/dialplan.html#dialplan.p.reload_delta
  
-  * support 'order by' in raw query+==== evrexec ====
  
-==== debugger ====+Added rpc command evrexec.run to run an event_route: kamctl rpc evrexec.run evname [evdata]. First parameter is the event route name (or KEMI function), second parameter (optional, string) is an arbitrary data that becomes available inside the event route via $evr(data).
  
-  * add support for static and dynamic, module specific, logging facility +  * https://www.kamailio.org/docs/modules/devel/modules/evrexec.html#evrexec.r.run
-  * new dbg_sip_msg() config function, which prints how the sip message would look like if it were to be sent out at that point in config+
  
-==== dialog ====+==== imc ====
  
-  * re-entrant mutex for dialogs hash table slots +Extend module functionality significantly, several new commands (e.g. #rooms, #add) were added. Internal refactoring and protocol extensions were done as well. For details have a look to the commit messages for this module.
-  * run event_route[dialog:end] in case of dialog termination by interface commands +
-  * make dialog context available in event route tm:local-request +
-  * new parameter db_skip_load to skip loading dialogs on startup+
  
-==== dispatcher ====+==== ims_ipsec_pcscf ====
  
-  * relative weight distribution added - it is possible to assign "rweight" (relative weight) param to each host in destination group. rweight is in the integer range from 1 to 100 +  * Add IPv6 support to the ims_ipsec_pcscf module. Set authentication algorithm for SA depending of parsed security-client info from REGISTER request message. For now, the supported algorithms are md5 and sha1, the default algorithm is sha1. 
-  * added new probing_mode=3 to always probe flagged gateways+  * Additional initial TCP support and support for multiple TCP connections were added
 +    * https://www.kamailio.org/docs/modules/devel/modules/ims_ipsec_pcscf.html
  
-==== dmq_usrloc ====+==== ims_registrar_pcscf ====
  
-  * implement deleted contact replication +Add support for multiple TCP connections to the ims_registrar_pcscf module.
-  * new param sync - control sync'ing all contacts at startup +
-    * default 1 - require sync'ing of all contacts at startup, set to 0 to disable+
  
-==== domain ====+  * https://www.kamailio.org/docs/modules/devel/modules/ims_registrar_pcscf.html
  
-  * allow 'type' field in domain_attrs to be a DB1_BIGINT, makes it work with MySQL views on 64bit systems+==== ims_usrloc_pcscf ====
  
-==== drouting ====+Add support for multiple TCP connections to the ims_usrloc_pcscf module.
  
-  * support for symbols "#*+" in drouting trees+  * https://www.kamailio.org/docs/modules/devel/modules/ims_usrloc_pcscf.html
  
-==== evapi ====+==== ims_isc ====
  
-  * implemented receive buffering per connected client+Add functionality to a add-on to third party registration in S-CSCF. The feature assumes two new flags in HSS database, where additional to the "Service Info XML" an "insertRegisterRequest" flag or an "insertRegisterResponse" flag can be set. These flags are sent with the SAR/SAA exchange to the S-CSCF. More information can be found in the commit message (99b2cfaf4151968a62) and the module documentation.
  
-==== htable ====+  * https://www.kamailio.org/docs/modules/devel/modules/ims_isc.html
  
-  * improved error message when loading from database +==== ims_usrloc_scscf ====
-  * htable.dump - added the type of the value to the result+
  
-==== ims_auth ====+Add-on to third party registration in S-CSCF to the ims_usrloc_scscf module.
  
-  * added option to set destination host for MAR requests +  * https://www.kamailio.org/docs/modules/devel/modules/ims_usrloc_scscf.html
-  * allow different qop setting for INVITE+
  
-==== ims_charging ====+==== ims_registrar_scscf ====
  
-  * added Multiple-Services Indicator +Add-on to third party registration in S-CSCF to the ims_registrar_scscf module.
-  * allow ro session id to be used from cfg file as avp+
  
-==== ims_qos ====+  * https://www.kamailio.org/docs/modules/devel/modules/ims_registrar_scscf.html
  
-  * make Release-Reason from QoS configurable +==== mqueue ====
-  * option to add Extra-Header, in case QoS fails during a session +
-  * added Rx-Specific-Action AVPs to work with some PCRFs +
-  * new mod param terminate_dialog_on_rx_failure - terminate_dialog_on_rx_failure this parameter determines if a dialog is torn down if a media Rx session is terminated+
  
-==== ims_registrar_pcscf ====+Add a new rpc command mqueue.fetch
  
-  * added functionality to unREGISTER a contact, egbased on a failed network ping +  * https://www.kamailio.org/docs/modules/devel/modules/mqueue.html#mqueue.f.mq_fetch
-  * set received host, proto and port when searching for pcontact+
  
-==== ims_usrloc_scscf ==== +==== pv ====
- +
-  * added counters for reporting hashtable usage - collision slot count for contacts and subscriptions +
-  * implemented overwrite oldest contact behaviour +
- +
-==== janssonrpc-c ==== +
- +
-  * allow null json error property in rpc response+
  
-==== jsonrpc-c ====+  * New pseudo-variable $rcv(key), available inside event_route[core:msg-received] to get details of the received message. 
 +    * https://www.kamailio.org/wiki/cookbooks/devel/pseudovariables#received_data_attributes 
 +  * New pseudo-variable $TV(Fn) - formatted time with microseconds YYYY-MM-DD HH:MM:SS.UUUUUU. Current time in human readable format with microseconds precission. 
 +    * https://www.kamailio.org/wiki/cookbooks/devel/pseudovariables#tv_name
  
-  * add max_conn_attempt parameter to control max number of reconnections+==== janssonrpcc ====
  
-==== kazoo ====+Add new parameter "keep_alive", send periodic tcp keepalive packets to server in order to prevent connection from closing.
  
-  * support alternative federated exchanges +  * https://www.kamailio.org/docs/modules/devel/modules/janssonrpcc.html#idm1023243564
-  * allow multiple simultaneous servers +
-  * add async query feature - suspend the transaction on send and continue on return or timeout+
  
 ==== kex ==== ==== kex ====
  
-  * support VERSION_NODATE and VERSION_DATE for reproducible builds +New rpc command mod.mem_statsx, to print also the count of allocated chunks in summary.
-  * per module memory statistics when in debugging mode +
-    * return details about memory used by each module via rpc commands+
  
-==== lcr ====+  * https://www.kamailio.org/docs/modules/devel/modules/kex.html#kex.r.mod.mem_statsx
  
-  * added priority_ordering module parameter - allows ordering of matched gateways only by priority and weight+==== presence ====
  
-==== mtree ====+A new rpc command presence.updateWatchers
  
-  * allow for larger (max 64) prefix values to be used (e.g., case of uuid, ipv6)+  * https://www.kamailio.org/docs/modules/devel/modules/presence.html#presence.rpc.updateWatchers
  
-==== nathelper ====+==== registrar ====
  
-  * support filter contacts by server_id+New parameter lookup_filter_mode to control what filters should be applied for lookup(...) operations. Filter values are specified via filed of xavp_cfg.
  
-==== p_usrloc ====+  * https://www.kamailio.org/docs/modules/devel/modules/registrar.html#registrar.p.lookup_filter_mode
  
-  * added path and +instance support+==== rr ====
  
-==== pdb ====+Add new return value for preloaded route set to loose_route(). Now it is possible to detect from the script if a preloaded Route header was removed that pointed at the local proxy.
  
-  * new protocol between pdb_server and kama pdb module+  * https://www.kamailio.org/docs/modules/devel/modules/rr.html#rr.f.loose_route
  
-==== permissions ====+==== rls ====
  
-  * match trusted rules considering priority and regexp over r-uri +Add a new rpc command rls.update_subs.
-    * two new columns to set priority of the rule as well as regular expression matching over r-uri+
  
-==== presence_xml ====+  * https://www.kamailio.org/docs/modules/devel/modules/rls.html#rls.rpc.update_subs
  
-  * added optional param force_dummy_presence +==== rtpengine ====
-    * module parameter to send empty presence notify body when there isn't any record in presentity+
  
-==== pua_reginfo ====+  * Introduce additional hashing algorithm SHA1 over callid for better distribution among nodes.  
 +    * https://www.kamailio.org/docs/modules/devel/modules/rtpengine.html#rtpengine.p.hash_algo 
 +  * Add play_media() and stop_media() functions, also includes addition of the $media_duration pseudo-variable, as well as several code cleanups and simplifications. 
 +    * https://www.kamailio.org/docs/modules/devel/modules/rtpengine.html#rtpengine.f.play_media 
 +    * https://www.kamailio.org/docs/modules/devel/modules/rtpengine.html#rtpengine.f.stop_media 
 +    * https://www.kamailio.org/docs/modules/devel/modules/rtpengine.html#rtpengine.p.media_duration 
 +  * Add start_forwarding() and stop_forwarding() functions. 
 +    * https://www.kamailio.org/docs/modules/devel/modules/rtpengine.html#rtpengine.f.start_forwarding 
 +    * https://www.kamailio.org/docs/modules/devel/modules/rtpengine.html#rtpengine.f.stop_forwarding 
 +  * Add support for trickle ICE SDP fragments, add support for explicit load balancing options and add support for via-branch=extra option.
  
-  * added support for custom params as contact parameters (e.g. <unknown-param name="+g.oma.sip-im"></unknown-param>)+==== sdpops ====
  
-==== pv ==== +Added new sdp_get_ddress_family() function to extract the IP address family from the SDP body
- +
-  * **pv_var_to_xavp** script function to copy $var values to $xavp +
-  * transformation to remove all non-numeric parts of a string +
-  * add auth digest pseudo variables +
-    * $adn -  auth nonce +
-    * $adc - auth cnonce +
-    * $adr - auth response +
-    * $ado - auth opaque +
-  * pv_var_to_xavp() - copy script variables values to xavps +
-  * added $utime and $utimef pv's to retrieve time in UTC +
-    * $utime is the UTC equivalent to $time for localtime +
-    * $utimef is the UTC equivalent to $timef for localtime +
- +
-==== registrar ==== +
- +
-  * add **contact** and **recieved** values to xavp_rcd +
-  * set xavp_rcd on registered() +
-  * export lookup_to_dset with uri to config +
-  * allow registered() in any route +
- +
-==== rr ==== +
- +
-  * add enable_double_rr_always option+
  
-==== rtppengine ====+  * https://www.kamailio.org/docs/modules/devel/modules/sdpops.html#sdpops.f.sdp_get_address_family
  
-  * new fifo command, namely nh_ping_rtpp, which pings the given proxy or all proxies, and if a proxy does not respond, disable it temporarily +==== siptrace ====
-  * try the next media relay available if the limit reached reply is received +
-  * unset "don't fragment" ip header flag +
-  * new read_sdp_pv parameter - this parameter allows to specify a script var or AVP for rtpengine to get the SDP from, instead of the SIP message body +
-  * hash table to keep the selected nodes +
-  * added rtpengine_allow_op modparam - when the param is enabled, allow current sessions to finish and deny new sessions for manually deactivated rtpengine nodes via kamctl i.e. "disabled(permanent)" nodes+
  
-==== sipcapture ====+Add transaction and dialog level tracing to the module function sip_trace
  
-  * insert From URI domain, To URI domain and request URI domain to database +  * https://www.kamailio.org/docs/modules/devel/modules/siptrace.html#siptrace.f.sip_trace
-  * added homer5 functionality to sipcapture module +
-  * accept a list of headers for callid_aleg_header +
-  * added async support for storing in asynchronous mode if supported by database backend+
  
-==== sst ====+==== sl ====
  
-  * add **refresher** parameter in order to follow RFC 4028+  * Add new pseudo-variables: $ltt(key) - return local generated to tag when Kamailio sends a reply. 
 +    https://www.kamailio.org/wiki/cookbooks/devel/pseudovariables#ltt_key_-_local_to-tag    
 +   Add configuration parameter to add path and flags to redirected contacts. 
 +    * https://www.kamailio.org/docs/modules/devel/modules/sl.html#rich_redirect
  
-==== statsd ====+==== sqlops ====
  
-  * can use IPv6 as server address+Add a new parameter connect_mode, option to start even when connecting to db fails.
  
-==== tcpops ====+  * https://www.kamailio.org/docs/modules/devel/modules/sqlops.html#sqlops.p.connect_mode    
  
-  * keepalive functions enabled on BSD +==== textops ====
-  * add tcp_conid_state function to check connection state+
  
-==== textopsx ====+Add a new function regex_substring(itext, regex, index, mcount, dpv). Return a substring extracted by matching with a regular expression and the index of matched token.
  
-  * if no param is given to keep_hf(re), then keep only mandatory headers+  * https://www.kamailio.org/docs/modules/devel/modules/textops.html#textops.f.regex_substring
  
 ==== tls ==== ==== tls ====
  
-  * option to match TLS client config profile based on server_id +  * Add support for unique identifier PVs and select: $tls_peer_subject_uid and $tls_my_subject_uid, new selects: uid, uniqueIdentifier and unique_identifier. 
-    * server_id can be any string that uniquely identifies a client config profile, overriding the attempt to match on ip:port (+sni)This makes it easier to select the desired config profile, because the port is hard to guess for stream connections +    * https://www.kamailio.org/wiki/cookbooks/devel/pseudovariables#tls_peer_subject_uid 
-    * prameter xavp_cfg has to be enabled and inner xavp 'server_id' has to be set before relaying the sip message (before opening the client connection)+    * https://www.kamailio.org/wiki/cookbooks/devel/pseudovariables#tls_my_subject_uid 
 +  * Add workaround for new OpenSSL 1.1, preloaded library. This is a workaround for OpenSSL >= 1.1 which uses internal locking and doesn't support locks in memory shared across multiple processes.
  
 ==== tm ==== ==== tm ====
  
-  * use xavps for t_load_contacts/t_next_contacts/t_next_contact_flow +  * Added t_get_status_code() function to return the status code of the transaction the sip response code. 
-  * execute the onsend_route for responses forwarded by tm module not executed for local generated sip responses +    https://www.kamailio.org/docs/modules/devel/modules/tm.html#tm.f.t_get_status_code 
-  enable drop in onsend_route for tm replies +  * Add configuration parameter to add path and flags to redirected contacts. 
-  * support to add text in Reason header for local generated CANCEL+    * https://www.kamailio.org/docs/modules/devel/modules/tm.html#tm.p.rich_redirect 
 +  * Removal of obselete delete_timer parameter - it was not used since a long time
  
 ==== tmx ==== ==== tmx ====
  
-  * added $T(ruid- return current branch ruid attribute+Add a new function t_drop([rcode])
  
-==== tsilo ==== +  https://www.kamailio.org/docs/modules/devel/modules/tmx.html#tmx.f.t_drop
- +
-  added module specific satistics +
-  * t_store(...) accepts uri as parameter +
-  * ts_append_to() can take uri as parameter +
-  * removed usrloc dependency +
-  * added use_domain parameter+
  
 ==== uac ==== ==== uac ====
  
-  * uac.reg_dump returns an array rpc result+  * New modparam reg_gc_interval, to define a value for garbage collection interval 
 +    * https://www.kamailio.org/docs/modules/devel/modules/uac.html#uac.p.reg_gc_interval 
 +  * New modparam default_socket, to define a default socket for sending registrations and requests out 
 +    * https://www.kamailio.org/docs/modules/devel/modules/uac.html#uac.p.default_socket 
 +  * The uac_replace_from/uac_replace_to function (with dialog storage option) will now also work properly after a restart from Kamailio, if dialog data is stored in a database. 
 +  * The uac_replace_from/uac_replace_to function will now also properly store and restore the Display Name with the dialog storage option.
  
-==== usrloc ====+==== websocket ====
  
-  * support filter by server_id at get_all_ucontacts +Added check mechanism based on tcp connection type 3 (KEEPALIVE_MECHANISM_CONCHECK)
-  * new module option to support preload using server_id as filter +
-  * new matching mode: CALLID_ONLY +
-  * new param to skip non-local location record - yf set, kamailio will skip record if socket value doesn't in listening socket list when loading record from database+
  
-==== utils ====+  * https://www.kamailio.org/docs/modules/devel/modules/websocket.html
  
-  * added optional parameter for setting additional http headers +===== New in Core =====
-  * option to trim leading and trailing white spaces in http response - new parameter http_response_trim to control it; default is 0 - don't trim (backward compatible); set to 1 for enabling trimming +
-  * new parameter http_response_mode to control what response part is returned +
-    * if http_response_mode=0, only the first line is returned +
-    * if http_response_mode=1, all the response is returned+
  
-==== websocket ====+==== Command line arguments ====
  
-  * added support for SIP message fragmentation +Adding support for long option names, to kamailio. This makes it easier to deploy Kamailio in dynamic environments like containers. Examples:
-    * websocket connections are created with a BUF_SIZE (64K) buffer used for concatenating frames +
-    * continuation frames (fragments) are supported for the SIP sub-protocol+
  
-==== xlog ====+  * add domain aliases with --alias 
 +  * set advertised address to listen sockets speficied with -l socket/advertise 
 +  * set server id with --server-id 
 +  * set a subst, substdef or substdefs preprocessor expression with --subst, --substdef or --substdefs
  
-  * convenience functions for various log levels +More information: https://www.kamailio.org/w/2019/05/kamailio-command-line-arguments/
-    * xinfo(), xnotice(), xwarn(), xerr(), xbug(), xcrit(), xalert() +
- +
-===== New in Core =====+
  
 ==== Interpreter ==== ==== Interpreter ====
  
-  * new feature to execute event_route[core:worker-one-init] - the event_route[core:worker-one-init] is executed if defined in kamailio.cfg after the first udp sip worker process executed the child_init() for all modules, before starting to process sip traffic +Many extensions to the KEMI scripting language support in core and modules were added.
-  * cast operator (int) converts hex strings as well - in addition to dec string +
-  * name of the structure exported by a module can be prefixed with module name +
-  * added framework to allow replacing logging to syslog +
-    * this enables a module to replace all logging to syslog with another logging mechanism +
-    * it is not enabled when log_stderror=yes or the system is detected as __SUNPRO_C+
  
 ==== Parameters ==== ==== Parameters ====
  
-  * new parameter async_usleep - add option to do usleep() before processing async tasks +  * New global parameter bind_ipv6_link_local. If set to 1, try to bind also IPv6 link local addresses by discovering the scope of the interface. This apply for UDP socket for now, to be added for the other protocols. 
-    * could help saving cpu usage on vms with immediate interruptions triggered to recvfrom() +    * https://www.kamailio.org/wiki/cookbooks/devel/core#bind_ipv6_link_local 
-  * added parameters log_engine_type and log_engine_data +  * Introduce new configuration parameter tcp_accept_haproxy parameter. When active, inbound TCP connections are expected to behave according to the HAProxy protocol. Both the v1 (human-readableand v2 (binary) versions of the protocol are supported. 
-    * can be used to specify what logging engine to be used and its initialization data +    * https://www.kamailio.org/wiki/cookbooks/devel/core#tcp_accept_haproxy 
-    * see readme of log_custom module for a same of usage+  * Added latency_limit_cfg global parameter to print execution time for configuration script only if it exceeds this value. It is printed to latency_cfg_log level, another added parameter. 
 +    * https://www.kamailio.org/wiki/cookbooks/devel/core#latency_limit_action 
 +    * https://www.kamailio.org/wiki/cookbooks/devel/core#latency_cfg_log
  
 ==== Functions ==== ==== Functions ====
 +
 +  * New rpc command core.psa - to print attributes stored in process table, similar to core.psx, but also prints the rank and status fields 
  
 ==== Memory Managers ==== ==== Memory Managers ====
  
-  * display the 2 levels matrix in TLSF status +Refactoring and unification of memory allocation error logging infrastructure. Completed in the core, major modules were migrated as well. The #define are called PKG_MEM_ERROR, PKG_MEM_CRITICAL, SHM_MEM_ERROR, SHM_MEM_CRITICAL, SYS_MEM_ERROR and SYS_MEM_CRITICAL error. Additional #define for variable log messages for special cases were added as well. 
-  * shared (shmmemory manager can be selected with -x command line parameter at startup + 
-  * private (pkgmemory manager can be selected with -X command line parameter at startupIf this parameter is omitted, the value of -x is used+==== Architecture ==== 
 + 
 +  * Extend internal IPv4 and IPv6 parsing functions in the core. 
 +  * Create Contacts header with path vector as Route header. When Kamailio is functioning as a registrar sends a 302 redirect, the registered contacts are sent inside the Contact header. If a contact as a path vector, that path should become a Route header in the INVITE (rfc 3327). This patch adds the path vector as a Route header parameter to the Contacts in the redirect so the receiving entity of the 302 can add the proper Route headers. This is a standard way to specify headers to be added to a request, see rfc3261 section 19.1.1. 
 +  * Add DB_TABLE_VERSION_ERROR(tableerror helper #define to DB1 API and migrate (almost) all modules that use version tables to itThis unify the logging and error behavior of the relevant modules that uses a database.
  
 ==== kamailio.cfg ==== ==== kamailio.cfg ====
  
-  use flag 'r' for rtpproxy if ip in sdp is not private +Changes to the default kamailio.cfg 
-    skip learning mode, advertised media ip is routable+ 
 +  * detect sipvicious as scanner 
 +  * do sanity check for sip responses 
 +  * no connect for forwarding requests withing dialog 
 +  set no connect flags for replies and natted messages 
 +  explicitely set the tcp/tls connections upper limits
  
 ===== Tools ===== ===== Tools =====
 +
 +Added tool to generate code for KEMI modules to misc/tools/kemi/kemi-code-gen.py - can generate typedefs for functions and the large if-else blocks for variants of parameters.
  
 ==== kamcmd ==== ==== kamcmd ====
- 
-  * support VERSION_NODATE and VERSION_DATE for reproducible builds 
  
 ==== kamctl ==== ==== kamctl ====
  
-  * added mongodb schema files +  * Added subcommand to print the server version using rpc command: kamctl srv version  
-    custom json format specifying structure of collections/tables +  Added subcommand to delete older expired records from database table: kamctl ul dbclean [<secs>] 
-    version-create.mongo - a script with mongo commands to fill the version collection/table+  Added acc initdb command to add additional columns needed with default kamailio.cfg and defined WITH_ACCDB for acc and missed_calls table
 + 
 +==== kamdbctl ==== 
 + 
 +  * Added verification before database reinit 
 +  * Warn that drop command will indeed drop the database. 
 +     
 +==== kamcli ==== 
features/new-in-devel.txt · Last modified: 2020/11/05 12:25 by linuxmaniac