features:new-in-4.3.x
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
features:new-in-4.3.x [2015/06/04 21:32] – miconda | features:new-in-4.3.x [2016/05/12 13:28] (current) – [Kamailio SIP Server (SER) - New Features in v4.3.x] wordsmithing on the version mslehto | ||
---|---|---|---|
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 | + | **First release in this series |
<fc #0000FF> | <fc #0000FF> | ||
- | **Previous version was 4.2.x (released on October 16, 2014), see what was new in that release at:** | + | **Previous |
</fc> | </fc> | ||
* <fc # | * <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:// | + | * http:// |
==== 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:// | + | * http:// |
==== erlang ==== | ==== erlang ==== | ||
* connector to Erlang node | * connector to Erlang node | ||
- | * http:// | + | * http:// |
==== 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:// | + | * http:// |
==== 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:// | + | * http:// |
==== janssonrpc-c ==== | ==== janssonrpc-c ==== | ||
* JSON-RPC over netstrings client using Jansson library | * JSON-RPC over netstrings client using Jansson library | ||
- | * http:// | + | * http:// |
==== 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:// | + | * http:// |
==== rtjson ==== | ==== rtjson ==== | ||
* SIP routing based on JSON API | * SIP routing based on JSON API | ||
- | * http:// | + | * http:// |
==== 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:// | + | * http:// |
===== 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: / | ||
==== 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/ | * when enabled will return the number of matched/ | ||
+ | * 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 " | ||
+ | * 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/ | * callback when contact is deleted/ | ||
+ | |||
+ | ==== 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 / | ||
+ | |||
+ | ==== msilo ==== | ||
+ | |||
+ | * new parameter skip_notification_flag | ||
+ | * set to a flag value to be used to mark when the notification back to sender shouldn' | ||
==== 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(" | |
- | modparam(" | + | * 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/ | * added 7Bit encoding/ | ||
+ | * new function xavp_params_explode(p, | ||
+ | * convert a string formatted as SIP params in xavp attribute | ||
+ | * e.g., xavp_params_explode(" | ||
+ | <code c> | ||
+ | $xavp(x=> | ||
+ | $xavp(x=> | ||
+ | $xavp(x=> | ||
+ | </ | ||
+ | * 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: | * rtp_inst_pvar: | ||
* 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: | ||
+ | * $uac(evroute) has to be set to 1 and event_route[uac: | ||
+ | * inside event_route[uac_reply] the $uac_req(...) variable is restored back as before uac_req_send(), | ||
+ | * $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, | ||
+ | |||
==== userblacklist ==== | ==== userblacklist ==== | ||
Line 310: | Line 385: | ||
* new parameter: '' | * new parameter: '' | ||
* 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 / | ||
===== Tools ===== | ===== Tools ===== | ||
features/new-in-4.3.x.1433453579.txt.gz · Last modified: 2015/06/04 21:32 by miconda