User Tools

Site Tools


features:new-in-5.3.x

Differences

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

Link to this comparison view

Next revision
Previous revision
features:new-in-5.3.x [2019/09/04 20:30]
henningw created
features:new-in-5.3.x [2019/09/25 14:51]
henningw
Line 1: Line 1:
-====== Kamailio SIP Server - New Features in 5.3.0 Version ======+====== Kamailio SIP Server - New Features in 5.3.0 ======
  
 <fc #0000FF> <fc #0000FF>
Line 6: Line 6:
   * <fc #0000FF>http://www.kamailio.org/wiki/features/new-in-5.2.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 this version, manually updated, thus not always synchronized with what is new in source code repository.//</fc>
  
 ===== New Modules ===== ===== New Modules =====
Line 48: Line 48:
  
 ===== New in existing Modules ===== ===== New in existing Modules =====
 +
 +==== acc ==== 
 +
 +Removal of obselete diameter related documentation
 +
 +  * https://kamailio.org/docs/modules/devel/modules/acc.html 
  
 ==== acc_json ==== ==== acc_json ====
Line 78: Line 84:
  
   * https://kamailio.org/docs/modules/devel/modules/dialog.html#dialog.p.keep_proxy_rr   * https://kamailio.org/docs/modules/devel/modules/dialog.html#dialog.p.keep_proxy_rr
 +
 ==== dispatcher ==== ==== dispatcher ====
  
Line 99: Line 106:
  
   * https://www.kamailio.org/docs/modules/devel/modules/evrexec.html#evrexec.r.run   * https://www.kamailio.org/docs/modules/devel/modules/evrexec.html#evrexec.r.run
 +
 +==== http_client ====
 +
 +  * New param query_result, control if the http_client_query() returns only the first line or the entire result.
 +    * https://kamailio.org/docs/modules/devel/modules/http_client.html#http_client.p.query_result
 +  * New param query_maxdatasize, set the maximum size to be downloaded for http_client_query() result
 +    * https://kamailio.org/docs/modules/devel/modules/http_client.html#http_client.p.query_maxdatasize
 +
  
 ==== imc ==== ==== imc ====
Line 139: Line 154:
  
   * https://www.kamailio.org/docs/modules/devel/modules/ims_registrar_scscf.html   * https://www.kamailio.org/docs/modules/devel/modules/ims_registrar_scscf.html
 +
 +==== mohqueue ====
 +
 +Updated to version 1.6
 +  * https://kamailio.org/docs/modules/devel/modules/mohqueue.html
  
 ==== mqueue ==== ==== mqueue ====
Line 145: Line 165:
  
   * https://www.kamailio.org/docs/modules/devel/modules/mqueue.html#mqueue.f.mq_fetch   * https://www.kamailio.org/docs/modules/devel/modules/mqueue.html#mqueue.f.mq_fetch
 +
 +==== nathelper ====
 +
 +Extend nat_uac_test() to test for mismatch between connection and source IP.
 +
 +  * https://kamailio.org/docs/modules/devel/modules/nathelper.html#nathelper.f.nat_uac_test
  
 ==== pv ==== ==== pv ====
Line 152: Line 178:
   * 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.   * 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     * https://www.kamailio.org/wiki/cookbooks/devel/pseudovariables#tv_name
 +  * added {s.count,c} transformation
 +    * https://www.kamailio.org/wiki/cookbooks/devel/transformations#scount_c
 +  * Increase the internal buffer size for variables and transformations
  
 ==== janssonrpcc ==== ==== janssonrpcc ====
Line 164: Line 193:
  
   * https://www.kamailio.org/docs/modules/devel/modules/kex.html#kex.r.mod.mem_statsx   * https://www.kamailio.org/docs/modules/devel/modules/kex.html#kex.r.mod.mem_statsx
 +
 +==== phonenum ====
 +
 +New param resid to register result container ids.
 +
 +  * https://kamailio.org/docs/modules/devel/modules/phonenum.html#phonenum.p.resid
  
 ==== presence ==== ==== presence ====
Line 223: Line 258:
 ==== sqlops ==== ==== sqlops ====
  
-Add a new parameter connect_mode, option to start even when connecting to db fails.+  * Add a new parameter connect_mode, option to start even when connecting to db fails. 
 +    * https://www.kamailio.org/docs/modules/devel/modules/sqlops.html#sqlops.p.connect_mode 
 +  * Add a limit of maximum 32 result containers to prevent using too much memory
  
-  * https://www.kamailio.org/docs/modules/devel/modules/sqlops.html#sqlops.p.connect_mode     
  
 ==== textops ==== ==== textops ====
Line 247: Line 283:
     * https://www.kamailio.org/docs/modules/devel/modules/tm.html#tm.p.rich_redirect     * 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   * Removal of obselete delete_timer parameter - it was not used since a long time
 +  * Improve from-tags to include more randomness and use the recommended size from RFC 3261 
 +  * Other cleanups related to unused functionality
  
 ==== tmx ==== ==== tmx ====
Line 264: Line 302:
   * 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 (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.   * The uac_replace_from/uac_replace_to function will now also properly store and restore the Display Name with the dialog storage option.
 +  * New functionality to force a default socket for register and request sending
 +    * https://kamailio.org/docs/modules/devel/modules/uac.html#uac.p.default_socket
 +  * New functionality to force a custom socket for register requests
 +    * https://kamailio.org/docs/modules/devel/modules/uac.html#idm612
 +  * Use auth_ha1 field if set for remote registrations, to allow registration without plain-text password in database
 +
  
 ==== websocket ==== ==== websocket ====
Line 281: Line 325:
   * set server id with --server-id   * set server id with --server-id
   * set a subst, substdef or substdefs preprocessor expression with --subst, --substdef or --substdefs   * set a subst, substdef or substdefs preprocessor expression with --subst, --substdef or --substdefs
 +  * Print the architecture for that Kamailio was compiled for with existing parameter -I
  
 More information: https://www.kamailio.org/w/2019/05/kamailio-command-line-arguments/ More information: https://www.kamailio.org/w/2019/05/kamailio-command-line-arguments/
Line 297: Line 342:
     * https://www.kamailio.org/wiki/cookbooks/devel/core#latency_limit_action     * https://www.kamailio.org/wiki/cookbooks/devel/core#latency_limit_action
     * https://www.kamailio.org/wiki/cookbooks/devel/core#latency_cfg_log     * https://www.kamailio.org/wiki/cookbooks/devel/core#latency_cfg_log
 +  * New core parameter tcp_accept_unique
 +    * https://www.kamailio.org/wiki/cookbooks/devel/core#tcp_accept_unique
 +  * New core parameter tcp_connection_match
 +    * https://www.kamailio.org/wiki/cookbooks/devel/core#tcp_connection_match
  
 ==== Functions ==== ==== Functions ====
Line 305: Line 354:
  
 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. 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.
 +
 +Enable memory mem_join functionality in the memory manager as default. This this should help with server stability in low memory situations. Some downstream projects (e.g. Kazoo) enables this already since years.
  
 ==== Architecture ==== ==== Architecture ====
Line 311: Line 362:
   * 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.   * 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(table) error helper #define to DB1 API and migrate (almost) all modules that use version tables to it. This unify the logging and error behavior of the relevant modules that uses a database.   * Add DB_TABLE_VERSION_ERROR(table) error helper #define to DB1 API and migrate (almost) all modules that use version tables to it. This unify the logging and error behavior of the relevant modules that uses a database.
 +  * Improve to-tags to include more randomness and use the recommended size from RFC 3261.
 +  * Improve core support for ARM v6 and ARM v7 platform
 +  * Different cleanups related to obselete code.
  
 ==== kamailio.cfg ==== ==== kamailio.cfg ====
Line 338: Line 392:
   * Added verification before database reinit   * Added verification before database reinit
   * Warn that drop command will indeed drop the database.   * Warn that drop command will indeed drop the database.
 +  * Increased the size of several database fields to properly store IPv6 data
          
 ==== kamcli ==== ==== kamcli ====
  
features/new-in-5.3.x.txt · Last modified: 2019/09/25 14:51 by henningw