User Tools

Site Tools


features:new-in-4.3.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.3.x [2015/06/04 23:32]
miconda
features:new-in-4.3.x [2016/05/12 15:28] (current)
mslehto [Kamailio SIP Server (SER) - New Features in v4.3.x] wordsmithing on the version
Line 1: Line 1:
 ====== Kamailio SIP Server (SER) - New Features in v4.3.x ====== ====== Kamailio SIP Server (SER) - New Features in v4.3.x ======
  
-**Current stable version is numbered 4.3.x and it was released in June 2015**.+**First release in this series is numbered 4.3.x and it was released in June 10, 2015**.
  
 <fc #0000FF> <fc #0000FF>
-**Previous version was 4.2.x (released on October 16, 2014), see what was new in that release at:**+**Previous stable version was 4.2.x (released on October 16, 2014), see what was new in that release at:**
 </fc> </fc>
   * <fc #0000FF>http://www.kamailio.org/wiki/features/new-in-4.2.x</fc>   * <fc #0000FF>http://www.kamailio.org/wiki/features/new-in-4.2.x</fc>
Line 15: Line 15:
  
   * API-like shared key peer-to-peer authentication using SHA hashing   * API-like shared key peer-to-peer authentication using SHA hashing
-  * http://kamailio.org/docs/modules/devel/modules/auth_xkeys.html+  * http://kamailio.org/docs/modules/4.3.x/modules/auth_xkeys.html
  
 ==== dmq_usrloc ==== ==== dmq_usrloc ====
  
   * distribute user location (usrloc) records between Kamailio servers using distributed message queue (dmq)   * distribute user location (usrloc) records between Kamailio servers using distributed message queue (dmq)
-  * http://kamailio.org/docs/modules/devel/modules/dmq_usrloc.html+  * http://kamailio.org/docs/modules/4.3.x/modules/dmq_usrloc.html
  
 ==== erlang ==== ==== erlang ====
  
   * connector to Erlang node   * connector to Erlang node
-  * http://kamailio.org/docs/modules/devel/modules/erlang.html+  * http://kamailio.org/docs/modules/4.3.x/modules/erlang.html
  
 ==== geoip2 ==== ==== geoip2 ====
  
   * GeoIP API for configuration file using the new library with support for IPv6   * GeoIP API for configuration file using the new library with support for IPv6
-  * http://kamailio.org/docs/modules/devel/modules/geoip2.html+  * http://kamailio.org/docs/modules/4.3.x/modules/geoip2.html
  
 ==== jansson ==== ==== jansson ====
Line 36: Line 36:
   * JSON document management using Jansson library   * JSON document management using Jansson library
   * it has support for JSON-PATH   * it has support for JSON-PATH
-  * http://kamailio.org/docs/modules/devel/modules/jansson.html+  * http://kamailio.org/docs/modules/4.3.x/modules/jansson.html
  
 ==== janssonrpc-c ==== ==== janssonrpc-c ====
  
   * JSON-RPC over netstrings client using Jansson library   * JSON-RPC over netstrings client using Jansson library
-  * http://kamailio.org/docs/modules/devel/modules/janssonrpc-c.html+  * http://kamailio.org/docs/modules/4.3.x/modules/janssonrpc-c.html
  
 ==== statsd ==== ==== statsd ====
  
   * enables sending data to the statsd framework directly from kamailio.cfg   * enables sending data to the statsd framework directly from kamailio.cfg
-  * http://kamailio.org/docs/modules/devel/modules/statsd.html+  * http://kamailio.org/docs/modules/4.3.x/modules/statsd.html
  
 ==== rtjson ==== ==== rtjson ====
  
   * SIP routing based on JSON API   * SIP routing based on JSON API
-  * http://kamailio.org/docs/modules/devel/modules/rtjson.html+  * http://kamailio.org/docs/modules/4.3.x/modules/rtjson.html
  
 ==== tcpops ==== ==== tcpops ====
  
   * enables control of the TCP options (such as the keepalive mechanism), on demand, and on a per-socket basis   * enables control of the TCP options (such as the keepalive mechanism), on demand, and on a per-socket basis
-  * http://kamailio.org/docs/modules/devel/modules/tcpops.html+  * http://kamailio.org/docs/modules/4.3.x/modules/tcpops.html
  
 ===== New in Old Modules ===== ===== New in Old Modules =====
 +
 +==== acc ====
 +
 +   * new parameter cdr_on_failed to control writing cds for failed dialogs
  
 ==== app_lua ==== ==== app_lua ====
Line 66: Line 70:
     * sr.tm.t_next_contatcs     * sr.tm.t_next_contatcs
     * sr.tm.t_on_branch_failure     * sr.tm.t_on_branch_failure
 +  * exported the APIs from uac and ndb_mongodb modules
  
 ==== auth_radius ==== ==== auth_radius ====
Line 91: Line 96:
  
   * added Redis support for distributed cnxcc nodes   * added Redis support for distributed cnxcc nodes
 +
 +==== ctl ====
 +
 +  * default path for ctl socket file is: /var/run/kamailio/kamailio_ctl
  
 ==== db_mysql ==== ==== db_mysql ====
Line 96: Line 105:
   * added parameter to change affected rows value for UPDATE queries   * added parameter to change affected rows value for UPDATE queries
     * when enabled will return the number of matched/foudn rows as opposed to the number of updated rows     * when enabled will return the number of matched/foudn rows as opposed to the number of updated rows
 +  * set back tick as quoting char for table and column names
  
 ==== db_postgres ==== ==== db_postgres ====
Line 105: Line 115:
   * added affected rows capability   * added affected rows capability
   * support for OP_NEQ   * support for OP_NEQ
 +  * simple raw query support for select operation
  
 ==== dialog ==== ==== dialog ====
  
   * option to add custom headers for local requests to callee   * option to add custom headers for local requests to callee
 +  * don't send keepalive if dialog not in confirmed state
  
 ==== dialog_ng ==== ==== dialog_ng ====
Line 128: Line 140:
   * new function ds_list_exist() to check if a dispatcher set exists   * new function ds_list_exist() to check if a dispatcher set exists
   * added per gateway and global send socket configuration   * added per gateway and global send socket configuration
 +
 +==== dmq ====
 +
 +  * resolve multiple IPv4/IPv6 addresses for a single notification address    
 +    * optionally enabled by new parameter "multi_notify"
 +    * includes addresses from DNS SRV records, A and AAAA records
  
 ==== geoip ==== ==== geoip ====
Line 138: Line 156:
   * added support for trunk ID in Ro CCR   * added support for trunk ID in Ro CCR
   * added access-network-information data to CCR - allows OCS to know location of UE when charge was made   * added access-network-information data to CCR - allows OCS to know location of UE when charge was made
 +  * added extra statistic: replies received for CCRs
  
 ==== ims_icscf ==== ==== ims_icscf ====
Line 147: Line 166:
   * use separate process to manage reginfo subscribes and publishes   * use separate process to manage reginfo subscribes and publishes
   * new pseude-variable to get username of Contact that was used during registration   * new pseude-variable to get username of Contact that was used during registration
 +  * added optinal extra parameter for lookup_transport - allows avp,pv,etc to be used as URI in search for lookup_transport
  
 ==== ims_registrar_scscf ==== ==== ims_registrar_scscf ====
Line 155: Line 175:
   * new parameter notification_list_size_threshold   * new parameter notification_list_size_threshold
   * new function term_impu_has_contact - use this function to check if an IMPU has a valid contact   * new function term_impu_has_contact - use this function to check if an IMPU has a valid contact
 +  * added support to receive RTR on Cx/Dx interface
  
 ==== ims_qos ==== ==== ims_qos ====
Line 162: Line 183:
   * new parameter cdp_event_list_size_threshold   * new parameter cdp_event_list_size_threshold
   * added stats framework and basic stats   * added stats framework and basic stats
 +  * added new statistic aar_replies_received
  
 ==== ims_usrloc_pcscf ==== ==== ims_usrloc_pcscf ====
Line 171: Line 193:
   * added database support for subscriptions   * added database support for subscriptions
   * callback when contact is deleted/removed   * callback when contact is deleted/removed
 +
 +==== ipops ====
 +
 +  * added function to perform dns srv query in config
 +  * new config variable $srvquery(key) gives access to result
  
 ==== jsonrpc-s ==== ==== jsonrpc-s ====
Line 176: Line 203:
   * support to receive RPC commands via FIFO file   * support to receive RPC commands via FIFO file
     * JSON-RPC commands can be sent now via a FIFO file, as alternative to (or together with) HTTP/S     * JSON-RPC commands can be sent now via a FIFO file, as alternative to (or together with) HTTP/S
 +
 +==== mi_fifo ====
 +
 +  * default path to fifo file is /var/run/kamailio/kamailio_fifo
 +
 +==== msilo ====
 +
 +  * new parameter skip_notification_flag
 +    * set to a flag value to be used to mark when the notification back to sender shouldn't be sent
  
 ==== nathelper ==== ==== nathelper ====
Line 181: Line 217:
   * add append_sdp_oldmediaip parameter   * add append_sdp_oldmediaip parameter
   * use always contact to build ruri and received field if available to send the ping   * use always contact to build ruri and received field if available to send the ping
 +
 +==== ndb_mongodb ====
 +
 +  * added mongodb_find_one()
 +    * find first matching document and return it
 +    * faster when knowing it is supposed to be only one, or needing only one
  
 ==== ndb_redis ==== ==== ndb_redis ====
  
   * Redis authentication is now supported:   * Redis authentication is now supported:
- +    * modparam("ndb_redis", "server", "name=srvX;addr=127.0.0.2;port=6379;db=4;pass=mypassword") 
- modparam("ndb_redis", "server", "name=srvX;addr=127.0.0.2;port=6379;db=4;pass=mypassword")+  * optionally allow starting without a connection to Redis server
  
 ==== pipelimit ==== ==== pipelimit ====
Line 230: Line 272:
   * $sut - new variable that returns full uri for source address   * $sut - new variable that returns full uri for source address
   * added 7Bit encoding/decoding transformations   * added 7Bit encoding/decoding transformations
 +  * new function xavp_params_explode(p, x)
 +    * convert a string formatted as SIP params in xavp attribute
 +    * e.g., xavp_params_explode("a=b;c=d;e=d", "x") results in:
 +<code c>
 +      $xavp(x=>a) = "b";
 +      $xavp(x=>c) = "d";
 +      $xavp(x=>e) = "f";
 +</code>
 +  * new config var - $sbranch(key)
 +    * a static branch structure that can be used for config operations
 +    * the key can be like for $branch(key)
 +    * the static branch is not used for outbound routing, it is just a local container
 +  * functions to manage ruri and branches using $sbranch(key)
 +    * sbranch_set_ruri() -- use the $sbranch(key) attributes to update first branch fields (corresponding to r-uri)
 +    * sbranch_append() -- use the $sbranch(key) attributes to append a branch (alternative to append_branch() which is not affecting r-uri branch)
 +    * sbranch_reset() -- reset the attributes of $sbranch(key)
 +
  
 ==== registrar ==== ==== registrar ====
Line 261: Line 320:
    * rtp_inst_pvar: pseudo variable to store the chosen RTP engine address    * rtp_inst_pvar: pseudo variable to store the chosen RTP engine address
    * added queried_nodes_limit parameter - configure the total number of nodes inside a set to be tried before giving up selecting a rtpengine    * added queried_nodes_limit parameter - configure the total number of nodes inside a set to be tried before giving up selecting a rtpengine
 +   * support for IPv6 force_send_interface
  
 ==== sdpops ==== ==== sdpops ====
Line 293: Line 353:
  
   * $T_branch(uri) - return uri of the branch when processing a reply in tm onreply_route   * $T_branch(uri) - return uri of the branch when processing a reply in tm onreply_route
 +
 ==== tsilo ==== ==== tsilo ====
  
   * new MI and RPC commands   * new MI and RPC commands
 +  * use use_domain inherited from usrloc
  
 ==== uac ==== ==== uac ====
  
   * counters for active, disabled and total number of registrations   * counters for active, disabled and total number of registrations
 +  * new fields in $uac_req() to allow execution of event route on reply
 +    * attributes:
 +      * evroute - set to 1 to enable execution of event route
 +      * evparam - generic string value that will be available in event route
 +      * evcode - sip reply code, available in event route
 +      * evtype - type of the reply - received or local generated (e.g., timeout)
 +  * option to execute event_route[uac:reply] for uac_req_send() replies
 +    * $uac(evroute) has to be set to 1 and event_route[uac:reply] defined
 +      * inside event_route[uac_reply] the $uac_req(...) variable is restored back as before uac_req_send(), having the values from that time, excepting:
 +        * $uac_req(evcode) is set to the reply code
 +        * $uac_req(evtype) is set to 1 if the reply was received or to 2 if the reply was self generated (e.g., case of transmission timeout)
 +    * if $uac_req(evtype)==1, the message processed inside the event route is the received reply, otherwise is a faked request with no relation to the request sent out by uac_req_send()
 +
  
 ==== userblacklist ==== ==== userblacklist ====
Line 310: Line 385:
   * new parameter: ''close_expired_tcp''. When set to 1, usrloc will close the corresponding TCP connection for expired entries   * new parameter: ''close_expired_tcp''. When set to 1, usrloc will close the corresponding TCP connection for expired entries
   * store server_id, connection id and keepalive values for location records   * store server_id, connection id and keepalive values for location records
 +  * fetching of records for nat keepalives in db only is done using new partition column
  
 ==== xlog ==== ==== xlog ====
Line 333: Line 409:
   * preprocessor subst rules are applied to pv names   * preprocessor subst rules are applied to pv names
   * add support for per-TCP connection lifetime   * add support for per-TCP connection lifetime
 +  * libsrdb1: mechanism to be able to quote table and column names
  
 === TLSF Memory Manager === === TLSF Memory Manager ===
Line 344: Line 421:
 ==== Default Config ==== ==== Default Config ====
  
 +  * parameters with the paths to fifo and unixsocket control file are pointing to /var/run/kamailio/
 ===== Tools ===== ===== Tools =====
  
features/new-in-4.3.x.1433453579.txt.gz · Last modified: 2015/06/04 23:32 by miconda