features:new-in-5.0.x
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
features:new-in-5.0.x [2017/02/27 09:20] – [siputils] miconda | features:new-in-5.0.x [2017/02/27 11:20] (current) – miconda | ||
---|---|---|---|
Line 43: | Line 43: | ||
===== New in Old Modules ===== | ===== New in Old Modules ===== | ||
+ | |||
+ | ==== alias_db ==== | ||
+ | * added flags to control alias db lookup and reverse lookup | ||
+ | | ||
==== app_lua ==== | ==== app_lua ==== | ||
- | * ability to execute routing blocks written directly in Lua | + | * ability to execute routing blocks written directly in Lua (KEMI framework) |
==== app_python ==== | ==== app_python ==== | ||
- | * ability to execute routing blocks written directly in Python | + | * ability to execute routing blocks written directly in Python |
==== auth ==== | ==== auth ==== | ||
* added option to use SHA-256 encryption algorithm for digest authentication | * added option to use SHA-256 encryption algorithm for digest authentication | ||
* add an option to include an Authentication-Info header in the response to a successful authentication | * add an option to include an Authentication-Info header in the response to a successful authentication | ||
+ | |||
+ | ==== auth_ephemeral ==== | ||
+ | |||
+ | * added rpc commands | ||
+ | |||
+ | ==== benchmark ==== | ||
+ | |||
+ | * implemented rpc commands | ||
+ | |||
+ | ==== carrierroute ==== | ||
+ | |||
+ | * implemented cr.dump command | ||
+ | |||
+ | ==== cdp ==== | ||
+ | |||
+ | * added ability to receive TIMEOUT event while in IDLE state to authstatemachine to avoid stale sessions | ||
+ | |||
+ | ==== cfgutils ==== | ||
+ | |||
+ | * added trylock() function | ||
+ | * implemented rpc commands | ||
+ | |||
+ | ==== cplc ==== | ||
+ | |||
+ | * implemented rpc commands | ||
+ | |||
+ | ==== db_berkeley ==== | ||
+ | |||
+ | * added rpc command db_berkeley.reload | ||
+ | |||
==== db_unixodbc ==== | ==== db_unixodbc ==== | ||
+ | |||
* new config variable replace_query | * new config variable replace_query | ||
* Tells if the ODBC replace query is supported by the DB odbc driver | * Tells if the ODBC replace query is supported by the DB odbc driver | ||
* Just like insert, but update the row if it exists otherwise insert | * Just like insert, but update the row if it exists otherwise insert | ||
+ | * added new parameter - quote_char | ||
+ | * specify the character to be used for quoting column and table names in database query | ||
==== dialog ==== | ==== dialog ==== | ||
Line 65: | Line 102: | ||
* terminates a single dialog, identified by a Call-ID. | * terminates a single dialog, identified by a Call-ID. | ||
* terminates an ongoing dialog by sending BYE in both directions | * terminates an ongoing dialog by sending BYE in both directions | ||
+ | * option to set the limit for failed keepalive to end the dialog | ||
+ | * new parameter ka_failed_limit, | ||
+ | * support for dialog replication via DMQ | ||
+ | * from-tag optional on dlg.dlg_list/ | ||
+ | |||
+ | |||
+ | ==== dispatcher ==== | ||
+ | |||
+ | * new function ds_select(setid, | ||
+ | * puts the addresses from destination set in the internal avps lists, without updating dst-uri or r-uri | ||
+ | * added new function ds_reload() | ||
+ | * use avl indexing | ||
+ | |||
+ | |||
+ | ==== dmq_usrloc ==== | ||
+ | |||
+ | * added modparam to specify the usrloc domain to synchronize | ||
==== enum ==== | ==== enum ==== | ||
Line 78: | Line 132: | ||
* evapi_unicast(data, | * evapi_unicast(data, | ||
* evapi_async_unicast(data, | * evapi_async_unicast(data, | ||
+ | |||
+ | ==== htable ==== | ||
+ | |||
+ | * implementation of kemi callback for event routes | ||
+ | |||
+ | ==== http_async_client ==== | ||
+ | |||
+ | * added pseudo variable http_req_id | ||
+ | * set request' | ||
+ | * added support for authentication | ||
+ | |||
+ | ==== http_client ==== | ||
+ | |||
+ | * support for HTTP proxy on a connection | ||
+ | * added configurable authentication methods | ||
+ | * enable keep_connection option | ||
+ | * implemented failover between connections | ||
+ | |||
+ | ==== imc ==== | ||
+ | |||
+ | * implemented rpc commands imc.list_rooms, | ||
+ | |||
+ | ==== ims_charging ==== | ||
+ | |||
+ | * add support for final_unit_indication and redirect in CCA | ||
+ | |||
+ | ==== ims_dialog ==== | ||
+ | |||
+ | * added command to end all active calls | ||
+ | |||
+ | === ims_icscf ==== | ||
+ | |||
+ | * if a route block is defined for lir_user_unknown, | ||
+ | |||
+ | |||
+ | ==== ims_registrar_scscf==== | ||
+ | |||
+ | * new RPC command regscscf.dereg_impu to initiate network de-register | ||
+ | * add param max_notification list size and stat of current size | ||
+ | |||
+ | |||
+ | ==== ims_usrloc_scscf ==== | ||
+ | | ||
+ | * max_subscribes parameter - this limits the number of subscriptions per IMPU, watcher URI and event combination | ||
+ | * add param max_notification list size and stat of current size | ||
+ | |||
+ | ==== ims_qos==== | ||
+ | |||
+ | * new param regex_sdp_ip_prefix_to_maintain_in_fd | ||
+ | * added support for IPv6 IPCAN Session on Rx interface towards PCRF | ||
+ | * store vendor_id on auth session | ||
+ | * new param delete_contact_on_rx_failure | ||
+ | * added additional stat for total number of rx media sessions | ||
+ | * new mod_param to add RTCP flow description for media flow | ||
+ | |||
+ | |||
+ | ==== ipops ==== | ||
+ | |||
+ | * is_in_subnet(): | ||
+ | * added detailed_ip_type() functions | ||
==== kex ==== | ==== kex ==== | ||
Line 110: | Line 224: | ||
* core: | * core: | ||
* core: | * core: | ||
+ | |||
+ | ==== log_systemd ==== | ||
+ | |||
+ | * new function sd_journal_send_xavp() - creates a structured log event in journald | ||
+ | |||
+ | ==== matrix ==== | ||
+ | |||
+ | * added matrix.reload rpc command | ||
+ | |||
+ | ==== mqueue ==== | ||
+ | |||
+ | * added mqueue.get_size rpc command | ||
+ | |||
+ | ==== nathelper ==== | ||
+ | |||
+ | * implemented rpc command nathelper.enable_ping | ||
+ | |||
==== ndb_redis ==== | ==== ndb_redis ==== | ||
Line 125: | Line 256: | ||
* default value is " | * default value is " | ||
* Used to set the order-by of the db query for fetching the presence records | * Used to set the order-by of the db query for fetching the presence records | ||
+ | * added local_log_facility configuration parameter | ||
+ | * added parameter startup_mode | ||
+ | * added rpc command presence.refreshWatchers | ||
+ | |||
+ | ==== pua ==== | ||
+ | |||
+ | * added pua.cleanup rpc command | ||
+ | |||
==== pv ==== | ==== pv ==== | ||
* new function pv_evalx(dst, | * new function pv_evalx(dst, | ||
* The fmt string is evaluated twice for exiting variables, the result is stored in dst variable. | * The fmt string is evaluated twice for exiting variables, the result is stored in dst variable. | ||
+ | * new class of pseudo-variable - $msg(attr) - return attributes of sip message | ||
+ | * $msg(len) - sip message lenght | ||
+ | * $msg(buf) - sip message buffer | ||
+ | * $msg(body) - sip message body | ||
+ | * $msg(body_len) - sip message body lenght | ||
+ | * $msg(hdrs) - sip message headers | ||
+ | * $msg(fline) - sip message first line | ||
+ | * add s.escape.csv transformation | ||
+ | * escapes a string to use as a CSV field, as specified in RFC4180 | ||
+ | |||
+ | ==== regex ==== | ||
+ | |||
+ | * added rpc commands | ||
==== registrar ==== | ==== registrar ==== | ||
- | * Add expiry value to the xavp. | + | * added expiry value to the xavp. |
* handy if Kamailio for some reason changes the expiry value (min, max or variations caused by expiry_range) | * handy if Kamailio for some reason changes the expiry value (min, max or variations caused by expiry_range) | ||
+ | * added parameter " | ||
+ | |||
+ | ==== rls ==== | ||
+ | |||
+ | * added rpc command rls.cleanup | ||
+ | |||
+ | ==== rtimer ==== | ||
+ | |||
+ | * allow multiple timer processes per timer | ||
==== rtpengine ==== | ==== rtpengine ==== | ||
Line 139: | Line 300: | ||
* new ' | * new ' | ||
* allows kernelization of one-way streams | * allows kernelization of one-way streams | ||
+ | * parameters configurable via cfg framework | ||
+ | * rtpengine_disable_tout, | ||
+ | * implemented rpc command rtpengine.reload | ||
+ | |||
+ | ==== rtpproxy ==== | ||
+ | |||
+ | * implemented rpc commands rtpproxy.enable and rtpproxy.list | ||
==== sca ==== | ==== sca ==== | ||
Line 148: | Line 316: | ||
* sca_call_info_update(): | * sca_call_info_update(): | ||
* skips parsing message for To/From header values and uses URI values from parameters | * skips parsing message for To/From header values and uses URI values from parameters | ||
+ | |||
==== sdpops ==== | ==== sdpops ==== | ||
Line 155: | Line 324: | ||
* sdp_remove_line_by_prefix(string //[, mtype]//) | * sdp_remove_line_by_prefix(string //[, mtype]//) | ||
* mtype can be provided to apply the operations only to the streams matching m=mtype | * mtype can be provided to apply the operations only to the streams matching m=mtype | ||
+ | * allows setting a mediatype (e.g. video or audio), when removing a codec from the SDP | ||
+ | |||
+ | ==== sipcapture ==== | ||
+ | |||
+ | * added nonsip_hook support. Now $hep variable available | ||
+ | * added X-RTP-Stat-T38 and X-RTP-Stat-Add | ||
+ | * added support for custom fields | ||
+ | |||
+ | ==== siptrace ==== | ||
+ | |||
+ | * added support for HEPv3 | ||
+ | |||
==== siputils ==== | ==== siputils ==== | ||
+ | |||
* new pseudo variables | * new pseudo variables | ||
* $pcv(orig) - returns orig-ioi from P-Charging-Vector header | * $pcv(orig) - returns orig-ioi from P-Charging-Vector header | ||
* $pcv(term) - returns term-ioi from P-Charging-Vector header | * $pcv(term) - returns term-ioi from P-Charging-Vector header | ||
+ | |||
+ | ==== sqlops ==== | ||
+ | |||
+ | * allow to set the size of sql escape buffer for transformations | ||
+ | |||
+ | ==== tcpops ==== | ||
+ | |||
+ | * use dedicated routes for tcp close events | ||
+ | * tcp:closed for " | ||
+ | * tcp:timeout for timeouts | ||
+ | * tcp:reset for connections closed with RST | ||
+ | |||
+ | ==== tm ==== | ||
+ | |||
+ | * uac: added failover support for local requests | ||
+ | * uac: added support for onsend route on local requests | ||
+ | * tm: implemented rpc command tm.reply_callid | ||
+ | * added t_uac_send(method, | ||
+ | * can be used in config to send new requests (initial or within dialog) | ||
+ | |||
+ | ==== uac ==== | ||
+ | |||
+ | * uac_reg: add uac_reg_status() function | ||
+ | * new function to obtain registration status from within configuration script | ||
+ | * uac_reg: added function to remove registration | ||
+ | * uac_reg: added RPC function to remove a registration | ||
+ | * uac_reg: added RPC function to add a new registration | ||
+ | * uac_reg: return HTTP-like fault codes for RPC | ||
+ | * uac_reg: handle 423 response to outbound register | ||
+ | * uac_reg: keep Call-ID in registration sequence | ||
+ | * uac_reg: add setting for using a random reg_delay | ||
+ | |||
+ | ==== userblacklist ==== | ||
+ | |||
+ | * implemented rpc command userblacklist.reload_blacklist | ||
+ | |||
+ | ==== uri_db ==== | ||
+ | |||
+ | * added function to check any sip uri | ||
+ | |||
+ | ==== utils ==== | ||
+ | |||
+ | * remove http_query function (use instead the http_client module) | ||
+ | |||
+ | ==== xcap_clinet ==== | ||
+ | |||
+ | * implemented rpc commands | ||
==== websocket ==== | ==== websocket ==== | ||
Line 164: | Line 393: | ||
* added $ws_conid pseudo variable | * added $ws_conid pseudo variable | ||
* gives id of closed connection in websocket: | * gives id of closed connection in websocket: | ||
+ | * implemented ws.ping and ws.pong rpc commands | ||
+ | * implemented ws.dump rpc command | ||
+ | * implemented ws.enable and ws.disable rpc commands | ||
+ | |||
+ | |||
===== New in Core ===== | ===== New in Core ===== | ||
Line 170: | Line 404: | ||
* no IP addr associated | * no IP addr associated | ||
* address family AF_PACKET | * address family AF_PACKET | ||
+ | * skip address family AF_PACKET on -l iface_name | ||
+ | * mem_status_all - allow selecting of dumping memory status also for used fragments | ||
+ | * mem_status_mode parameter - if set to 1, qm allocator dumps used fragments in memory status | ||
+ | * new command line option '-Y dir' | ||
+ | * set the runtime directory (used to create fifo, ctl socket, etc...) | ||
+ | |||
==== Interpreter ==== | ==== Interpreter ==== | ||
Line 176: | Line 416: | ||
* http:// | * http:// | ||
+ | |||
+ | New global parameter to specify the config engine: | ||
+ | |||
+ | * cfgengine=" | ||
+ | |||
==== Parameters ==== | ==== Parameters ==== | ||
+ | |||
* log_prefix_mode | * log_prefix_mode | ||
* If set to 1, then the log prefix is evaluated before/ | * If set to 1, then the log prefix is evaluated before/ | ||
Line 187: | Line 433: | ||
* mcast | * mcast | ||
* Specify interface to join multicast group for multicast listen address | * Specify interface to join multicast group for multicast listen address | ||
+ | |||
==== Functions ==== | ==== Functions ==== | ||
==== Memory Managers ==== | ==== Memory Managers ==== | ||
+ | |||
+ | ==== Internal Libraries ==== | ||
+ | |||
+ | * srdb1: support for db result with allocated column names | ||
+ | * kcore: library has been removed | ||
+ | * kmi: library has been removed | ||
==== Architecture ==== | ==== Architecture ==== | ||
+ | |||
+ | * locking - added recursive lock apis | ||
+ | * dedicated struct for TCP closed events | ||
+ | * restructured source code tree | ||
+ | |||
==== kamailio.cfg ==== | ==== kamailio.cfg ==== | ||
Line 203: | Line 461: | ||
* added option to block 401/407 from downstream | * added option to block 401/407 from downstream | ||
+ | |||
===== Tools ===== | ===== Tools ===== | ||
Line 218: | Line 477: | ||
* by default forwards number cli parameters as number type in jsonrpc commands | * by default forwards number cli parameters as number type in jsonrpc commands | ||
+ | < | ||
kamctl rpc jsonrpc.echo abc 123 | kamctl rpc jsonrpc.echo abc 123 | ||
kamctl rpc jsonrpc.echo s:abc i:123 | kamctl rpc jsonrpc.echo s:abc i:123 | ||
kamctl rpc jsonrpc.echo s:888 i:123 | kamctl rpc jsonrpc.echo s:888 i:123 | ||
kamctl rpc core.version | kamctl rpc core.version | ||
+ | </ | ||
+ | |||
+ | * added DBPORT option - allows to specify database engine (mysql/ | ||
| | ||
==== kamcli ==== | ==== kamcli ==== | ||
Line 229: | Line 492: | ||
* communicates to Kamailio via jsonrpcs module | * communicates to Kamailio via jsonrpcs module | ||
* https:// | * https:// | ||
+ | |||
+ | ==== misc ==== | ||
+ | |||
+ | * protoshoot: option to disable sctp with SCTP=0 in make command | ||
+ | |||
+ | ===== Unit Tests ===== | ||
+ | |||
+ | * reworked the unit tests to be in sync with latest version | ||
+ | * added new unit tests |
features/new-in-5.0.x.1488187259.txt.gz · Last modified: 2017/02/27 09:20 by miconda