=========================== Release 2.4.0 ==============================

2018-04-30  Razvan Crainea  <razvan at opensips dot org>
	* [57483fcac] :

	update compile flags for final release

2018-04-30  Liviu Chircu  <liviu at opensips dot org>
	* [7bb0dba89] :

	usrloc: Fix uninitialized variables


2018-04-30  wuhanck  <wuhanck at hotmail dot com>
	* [ba99a4f32] :

	Use ip_addr2a. Remove unused str_ip.
	(cherry picked from commit c60b4b5ffd39082ec1563852912daeac42ab5f69)


2018-04-30  wuhanck  <wuhanck at hotmail dot com>
	* [b31656829] :

	Use json_object_object_get_ex.
	(cherry picked from commit 8490397f5de665b79f6e207b6930f0618fccaccf)


2018-04-30  Liviu Chircu  <liviu at opensips dot org>
	* [48093886b] :

	core: Fix $branch(flags) manipulation
	It now accepts and prints a space-separated list of branch flags.

	Fixes #1341
	(cherry picked from commit e2fd262f368928c8d71ec386c724de7025d6191a)

2018-03-28  Razvan Crainea  <razvan at opensips dot org>
	* [6fcc108be] :

	Bump version to 2.4.0-beta


2018-03-28  Razvan Crainea  <razvan at opensips dot org>
	* [eaafa8c4d] :

	Updates CREDITS for 2.4


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [c9478d410] :

	registrar: Add latency-based filtering flags
	    * "yXXXXX" lookup() flag - discard contacts beyond a certain latency
	    * "Y" lookup() flag - sort branches by ascending latency order


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [928eebc46] :

	usrloc: Add latency event triggering thresholds


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [1d0d28874] :

	usrloc: Optionally include the k/v storage in MI output
	This helps achieve features such as #1319 without additional C code.


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [e00445096] :

	rest_client: Update docs


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [aa7bfeb07] :

	rest_client: Allow all functions to be called from any route


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [48794722e] :

	rest_client: Add possibility to force TLS client certs
	Individual TLS client cert/key pairs may be forced for each
	HTTPS transfer by calling rest_init_client_tls(tls_client_domain)
	beforehand.

	The default behavior remains the same: libcurl will fully take care of
	client certificates when HTTPS is employed.

	Fixes #1260


2018-03-28  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [b17e0f46f] :

	Small adjustements to the balancer template (mainly text formating)


2018-03-28  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [975c852ad] :

	Small adjustements to the trunking template (mainly text formating)


2018-03-28  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [03816202f] :

	Regenerate the default cfg based on residential scenario


2018-03-28  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [65edc1d65] :

	Small adjustements to the residential template (mainly text formating)


2018-03-28  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [111871e16] :

	Added DB migration for the emergency table


2018-03-28  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [25682e29e] :

	Added DB migration for the fraud_detection table


2018-03-28  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [95d834d80] :

	Added DB migration for the tls_mgm table


2018-03-28  Nick Altmann  <nick.altmann at gmail dot com>
	* [012a90659] :

	rpm packaging: add new modules to changelog


2018-03-28  Razvan Crainea  <razvan at opensips dot org>
	* [82796a5d0] :

	jsonrpc: remove useless function
	Just to make clang and travis happy


2018-03-28  Nick Altmann  <nick.altmann at gmail dot com>
	* [9eb19f861] :

	rpm packaging: support for event_jsonrpc and jsonrpc modules


2018-03-28  Razvan Crainea  <razvan at opensips dot org>
	* [98754e716] :

	cgrates: deprecate $cgrret + replace with $cgr_ret


2018-03-28  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [1f679cd54] :

	Deactivate USRLOC based aliases in osipsconsol


2018-03-28  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [823e83bd6] :

	Remove opensipsctl provisioning for usrloc aliases


2018-03-28  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [4dd815dcd] :

	Dropped the "aliases" table
	This table was used to implement as pseudo aliasing by abusing a "location" like table. It was an old approach (prior to db_aliases), not in use anymore.


2018-03-28  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [7b2594119] :

	Updated the migration for sip_trace and clusterer tables


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [c6a5c251c] :

	opensipsdbctl migrate: Improve wording for initial warning


2018-03-28  Razvan Crainea  <razvan at opensips dot org>
	* [a006a48dc] :

	jsonrpc: fix link commands in README


2018-03-28  Razvan Crainea  <razvan at opensips dot org>
	* [ab97c5bf9] :

	add new jsonrpc module
	Send JSON-RPC commands to a JSON-RPC server and optionally receive
	replies


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [dd622e751] :

	main(): Avoid duplicate getopt() strings
	Suggested by Răzvan Crainea <razvan@opensips.org>.


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [13475f6c9] :

	usrloc/registrar: Improve documentation
	    * add URL anchors for modparams, functions, MI commands, etc.
	    * fix some incorrect preset strings


2018-03-28  Razvan Crainea  <razvan at opensips dot org>
	* [b7b183620] :

	event_jsonrpc: consider timeout as milliseconds


2018-03-28  Razvan Crainea  <razvan at opensips dot org>
	* [fe84e85e9] :

	net: expose tcp_connect_blocking with timeout


2018-03-28  Razvan Crainea  <razvan at opensips dot org>
	* [ce80769b4] :

	event_jsonrpc: update README with transport proto


2018-03-28  Razvan Crainea  <razvan at opensips dot org>
	* [8d6bf2dfd] :

	event_jsonrpc: remove useless shm for msg building


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [b009644c4] :

	Merge branch 'feature/usrloc-clustering'


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [522a8491b] :

	registrar: Add the "l" (local-only) lookup() flag


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [ceaaa9495] :

	usrloc: Document the clustering features


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [494810e60] :

	usrloc: Properly handle bad clutering presets on startup


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [9966a002f] :

	usrloc: Fix NULL dereference


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [a69dea972] :

	usrloc: Align some clustering modes to global naming
	This makes the modes easier to digest, as they now have similar naming with
	other clustered code, such as presence clusters.


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [48129c321] :

	usrloc/registrar: Implement cachedb federation clustering
	The "federation-cachedb" clustering revolves around the following three
	metadata-related operations:
	    - on AoR save: ensure the following NoSQL key/multi-value is present:
	      { pk: <key>, aor: <aor>, home_ip: <home_ip> }. This advertises
	      the AoR's presence in our location to other PoPs.
	    - on AoR lookup: fetch all <home_ip> values of <aor>, add as
	      call branches of the current INVITE, on top of any existing local
	      contact branches
	    - on AoR remove: delete our <key> from NoSQL, as well as the AoR
	      from local storage.


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [3976161c7] :

	registrar: Simplify usrloc binding at mod_init()


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [2cd3f0ba3] :

	clusterer: Add api.get_my_sip_addr()
	Self-explanatory: fetch the current node's "sip_addr" column value.


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [24c793c2d] :

	branch engine: Improve code consistency


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [ce5a8e65c] :

	cachedb: Refactor some dict-related code
	Prefix all functions with "cdb_", for consistency.


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [e76465017] :

	usrloc: Fix bad flags/cflags documentation


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [e92f79a29] :

	usrloc: Improve clustering mode nomenclature


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [5486cd024] :

	Minor code improvements
	    * fix redundant write ops in get_cluster() / get_node()
	    * zeroize the API, just in case
	    * fix ambiguous var name
	    * use static where needed


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [76ddf7ab8] :

	clusterer: Add api.send_all_having() function
	The idea is to be able to broadcast a message within a cluster
	while skipping nodes which do not match a given node filter.


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [4cd6a5ed2] :

	dialog/usrloc: Refactor clusterer deps
	Reuse definition from commit 9a6eba7e18cb9f


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [00295831a] :

	usrloc: Improve some log messages


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [5e45e3797] :

	usrloc, core-cluster: Fix timer-based contact cleanups


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [509b6aef1] :

	usrloc, core-cachedb-only: Fix "sip_instance" updates


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [154abf97c] :

	nathelper: Complete commit 4957cc3eff0
	Properly null-terminate the array...


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [d20864854] :

	registrar lib: Fix confusing variable name


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [b7934ad82] :

	nathelper/usrloc: Fix shm memleak


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [ff939860b] :

	nathelper: Add "sipping_ignore_rpl_codes" CSV modparam
	This is useful when an OpenSIPS ping originator node is front-ended
	by some other SIP entity of the platform. When contacts are unreachable,
	the front-end will still respond to the pings (e.g. 408 Request Timeout),
	which we would rather ignore and get closer to removing the offline contacts.


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [02e6a6412] :

	usrloc/nathelper: Implement pinging/timeouts in cachedb-only mode


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [aaf884b01] :

	str.h: Fix doc line wrapping


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [8c470422c] :

	clusterer: Minor improvements
	    * get_my_index(): return a 1-indexed "nr_nodes" value
	    * get_my_index(): release "cl_list_lock" earliest possible
	    * add useful startup logging lines


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [484655a42] :

	cachedb: Rename some filter operators


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [44794f6e9] :

	cachedb_mongodb: Fix memory corruption on api.update()
	bson_reinit() must not be called on a bson_destroy()'ed bson.


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [4c98b4335] :

	usrloc/nathelper: Refactor code for cachedb-only pinging


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [bf16d0a36] :

	cachedb_mongodb: Add bson debugging logs in old API


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [3dba1ccfa] :

	registrar: Fix remove() with "*db-only" usrloc modes


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [f043f5fe3] :

	usrloc "core-cachedb-only": Fix remaining lookup issues
	    * fix "methods" field
	    * avoid "NO-OP" update queries


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [f05bf6d26] :

	usrloc: Expose struct debugging functions to upper modules


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [5579f6eac] :

	usrloc: Do not pollute "usrloc.h" with internal vars


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [e996667c0] :

	cachedb: Elaborate key naming restrictions


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [bfe1fdc98] :

	usrloc core cachedb cluster: Fix some left-over issues
	    * base64 encode all contact keys (".", for example, breaks MongoDB)
	    * do not pkg_free() SHM strings during cleanup
	    * add useful dict/BSON debugging lines
	    * improve coding style


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [c4de5ef9e] :

	clusterer: Abort startup when 'db_url' is mandatory


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [e4ba61d27] :

	usrloc: Fix some startup issues
	    * proper module deps for the cache URL
	    * fix some trivial modparam bugs


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [5a2d87b1d] :

	usrloc: Refactor all code using "db_mode"


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [2134189ca] :

	usrloc: Implement "core cluster" urecord handling


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [d3236fa3c] :

	cachedb_mongodb: Adapt filters to libmongoc 1.5.0+


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [37c9d7222] :

	cachedb: Add easy-to-use dict append primitives


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [48e543c49] :

	usrloc & cachedb: Document and check some return codes


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [d510cdc76] :

	usrloc: Implement the NoSQL version of get_urecord()


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [9df50cb5d] :

	usrloc: Add support for "cache DB" URLs


2018-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [9b9c6345c] :

	usrloc: Refactor modparams to fit upcoming additions


2018-03-27  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [71ee024e5] :

	Fixed etag replication when the etag is re-generated during each Publish.
	We need to replicate both the old (received) and new (generated) etag via the cluster, so the receiving nodes can properly identity the presentity to be updated.


2018-03-27  Vlad Patrascu  <vladp at opensips dot org>
	* [cde77b0cc] :

	ratelimit: allow specification of pipe limit per interval
	Closes #1130


2018-03-27  Razvan Crainea  <razvan at opensips dot org>
	* [d0fc9692a] :

	event_jsonrpc: add readme
	Closes #1297


2018-03-27  Razvan Crainea  <razvan at opensips dot org>
	* [03a75293d] :

	add new event_jsonrpc module


2018-03-27  Razvan Crainea  <razvan at opensips dot org>
	* [63e789f12] :

	rtpengine: also add db schema


2018-03-27  Vlad Patrascu  <vladp at opensips dot org>
	* [2d921e77e] :

	tm: fix clusterer capability registration


2018-03-27  Vlad Patrascu  <vladp at opensips dot org>
	* [09ae07f99] :

	presence: fix clusterer capability registration


2018-03-27  Vlad Patrascu  <vladp at opensips dot org>
	* [5f6115875] :

	dialog: rename "replication" tags to "sharing" tags


2018-03-27  Vlad Patrascu  <vladp at opensips dot org>
	* [10977d86f] :

	dialog: document replication tag related param, MI cmd and script function


2018-03-27  Vlad Patrascu  <vladp at opensips dot org>
	* [879c4d4c6] :

	clusterer: add option for capabilities to be in OK state without data sync
	Specify at registration time if data sync is required for a certain
	capability in order to be in the OK state.


2018-03-27  Vlad Patrascu  <vladp at opensips dot org>
	* [c23a4ce84] :

	clusterer: add MI command that lists capabilities


2018-03-27  Vlad Patrascu  <vladp at opensips dot org>
	* [86626f64a] :

	dialog: add MI command that lists replication tags


2018-03-27  Vlad Patrascu  <vladp at opensips dot org>
	* [93724475a] :

	dialog: don't update DB when replication tag is backup


2018-03-27  Vlad Patrascu  <vladp at opensips dot org>
	* [fab763321] :

	dialog: also set replication tag state through modparam


2018-03-27  Vlad Patrascu  <vladp at opensips dot org>
	* [7c8495515] :

	dialog: suppress in-dialog pinging when replication tag is backup


2018-03-27  Vlad Patrascu  <vladp at opensips dot org>
	* [ffb2e526b] :

	dialog: don't run TERMINATED and EXPIRED DLGCBs when replication tag is backup


2018-03-27  Vlad Patrascu  <vladp at opensips dot org>
	* [9b2e917af] :

	dialog: don't throw error if dialog from deleted replication packet is not found


2018-03-27  Vlad Patrascu  <vladp at opensips dot org>
	* [5319d592f] :

	dialog: don't replicate dialog events when tag is backup
	Don't send create/update/delete messages when replication tag is backup.


2018-03-27  Vlad Patrascu  <vladp at opensips dot org>
	* [fc32d57f8] :

	dialog: don't report error if replication tag is not set


2018-03-27  Vlad Patrascu  <vladp at opensips dot org>
	* [c9e68f92b] :

	dialog: prevent BYEs on dialog expiration when replication tag is backup


2018-03-27  Vlad Patrascu  <vladp at opensips dot org>
	* [5fdbce418] :

	dialog: forbid terminating dialogs via MI when replication tag is backup


2018-03-27  Vlad Patrascu  <vladp at opensips dot org>
	* [91b92591e] :

	dialog: add mechanism that allows tagging dialogs when replicating
	Dialogs can be labeled from the the script using the set_dlg_repl_tag()
	function and each tag has a state(active/backup) which can be set via
	the "set_repl_tag_active" MI cmd. The tags and their states are shared
	in the cluster and nodes automatically go to the backup state when
	another node is set to active.


2018-03-27  Vlad Patrascu  <vladp at opensips dot org>
	* [db592fd07] :

	dialog: sync dialogs from another node at startup
	The node to sync the dialogs from is chosen by the clusterer module.
	Syncing is also possible at runtime through an MI command.


2018-03-27  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [edd206497] :

	Fix wrong naming of internal flags.
	Not sure why the flags used by t_relay() are named TM_T_REPLY_xxxxxx :D... Moved to TM_T_RELAY_xxxxx


2018-03-27  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [18bf21a2c] :

	Docs updated for t_relay()


2018-03-27  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [4747da559] :

	Added support for Content-Disposition: no-cancel
	As per RFC3841, section 9.1, the TM module may be instructed not to cancel all ongoing branches when a 2xx reply is received. It will keep the pending branches ongoing until (1) all branches will receive a final reply or (2) the transactionhits the timeout.

	This is work sponsored by Harris Corporation (https://www.harris.com)


2018-03-27  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [5bb438ad3] :

	Documentation updated with the latest clustering params


2018-03-27  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [a90396919] :

	Simply renamed MI functions


2018-03-26  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [c0762189f] :

	Added full data sharing across presence cluster.
	Data (watchers and presentites) may be are shared via the SQL DB; a new tagging mechanism adds the ownership concepts (over watchers/subscribers) to avoid multiple NOTIFY'es being trigger by all the nodes when a presentity expires.
	Added "federation" mode parameter to enable / disable the federation-like bahvior when comes to data sharing - federating/partioning data across nodes.


2018-03-26  Vlad Patrascu  <vladp at opensips dot org>
	* [002ea071a] :

	sip_i: fix doc example for isup_msg_type PV


2018-03-26  Vlad Patrascu  <vladp at opensips dot org>
	* [ac50be197] :

	dialog: add callid, from-tag, to-tag params to E_DLG_STATE_CHANGED
	Closes #1126


2018-03-26  Vlad Patrascu  <vladp at opensips dot org>
	* [4c5dc148a] :

	dialog: accept variables for profile name in script functions
	Closes #1279


2018-03-23  Razvan Crainea  <razvan at opensips dot org>
	* [faea40201] :

	cgrates: fix documentation section name


2018-03-23  Razvan Crainea  <razvan at opensips dot org>
	* [53f16a088] :

	cgrates: add attributes parsing example


2018-03-23  Razvan Crainea  <razvan at opensips dot org>
	* [0fab92da3] :

	presence: fix query column out of array


2018-03-23  Razvan Crainea  <razvan at opensips dot org>
	* [6918e1ab2] :

	rtpengine: document database support


2018-03-23  Razvan Crainea  <razvan at opensips dot org>
	* [094c850dd] :

	rtpengine: add database support
	shamelessly copy db support from rtpengine
	Closes #1092


2018-03-23  Razvan Crainea  <razvan at opensips dot org>
	* [aca09b485] :

	rtpengine: make sure second call does not crash


2018-03-23  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [583a65172] :

	Added missing files from previous commit


2018-03-23  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [f7bed45a4] :

	Added support for sharding/partitioning cluster.
	A sharding clustering is a presence cluster where each node keeps its own set of watchers and presentities of an interest. Any new Published presentity is replicated to all the cluster nodes, but stored only by nodes interested in it (if there are watchers for that presentity). For initial subscriptions, there is quering mechnism inside the cluster - to try to fetch the presentity data from any other node.


2018-03-22  Razvan Crainea  <razvan at opensips dot org>
	* [a196fb876] :

	cgrates: properly handle returned values


2018-03-22  Razvan Crainea  <razvan at opensips dot org>
	* [7f89ea301] :

	Merge branch 'feature/cgrates-ng'


2018-03-22  Razvan Crainea  <razvan at opensips dot org>
	* [033773e72] :

	cgrates: allow SessionSv1.DisconnectSession rpc


2018-03-22  Dan Pascu  <dan at ag-projects dot com>
	* [85c4e28a7] :

	Use consistent spacing in xml schema


2018-03-22  Razvan Crainea  <razvan at opensips dot org>
	* [7f7ca1f8c] :

	cgrates: allow seting NULL to variables


2018-03-22  Dan Pascu  <dan at ag-projects dot com>
	* [a7fee1a72] :

	Fixed building release dependent debian packages on debian unstable/sid


2018-03-22  Dan Pascu  <dan at ag-projects dot com>
	* [960eac268] :

	Strip PATH from opensipsdbctl too for debian package


2018-03-22  Dan Pascu  <dan at ag-projects dot com>
	* [a55702e66] :

	Use consistent spacing in debian rules


2018-03-22  Dan Pascu  <dan at ag-projects dot com>
	* [de9df1c80] :

	Fixed typo in debian rules


2018-03-22  Razvan Crainea  <razvan at opensips dot org>
	* [654418d9e] :

	cgrates: adjust auth documentation


2018-03-22  Dan Pascu  <dan at ag-projects dot com>
	* [28b4783dc] :

	rtpengine: Fixed compilation when PKG_MALLOC is not defined


2018-03-22  Razvan Crainea  <razvan at opensips dot org>
	* [3c7ac2d99] :

	cgrates: add support for SessionSv1 accounting


2018-03-22  Razvan Crainea  <razvan at opensips dot org>
	* [69b89c3c4] :

	cgrates: save reply objs for cgrates_cmd()


2018-03-21  Razvan Crainea  <razvan at opensips dot org>
	* [51c91da19] :

	cgrates: MaxUsage is a float now


2018-03-21  Razvan Crainea  <razvan at opensips dot org>
	* [6325370e8] :

	cgrates: document the new $cgrret(name) usage


2018-03-21  Razvan Crainea  <razvan at opensips dot org>
	* [2bfd0a315] :

	cgrates: add names for the $cgrret var


2018-03-20  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [1e61bdc5b] :

	Removed bogus destroy function
	The data freed in destroy callback actually resides in pkg and not shm memory - this is the original bug.
	Now that the data is pkg, makes no sense to free it from the attendant process.


2018-03-20  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [08ba76be3] :

	Fix double CT header when a single body part is left
	The previous commit introduced a bug resulting in a double (identical) Content Type header when, after removing a part, you are left with a single part body.


2018-03-20  Razvan Crainea  <razvan at opensips dot org>
	* [e49ec9512] :

	tm: add documentation for anycast support


2018-03-20  Razvan Crainea  <razvan at opensips dot org>
	* [8e87181a3] :

	tm: add support for auto-cancel


2018-03-20  Razvan Crainea  <razvan at opensips dot org>
	* [4c2625d26] :

	tm: init msg before parsing


2018-03-20  Razvan Crainea  <razvan at opensips dot org>
	* [f86b1b31c] :

	tm: reset cancelled_T before searching for transaction


2018-03-20  Razvan Crainea  <razvan at opensips dot org>
	* [ba8829f07] :

	tm: also replicate message index


2018-03-20  Razvan Crainea  <razvan at opensips dot org>
	* [7621de6fa] :

	tm: add debugging for non-matched transaction


2018-03-20  Razvan Crainea  <razvan at opensips dot org>
	* [6236c95fb] :

	bin: fix bin_extend() usage


2018-03-20  Razvan Crainea  <razvan at opensips dot org>
	* [fc0dc0759] :

	tm: add incoming auto-cancel


2018-03-20  Razvan Crainea  <razvan at opensips dot org>
	* [928531272] :

	tm: properly detect if transaction is local


2018-03-20  Razvan Crainea  <razvan at opensips dot org>
	* [ce43f8982] :

	tm: remove TODO for replicated messages


2018-03-20  Razvan Crainea  <razvan at opensips dot org>
	* [e38b71bdb] :

	receive_msg: receive custom message flags


2018-03-20  Razvan Crainea  <razvan at opensips dot org>
	* [f59716f54] :

	tm: add support for ACK and CANCEL replication


2018-03-20  Razvan Crainea  <razvan at opensips dot org>
	* [e96acb9dc] :

	add is_anycast() macro


2018-03-20  Razvan Crainea  <razvan at opensips dot org>
	* [54c90dc54] :

	tm: add message replication support


2018-03-20  Razvan Crainea  <razvan at opensips dot org>
	* [88b4e2db2] :

	tm: port cluster to new interface


2018-03-20  Razvan Crainea  <razvan at opensips dot org>
	* [247834ac4] :

	net: indicate an interface is anycast IP


2018-03-20  Razvan Crainea  <razvan at opensips dot org>
	* [fbda182e0] :

	[WIP] tm: add cid parameter for cluster support


2018-03-20  Razvan Crainea  <razvan at opensips dot org>
	* [c7a06fb12] :

	msg: provide via_parameter from outside the message


2018-03-20  Razvan Crainea  <razvan at opensips dot org>
	* [9a6eba7e1] :

	clusterer: use a single get_deps_clusterer impl


2018-03-20  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [4feff3ea6] :

	Added support for extra headers per body part.
	When adding a body part (directly via sipmsgops module or indirectly via sip_i module), you can specify an optional list of SIP headers (fully formated, including the header terminator) to be pushed into the part next to the Content-Type header.
	The specific changes:
	* in sipmsgops module, the add_body_part() takes a third optional parameter for extra headers to be pushed into the part;
	* in sip_i module, the add_isup_part() funtion takes a second optional parameter for defining a custom set of extra headers;
	* in sip_i_module, a new module parameter "default_part_headers" can be used to define the default set of headers to be automatically pushed into the ISUP parts.


2018-03-19  Ovidiu Sas  <osas at voipembedded dot com>
	* [730149884] :

	httpd: allocate http reply buffer in sys mem instead of pkg mem  - buffer size no loger restricted pkg mem size


2018-03-15  Razvan Crainea  <razvan at opensips dot org>
	* [b0aeb0aef] :

	[WIP] cgrates: parse values back for Auth


2018-03-15  Razvan Crainea  <razvan at opensips dot org>
	* [4aa8568ad] :

	rtpengine: improve MOS stats documentation


2018-03-15  Razvan Crainea  <razvan at opensips dot org>
	* [a2baf94fb] :

	rtpengine: add more RTP statistics


2018-03-15  Razvan Crainea  <razvan at opensips dot org>
	* [439c4f8dc] :

	rtpengine: add support for average MOS


2018-03-15  Razvan Crainea  <razvan at opensips dot org>
	* [fdcbb715b] :

	rtpengine: provide a generic way of using reply
	This commit returns the reply of the RTPEngine server in a JSON format,
	so that the script writer can extract any information from it.


2018-03-14  Liviu Chircu  <liviu at opensips dot org>
	* [4f8eba7b8] :

	freeswitch_scripting: Add proper credits for the module idea


2018-03-14  Liviu Chircu  <liviu at opensips dot org>
	* [e0fe570fe] :

	usrloc/nathelper: Compute and report ping latencies
	This patch adds a new nathelper branch flag, "sipping_latency_flag", to
	enable ping latency computation. Also, a new usrloc event is now available,
	E_UL_LATENCY_UPDATE. All contact-related usrloc events now include a new
	parameter, "latency", which holds the latency of the last successful
	ping if any, or 0 otherwise. If available, the ping latency can also be
	accessed via MI, using the "Ping-Latency" key of the contact data.

	Credits for the idea and an initial version of this patch go to
	Shlomi Gutman <shlomi@voicenter.com>.


2018-03-14  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [5cd8e0ece] :

	Removed bogus debug log


2018-03-14  Razvan Crainea  <razvan at opensips dot org>
	* [373c59828] :

	rtpengine: add transcoding documentation


2018-03-14  Razvan Crainea  <razvan at opensips dot org>
	* [a12f6a84d] :

	rtpengine: fix params passing doc


2018-03-13  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [4c0c761ce] :

	Fixed update the len of the parameter strs.


2018-03-13  Razvan Crainea  <razvan at opensips dot org>
	* [3419f9333] :

	[WIP] cgrates: add compat_mode parameter and $cgr_opt()


2018-03-13  Vlad Paiu  <vladpaiu at opensips dot org>
	* [7844aaba9] :

	Also flush carrier id AVPs when initiating a new routing
	Fixed cases where do_routing() followed by route_to_carrier() would report the wrong carrier id


2018-03-12  Liviu Chircu  <liviu at opensips dot org>
	* [fab66fd32] :

	cachedb: Make tests more robust to error conditions
	i.e. do not segfault if the driver is bad


2018-03-12  Liviu Chircu  <liviu at opensips dot org>
	* [3db8e8cd7] :

	make test: Properly append "-DUNIT_TESTS" if needed
	The previous logic wouldn't work with an old Makefile.conf


2018-03-12  Liviu Chircu  <liviu at opensips dot org>
	* [dec80542e] :

	cachedb: Clean up redundant typedefs


2018-03-12  Liviu Chircu  <liviu at opensips dot org>
	* [1237eabd0] :

	cachedb_mongodb: Fix compile warning with libmongoc 1.7


2018-03-10  Liviu Chircu  <liviu at opensips dot org>
	* [79418dce9] :

	build system: Add special handling for gcc 7.2
	It appears that gcc's "-dumpversion" behaves differently in 7.2
	than in previous versions, due to "-dumpfullversion" being introduced.

	$ gcc -dumpversion
	7
	$ gcc -dumpfullversion
	7.2.0

	This breaks compilation on systems such as Xubuntu 17.10 with:

	Makefile.defs:930: You are using an old and unsupported gcc version
	(7), compile at your own risk!

	This backwards-incompatible change seems to have been reverted in 7.3+,
	though, where the full version is once again being dumped:

	$ gcc -dumpversion
	7.3.0
	$ gcc -dumpfullversion
	7.3.0


2018-03-07  Razvan Crainea  <razvan at opensips dot org>
	* [8d68f03c4] :

	acc: fix leak when assinging empty string to extra
	Many thanks to Pete Kelly for reporting and offering testing environment
	for this bug!


2018-03-06  Razvan Crainea  <razvan at opensips dot org>
	* [06aa1ed8c] :

	ratelimit: fix documentation
	Properly document which routes the functions are allowed to run into.


2018-03-06  Razvan Crainea  <razvan at opensips dot org>
	* [f2f88f1bd] :

	cgrates: allow cgrates_cmd() from any route


2018-03-06  Razvan Crainea  <razvan at opensips dot org>
	* [28254a2aa] :

	topo_hiding: do not delete shm lumps from add_rm list
	These lumps can point somewhere in the middle of a shm lumps chunk, thus
	will result in a memory corruption error.

	Many thanks to Jonathan Hulme for providing testing environment!


2018-03-06  Razvan Crainea  <razvan at opensips dot org>
	* [0c0679bd2] :

	httpd: make buffer a quarter of the pkg memory
	Exactly as it is described in the documentation.


2018-03-06  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [aa6132600] :

	Removed wrong error message.
	If the counter does not exist, simply print NULL, do not throw an error


2018-03-05  Liviu Chircu  <liviu at opensips dot org>
	* [0fd818b5e] :

	usrloc: Fix broken DB_ONLY mode
	The recently introduced k/v support had not been tested with this mode
	yet...


2018-03-02  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [5b0bc1e30] :

	Fixed DB URL escaping.
	The ability to escape/encode DB URLs using %xy became a must with the auto generated user and passwords in the cloud envs.


2018-03-02  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [f14801795] :

	Added new set of load statistics for extra procs.
	The "load" set of stats (rt, 1m, 10m) covers now only the OpenSIPS core processes (it does not count the load for the extra processes forked by the modules).
	The new "load-all" set will count the load for *all* OpenSIPS procs, core or module.


2018-03-02  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [f06624568] :

	Added more flags when forking internal processes.
	Two new flags were added :
	* NO_LOAD - the process should not be counted when calculated the load
	* IS_EXTRA - this is an EXTRA process requests by a module (it is not an OpenSIPS core process)


2018-03-02  Liviu Chircu  <liviu at opensips dot org>
	* [dc51ee60f] :

	Revert "travis: compile mongodb module"
	This reverts commit 9d30f94dc45a4e99f42d1fd22e8a96273e6d3c29.

	Since "libmongo-client" is a completely different codebase
	(https://github.com/algernon/libmongo-client) from the official
	"mongo-c-driver" project and "libmongoc" package
	(https://github.com/mongodb/mongo-c-driver), we have to disable
	it from Travis momentarily.

	The "libmongoc-dev" package has yet to arrive on Ubuntu 14.05, which is
	the current Travis build environment.


2018-03-02  Liviu Chircu  <liviu at opensips dot org>
	* [234cf3967] :

	F_MALLOC: Fix "last free" line reports when debugging
	If -DBG_MALLOC is in use, double free operations would report the
	"first free" to actually be the malloc operation, which is incorrect.


2018-03-02  Liviu Chircu  <liviu at opensips dot org>
	* [9e9221802] :

	F_MALLOC: Improve double free error reporting


2018-03-02  Liviu Chircu  <liviu at opensips dot org>
	* [d98f115ec] :

	cachedb_mongodb: Fix clang warning
	'cursor' is used uninitialized...


2018-03-02  Razvan Crainea  <razvan at opensips dot org>
	* [9d30f94dc] :

	travis: compile mongodb module


2018-03-01  Vlad Patrascu  <vladp at opensips dot org>
	* [1378b51bc] :

	sql_cacher: fix supported column types to include blob


2018-03-01  Liviu Chircu  <liviu at opensips dot org>
	* [c1ebfe55e] :

	siptrace: Clean up duplicate code


2018-03-01  Liviu Chircu  <liviu at opensips dot org>
	* [ccb696ecd] :

	ut.h: Document recently added macros


2018-03-01  Liviu Chircu  <liviu at opensips dot org>
	* [0f65dbfec] :

	cache_fetch: Fix MI tree format
	The MI "cache_fetch" command was building a poorly formatted MI tree
	(viz below). We fix the command tree format in order to make the
	resulting data easier to digest programatically.

	Old MI tree format visualization:
	    'NULL: "out_key: [out_value]"'

	New MI tree format visualization:
	    '"key": "out_key", "value": "out_value"'

	Reported by Hamid Elaosta.
	Fixes #1298


2018-03-01  Razvan Crainea  <razvan at opensips dot org>
	* [ca34b0d12] :

	tm: fix README typo


2018-02-28  Vlad Patrascu  <vladp at opensips dot org>
	* [58b923f40] :

	sql_cacher: all keys in cache can now be invalidated in "on demand" mode
	Also fix a potential mem leak and improve coding style and some log messages.


2018-02-28  Liviu Chircu  <liviu at opensips dot org>
	* [a74de586c] :

	cmdline parser: Fix left behind options
	The "-T" and "-S" options were left behind at some point, with the added
	bonus of summoning a corefile when used ("opensips -S" or "opensips -T").


2018-02-28  Liviu Chircu  <liviu at opensips dot org>
	* [784aa1311] :

	Merge branch 'feature/cachedb-column-oriented-api'


2018-02-28  Liviu Chircu  <liviu at opensips dot org>
	* [89babc55f] :

	cachedb: Final code refactoring
	    * cdb_kv_t -> cdb_pair_t (more suggestive)
	    * move all dict primitives to cachedb/cachedb_dict.[ch]
	    * fix some coding style issues


2018-02-28  Liviu Chircu  <liviu at opensips dot org>
	* [52dffcfcf] :

	cachedb_mongodb: Fix last TODOs


2018-02-28  Liviu Chircu  <liviu at opensips dot org>
	* [38975dfac] :

	cachedb_mongodb: Enable multi-row updates


2018-02-28  Liviu Chircu  <liviu at opensips dot org>
	* [d82b3ceae] :

	cachedb: Add unit tests for column "unset" operations


2018-02-28  Liviu Chircu  <liviu at opensips dot org>
	* [c209ccbe0] :

	cachedb_mongodb: Implement the multi-key "unset" API requirement


2018-02-28  Liviu Chircu  <liviu at opensips dot org>
	* [ce54ac89d] :

	cachedb: Simplify the column-oriented API
	Since some NoSQL backends support upsert-enabled "set" and "unset" operations
	on multiple key/value pairs using a single query, we can merge the "set_cols()"
	and "unset_cols()" functions into a single one: "update()". Current
	backends known to support this are MongoDB and Cassandra.

	Any backends which do not support the above will have to implement the update()
	endpoint using two queries instead of one.


2018-02-28  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [f1ec655b0] :

	Fix extra 1 byte being copied after removing param.
	I have no clue why that "+1" was there :-|. Makes no sense.
	Reported by Ben Newlin <Ben.Newlin@genesys.com>


2018-02-28  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [b77c1823e] :

	Extend the test for re-using pre-compiled regexp.
	A failure in compiling a regexp may lead to an inconsistent state, where the buffer is correctly populated, but the regexp pointer is NULL -> on next usage, the code will attempt to directly used (as the regexp buffer matches) the NULL pointer and crash.
	Reported by Ben Newlin <Ben.Newlin@genesys.com>


2018-02-28  Liviu Chircu  <liviu at opensips dot org>
	* [b45c1bd83] :

	cachedb: Fix cap detection


2018-02-27  Liviu Chircu  <liviu at opensips dot org>
	* [2944ba83b] :

	ut.h: Remove redundant memset()


2018-02-27  Liviu Chircu  <liviu at opensips dot org>
	* [5ec432c7f] :

	cachedb_mongodb: Fix missing primary key flag on "get rows"
	Also do some minor clean-ups


2018-02-27  Liviu Chircu  <liviu at opensips dot org>
	* [7045fce0b] :

	cachedb: Refactor and finalize the "set cols" tests


2018-02-27  Liviu Chircu  <liviu at opensips dot org>
	* [d5a0462ec] :

	cachedb: Add dict debugging primitives


2018-02-27  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [93cc34871] :

	Fix dangerous \0 adding outside the str buffer.
	It is bogus to write a 0 outside the str buffer as (1) the buffer may be in data zone (so read-only) or (2) it may be in shm memory and an overflow may corrupt the memory manager
	Reported by Ben Newlin <Ben.Newlin@genesys.com>


2018-02-27  Razvan Crainea  <razvan at opensips dot org>
	* [bdeb8ff13] :

	net: only start TCP workers if there are listeners
	Credits goes to Xaled for reporting this on mailing list


2018-02-27  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [c9e7db08e] :

	Fix displaying the usrloc domains.
	Dropped the "records" parameters as there is no way to count in advance how many records we may have in a dynamic shared hash table.
	Renamed "table" attribute into "hash_size" as this what it display :P

	Related to #1265


2018-02-27  Razvan Crainea  <razvan at opensips dot org>
	* [d24e85acf] :

	drop DYN_BUF variable
	It wasn't working properly anyway


2018-02-27  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [e472e5286] :

	Update the help messge.
	'-D' is not "do not fork" anymore, but enbles the "debug mode"
	Reported in #1295


2018-02-27  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [78e8bea12] :

	Migrate the "expires" column from DATETIME to INT.
	Instead of keeping a DATETIME which is impacted by TZ and DST changes, use UNIX timestamp
	Fixes #1196.


2018-02-27  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [ffa51f822] :

	Added docs for the probing_verbose module parameter.
	Reported via #1280


2018-02-27  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [fefc33f10] :

	Added doc node about usage across differen top routes.
	Related to #1277 report


2018-02-26  Liviu Chircu  <liviu at opensips dot org>
	* [f402f6987] :

	cachedb_mongodb: Implement the "SET COLS" capability


2018-02-26  Liviu Chircu  <liviu at opensips dot org>
	* [d683ae8d5] :

	cachedb: Add unit tests suite for "SET COLS" capability


2018-02-26  Liviu Chircu  <liviu at opensips dot org>
	* [816db4ff5] :

	cachedb_mongodb: Add useful debugging macros


2018-02-26  Liviu Chircu  <liviu at opensips dot org>
	* [612c8d8fa] :

	cachedb_mongodb: Improve filter construction
	For single filters, avoid using the $and operator


2018-02-26  Liviu Chircu  <liviu at opensips dot org>
	* [34dd480d0] :

	cachedb: Add object management primitives
	i.e. for "cdb_kv_t" and "cdb_dict_t" objects


2018-02-26  Liviu Chircu  <liviu at opensips dot org>
	* [458690a87] :

	cachedb_mongodb: Implement the "truncate" capability


2018-02-26  Liviu Chircu  <liviu at opensips dot org>
	* [73e4f1423] :

	cachedb: Add the "truncate" capability


2018-02-23  Liviu Chircu  <liviu at opensips dot org>
	* [7c7ea7c64] :

	cachedb: Fix memleak


2018-02-23  Liviu Chircu  <liviu at opensips dot org>
	* [88ff10d45] :

	cachedb: Refactor the multi-set/multi-unset API
	    * add support for primary keys (e.g. to fit with MongoDB)
	    * add support for map-level TTLs (to exploit Cassandra's powerful TTLs)


2018-02-23  Razvan Crainea  <razvan at opensips dot org>
	* [ff86066ea] :

	dialog: fix previous commit warning


2018-02-23  Razvan Crainea  <razvan at opensips dot org>
	* [552bd4e7a] :

	dialog: fix reinvite pinging
	make sure that pinging is properly engaged

	Credits go to Jonathan Hulme
	Closes #1082


2018-02-22  Liviu Chircu  <liviu at opensips dot org>
	* [5d0839cf8] :

	cachedb_mongodb: Fix a filtering operator bug


2018-02-22  Liviu Chircu  <liviu at opensips dot org>
	* [d95187a8d] :

	cachedb: Add unit tests for multi-filtering


2018-02-22  Liviu Chircu  <liviu at opensips dot org>
	* [5481bc3f8] :

	cachedb: Add a unit testing suite for the GET_ROWS capability


2018-02-22  Liviu Chircu  <liviu at opensips dot org>
	* [8b70ec3b9] :

	cachedb_mongodb: Implement the GET_ROWS capability


2018-02-22  Liviu Chircu  <liviu at opensips dot org>
	* [acf1afd4f] :

	cachedb: Add a filter management API


2018-02-22  Liviu Chircu  <liviu at opensips dot org>
	* [3efcb9b28] :

	cachedb: Refactor the core data abstractions


2018-02-22  Liviu Chircu  <liviu at opensips dot org>
	* [90b1840de] :

	core utils: Useful additions
	    * str_cpy() - similar to strcpy(), but works with strs
	    * macros for working with singly linked lists


2018-02-22  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [6bd6d7128] :

	Fixed return code in del_uri_param() function.
	Avoid returning 0 if the param is not found, as 0 terminates the whole script execution.
	Reported by Ben Newlin <Ben.Newlin@genesys.com>


2018-02-21  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [305a570f7] :

	Remove any capability constraints because of the used MODE.
	As we are not aware of the relation (if any) between the real DB URLs from the set, it is not correct to restrict DB capabilities based on the used MODE. Like if it is Round Robin, do not do UPDATE ever. Maybe the URLs point to the nodes of the same cluster.


2018-02-21  Razvan Crainea  <razvan at opensips dot org>
	* [baf4af90f] :

	rtpengine: allow specifying 15 length options


2018-02-15  Liviu Chircu  <liviu at opensips dot org>
	* [888d5e9b3] :

	rest_client: Fix a string handling bug in append_hf()
	Issue reported by Pasan Meemaduma


2018-02-15  Liviu Chircu  <liviu at opensips dot org>
	* [2254d0011] :

	F_MALLOC: Recover from double pointer free
	This patch makes F_MALLOC more robust in production by avoiding memory
	corruption in case of double free operations. Previously, the hash state
	would immediately get corrupted on such operations, and it would only be
	a matter of time before the allocator would crash in some random place
	with a useless backtrace resembling:

	\#0  0x0000000000507209 in fm_remove_free (qm=0x7f7d578d2010, size=56) at
	mem/f_malloc.c:200
	200          *pf=n->u.nxt_free;

	When DBG_MALLOC is defined, F_MALLOC will now abort() on a double free,
	similar to QM_MALLOC.


2018-02-15  Liviu Chircu  <liviu at opensips dot org>
	* [c77dac54f] :

	module deps: Improve feedback on modparam errors


2018-02-15  Liviu Chircu  <liviu at opensips dot org>
	* [56e8eb3ea] :

	cachedb_mongodb: Properly return "key not found" retcode


2018-02-14  Liviu Chircu  <liviu at opensips dot org>
	* [e9846467d] :

	mid_registrar: Log the Call-ID on erroneous register forking


2018-02-14  Liviu Chircu  <liviu at opensips dot org>
	* [0a08c9e16] :

	cachedb: Extend the headerfiles with dict-aware prototypes


2018-02-14  Liviu Chircu  <liviu at opensips dot org>
	* [b3ef9c189] :

	core: Refactor the mpath-related code into a function


2018-02-14  Liviu Chircu  <liviu at opensips dot org>
	* [2d3c0733d] :

	Add a basic unit testing framework
	Currently, this framework only supports writing unit tests for core
	code, but there are plans to expand it such that module tests can be
	easily written as well.

	The chosen C unit testing framework is libtap
	(https://github.com/zorgnax/libtap) - very lightweight and full of goodies.

	In order to write a core unit test, you should write the test file
	under a "test/" dir which resides right next to the tested file. The
	build system is smart enough to link any such test files placed in
	random test dirs all across the core codebase. Next, you enrol your
	test file to be init'ed and run in test/unit_tests.c, and you're done.

	To run the entire unit testing suite, just do "make test". You will
	have to type this command twice if you haven't enabled "-DUNIT_TESTS"
	under Makefile.conf beforehand.


2018-02-13  Liviu Chircu  <liviu at opensips dot org>
	* [29f4cf48d] :

	Travis: Be less verbose on Slack


2018-02-13  Liviu Chircu  <liviu at opensips dot org>
	* [7337b9abd] :

	dialog: Provide meaningful timer function names


2018-02-13  Dan Pascu  <dan at ag-projects dot com>
	* [4039f265d] :

	permissions: Handle integer columns of different sizes in tables/views


2018-02-13  Razvan Crainea  <razvan at opensips dot org>
	* [25d6396ea] :

	fix passing NULL values for route param


2018-02-13  Liviu Chircu  <liviu at opensips dot org>
	* [ac2f28ffa] :

	Fix a famous typo


2018-02-13  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [46e2dfa8d] :

	Fix pushing pure INT values into acc extra.
	Convert integer values to str if the val does not advertise any STR val.


2018-02-13  Razvan Crainea  <razvan at opensips dot org>
	* [9924969bf] :

	siprec: fix uninitialized warning


2018-02-12  Vlad Patrascu  <vladp at opensips dot org>
	* [c144e5f96] :

	siprec: allow custom XML values for caller/callee in siprec_start_recording()
	Closes #1263


2018-02-12  Dan Pascu  <dan at ag-projects dot com>
	* [73fb7cdbc] :

	Separate memory allocation from test


2018-02-12  Dan Pascu  <dan at ag-projects dot com>
	* [6753cf2ce] :

	Adjusted spacing


2018-02-12  Dan Pascu  <dan at ag-projects dot com>
	* [bcd551b29] :

	Be consistent with spacing, comments and NULL


2018-02-09  Vlad Patrascu  <vladp at opensips dot org>
	* [fa94b5e7d] :

	siprec: add t= and c= lines in the sdp body
	The IP is taken from a new parameter for the siprec_start_recording()
	script function.

	Closes #1262


2018-02-07  Liviu Chircu  <liviu at opensips dot org>
	* [8345ff29f] :

	cachedb_mongodb: Fix possible crash in counter add/sub


2018-02-07  Razvan Crainea  <razvan at opensips dot org>
	* [d6933ad99] :

	ratelimit: create pipe in a generic manner
	Fix pipe init by merging the pipe create in a single, common function.


2018-02-06  Vlad Patrascu  <vladp at opensips dot org>
	* [b0a55397d] :

	clusterer: fix table version in db schema


2018-02-06  Razvan Crainea  <razvan at opensips dot org>
	* [d857d4b95] :

	cgrates: fix using $cgr without dialog
	Thanks go to Artem Chalkov for reporing on GitHub
	Fixes #1268


2018-02-05  Ovidiu Sas  <osas at voipembedded dot com>
	* [ebbe49c50] :

	rtpproxy: revert commit ee2731212303eb7055b3bd165464fe44fae05e7b  - add comments to better explain logic behind code


2018-02-05  Ovidiu Sas  <osas at voipembedded dot com>
	* [ee2731212] :

	nathelper: complete revert commit 3c39167e333a8801772f49f8561a015bfa1836f1


2018-02-05  Ovidiu Sas  <osas at voipembedded dot com>
	* [06c6fa179] :

	nathelper: revert commit 3c39167e333a8801772f49f8561a015bfa1836f1  - add comments to better explain logic behind code


2018-02-05  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [1177d975f] :

	Fix handling of ECONNRESET.
	Instead of returning -1 (error), better propagate it as an EOF. The meaning (from our perspective) is more or less the same.


2018-02-05  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [293d87a28] :

	Migrated TCP reporting to RPC dispatching.
	Instead of passing the reporting to the last TCP worker (ugly hack with process_no-2), simply dispatch to any available work the job of pushing the TCP report to the HEP backend.
	Also fixed shmem leak with IPC jobs.


2018-02-05  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [a2e4e73ff] :

	Added ipc_dispatch_rpc() similar to ipc_dispatch_job()
	ipc_dispatch_rpc() will run the RPC function into any idle/available process


2018-02-05  Ovidiu Sas  <osas at voipembedded dot com>
	* [55e9479b3] :

	rtpproxy: fix test condition for altering IP in SDP while forcing RTP


2018-02-05  Ovidiu Sas  <osas at voipembedded dot com>
	* [3c39167e3] :

	nathelper: fix test condition for updateing IP for fix_nated_sdp()


2018-02-03  Ovidiu Sas  <osas at voipembedded dot com>
	* [61d1a7c9d] :

	nathelper: update documentation for fix_nated_sdp()


2018-02-03  Ovidiu Sas  <osas at voipembedded dot com>
	* [9af01763a] :

	nathelper: new flag for fix_nated_sdp to allow re-writing null IPs


2018-02-02  Ovidiu Sas  <osas at voipembedded dot com>
	* [69fdc76b2] :

	sipmsgops: documentation updated for is_audio_on_hold()


2018-02-02  Ovidiu Sas  <osas at voipembedded dot com>
	* [8a0b08f60] :

	sipmsgops: is_audio_on_hold() returns hold type  1 - RFC2543 hold type (the connection IP is set to null IP)  2 - RFC3264 hold type (inactive or sendonly attr)


2018-02-02  Ovidiu Sas  <osas at voipembedded dot com>
	* [12c21547f] :

	parser/sdp: distinguish between RFC2543 and RFC3264 media hold type


2018-02-02  Liviu Chircu  <liviu at opensips dot org>
	* [fc2025d93] :

	mid_registrar: Update documentation


2018-02-02  Liviu Chircu  <liviu at opensips dot org>
	* [075dc9ba8] :

	mid_registrar: Allow REGISTER failover
	This patch fixes mid-registrar's callback logic to properly work
	when a failure_route is in use.


2018-02-02  Liviu Chircu  <liviu at opensips dot org>
	* [664aee60d] :

	ut.h: Minor additions
	    * add shm_str_sync() and shm_str_clean()
	    * improve robustness during error states
	    * complete refactoring started in e94d90d165


2018-02-02  Liviu Chircu  <liviu at opensips dot org>
	* [3c916efed] :

	tm: Improve callback documentation


2018-02-02  Vlad Patrascu  <vladp at opensips dot org>
	* [47aa5f7a4] :

	event_flatstore: return proper error message for evi_flat_rotate


2018-02-02  Vlad Patrascu  <vladp at opensips dot org>
	* [e340e70cf] :

	event_flatstore: fix some locking issues


2018-02-02  Vlad Patrascu  <vladp at opensips dot org>
	* [c4d113a92] :

	event_flatstore: fix possible crash when subscribing


2018-02-01  Ovidiu Sas  <osas at voipembedded dot com>
	* [61521c713] :

	nathelper: update documentation for fix_nated_sdp()


2018-02-01  Ovidiu Sas  <osas at voipembedded dot com>
	* [ae1316628] :

	nathelper: fix_nated_sdp can add a new SDP field(s)  - the SDP field(s) is/are added at the end of SDP  - the SDP field(s) are provided as a thrd param to fix_nated_sdp()  - each SDP field must be preceeded by "\r\n"


2018-02-01  Razvan Crainea  <razvan at opensips dot org>
	* [bd60d31d8] :

	cfg: align parsing errors to a single format


2018-02-01  Razvan Crainea  <razvan at opensips dot org>
	* [adfc62b55] :

	cfg: fix error reporting for unenclosed scriptvars


2018-02-01  Razvan Crainea  <razvan at opensips dot org>
	* [08bc17915] :

	ratelimit: replicate the current counter for SBT


2018-01-31  Liviu Chircu  <liviu at opensips dot org>
	* [2e24c55e9] :

	process load: Code refactoring
	    * move stat building code into pt_load.c
	    * avoid using "pid" in order to refer to "process_no"


2018-01-31  Liviu Chircu  <liviu at opensips dot org>
	* [9c0bf6bbf] :

	process load: Fix some minor issues
	    * fix possibly incorrect 1m window values during very active periods
	    * fix possible zero activity reported during very active periods


2018-01-31  Razvan Crainea  <razvan at opensips dot org>
	* [b7862ccdd] :

	pvar: fix $hdr() to allow variable headers


2018-01-31  Razvan Crainea  <razvan at opensips dot org>
	* [c71021e84] :

	tls_mgm: fix doc for client_domain_avp


2018-01-31  Răzvan Crainea  <razvan at opensips dot org>
	* [a94423dbc] :

	Merge pull request #1269 from netaskd/patch-1
	tls_client_domain_avp mismatch in readme


2018-01-30  Razvan Crainea  <razvan at opensips dot org>
	* [6243d57ba] :

	dialog: fix README to reflect actual event params


2018-01-30  netaskd  <netaskd at gmail dot com>
	* [8498dc894] :

	tls_client_domain_avp mismatch in readme
	Parameter must be not "tls_client_domain_avp" but "client_domain_avp"


2018-01-30  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [ed12eb97c] :

	Fix reverse_hex2int64() prototype
	As the computed value is an unsigned (as data size), it cannot be returned as int as it will overflow and get converted to a negative value. This will colide with the negative error ret code -1


2018-01-30  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [c1d46c187] :

	Avoid bool test on float values
	Trevis reported.


2018-01-30  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [a61fa8646] :

	Explicit reset of conn ID on error
	if reverse_hex2int fails, be sure the conn id stays 0.


2018-01-30  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [095dc5730] :

	Fix reverse_hex2int() prototype
	As the computed value is an unsigned (as data size), it cannot be returned as int as it will overflow and get converted to a negative value. This will colide with the negative error ret code -1
	Reported by Daniel Zanutti.


2018-01-30  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [065a91776] :

	Avoid calling clusterer_api.request_sync if no cluster configured


2018-01-29  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [091149b07] :

	Added new load support based on active/idle time.
	The way the internal load is calculated and reported is radically changed. Instead of providing per-interface load and only for SIP related processing, the new "load" support calculates per process the amount of time spent in any processing (outside the I/O reactor) versus total time. The time granularity is 1us. This new system covers any kind of handling (SIP, timer, async, etc) inside a process.
	The TCP main and timer handler will also provide load information. In the future, the extra processes (per module) may easily record their load information.
	Each process (and globally) reports 3 load statistics:
	* realtime load, computed over the last 1s
	* last 1 minute load
	* last 10 minutes load

	Example via "opensipsctl fifo get_statistics load:" :
	load:load:: 24
	load:load1m:: 19
	load:load10m:: 1
	load:load-proc-1:: 0
	load:load1m-proc-1:: 0
	load:load10m-proc-1:: 0
	load:load-proc-2:: 0
	load:load1m-proc-2:: 0
	load:load10m-proc-2:: 0
	load:load-proc-3:: 0
	load:load1m-proc-3:: 0
	load:load10m-proc-3:: 0
	load:load-proc-4:: 67
	load:load1m-proc-4:: 22
	load:load10m-proc-4:: 2
	load:load-proc-5:: 79
	load:load1m-proc-5:: 24
	load:load10m-proc-5:: 2


2018-01-29  rvlad-patrascu  <vladp at opensips dot org>
	* [0ca2f0418] :

	Merge branch 'feature/clustering-enhancements'
	Conflicts:
		modules/usrloc/README


2018-01-26  rvlad-patrascu  <vladp at opensips dot org>
	* [97380d905] :

	clusterer: automatically choose the node to sync data from
	Given a provisioned "seed" node that is considered from the start to have the
	complete data set, every other node in the cluster synchronizes data from an
	eligible node (synced successfuly itself / is seed).

	Also, the get_my_index() API function now operates on a pool of nodes which
	have the complete data set.


2018-01-25  Liviu Chircu  <liviu at opensips dot org>
	* [2fe5dc355] :

	usrloc: Fix an off-by-one bug


2018-01-23  Liviu Chircu  <liviu at opensips dot org>
	* [1ec407b82] :

	Merge branch 'feature/usrloc-kv-contact-storage'


2018-01-23  Liviu Chircu  <liviu at opensips dot org>
	* [f7bf26857] :

	usrloc: Document the new "kv_store" column


2018-01-23  Liviu Chircu  <liviu at opensips dot org>
	* [2333d0d0c] :

	usrloc: Fix SHM leaks in the K/V support


2018-01-23  rvlad-patrascu  <vladp at opensips dot org>
	* [700422325] :

	mangler: accept variables for the public_ip parameter of encode_contact()


2018-01-19  Liviu Chircu  <liviu at opensips dot org>
	* [2b2e2ad6d] :

	usrloc: Remove bogus "const" modifiers


2018-01-19  Liviu Chircu  <liviu at opensips dot org>
	* [d17722d0d] :

	mid_registrar: Allow startup with DB-enabled usrloc
	Also swap the ordering of some usrloc API operations - this will help
	keep the DB in sync at runtime more often.


2018-01-19  Liviu Chircu  <liviu at opensips dot org>
	* [ca0fc9321] :

	Update DB schema


2018-01-19  Liviu Chircu  <liviu at opensips dot org>
	* [7f1bef2f4] :

	usrloc: Implement DB persistency for all K/V storage
	This patch adds a new location table column, named "kv_store". This
	column will hold any custom data that modules may intend to push into
	usrloc contact structures. Currently, only the mid_registrar module is making
	use of this feature.

	Moreover, the implementation also includes persistency for the
	record-level K/V storage. This is achieved with a special key, "_urec_kvs",
	that will only be present in one of the contacts' K/V store.


2018-01-19  Liviu Chircu  <liviu at opensips dot org>
	* [b674aa264] :

	usrloc K/V store: Add serialize/deserialize functions


2018-01-19  Liviu Chircu  <liviu at opensips dot org>
	* [908282992] :

	map.h: Refactor int flags into enum map_flags


2018-01-19  Liviu Chircu  <liviu at opensips dot org>
	* [bcae687fd] :

	str.h: Add a quick str initialization function


2018-01-19  Liviu Chircu  <liviu at opensips dot org>
	* [d2527e88d] :

	Improve the cJSON library
	    * add a str-based appending function
	    * avoid defining yet another pair of malloc/free funcs
	    * fix the resetted allocation functions from glibc to PKG


2018-01-18  Liviu Chircu  <liviu at opensips dot org>
	* [8d3daae21] :

	usrloc: Fix broken contact_id generation
	Commit b2554c3c3a actually broke contact_id generation during replicated
	usrloc contact inserts. We now ensure all registrar insert_ucontact() calling
	code passes on a zeroed "ucontact_info_t" struct, such that new contact_ids get
	properly generated with every call.

	Reported by @sekil on IRC


2018-01-18  Liviu Chircu  <liviu at opensips dot org>
	* [daea4348e] :

	mid_registrar: Fix a bad startup check


2018-01-17  Liviu Chircu  <liviu at opensips dot org>
	* [6a86d5443] :

	usrloc: Simplify the callback API
	The opaque buffer extension for the API (commit b0241c1318) is no longer
	needed, as the K/V usrloc extension completely replaces it.

	This commit also refactors the usrloc callback types as "ul_cb_type",
	thus making them easier to pick up / work with.


2018-01-17  Liviu Chircu  <liviu at opensips dot org>
	* [7f71f3ff9] :

	mid_registrar: Refactor contact mirroring/throttling
	We now make use of usrloc's newly added k/v storage functions in order
	to store/retrieve the module data into/from each contact.


2018-01-17  Liviu Chircu  <liviu at opensips dot org>
	* [e94d90d16] :

	Refactor shm_str_resize() into shm_str_extend()
	This hints better at what the function actually does (i.e. it will not
	shrink your buffers)


2018-01-17  Liviu Chircu  <liviu at opensips dot org>
	* [cfa7be567] :

	mid_registrar: Refactor the AoR throttling implementation
	We now make use of usrloc's newly added k/v storage functions in order
	to store/retrieve the module data into/from each record.


2018-01-17  Liviu Chircu  <liviu at opensips dot org>
	* [1fc88e8ba] :

	usrloc: K/V store - use map_find() instead of map_get()


2018-01-17  Liviu Chircu  <liviu at opensips dot org>
	* [b2ac38d70] :

	usrloc: Add generic, record-level key-value storage
	Allows various usrloc-dependent modules to easily store data into or
	to retrieve data from each usrloc record / AOR.


2018-01-17  Liviu Chircu  <liviu at opensips dot org>
	* [597daa366] :

	usrloc: Add generic, contact-level key-value storage
	Allows various usrloc-dependent modules to easily store data into or to
	retrieve data from each usrloc contact.


2018-01-17  Liviu Chircu  <liviu at opensips dot org>
	* [e5b5cfc28] :

	freeswitch_scripting: Add table to opensipsdbctl installer
	Also rebuild the DB schema.


2018-01-17  Razvan Crainea  <razvan at opensips dot org>
	* [151c1cf0e] :

	rtpengine: handle POLLHUP while draining
	Thanks go to Pete Kelly for reporting this


2018-01-17  rvlad-patrascu  <vladp at opensips dot org>
	* [1134b2e37] :

	clusterer: fix mem leak when sending BIN packets from script
	Reported by Gohar Ahmed in #1254


2018-01-17  Liviu Chircu  <liviu at opensips dot org>
	* [95ab8c05f] :

	xlog: Fix a series of issues
	    * properly report xlog() success/failure at script level
	    * differentiate between xlog errors (-1) and HEP errors (-2)
	    * do not cancel logging because of HEP errors
	    * remove bogus error log
	    * hint at 'xlog_buf_size' if the print string is too large


2018-01-16  Razvan Crainea  <razvan at opensips dot org>
	* [d33253b6b] :

	compression: fix memory leak due to whitelists
	Thanks go to Nick Altmann for reporting this
	Closes #1252


2018-01-16  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [c527146cd] :

	Fix RURI len calculation after removing param.
	Reported by Denis Lemire
	(cherry picked from commit 50735b93508d77b4e44223450f60ae43082b14bb)


2018-01-16  Razvan Crainea  <razvan at opensips dot org>
	* [8c5651be2] :

	net_tcp: remove fd from reactor before cleaning up


2018-01-12  rvlad-patrascu  <vladp at opensips dot org>
	* [86003da2d] :

	drouting: reduce the two replication module params into a single one


2018-01-12  rvlad-patrascu  <vladp at opensips dot org>
	* [bb6e4f4d6] :

	load_balancer: reduce the two replication module params into a single one


2018-01-12  rvlad-patrascu  <vladp at opensips dot org>
	* [1d8fb8156] :

	ratelimit: reduce the two replication module params into a single one


2018-01-12  rvlad-patrascu  <vladp at opensips dot org>
	* [71c2353a6] :

	usrloc: reduce the two replication module params into a single one


2018-01-12  rvlad-patrascu  <vladp at opensips dot org>
	* [f06f3aa25] :

	dialog: simplify replication related module parameters
	Replaced the dialog and profile replication module parameters (source and
	destination cluster ids) with a single one for each of these capabilites.

	Also update and improve docs regarding replication.


2018-01-12  rvlad-patrascu  <vladp at opensips dot org>
	* [2f7a9555a] :

	clusterer: always check address of received BIN messages
	Always check if the IP of the received BIN packets belongs to one of the nodes
	in the cluster. Therefore also remove the "auth_check" module parameters for the
	modules registered to clusterer.


2018-01-12  rvlad-patrascu  <vladp at opensips dot org>
	* [d6ee4c9a9] :

	usrloc: partition NAT pinging across the cluster when replicating contacts
	The node determines its pinging slice by performing an
	AOR hash modulo current_no_cluster_nodes.


2018-01-12  rvlad-patrascu  <vladp at opensips dot org>
	* [a24695a64] :

	clusterer: faster pinging restart
	Restart own pinging immediately, instead of on timer, when receiving a ping
	from a failed node.


2018-01-12  rvlad-patrascu  <vladp at opensips dot org>
	* [5e461c668] :

	clusterer: advertise links as directed in topology updates
	Links are now considered as bidirectional in each node's internal
	topology representation. This fixes some routing loops and inconsistencies
	during the convergence of the overall cluster topology.


2018-01-12  rvlad-patrascu  <vladp at opensips dot org>
	* [d8df84780] :

	clusterer: fix deadlock when receiving a BIN packet on disabled node


2018-01-12  rvlad-patrascu  <vladp at opensips dot org>
	* [006eea599] :

	usrloc: sync contacts from another node in the replication cluster
	Contacts are synchronized at startup or through an MI command.
	A valid source node is established by the clusterer module.


2018-01-12  rvlad-patrascu  <vladp at opensips dot org>
	* [00172f42e] :

	clusterer: fix node availability events


2018-01-12  rvlad-patrascu  <vladp at opensips dot org>
	* [9bf5efc0e] :

	clusterer: load info from DB at module init


2018-01-12  rvlad-patrascu  <vladp at opensips dot org>
	* [326421930] :

	clusterer: add mechanism to synchronize data for a capability
	Implemented through separate API functions which allow a node to:
	* request to sync with another node
	* build and send BIN packets with delimited chunks of data
	* iterate through data chunks from the received sync packets

	Also, regular BIN packets received for the given capability are buffered
	until syncing is complete.


2018-01-12  rvlad-patrascu  <vladp at opensips dot org>
	* [4ec8d9ba3] :

	clusterer: fix wrong capabilities for some clusterer messages


2018-01-12  rvlad-patrascu  <vladp at opensips dot org>
	* [cfa7e31a7] :

	clusterer: clean up some leftover code


2018-01-12  rvlad-patrascu  <vladp at opensips dot org>
	* [5b7bec8e9] :

	clusterer: add capabilities
	Modules now register "capabilities" to clusterer. Instead of a single callback,
	a module now registers callbacks for each capability. Also, nodes discover the
	capabilities of all the other instances in the cluster.


2018-01-11  rvlad-patrascu  <vladp at opensips dot org>
	* [71960b917] :

	sql_cacher: do data loading for full caching in the first child process
	Speed up OpenSIPS starting sequence by doing the full caching data load
	in the first process, after child_init is done (via RPC), instead of
	during module init.


2018-01-11  rvlad-patrascu  <vladp at opensips dot org>
	* [0b06e6ee3] :

	sip_i: small doc fix for add_isup_part function


2018-01-11  Razvan Crainea  <razvan at opensips dot org>
	* [672929eed] :

	msg: properly compute the initial body size
	Also initialilize the body structure in case there is no body in the message.


2018-01-11  Razvan Crainea  <razvan at opensips dot org>
	* [5773e65b9] :

	protos/tcp: respect async operations order
	In case there is a write request, before actually writing the data on
	the network, check if there are any async chunks left, and make sure
	they are sent before any other write happens. This is necessary to make
	sure the order of the packets is respected, otherwise we might end up
	with fragments of other packets in the stream.

	Thanks go to Vlad Patrascu for reporting and testing this.


2018-01-11  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [769fb3c59] :

	Fix TO parsing when there is a comma inside a quoted display/value
	This bug was introduced during the re-factoring of the TO parser to support multple body parts - see 908b9f190bff3b356f76ce8ca75d43a2c149a412

	Reported by Tito Cumpen <tito@xsvoce.com>


2018-01-11  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [963f05169] :

	Fixed parameter passing for dr_is_gw().
	If partitions are not used, do a logic shift for the parameters with one position to the left to compensate the missing partition param.

	Reported by Jonathan Hunter <hunterj91@hotmail.com>


2018-01-10  Liviu Chircu  <liviu at opensips dot org>
	* [0d1bc4423] :

	mid_registrar: Fix an AoR throttling bug
	Do not apply min/max "expires" module limitations when computing the
	main registrar's contact expiration value.


2018-01-10  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [5d1670a4a] :

	Repaid the IPC support in the external proc of FS module
	Allow a module to inform the core if its additional processes are able or not to handle IPC jobs.
	New process flag (for the module interface) added - PROC_FLAG_HAS_IPC.


2018-01-09  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [19756d46c] :

	Added support for graceful shutdown.
	Graceful shutdown is based on IPC commands sent to worker processes, rather than terminating them by SIGTERM. This will allow the workers to complete on ongoing task and to terminate in a consistent state (as locking or data consistency).
	TO DO:
	 * move PKG memory dumping and memory stats to IPC/RPC (versus signals)
	Nice to have:
	 * child_destroy() functions to allow modules to do per-child/process cleanup (like closing DB conns, flushing, etc)


2018-01-09  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [405baf884] :

	Fine tunning of IPC support in internal_fork()
	* introduced "flags" to internal_fork() for various options
	* added OSS_FORK_NO_IPC to prevent the creation of IPC pipes during internal_fork - to be used when creating new processes without IPC support
	* replaced id_of_pid() with get_process_ID_by_PID()


2018-01-09  Razvan Crainea  <razvan at opensips dot org>
	* [cf190a955] :

	pike: enforce remove latency to at least sampling_time_unit + 1
	This prevents UNBLOCK events from being lost.


2018-01-09  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [719f62053] :

	Removed bogus connection close at shutdown
	There is not DB connection closed in proc MAIN (from dailplan) as the conn is closed in mod_init() after all the DB checks.


2018-01-09  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [1b9541432] :

	Small code cleanup


2018-01-09  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [a4dcbfc67] :

	Moved data loading outside child init
	Instead of loading the data in child_init routine, better fire a RPC to itself to perform the load after the child_init is done. This will speed up the OpenSIPS starting sequance, as we can complete the init part and daemonize without waiting for data loading.


2018-01-09  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [421d67004] :

	Moved data loading outside child init
	Instead of loading the data in child_init routine, better fire a RPC to itself to perform the load after the child_init is done. This will speed up the OpenSIPS starting sequance, as we can complete the init part and daemonize without waiting for data loading.


2018-01-09  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [35c432467] :

	Moved data loading outside child init
	Instead of loading the data in child_init routine, better fire a RPC to itself to perform the load after the child_init is done. This will speed up the OpenSIPS starting sequance, as we can complete the init part and daemonize without waiting for data loading.


2018-01-09  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [431638e58] :

	Added support for RCP via IPC
	RPC allows you to request another process to run a function of yours.


2018-01-09  Razvan Crainea  <razvan at opensips dot org>
	* [85a2f8644] :

	mongo: replace deprecated bulk function
	replace mongoc_collection_create_bulk_operation() function from 1.8.0
	with the newly added mongoc_collection_create_bulk_operation_with_opts()
	function in 1.9.0


2018-01-09  Razvan Crainea  <razvan at opensips dot org>
	* [a63e7b24e] :

	perl*: enable optimizations if FORTIFY_SOURCE is used


2018-01-09  Razvan Crainea  <razvan at opensips dot org>
	* [3ed75a854] :

	jabber: complete previous commit


2018-01-09  Razvan Crainea  <razvan at opensips dot org>
	* [4c94c946a] :

	jabber & xmpp: fix bogus pointer checks


2018-01-09  Razvan Crainea  <razvan at opensips dot org>
	* [fecb4b244] :

	msg: remove extra bytes from malformed bodies
	This commit fixes an abort() generated by the message builder
	when a malformed message is received that has a Content-Length lower
	than the actual body.

	Thanks go to Jon Hunter for reporting this issue and offering all
	necessary information for debugging it.

	Closes #1244


2018-01-07  Liviu Chircu  <liviu at opensips dot org>
	* [14baedfbd] :

	mid_registrar: Fix unsafe strdup operation


2018-01-05  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [824e21c96] :

	Expose the ATTR field for event E_UL_CONTACT_INSERT.
	Extract the attr event field and expose it as "attr" atribute in the EBR resume route.


2018-01-05  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [3fb5817be] :

	The E_UL_CONTACT_INSERT event exposes the attr string.


2018-01-05  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [c6c937d1e] :

	Ignore tracing types which are not recognized.
	Instead of exiting with error and abording the whole tracing, better simple ignore the unrecognized tracing types.


2018-01-05  Liviu Chircu  <liviu at opensips dot org>
	* [91d7e7f4b] :

	rest_client: Fix a rest_post() regression bug
	Commit c549e6ec added an unnecessary libcurl option which caused
	the HTTP headers to be logged into the output body pseudo-variable
	alongside the request body when performing a rest_post().

	This patch disables the above-mentioned libcurl option (CURLOPT_HEADER).

	Reported by @goharahmed on GitHub.
	Fixes #1247.


2018-01-05  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [cec2d66b7] :

	Fixed expantion of shm_info() for HP_MALLOC
	Reported by Nick Altmann
	Closes #1240


2018-01-05  Liviu Chircu  <liviu at opensips dot org>
	* [aab1ec7e0] :

	menuconfig: Fix a PREFIX handling bug
	This patch fixes a bug where menuconfig corrupts the Makefile.conf
	PREFIX variable value by incorrectly trimming the last char in an
	attempt to ensure that the value has a trailing '/' char. This would
	happen each time the user launches menuconfig and chooses
	"Exit & Save All Changes".

	Reported by @Jeffrey2019 on GitHub.
	Fixes #1248.


2018-01-05  Liviu Chircu  <liviu at opensips dot org>
	* [468060b3e] :

	mid_registrar: Fix possible startup segfault
	If you don't set commit 34d0b1bc2's modparam, you win a corefile.


2018-01-05  Liviu Chircu  <liviu at opensips dot org>
	* [c1df32786] :

	acc: Simplify some startup parsing code
	    * use str_strcmp() more often
	    * code only runs at startup, no need for static storage
	    * remove redundant "inline" modifiers


2018-01-04  Liviu Chircu  <liviu at opensips dot org>
	* [99c32a3e5] :

	mid_registrar: Update documentation


2018-01-04  Liviu Chircu  <liviu at opensips dot org>
	* [34d0b1bc2] :

	mid_registrar: Add the "extra_ct_params_pvar" modparam
	Allows the script writer to append additional Contact URI parameters.


2018-01-04  Liviu Chircu  <liviu at opensips dot org>
	* [7bafce982] :

	mid_registrar: Improve the advertised socket logic
	Instead of blindly advertising the first UDP interface in the
	self-generated, outgoing Contact URIs, the mid_registrar is now
	aware of the next SIP hop and properly advertises the actual
	sending interface which will be used. This includes any forced
	send socket logic at script level.


2018-01-04  Liviu Chircu  <liviu at opensips dot org>
	* [3acaf2e92] :

	mid_registrar: Fix unused variable


2018-01-04  Liviu Chircu  <liviu at opensips dot org>
	* [86628e6d4] :

	mid_registrar: Fix a PKG memory leak
	Although the TMCB_RESPONSE_IN callback provides a reference to the initial
	request during reply processing, this sip_msg must not be parsed (i.e. passed
	to parse_headers()), otherwise we leak PKG memory, since parsing is
	PKG-based, while the request buffer is copied in SHM.

	The current workaround for mid_registrar is to immediately duplicate all
	contact-related data we could possibly need, should the contact successfully
	register on the downstream registrar. This copying takes place during request
	processing. Once the reply arrives, we only make use of this info in order to
	store the contact in usrloc, and barely even use the "req" sip_msg
	provided by tm.


2018-01-04  Liviu Chircu  <liviu at opensips dot org>
	* [a2dd10a49] :

	Add a "struct ucontact_info" logging function


2018-01-03  rvlad-patrascu  <vladp at opensips dot org>
	* [bf4ce8e30] :

	dialog: fix a clusterer module registration bug
	Bad cluster id provided to the clusterer module when only the
	accept_replicated_profiles parameter was defined without accept_replicated_dialogs.

	Thanks go to Nick Altmann for reporting this.

	Closes #1243


2018-01-03  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [f7216003b] :

	Improve docs on db_url setting


2018-01-03  Liviu Chircu  <liviu at opensips dot org>
	* [fa558c7c2] :

	Fix previous commit
	Avoid trapping the "EXIT" pseudo-signal altogether, as it may misbehave
	on some shells (hangs the console or does not trap anything at all).


2018-01-03  Liviu Chircu  <liviu at opensips dot org>
	* [4489e307b] :

	opensipsctl improvements
	* use $CHROOT_DIR/tmp instead of /var/lock - the latter may be read-only
	* avoid dangling osips_rply_* files on error / SIGTERM


2018-01-03  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [b4d74ebd5] :

	Fixed handling of TTL 0 in DNS answers.
	RFC1035 states : "Zero TTL values are interpreted to mean that the RR can only be used for the transaction in progress, and should not be cached."

	Reported by Marcin Luczkiewicz @ Magrathea Telecom


2018-01-03  Razvan Crainea  <razvan at opensips dot org>
	* [596271ae1] :

	json: add $json_pretty and $json_compact vars
	Credits go to Nick Altmann for providing the idea for this and a patch.


2017-12-22  Razvan Crainea  <razvan at opensips dot org>
	* [d2c1c7838] :

	rtpproxy: store returned IP:port in pvar
	Closes #1233


2017-12-22  Razvan Crainea  <razvan at opensips dot org>
	* [6b2ad1fe3] :

	dispatcher: restore URI headers check from prev. commit


2017-12-22  Razvan Crainea  <razvan at opensips dot org>
	* [bf1376203] :

	dispatcher: add comment for uri vs dst_uri


2017-12-22  Razvan Crainea  <razvan at opensips dot org>
	* [575a1b159] :

	dispatcher: fix TCP and TLS destinations
	Before this commit, the structures used internally to store the
	destinations URI were not storing the URI parameters - since these were
	dropped, URIs that contain TCP or TLS transport would be involuntary
	converted to UDP.
	This fix also stores the provisioned parameters in the dst_uri.

	Closes #1227


2017-12-21  Razvan Crainea  <razvan at opensips dot org>
	* [e845b37a5] :

	dialog: don't mark new dialogs as deleted


2017-12-21  Liviu Chircu  <liviu at opensips dot org>
	* [6c62d858f] :

	Fix some typos


2017-12-21  Nick Altmann  <nick.altmann at gmail dot com>
	* [e64b8eaf8] :

	YUM packaging: add freeswitch_scripting module


2017-12-21  Liviu Chircu  <liviu at opensips dot org>
	* [9a19ff96a] :

	cache_counter_fetch(): Fix bogus error handling
	(looks like a copy-paste bug)


2017-12-21  Liviu Chircu  <liviu at opensips dot org>
	* [1f3a0a335] :

	cachedb core: Fix a minor mem leak


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [9ddb33ea0] :

	Merge branch 'feature/freeswitch-extended-integration'


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [f33c145a5] :

	freeswitch: Lower default "esl_cmd_polling_itv" to 1ms


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [ece4d1ebc] :

	freeswitch: Document newly added modparams


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [a848555e0] :

	freeswitch: Fixes and minor improvements
	    * free pending replies on socket cleanup
	    * NULL-terminate some printed strings
	    * remove unneeded fields
	    * fix bad socket cleanup condition
	    * add some useful debug logs


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [b3b61f0fe] :

	freeswitch_scripting: Add documentation


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [f571ed35e] :

	opensipsctl: Do not synchronize different instances
	Suggested by Răzvan Crainea


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [978a6c384] :

	freeswitch_scripting: Fix GCC warning


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [96289ccac] :

	opensipsctl: Add a critical section for FIFO writes


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [5e4a6648f] :

	freeswitch_scripting: Add DB schema files


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [d014fe5c7] :

	freeswitch_scripting: Add DB provisioning support


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [9f3c3c3be] :

	freeswitch_scripting: Add "fs_list" MI command


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [1b4381619] :

	lib/csv: Add some useful parsing flags
	    * dup the parsed strings
	    * do all allocations in SHM


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [8b6884e98] :

	db: Fix a minor mem leak


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [0bbc79a44] :

	freeswitch: Implement the JSON body event parameter


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [b30abf8db] :

	freeswitch_scripting: Implement the E_FREESWITCH event
	This event has three parameters:

	    * name
	    * sender (FreeSWITCH host)
	    * JSON body


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [cdb104cb4] :

	freeswitch: Add WIP dereferenced socket cleanup logic
	The reactor needs refactoring before this feature can work.


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [5c99644aa] :

	freeswitch_scripting: Improve MI feedback on oom


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [8b3bafa91] :

	freeswitch_scripting: Implement sub/unsub MI commands


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [e587188ce] :

	freeswitch: Fix event unsubscribing


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [debf94dee] :

	freeswitch: Further implement generic event subscribing
	Currently, we can subscribe for generic FS events and they get
	fired into "freeswitch_scripting" via the shared IPC support.

	Patch summary:
	    - add FS ESL command building logic
	    - refactor the api->evs_sub() function to take an ipc_handler_type
	      as parameter.
	    - drop the freeswitch_scripting API. No longer needed.
	    - simplify data structures


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [8f16df247] :

	Fix the shared IPC support
	The initial implementation was incomplete


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [6be577e6a] :

	freeswitch_scripting: Rename fs_cli() to freeswitch_esl()
	Also adapt to the new interface / IPC changes.


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [6b29c9c04] :

	freeswitch: Implement the fs_esl() API command
	This API call allows execution of an arbitrary FreeSWITCH ESL command on
	an arbitrary FS interface. It has the following flow:
	    1. script worker
		- calls freeswitch_esl(), hence api->fs_esl()
		- fires an IPC job to the FS connection manager
		- busy-waits for an SHM response (with sleep())

	    2. FS connection manager
		- receives the IPC job, runs the ESL command
		- places the reponse in SHM for the worker to find

	    3. script worker
		- finds the corresponding response, stores it in the output
		  pvar (if provided) and resumes the OpenSIPS script


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [7195d197b] :

	Improve LM_BUG() macro
	This allows syntax such as:

	if (foo)
	    LM_BUG("");
	else
	    bar;

	We also drop the deprecated report_programming_bug() macro.


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [bead98be0] :

	freeswitch: Improve logging


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [2f50509e2] :

	freeswitch: Fix socket updating logic


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [0d50eb923] :

	freeswitch_scripting: Implement the fs_cli() script function


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [5f112a60a] :

	str.h: Add some handy zero-string test macros


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [cccc6e65a] :

	freeswitch_scripting: Implement modparam subscriptions
	Also remove the "func" concept from the FS subscription API. It is no
	longer needed, as the IPC communication between the two modules takes
	care of providing this handler.


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [0d57d6e55] :

	str_list: Add a doubly linked string list structure


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [073a53aed] :

	Add a new "freeswitch_scripting" module
	With a basic structure:

	    * MI function stubs
	    * script function stubs
	    * (hope)fully implemented IPC interaction with "freeswitch"

	Patch includes some "freeswitch" refactoring to get everything working.


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [6aa157695] :

	ipc: Do not dispatch jobs to extra timer processes


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [100d72aa5] :

	ipc: Add job dispatching support
	This patch adds support to dispatch a job to a currently available
	TCP, UDP or timer OpenSIPS worker.

	We also revert the incorrect function refactoring done in commit 69142efd59f.


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [51a979f57] :

	freeswitch: Extend API / further implement logic
	    * implement evs_sub() / evs_unsub()
	    * extend API with fs_cli() function
	    * new modparam: "esl_connect_timeout"

	Major refactoring of data structs and extra proc flow to support
	the above.


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [e38b1b594] :

	reactor.h: Improve variable naming
	Easier to figure out the time measuring unit


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [a1c4c2a39] :

	ipc: Improve and document the API


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [ef5f2017a] :

	freeswitch: Implement get_evs() / put_evs()


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [3db613e83] :

	freeswitch: Extend API with sub/unsub functions
	This makes the API more logical - easier to understand and use.


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [ff83a31e4] :

	freeswitch: Refactor API
	    * add generic FS event subscribe/unsubscribe function stubs
	    * new modparam: "event_heartbeat_interval"
	    * expose "event_heartbeat_interval" in API, use wherever needed
	    * improve naming for stats-based socket API functions
	    * remove the callback-based support for updating stats
	      (this never worked anyway, ds/lb would always pull data)


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [580fdb0a3] :

	lib/osips_malloc: Inline all functions


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [341292012] :

	Code refactoring
	    * expose tm's "struct str_list" as a core header
	    * get rid of "struct csv_record", swap for "struct str_list"
	    * refactor all code dependencies


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [8ad49f52d] :

	lib/csv: Add some header docs


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [94f2bcec2] :

	lib/url: Add some header documentation


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [2d4ecdebc] :

	lib/url: Improve logging and robustness


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [70f8a34d6] :

	util: Add str2short()


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [530001539] :

	lib: Add generic URL parsing support
	Very re-usable (db/db.c, cachedb/cachedb_id.c, modules/freeswitch/fs_api.c,
	MongoDB, etc.). Importing code can easily customize their URLs by
	enforcing/relaxing: scheme part, user part, pass part, ports, database and
	extra hosts.

	This patch also adds a new URL extension: parameters!

	Syntax: scheme://...?foo=bar,foo

	Refer to lib/url.h for the full spec


2017-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [d3689b031] :

	lib: Add basic CSV line parsing primitives


2017-12-20  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [30d47e658] :

	Fixed error message.
	Properly report the hdr name (PAI or PPI) when hdr fields validation fails


2017-12-20  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [ef89e181f] :

	Remove some heavy log (instroduced with the prev commit).


2017-12-20  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [f78926432] :

	Use as OBP the first PATH URI.
	If PATH defined, when injecting a new branch, extract the first PATH URI and use it as destination.
	Reported by @futsystems in #1235
	Fix for problem 1.


2017-12-20  Razvan Crainea  <razvan at opensips dot org>
	* [28385b6de] :

	debian: let debuild figure out mysql dependencies
	Reported by Nick Altmann

	(cherry picked from commit 5916511339e638ff301ad7556c2ef8f4cb7f36bb)
	(cherry picked from commit b2ce0c2edc31c63d49d8eca685ab8ee9cfeeba6e)


2017-12-19  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [69ef92cd9] :

	Fix validation for PAI, PPI and Diversion headers
	These headers must be parsed as multu-field headers
	Also for PAI and PPI we apply extra checks as per RFC3325.

	Close #1134
	Close #1228


2017-12-19  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [908b9f190] :

	Fix hdr parsing to accept multi-value bodies.
	The parser for Diversion, PAI and PPI use now the parse_multi_to() in order to handle multi name-addr/addr-spec hdr bodies.


2017-12-19  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [a7e724a09] :

	Refactor generic parse_to() to accept multi-value headers.
	New function parse_multi_to() added to allow parsing of multi-value (comma separated) name-addr/addr-spec headers (like Diversion, PAI, PPI).
	Changes are backward compatible in regards to original parse_to() function.


2017-12-19  Razvan Crainea  <razvan at opensips dot org>
	* [1b9532cb8] :

	reactor: replace epoll_lt and epoll_et \w epoll
	Remove the epoll_lt and epoll_et keyworkds and make available only
	epoll, which behaves as epoll lt (Level Triggered)


2017-12-19  Razvan Crainea  <razvan at opensips dot org>
	* [9f54480df] :

	deprecate epoll_et and use epoll_lt instead
	epoll_et needs draining the socket out of data, which behaves against
	our balancing mechanism.
	(cherry picked from commit cbfef48c726bd4679f7f63df83250523101068f6)


2017-12-19  Razvan Crainea  <razvan at opensips dot org>
	* [a25019172] :

	acc: fix prepared statements for non-ctx records
	In case one is doing a "manual" acc_db_request() in local route, where
	you don't have a context, there are not extra values available, thus we
	need to use a different prepared statement.

	Credits go to Pete Kelly for reporting this


2017-12-19  Razvan Crainea  <razvan at opensips dot org>
	* [001c42cfd] :

	ratelimit: improve expire_time parameter doc
	Kudos the Ecosmob team for reporting this!


2017-12-19  Razvan Crainea  <razvan at opensips dot org>
	* [ba7c8e8e6] :

	ratelimit: improve documentation on rl_check()
	Consider using rl_dec_count() for declined calls.

	Credits go to Ecosmob for reporting this.


2017-12-19  Razvan Crainea  <razvan at opensips dot org>
	* [a6528d8eb] :

	ratelimit: fix slot_period documentation
	slot_period should be expressed in milliseconds, not milliseconds

	Kudos to the Ecosmob team for reporting this!


2017-12-15  rvlad-patrascu  <vladp at opensips dot org>
	* [5923267fb] :

	sql_cacher: complete mem leak fix from previous commit


2017-12-15  rvlad-patrascu  <vladp at opensips dot org>
	* [5179bc2f9] :

	sql_cacher: fix memory leaks when loading from SQL on demand


2017-12-15  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [bbae925fe] :

	Added new set of functions for list headers.
	Functions for operating on headers having in body CSV lists of tokens (like the Supported, Require, Content-Dispsition headers) :
	 * list_hdr_has_option(hdr_name,option)
	 * list_hdr_add_option(hdr_name,option)
	 * list_hdr_remove_option(hdr_name,option)


2017-12-15  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [43cdb2f24] :

	Added parser for list-like body headers.
	This parser can be used for hdr bodies holding list of options/tokens like Supported, Require, Content-Disposition, etc.
	Work in progress.


2017-12-15  rvlad-patrascu  <vladp at opensips dot org>
	* [6aef8347b] :

	sql_cacher: fix possible crash when loading from SQL on demand
	Elements from the list of queries in progress are now properly removed.


2017-12-15  Liviu Chircu  <liviu at opensips dot org>
	* [02b114902] :

	mid_registrar: Never parallel fork in "mode == 1"
	This patch fixes a subtle bug where a "mode == 1" mid-registrar would
	parallel fork to a random number of contacts by walking the remaining
	"->next" values of the currently looked up contact.


2017-12-13  Razvan Crainea  <razvan at opensips dot org>
	* [49bb70dd1] :

	dialog: fix error typo


2017-12-13  Razvan Crainea  <razvan at opensips dot org>
	* [3596efdc0] :

	disable EPOLLEXCLUSIVE due to bogus behavior


2017-12-13  Razvan Crainea  <razvan at opensips dot org>
	* [e37be3ab2] :

	clang: fix blacklist bitwise check warnings


2017-12-13  Razvan Crainea  <razvan at opensips dot org>
	* [9f89deb6d] :

	mongodb: use json common detection


2017-12-13  Razvan Crainea  <razvan at opensips dot org>
	* [3e71fd6f7] :

	json: merge json detection into a common dir
	re-arrange code to be able to merge json(-c) library detection into a
	single common directory


2017-12-13  Răzvan Crainea  <razvan at opensips dot org>
	* [4a511e459] :

	Merge pull request #1231 from besser82/enhancement/json_array_del
	modules/json: Improve readability


2017-12-13  Björn Esser  <besser82 at fedoraproject dot org>
	* [5220f6ae2] :

	modules/json: Improve readability


2017-12-12  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [1906423bc] :

	Fix README file
	local:group2///collection2 Cache DB URL is broken in example.
	(cherry picked from commit ca96dd653c520cee044f72d1ac39970e830f19ba)


2017-12-12  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [69e514bfa] :

	Fix ambuguity in cache DB URL parser.
	Do not accept URLs like schema:group//.. ; Correct format is schema:group://.. or schema://..
	(cherry picked from commit 87025cc925f5eadc87c9ee757326d6b5b9f5df87)


2017-12-12  Razvan Crainea  <razvan at opensips dot org>
	* [250d31168] :

	Merge branch 'besser82-enhancement/json-c_013'


2017-12-12  Razvan Crainea  <razvan at opensips dot org>
	* [d3def25ca] :

	json: rename some variables and change C99 comment


2017-12-12  Björn Esser  <besser82 at fedoraproject dot org>
	* [57ae84b2d] :

	modules/json: Properly detect json-c version and adaptions for v0.13


2017-12-08  Razvan Crainea  <razvan at opensips dot org>
	* [5ae5daecb] :

	rtpproxy/rtpengine: handle error while draining


2017-12-07  Razvan Crainea  <razvan at opensips dot org>
	* [f0fcf326c] :

	ip.resolve: null terminate queried string
	Thanks go to Nick Altman for reporting this!


2017-12-07  Razvan Crainea  <razvan at opensips dot org>
	* [6affbec7c] :

	Revert "ut: fix *_strdup() functions"
	This reverts commit 595c91590cbbb3eed3ba789d689281c7088f0ffe.


2017-12-07  Razvan Crainea  <razvan at opensips dot org>
	* [595c91590] :

	ut: fix *_strdup() functions


2017-12-07  Liviu Chircu  <liviu at opensips dot org>
	* [ec04149f2] :

	Fix unhandled compile flags combination
	Defining DBG_TCPCON without DBG_STRUCT_HIST would lead to a broken
	opensips binary, that always fails to start. We now throw a compilation
	warning on such flag combinations and ensure the resulting binary
	remains correct.

	Reported by SamyGo


2017-12-06  Razvan Crainea  <razvan at opensips dot org>
	* [5291aef57] :

	choose non-loop default ipv6 interface


2017-12-04  Liviu Chircu  <liviu at opensips dot org>
	* [fee1ccb72] :

	mid_registrar: Update docs


2017-12-04  Liviu Chircu  <liviu at opensips dot org>
	* [67c31603e] :

	mid_registrar: Restore "default_expires" and "max_expires"
	These registrar modparams were left unmaintained / ignored during development.
	However, they are still valid and completely separate from
	"outgoing_expires". The former two params control ingress expirations,
	while the latter one controls egress expirations.

	To match the newly introduced defaults, we also increase the default
	"outgoing_expires" from 600s to 3600s.


2017-12-04  Liviu Chircu  <liviu at opensips dot org>
	* [7bcf03233] :

	mid_registrar: Fix a CSeq bug in mode == 1
	Contact updates would not also update the last cseq value. This, in turn,
	would lead to SIP-wise incorrect self-generated de-registrations.


2017-11-29  Razvan Crainea  <razvan at opensips dot org>
	* [98921fb69] :

	avoid using "flagged" ipv6 interfaces


2017-11-29  Razvan Crainea  <razvan at opensips dot org>
	* [3fbcf18c7] :

	remove useless family param to add_interfaces()


2017-11-29  Razvan Crainea  <razvan at opensips dot org>
	* [ce6469911] :

	use getifaddrs API to fetch listening interfaces
	Closes #976


2017-11-29  Razvan Crainea  <razvan at opensips dot org>
	* [4b39b578d] :

	add support for '*' keyword for listeners
	Using this feature you can specify opensips it should listen for a
	specific protocol on all interfaces. The syntax is:
	```
	listen = udp:*:5060
	```


2017-11-29  Razvan Crainea  <razvan at opensips dot org>
	* [4833fb88b] :

	net/trans: remove useless interface detection code


2017-11-29  Razvan Crainea  <razvan at opensips dot org>
	* [27de19168] :

	add interface name only if specified


2017-11-27  Razvan Crainea  <razvan at opensips dot org>
	* [d1a4419df] :

	rest: suppress coverity error


2017-11-27  Razvan Crainea  <razvan at opensips dot org>
	* [fc9021784] :

	dialog: check return of dialog values
	Fix Coverity CID #167553


2017-11-27  Razvan Crainea  <razvan at opensips dot org>
	* [7b186a0a5] :

	rtpproxy: add to_tag only if provisioned
	Fixes Coverity CID #180091


2017-11-27  Razvan Crainea  <razvan at opensips dot org>
	* [0956518f4] :

	sip_i: proper test for parse_isup_body() return
	Fixes Coverity CID #180094


2017-11-27  Razvan Crainea  <razvan at opensips dot org>
	* [83059b8d8] :

	mid_registrar: initialize regex earlier
	Fixes Coverity CID #180096


2017-11-27  Razvan Crainea  <razvan at opensips dot org>
	* [5e86ac587] :

	rest: fix IP copying to tracing structures
	Fixes Coverity CID #180100 and #180098


2017-11-27  Razvan Crainea  <razvan at opensips dot org>
	* [7ce8078ac] :

	httpd: fix address check
	Fixes Coverity CID #180102


2017-11-27  Razvan Crainea  <razvan at opensips dot org>
	* [5d36fe328] :

	siprec: fix parse_to usage
	Fixes Coverity CID #180103


2017-11-27  Razvan Crainea  <razvan at opensips dot org>
	* [96d59f39e] :

	seas: check tainted data
	Fixes Coverity CID #180104 and #180101 and #180099 and #180088


2017-11-27  Razvan Crainea  <razvan at opensips dot org>
	* [602c44d70] :

	pvar: fix buffer overrun
	Fixes Coverity CID #180105


2017-11-27  Razvan Crainea  <razvan at opensips dot org>
	* [1a8d6d93f] :

	clusterer: initialize new_info earlier
	This prevents bogus check during error
	Fixes Coverity issue #180106


2017-11-27  Razvan Crainea  <razvan at opensips dot org>
	* [d4826a562] :

	siprec: make sure stream exists
	Fixes coverity issue #180110


2017-11-24  Liviu Chircu  <liviu at opensips dot org>
	* [f298587d6] :

	mid_registrar: Restore reply contact mangling
	The contact rework commits have rendered the restore_reply_contacts()
	function obsolete, thus the contact headers were propagating upstream unchanged.

	We now rebuild the reply contact set in all modes by using build_contacts()

	Thanks to Răzvan Crainea for spotting the issue


2017-11-24  Liviu Chircu  <liviu at opensips dot org>
	* [70eea5c61] :

	cachedb_mongodb: Start OpenSIPS if ":port" URL part is missing
	Reported by Răzvan Crainea


2017-11-24  Liviu Chircu  <liviu at opensips dot org>
	* [0124344f9] :

	usrloc: Fix bad comparison
	Also complete commit d3790e6c

	Reported by Răzvan Crainea
	Fixes Coverity CID #180087
	Fixes Coverity CID #180093


2017-11-24  Liviu Chircu  <liviu at opensips dot org>
	* [d3790e6cd] :

	mid_registrar: Fix an AoR throttling corner-case
	If the main registrar omits the Contact in the 200 OK reply,
	it could possibly crash the mid registrar.

	Reported by Răzvan Crainea.
	Fixes Coverity CID #180107


2017-11-23  Razvan Crainea  <razvan at opensips dot org>
	* [5e1568660] :

	rtpproxy: fix rtpproxy_stats() fixup for more params
	Thanks go to Lt-Flash(github) for reporting and providing the fix
	Closes #1219


2017-11-22  Razvan Crainea  <razvan at opensips dot org>
	* [a41cf31d3] :

	README: add coverity status


2017-11-21  Razvan Crainea  <razvan at opensips dot org>
	* [63042c922] :

	Merge branch 'lemenkov-mariadb_unnecessary_include'


2017-11-21  Razvan Crainea  <razvan at opensips dot org>
	* [ec0acfba5] :

	Merge branch 'mariadb_unnecessary_include' of https://github.com/lemenkov/opensips into lemenkov-mariadb_unnecessary_include


2017-11-21  Razvan Crainea  <razvan at opensips dot org>
	* [c23ad230a] :

	couchbase: fix multiple hosts usage
	Closes #1216


2017-11-21  Peter Lemenkov  <lemenkov at gmail dot com>
	* [087b23ab5] :

	Don't include <mysql/mysql_version.h> directly
	It seems that this header shouldn't be included directly. And sometimes
	it may cause compilation issues (depending on MariaDB/MySQL version,
	compiler, etc). See build log for the example:

		make[1]: Entering directory '/builddir/build/BUILD/opensips-2.2.5/modules/db_mysql'
		Compiling row.c
		gcc -fPIC -DPIC -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -fgnu89-inline -Wcast-align -DMOD_NAME='db_mysql'  -I/usr/include/json-c -DPKG_MALLOC  -DSHM_MMAP  -DUSE_MCAST  -DDISABLE_NAGLE  -DSTATISTICS  -DHAVE_RESOLV_RES  -DF_MALLOC   -DNAME='"opensips"' -DVERSION='"2.2.5"' -DARCH='"x86_64"' -DOS='"linux"' -DCOMPILER='"gcc 7"' -D__CPU_x86_64 -D__OS_linux -D__SMP_yes -DCFG_DIR='"/etc/opensips/"'  -DUSE_FREERADIUS -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD -DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H -DHAVE_TIMEGM -DHAVE_EPOLL -DHAVE_SIGIO_RT -DHAVE_SELECT -I/usr/include -c row.c -o row.o
		Compiling my_con.c
		gcc -fPIC -DPIC -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -fgnu89-inline -Wcast-align -DMOD_NAME='db_mysql'  -I/usr/include/json-c -DPKG_MALLOC  -DSHM_MMAP  -DUSE_MCAST  -DDISABLE_NAGLE  -DSTATISTICS  -DHAVE_RESOLV_RES  -DF_MALLOC   -DNAME='"opensips"' -DVERSION='"2.2.5"' -DARCH='"x86_64"' -DOS='"linux"' -DCOMPILER='"gcc 7"' -D__CPU_x86_64 -D__OS_linux -D__SMP_yes -DCFG_DIR='"/etc/opensips/"'  -DUSE_FREERADIUS -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD -DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H -DHAVE_TIMEGM -DHAVE_EPOLL -DHAVE_SIGIO_RT -DHAVE_SELECT -I/usr/include -c my_con.c -o my_con.o
		Compiling val.c
		gcc -fPIC -DPIC -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -fgnu89-inline -Wcast-align -DMOD_NAME='db_mysql'  -I/usr/include/json-c -DPKG_MALLOC  -DSHM_MMAP  -DUSE_MCAST  -DDISABLE_NAGLE  -DSTATISTICS  -DHAVE_RESOLV_RES  -DF_MALLOC   -DNAME='"opensips"' -DVERSION='"2.2.5"' -DARCH='"x86_64"' -DOS='"linux"' -DCOMPILER='"gcc 7"' -D__CPU_x86_64 -D__OS_linux -D__SMP_yes -DCFG_DIR='"/etc/opensips/"'  -DUSE_FREERADIUS -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD -DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H -DHAVE_TIMEGM -DHAVE_EPOLL -DHAVE_SIGIO_RT -DHAVE_SELECT -I/usr/include -c val.c -o val.o
		In file included from my_con.c:25:0:
		/usr/include/mysql/mysql_version.h:3:2: warning: #warning This file should not be included by clients, include only <mysql.h> [-Wcpp]
		 #warning This file should not be included by clients, include only <mysql.h>
		  ^~~~~~~
		/usr/include/mysql/mysql_version.h:5:10: fatal error: mariadb_version.h: No such file or directory
		 #include <mariadb_version.h>
			  ^~~~~~~~~~~~~~~~~~~
		compilation terminated.
		make[1]: *** [../../Makefile.rules:25: my_con.o] Error 1
		make[1]: *** Waiting for unfinished jobs....
		make[1]: Leaving directory '/builddir/build/BUILD/opensips-2.2.5/modules/db_mysql'
		make: *** [Makefile:201: modules] Error 2

	See also kamailio/kamailio@c31535072a04273b52a5cbc015e7ed1423d5dc33


2017-11-21  Razvan Crainea  <razvan at opensips dot org>
	* [56490e4e3] :

	couchbase: fix LIBS in Makefile


2017-11-20  Razvan Crainea  <razvan at opensips dot org>
	* [ef82312cb] :

	packaging: sync debian and redhat_fedora service files
	Thanks to Nick Altman's suggestions


2017-11-17  Razvan Crainea  <razvan at opensips dot org>
	* [f562251d9] :

	debian: add m4 support in systemctl


2017-11-17  Razvan Crainea  <razvan at opensips dot org>
	* [f6845f26a] :

	debian: fix EXTRA_PATH specification


2017-11-17  Razvan Crainea  <razvan at opensips dot org>
	* [9be7ffc06] :

	debian/init:remove bogus value for pathextra


2017-11-16  Liviu Chircu  <liviu at opensips dot org>
	* [a644f1b37] :

	usrloc: Fix bad logical condition
	Reported by Răzvan Crainea.


2017-11-16  Liviu Chircu  <liviu at opensips dot org>
	* [0498151bb] :

	Fix Clang warnings for excluded modules
	Completes commit 8bb5929d58


2017-11-15  Liviu Chircu  <liviu at opensips dot org>
	* [8bb5929d5] :

	Fix Clang "unused function" warnings
	Also add a useful function/variable attribute, ALLOW_UNUSED.


2017-11-15  Liviu Chircu  <liviu at opensips dot org>
	* [48cb7a789] :

	Merge branch 'bugfix/mid-registrar-store-contacts-as-aors'


2017-11-15  Liviu Chircu  <liviu at opensips dot org>
	* [016da2f7f] :

	mid_registrar: Fix CSeq handling for De-REGISTERs
	Keep track of outgoing CSeq values and use this value during
	self-generated de-registrations, rather than using the tm's built-in
	default CSeq value of "13".


2017-11-15  Liviu Chircu  <liviu at opensips dot org>
	* [7e190a8b1] :

	mid_registrar: Fix NAT issues in "contact" insertion mode
	This patch completely reworks the saving/matching logic with regards
	to the SIP contacts generated by the mid-registrar. It is only relevant
	to working modes "0" (mirror) and "1" (contact throttling).

	The former logic (encoding the requests's Contact as a URI parameter
	of the outgoing contact) was somewhat stateless, as it would forward
	requests to the mid-registrar's contacts directly to their actual Contact
	URIs (UA side). When NAT comes into play, this no longer works well.

	Fortunately, the user location already handles this problem. Thus, we
	change the mid-registrar to advertise contact IDs instead of the device's
	contact. As requests arrive for the contact IDs, we are easily able to
	look up their corresponding user location AoR, contact, along with any
	other useful information for NAT traversal.


2017-11-15  Liviu Chircu  <liviu at opensips dot org>
	* [8c46ab3ca] :

	mid_registrar: Fix possible crash in mirror mode


2017-11-15  Liviu Chircu  <liviu at opensips dot org>
	* [ad274fad9] :

	usrloc: Add urecord reference counting mechanism
	This mechanism is required by the mid-registrar, which needs to
	"reserve" contact IDs while the main registrar decides upon them.
	This means that a blank urecord structure must be kept alive during
	this process.

	By reference counting the blank urecord structures, we prevent them
	from being cleared by the timer before the outgoing registrations
	get a chance to receive a reply.


2017-11-15  Liviu Chircu  <liviu at opensips dot org>
	* [7d4894943] :

	usrloc: Allow forced IDs during contact inserts


2017-11-15  Liviu Chircu  <liviu at opensips dot org>
	* [15a5067b2] :

	usrloc: Add some useful API functions
	    * get_ucontact_from_id() - fetch both ct and rec from an id
	    * next_contact_id() - fetch and advance the current ct counter


2017-11-15  Liviu Chircu  <liviu at opensips dot org>
	* [e9be01680] :

	Add str2int64() parsing function


2017-11-15  Liviu Chircu  <liviu at opensips dot org>
	* [a5d633924] :

	Fix int2str() function signature
	Although implemented to be able to print 64-bit integers, int2str()
	downcasted all of its parameters to an "unsigned long" type, thus
	breaking behavior on 32-bit architectures.


2017-11-14  Liviu Chircu  <liviu at opensips dot org>
	* [18a93c89a] :

	usrloc: Fix locking for contact_id-based deletion
	The delete_ucontact_from_id(), get_ucontact_from_id() pair of functions
	were masking possible code execution paths which would lead to unsafe memory
	access. This, in turn, would cause the ping_checker_timer() job of nathelper to
	occasionally crash and burn.

	Reported by solo@astercc.org.


2017-11-14  Liviu Chircu  <liviu at opensips dot org>
	* [d4967201b] :

	usrloc API: Make get_urecord() more robust
	Zeroize the output pointer if record is not found.


2017-11-13  Liviu Chircu  <liviu at opensips dot org>
	* [7585f88cc] :

	mod stats: Fix unhandled corner-case
	Do not crash on NULL pointer input.


2017-11-13  Liviu Chircu  <liviu at opensips dot org>
	* [63c1a844b] :

	clang: Add "-Wall" flag


2017-11-09  Razvan Crainea  <razvan at opensips dot org>
	* [d67fbb980] :

	rtpengine: do not use replace bson for delete
	Prevent the module for using replace-* attributes for any other
	operation than offer or answer. This allows you to use the
	rtpengine_manage() function easier.

	Reported by Edwin Hoff


2017-11-09  Razvan Crainea  <razvan at opensips dot org>
	* [b9ca13a64] :

	db_sqlite: let the DB interface determine the capabilities
	This prevens the module from advertising bogus capabilities - in this
	case the sqlite module was saying that it has the ASYNC RAW queries
	support, although it didn't.

	Reported by Wilhelm Lundgren on list


2017-11-03  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [830d2b4f5] :

	Reduce char size to 255.
	Old 256 size is loo large for char and blob should be used.
	Reproted by @adivjoseph in the #8ce5a92 commit.


2017-11-01  Liviu Chircu  <liviu at opensips dot org>
	* [18e95e6e9] :

	doc: Fix formulas for FS-driven routing
	Also add a useful example


2017-11-01  Razvan Crainea  <razvan at opensips dot org>
	* [069a8f6d1] :

	debian: add lsb-release dependency
	Suggested by Nick Altmann to fix stretch and xenial build errros


2017-10-31  Razvan Crainea  <razvan at opensips dot org>
	* [fe21351f3] :

	siprec: remove quotes if used


2017-10-31  Razvan Crainea  <razvan at opensips dot org>
	* [d4fdc854f] :

	move all debian files in a single directory


2017-10-27  Liviu Chircu  <liviu at opensips dot org>
	* [fbb54143e] :

	clusterer: Add "proto_bin" module dependency


2017-10-27  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [60d161d44] :

	Fix creating the profiles list in the dlg_list_ctx MI command
	The profiles are not array, but list as they have different names for the nodes.Reported by Vladimir Dubov (@vovad)
	Closes #1166


2017-10-27  Razvan Crainea  <razvan at opensips dot org>
	* [19ceff23a] :

	sms: increase pin buffer to avoid warnings


2017-10-27  Razvan Crainea  <razvan at opensips dot org>
	* [608433323] :

	debian: add libbson-dev dependency


2017-10-27  Razvan Crainea  <razvan at opensips dot org>
	* [d19215dcb] :

	sst: fix MIN-SE header printing


2017-10-27  Razvan Crainea  <razvan at opensips dot org>
	* [d0dc4ecbe] :

	mongodb: fix warning


2017-10-27  Razvan Crainea  <razvan at opensips dot org>
	* [ca7164dea] :

	rtpproxy: fix uninitialzied warning


2017-10-27  Razvan Crainea  <razvan at opensips dot org>
	* [ff9243c0e] :

	rtpengine: fix uninitialized warning


2017-10-26  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [97c299877] :

	Fixed trace URI identification for the non-SIP protos.
	In the e59a7399e982ef58a7a12ffb53d8aa8432f537ab commit, I broke the hash based matching logic, so tracing for non-sip (xlog, net, rest) was affected.


2017-10-26  Răzvan Crainea  <razvan at opensips dot org>
	* [fe801ac5c] :

	Merge pull request #1159 from bradleyjokinen/add-cgrates-disconnect-cause
	cgrates: add DisconnectCause for CDRs


2017-10-25  Liviu Chircu  <liviu at opensips dot org>
	* [3a1d80533] :

	mid_registrar: Add "next hop" awareness
	The mid_registrar must preserve the values of both $ru and $du, in
	order to replicate the same behavior for its De-REGISTER requests.


2017-10-25  Liviu Chircu  <liviu at opensips dot org>
	* [fc5762694] :

	mid_registrar: Fix crash on missing Contact ";expires"
	Correctly process contact expirations on 200 OK replies
	in "db_mode = 1".

	Reported by Jim DeVito.


2017-10-24  Razvan Crainea  <razvan at opensips dot org>
	* [ff458af3e] :

	travis: add slack notifications


2017-10-24  Razvan Crainea  <razvan at opensips dot org>
	* [f53a74f5a] :

	db_virtual: fix previous commit


2017-10-24  Razvan Crainea  <razvan at opensips dot org>
	* [4c7cbb7e0] :

	db_virtual: provide DELETE capabilities for ROUND mode


2017-10-24  Razvan Crainea  <razvan at opensips dot org>
	* [052756097] :

	db: do not compute capabilities
	Do not compute capabilities for modules that pre-populate them. This
	fixes an issue where the db engine was overwriting the db capabilities
	of db_virtual.

	Thanks go to Jonathan Hulme for reporting and providing testing
	environment


2017-10-19  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [ec8d6a982] :

	Fix init of the cachedb related module params
	Init val_prefix, noval_prefix and size_prefix before general cachedb init.
	Credits go to @Tinet-AaronAn
	Closes #1203


2017-10-17  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [2a594ef21] :

	README files regenerated


2017-10-17  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [2f3128687] :

	Regenerate to cover the "shutdown_on_error" new parameter


2017-10-17  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [e67a055fc] :

	Improved explanation on the "port" parameter.
	The port parameter sets the default port for the protocol, affecting both listeners and sending URIs.


2017-10-17  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [b5094f0dc] :

	Fix escaping URI parameters - skip alphanumerical chars.
	Reported by Ben Newlin on "user" mailing list.


2017-10-16  rvlad-patrascu  <vladp at opensips dot org>
	* [ad35e7ced] :

	dialog: also share module flags when replicating dialogs


2017-10-16  rvlad-patrascu  <vladp at opensips dot org>
	* [8c8f27f60] :

	dialog: fix a runtime bug with DLGCB_LOADED callbacks
	Relying on the fact that all modules that register dialog callbacks are initialised
	after the dialog module (thanks to module dependencies), we can run all DLGCB_LOADED
	callbacks at registration time and also keep them in a list for calling them later
	(i.e reloading from database via MI cmd or receiving replicated dialog).

	This fixes a series of bugs where the DLGCB_LOADED callback is not run during, e.g.
	"dlg_db_sync" MI command or received replicated dialogs which do not have their
	callbacks installed or run.


2017-10-13  Liviu Chircu  <liviu at opensips dot org>
	* [c0cdc66b2] :

	drouting docs: Clarify behavior for the gateway "type" parameter
	(cherry picked from commit 9cf184ec74731bf6a4709ebdfacd09b0bc171365)


2017-10-13  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [8ce5a92a5] :

	Increased the attr size for dialplan rules to 256
	Also be more tolerent with long attr strings. Simply truncate them rather than spitting an error.
	Reported by Pete Kelly
	Closes #1131


2017-10-13  Liviu Chircu  <liviu at opensips dot org>
	* [568675291] :

	Integer fixups rework: Complete commit f37527dcf


2017-10-13  Liviu Chircu  <liviu at opensips dot org>
	* [5c4db4f32] :

	dns_cache: Avoid incorrect error logs during startup


2017-10-12  Liviu Chircu  <liviu at opensips dot org>
	* [6f54f780d] :

	proto_hep: Fix pkg memory leaks


2017-10-10  Liviu Chircu  <liviu at opensips dot org>
	* [b10b14237] :

	drouting: Fix verbose log line


2017-10-06  rvlad-patrascu  <vladp at opensips dot org>
	* [aa32bf1b6] :

	acc: fix possbile memory leak when calling do_accounting() on CANCEL while "report_cancels" modparam not set


2017-10-05  Liviu Chircu  <liviu at opensips dot org>
	* [a8db3e45c] :

	cachedb_redis: Do not abort startup if Redis is unreachable
	This patch add the "shutdown_on_error" modparam, allowing the script
	writer to control the startup behavior of OpenSIPS (ignore/abort) when
	Redis is unreachable.

	Many thanks to Bernard Buitenhuis for sponsoring this feature.


2017-10-04  rvlad-patrascu  <vladp at opensips dot org>
	* [3f39e0eb7] :

	clusterer: add script function to check if an IP address belongs to the cluster nodes


2017-10-04  Razvan Crainea  <razvan at opensips dot org>
	* [6a0cd259c] :

	siprec: remove passive recorder to avoid any confusion


2017-09-29  Nick Altmann  <nick.altmann at gmail dot com>
	* [4de5bed3b] :

	siprec: add rpm packaging


2017-09-29  rvlad-patrascu  <vladp at opensips dot org>
	* [34b13a7e2] :

	clusterer: fix ID parameters for script message received events


2017-09-29  Razvan Crainea  <razvan at opensips dot org>
	* [a6956c70b] :

	siprec: add packaging


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [0de3c072f] :

	siprec: fix uuid lib dependency


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [98cf480fb] :

	Revert "siprec: fix uuid lib path"
	This reverts commit aa2cb9a90afdfa51cfc7841a6c8d8de74281d4ab.


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [aa2cb9a90] :

	siprec: fix uuid lib path


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [08280ab0a] :

	siprec: add libuuid dependency


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [4a17aa5f3] :

	siprec: add README file


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [76047f177] :

	siprec: refactor files names


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [e47b3c491] :

	siprec: add failover logic


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [bccc92a18] :

	siprec: make media port configurable


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [e013471c7] :

	siprec: remove useless functions and stats


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [17741adfe] :

	siprec: add support for reinvites


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [4c8f3abb3] :

	siprec: cleanup


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [6e82ceb12] :

	siprec: make sessions restart persistent


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [1b0cc0bb5] :

	bin: build backet from buffer


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [2a460a2ab] :

	siprec: fix dialog reference in case of error


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [d4fd99d61] :

	siprec: fix modules dependencies


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [49aafbdbc] :

	siprec: add socket support


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [c37878a27] :

	siprec: fix to checking


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [6e4dda46f] :

	siprec: fix references


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [1d3e6086b] :

	memory: prevent crash at shutdown


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [fe98342c2] :

	siprec: add ref logic to prevent session from being lost


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [f2c42e379] :

	siprec: add group support and caller/callee info


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [b6f2f84ba] :

	modules/siprec: use rtpproxy server instead of set


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [d774a30c9] :

	rtpproxy: use a proxy instead of a set


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [2fe95dc18] :

	siprec: move b2b key in shm


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [d36d1be6f] :

	siprec: add participants and uuids
	Finished PoC


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [16f6e6b54] :

	utils: move base64 length compute to macros
	This allows us to initialize data for static variables, such as uuid


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [f0d2a8734] :

	siprec: engage recording in initial request


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [573e5d81e] :

	siprec: start recording for sessions


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [2ad845014] :

	rtpproxy: fix typo in set checking


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [7b5799611] :

	rtpproxy: provide media stream to copy


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [c0959f8cd] :

	sdp: store each attribute in stream and session


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [7876b11b9] :

	rtpproxy: add start_recording command


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [6e68145a5] :

	siprec: use rtpproxy interface


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [9e4d21296] :

	rtpproxy: add interface skeleton


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [25fbf3063] :

	siprec: initial poc
	Only builds SDP from two different bodies


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [c4e261aff] :

	msg_translator: move OSS-boundary in header


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [4e3326842] :

	sdp: store msg body in streams and sessions


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [f9a886f17] :

	msg_translator: add contact_builder function


2017-09-28  Razvan Crainea  <razvan at opensips dot org>
	* [2ddffd269] :

	mod_fix: add fixup_free_spve functions


2017-09-28  Liviu Chircu  <liviu at opensips dot org>
	* [b9d409a86] :

	drouting: Fix mispelled error log


2017-09-28  Liviu Chircu  <liviu at opensips dot org>
	* [f37527dcf] :

	Rework the integer fixup functions
	The current integer fixup interface does not allow module developers to distinguish
	between "missing integer parameter" and "zero value integer parameter".
	This may lead to some unexpected/unintented behavior in some cases. For example,
	this currently causes any type "0" drouting gateway to act as the special type "-1"
	(global match).


2017-09-26  rvlad-patrascu  <vladp at opensips dot org>
	* [dc3f6eafb] :

	clusterer: support dynamic topology discovery for nodes not provisioned in the DB.
	For an instance running in non-DB mode, provisioning information about the current
	node and other neighbours in the cluster should be defined in the script through
	module parameters.


2017-09-26  rvlad-patrascu  <vladp at opensips dot org>
	* [a822b56c6] :

	clusterer: don't require any fields in the DB for the topology establishing mechanism


2017-09-25  Răzvan Crainea  <razvan at opensips dot org>
	* [675164c74] :

	Merge pull request #1195 from etamme/master
	check if trace id node exists before de-reference (fix segfault)


2017-09-25  Eric Tamme  <eric.tamme at onsip dot com>
	* [8ba5c8aa4] :

	check if trace id node exists before de-reference (fix segfault)


2017-09-21  Bogdan Andrei IANCU  <bogdan at opensips dot org>
	* [bf1c6de3c] :

	Merge pull request #1168 from sippy/master_freebsd_fix
	Fix some minor build issues on FreeBSD


2017-09-21  Răzvan Crainea  <razvan at opensips dot org>
	* [1bd368bb2] :

	Merge pull request #1083 from jleren/debian-sqlite-module
	Added SQLite module to debian packaging


2017-09-21  Răzvan Crainea  <razvan at opensips dot org>
	* [7f3a5e97b] :

	Merge branch 'master' into debian-sqlite-module


2017-09-21  Bogdan Andrei IANCU  <bogdan at opensips dot org>
	* [2a64a1455] :

	Merge pull request #1191 from etamme/master
	fix memory leak in cpl-c write_to_db


2017-09-21  Razvan Crainea  <razvan at opensips dot org>
	* [6c1a79d29] :

	add sqlite for jessie and wheezy
	Fix provided by Nick Altman


2017-09-15  Razvan Crainea  <razvan at opensips dot org>
	* [b7f9ca331] :

	siptrace: allow capturing on any port
	reported by Eric Tamme from OnSIP


2017-09-14  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [0c8d59777] :

	Fix bogus error message (probabaly copy paste error)
	Credits for the fix go to Michael Mavroudis.
	(cherry picked from commit 9e497ea4ab03c67cb073bdf0dccef2b16bff80e2)


2017-09-13  Razvan Crainea  <razvan at opensips dot org>
	* [99af2fc44] :

	proto_wss: release lock even if write fails
	Detected and fixed by Eric Tamme from OnSIP


2017-09-12  Razvan Crainea  <razvan at opensips dot org>
	* [b0eb928e7] :

	parse_fline: fix implicit cast sign


2017-09-12  Razvan Crainea  <razvan at opensips dot org>
	* [e113e147c] :

	proto_wss: write all TLS chunks under a single lock
	Reported by Eric Tamme from OnSIP


2017-09-08  Eric Tamme  <eric.tamme at onsip dot com>
	* [9ef3aacce] :

	add back missing return


2017-09-08  Eric Tamme  <eric.tamme at onsip dot com>
	* [308662a9b] :

	free db_hdl and res after doing a db write - memory leak


2017-09-04  Razvan Crainea  <razvan at opensips dot org>
	* [07c3b1059] :

	travis: add IRC notifications


2017-08-31  Liviu Chircu  <liviu at opensips dot org>
	* [396dca37c] :

	mid_registrar: Fix commit 496e2dcc
	Suggested by Chad Attermann <attermann@gmail.com>

	Fixes #1178
	Fixes #1187
	Fixes #1184


2017-08-31  Liviu Chircu  <liviu at opensips dot org>
	* [eb992099e] :

	freeswitch: Update the assumed heartbeat interval
	Assuming a 1 second heartbeat interval setting on the FS boxes (the minimum)
	is a good compromise between performance and near-realtime rate of update for
	the balancing weights.
	(cherry picked from commit 2778a511646dc6e90f2320985bc159476a83639a)


2017-08-31  rvlad-patrascu  <vladp at opensips dot org>
	* [ea231c023] :

	siptrace: fix type for message DB column value, str instead of blob
	(cherry picked from commit 36f43169e238a53f7c077832f4d968ca8be38b4f)


2017-08-31  Razvan Crainea  <razvan at opensips dot org>
	* [d8854637e] :

	ratelimit: fix buffer overflow when using SBT algorithm
	Make sure the window doesn't overflow
	Fixes #1176


2017-08-31  Liviu Chircu  <liviu at opensips dot org>
	* [4b9f34d6b] :

	mid_registrar: Avoid some memory leaks on parsing errors
	Also improve mri_free(): avoid redundant checks on non-NULL fields.

	Suggested by Chad Attermann <attermann@gmail.com>


2017-08-31  Liviu Chircu  <liviu at opensips dot org>
	* [496e2dcc2] :

	mid_registrar: Fix a tm callback race condition
	Commit f522b0ef089 is incomplete, since the tm's TMCB_RESPONSE_IN callbacks
	are actually not mutually exclusive. We fix this by protecting the
	tm parameter read/overwriting with an SHM'ized rw lock.

	Reported by Chad Attermann <attermann@gmail.com>


2017-08-31  Liviu Chircu  <liviu at opensips dot org>
	* [12ab75ad9] :

	mid_registrar: Properly update timestamps on usrloc inserts
	This avoids a buggy forward of the 2nd REGISTER to the main registrar,
	after which behavior would correct itself anyway. Affected modes: 1 and
	2.

	Also refactor a small code block.


2017-08-30  Liviu Chircu  <liviu at opensips dot org>
	* [f522b0ef0] :

	mid_registrar: Fix mem corruption on SIP retransmissions
	The TMCB_RESPONSE_IN function gets called once per each retransmission,
	and we want to avoid this in the mid_registrar code. Since the callbacks
	themselves are mutually exclusive, we can get away with zeroizing our own
	parameter after the first run.

	A better way of fixing this would be to extend the tm callback API to
	include SIP retransmission preferences.


2017-08-30  Liviu Chircu  <liviu at opensips dot org>
	* [ee2370071] :

	mid_registrar: Fix missing expiry values in mode = 2
	Proper handling when forwarding REGISTER requests with missing Expires hf.


2017-08-30  Liviu Chircu  <liviu at opensips dot org>
	* [1143419b7] :

	mid_registrar: Improve De-REGISTER behavior in mode = 2
	Do not auto-reply to de-registrations for the last contact in AoR throttling
	mode, but forward them to main registrar first.

	Additionally, avoid auto-generating De-REGISTER messages for contacts
	that were deleted through a De-REGISTER to begin with (and did not
	expire or get deleted through the remove() script function).


2017-08-30  Liviu Chircu  <liviu at opensips dot org>
	* [803d5d3a4] :

	mid_registrar: Fix un-initialized global variable


2017-08-29  Liviu Chircu  <liviu at opensips dot org>
	* [d71cb43e8] :

	sipmsgops: Adapt SDP iteration code to the new format
	Reported by Denis <denis7979@mail.ru>

	Fixes #1181


2017-08-29  Razvan Crainea  <razvan at opensips dot org>
	* [83669d2ca] :

	dialog: do not allow callbacks in state DELETED
	If these callbacks would have been registered, they will be never ran,
	but the free function will still be called. This breaks some modules
	(such as acc), which rely the function will be called.


2017-08-29  Razvan Crainea  <razvan at opensips dot org>
	* [f1aabeaf9] :

	acc: prevent multiple CDRs in case of retransmissions


2017-08-25  Liviu Chircu  <liviu at opensips dot org>
	* [b763544ad] :

	sipcapture: Fix uneditable "custom_fieldX" columns
	This allows the script writer to optionally provide data for the
	"custom_field1", "custom_field2" and "custom_field3" columns using
	sip_capture().


2017-08-25  Liviu Chircu  <liviu at opensips dot org>
	* [71af8fcd4] :

	sipcapture: Fix segfault when proto_hep is not loaded


2017-08-25  Liviu Chircu  <liviu at opensips dot org>
	* [bcae3a0e1] :

	mid_registrar: Improve resilience in some corner-case scenarios
	    * do not crash with usrloc replication (although it's not supported)
	    * handle registrar + mid_registrar concurrently

	Fixes #1172
	Fixes #1183


2017-08-24  Liviu Chircu  <liviu at opensips dot org>
	* [4d028f716] :

	statistics: Improve the stat group parser
	Although we break backwards-compatibility, we actually fix the logic to be
	closer to what users would expect. For example, a "method:register:auth"
	statistic is more naturally interpreted as:

	{ "group": "method", "stat": "register:auth" } (new behavior)

	rather than:

	{ "group": "method:register", "stat": "auth" } (old behavior).


2017-08-22  Liviu Chircu  <liviu at opensips dot org>
	* [e3be4a13d] :

	sipcapture: Fix primary key issues with PostgreSQL
	Postgres handles zero-value auto-increment columns which are part of
	composite primary keys differently than MySQL. Omitting the column
	altogether from the INSERT statements rather than setting it to
	zero leads to the expected behavior on both platforms
	(i.e. "always try to insert a unique id").

	Thanks to Jennifer Hashimoto for reporting and troubleshooting


2017-08-21  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [4aa5fb91a] :

	Fixed deadlock in CANCEL handling.
	Reported by Maxim Sobolev


2017-08-18  Liviu Chircu  <liviu at opensips dot org>
	* [7a5e2c7b4] :

	cachedb_mongodb: Avoid redundant mongoc_init() calls
	mongoc_init() is using pthread_once() anyway, so we might as well
	avoid calling it multiple times.


2017-08-18  Liviu Chircu  <liviu at opensips dot org>
	* [7587326d3] :

	cachedb: Improve error reporting for bad connect strings
	Based on an original report+patch provided by @jalung on GitHub.


2017-08-18  Liviu Chircu  <liviu at opensips dot org>
	* [c2a0e7e71] :

	registrar: Fix possible crash with remove()
	When using usrloc "use_domain = 1", the registrar remove() function
	could cause OpenSIPS to crash due to some uninitialized struct.

	Based on an original report+patch provided by @jalung on GitHub.


2017-08-18  Liviu Chircu  <liviu at opensips dot org>
	* [de0e58a59] :

	usrloc: Fix contact matching with db_cachedb
	Based on an original report+patch provided by @jalung on GitHub.


2017-08-18  Liviu Chircu  <liviu at opensips dot org>
	* [18045793a] :

	cachedb_mongodb: Fix several issues
	    * fix startup crash when libmongoc is compiled with
		--disable-automatic-init-and-cleanup
	    * add silent startup dependency with tls_mgm module, since
		both modules attempt to perform TLS initialization
	    * add proper handling for NULL and ObjectID types
	    * fix a bson iteration bug, causing find() to skip 1st doc
	    * fix a bug in kvo_to_bson(), causing OpenSIPS to crash
	    * fix compile errors on some platforms due to "str" var names

	Based on an original report+patch provided by @jalung on GitHub.

	Closes #1135
	Closes #1163


2017-08-17  rvlad-patrascu  <vladp at opensips dot org>
	* [06fa801a9] :

	clusterer: add new clusterer MI commands for dispatching any other MI command in a cluster.
	The "cluster_send_mi" command dispatches an MI command to be executed on specified node.
	"cluster_broadcast_mi" dispatches a command to the entire cluster and also runs it locally.


2017-08-16  Liviu Chircu  <liviu at opensips dot org>
	* [8338fd48e] :

	acc: Improve documentation


2017-08-16  Liviu Chircu  <liviu at opensips dot org>
	* [efdc829db] :

	Improve some logs


2017-08-16  Razvan Crainea  <razvan at opensips dot org>
	* [1885c0d46] :

	event_xmlrpc: rebuild buffer for each event
	This prenvets crashes when multiple xmlrpc subscribers are used


2017-08-04  rvlad-patrascu  <vladp at opensips dot org>
	* [52f651440] :

	Fix more references to deprecated keywords in example cfgs and READMEs.


2017-08-03  Razvan Crainea  <razvan at opensips dot org>
	* [db5d1bddc] :

	cgrates: return OK as a successful result
	Before that it was returning 0, which was not consistent to what cgrates
	was expecting


2017-08-03  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [bb573a1f5] :

	Run TMCB_MSG_SENT_OUT callbacks only if the msg was successfully sent out.
	This fix prevents tracing SIP messages which were actually not set out (due network related issues).


2017-08-01  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [68419e3ba] :

	Fix missing handling on LAUNCH triggering in extra timer proc.


2017-08-01  Liviu Chircu  <liviu at opensips dot org>
	* [fce1f4730] :

	mid_registrar: Normalize registration expiries in AoR throttling


2017-08-01  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [e59a7399e] :

	Propagate the tracing context via function param.
	Inside SIPtrace module propagate the tracing context as function param instead of relying on the processing context - there are cases were we have no processing context (like retransmissions).


2017-08-01  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [528f1cae8] :

	Revert 0f7e72efcd879ef0d11bf133c132140f80bc841d
	A following fix will address this particular problem in a more generic way


2017-07-31  Liviu Chircu  <liviu at opensips dot org>
	* [21322d64e] :

	Allow memory dumps to be enabled at runtime
	Memory dumps and full memory logging can now also be enabled by setting
	"log_level = 14" and "log_level = 15", respectively, without having to
	restart OpenSIPS and set a proper value for "memdump" / "memlog".


2017-07-31  Liviu Chircu  <liviu at opensips dot org>
	* [df374c635] :

	mid_registrar: Fix broken "Path:" URIs when using domains
	The module now properly handles usrloc's "use_domain = 1".


2017-07-28  rvlad-patrascu  <vladp at opensips dot org>
	* [1812a05dd] :

	clusterer: Add module functions for sending generic clusterer messages at script level.
	Also introduce the events: E_CLUSTERER_REQ_RECEIVED and E_CLUSTERER_RPL_RECEIVED,
	corresponding to two types of messages, request-like and reply-like, in order to
	handle received messages.


2017-07-27  Bogdan Andrei IANCU  <bogdan at opensips dot org>
	* [77e678a6a] :

	Merge pull request #1164 from caringi/master
	db_mysql: fix build against MariaDB 10.2


2017-07-27  Liviu Chircu  <liviu at opensips dot org>
	* [47af7de23] :

	mid_registrar: Fix some AoR throttling bugs #2
	    * report proper expiration time back to the UAC when the
	      main registrar shortens the lifetime on the virtual Contact

	    * properly handle auth'ed registrations (completes commit aa5366796)


2017-07-27  Liviu Chircu  <liviu at opensips dot org>
	* [0831d9a3a] :

	mid_registrar: Code refactoring


2017-07-27  Augusto Caringi  <acaringi at redhat dot com>
	* [f5abcccca] :

	db_mysql: fix build against MariaDB 10.2
	Fixes the following build error while building against MariaDB 10.2
	library:

	my_con.c: In function 'db_mysql_connect':
	my_con.c:68:10: error: 'MYSQL {aka struct st_mysql}' has no member named
	'reconnect'
	ptr->con->reconnect = 0;
	          ^~

	In this new version of the library the reconnect field was moved to
	another struct. Setting it through API seems to be a better approach.


2017-07-27  Liviu Chircu  <liviu at opensips dot org>
	* [597695cdb] :

	mid_registrar: Fix some AoR throttling bugs
	    * prevent AoR throttling lookups from using "rid"
	    * always mangle contacts in AoR throttling, regardless
	      of "insertion_mode". This prevents lookup issues in "Path"
	      insertion mode with clients that are using auto-generated
	      Contact usernames.


2017-07-27  Liviu Chircu  <liviu at opensips dot org>
	* [450906194] :

	Remove some deprecated script grammar rules
	The following types of statements no longer have any meaning/purpose
	after the removal of core keywords - the script should not allow
	them anymore.

	$var(foo) = bar123;
	if ($var(foo) == BAR123) ...


2017-07-27  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [160b42410] :

	Avoid locking during shutdown
	Do not do locking when running the destroy handler, as we may get into a deadlock (if a worker process got killed while holding the lock).


2017-07-27  root  <root at dell02.xipx dot local>
	* [a79647d1d] :

	Gracefully handling missing or malformed Contact and Expires headers in REGISTER requests.
	(cherry picked from commit 605098bb0697f78f3ae41eb50c8360d6ff6d6092)


2017-07-27  root  <root at dell02.xipx dot local>
	* [e003d4a4f] :

	Gracefully handling missing or malformed Expires header in REGISTER request.
	(cherry picked from commit 747dcdb6f245316ff6103b4f3fe44a1014c8eb1b)


2017-07-26  Vlad Paiu  <vladpaiu at opensips dot org>
	* [2bfcf7dd9] :

	Fixed branch flags propagation to the event


2017-07-26  Liviu Chircu  <liviu at opensips dot org>
	* [0017951f3] :

	mid_registrar: Add a useful startup error case


2017-07-26  Liviu Chircu  <liviu at opensips dot org>
	* [f30217538] :

	rest_client: Update documentation
	Reported by Tito Cumpen


2017-07-26  Liviu Chircu  <liviu at opensips dot org>
	* [071f6c7da] :

	Allow multi-line "pvar list" strings
	This directly improves avp_db_query() and cache_raw_query(),
	allowing the following (notice param #2):

	    avp_db_query("
	        SELECT
	            table_name,
	            table_version
	        FROM
	            version",
	        "$avp(tn),
	         $avp(tv)");


2017-07-25  Razvan Crainea  <razvan at opensips dot org>
	* [91da5063d] :

	ratelimit: fix documentation typo


2017-07-25  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [f0e36896b] :

	Fixed wrong TLS parameters.
	TLS configuration parameters were moved from proto_tls to tls_mgm module.
	Credits to Mike Tesliuk for reporting this.


2017-07-25  Răzvan Crainea  <razvan at opensips dot org>
	* [5a7fad1ae] :

	Merge pull request #1167 from sippy/mod.rtpproxy_iodebug
	Increase amount of debug produced by the rtpproxy module on error


2017-07-25  Maksym Sobolyev  <sobomax at sippysoft dot com>
	* [60c80b298] :

	Rename LIST_HEAD() macro into OSIPS_LIST_HEAD() to avoid collision with the BSD's sys/queue.h that declares macro with the same name. That include is pulled in by some other  system includes and that breaks the build.


2017-07-25  Maksym Sobolyev  <sobomax at sippysoft dot com>
	* [30d27a0b8] :

	Add missed includes required on the *BSD systems to get struct in_addr defined.


2017-07-25  Maksym Sobolyev  <sobomax at sippysoft dot com>
	* [e43ba9e7e] :

	Increase amount of debug produced by the rtpproxy module when read() or recv() from the rtpproxy fails to also include relevant errno. This is to debug sporadic errors during the module initialization phase, such as:
	Jul 24 21:53:41 [21066] ERROR:rtpproxy:send_rtpp_command: can't read reply from a RTP proxy
	Jul 24 21:53:41 [21058] ERROR:rtpproxy:send_rtpp_command: can't read reply from a RTP proxy
	Jul 24 21:53:41 [21058] ERROR:rtpproxy:send_rtpp_command: proxy <unix:/home/travis/build/sippy/voiptests/rtpproxy.sock> does not respond, disable it
	Jul 24 21:53:41 [21066] ERROR:rtpproxy:send_rtpp_command: proxy <unix:/home/travis/build/sippy/voiptests/rtpproxy.sock> does not respond, disable it
	Jul 24 21:53:41 [21066] WARNING:rtpproxy:rtpp_test: RTP proxy went down during version query
	Jul 24 21:53:41 [21066] WARNING:rtpproxy:rtpp_test: support for RTP proxy <unix:/home/travis/build/sippy/voiptests/rtpproxy.sock> has been disabled temporarily
	Jul 24 21:53:41 [21066] ERROR:core:tcp_start_processes: failed to send 0 status code
	Jul 24 21:53:41 [21067] ERROR:rtpproxy:send_rtpp_command: can't read reply from a RTP proxy
	Jul 24 21:53:41 [21067] ERROR:rtpproxy:send_rtpp_command: proxy <unix:/home/travis/build/sippy/voiptests/rtpproxy.sock> does not respond, disable it
	Jul 24 21:53:41 [21067] WARNING:rtpproxy:rtpp_test: RTP proxy went down during version query
	Jul 24 21:53:41 [21067] WARNING:rtpproxy:rtpp_test: support for RTP proxy <unix:/home/travis/build/sippy/voiptests/rtpproxy.sock> has been disabled temporarily


2017-07-24  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [0f7e72efc] :

	Add siptrace contact for in request (needed by ACK handling)


2017-07-24  Razvan Crainea  <razvan at opensips dot org>
	* [8ba6567f2] :

	b2b_entities: fix b2b key memory leak


2017-07-21  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [6eec7f950] :

	Fixed missing traced SIP messages.
	The following SIP messages were not traced by SIP trace:
	* 100 trying generated by OpenSIPS
	* incoming ACK for negative replies
	* outgoing ACK to negative replies
	* incoming replies to CANCEL requests
	* incoming request retransmissions
	* outgoing request retransmissions
	* outgoing reply retransmissions

	The fix introduced two new TM callback to get access to the lowest level in TM message handling:
		* matching a SIP message to the transaction
		* sending a SIP message related to the transaction


2017-07-19  Liviu Chircu  <liviu at opensips dot org>
	* [aa2b42ca6] :

	Debian packaging: Improve INSTALL_PREFIX logic
	    * now also alters the install paths of configuration files
	    * "dh_usrlocal" is now automatically overriden, if needed
		(i.e. if INSTALL_PREFIX begins with "/usr/local/")
	    * the "opensips.init" script paths are now properly updated


2017-07-19  Liviu Chircu  <liviu at opensips dot org>
	* [45a98e187] :

	Debian packaging: Fix source tarball name for "dev" sources


2017-07-19  Liviu Chircu  <liviu at opensips dot org>
	* [a7eb448ed] :

	Debian packaging: Add a global INSTALL_PREFIX


2017-07-19  Liviu Chircu  <liviu at opensips dot org>
	* [0e1029b1f] :

	exec: Improve documentation
	    * fix incorrect AVP example
	    * clarify the line-oriented nature of "stdout" and "stderr"


2017-07-19  Liviu Chircu  <liviu at opensips dot org>
	* [8a1b3ef3e] :

	exec: Improve environment AVP typing
	Reported by Tito Cumpen


2017-07-17  Liviu Chircu  <liviu at opensips dot org>
	* [15f151b96] :

	menuconfig template: Fix typos / improve TCP detection logic


2017-07-17  rvlad-patrascu  <vladp at opensips dot org>
	* [eecdac348] :

	Update module docs for keywords removal.


2017-07-17  rvlad-patrascu  <vladp at opensips dot org>
	* [4aa8279cc] :

	Remove core keywords from default configuration scripts.


2017-07-17  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [d1d897ebc] :

	Fix replicating NULL socket in contact
	A contact added by ul_add MI contact has a NULL contact, so take care on this during contact replication. Also, when receiving a replicated contact with NULL socket, do not discard it, but simply set NULL socket.

	Reported by Samusenko Andrej on user mailing list


2017-07-14  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [dcf591544] :

	Fix incorrect bug log.
	A missing tracing context in the SL_reply_out callback is perfectly valid - if you send from script a reply (se_send_reply) without doing any sip_trace() before.
	(cherry picked from commit 5a4550b23deb137db33c50fb6fcf773392d31940)


2017-07-13  Liviu Chircu  <liviu at opensips dot org>
	* [d507a864f] :

	opensips.vim: Update syntax


2017-07-13  rvlad-patrascu  <vladp at opensips dot org>
	* [815d885a1] :

	Merge branch 'keywords_rework'


2017-07-13  Bradley Jokinen  <bradley.jokinen at gmail dot com>
	* [56bb24175] :

	cgrates: add DisconnectCause for CDRs


2017-07-13  rvlad-patrascu  <vladp at opensips dot org>
	* [9c9252c97] :

	Remove keywords "method", "msg:len", "proto", "max_len".


2017-07-13  rvlad-patrascu  <vladp at opensips dot org>
	* [6d8bb3c83] :

	Replace "af" keyword with "$af" script variable.


2017-07-13  Liviu Chircu  <liviu at opensips dot org>
	* [5b9f7d3d1] :

	struct history tracker: Add API docs


2017-07-13  Liviu Chircu  <liviu at opensips dot org>
	* [eb22f4eb0] :

	struct history tracker: Optimize memory allocations
	Especially useful when used with QM_MALLOC.


2017-07-13  Razvan Crainea  <razvan at opensips dot org>
	* [991b3ef4f] :

	drouting: fix parameters specifications for gw detection functions


2017-07-13  rvlad-patrascu  <vladp at opensips dot org>
	* [2ca34ff01] :

	clusterer: prevent crash when calling module destroy function before initializing DB handler.


2017-07-12  rvlad-patrascu  <vladp at opensips dot org>
	* [7113323c8] :

	Remove "src_ip", "dst_ip", "src_port" and "dst_port" keywords and allow any script variable to be compared wih IPs and netmasks.


2017-07-12  Liviu Chircu  <liviu at opensips dot org>
	* [aa5366796] :

	mid_registrar: Fix authenticated registrations
	This applies to both throttling modes (contact and AOR).

	Closes #1156


2017-07-12  Razvan Crainea  <razvan at opensips dot org>
	* [e2f9d8fc7] :

	acc: restore new_uri in case an error occurs on reply


2017-07-11  Liviu Chircu  <liviu at opensips dot org>
	* [7d024fa97] :

	struct history: Fix mem leak


2017-07-11  Liviu Chircu  <liviu at opensips dot org>
	* [6b612a079] :

	struct history: Fix the support for memory-only logging


2017-07-11  rvlad-patrascu  <vladp at opensips dot org>
	* [d29733d61] :

	Second parameter of "is_myself" is now also a quoted string that should contain a pvar or port number.


2017-07-06  rvlad-patrascu  <vladp at opensips dot org>
	* [905a18ce3] :

	Remove core keywords related to URIs: "uri", "from_uri" and "to_uri".


2017-07-05  Liviu Chircu  <liviu at opensips dot org>
	* [02da97c96] :

	struct history tracker: Several logging improvements
	    * fix potentially missed logs
	    * allow logs to be matched in highly concurrent environments


2017-07-05  rvlad-patrascu  <vladp at opensips dot org>
	* [de76c2d19] :

	Remove core value "myself" and offer approximately the same features via a new core function "is_myself".


2017-07-05  Liviu Chircu  <liviu at opensips dot org>
	* [ceb6528d2] :

	freeswitch: Mitigate effects of the shutdown cleanup problem
	Since the FS conn manager process is often polling _after_ having
	acquired a read lock, any standard OpenSIPS shutdown while the FS module
	is enabled would have a high chance of deadlocking the attendant.


2017-07-04  Liviu Chircu  <liviu at opensips dot org>
	* [4a628f411] :

	struct history tracker: Rework verb defining and printing
	Thanks to Răzvan for suggesting the sweet cpp trick


2017-07-04  Liviu Chircu  <liviu at opensips dot org>
	* [9957ff2d9] :

	pua: Fix several locking & memory access bugs
	Several issues with publ_cback_func():
	    * 1 x extra lock release upon breaking "send publish" loop
	    * N x extra lock releases inside the loop, per each failed publish
	    * invalid memory access on "presentity" ptr after send_publish_int()


2017-07-04  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [e08d54e6b] :

	Destroy the TCP conn even if the WS link has missing data.
	Perform full conn destroy (in the TCP network layer) even if the WS link doesn't have (very unlikely) the proto-specific data attached.


2017-07-04  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [e2f872598] :

	Fixed memory leak on proto TLS tracing.
	Free the tracing data (if any) when the TLS connection is destroyed


2017-07-04  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [059545765] :

	Fix tracing race condition on SSL based connects
	When performing a connects (required by a write op) for a SSL enabled connection, the returning handshake make lead to a concurent read on the same connection.
	And the read op will try to dump the traced data aquired by the write (connect) op -> different processes, different memory chuncks
	To avoid such probles, the "connect" tracing will be flushed on write (a connect is always trigger by a write need) and the "accept" tracing will be flushed only on read (an accept is always followed by a read).


2017-07-04  Liviu Chircu  <liviu at opensips dot org>
	* [e9a2dc24e] :

	struct history tracker: Fix some subtle locking bugs
	    * possible memory corruption due to unsafe mem writes
	    * deadlock on oom


2017-07-04  Liviu Chircu  <liviu at opensips dot org>
	* [6675c6e8a] :

	struct history tracker: Include object name in API


2017-07-03  Liviu Chircu  <liviu at opensips dot org>
	* [969e1b7b1] :

	struct history tracker: Improve log flushing behavior


2017-07-03  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [05ece7940] :

	Remove bogus auto conversion from SIP uri to TEL uri
	For ancient reasons, a SIP URI with user=phone was automatically converted to a TEL URI. Such conversion, automatically done, is dangerous - there is nothing in the RFC3261 stating something like this. Even more, the conversion is not complete - besides moving the username parameters to URI parameters, the domain is not stripped and the TEL not added.


2017-07-03  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [c4c84f1e3] :

	Set some default value for "already", to avoid bogus printing.
	Reported by Ovidiu Sas
	(cherry picked from commit e1497271f02966736de834c35bf5943d0fd9ef0b)


2017-06-30  Liviu Chircu  <liviu at opensips dot org>
	* [6b68fa846] :

	Allow config file to be read from stdin
	Via the "-f -" command-line option


2017-06-30  Razvan Crainea  <razvan at opensips dot org>
	* [2c9d86019] :

	clusterer: prevent crash when calling send_to after destroy
	(cherry picked from commit 5928e4606f21522736f42874b251452ac1e2e24e)


2017-06-30  Razvan Crainea  <razvan at opensips dot org>
	* [802579283] :

	acc: fix substitutions typo


2017-06-29  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [b60780c50] :

	Downgrade severity and extra loging on epoll self healing


2017-06-29  Liviu Chircu  <liviu at opensips dot org>
	* [5c407c64c] :

	exec: Improve docs for "time_to_kill"
	Reported by Tito Cumpen


2017-06-28  Ovidiu Sas  <osas at voipembedded dot com>
	* [5cb01c85f] :

	tls_mgm: fix warning: ‘port’ may be used uninitialized in this function [-Wmaybe-uninitialized]


2017-06-28  Liviu Chircu  <liviu at opensips dot org>
	* [9e07f3f36] :

	cfg parser: Fix underflow with an empty mpath


2017-06-28  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [805c0e2f3] :

	Related to prev fix - dialog table has no PK


2017-06-28  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [0f36c9d0f] :

	Fix granting permissions on the PK of location table.
	As the PK column has a custom name "contact_id", it needs special handling when granting permissions upon PSQL DB creation.


2017-06-27  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [51859e045] :

	Do not expose the transaction when t_newtran() detects a retransmission
	It is much safer and consistent to avoid exposing the transaction when retransmision is detected; t_newtran() anyhow is automatically taking care of the retransmission handling, so makes no sense to expose the transaction further.


2017-06-27  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [0f9e65fef] :

	Set proper UPDATED flag upon cloning.
	IF the cloning is full (with the updatable part too), set the UPDATED flag too


2017-06-26  Razvan Crainea  <razvan at opensips dot org>
	* [b1dd0cae3] :

	rtpproxy: allow module to specify the name of the recording
	This also allows rtpproxy to stream media to a remote destination.


2017-06-26  rvlad-patrascu  <vladp at opensips dot org>
	* [37d98b00e] :

	All script transformations now return NULL instead of empty string for unsuccessful operation or errors.
	Also allow NULL as input in order to support chaining transformations.


2017-06-26  rvlad-patrascu  <vladp at opensips dot org>
	* [71ca5691c] :

	tls_mgm: fix skipping invalid TLS domain definitions in the script


2017-06-23  Liviu Chircu  <liviu at opensips dot org>
	* [6b03023d2] :

	TCP engine: Fix incorrect returned bytes on async writes
	This isn't actually as bad of a bug as it would seem. By occasionally
	reporting _less_ written bytes than normal, the TCP write flow may trigger
	some false async write requests to TCP MAIN. The connection will
	eventually end up in a writer which simply sends it back, as it does not
	contain any chunks which require writing.


2017-06-23  Liviu Chircu  <liviu at opensips dot org>
	* [951f7e10d] :

	Fix a bug in is_ws()
	Reported by Răzvan


2017-06-22  rvlad-patrascu  <vladp at opensips dot org>
	* [ad8fbaf99] :

	tls_mgm: properly start up even if there are invalid TLS domain definitions in DB


2017-06-22  Liviu Chircu  <liviu at opensips dot org>
	* [8845fd795] :

	TCP engine: Fix the TCP worker duplicate connection check


2017-06-22  Liviu Chircu  <liviu at opensips dot org>
	* [a7249f03d] :

	TCP engine: Fix misleading logs


2017-06-22  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [ade9c93d8] :

	Triggered fds with no fd_map are reported and removed from epoll
	If epoll triggers on a fd that has a cleared (removed) fd_map, remove it from epoll.


2017-06-22  Razvan Crainea  <razvan at opensips dot org>
	* [d5fca4482] :

	net/tcp: do not reset conn proc_no as a writer
	when releasing a conn as a writer, do not reset the process owner of the
	conn, otherwise a reader will have to re-take it back.


2017-06-22  Chad Attermann  <chad at broadmind dot com>
	* [e325e3eb2] :

	Skipping proxy ip:port append when use_domain enabled In aor-throttling mode, when usrloc use_domain is enabled the aor already includes the domain so there is no need to append the proxy ip:port to the aor in the Contact header that is relayed to the main registrar.
	(cherry picked from commit 4fb1581a42735483dc24658a6a7ba12d53ef20ab)


2017-06-21  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [34a25b733] :

	Do not replicate if not configured so
	Test if replication was set before trying to replicate the change of carrier status


2017-06-21  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [7249c95f9] :

	Fixed MI printing of tid (trace ID) URLs.
	Discard on-stack buffer and use formated printing for IP + port.
	Use MI_DUP_VALUE flag for adding the DB URL


2017-06-21  Liviu Chircu  <liviu at opensips dot org>
	* [00d44e8bb] :

	regex transformation: Fix a double free bug
	Supplying a bad regular expression to {re.subst} would lead to
	a double pkg_free().

	Credits to Nick Altmann for reporting / helping with troubleshooting


2017-06-21  Liviu Chircu  <liviu at opensips dot org>
	* [8ba454be7] :

	Add optional TCP connection debugging code
	To include this code, both -DDBG_STRUCT_HIST and -DDBG_TCPCON compile
	flags must be defined under Makefile.conf


2017-06-21  Liviu Chircu  <liviu at opensips dot org>
	* [3da3e8008] :

	tm: Remove unused/redundant tm_list_entry() macro


2017-06-21  Liviu Chircu  <liviu at opensips dot org>
	* [f30a658c4] :

	Add support for generic struct troubleshooting
	Optionally includible via the -DDBG_STRUCT_HIST compile flag


2017-06-21  Liviu Chircu  <liviu at opensips dot org>
	* [99181710c] :

	TCP engine: Fix a race condition related to con lifetime management
	Connections which received a read event concurrently with their
	expiration time could trigger an indefinitely long, CPU wasteful, rapid
	succession of back-forth passing of the connection object between TCP Main
	and a TCP worker process.

	The fix involves adding a TCP connection lifetime update in the TCP worker
	just after receiving the connection object from TCP Main (this is correct
	- there is some pending data, the connection is non-idle), before the
	expiration check is done.

	Thanks to Bogdan for helping with troubleshooting


2017-06-21  Liviu Chircu  <liviu at opensips dot org>
	* [04e2d6e5f] :

	TCP engine: Fix ref counting bug in async writes
	TCP writes done by TCP workers were subject to an extra
	dereferencing operation, potentially leading to memory corruption
	due to SHM overwriting on freed tcp_connection structs.

	This patch eliminates the extra dereferening operation, while also
	taking care not to break the code for non-TCP worker writers, which
	will now have their passed connections dereferenced by TCP main.


2017-06-21  Chad Attermann  <chad at broadmind dot com>
	* [8b52f1331] :

	Parameter "use_domain" not imported from usrloc Variable reg_use_domain is initialized to 0, but not imported from usrloc module as eluded in docs. Added import of "use_domain" parameter from usrloc module to initialize reg_use_domain (taken from registrar module).
	(cherry picked from commit a182a9445fcbc1679a7627bcc786c085fc304221)


2017-06-20  Razvan Crainea  <razvan at opensips dot org>
	* [6e796ff56] :

	debian: add libbson-dev dependency
	Reported by Nick Altman


2017-06-20  Razvan Crainea  <razvan at opensips dot org>
	* [53a4f9473] :

	dialplan: fix typo in previous commit


2017-06-20  Razvan Crainea  <razvan at opensips dot org>
	* [b0258fa9d] :

	dialplan: proper error when no partition is defined


2017-06-19  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [34d98d82d] :

	Flag reset fixed; print flags as hexa


2017-06-19  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [0dfbad386] :

	Fix for prev+1 commit - fd=0 should be consider unset (as -1)


2017-06-19  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [b90094c46] :

	Fix prev commit - data may be null for valid fd maps (like timer jobs)


2017-06-19  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [ab26d0559] :

	Added extra code for sanity checks over reactor data


2017-06-17  Chad Attermann  <chad at broadmind dot com>
	* [01e37f756] :

	Required CRLF missing in 200 OK response Addition of CRLF was mistakenly placed inside of check for Contact expires paramtere. Moved outside so that CRLF is always appended after last Contact header.
	(cherry picked from commit 78eaed807adf636a9448a3a0f9f0a77b4c879096)


2017-06-16  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [149d703c2] :

	Fix leak in use_next_gw()
	The leak occurs only when doing fallback between rules.
	(cherry picked from commit 911478b102576eb73e8c08989a0f6beb109821d9)


2017-06-15  rvlad-patrascu  <vladp at opensips dot org>
	* [030bed9a8] :

	clusterer: start only if DB info is invalid, shutdown for other errors when loading from DB


2017-06-15  Liviu Chircu  <liviu at opensips dot org>
	* [96ba9ed03] :

	exec: Fix incorrect pclose() calls on standard I/O streams
	Many thanks to Walter Doekes for detailing this issue

	(also including some minor code improvements)


2017-06-15  rvlad-patrascu  <vladp at opensips dot org>
	* [edf519b93] :

	clusterer: start even if unable to load provisioning info from DB


2017-06-15  rvlad-patrascu  <vladp at opensips dot org>
	* [24ad5dbae] :

	clusterer: properly init node info structures(memset to 0)


2017-06-15  Liviu Chircu  <liviu at opensips dot org>
	* [f7a7fabcc] :

	core statistics: Fix a bad logical condition
	(regression from e90ac3e937de8)


2017-06-14  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [af584bc8f] :

	Fix memory leak in do_routing()
	(cherry picked from commit 3c0df80d3b5ec8dfb5e54e78cd84153266fbf0f7)
	(cherry picked from commit df9c76f216b190e12d2eccd57e3eb1be1196094c)


2017-06-14  rvlad-patrascu  <vladp at opensips dot org>
	* [a043ee829] :

	presence: improve subs_phtable_list MI command
	* optionally filter listed subscriptions by "From" and "To" URIs
	* include Contact and first proxy from Record-Route in output


2017-06-13  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [4929bcee6] :

	Added auto-healing for reactor.
	If the epoll() fires a fd with a removed fd_map, better do not trigger the handler and remove the fd from epoll and fd_array


2017-06-13  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [0a3bfed03] :

	Intercept ECONNRESET and silently handle it as EOF


2017-06-13  Liviu Chircu  <liviu at opensips dot org>
	* [df29102e9] :

	Do not exit startup sequences with unusable HP_MALLOC params


2017-06-13  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [4e7a14bd7] :

	Fix missing braken (introduced with previous commit)


2017-06-13  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [27a36a940] :

	Intercept ECONNRESET and silently handle it as EOF


2017-06-13  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [69e3576d8] :

	Just code identation.


2017-06-13  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [cf8caeb8e] :

	Do not log EINTR and EAGAIN as errors during UDP write.


2017-06-13  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [a90723d89] :

	Intercept ECONNRESET and  silently handle it as EOF


2017-06-07  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [4cc5e2ed1] :

	Add proper listing for XML module.
	Not being listed with full description make the menuconfig to ignore it.
	(cherry picked from commit 5ecf882c65b66bae762d1b436e9329f7b29864a3)


2017-06-07  Razvan Crainea  <razvan at opensips dot org>
	* [52b7ece21] :

	ratelimit: clarify limits scope for timer_interval
	Reported by Max Mühlbronner on mailing list


2017-06-07  Razvan Crainea  <razvan at opensips dot org>
	* [7935ad3c8] :

	cgrates: switch id from long to int for backward compatibility


2017-06-07  Razvan Crainea  <razvan at opensips dot org>
	* [8ab1deb47] :

	cgrates: use an integer unique id rather than string


2017-06-07  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [0f9ccb576] :

	Fixed mem leaks and bogus err logs during contact replication.
	Reported by sekil on IRC.


2017-06-06  Liviu Chircu  <liviu at opensips dot org>
	* [99ebafdd7] :

	cachedb_mongodb: Update documentation


2017-06-06  Liviu Chircu  <liviu at opensips dot org>
	* [53d62036f] :

	cachedb_mongodb: Remove unused module parameters


2017-06-06  Razvan Crainea  <razvan at opensips dot org>
	* [402ff3411] :

	cgrates: add id in request
	Add an identifier for the requests done to cgrates.
	Requested by cgrates/cgrates#674


2017-06-06  Liviu Chircu  <liviu at opensips dot org>
	* [a09dada86] :

	cachedb_mongodb: Fix pkg-config errors with missing libraries


2017-05-31  rvlad-patrascu  <vladp at opensips dot org>
	* [e8160868e] :

	Fix assignment for $var when right operand is a binary buffer: duplicate entire buffer including zeros.


2017-05-31  rvlad-patrascu  <vladp at opensips dot org>
	* [124c2238b] :

	sip_i: export script transformations that allow access to the parsed ISUP parameters and subfields.


2017-05-31  rvlad-patrascu  <vladp at opensips dot org>
	* [254743d61] :

	Fix script transformations cleanup.


2017-05-31  Razvan Crainea  <razvan at opensips dot org>
	* [9d0436eef] :

	dialog: don't flush in db unnecessary flag values


2017-05-31  Razvan Crainea  <razvan at opensips dot org>
	* [8691a5da1] :

	rabbitmq: provide errno in case of socket error


2017-05-29  rvlad-patrascu  <vladp at opensips dot org>
	* [b2d4fdb5e] :

	Fix typo in nat_traversal module exports initialization: no ',' after transformations.


2017-05-29  rvlad-patrascu  <vladp at opensips dot org>
	* [b662d96af] :

	Allow modules to export script transformations.
	This is done by including an array of transformation classes (with parsing and evaluation functions for each class) in the module exports structure.


2017-05-25  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [ae1c1f32b] :

	Fixed examples in docs


2017-05-25  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [619183358] :

	Fix memory leak for HEPv12.
	Do not add formated payload or extra correlation IDs in HEP version 1 or 2 packets as they are not used and it generate a mem leak.


2017-05-22  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [739aac528] :

	Proper HEP free upon failures
	(cherry picked from commit eb0e47129c5e09615090cc9a41230904390c2919)


2017-05-22  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [3954cf532] :

	Proper HEP free upon failures in sip_context_trace_impl()
	(cherry picked from commit 1fea1d71f90df306b60932ce5a2454f6e33644d9)


2017-05-22  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [6b0701023] :

	Better reset the freed pointers.
	(cherry picked from commit 2b93469b135a5033e2d2eab5e58a00eafd3ce59e)


2017-05-22  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [fc2c7ab9a] :

	Free the HEP message in case of send failure too
	(cherry picked from commit 9bba5954cb86bc56f81887087f0dc4ff20923e74)


2017-05-22  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [a39471a21] :

	Proper free of HEP message if building fails
	(cherry picked from commit 84c33d1842a0ba3e14453120fe2151b3e22a4603)


2017-05-22  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [6a6664706] :

	Proper OOM handling and reporting in add_hep_payload()
	(cherry picked from commit 83c286573e5355688e7a77bf1c7061f1162512bb)


2017-05-22  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [11d062948] :

	Make free_hep_message() safe to partially allocated HEP messages.
	(cherry picked from commit 8e8988183ba0af301087a44296d99f4b5658af4d)


2017-05-17  Razvan Crainea  <razvan at opensips dot org>
	* [494e048cd] :

	dialog: update documentation for triggered event
	Updated documentation for the event triggered when the state is changed


2017-05-17  Razvan Crainea  <razvan at opensips dot org>
	* [070e7d471] :

	rtpproxy: allow multiple servers on same machine
	Before this fix, rtpproxy was accepting a single connection from a
	specific IP. This prevented multiple rtpproxy servers on the same
	machine (or behind the same NAT) to send timeout notifications
	simultaneously.
	Using this fix each rtpproxy provisioned can have on connection to
	opensips.
	This commit also adds some extra debugging.

	Reported and debugged by Flavio Goncalves.
	Fix #865


2017-05-16  ionutrazvanionita  <ionutionita at opensips dot org>
	* [8ebf59215] :

	[acc extra] fix leg index when doing CDRs


2017-05-16  ionutrazvanionita  <ionutionita at opensips dot org>
	* [789b9b063] :

	[acc] fix adding extra when doing CDRs


2017-05-16  ionutrazvanionita  <ionutionita at opensips dot org>
	* [1c0914eb9] :

	[acc extra] fix overwriting right-operand value when setting acc extra/leg


2017-05-16  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [d465e6195] :

	Fix free space calculation.
	Improper computing of the available buffer space lead to false errors in writing down the dialog HASH and ID (only when using the D flag - dialog ID in contact username)
	(cherry picked from commit 43764b66adec9b6c4468c368fb584a7637b4bbf9)


2017-05-12  Razvan Crainea  <razvan at opensips dot org>
	* [4bb3f1ffa] :

	cgrates: fix error detection for different libjson version
	This is a rework on interpreting the error reports in the cgrates
	replies.

	Reported by DigiDaz
	Fixes #1122


2017-05-12  ionutrazvanionita  <ionutionita at opensips dot org>
	* [853aae1cb] :

	[acc] null terminate leg/extra values when storing them
	* problems appeared when the name of the AVP was given to radius
	backend which expected null terminated strings


2017-05-12  ionutrazvanionita  <ionutionita at opensips dot org>
	* [d6cec5722] :

	[acc] don't start if extra values defined but no aaa/db url defined


2017-05-12  Razvan Crainea  <razvan at opensips dot org>
	* [0b2f7bb81] :

	tls_mgm: add version and adapt to newer 1.1.0 interface


2017-05-12  Razvan Crainea  <razvan at opensips dot org>
	* [2bf6f6237] :

	tls_mgm: use os_free with line and file indication


2017-05-12  Razvan Crainea  <razvan at opensips dot org>
	* [25538b4e4] :

	mem: allow custom alocators to specify file


2017-05-11  Razvan Crainea  <razvan at opensips dot org>
	* [64b897e3d] :

	rtpengine: remove .orig file


2017-05-11  Razvan Crainea  <razvan at opensips dot org>
	* [17087e1b5] :

	rtpengine: add in-iface and out-iface params
	These new params can be used to specify rtpengine interface in bridge
	mode


2017-05-11  Liviu Chircu  <liviu at opensips dot org>
	* [c75a7ddcd] :

	str2ip(): Do not reject IPs with leading '0' byte
	This is useful in some code areas (e.g. allowing 0.0.0.0/0 "catch-all"
	networks in the permissions module)


2017-05-11  Liviu Chircu  <liviu at opensips dot org>
	* [69b14b0ae] :

	dialog: Fix possible crash when disabling "accept_replicated_profiles"
	Avoid processing received replicated profiles when "accept_replicated_profiles"
	is disabled. In this case, the profile handling code will be optimized and will
	break if attempting to run replicated profiles through it.


2017-05-11  Liviu Chircu  <liviu at opensips dot org>
	* [2d474f003] :

	dialog: Fix possible crash in "profile_get_values" MI command


2017-05-11  ionutrazvanionita  <ionutionita at opensips dot org>
	* [05d42b61a] :

	[acc] allow multiple rows extra/leg fields definition


2017-05-11  Razvan Crainea  <razvan at opensips dot org>
	* [9798924ba] :

	fix $source_uri pvar when using IPv6
	This fix encloses the IPv6 address in square brackets in the resulted
	URI

	Reported by Ankur Gupta on mailing list


2017-05-11  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [aa2f0f5f2] :

	Fix doc formating and improve some description


2017-05-10  Razvan Crainea  <razvan at opensips dot org>
	* [a8294457a] :

	usrloc: fix event trigger when no socket is used
	Without this fix, opensips crashes when trying to add a contact from MI
	or when loading a user from DB without a socket or with an unknown
	socket.

	Reported by Cindy Leung on mailing list


2017-05-10  Razvan Crainea  <razvan at opensips dot org>
	* [b6d7a9e27] :

	tls_mgm: fix uninitialized variable


2017-05-01  Ovidiu Sas  <osas at voipembedded dot com>
	* [90f16f7b7] :

	sliblist: complete file relocation from core to lib


2017-05-01  Ovidiu Sas  <osas at voipembedded dot com>
	* [767f2d90d] :

	lib: move sliblist from core to lib


2017-04-28  rvlad-patrascu  <vladp at opensips dot org>
	* [24d48c518] :

	tls_mgm: db_schema: same default values for verify_cert and require_cert when taken from DB as from script


2017-04-28  rvlad-patrascu  <vladp at opensips dot org>
	* [cc50c0912] :

	tls_mgm: some doc fixes and improvements
	* fix client domain AVP usage example
	* document default TLS settings for any domain when not set
	* fix some default values for module parameters


2017-04-28  Liviu Chircu  <liviu at opensips dot org>
	* [abd1e655f] :

	Proper fix for PostgreSQL login
	Submitted by @volga629


2017-04-28  ionutrazvanionita  <ionutionita at opensips dot org>
	* [16a1be540] :

	[aaa_radius] fix Makefile if pkg-config doesn't find the lib


2017-04-27  Razvan Crainea  <razvan at opensips dot org>
	* [b9fba7c1e] :

	tm: fix uninitialized variable to make travis happy


2017-04-27  ionutrazvanionita  <ionutionita at opensips dot org>
	* [fdfb68905] :

	[proto_hep] fix handling tcp requests coming in multiple chunks
		This commit fixes 2 bugs:
		1) fixes not reading second part of a single TCP request
	because of bad parsed pointer update;
		2) fixes major bug that was causing packets to be processed
	infinite times by hep callback when one message + some part of a
	second message came in a chunk and in the second chunk it was the
	second part of the second message; the tcp request structure was
	not updated(complete was not set to 0 after first message was
	processed) causing the second message to be processed an infinte amount
	of times into the database;


2017-04-27  Liviu Chircu  <liviu at opensips dot org>
	* [01c9ae2f3] :

	mid_registrar: Fix insertion issues in mirror mode
	Reported by @volga629
	Fixes #1094

