This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
features:new-in-5.2.x [2018/11/27 10:56] miconda |
features:new-in-5.2.x [2019/09/04 20:30] (current) henningw |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Kamailio SIP Server | + | ====== Kamailio SIP Server - New Features in 5.2.0 ====== |
<fc #0000FF> | <fc #0000FF> | ||
Line 6: | Line 6: | ||
* <fc # | * <fc # | ||
- | <fc # | + | <fc # |
Line 13: | Line 13: | ||
==== acc_json ==== | ==== acc_json ==== | ||
+ | Generate accounting records in JSON format. | ||
* https:// | * https:// | ||
+ | |||
+ | ==== app_python3 ==== | ||
+ | |||
+ | KEMI interpreter implementation for Python3. | ||
+ | |||
+ | * https:// | ||
==== app_ruby ==== | ==== app_ruby ==== | ||
+ | KEMI interpreter implementation for Ruby. | ||
* https:// | * https:// | ||
Line 23: | Line 31: | ||
==== db_redis ==== | ==== db_redis ==== | ||
+ | Database APIv1 implementation with a REDIS backend. | ||
* https:// | * https:// | ||
+ | |||
+ | ==== ims_ipsec_pcscf ==== | ||
+ | |||
+ | IMS IPSec implementation for P-CSCF systems. | ||
+ | |||
+ | * https:// | ||
==== pua_json ==== | ==== pua_json ==== | ||
+ | Presence User Agent implementation with JSON messages. | ||
* https:// | * https:// | ||
+ | |||
===== New in Old Modules ===== | ===== New in Old Modules ===== | ||
- | ===== acc ===== | + | ==== acc ==== |
* use acc.time_mode to save cdrs in gmt time | * use acc.time_mode to save cdrs in gmt time | ||
- | ===== app_lua | + | ==== app_lua ==== |
* LUAJIT variable to build agains LuaJIT compiler | * LUAJIT variable to build agains LuaJIT compiler | ||
Line 55: | Line 72: | ||
* new RPC commands timer_list and timer_name_list | * new RPC commands timer_list and timer_name_list | ||
- | |||
==== cfg_rpc ==== | ==== cfg_rpc ==== | ||
Line 76: | Line 92: | ||
* send() renamed to send_udp() | * send() renamed to send_udp() | ||
* reflect better that it uses UDP always, similar to send_tcp() | * reflect better that it uses UDP always, similar to send_tcp() | ||
+ | * new function via_use_xavp_fields(mode) | ||
+ | * set/unset the flag for building local Via using fields from via_xavp_fields xavp | ||
==== db_mongodb ==== | ==== db_mongodb ==== | ||
* create projection field to set the list of returned column | * create projection field to set the list of returned column | ||
+ | |||
+ | ==== db_mysql ==== | ||
+ | |||
+ | * added support for unsigned integers in INT and BIGINT DB1 API | ||
+ | * added parameter unsigend_type | ||
+ | * if set to 1, then the module converts unsigned column value to DB1_UINT or DB1_UBIGINT | ||
+ | |||
+ | ==== db_postgres ==== | ||
+ | |||
+ | * new parameter bytea_output_escape | ||
+ | * control escaping output for bytea fields - default 1 (do the escape) | ||
=== dialog === | === dialog === | ||
Line 119: | Line 147: | ||
==== dmq ==== | ==== dmq ==== | ||
- | * improveD | + | * improved |
* added ' | * added ' | ||
* continue to probe nodes marked as inactive/ | * continue to probe nodes marked as inactive/ | ||
Line 175: | Line 203: | ||
* $redisd(...) - pv that exports defined values by redis lib | * $redisd(...) - pv that exports defined values by redis lib | ||
+ | |||
+ | ==== nsq ==== | ||
+ | |||
+ | * deprecated json and pua funcs for json api and pua_json modules | ||
==== p_usrloc ==== | ==== p_usrloc ==== | ||
Line 194: | Line 226: | ||
* added rpc command pl.list | * added rpc command pl.list | ||
* get the details of one or all pipes in json format | * get the details of one or all pipes in json format | ||
+ | * allow offloading timer routine from fast timer to secondary wheel timer | ||
+ | * allow to disable fetching cpu and network load | ||
==== presence ==== | ==== presence ==== | ||
Line 259: | Line 293: | ||
* new mod param ' | * new mod param ' | ||
* new function - sanity_reply() that can be used in config to send a reply with a code and reason set by the module when detecting a problem inside sip message | * new function - sanity_reply() that can be used in config to send a reply with a code and reason set by the module when detecting a problem inside sip message | ||
+ | |||
+ | ==== sdpops ==== | ||
+ | |||
+ | * fetch and manipulate origin line sess-version through pseudo-variable | ||
==== sipcapture ==== | ==== sipcapture ==== | ||
Line 264: | Line 302: | ||
* added sip_capture_forward(uri) | * added sip_capture_forward(uri) | ||
* forward the hep packet to another address | * forward the hep packet to another address | ||
- | * the address has to bbe provided as parameter in sip uri format | + | * the address has to be provided as parameter in sip uri format |
* the function should be used inside event_route[sipcapture: | * the function should be used inside event_route[sipcapture: | ||
<code c> | <code c> | ||
Line 373: | Line 411: | ||
* new parameter version_table | * new parameter version_table | ||
* set it to 0 to disable checking the version for location table | * set it to 0 to disable checking the version for location table | ||
+ | * call contact expired callback for a domain with db_mode DB_ONLY | ||
Line 399: | Line 438: | ||
* kemi - added KSR.is_method_in(" | * kemi - added KSR.is_method_in(" | ||
* check if current method matches one listed in the flags | * check if current method matches one listed in the flags | ||
- | * flags are: I (INVITE), A (ACK), B (BYE), C (CANCEL), R (REGISTER), | + | * flags are: I (INVITE), A (ACK), B (BYE), C (CANCEL), R (REGISTER), P (PUBLISH), S (SUBSCRIBE), |
- | | + | |
* KSR.is_method_in(" | * KSR.is_method_in(" | ||
* kemi - renamed KSR.drop() to KSR.set_drop() | * kemi - renamed KSR.drop() to KSR.set_drop() | ||
Line 428: | Line 466: | ||
* new core parameter xavp_via_params | * new core parameter xavp_via_params | ||
* set the name of the xavp whose subfields will be added as via params | * set the name of the xavp whose subfields will be added as via params | ||
+ | * new global parameter xavp_via_fields | ||
+ | * set the name of xavp from where to take Via header field: address and port | ||
+ | * use them to build local Via header | ||
Line 438: | Line 479: | ||
* mem - added shm_address_in(p) | * mem - added shm_address_in(p) | ||
* return 1 if pointer p is inside shared memory zone, 0 otherwise | * return 1 if pointer p is inside shared memory zone, 0 otherwise | ||
- | |||
- | ==== Architecture ==== | ||
==== kamailio.cfg ==== | ==== kamailio.cfg ==== | ||
Line 447: | Line 486: | ||
===== Tools ===== | ===== Tools ===== | ||
- | |||
- | ==== kamcmd ==== | ||
==== kamctl ==== | ==== kamctl ==== | ||
Line 454: | Line 491: | ||
* default PID_FILE set to / | * default PID_FILE set to / | ||
* added mtree management command | * added mtree management command | ||
+ | * more portable jsonrpc filter | ||
* kamdbctl - remove not working db migrate command | * kamdbctl - remove not working db migrate command | ||
* kamdbctl - schema - removed rpid and email_address columns from subscriber table | * kamdbctl - schema - removed rpid and email_address columns from subscriber table |