User Tools

Site Tools


features:new-in-5.4.x

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 Both sides next revision
features:new-in-5.4.x [2020/07/09 13:14]
henningw update new for 5.4.x doc
features:new-in-5.4.x [2020/07/09 13:41]
henningw update new for 5.4.x doc
Line 24: Line 24:
 ==== secsipid ==== ==== secsipid ====
  
-  * new module implementing STIR and SKAKEN IETF extensions, see RFC 8224 and RFC 8588 for details+  * new module implementing STIR and SHAKEN IETF extensions, see RFC 8224 and RFC 8588 for details
  
 ==== systemdops ==== ==== systemdops ====
Line 31: Line 31:
  
   * https://kamailio.org/docs/modules/devel/modules/systemdops.html   * https://kamailio.org/docs/modules/devel/modules/systemdops.html
 +
 +==== dlgs ====
 +
 +New module to enable lightwight, stateless dialog tracking and statistics
 +
 +  * https://kamailio.org/docs/modules/devel/modules/dlgs.html
  
 ===== New in existing Modules ===== ===== New in existing Modules =====
Line 37: Line 43:
  
   * adding CDR engine functionality, to allows the extension of the acc module for other formats or backends   * adding CDR engine functionality, to allows the extension of the acc module for other formats or backends
 +  * new skip_cdr modparam to prevent cdr generation for certain calls
  
 ==== auth_db ==== ==== auth_db ====
Line 44: Line 51:
 ==== avpops ==== ==== avpops ====
  
-  * add avp_subst_pv(), same functionality as avp_subst() but second parameter will be evaluated before calling subst.+  * add avp_subst_pv(), same functionality as avp_subst() but second parameter will be evaluated before calling subst 
 +  * export avp_check and avp_copy functions to KEMI
  
 ==== app_python ==== ==== app_python ====
Line 57: Line 65:
  
   * option to use internal KSR::PV module and skip returning xval str, controlled with the xval_mode parameter   * option to use internal KSR::PV module and skip returning xval str, controlled with the xval_mode parameter
 +
 +==== app_jsdt ====
 +
 +  * internal duktape interpreter upgraded to v2.5.0
  
 ==== acc_json ==== ==== acc_json ====
Line 71: Line 83:
   * organize and add new RPC commands, cr.add_host, cr.delete_host, cr.activate_host, cr.deactivate_host and cr.replace_host   * organize and add new RPC commands, cr.add_host, cr.delete_host, cr.activate_host, cr.deactivate_host and cr.replace_host
   * remove obselete FIFO commands implementation   * remove obselete FIFO commands implementation
 +
 +==== cdt ====
 +
 +  * better compatiblity with certain Diameter servers that lacks Supported-Vendor-Id in their reply
  
 ==== cfgt ==== ==== cfgt ====
Line 84: Line 100:
   * add functions to set socket by name   * add functions to set socket by name
   * new function is_faked_msg()   * new function is_faked_msg()
 +  * new param dns_cache to add values to the internal dns cache
 +  * export file read/write functions to kemi
  
 ==== ctl ==== ==== ctl ====
  
   * switch from deprecated /var/run to /run   * switch from deprecated /var/run to /run
 +
 +==== crypto ====
 +
 +  * add event route to allow encrypting/decrypting net I/O traffic
  
 ==== drouting ==== ==== drouting ====
Line 100: Line 122:
  
   * switch from deprecated /var/run to /run   * switch from deprecated /var/run to /run
 +  * new parameter opt_ssl_mode - allow controling ssl mode, can disable or enforce use of SSL
 +
  
 ==== db_redis ==== ==== db_redis ====
Line 114: Line 138:
   * add new parameter ds_default_sockname, to set the send socket by name   * add new parameter ds_default_sockname, to set the send socket by name
   * add new gateway attribute "obproxy"   * add new gateway attribute "obproxy"
-  * add rpc command dispatcher.hash+  * add RPC command dispatcher.hash, compute the hash id of the value and do modulo operation if first parameter is not 0 
 +  * new RPC command dispatcher.set_duid_state, to set the state of a destination by matching on duid attribute 
 +  * add attrs param to RPC 'add' call
  
 ==== dialog ==== ==== dialog ====
Line 126: Line 152:
  
 ==== dmq ==== ==== dmq ====
 +
   * set 202 response for empty_peer_callback() handling   * set 202 response for empty_peer_callback() handling
  
Line 131: Line 158:
  
   * replicate_socket_info using dmq, useful for anycast scenarios   * replicate_socket_info using dmq, useful for anycast scenarios
 +  * add new parameter `usrloc_delete` to disable synchronizing delete actions
  
 ==== htable ==== ==== htable ====
  
   * export sht_is_null() function to KEMI   * export sht_is_null() function to KEMI
-  * exported functions to inc and dec hash table values to KEMI +  * export functions to inc and dec hash table values to KEMI 
-  * exported function to get timestamp to KEMI+  * export function to get timestamp to KEMI
   * new RPC command htable.store, to save the content of a hash table to DB   * new RPC command htable.store, to save the content of a hash table to DB
  
Line 155: Line 183:
   * add civic address parsing via xpath, with fallback to point or circle attributes   * add civic address parsing via xpath, with fallback to point or circle attributes
   * new module parameters to set HeLD request attributes, parameters are exact_type, response_time, and location_type   * new module parameters to set HeLD request attributes, parameters are exact_type, response_time, and location_type
 +
 +==== mqueue ====
 +
 +  * add support for db persistency
  
 ==== mqtt ==== ==== mqtt ====
Line 201: Line 233:
   * new config variable $fsn - forced send socket name   * new config variable $fsn - forced send socket name
   * add KEMI functions pvx.xavp_get_keys and pvx.xavp_getd   * add KEMI functions pvx.xavp_get_keys and pvx.xavp_getd
 +  * add $xavi(...) config variables implementation, same as $xavp but case insensitive for keys
 +  * new var $mts, return msg type as string
 +  * add vars to get the length for o-uri/r-uri/f-uri/t-uri username, $oUl, $rUl, $fUl, $tUl
  
 ==== p_usrloc ==== ==== p_usrloc ====
Line 227: Line 262:
 ==== rr ==== ==== rr ====
  
-  * exported record_route_preset_one() to KEMI+  * export record_route_preset_one() to KEMI
   * new function rr_next_hop_route(), return true if there is a route header for next hop address   * new function rr_next_hop_route(), return true if there is a route header for next hop address
   * new param sockname_mode, socket name is add to Path URI in 'sn' param   * new param sockname_mode, socket name is add to Path URI in 'sn' param
Line 240: Line 275:
   * add support for new T.38 options   * add support for new T.38 options
   * enable handling of PRACK requests   * enable handling of PRACK requests
 +  * add kemi support for block/unblock media/dtmf, and play/stop media functions
  
 ==== sdpops ==== ==== sdpops ====
  
-  * exported sdp with transport variants to KEMI+  * export sdp with transport variants to KEMI
  
 ==== siputils ==== ==== siputils ====
  
-  * contact encoding functions exported to KEMI+  * contact encoding functions export to KEMI 
 +  * new function contact_param_rm("param-name"), remove parameter by name from Contact header URI 
 +  * new function uri_param_rm(pname), remove parameter from request URI 
 +  * new function uri_param_any(param), check if r-uri has the param, with or without value 
  
 ==== sipcapture ==== ==== sipcapture ====
Line 273: Line 313:
   * export sql_result_get() to KEMI   * export sql_result_get() to KEMI
   * add functions to get null result value as empty or zer   * add functions to get null result value as empty or zer
 +
 +==== textops ====
 +
 +  * addfunctions to remove or test headers with var parameters
  
 ==== tcpops ==== ==== tcpops ====
Line 298: Line 342:
     - new selects: @tls.peer.raw_cert, @tls.peer.urlencoded_cert, @tls.my.raw_cert, @tls.my.urlencoded_cert     - new selects: @tls.peer.raw_cert, @tls.peer.urlencoded_cert, @tls.my.raw_cert, @tls.my.urlencoded_cert
   *  add select for tls verified cert chain (requires OpenSSL 1.1+)   *  add select for tls verified cert chain (requires OpenSSL 1.1+)
 +  * add support to link against static libraries in Makefile
 +
 +==== ims_charging ====
 +
 +  * add support for Application-Provided-Called-Party-Address AVP
 +  * add support for destination_host parameter, implementation was incomplete
  
 ==== ims_usrloc_pcscf ==== ==== ims_usrloc_pcscf ====
Line 332: Line 382:
  
   * KEMI function to get the RPCcommand response, shortcut to skip the pv get layer, can be useful for large values   * KEMI function to get the RPCcommand response, shortcut to skip the pv get layer, can be useful for large values
 +
 +==== kazoo ====
 +
 +  * add basic kemi support
  
 ==== keepalive ==== ==== keepalive ====
Line 346: Line 400:
 ==== kemix ==== ==== kemix ====
  
-  * exported functions to get dst-uri variants to KEMI +  * export functions to get dst-uri variants to KEMI 
-  * exported function to get next hop URI to KEMI+  * export function to get next hop URI to KEMI
   * convenience function KS.is_proto() to test many transport protocols with KEMI   * convenience function KS.is_proto() to test many transport protocols with KEMI
-  * exported get_conid() function to retrieve tcp connection id to KEMI+  * export get_conid() function to retrieve tcp connection id to KEMI
  
 ==== nathelper ==== ==== nathelper ====
Line 355: Line 409:
   * add new function set_alias_to_avp   * add new function set_alias_to_avp
   * add new parameter nat_addr_mode, to include/exlude reserved addresses in nat_uac_test()   * add new parameter nat_addr_mode, to include/exlude reserved addresses in nat_uac_test()
 +  * add optional set_contact_alias([trim]) parameter
  
 ==== nat_traversal ==== ==== nat_traversal ====
Line 408: Line 463:
 ==== Command line arguments ==== ==== Command line arguments ====
  
-  * new command line parameter --loadmodule=name, enable the option to load a module from command line +  * add --loadmodule=name, enable the option to load a module from command line 
-  * new command line parameter --modparam, to allow setting a module parameter via command line +  * add --modparam, to allow setting a module parameter via command line 
-  * new command line parameter --log-engine, to allow setting the log engine from command line+  * add --log-engine, to allow setting the log engine from command line 
 +  * add --debug=val command line parameter to control the value for debug global parameter as alternative to -d switch 
  
 ==== Interpreter ==== ==== Interpreter ====
Line 442: Line 499:
   * add core support to assign names to listen sockets   * add core support to assign names to listen sockets
   * KEMI suport for ARRAY and DICT types   * KEMI suport for ARRAY and DICT types
 +  * implementation for executing route blocks on send out events moved to onsend.c
  
 ==== kamailio.cfg ==== ==== kamailio.cfg ====
Line 449: Line 507:
     - define WITH_NAT     - define WITH_NAT
     - define WITH_RTPENGINE     - define WITH_RTPENGINE
-  * update IMS kamailio.cfg examples+  * set disable_sctp to yes 
 +  * update IMS kamailio.cfg examples (in other folder)
  
 ===== Tools ===== ===== Tools =====
Line 457: Line 516:
   * Makefile: add better support for EMACS   * Makefile: add better support for EMACS
   * Makefile: use pgk-config if xml2-config can not be found for certain modules   * Makefile: use pgk-config if xml2-config can not be found for certain modules
 +  * kemi: add script to generate mock api for kemi python testing
 +  * kemi: add support for invoking function pointers in tool
  
 ==== kamcmd ==== ==== kamcmd ====
Line 466: Line 527:
   * adjustment to RPC fifo file to match default naming   * adjustment to RPC fifo file to match default naming
   * try to locate RPC fifo file in /var/run/ or /run/ folders, to cope better with old or non-linux systems   * try to locate RPC fifo file in /var/run/ or /run/ folders, to cope better with old or non-linux systems
 +  * added pstrap command, use ps to get list of PIDs for Kamailio instance, instead of RPC core.psx
  
 ==== kamdbctl ==== ==== kamdbctl ====
features/new-in-5.4.x.txt · Last modified: 2020/07/09 14:00 by henningw