User Tools

Site Tools


features:new-in-5.0.x

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
features:new-in-5.0.x [2017/02/27 10:20]
miconda [siputils]
features:new-in-5.0.x [2017/02/27 12: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 ​(KEMI framework)
  
 ==== 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,​ default value is 1
 +  * support for dialog replication via DMQ
 +  * from-tag optional on dlg.dlg_list/​_ctx RPC commands
 +
 +
 +==== dispatcher ====
 +
 +  * new function ds_select(setid,​ alg, [limit])
 +    * 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,​ tag)     * evapi_unicast(data,​ tag)
     * evapi_async_unicast(data,​ tag)     * evapi_async_unicast(data,​ tag)
 +
 +==== htable ====
 +
 +  * implementation of kemi callback for event routes
 +
 +==== http_async_client ====
 +
 +  * added pseudo variable http_req_id
 +  * set request'​s body through $http_req pseudo-variable
 +  * 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,​ imc.list_memebers
 +
 +==== 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,​ run it instead of default
 +
 +
 +==== 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():​ add support for networks list
 +  * added detailed_ip_type() functions
  
 ==== kex ==== ==== kex ====
Line 110: Line 224:
       * core:​rcv_replies_5xx       * core:​rcv_replies_5xx
       * core:​rcv_replies_6xx       * core:​rcv_replies_6xx
 +
 +==== 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 "​priority"​     * default value is "​priority"​
     * 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,​ fmt)                                                * new function pv_evalx(dst,​ fmt)                                             
     * 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 "​contact_max_size"​ to make max contact size configurable
 +
 +==== rls ====
 +
 +  * added rpc command rls.cleanup
 +
 +==== rtimer ====
 +
 +  * allow multiple timer processes per timer
  
 ==== rtpengine ==== ==== rtpengine ====
Line 139: Line 300:
   * new '​unidirectional'​ flag in Sipwise rtpengine   * new '​unidirectional'​ flag in Sipwise rtpengine
     * allows kernelization of one-way streams     * allows kernelization of one-way streams
 +  * parameters configurable via cfg framework
 +    * rtpengine_disable_tout,​ rtpengine_tout_ms,​ queried_nodes_limit,​ rtpengine_retr are now configurable via kamcmd commands
 +  * implemented rpc command rtpengine.reload
 +
 +==== rtpproxy ====
 +
 +  * implemented rpc commands rtpproxy.enable and rtpproxy.list
  
 ==== sca ==== ==== sca ====
Line 148: Line 316:
   * sca_call_info_update():​ new to/from URI parameters   * sca_call_info_update():​ new to/from URI parameters
     * 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 "​normal"​ close by the other side
 +    * 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,​ ruri, nexthop, socket, headers, body)
 +    * 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:​closed event route     * gives id of closed connection in websocket:​closed event route
 +  * 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://​www.kamailio.org/​wiki/​devel/​config-engines   * http://​www.kamailio.org/​wiki/​devel/​config-engines
 +
 +New global parameter to specify the config engine:
 +
 +  * cfgengine="​name"​
 +
 ==== Parameters ==== ==== Parameters ====
 +
   * log_prefix_mode ​                                     ​   * log_prefix_mode ​                                     ​
     * If set to 1, then the log prefix is evaluated before/​after each config action ​     * If set to 1, then the log prefix is evaluated before/​after each config action ​
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
  
 +<​code>​
     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
 +</​code>​
 +
 +  * added DBPORT option - allows to specify database engine (mysql/​psql) port
     ​     ​
 ==== kamcli ==== ==== kamcli ====
Line 229: Line 492:
   * communicates to Kamailio via jsonrpcs module   * communicates to Kamailio via jsonrpcs module
   * https://​github.com/​kamailio/​kamcli   * https://​github.com/​kamailio/​kamcli
 +
 +==== 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.txt ยท Last modified: 2017/02/27 12:20 by miconda