User Tools

Site Tools


features:new-in-4.1.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
Previous revision
features:new-in-4.1.x [2013/11/15 14:34]
miconda [usrloc]
features:new-in-4.1.x [2013/12/04 11:10] (current)
miconda [Kamailio SIP Server (SER) - New Features in v4.1.x]
Line 1: Line 1:
 ====== Kamailio SIP Server (SER) - New Features in v4.1.x ====== ====== Kamailio SIP Server (SER) - New Features in v4.1.x ======
  
-**First release in this series is to be numbered 4.1.0 and it is planned to be released in by end of November 2013**.+**First release in this series is numbered 4.1.0 released on December 04, 2014**.
  
 <fc #0000FF> <fc #0000FF>
Line 36: Line 36:
   * http://kamailio.org/docs/modules/devel/modules/gzcompress.html   * http://kamailio.org/docs/modules/devel/modules/gzcompress.html
  
 +==== ims_charging ====
 +
 +
 +  * IMS charging module for Diameter-Ro-Operations
 +  * http://kamailio.org/docs/modules/devel/modules/ims_charging.html
 ==== mohqueue ==== ==== mohqueue ====
  
Line 60: Line 65:
   * http://kamailio.org/docs/modules/devel/modules/stun.html   * http://kamailio.org/docs/modules/devel/modules/stun.html
 ===== New in Old Modules ===== ===== New in Old Modules =====
 +
 +
 +==== acc ====
 +
 +  * new parameter time_mode
 +    * store additional time values in time_attr and time_exten attributes/db columns
 +    * if time_mode==1, save timestamp in time_attr and microsecs in time_exten
 +    * if time_mode==2, then time_attr store the seconds.miliseconds
 +    * if time_mode==0 (default), then it is like now, only timestamp stored
 +    * time_attr value can be set via parameter with same name - it represents syslog value or db table column
 +    * for db accounting, when time_mode==1, the type of column has to be int, and for time_mode==2, the type of column has to be double
 +    * features implemented only for syslog and db accounting
 +    * new parameter acc_time_format - specify the format to print time as string for acc_time_mode=3 (using localtime) and acc_time_mode=4 (using gmtime)
 +      * default value is "%Y-%m-%d %H:%M:%S"
 +  * option to write dialog-based cdrs to database
 +    * new module parameter cdrs_table has to be set and classic db accounting enabled at compile time and db_url set
 +    * cdr_log_enable - new parameter to turn off writing cdrs to syslog, cdr_enable being now used as top level control flag for both cdrs to syslog or db
  
  
Line 71: Line 93:
   * avp_check re operation can now use a pseudo variable as second parameter.   * avp_check re operation can now use a pseudo variable as second parameter.
   * avp_check with xavp as second parameter can now be used with [*] index on the second key.   * avp_check with xavp as second parameter can now be used with [*] index on the second key.
 +  * allow xavp as parameter where avp is allowed
  
 ==== cdp ==== ==== cdp ====
Line 81: Line 104:
     * check_route_exists() checks if a routing block exists in the script.     * check_route_exists() checks if a routing block exists in the script.
  
 +==== corex ====
 +
 +  * new pv $cfg(key) - return attributes for config file
 +    * $cfg(line) - the line of the current action.
 +    * $cfg(name) - the name of the current conf file
 +    * example: append_to_reply("P-Cfg-Line: $cfg(line)\r\n");
 ==== db_mysql ==== ==== db_mysql ====
  
Line 100: Line 129:
     * options to enable/disable per module log level as well as set per module log level at runtime.     * options to enable/disable per module log level as well as set per module log level at runtime.
     * dbg.reset_msg: resets the msgid ( $mi ).     * dbg.reset_msg: resets the msgid ( $mi ).
 +  * new parameter cfgpkgcheck to do pkg memory check before each action
  
 ==== dialog ==== ==== dialog ====
Line 105: Line 135:
   * SDP can be passed to MI/RPC dlg_bridge command   * SDP can be passed to MI/RPC dlg_bridge command
   * added timer process to clean unconfirmed dialogs older than 5min   * added timer process to clean unconfirmed dialogs older than 5min
 +  * decode alias parameter from contact address and use it as dst uri - makes dialog module to work with set_contact_alias() as first hop after a nat router
  
 ==== dispatcher ==== ==== dispatcher ====
Line 121: Line 152:
   * lifted the limit for max number of slots, now is 2^31   * lifted the limit for max number of slots, now is 2^31
   * added rpc command htable.stats - print stats about htables: name, number of slots, number of items, max number of items per slot, min number of items per slot   * added rpc command htable.stats - print stats about htables: name, number of slots, number of items, max number of items per slot, min number of items per slot
 +  * dmq integration
  
  
Line 162: Line 194:
  
   * mtree.reload rpc command   * mtree.reload rpc command
 +  *  added 'multi' param to mtree definition - new 'multi' param makes it possible to store both integer and string typed mtrees into single db table
 ==== nathelper ==== ==== nathelper ====
  
   * new option - natping_disable_bflag can be set on a per-registration basis to disable NAT pings completely   * new option - natping_disable_bflag can be set on a per-registration basis to disable NAT pings completely
   * removed natping_proceses limit   * removed natping_proceses limit
 +  * set_contact_alias() new function for adding alias parameter to contact uri
 +    * similar to add_contact_alias(), but this works like fix_nated_contact(), in the way that new contact uri is immediately visible to other modules (e.g., dialog, presence)
 +  * udpping_from_path - enable sending UDP pings with raw sockets from Path address
 +
  
  
Line 194: Line 231:
   * added $_s(format) variable - evaluate the format as a dynamic string ($var(x) = "sip:" + $rU + "@" + $fd; is equivalent of: $var(x) = $_s(sip:$rU@$fd);)   * added $_s(format) variable - evaluate the format as a dynamic string ($var(x) = "sip:" + $rU + "@" + $fd; is equivalent of: $var(x) = $_s(sip:$rU@$fd);)
   * added transformations for url encode/decode   * added transformations for url encode/decode
 +  * param transformation can (optionally) specify what the parameter delimiter is
  
 ==== registrar ==== ==== registrar ====
Line 202: Line 240:
   * set_q_override API function - override the value of the q parameter from the Contact header in subsequent calls to the save() function for the current request   * set_q_override API function - override the value of the q parameter from the Contact header in subsequent calls to the save() function for the current request
   * regid_mode parameter - control if REGISTER contact regid (if present) is used when REGISTER request is saved even if request does not indicate support for outbound   * regid_mode parameter - control if REGISTER contact regid (if present) is used when REGISTER request is saved even if request does not indicate support for outbound
 +  * option to take the socket from an xavp - child named "socket" of xavp named by xavp_cfg parameter
  
 ==== rr ==== ==== rr ====
Line 251: Line 290:
  
   * config param can now specify a file or directory   * config param can now specify a file or directory
 +  * extended supportd tls methods - TLSv1.1 and TLSv1.2 (from openssl 1.0.1e on) added to the internal list
 ==== tm ==== ==== tm ====
  
Line 265: Line 305:
     * if 1, the rcv socket is used, if not it depends on mhomed - when that is 0, the first socket is used, otherwise will be selected based on routing table     * if 1, the rcv socket is used, if not it depends on mhomed - when that is 0, the first socket is used, otherwise will be selected based on routing table
     * default is 0     * default is 0
 +  * new function t_set_disable_internal_reply(0|1) to disable|enable internal reply option per transaction
 +  * new function t_use_uac_headers()
 +    * set internal flags to tell tm to use UAC side for building headers for local generated requests (ACK, CANCEL) - useful when changing From/To headers using other functions than uac_replace_[from|to]()
 +
  
 ==== tmx ==== ==== tmx ====
Line 296: Line 340:
   * added two new rpc commands ul.db_users and ul.db_contacts - for accessing number of different AoRs and contacts in a location table   * added two new rpc commands ul.db_users and ul.db_contacts - for accessing number of different AoRs and contacts in a location table
   * new command ul.db_expired_contacts tells number of expired contacts   * new command ul.db_expired_contacts tells number of expired contacts
 +  * detect lost tcp connnections on timer and set associated contact as expired
 +    * new module parameter to control this feature: handle_lost_tcp
 +
  
 ==== utils ==== ==== utils ====
Line 306: Line 353:
   * new function ws_close() - enables immediate closure of a WebSocket connection from the configuration file.   * new function ws_close() - enables immediate closure of a WebSocket connection from the configuration file.
  
 +==== xhttp ====
 +
 +  * added transformation to break a URL into "path" and "querystring"
 ===== New in Core ===== ===== New in Core =====
  
Line 318: Line 368:
   * allow c++ style of one line comments (i.e., / / comment ...) - can make easier the read of config files with defines and comments   * allow c++ style of one line comments (i.e., / / comment ...) - can make easier the read of config files with defines and comments
   * execute event_route[core:receive-parse-error] block on error of initial sip message parsing - note that the SIP message is broken in this case, but it gets access to source and local socket addresses (ip, port, proto, af) as well as the whole message buffer and its size   * execute event_route[core:receive-parse-error] block on error of initial sip message parsing - note that the SIP message is broken in this case, but it gets access to source and local socket addresses (ip, port, proto, af) as well as the whole message buffer and its size
 +  * store current executed cfg action in a global variable - can be retrieved by module to access name of config file and the line
 +  * handle pv comparison with $null as when 'defined' is used
 +  * respect order field in NAPTR, as required by RFC 2915
 +    * the beaviour is controlled by core parameter dns_naptr_ignore_rfc
 +    * default is 1, preserving current behaviouf to ignore rfc requirements (for backward compatibility)
 +
  
  
Line 354: Line 410:
     kamctl db nmatch subscriber id 123     kamctl db nmatch subscriber id 123
 </code> </code>
 +
 +  * added commands to set extra columns in subscriber table
 +    * useful to deal with columns added for load_credentials of auth_db module
 +      * 'sets' - sets a column with string value
 +      * 'setn' - sets a column with numeric value
  
  
 ==== kamdbctl ==== ==== kamdbctl ====
  
-  * new command 'add-tables <gid>to create only specific table grouped under same <gid> name+  * new command add-tables 
 +    * creates only tables that are groupped under same id, thus have the sql script in a file 
 +    * syntax: kamdbctl add-tables <gid> 
 +    * there has to be a <gid>-create.sql script, eg: kamdbctl add-tables lcr
  
features/new-in-4.1.x.1384522450.txt.gz · Last modified: 2013/11/15 14:34 by miconda