features:new-in-4.2.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.2.x [2014/10/11 10:44] – [Code] miconda | features:new-in-4.2.x [2014/10/15 20:02] (current) – miconda | ||
---|---|---|---|
Line 15: | Line 15: | ||
* push details of events to remote applications via tcp | * push details of events to remote applications via tcp | ||
- | * http:// | + | * http:// |
==== db_mongodb ==== | ==== db_mongodb ==== | ||
* DB APIv1 connector implementation for MongoDB NoSQL engine | * DB APIv1 connector implementation for MongoDB NoSQL engine | ||
- | * http:// | + | * http:// |
==== jsonrcp-s ==== | ==== jsonrcp-s ==== | ||
* implementation of JSONRPC server over HTTP | * implementation of JSONRPC server over HTTP | ||
- | * http:// | + | * http:// |
==== kazoo ==== | ==== kazoo ==== | ||
* middle layer communication message queue for Kazoo platform | * middle layer communication message queue for Kazoo platform | ||
- | * http:// | + | * http:// |
==== ndb_cassandra ==== | ==== ndb_cassandra ==== | ||
* configuration script connector for Cassandra NoSQL engine | * configuration script connector for Cassandra NoSQL engine | ||
- | * http:// | + | * http:// |
==== ndb_mongodb ==== | ==== ndb_mongodb ==== | ||
* configuration script connector for MongoDB NoSQL engine | * configuration script connector for MongoDB NoSQL engine | ||
- | * http:// | + | * http:// |
==== nosip ==== | ==== nosip ==== | ||
* allow handling non-sip traffic via event_route | * allow handling non-sip traffic via event_route | ||
- | * http:// | + | * http:// |
==== rtpengine ==== | ==== rtpengine ==== | ||
Line 51: | Line 51: | ||
* control rtpengine application for RTP relaying or WebRTC gatewaying | * control rtpengine application for RTP relaying or WebRTC gatewaying | ||
* successor of rtpproxy-ng | * successor of rtpproxy-ng | ||
- | * http:// | + | * http:// |
==== tsilo ==== | ==== tsilo ==== | ||
* attach attributes and add new branches to ongoing transaction | * attach attributes and add new branches to ongoing transaction | ||
- | * http:// | + | * http:// |
==== uuid ==== | ==== uuid ==== | ||
* variables returning unique variables using libuid | * variables returning unique variables using libuid | ||
- | * http:// | + | * http:// |
Line 95: | Line 95: | ||
* new flag for auth_check() to skip caller id check for forwarding requests | * new flag for auth_check() to skip caller id check for forwarding requests | ||
* caller id check is skipped for INVITE, BYE, PRACK, UPDATE, MESSAGE -- these requests can come with an anonymous caller id | * caller id check is skipped for INVITE, BYE, PRACK, UPDATE, MESSAGE -- these requests can come with an anonymous caller id | ||
+ | * load_credentials defaults now to empty list (null value) | ||
==== carrierroute ==== | ==== carrierroute ==== | ||
Line 133: | Line 134: | ||
* implemented async raw query and async insert - both use the core async framework | * implemented async raw query and async insert - both use the core async framework | ||
+ | |||
+ | ==== db_text ==== | ||
+ | |||
+ | * refactoring to store result in private container, instead of connection structure | ||
==== debugger ==== | ==== debugger ==== | ||
Line 167: | Line 172: | ||
* expand attrs while running rpc command dispatcher.list | * expand attrs while running rpc command dispatcher.list | ||
* ds_select_dst/ | * ds_select_dst/ | ||
+ | * new variant - ds_is_from_list(groupid, | ||
+ | * can match against records in dispatcher groups | ||
+ | * if groupid==1 - will match against all groups | ||
+ | * if uri is empty, then will match against source address (ip, port, proto). Otherwise it has to be a full SIP URI value. The matching is not taking in consideration any parameter apart of transport | ||
+ | * mode is a bitmask to tell the matching rules | ||
+ | * if it is 0, will match everything: ip, port and protocol | ||
+ | * if bit one is set, will skip matching the port | ||
+ | * if bit two is set, will skip matching the protocol | ||
==== dmq ==== | ==== dmq ==== | ||
Line 172: | Line 185: | ||
* added function to broadcast message from config file | * added function to broadcast message from config file | ||
* added RPC interface to query the nodes in the cluster | * added RPC interface to query the nodes in the cluster | ||
+ | * new function: dmq_t_replicate() - replicates current SIP message to all active DMQ nodes. Includes built-in loop detection which can be skipped with optional parameter | ||
+ | * new function: dmq_is_from_node() - Checks whether current message has come from another node, based on source IP | ||
==== htable ==== | ==== htable ==== | ||
Line 178: | Line 193: | ||
* event_route[htable: | * event_route[htable: | ||
* pseudo-vars $shtrecord(key) and $shtrecord(value) access the expired content | * pseudo-vars $shtrecord(key) and $shtrecord(value) access the expired content | ||
+ | * new config function sht_reset(" | ||
+ | * iterator implementation for hash tables | ||
+ | * new functions: | ||
+ | * sht_iterator_start(iname, | ||
+ | * sht_iterator_next(iname) | ||
+ | * sht_iterator_end(iname) | ||
+ | * the current item in the iterator is accessible via: | ||
+ | * $shtitkey(iname) | ||
+ | * $shtitval(iname) | ||
==== ims_auth ==== | ==== ims_auth ==== | ||
Line 199: | Line 223: | ||
* new module parameter force_icscf_uri - if set we use it as the ICSCF next hop - if not set (default) we use DNS SRV to find ICSCF next hop | * new module parameter force_icscf_uri - if set we use it as the ICSCF next hop - if not set (default) we use DNS SRV to find ICSCF next hop | ||
* new module function lookup_transport() - this allows terminating P-CSCF to check(and possibly) change the transport for the request before relaying/ | * new module function lookup_transport() - this allows terminating P-CSCF to check(and possibly) change the transport for the request before relaying/ | ||
+ | * option to ignore " | ||
==== ims_registrar_scscf ==== | ==== ims_registrar_scscf ==== | ||
Line 208: | Line 233: | ||
* use p_asserted_identity as default subscription-id for AAR requests | * use p_asserted_identity as default subscription-id for AAR requests | ||
* allow E164 to be used as subscription type for AAR requests | * allow E164 to be used as subscription type for AAR requests | ||
+ | * store AAR flow descriptions in CDP session | ||
+ | * new parameter: authorize_video_flows - a flag that specifies whether or not to authorize video flows | ||
==== ims_usrloc_pcscf ==== | ==== ims_usrloc_pcscf ==== | ||
Line 275: | Line 302: | ||
* default is 6 (2^6 = 64 slots) | * default is 6 (2^6 = 64 slots) | ||
* option disable database loading - if db url or table name are empty, skip loading pipes from db | * option disable database loading - if db url or table name are empty, skip loading pipes from db | ||
+ | |||
+ | ==== presence ==== | ||
+ | |||
+ | * new parameter local_log_level - control verbosity of some log messages, default value: L_INFO | ||
==== presence_dialoginfo ==== | ==== presence_dialoginfo ==== | ||
Line 292: | Line 323: | ||
* contact headers are checked with higher priority, if no expires parameter there, then Expires header is used | * contact headers are checked with higher priority, if no expires parameter there, then Expires header is used | ||
* if none is found, $null is returned | * if none is found, $null is returned | ||
- | * added pseudo-variable ($aa) for access to algorithm in autorization | + | * added pseudo-variable ($aa) for access to algorithm in authorization |
+ | * new variable $su to return source address in uri format | ||
+ | * $su is expanded " | ||
==== registrar ==== | ==== registrar ==== | ||
* new parameter expire_range: | * new parameter expire_range: | ||
+ | * new api function lookup_to_dset() | ||
==== rr ==== | ==== rr ==== | ||
Line 363: | Line 397: | ||
* rebuild local Via when force socket is changed in event_route[tm: | * rebuild local Via when force socket is changed in event_route[tm: | ||
* rebuild the local request if uri was changed in event route | * rebuild the local request if uri was changed in event route | ||
+ | * new api function t_append_branches() | ||
==== tmx ==== | ==== tmx ==== | ||
Line 371: | Line 406: | ||
* t_precheck_tran() - lightweight filtering of retransmissions - keep track of processed messages per process to catch retransmissions in early phase, to avoid simultaneous processing until transaction is | * t_precheck_tran() - lightweight filtering of retransmissions - keep track of processed messages per process to catch retransmissions in early phase, to avoid simultaneous processing until transaction is | ||
* precheck_trans - new parameter to enable/ | * precheck_trans - new parameter to enable/ | ||
+ | |||
+ | ==== topoh ==== | ||
+ | |||
+ | * allow server ip to be used as mask ip | ||
==== uac ==== | ==== uac ==== | ||
Line 389: | Line 428: | ||
* generate callid at startup and increase cseq for records added via mi/rpc commands | * generate callid at startup and increase cseq for records added via mi/rpc commands | ||
+ | * option to set datetime columns as bigint | ||
+ | * should handle better daylight shifting | ||
+ | * new parameter expires_type - if set to 1, it expects expires and last modified columns to be bigint | ||
+ | * the change to the type of columns has to be done manually to the database server | ||
+ | * default values is 0, expecting to work with datetime columns (existing behavior) | ||
+ | * new parameter db_raw_fetch_type - specify what type of query should be used in DB-only mode for retrieving contacts for specific needs (e.g., sending NAT keepalives) | ||
+ | * option to control if the null fields should be in insert statement | ||
==== utils ==== | ==== utils ==== | ||
Line 432: | Line 478: | ||
* lib/ | * lib/ | ||
* call onsend_route for replies | * call onsend_route for replies | ||
+ | * onsend_route_reply - parameter to control if onsend_route is executed for forwarded replies | ||
* return OK as string for a successful dns.delete rpc command | * return OK as string for a successful dns.delete rpc command | ||
* new internal msg flag - FL_UAC_AUTH - to mark requests that had local uac authentication done (e.g., via uac_auth() from uac module) - it is an indication that cseq should be increased | * new internal msg flag - FL_UAC_AUTH - to mark requests that had local uac authentication done (e.g., via uac_auth() from uac module) - it is an indication that cseq should be increased | ||
* allow up to three callback functions for net_data_in and net_data_out | * allow up to three callback functions for net_data_in and net_data_out | ||
+ | * new parameter - log_prefix | ||
+ | * can be used to set what prefix to be printed for each log message while processing a SIP message | ||
+ | * can contain variables | ||
+ | * example: log_prefix=" | ||
+ | * add received parameter to via if rport parameter is present - required by RFC3581, section 4 | ||
==== Default Config ==== | ==== Default Config ==== | ||
Line 441: | Line 493: | ||
* enable_full_lr set to 0 | * enable_full_lr set to 0 | ||
* use t_precheck_trans() to catch retransmissions faster | * use t_precheck_trans() to catch retransmissions faster | ||
+ | * NAT OPTIONS keepalive can be enabled with define WITH_NATSIPPING | ||
===== Tools ===== | ===== Tools ===== | ||
Line 450: | Line 503: | ||
* new command ' | * new command ' | ||
* db connect - new command for db management subset - execute to command line client tool and stay connected using the attributes from kamctlrc | * db connect - new command for db management subset - execute to command line client tool and stay connected using the attributes from kamctlrc | ||
+ | * address dump command to list subnets |
features/new-in-4.2.x.1413024247.txt.gz · Last modified: 2014/10/11 10:44 by miconda