=========================== Release 3.3.10 ==============================

2024-02-21  Liviu Chircu  <liviu@opensips.org>
        * [d3cd9371e] :

        rest_client: Partial revert of 1ecb32491f

        This addresses a regression in 1ecb324, where the "SUCCESS" test case
        does not work anymore - the async cURL request simply times out.

        Document the behavior of async timeouts with rest_client on 3.3 branch.

        Related to #3286


2024-02-21  Razvan Crainea  <razvan@opensips.org>
        * [a29956d22] :

        rtp_relay: handle NULL resetting the rtp_relay_ctx value

        Thanks go to Rob Moore from Dubber for reporting this!


2024-02-12  Liviu Chircu  <liviu@opensips.org>
        * [fab230743] :

        freeswitch: Avoid failed "unref" operations during mod init

        This fixes a bug where if a FreeSWITCH socket were defined in both
        modparam and DB, it would get a +2 ref instead of +1, thus after a DB
        removal + reload operation it would remain in a dangling state.

        Many thanks to Five9 (https://www.five9.com) for reporting this issue!

        (cherry picked from commit 6e6c60bd60329e1b0202e7e57cee5f71e2210f34)


2024-02-09  Razvan Crainea  <razvan@opensips.org>
        * [3e1d9ed3f] :

        siprec: avoid double unref for failed transaction

        Many thanks to Voxtronic for reporting this!

        (cherry picked from commit 28ea0565cabdbd703ddaab9351628aad43e03775)


2024-02-09  Razvan Crainea  <razvan@opensips.org>
        * [b7c7a9afc] :

        rtp_relay: clear established when sess is deleted

        This avoids crashes when ctx->established pointer remains dangling

        Many thanks to Voxtronic for spotting this issue!

        (cherry picked from commit 9600ae72d74ed3d7c7a3bf9655dc4e578ea5d3af)


2024-02-06  Vlad Paiu  <vladpaiu@opensips.org>
        * [22a151d8d] :

        Fix typo in creating new entity after bridge ( 1st comes from URI and then dname in the params list )


2024-02-02  Razvan Crainea  <razvan@opensips.org>
        * [dc4c5bb6f] :

        dialog: get ACK cseq from src leg, rather than dst

        (cherry picked from commit b8bbf1440481c6a2744b6223adfca4608c88c5ea)


2024-02-02  Liviu Chircu  <liviu@opensips.org>
        * [a92677ec3] :

        b2b_logic: Fix a logical bug which could cause crashes

        ... in b2b_init_request().  Completes c84fe372c.

        Neither @e1 or @e2 can be NULL after the "if" guard, otherwise there is
        a good chance of a crash shortly afterwards.

        (cherry picked from commit dec380907283b962fa2f1296b0fec1cd730708ea)


2024-01-23  Razvan Crainea  <razvan@opensips.org>
        * [b4090e3c3] :

        b2b_logic: document adv_contact param for b2b_bridge_request

        Complete 726fca1523

        (cherry picked from commit ce9fccc7f7347568cb16621a02c6480eb8a89542)


2024-01-15  Razvan Crainea  <razvan@opensips.org>
        * [117885436] :

        dialog: do not populate dst_leg on unmatched dlg

        Avoid chaning the dst_leg on unmatched dialogs, as this might lead to
        inconsistent states. A common pattern is to match a dialog in state 5,
        which would set a dst_leg, but then "invalidate" the dialog due to the
        bad state - proceeding to a next dialog would not set the dst_leg (as it
        was set by the previous match), leading to an invalid access in the
        second dialog.

        Credits go to NFON for reporting and providing valuable troubleshooting
        information

        (cherry picked from commit 224a3236cbeaeb06a897cb3beab8c3a0c3d5903f)


2024-01-11  Liviu Chircu  <liviu@opensips.org>
        * [67cb1ba85] :

        tracer: Fix mixing between "src_ip" and "dst_ip"

        Completes a13e03420c

        Credits to James Seer for reporting this issue!

        (cherry picked from commit fd894705feacc95f1eae1af2d6554ce2b10bf5ad)


2024-01-11  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [60f471a77] :

        [presence_dfks] updated link to DFKS specs

        (cherry picked from commit f3657e4860e38f7f18f26481f21de245afea9da1)


=========================== Release 3.3.9 ==============================

2023-12-20  Razvan Crainea  <razvan@opensips.org>
        * [50842186f] :

        cJSON: provide support for adding header to functions

        This avoids conflicts between overlapping libs that use different cJSON
        implementations.

        Many thanks to He Huang from Five9 for reporting and providing tests

        (cherry picked from commit 3a891b9085d2efdf03ae02274452da7c24279cc6)


2023-12-18  Liviu Chircu  <liviu@opensips.org>
        * [6d0ac4f62] :

        freeswitch: Avoid dangling socket structs in reactor

        Should reactor_del_reader() ever fail, retry it using index "-1" in
        order to guarantee removal of the file descriptor from the EPOLL
        controller.

        Also fix several occurences of bad 3rd parameter (IO_WATCH_READ instead
        of IO_FD_CLOSING, which was probably the intended argument).

        (cherry picked from commit 26a9e3a269f9e9b13c5de04422d4efd79ba27b54)


2023-12-18  Liviu Chircu  <liviu@opensips.org>
        * [34fe0572e] :

        cfgutils: Fix "lock" operations during MI listing

        * fix missing lock check, causing too many unlocks
        * always lock the shv during MI listing, to avoid reading garbage
            (e.g. partial data), as a WRITE is taking place in parallel

        (cherry picked from commit 0c9aa6ffff31d40db9604be616b1b27053b53235)


2023-12-17  OpenSIPS  <github@opensips.org>
        * [f1e18d734] :

        Rebuild documentation


2023-12-14  Liviu Chircu  <liviu@opensips.org>
        * [638e7465a] :

        rest_client: Improve previous commit (async timeouts)

        * fix corner-case causing module timeout to be discarded
        * change logging level on transfer timeout from INFO -> ERR

        (cherry picked from commit 1ecb32491ff891c5002f8de47373cd1cc5b70376)


2023-12-14  Liviu Chircu  <liviu@opensips.org>
        * [51c76afb5] :

        drouting: Fix rule fallback across multiple prefixless rules ('')

        Mostly affects the "do_routing() + use_next_gw()" scripting logic.

        (cherry picked from commit fd5066a0459228ab388bd00fd8b1157c34b20ce0)
        (cherry picked from commit 435aa4bab81cfd94fa77d0bae8e55dc9b76ea2e5)


2023-12-12  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [35f8ea7cd] :

        [tm] remove unappropriated RW locks and use standard ones

        In the timer list implementation, all the ops over the list are like writer, so it makes no sense to use the RW locks which overall are a bit slower than the standard simple locks

        (cherry picked from commit ac364c169dfb29e79887c20e1c08af0d24673953)


2023-12-12  Vlad Paiu  <vladpaiu@opensips.org>
        * [4bd50335a] :

        If we are receiving/sending from/to an interface with advertised address, replicate to HEP using the advertised address

        (cherry picked from commit a13e03420c063c3e43666d73b6cd3bcbd6a807b9)
        (cherry picked from commit 7b595ce4f3b8d2b9ac88859437d3678b83f65cfc)


2023-12-11  Liviu Chircu  <liviu@opensips.org>
        * [d6cd4fe6f] :

        rest_client: Fix handling for async timeouts

        This patch improves all rest_client async operations such that they
        now correctly time out after the minimum between:

        * the "rest_client.curl_timeout" modparam (seconds)
        * the async() statement timeout, if any (seconds)

        Credits to Bence Szigeti for helping diagnose and fix the issue

        (cherry picked from commit 1ea1852ed79ba4b79cba39643e1274eed509081b)

        async: Add support for module-injected timeouts

        In some cases, the module may have its own timeout for the async
        operation which it would prefer to force into the reactor wait loop,
        possibly even have it combined with the async(..., X) statement timeout
        as well, with the minimum of the two timeouts to win out.

        (cherry picked from commit 03db3688a4c44577db483c1aecdaacc208490ebd)
        (cherry picked from commit 3e6195363beacefd46afca74c730fb36b3065b48)


2023-12-11  Liviu Chircu  <liviu@opensips.org>
        * [683c3fb8e] :

        acc: Fix possible crash if 'aaa' module not loaded

        If do_accounting("aaa") is used without a backend module loaded,
        OpenSIPS would actually start, then crash when generating an acc record.

        Credits to Simon Gajski and Bogdan Iancu for reporting and diagnosing
        the issue here.


2023-12-10  OpenSIPS  <github@opensips.org>
        * [17d1089e5] :

        Rebuild documentation


2023-12-08  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [8f6c1ead1] :

        [tm] fix missing Route hdrs in locally generated ACK/CANCEL

        Even if those requests are hop-to-hop (and they do not need Route hdrs), this is valid only for stateful SIP servers. Yes, woow, we need to take care of stateless SIP server :P.
        As various module may add lumps with Route hdrs, let's mark this, so we will know later if we should re-parse and check for such Route hdrs (in the outbound buffer)
        Closes #3131

        (cherry picked from commit 13bd2b877ca82f0b692208e7c9d46df15aa4b35a)


2023-12-07  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [7c8b4576b] :

        Merge pull request #3266 from jes/jes/proto_tls-rlen

        proto_tls: report error with correct variable

        (cherry picked from commit 2cb54ee862f4fe93586e4383519043e4dbaa2773)


2023-12-07  Razvan Crainea  <razvan@opensips.org>
        * [bfdd56f99] :

        b2b_logic: Fix pkg_str_dup ret code check

        Fix bug while checking the return of pkg_str_dup - due to the bad return
        check, we were no longer terminating dangling entities with BYE.

        Many thanks to David Escartin from Sonoc for reporting and help in
        troubleshooting this issue!

        (cherry picked from commit 5d90a34b401c48cc680d9f3343f9efce15ad6a28)


2023-12-05  Razvan Crainea  <razvan@opensips.org>
        * [e353d3e14] :

        siprec: handle SRS in-dialog UPDATE and re-INVITEs

        (cherry picked from commit ec6b5c4e0e714a7fc81d215950a33a6b7b72dee0)


2023-12-05  Razvan Crainea  <razvan@opensips.org>
        * [fcb6731e5] :

        rtp_relay: fix creating caller's tag in branch route

        (cherry picked from commit 937e1340c96113bc337bbf4270f9d2501d918831)


2023-12-04  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [4998f7b96] :

        [b2b_logic] fix TO hdr setting in UAC entities

        Keep the original idea (<=3.1) to have TO and RURI set to the same URI. Starting 3.2 this was accidentally changed, TO hdr being preserved from the UAS entity.
        Fixes #3176

        (cherry picked from commit d3e3ad118ce57dcf93947e25ed2efe0193286c71)


2023-12-04  Liviu Chircu  <liviu@opensips.org>
        * [984cd3f78] :

        acc: Code improvements

        * make the is_xxx_on() macros more practical, by returning `int` instead
        of `unsigned long long`, to avoid integer overflows during result check

        * add more unit tests

        (cherry picked from commit f635a63a7acfc5b55c8f06bd14693d3e710a633b)
        (cherry picked from commit 0bc0e07d60528841aed860e67ee93b84c03e3c60)


2023-12-04  Liviu Chircu  <liviu@opensips.org>
        * [51819ee18] :

        acc: Fix drop_accounting() regression (211a63c9b2)

        Commit 211a63c9 changed drop_accounting() from doing too little
        dropping (the "backend bit" would never get reset) into doing too much
        dropping (the "backend bit" would always be reset, despite some of the
        flags still remaining enabled after the drop operation).

        This commit fixes the code and also adds some unit tests for the
        set/reset bitmask operations, to lock in the correct behavior.

        (cherry picked from commit 0f0de89f6a050255050e913bd3295c2ae2a43fdc)
        (cherry picked from commit 9608d8a1d567fbf7ee1f332cc0dc2805509fa386)


2023-12-03  OpenSIPS  <github@opensips.org>
        * [56f0d0c74] :

        Rebuild documentation


2023-11-29  Razvan Crainea  <razvan@opensips.org>
        * [c7b2626b7] :

        rtpengine: avoid serializing if rtpengine ctx was not created

        (cherry picked from commit d8323704b05a1e64a9c7531856879a1e14501e18)


2023-11-28  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [80f675f65] :

        [tm] fix the visibility of $T_branch_idx in failure route

        The bavp's are already available in failure route and they are using the same internal variable for the branch index. So, to keep consistency, the branch index should be visible also in failure route via $T_branch_idx

        (cherry picked from commit ae9e51ec131e5d2dd20fc2ac1e28835916a70c7f)


2023-11-28  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [ea6069001] :

        [tm] fix setting _tm_branch_index in case of internal timeout

        Be sure the _tm_branch_index variable is properly set for internal timeout and not only for received replies

        (cherry picked from commit 43590e93f457df32dfec9dff6ef859624e13b852)


2023-11-28  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [f2d540c8b] :

        [cfg] fix bogus constraint on ':=' operator

        It is actually implemented by BAVP also (not only AVPs), but the script does not allow its usage :(.
        Removing the check is safe as all the other variables will treat the ':=' as '=' - they do not test the operator during "set", assuming '=' all the time.

        (cherry picked from commit 5bab986c7c887a438e0cb007afa617ff6a5dcb4b)


2023-11-28  Razvan Crainea  <razvan@opensips.org>
        * [b2995c78e] :

        rtpproxy: handle timeouts for stats command

        Fixes a crash when OpenSIPS was timing out when fetching statistics

        (cherry picked from commit 2b5392d5394edf9ce346cd10363dae5a66d82fcd)


2023-11-27  Razvan Crainea  <razvan@opensips.org>
        * [8d8f5151c] :

        cgrates: return 1 while setting a non-object return

        Comply with documentation with functions that always return 1 if success

        Reported by MonkeyTester (@Integration-IT on GitHub) for reporting this.
        Close #3256

        (cherry picked from commit 51b8a2bc87ed8cb508cf3e8c3f7c6ff75012ac04)


2023-11-27  Razvan Crainea  <razvan@opensips.org>
        * [644b60477] :

        rtpengine: make oom error logs more verbose

        (cherry picked from commit 6d38787c1ecee65899377cef3167987923889ece)


2023-11-26  OpenSIPS  <github@opensips.org>
        * [f0335bd64] :

        Rebuild documentation


2023-11-21  Razvan Crainea  <razvan@opensips.org>
        * [bf33c1362] :

        dispatcher: fix partition parsing ending

        (cherry picked from commit 2a70e611649a0fa70680bd2dee0625ca2a805b10)


2023-11-21  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [71fa7e719] :

        [tm] fix NULL on out of index for bavp() vars

        (cherry picked from commit 492df453de434f49131dd61fcf5fd6f4f5e8025a)


2023-11-19  OpenSIPS  <github@opensips.org>
        * [18ca7d9ff] :

        Rebuild documentation


2023-11-16  Razvan Crainea  <razvan@opensips.org>
        * [cbac5c6d5] :

        rtpproxy: fix rtpproxy_enable setid docs

        (cherry picked from commit e8aaca713949c5c52c48c389066a820f2a4eb33b)


2023-11-16  Liviu Chircu  <liviu@opensips.org>
        * [76d484f0c] :

        dialog: Fix bad test in prev commit


2023-11-15  Liviu Chircu  <liviu@opensips.org>
        * [105dc6a65] :

        usrloc: Clarify docs for MI 'ul_cluster_sync'

        (cherry picked from commit 8f328428cb218cdfaefdc3e22bac7e5dc28992af)


2023-11-15  Liviu Chircu  <liviu@opensips.org>
        * [d2037f639] :

        dialog: Mitigate 'dlg_list' PKG fragmentation

        By using pkg_str_extend() instead of pkg_realloc(), we avoid a constant
        creation of PKG fragments (the buffer will eventually stop growing),
        which seems to gradually fragment the private memory pool, as the MI
        'dlg_list' is continuously polled by various monitoring software.

        Related to #3235


2023-11-15  Liviu Chircu  <liviu@opensips.org>
        * [7b106be9c] :

        Fix PKG memory leak on {s.eval} corner-case

        Make sure to correctly free the transformation data structures even when
        parsed by {s.eval} at runtime, as opposed to one-time parsing during
        startup, which would never highlight the leak:

            $var(proxy) = "$(du{nameaddr.uri}{re.subst,/scscf-int-/scscf-/})";
            $var(proxy) = $(var(proxy){s.eval});

        Fixes #3233

        (cherry picked from commit be764a16fe606294339252623deeeaa374e7dae0)


2023-11-13  Vlad Paiu  <vladpaiu@opensips.org>
        * [2e4495b43] :

        Increase the static buffer size where the dialog info gets printed to

        Since we also have the SDP going there, that can grow pretty large ( in webrtc context )


2023-11-13  Răzvan Crainea  <razvan@opensips.org>
        * [cd1c28aff] :

        Merge pull request #3243 from purecloudlabs/hotfix/json-array-del-element

        json: fix array element deletion
        (cherry picked from commit 6ec8840f0e67520b05db0427fd05ead845ae3871)


2023-11-05  OpenSIPS  <github@opensips.org>
        * [d5eebb41d] :

        Rebuild documentation


2023-11-03  Liviu Chircu  <liviu@opensips.org>
        * [41042a147] :

        CacheDB: Allow "@" in URL passwords

        (cherry picked from commit 1df9afd3886a3bddf837927aafca7bff8763acd1)


2023-10-31  Razvan Crainea  <razvan@opensips.org>
        * [c204dd480] :

        proto_hep: fix type in  hep_async_local_write_timeout param name

        (cherry picked from commit 267b938422cf146f1a9de545b2acedb2780af064)


2023-10-31  Liviu Chircu  <liviu@opensips.org>
        * [6a566d9a6] :

        tls_wolfssl: Fix tarball generation

        Since ".patch" files are explicitly excluded during tarball packing,
        let's just rename the patch file to ".diff" instead so it gets included,
        thus allowing the tarball module code to compile once again.

        (cherry picked from commit 82876a79058885e14cfb6099cee68aa95f184099)


2023-10-29  OpenSIPS  <github@opensips.org>
        * [e1dc19264] :

        Rebuild documentation


2023-10-25  Razvan Crainea  <razvan@opensips.org>
        * [d89e06b7b] :

        call_center: passthrough in-dialog requests, except BYE

        (cherry picked from commit c0f5b124127f6ad9ff68344f8764198dee9bf9c6)


2023-10-25  Razvan Crainea  <razvan@opensips.org>
        * [3867a7c00] :

        Revert "call_center: passthrough re-INVITEs"

        This reverts commit dd9e07d3dc2ad906041a315ae29030c608b356e1.


2023-10-25  Razvan Crainea  <razvan@opensips.org>
        * [dd9e07d3d] :

        call_center: passthrough re-INVITEs

        (cherry picked from commit f971fa17310c654c54305608855cfc28c1477bd0)


2023-10-22  OpenSIPS  <github@opensips.org>
        * [b15fd017a] :

        Rebuild documentation


=========================== Release 3.3.8 ==============================

2023-10-17  Razvan Crainea  <razvan@opensips.org>
        * [ceb6f7130] :

        dialog: only publish cseq mappings for INVITEs

        (cherry picked from commit 8a6e78ddeb720f3cdbdd69d0ad696eb25a97e729)


2023-10-15  OpenSIPS  <github@opensips.org>
        * [6945abf3d] :

        Rebuild documentation


2023-10-13  Razvan Crainea  <razvan@opensips.org>
        * [a9704bba9] :

        b2b_entities: proper handling of overlapping BYE

        Although in normal circumstances we should reply with a 500 reply code,
        in case a BYE is received, we should process it accordingly, and as soon
        as the overlapping transaction completes, we should terminate the other
        leg as well.

        Completes c4032f94f3993d1b62a0483eaae3ac0bd6c7c358

        (cherry picked from commit 761e8800ad45eb2a674b1d167e02d2904011a414)


2023-10-12  Razvan Crainea  <razvan@opensips.org>
        * [11dedbd30] :

        prometheus: fix labels documentation

        Many thanks to Norman Brandinger (@NormB on GitHub) for spotting it.

        (cherry picked from commit 5449d944e74903fea463150c99455a0e7d949c95)


2023-10-12  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [4f7a06ea6] :

        [parser] parse_min_expires() returns FALSE if hdr no found

        Alternative to #3165

        (cherry picked from commit b3990ad41c348c6a34e1e0e13033c54427453d79)


2023-10-11  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [b6e75cc6e] :

        Merge pull request #3223 from purecloudlabs/hotfix/wolfssl-client-cert-verify

        `tls_wolfssl`: Fix certificate verification in client mode

        (cherry picked from commit a1b2c3c1ca041a3474d432c4ece8f7cdad493c08)


2023-10-11  zhengsh  <zhengsh@ti-net.com.cn>
        * [99ebe1abe] :

        cachedb_redis_dbase: Fix the type of port with unsigned short.

        (cherry picked from commit 59b076048b106a4d9c9d8246746fa229526e21e8)


2023-10-11  Liviu Chircu  <liviu@opensips.org>
        * [568105b2b] :

        cachedb_redis: Fix a bug with parsing custom ports

        This patch fixes an issue where custom Redis ports (i.e. not
        6379) in simple URLs with just 1 host were always being parsed as 6379.
        Most likely, the issue dates back to the "circular failover hosts"
        feature (69179289).

        Many thanks to Artiom Druz (@Shkiperion) for a full report + PR attempt!

        Fixes #3168
        Closes #3169

        (cherry picked from commit 3532746c1f830540a61b04863df2236c1a85978c)


2023-10-10  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [ad63b94dd] :

        [load_balancer & dispatcher] FS stats do not depend on probing

        Enabling the stats collection (via timer) from FS boxes must not be conditioned by the activation of probing - there is not relation / dependency between the two.
        Closes #3216
        Reported by @spacetourist

        (cherry picked from commit 14df28478f902826cf9e36b32a6b0da4ddbf3c06)


2023-10-09  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [5508b9558] :

        [evi] do not raise event from TCP MAIN

        The TCP MAIN process does not have script capabilities, so we should NOT raise event here (as they may translate into scripting due to the event_route module). So, if we have an event to be raised from TCP MAIN (as E_CORE_TCP_DISCONNECT) we better use the newly added evi_dispatch_event() function which does IPC dispatching (into a different process) and raise for the event.
        Closes #3212

        (cherry picked from commit fd0657602734f242223e99655e49aa967ffec423)


2023-10-09  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [df1f73e3a] :

        Fix persistency of the globally set log_level

        The globally set log_level (via MI cmd) must impact the future forked processes (due to auto scalling).
        Closes #3146

        (cherry picked from commit 942509835adfe59ee841f16f12a876d828be269f)


2023-10-08  OpenSIPS  <github@opensips.org>
        * [a3df7a640] :

        Rebuild documentation


2023-10-06  Razvan Crainea  <razvan@opensips.org>
        * [2987d3352] :

        dialog: proper update contact of callee on seq

        fixes bug introduced in a76af3f
        Close #3218

        (cherry picked from commit fc144da23d806ab691c0b8479f333f599ebfd73f)


2023-10-06  Razvan Crainea  <razvan@opensips.org>
        * [0e9b10850] :

        tls_wolfssl: amend patch with Fix RNG with writedup

        Amend patch with wolfSSL/wolfssl#6843

        (cherry picked from commit e393d4cd20957909f34572910b28f1ec7897c2fa)


2023-10-05  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [40b54f36e] :

        [b2b_entities] proper handling of B2B requests without active dialogs

        If we have a requests that is 100% looking as a B2B related request, but it's not matching any active/ongoing b2b dialog, better reject with 481 and drop instead of pushing it into the script (where may be proxyed).

        Closes #3205

        (cherry picked from commit caa78d9676017ae93c35862de90974f407ab25e7)


2023-10-05  Razvan Crainea  <razvan@opensips.org>
        * [64b26be4b] :

        rtpengine: allow passing flags for subscribe answer cmds

        (cherry picked from commit faafd70f4c4ccf74a9192a2e31f5864d6b1b9965)


2023-10-04  Razvan Crainea  <razvan@opensips.org>
        * [57b9dcd3c] :

        statistics: do not allow duplicate stats in different groups

        The statistic's name should be unique, whether it is located in a
        different group or not.

        Completes 4640465, Fixes #3136

        (cherry picked from commit e7f887d354d8d98d9fe00f2ca9edf3b8d4401cba)


2023-10-02  Razvan Crainea  <razvan@opensips.org>
        * [ff1afdde5] :

        drouting: allow usage of goes_to_gw in LOCAL_ROUTE

        (cherry picked from commit 483ee0be161fbfd374cc3e631e354b312a05baa5)


2023-10-01  OpenSIPS  <github@opensips.org>
        * [6d6e8fb3d] :

        Rebuild documentation


2023-09-27  Liviu Chircu  <liviu@opensips.org>
        * [fd850cc80] :

        stir_shaken: Add the `e164_max_length` parameter (interop fix)

        This parameter allows the 15-digit number length restriction of the E.164
        format to be bypassed.  Especially useful in scenarios where various
        telephony number prefixes are in use, causing some numbers to exceed
        the standard maximum length.

        Credits to @Integration-IT for watching over the core issue and helping
        work towards the current solution!

        Fixes #3202
        Fixes #3182
        Fixes #3181

        (cherry picked from commit 2e662357307a387020b9c16e465a9d093fd29a23)


2023-09-27  Liviu Chircu  <liviu@opensips.org>
        * [5bdac5e58] :

        stir_shaken VS: Improve several return codes

        * on bad client-side signature length, return
           "438 Invalid Identity Header (bad signature)"
           vs. "500 Internal Server Error" (??)

        * on encountering expired certificates advertised by clients, return
            "438 Invalid Identity Header (cert validity)"
            vs. "403 Stale Date" (?!)

        * fix abs() related compiler warnings introduced earlier

        (cherry picked from commit e2977a4f49f1a164369c515bb7a79b5b436aeb31)


2023-09-27  Liviu Chircu  <liviu@opensips.org>
        * [28bebc7f2] :

        stir_shaken: Fix detection for invalid "future Date/iat"

        This patch fixes a bug where both the Date hf and the "iat" PASSporT
        claim could be filled in with a random timestamp value "in the future"
        and still bypass the OpenSIPS "freshness" integrity checks.

        Issue discovered during OpenSIPIt'03,
                thanks to Pavel Bussel & Maksym Sobolyev (Sippy Software)

        (cherry picked from commit 75a168a9f4315e59ba92bdcc2920639176e7f415)


2023-09-27  Razvan Crainea  <razvan@opensips.org>
        * [1c67f7b0c] :

        [WIP] statistics: fix crash when creating a series stat

        Under normal circumstances, when a statistic is updated, we first search
        whether it exists, and if not, we add it to the statistics hash.
        However, due to the way it is implemented, searching and adding a
        statistic is not atomic, hence, with high concurrency, when adding a new
        statistic, we might already find an existing one there. In this case,
        the code tries to return that statistic in the `pvar` parameter -
        however, that parameter might be a (r/o) function, hence a crash
        happens. This commit fixes the crash. Close #3136

        However, it returns 0, as if the statistic was properly added - the
        problem with this approach is that from the caller's perspective, we do
        not know whether the statistic was already there or not, to free the
        existing structure - hence this might result into a leak. We are still
        working on a solution for this.

        (cherry picked from commit 4640465215f131592326363bd0748d9f0e79f04d)


2023-09-27  Razvan Crainea  <razvan@opensips.org>
        * [85b17acad] :

        siprec: fix memory leaking while setting the same field of siprec var

        Credits go to Rob Moore, Daniel Bryars and Steven Ayre from Dubber, as
        well as Liviu Chircu from the OpenSIPS team for working together to spot
        this leak.

        (cherry picked from commit 1dde47b524e4bb27e992ede2b15631eb12092537)


2023-09-26  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [68216f868] :

        Merge pull request #3189 from Keyyo-Private/fix_ldap_memleak

        ldap: Fix memory leak
        (cherry picked from commit d82ddd85d97fcf0b5c3f01e686c9018b9f00e89c)


2023-09-26  Razvan Crainea  <razvan@opensips.org>
        * [79bbdb720] :

        dialog: increment last_gen_cseq only if initialized

        Many thanks to Denys Pozniak (@denyspozniak on GitHub) for reporting and
        providing troubleshooting information.

        Close #3206

        (cherry picked from commit 7bafee1f91327f91c0372318cf0cd8e6dc4bceaa)


2023-09-25  Vlad Paiu  <vladpaiu@opensips.org>
        * [7d8f1a43b] :

        Added support for rtx RFC 4588 when deleting a codec that has RTX attached to it

        (cherry picked from commit ebc3edd78e7603fd1928bcefc0c775f7f9a9dd65)


2023-09-24  OpenSIPS  <github@opensips.org>
        * [c7efda15a] :

        Rebuild documentation


2023-09-21  Razvan Crainea  <razvan@opensips.org>
        * [330b30dd1] :

        build: add patch as requirement

        (cherry picked from commit 9e87934732a195e8cea262ebac42bfb626633a66)


2023-09-21  Razvan Crainea  <razvan@opensips.org>
        * [e8d05c274] :

        tls_wolfssl: adapt patch with upstream

        Grabbed from wolfSSL/wolfssl/#6785
        As soon as the patch gets in a released version, we shall bump our
        version as well.

        (cherry picked from commit 2548f475528bb6b31b769be83091bc944ec01f06)


2023-09-21  Razvan Crainea  <razvan@opensips.org>
        * [5b0290098] :

        tls_wolfssl: patch wolfssl lib to fix memory leak

        More information about the leak can be found on the wolfssl issue
        tracker: wolfSSL/wolfssl#6760

        (cherry picked from commit 716f1d633d19e08165917423cb141c29c0f2b2df)


2023-09-21  Razvan Crainea  <razvan@opensips.org>
        * [d4ac5405b] :

        tls_wolfssl: refactor makefile to use dependencies

        (cherry picked from commit 3e6a0fcb0f72a56ad066af97f0fabafe8ded2c83)


2023-09-21  Razvan Crainea  <razvan@opensips.org>
        * [358051ee1] :

        digest_auth: fix Makefile detection of SHA256 and SHA512t256

        (cherry picked from commit 3c11d3c0f50adcc3a92dc893a11866cd6aafbe13)
        (cherry picked from commit d92607f2d7825a9d000b14e6f3d9aa037b273b23)
        (cherry picked from commit d1c8a475186f94e6a8aae74e0ad884663039b0ac)
        (cherry picked from commit 8fccc49c7c8c0fb3ae4cf500fffebd00914c3db5)


2023-09-21  Razvan Crainea  <razvan@opensips.org>
        * [b8dbe9e84] :

        proto_ws: enclose IPv6 Host IPs with square brackets

        Many thanks to @alekseiZh on GitHub for reporting it
        Close #3198

        (cherry picked from commit 3b4beb2c4fa7be27032dbc82f0a0be03677db893)


2023-09-18  Razvan Crainea  <razvan@opensips.org>
        * [515ae0ffe] :

        b2b_entities: fix Notify buffer timeout build

        Complete 312cdd4
        Related to bug in #3195

        (cherry picked from commit 9d61465fe82c1abeb3795915bfc805944abf068b)


2023-09-17  OpenSIPS  <github@opensips.org>
        * [c44219562] :

        Rebuild documentation


2023-09-15  Razvan Crainea  <razvan@opensips.org>
        * [e00780772] :

        Revert "b2b_logic: properly initialize socket for topo hiding"

        This reverts commit f0d2a091a4f1be2da77b9a431a52ae17909490d7.


2023-09-15  Razvan Crainea  <razvan@opensips.org>
        * [f0d2a091a] :

        b2b_logic: properly initialize socket for topo hiding

        Fix possible crash when no socket is forced in topology hiding scenario

        (cherry picked from commit 01a3568eff57f56179f3e3b82647eaf489482d11)


2023-09-15  Razvan Crainea  <razvan@opensips.org>
        * [fbac7ccb0] :

        b2b_entities: prevent hop-by-hop ACK to change the status of dialog

        (cherry picked from commit 4fe2fb6f5cf16dd069c803e3d4542ae8a756a1d3)


2023-09-15  Razvan Crainea  <razvan@opensips.org>
        * [cafc043d8] :

        tm: simplify API interface for t_relay and t_check_trans

        (cherry picked from commit 1bf83d61b6a9607c903bf26ac76ac50a4aca10b9)


2023-09-14  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [59a0af272] :

        [b2b_entities] Proper handling of overlaping transactions

        As per RFC3261, Section 14.2 :

           A UAS that receives a second INVITE before it sends the final
           response to a first INVITE with a lower CSeq sequence number on the
           same dialog MUST return a 500 (Server Internal Error) response to the
           second INVITE and MUST include a Retry-After header field with a
           randomly chosen value of between 0 and 10 seconds.

           A UAS that receives an INVITE on a dialog while an INVITE it had sent
           on that dialog is in progress MUST return a 491 (Request Pending)
           response to the received INVITE.

        Changes:
        * 491 is now generated when receiving a request while already having an outbound one - the old code was generating 491 upon receiving a request while having another INCOMING one :-/
        * generate the 500 reply when receiving a new request while handing another incoming one.

        (cherry picked from commit c4032f94f3993d1b62a0483eaae3ac0bd6c7c358)


2023-09-12  Razvan Crainea  <razvan@opensips.org>
        * [393dfb52a] :

        rtp_relay: remove context from the list on repicated deletes

        (cherry picked from commit 1af376b71ee235ce723ccda2716ee507c575b8d8)


2023-09-10  OpenSIPS  <github@opensips.org>
        * [b79e45d3e] :

        Rebuild documentation


2023-09-08  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [50d9dc636] :

        Revert ERR back to DBG log

        Introduced by mistake via e0fe732e9c9d28c24ed6860fbd3531940978b8f9
        Reported by Bence Szigeti.

        (cherry picked from commit 3b04f2185c419e295a471fa14f8436cdb0f02fff)


2023-09-04  Razvan Crainea  <razvan@opensips.org>
        * [f7defa016] :

        rtp_relay: fix invalid contexts leaked in list

        When a session would have been established on a provisional reply with
        body (i.e. 183), the rtp contexts would have been stored in the list.
        However, if the call would not establish (with a 200 OK), there would be
        no one removing it from the list, even though the context was released -
        this resulted in unexpected and almost impossible to track down invalid
        memory usage.
        The current patch makes sure that the context is removed from the list
        if the call does not establish.

        Many thanks to Rob Moore, Daniel Bryars and Steven Ayre from Dubber for
        pushing an enormous amount of time into troubleshooting and debugging
        this, as well as to Liviu Chircu for guiding the troubleshooting!

        (cherry picked from commit d6ef279f63aa0682bf0fb7ef1d30a6abdfb8b942)


2023-09-03  OpenSIPS  <github@opensips.org>
        * [98a8b0344] :

        Rebuild documentation


=========================== Release 3.3.7 ==============================

2023-08-31  Liviu Chircu  <liviu@opensips.org>
        * [a96a29a5b] :

        siprec: Fix invalid READ operation on freed memory

        Also tidy up the cleanup phase

        Thanks to Rob Moore, Daniel Bryars and Steven Ayre from Dubber for
        reporting it and providing valuable information for troubleshooting!

        (cherry picked from commit 9996f9fd13adfae5e4cbbad9de5265e43b5a75b3)


2023-08-28  Razvan Crainea  <razvan@opensips.org>
        * [e910e7f73] :

        b2b_sdp_demux: fix client key concurrency case

        Thanks to Suchi Sahoo from Five9 for reporting!

        (cherry picked from commit 6678bae9301d007257049ce8827ba97410473a27)


2023-08-20  OpenSIPS  <github@opensips.org>
        * [2ecc532f5] :

        Rebuild documentation


2023-08-17  Razvan Crainea  <razvan@opensips.org>
        * [6f30e44bd] :

        rtp_relay: fix missing ref for legs in session

        This missing ref would (almost all the time) lead to possible invalid
        memory accesses and possilbe double free.

        Thanks to Rob Moore and Steven Ayre from Dubber for reporting it and
        providing valuable information for troubleshooting

        (cherry picked from commit 3aeeee43111ef78d6224e81e70f820961965bef3)


2023-08-16  Razvan Crainea  <razvan@opensips.org>
        * [d0934c87d] :

        db_sqlite: fix possible crash when the values is relocated

        When the query does not manage to count the rows in a first shot, the
        values buffer might be reallocated, which can result in a relocation of
        the buffer - if that's the case, we should repoint all the old values to
        the new location, otherwise they will point to an invalid value.

        Many thanks to Rob Moore and Steven Ayre from Dubber for reporting and
        helping us testing and troubleshooting this corner case.

        (cherry picked from commit 45aa9a947c6306f5723132f9c38903988be6cf8b)


2023-08-16  Razvan Crainea  <razvan@opensips.org>
        * [3a05d90ea] :

        db_perlvdb: fix valdata inline

        Thanks go to @varghesepaul for reporting it
        Close #3152

        (cherry picked from commit 8b2ac92794d1fe2d2e5a2cc6f1b08396a0322407)


2023-08-16  Razvan Crainea  <razvan@opensips.org>
        * [e4cd6ba27] :

        rtpproxy/rtpengine: document socket type if protocol is missing

        Close #3154

        (cherry picked from commit 90018c21a1a4a80afb46f83c4f31ba236b85527a)


2023-08-13  OpenSIPS  <github@opensips.org>
        * [9240b7aea] :

        Rebuild documentation


2023-08-09  Razvan Crainea  <razvan@opensips.org>
        * [0e04fc214] :

        ipc: initialize job structure before dispatching it

        (cherry picked from commit 243e0e3abe5bbea5ee1384a0964e7c2af7cbe587)


2023-08-09  Razvan Crainea  <razvan@opensips.org>
        * [22a94016d] :

        prometheus: properly initiate local stats val

        (cherry picked from commit bc1a9ceab57e9f6a40b35cb2f0fca7e8711e5782)


2023-08-07  Razvan Crainea  <razvan@opensips.org>
        * [ada294c02] :

        action/params: do not run route if params were not properly built

        Thanks go to Nick Altmann for reporting it
        Close #3141

        (cherry picked from commit 3cdc8f1ebdbe49f920298ba60d409b6011ea84c6)


2023-08-06  OpenSIPS  <github@opensips.org>
        * [104943746] :

        Rebuild documentation


2023-08-05  Razvan Crainea  <razvan@opensips.org>
        * [08ba0cf24] :

        dialog: fix warning without proper variables provided

        (cherry picked from commit 11f613622b74b148f59b2073ff06e234372007b5)


2023-08-05  Razvan Crainea  <razvan@opensips.org>
        * [bc0ce3a8c] :

        dialog: complete cseq maps implementation

        Do not limit the number of maps, update existing in case the same cseq
        is incremented multiple times (due to authentication), optimize the
        number of maps and remove them when the transction is deleted.

        Complete and close #1071

        (cherry picked from commit a76af3f49ccc8bf62fbdbf29d240e652e86050c8)


2023-08-05  Ovidiu Sas  <osas@voipembedded.com>
        * [2d9a4dab9] :

        dialog/uac: fix in-dialog authentication
         - closes #3041

        (cherry picked from commit 155995b2bae4e4947c07c4df1cb0901da4a72a82)


2023-08-05  Razvan Crainea  <razvan@opensips.org>
        * [a01896e16] :

        dialog: keep a mapping between INVITE&ACK

        This prevents concurrency bugs that would generate an ACK with a higher
        CSeq than the INVITE. Addresses #1071

        (cherry picked from commit 80ff319d5f9f688369df689418a1d06a4945fbb4)


2023-08-04  Razvan Crainea  <razvan@opensips.org>
        * [d29fea7f0] :

        rtp_relay: suppress warning if session is established

        (cherry picked from commit b417951b615a10acfed5ea69c131ab4949026365)


2023-07-31  Razvan Crainea  <razvan@opensips.org>
        * [0c02a610f] :

        proto_*: move TCP request in shm, not pkg

        This is because TCP connection might get re-balanced on different nodes

        Thanks go to ConnexCS for reporting this!

        (cherry picked from commit c49ba7007aad78aa56d3d2f1959dd939e87be63a)


2023-07-31  Razvan Crainea  <razvan@opensips.org>
        * [f0ba0416f] :

        context: return 0 if pushing context fails 1 otherwise

        (cherry picked from commit 7c93e59cb07e0e9357d768f64f92aeca1280d002)


2023-07-31  Vlad Paiu  <vladpaiu@opensips.org>
        * [f6377ca7a] :

        Added str flag to out pvar


2023-07-30  OpenSIPS  <github@opensips.org>
        * [156e3b891] :

        Rebuild documentation


2023-07-26  Razvan Crainea  <razvan@opensips.org>
        * [135648bec] :

        b2b_entities: make sure we don't "leak" transaction when canceling it

        (cherry picked from commit 0a0a0d65a8732231c41f0519dbd737072433e42b)


2023-07-26  Razvan Crainea  <razvan@opensips.org>
        * [3fed6d436] :

        tm: add set_t in API

        (cherry picked from commit 5339179b011f20b002429649fc30fe95ff26e7d7)


2023-07-26  Razvan Crainea  <razvan@opensips.org>
        * [185e035a2] :

        rtp_relay: do not unsubscribe from terminated sessions

        (cherry picked from commit 7c618fb23e90822794f13d20d92f0d60fd04ba73)


2023-07-26  Razvan Crainea  <razvan@opensips.org>
        * [430e7310a] :

        rtpengine: use rtp_relay api only if loaded

        Thanks go to ConnexCS for reporting this

        (cherry picked from commit 73351da0212cf4d6a988b06ecec3c341bb32530c)


2023-07-25  Razvan Crainea  <razvan@opensips.org>
        * [aa3cea585] :

        rtp_relay: mark session as successful if we have callee's SDP

        (cherry picked from commit 9d77b6def960c1dffab7013eb2bab4a2837e3eaf)


2023-07-24  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [e6c733595] :

        [tm] avoid incoming request matching against UAC transactions


2023-07-24  Razvan Crainea  <razvan@opensips.org>
        * [68a9c1609] :

        siprec: do not require SDP for a 200 OK

        This should be OK if the SDP was completed on the 183.

        (cherry picked from commit 2a0990d0886108bb09987bd69be2efd15fe4ac05)


2023-07-23  OpenSIPS  <github@opensips.org>
        * [ce6b08647] :

        Rebuild documentation


2023-07-17  Vlad Paiu  <vladpaiu@opensips.org>
        * [c222a5744] :

        set async ctx to 0

        prevent crash in timeout_f not being set but reactor still somehow timing out fds

        (cherry picked from commit cfcd9a65eb6eb41f6c8c5b69a55d0f930c383efc)


2023-07-16  OpenSIPS  <github@opensips.org>
        * [f348e6261] :

        Rebuild documentation


2023-07-14  Vlad Patrascu  <vladp@opensips.org>
        * [8bad39d0f] :

        Remove obsolete tests from test/ dir

        (cherry picked from commit 004f465655cd1041596e09a04d80a6511c10b7e7)


2023-07-13  Razvan Crainea  <razvan@opensips.org>
        * [fc9fbdc7c] :

        dialog: drop active_only from lookup

        Fix compile error introduced in b98062d.
        Many thanks to Vasilios Tzanoudakis for reporting this!


2023-07-13  Vlad Patrascu  <vladp@opensips.org>
        * [6692d6019] :

        clusterer: fix restoring "cap:" status/report IDs after reload

        Thanks to Suchi Sahoo from Five9 for reporting!

        (cherry picked from commit 0b2cc8b62f80678c7f1b5d36dba75cc975cb5d6c)


2023-07-12  Vlad Patrascu  <vladp@opensips.org>
        * [58673b8cd] :

        b2b_logic: fix deadlocks due to calling API functions from callbacks

        Related to #3117

        (cherry picked from commit 69a573922296f5eff0a2688a409c87c44aa8f06e)


2023-07-12  Razvan Crainea  <razvan@opensips.org>
        * [b98062d65] :

        rtpengine: search through rtp_relay calldis when terminating

        Reported as part of the #3121 ticket

        (cherry picked from commit 58863fc9296490bd7d708a698c39bf8d56757d5e)


2023-07-12  Razvan Crainea  <razvan@opensips.org>
        * [781d21038] :

        rtp_relay: provide more precise dialog matching based on ids

        (cherry picked from commit 2ff9c59035ee4fd23826242a06f34edad3d8735c)


2023-07-12  Razvan Crainea  <razvan@opensips.org>
        * [1421de6e8] :

        dialog: indicate if dialog was not found when terminating

        (cherry picked from commit 8d6cfba715f5477e1c6f43ed6630d908af9d82ba)


2023-07-12  Razvan Crainea  <razvan@opensips.org>
        * [b8c6d209f] :

        dialog: provide means to fetch dialog by h_entry and h_id

        (cherry picked from commit f73a2b4ab1c0e8c9a7ad53cfa885c6ade8c6fed3)


2023-07-11  Vlad Paiu  <vladpaiu@opensips.org>
        * [b7da90b91] :

        Generate correct OPTIONS pings for NATed devices

        (cherry picked from commit c4c376484cdbefa9eb8da84dfb0a011a07ddb27d)


2023-07-09  OpenSIPS  <github@opensips.org>
        * [560a84a6b] :

        Rebuild documentation


2023-07-06  Razvan Crainea  <razvan@opensips.org>
        * [7337f6403] :

        tm: proper cleanup for anycast CANCEL transactions

        Thanks go to Rizwan Syed and Jonathan Hulme from ConnexCS for reporting,
        providing testing environment and support the troubleshooting and fix!

        Close #3111

        (cherry picked from commit 24ec4ebd901c18feba418b7c995faa9778357fc7)


2023-07-05  Razvan Crainea  <razvan@opensips.org>
        * [de5b68cc2] :

        rtp_relay: engage indialog callbacks when session is established

        This allows the module to run callbacks on UPDATEs even if the dialog
        was not estabhished yet

        (cherry picked from commit ae09c986c0b5e74be2668531e584bae66565a229)


2023-07-04  Vlad Patrascu  <vladp@opensips.org>
        * [3211667d2] :

        clusterer: fix deadlock when receiving clusterer_reload via cluster

        Running cluster_send_mi or cluster_broadcast_mi with clusterer_reload
        as the command to dispatch would cause a deadlock on the receiving nodes.

        (cherry picked from commit aa8e5ff0a020c1569880fe51a4af54cb9866cded)


2023-07-04  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [04168bb85] :

        Small code beautification

        Related to 1d83a0c

        (cherry picked from commit e455d009436b8ac5f3c879c410d0901a77769820)


2023-07-04  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [63b35fb1d] :

        Merge branch 'warning_delay_timer'

        (cherry picked from commit daaef52c1375d05e66318d2ae375a304d15f15f4)


2023-07-04  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [9866d77f3] :

        [tracer] properly do per-request traceing in local route

        As in local route we have only outbound (callee) leg, we cannot the typical incoming request tracing here. We need to "fake" it a bit to look as an outbound tracing.
        Funny enough, this problem poped only when doing per-request/message tracing in local route; otherwise the per-transaction tracing was doing the correct job.

        Credits for reporting go to @ovidiusas
        Closes #3066

        (cherry picked from commit 9eb13bf2ca6d8dae84fc84c4c2c113217d36aea5)


2023-07-04  Vlad Patrascu  <vladp@opensips.org>
        * [c7852bda2] :

        b2b_logic: fix compile error

        (cherry picked from commit 61401ea40f0394cbd589e3c3b301fa00e2aa05f6)


2023-07-04  Vlad Patrascu  <vladp@opensips.org>
        * [ea2f61793] :

        b2b_logic: properly reset the current tuple in all cases

        The global variable used to identify the current tuple in the local_route was
        not properly reset in all cases (when retrying a birdge action for example).
        This could lead to a failure to identify the current tuple when acessing
        the $b2b_logic variables, the b2b logic context etc., even when we're
        not in the context of a local_route.

        (cherry picked from commit 92772e69f36dcc70b2418374d83bf3274b13f104)


2023-07-04  Vlad Patrascu  <vladp@opensips.org>
        * [b6408c9d1] :

        b2b_logic: fix some locking issues

        Properly access the b2b logic context of the current tuple under lock.
        Also, protect the access to the tuple when using the b2bl_get_entity_info()
        API function.

        Related to #3117

        (cherry picked from commit ebf40c91f9d62f367cddd722f05a1b53b6d30b6a)


2023-07-04  Vlad Patrascu  <vladp@opensips.org>
        * [af86cf6d9] :

        b2b_logic: don't crash when searching inexistent tuple by key

        Searching the current tuple by key for accessing the logic context
        should not cause a crash. As the hash is not locked or the structure
        ref counted, there is a distinct possibility that the tuple cannot
        be found anymore.

        Related to #3117

        (cherry picked from commit d05d408b0bf2346769d580d04b413f7d4a277e13)


2023-07-04  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [0f5a3897d] :

        [ratelimit] Fix accuracy on the ratelimit timer

        The computation perform by the ratelimit module is very time sensitive - any deviation of the interval between the runs of the timer handler may lead to false positive detection of CPS thresholds.
        So, let's move the timer handler from regular timer (1s sensitivity) to utimer (100ms sensitivity) -> 10 times more accurate.
        Still, the number of triggerings is the same, only the precision is 10 times better.
        Credits go to @ovidiusas
        Closes #2797

        (cherry picked from commit 03788691a145bd1597ab6c5ec43544718143aad3)


2023-07-04  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [5581ca5cc] :

        Fix advertising IPv6 IP addresses

        Enclose the IPv6 advertised address when using it as string
        Fixes #2774

        (cherry picked from commit 4c16207a5be0bdb12a303e4c932b8bc3345a24f2)


2023-07-03  Vlad Patrascu  <vladp@opensips.org>
        * [cb8d63193] :

        clusterer: fix crash after MI reload

        The crash was caused by accessing a dangling pointer to the capability
        structure after it was freed.

        Thanks to Suchi Sahoo from Five9 for reporting!


2023-07-02  OpenSIPS  <github@opensips.org>
        * [86772124d] :

        Rebuild documentation


2023-07-01  Vlad Paiu  <vladpaiu@opensips.org>
        * [94e64e381] :

        Properly populate out decoded JWT

        Closes #3098

        (cherry picked from commit d2601f358dc770f76e9345627ca0629797c729fe)


2023-06-30  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [26ffa9d7d] :

        Remove packages that are auto-installed by GitHub and create
        a version conflict later when we install our version. This is
        the reason the build were failing in the past few days.


2023-06-30  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [069729f81] :

        Move list of required packages into plain text file and GC
        .travis.yml which "serves no purpose anymore".


2023-06-30  Razvan Crainea  <razvan@opensips.org>
        * [e430cf2eb] :

        Revert "Reset sources.lst to default ubuntu's."

        This reverts commit 4e9595c16e841049edf726b214092677fc31d81d.


2023-06-30  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [4e9595c16] :

        Reset sources.lst to default ubuntu's.

        (cherry picked from commit f4e90f3d6ac9478bb1d22e0d456a54dd91bb8192)


2023-06-30  Razvan Crainea  <razvan@opensips.org>
        * [bab8d8c16] :

        siprec: fix pvar definition

        (cherry picked from commit e5185e114d6080d45cf9be1a2d4dc2f8083b7f12)


2023-06-30  Vlad Patrascu  <vladp@opensips.org>
        * [22bd8184e] :

        b2b_entities: fix crashes due to races when deleting entity

        An entity might have been deleted and freed while the lock has been released
        when running the entity storage callbacks.

        Related to #3110


2023-06-30  Razvan Crainea  <razvan@opensips.org>
        * [b78780274] :

        tracer: fix refs for multiple transactions in b2b scenarios

        Many thanks to @vtzan for reporting and intensive testing

        (cherry picked from commit 02869583bda92801b44069ac90e8037d532758dd)


2023-06-30  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [55106202b] :

        Fix resuming partial msg reading on TCP

        When conn rebalancing or parallel processing is enabled for TCP, a read operation may start (partial reading) in one process and be completed in a different one. So the con_req (buffer for partial reading) must be in shm mem and also it must survive a conn release (passing the conn back to MAIN).
        Many thanks to @liviuchircu for reporting and helping with the troubleshooting
        This issue was found during the TCP performance tests done for the 3.4 release

        (cherry picked from commit e0fe732e9c9d28c24ed6860fbd3531940978b8f9)


2023-06-30  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [4b902bcdb] :

        [uac_registrant] avoid code duplicate

        Use common/shared functions for pushing / poping new processing context
        A follow up on 3705209d524b7f61b193df8b56310fe9600e14b1

        (cherry picked from commit 44c25dba422671497fda672762acdf4dd27b5a6e)


2023-06-30  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [2a3eb1e2a] :

        [b2b_logic] fix crash on tracing expired b2b tuples

        When a tuple expires via timer, be sure to provide a processing context, otherwise the tracer (if enabled) will simply crash.
        As part of the fix, two new helper functions were added for pushing and poping new processing contexts - these are to be reused by some prev similar fix on uac_registrant.
        Related to #3110
        Many thanks to @vtzan for helping with the troubleshooting and testing


2023-06-27  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [9ea7d5488] :

        Fix computing the size to clone for a body part

        Take the optional header len into account also when cloning a body part struct.
        This particular bug occured when using add_body_part() with extra hdr parameter in conjunction with an async() operation (or failure route)
        Credits for reporting and helping with repoducing this go to @thuroc
        Fixes #3067

        (cherry picked from commit a042588e322c5acf997313773cbc5ff6e007c956)


2023-06-27  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [dfb9b4f8a] :

        [dialog] fix dropping empty string dlg vals

        Upon DB recovery (after an OpenSIPS restart) do not drop emtpy string dlg vals - as we do allow creation of such vals via cfg and api and have them saved to DB, it makes all the sense to also restore them
        This triggers some startup warnings when using in-dialog re-INVITE probing.
        Closes #3108

        (cherry picked from commit e24668131bcd828214c4fb9bccb208e9483a2a4e)


2023-06-25  OpenSIPS  <github@opensips.org>
        * [76429f922] :

        Rebuild documentation


2023-06-23  Vlad Patrascu  <vladp@opensips.org>
        * [032fa9a23] :

        Also register a custom event from subscribe_event() fixup

        This will permit raising an event from MI with an event subscribtion
        done in startup_route without the need to define an event_route for
        this event or using a raise() in the script.

        (cherry picked from commit f69b150c8090adb86f2fcaadd56873f61cdb7097)


2023-06-22  Vlad Patrascu  <vladp@opensips.org>
        * [dfbd53f3e] :

        lua: fix duplicate logs to syslog

        (cherry picked from commit 949422a938ed12c5b5a820dc4af6de1c437b3798)


2023-06-22  Vlad Patrascu  <vladp@opensips.org>
        * [29e0d997a] :

        lua: don't register functions under a name

        This fixes issues with running the "opensips" table functions on Lua
        library version 5.1.

        This essentially reverts commit ab964d9.

        (cherry picked from commit 5e4d10cff40fed34cc419d81d5791b207cfb6a96)


2023-06-22  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [095067087] :

        Fix reload of timer routes

        Use a separate, dynamic list of timer tasks that can be update by other proc than the timer itself (which has no info on the script).
        The proc doing the reload, upon success, re-generates the list of timer tasks corresponding to the new set of timer routes.
        NOTE: a more complex logic is needed when purging the old set of timer tasks, as they may still be under execution - we use here a pending list where we wait their completion.

        (cherry picked from commit fce0eaeb241866d0c42db41160ed454be59fd7ed)


=========================== Release 3.3.6 ==============================

2023-06-21  Liviu Chircu  <liviu@opensips.org>
        * [0c138139e] :

        F_MALLOC: Optimize the free() operation

        Commit bdaaf60b2c introduced a side-effect of gradually moving the
        fragment "action" towards the exponential, non-optimized hash table
        buckets (i.e. buckets 2049 ... 2100).  Here, the fragments were inserted
        in a sorted fashion, with the sorted-insert algorithm costing a O(N)
        iteration on each free operation instead of a simple O(1).

        Consequently, the user experience of this effect is that "dr_reload"
        operations were stalling for 12 minutes (coming up from 24 seconds!),
        when working with large rule sets (millions of rules).  Interestingly
        enough, the stalling was not due to the caching phase -- malloc() --
        rather due to the cleanup phase, when clearing the old rules -- free()!

        To address this issue:

        * we drop the sorted insertion completely for buckets 2049 ... 2100, and
            simply do a list prepend operation: O(1), as with the others
        * we make all allocation requests from these buckets return the next
           bucket (!!), thus guarantee'ing our requested fragment.  Examples:

              malloc(18K) -> now you always get a 32K+ frag, but instantly!
              malloc(37K) -> now you always get a 64K+ frag, but instantly!
        * this does not make F_MALLOC more wasteful, since the extra frag
          space gets split anyway into a new fragment, with the two eventually
          coalescing together again thanks to commit bdaaf60b2c

        (cherry picked from commit e6b4de51298eb78aef097cbfd1c34ada17b9b78f)


2023-06-21  Vlad Patrascu  <vladp@opensips.org>
        * [f8cc45902] :

        lua: fix opensips lua API docs

        (cherry picked from commit a53ba3d0d696ef56684a03b7bbf4a4e8474c3e33)


2023-06-20  Vlad Patrascu  <vladp@opensips.org>
        * [430deb1bf] :

        cachedb_mongodb: fix regression in commit 69ed4f7

        Loading the cachedb_mongodb module alongside the tls_openssl module, but
        before tls_mgm would cause a crash. This is a result of the OpenSIPS versus
        mongoc library openssl initialization issues (initially fixed in commit
        298bf6b). Commit 69ed4f7 split all the openssl related code from the tls_mgm
        module into a new tls_openssl module but some openssl initialization bypasses
        from the cachedb_mongodb module were left to depend on loading the tls_mgm
        module (instead of the new tls_openssl module).

        Fixes #3072

        (cherry picked from commit ce177c133724ca913d9e4b0ab12fe30eb44e4561)


2023-06-20  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [c56d66fc9] :

        [tracer] fix bogus multiple tracing

        When calling the trace() function multiple times from script (to do tracing via different backends), be sure and install all the tracing callbacks (in TM, dialog) only first time.
        Reported by @gmaruzz
        Closes #3082

        (cherry picked from commit 18ccdbe0efbf327c88026dd9006513a06dd4a348)


2023-06-19  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [9cf3dd031] :

        [uac_registrant] fix passing wrong context to authenticated REGISTER

        When sending the authenticating REGISTER, be sure a new context is provided. This will avoid the usage of the context belonging to the first (challenged) REGISTER. This mixup of the context was breaking the tracing of these REGISTER requests via local route.

        (cherry picked from commit c64766a8526c3953bd5adf45030a29a9aacb4550)


2023-06-18  OpenSIPS  <github@opensips.org>
        * [8179d3114] :

        Rebuild documentation


2023-06-16  Vlad Patrascu  <vladp@opensips.org>
        * [c8182aa92] :

        b2b_logic: prevent initializing B2B session on non-INVITEs

        This prevents crashes when the b2b_init_request() function is used on
        methods other than INVITE or from other routes than request routes where
        the INVITE SIP message is visible.

        Related to #3102

        (cherry picked from commit 8c0a9e0ae48841e27d4b1e803b584f5de0c3419b)


2023-06-16  Vlad Pătrașcu  <vladp@opensips.org>
        * [37f2498c4] :

        Merge pull request #3103 from Giedriusj1/master

        Improve passthru_prack behaviour so it actually passes through PRACKs

        (cherry picked from commit 1e8efb7d8e7951c6441ccadd0e50109222ef98f2)


2023-06-14  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [897222638] :

        [dialog] fix too strict restrictions for get_profile_size()

        The function does not require any existing dialog context, so it can be used from any route

        (cherry picked from commit a5f85013ea9156410a48614079105a7c5b41fe8e)


2023-06-11  OpenSIPS  <github@opensips.org>
        * [8fca49178] :

        Rebuild documentation


2023-06-09  Vlad Patrascu  <vladp@opensips.org>
        * [5828bd30f] :

        b2b_logic: fix issues when new entities are unused

        New entities created with b2b_server_new() or b2b_client_new() functions would
        leak if they were not eventually used by a b2b_init_request() call. This would
        lead to pkg memory leaks and bogus errors from successive calls to
        b2b_init_request().

        (cherry picked from commit c84fe372c50becc177f57732ff087da53b71be0f)


2023-06-09  Răzvan Crainea  <razvan@opensips.org>
        * [55ec815c5] :

        Merge pull request #3104 from purecloudlabs/hotfix/sipmsgops-allowed-routes

        sipmsgops: fix allowed routes for exported functions
        (cherry picked from commit 14e1eab55b67992e4493602248628777d7d6d9a9)


2023-06-07  Razvan Crainea  <razvan@opensips.org>
        * [5d12376d9] :

        sdp: fix crash in SDP parsing

        Introduced in commit 7743524

        (cherry picked from commit dbceae2d20e03749ab68ff57837b187ed5225bfb)


2023-06-07  Vlad Paiu  <vladpaiu@opensips.org>
        * [519384f25] :

        Added parsing of custom a= attributes related to a payload
        Fixed codec_delete() to also delete the custom attributes related to the codec to be deleted

        ie.
        For
              m=video 38453 UDP/TLS/RTP/SAVPF 96 97 98 99
              a=rtpmap:96 VP8/90000
              a=fmtp:96 annexb=yes
              a=rtcp-fb:96 goog-remb
              a=rtcp-fb:96 transport-cc
              a=rtcp-fb:96 ccm fir
              a=rtcp-fb:96 nack
              a=rtcp-fb:96 nack pli

        OpenSIPS will save all the rtcp-fb: lines as custom attributes for the VP8 codec
        and when doing codec_delete("VP8") it will delete all the corresponding attributes

        (cherry picked from commit 77435247076a001a32b351d6c253462aad9e1259)


2023-06-04  OpenSIPS  <github@opensips.org>
        * [7fd27cb9b] :

        Rebuild documentation


2023-06-02  Razvan Crainea  <razvan@opensips.org>
        * [57f12f23c] :

        topology_hiding: properly quote contact hdr params

        Thanks go to @manojmth for reporting this on GitHub

        Close #3090

        (cherry picked from commit e767b87123191b9f44db004e3a33b25982724672)


2023-05-29  Razvan Crainea  <razvan@opensips.org>
        * [475050cd6] :

        rtp_relay: avoid crash when dialog/b2b not loaded

        (cherry picked from commit e00300c46178eb0e22d3bc062b6fc0abf63ca9fb)


2023-05-29  Razvan Crainea  <razvan@opensips.org>
        * [9b39f490e] :

        rtpengine: add docs for via-branch-param

        (cherry picked from commit 96eac0be302228cc59a0dce8d463e2b3972417c0)


2023-05-21  OpenSIPS  <github@opensips.org>
        * [2367f13d5] :

        Rebuild documentation


2023-05-17  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [b0465ca6d] :

        Merge remote-tracking branch 'origin/regex_max_groups_segfault'

        (cherry picked from commit e09eb58ac63c63da7e00c918de0e132649f01b6a)


2023-05-07  OpenSIPS  <github@opensips.org>
        * [549c4b9db] :

        Rebuild documentation


2023-05-05  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [d6e7dd179] :

        [call_center] fix skill overflow on refreshing agents via MI

        Completes 6617ecc805520961642c16ac1e6c5a49787af2ab

        (cherry picked from commit d4db20087ce162e9ea5cb6c4662c2f4c1ac4d31f)


2023-05-04  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [9419b3c5a] :

        [call_center] fix overflowing the per-agent array of skills

        As the array of skills is pre-allocated inside the agent struct, be sure you do not overflow it when populating the agent's skills (from DB).
        Also, the logstate/logged_in value for an agent is read from DB or MI and it must be forced to 0/1 values, as it is later used as index. Yet another overflow fixed here.

        (cherry picked from commit 6617ecc805520961642c16ac1e6c5a49787af2ab)


2023-05-03  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [308d17e52] :

        [acc] removed old workaround multiple int2str() in acc_extra

        Since 2.3 we actually do not need this, as each acc_extra is individually set into its own buffer.
        Related to 6c0b37f907d30749266e2deca3c9ccc475dd32e4

        (cherry picked from commit 54b03a17276439a24a81d7f55e6d43c92f22637e)


2023-05-03  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [2b832b3b0] :

        [acc] workaround for compiling issue

        Related to 0ff82562bd74a177184b1e179c3a607446c47b78
        We need to review this logic (of static_detector) as it looks to be broken as it is now.

        (cherry picked from commit 6c0b37f907d30749266e2deca3c9ccc475dd32e4)


2023-05-03  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [7bb8fc976] :

        Fix logging multiple IPs in the same time

        Use a multiple static rotating buffers for convering the IPs to str, so that we can print multiple IPs in the same time.
        Closes #3062
        Reported by @jes

        (cherry picked from commit 0ff82562bd74a177184b1e179c3a607446c47b78)


2023-04-26  Vlad Pătrașcu  <vladp@opensips.org>
        * [b21f9208b] :

        Merge pull request #3065 from Ellipsis753/patch-1

        Fix buffer overflow in b2b_logic

        (cherry picked from commit cdb5d49865d6e1c70f330b6519ff8c500bfcef8e)


2023-04-26  Vlad Pătrașcu  <vladp@opensips.org>
        * [474580306] :

        Merge pull request #3063 from jes/master

        Fix 'NO_SSL_GLOBAL_LOCK' typos

        (cherry picked from commit 895a5344030d57aed55405aa294c567bba6c899a)


2023-04-26  Liviu Chircu  <liviu@opensips.org>
        * [a9c29c50f] :

        aaa_diameter: Fix uninitialized variable

        Makes GCC happy!

        (cherry picked from commit 1a753be3ca01e9fc54a6158a7c484c13196ec327)


2023-04-26  Razvan Crainea  <razvan@opensips.org>
        * [f25dc53db] :

        uac: specify in-dialog auth without dialog limitations in docs


2023-04-20  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [6b67d9e2c] :

        [uac] update and improve docs for uac_auth()

        (cherry picked from commit 422f815f5e8432f4855398e1cd65bce6c2dcc093)


=========================== Release 3.3.5 ==============================

2023-04-19  Liviu Chircu  <liviu@opensips.org>
        * [14bb9dcb1] :

        F_MALLOC: Add LHS coalescing on free() operations

        This is a continuation/rework of commit fb9a3777, which intended to
        address the de-fragmentation issues where performance would drop.
        Unfortunately, there were still memory allocation / releasing patterns
        which still lead to heavy fragmentation.  For example, an MI "dlg_list"
        command, which allocates fragments from Left -> Right as the dialog list
        is walked:

            Chunk-1  Chunk-2  Chunk-3 ... Chunk-N

        After building the MI output, the chunks were also freed Left -> Right.
        Due to the former allocator logic of RHS-only coalescing, the coalescing
        would never happen!  In some cases, this could lead to fragmentation of
        an indefinite amount of memory, given enough time (e.g., even 8 GB PKG).

        This patch adds LHS coalescing to F_MALLOC, such that when "Chunk-2" is
        freed, in the above example, the allocator tries to merge it with both
        "Chunk-1" and "Chunk-3" before exiting the free() function (depending on
        the state of chunks 1 and 3, this could mean 0, 1 or 2 coalescings).

        This F_MALLOC patch was stress-tested using the mem/test/ testing suite.

        Many thanks to @fedkis and @ankogan for helping troubleshoot the issue
        and also test the current version of this patch!
        Fixes #2726

        (cherry picked from commit bdaaf60b2c42681da70f095468c2df1b8dfa8c3e)


2023-04-19  Razvan Crainea  <razvan@opensips.org>
        * [28c030a5b] :

        rtp_relay: handle FAKE_MSG replies

        Thanks go to @devoxy1 for reporing it in #3058

        (cherry picked from commit 6afd0e6103d3aefdf164ae01ef154a12cc859e0a)


2023-04-19  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [cf242aaf8] :

        [acc] fix leaking of AAA request for CDRs

        Closes #3019
        Credits go to @medeanwz

        (cherry picked from commit 8be536447664c34548df7b5ab154d45c19a1c126)


2023-04-18  Razvan Crainea  <razvan@opensips.org>
        * [cda9bf331] :

        tm: proper matching of transaction for auto-CANCEL handling

        (cherry picked from commit c8458a3c166679ef56c6af2017256216d3d4ad8b)


2023-04-18  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [2045436d8] :

        [callops] Fix bad MI array termination

        Closes #3057

        (cherry picked from commit 2d6dbf7ecbb9f1ad14ff68b15aa650a497b04c9b)


2023-04-18  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [69e6a08d9] :

        Merge pull request #3060 from purecloudlabs/hotfix/fix-qop-value-for-md5-hashing

        uac_auth: fix qop-value for MD5 hashing

        (cherry picked from commit 24ba63a411d46aaf060feda33593785ff9233f2e)


2023-04-12  Razvan Crainea  <razvan@opensips.org>
        * [30d28035d] :

        registrar: fix docs remove_ip_port example

        (cherry picked from commit 3f60fda320f0587812e4699b50c6f5300afb793c)


2023-04-10  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [447a92501] :

        Fix strange `"error":null` JSON node

        An `error` node with NULL value does not make much of a sense, but let's try to handle it.
        Closes #3047

        (cherry picked from commit 1a8f8e47bf3badc68927fbb573b1e78c596d2055)


2023-04-10  Liviu Chircu  <liviu@opensips.org>
        * [95f75ac61] :

        auth: Avoid abort() if len(secret) is not 32 bytes

        Before OpenSIPS 3.2, the "secret" modparam supported random-length
        strings, to be hashed into an MD5 computation when generating the nonce.

        Starting with 3.2 and the new AES-CBC based nonce generation algorithm,
        the "secret" has been restricted to 32-bytes only, however OpenSIPS
        would assert() -> abort() on startup without displaying any helper error
        if the user supplied a different-length secret.

        Many thanks to @thuroc for an accurate report on the assert() issue!

        Fixes #3043

        (cherry picked from commit 00a19ede805577c29ae8b65af8a0cb81fc583209)


2023-04-10  Liviu Chircu  <liviu@opensips.org>
        * [ca7288563] :

        event_route: Fix off-by-one error in some $param warning log

        (cherry picked from commit d4b03b7d0b828c0f7ecd6061cda882a560d6a216)


2023-04-10  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [e32f27b74] :

        Fix doc typo

        Closes #3048

        (cherry picked from commit d8b28e4cd00b4678feed491929bd1df42a70e096)


2023-03-31  Razvan Crainea  <razvan@opensips.org>
        * [7873d54db] :

        rtpengine: fix play_dtmf callid and tags specifications

        (cherry picked from commit c1dfd50073e98975f1386f46741b7502d7f6d81b)


2023-03-31  Razvan Crainea  <razvan@opensips.org>
        * [789893166] :

        b2b_entities: fix cherry-pick merge in previous commit


2023-03-31  Razvan Crainea  <razvan@opensips.org>
        * [329776616] :

        b2b_entities: match e2e ACK according to dlg, not transaction

        This change presumes that uas_tran is no longer reset on 200 OK, but kept in
        memory until the ACK comes in.

        (cherry picked from commit 11f685ffae7f651004d349ada32579f260fa63ca)


2023-03-31  Razvan Crainea  <razvan@opensips.org>
        * [23a8ba9d6] :

        tm: expose t_release_transaction in API

        (cherry picked from commit 66bc6fd8f3e82f02919e27a8d728c09b0aa3615e)


2023-03-30  Vlad Patrascu  <vladp@opensips.org>
        * [b17e4feb1] :

        b2b_logic: ignore replies to NOTIFYs sent while bridging

        This will get rid of the races between the processing of the replies for the
        NOTIFY and the subsequent BYE sent to the bridge initiator. The entity
        might be already deleted as a result of handling the 200 OK for the BYE
        before we try to do a lookup again for handling the NOTIFY reply. These
        races would not produce any significant negative effects but OpenSIPS
        would log unnecessary 'No b2b_key match found' errors.

        (cherry picked from commit a72cfbeda919eca0020d34e33c844cc3b49a3b71)


2023-03-30  Vlad Patrascu  <vladp@opensips.org>
        * [9f5e4370c] :

        b2b_logic: fix a bridging issue when using the 'peer' identifier

        Don't fail the bridging action when using the 'peer' identifier for the
        b2b_bridge() function and the current entity is already deleted.

        (cherry picked from commit 266e5524ad11732912d6e990d499aedf25ea1eed)


2023-03-30  Vlad Patrascu  <vladp@opensips.org>
        * [665715bdb] :

        b2b_logic: fix crash when sending NOTIFY for local timeout

        This commit fixes a crash when using the 'n' flag of the b2b_bridge()
        function, and a local timeout occurs. The crash was caused by improperly
        setting the first line of the the dummy SIP message built by the b2b_entities
        module.

        (cherry picked from commit 312cdd4da1a1a23429b7e2a47c0889795c50c8a3)


2023-03-29  Razvan Crainea  <razvan@opensips.org>
        * [e1b9e1ebb] :

        params: duplicate INT value as string

        This prevents errors raised when comparing the INT with STR

        (cherry picked from commit 89b7c8d5c84bcf131da3554480ed2573e28c5825)


2023-03-28  Razvan Crainea  <razvan@opensips.org>
        * [712db2851] :

        params: initialize expanded parameters

        Also, do not indicate that an INT also has a STR value if it doesn't,
        because other functions might try to evaluate it; and combined with the
        lack of initialization, it might end up reading whatever leftovers are
        in the `.rs` field, posibly leading to a crash.

        Many thanks to Nick Altmann for reporting this and Liviu Chircu for
        testing and support :)

        (cherry picked from commit 16f5212d865fd75ca6f519381358e031ca9a10e2)


2023-03-23  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [d94c89201] :

        Get rid of the ubuntu-18.04, add clang-14 and clang-15.


2023-03-23  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [fb3b60bb5] :

        GC unused variable.


2023-03-23  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [5e1b428a1] :

        clang-15 fix: make child_init() prototype match actual function.


2023-03-23  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [9eba3acaa] :

        clang15 fix: define function prototype properly.


2023-03-23  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [33bf81278] :

        clang 15 fix: get rid of variable that is set but not used.


2023-03-23  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [a534f2cae] :

        Fix build with clang 15: get rid of the 30-year old PROTO_LIST
        hack to deal with some prehistoric compilers. Switch public
        API to use char *, not unsigned char *, which is kinda pointless.
        Also make arguments const where appropriate.


2023-03-23  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [c7e142f08] :

        Set POLLRDHUP on Linux when polling rtpproxy's socket to drain
        any unclaimed data. This seems to be necessary on TCP sockets
        otherwise poll() appears to hang indefinitely if rtpproxy has been
        terminated despite timeout being set to 0 (i.e. don't block).

        With this flag set the disconnect is properly detected and socket
        is re-connected after configured timeout.


2023-03-23  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [23f557c02] :

        Merge pull request #3038 from okhowang/tracer-leak

        tracer: Don't modify shm msg in trace_onreply_out
        (cherry picked from commit 9c2d99de6c40c53dc1419fe237b23d8b956bd647)


2023-03-23  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [f5554f231] :

        Merge pull request #3012 from purecloudlabs/bug/rport_param_corrupts_via_header

        add_local_rport script function corrupts VIA header params

        (cherry picked from commit 8f41fccfa19a0a8070b48b4cd8caeb0a4a78e3fd)


2023-03-22  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [d63056a82] :

        [dialog] fix bad examples with invalid profile name

        The name of a dialog profile is an alphanumerical string. Make this clear in the doc and also fix the broken examples.

        (cherry picked from commit a6ef1968887696da8932a8350e532af8f7f9be44)


2023-03-20  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [f9a0a3fef] :

        Fix skip_name() to not generate strings with bogus length.
        Discovered by OSS-Fuzz.


2023-03-20  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [389caf386] :

        Fix a pkg memory leak: when parsing of the Contact fails, free
        all associated parameters that have been parsed so far, not just
        the contact structure itself. Reported by OSS-Fuzz.


2023-03-20  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [4f929bd70] :

        Expect that protos[proto].name can be NULL.


2023-03-20  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [b0ef7e0ad] :

        Fix off-by-one error allocating space for protos[]. Reported by
        OSS-Fuzz.


2023-03-20  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [a0d495bd1] :

        If we did not request qop to start with when challenging then
        no additional work needs to be done after receiving authentication
        with no qop.

        Reported by:	efes99999@gmail.com, callum.guy@x-on.co.uk, gshepard@sangoma.com


2023-03-19  OpenSIPS  <github@opensips.org>
        * [5e9fadb07] :

        Rebuild documentation


2023-03-17  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [49dc295a0] :

        [async] fix setting restoring type route after running report route for launch()

        Fixes #3034

        (cherry picked from commit c0af4fe6a4cd3c1119d765320f8a1b2e5d4dc9b5)


2023-03-16  truong.hua  <truong.hua@youthdev.net>
        * [697c325e1] :

        Fix NULL to_uri due to b2b_msg_get_to is called after accessing to_uri in case of adv_ct is not set, so contact uri can not be parsed if advertise_contact is not provided

        (cherry picked from commit 33bf27722c3b1517964f60642b691b45faf497d2)


2023-03-16  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [f9e1aeceb] :

        Merge pull request #3020 from nexbridge/temp

        Fix bug in weight-based sort

        (cherry picked from commit 48c051fc16f4d83bf176d1eefe1df642882b6b88)


2023-03-16  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [74d267288] :

        Revert "Update drouting.c"

        This reverts commit 65f4225bc3a0df736049c86b00a80491e4ef08d5.


2023-03-16  nexbridge  <13848887+nexbridge@users.noreply.github.com>
        * [65f4225bc] :

        Update drouting.c

        In weight_based_sort() function:

        - Changed RAND_MAX to RAND_MAX + 1 to make sure that quotient is always less than 1
        - Changed float to double to avoid rounding errors, particularly when the value of rand() nears RAND_MAX and thus the quotient could round to 1

        (cherry picked from commit 6ef8168a8de88d04512b3aa6bb888ac3794fb142)


2023-03-14  Razvan Crainea  <razvan@opensips.org>
        * [f1e37b448] :

        event_route: fix crash when raising with no params

        When raising an event using `raise_event` with AVP values that are not
        correctly populated, it triggers a corner case in the event_route
        module: the module "serializes" the parameters just after the event,
        hence, if there is no expanded parameter, the first parameter ends up
        pointing to a bogus value, resulting in a crash.

        This commit fixes this corner case by treating  it (0 expanded
        parameters) just as if there no parameters passed at all.

        Many thanks to David Escartin from Sonoc for the help in troubleshooting
        this issue!

        (cherry picked from commit 7f845994b1ba43f8ffc0c0bdc6c9b8065a935955)


2023-03-12  OpenSIPS  <github@opensips.org>
        * [968990bb7] :

        Rebuild documentation


2023-03-10  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [54243fe2a] :

        Fix race in TCP Main <> TCP Worker communication

        As a TCP worker has 2 comm channels (one TCP worker specific and one worker generic) to TCP Main, be sure we have a consistent communication (over the 2 channels) between the TCP worker and TCP main.
        The actual fixed race: the TCP workers creates a new TCP conn (and sends this event as TCP worker to Main) and when trying to write to the conn it fails (and sends back a bad-conn event to Main, but as generic worker) - the 2 events are delivered via different comm channels, so their order may be lost, reasulting to bogus behavior

        (cherry picked from commit bfb62212ea4b4895b3174653b11d33e7ecb92751)


2023-03-08  Vlad Patrascu  <vladp@opensips.org>
        * [f50ab6b57] :

        clusterer docs: fix module parameter name

        (cherry picked from commit 3b577388089f405dc633bfc3184ce0fcab3f21a5)


2023-03-07  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [144bb6751] :

        Fix what seems to be a typo, calling sockaddru_len() on unitialized
        local structure is likely to produce bogus result causing getsockname()
        to fail silently and produce no useable address. This error has
        been masked on Linux, since Linux has no sa_len structure and the
        sockaddru_len() in that case defaults to sizeof(struct sockaddr_in)
        unless local_su happens to have s.sa_family==AF_INET6. This however
        means that IPv6 has been somewhat broken for TCP & TLS.


2023-03-07  Vlad Patrascu  <vladp@opensips.org>
        * [52ce2ff08] :

        tls_wolfssl: fix regression in commit 77f5f5a

        The wolfSSL_CTX_load_verify_locations_ex() function would still return
        an error when no valid CA certificate was found in the directory.
        Since before commit 77f5f5a, opensips startup would not fail when
        wolfSSL_CTX_load_verify_locations_ex() would return an error, the change
        in the above commit would constitute a regression for cases where no valid
        certificate is found in the directory.

        This commit brings the wolfssl behavior further in line with openssl.

        (cherry picked from commit 9999d313733d0731941374526e8a2db030819c38)


2023-03-07  Razvan Crainea  <razvan@opensips.org>
        * [d2b911ff5] :

        avpops: document the returned value in case of NULL

        Due to the fact that an AVP cannot contain `NULL` values, we cannot
        store `NULL` database values in AVPs. Hence, we store the `<null>` value
        This commit simply documents the behavior, as reported in #3027

        (cherry picked from commit fc35f7308efd6d2623e36adf048911be86b7b749)


2023-03-06  Liviu Chircu  <liviu@opensips.org>
        * [ec96e8e1a] :

        rest_client: Improve async() handling in "delayed 200 OK" scenarios

        In case the 200 OK reply or its body take several seconds to arrive, do
        not break the loop prematurely due to a 500ms hardcoded loop timeout and
        re-use the configurable "curl_timeout" modparam as loop timeout instead.

        (cherry picked from commit 532d8e83726f96f8e8d2c493a1e7cb0f54615869)


2023-03-05  OpenSIPS  <github@opensips.org>
        * [74e2e144c] :

        Rebuild documentation


2023-02-28  Razvan Crainea  <razvan@opensips.org>
        * [4569c3c3f] :

        media_exchange: properly handle internally generated timeouts

        (cherry picked from commit de5347c29071bbb91e3c1509333c6e8cc9e981e4)


2023-02-26  OpenSIPS  <github@opensips.org>
        * [e4d3be0ce] :

        Rebuild documentation


=========================== Release 3.3.4 ==============================

2023-02-21  Vlad Patrascu  <vladp@opensips.org>
        * [2da0e7ed3] :

        b2b_entities: remove no-op and improve code clarity

        Related to #3011

        (cherry picked from commit 4b3ff72b7fd76afb884fdd6488802d1ffe2bc4fa)


2023-02-21  Ovidiu Sas  <osas@voipembedded.com>
        * [fed7cd84e] :

        b2b_entities: don't try to get the lock if the l;ock was alredy taken
          - closes #3011
          - this part of the code should be reviewed and cleaned up or clarity

        (cherry picked from commit a7eb936241b6187a94416aae4f05314cecd915cd)


2023-02-20  Liviu Chircu  <liviu@opensips.org>
        * [3bd9e9b60] :

        xlog_level: Do not abort startup on a negative value

        (cherry picked from commit 16472ab84d4f35f408bde121e033e9664d992124)


2023-02-20  Liviu Chircu  <liviu@opensips.org>
        * [af4d6a036] :

        usrloc: Remove bogus "unsused" parameter to MI 'ul_add'; Improve docs

        (cherry picked from commit 227f2c82d9f2d43f632e9a865f54fd8b0605659c)


2023-02-19  OpenSIPS  <github@opensips.org>
        * [15fab1fd4] :

        Rebuild documentation


2023-02-17  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [d517229bc] :

        Revert "ci: add cifuzz integration"

        This reverts commit 60e1d3a76e249a81e4a9810cf5b7550a86cda9e5.

        As discussed with Liviu, the decision to keep CiFuzz in master
        branch was an intentional one, so stil with it.


2023-02-17  Liviu Chircu  <liviu@opensips.org>
        * [bb6af4e48] :

        statistics docs: Fix quoted integers in function call example

        Credits to Fabien Aunay for the report!

        (cherry picked from commit 31f526555ee9ba22ba1ee702a3c5994a133e6d38)


2023-02-16  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [4ea965626] :

        Initialize variable to avoid issue compiling with gcc on
        ubuntu-22.


2023-02-16  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [65fbee568] :

        IPPORT_MAX -> USHRT_MAX.


2023-02-16  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [1fba70721] :

        Don't pass unsigned short * into a function that expects
        unsigned int *. This fixes the following error building with
        gcc on ubuntu-22:

        sipmemcache.c: In function `l_sipmemcache_server_add`:
        ../../ut.h:685:13: error: array subscript `unsigned int[0]` is partly outside array bounds of `in_port_t[1]` {aka `short unsigned int[1]`} [-Werror=array-bounds]
          685 |         *_r = 0;
              |         ~~~~^~~
        sipmemcache.c:72:13: note: while referencing `iport`
           72 |   in_port_t iport = 0;
              |             ^~~~~


2023-02-16  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [b0b0646b6] :

        Remove comparison that is always "true".

        Reported by:    gcc-12


2023-02-16  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [8da3af71a] :

        Fix logical condition that would otherwise always be "false".

        Reported by:	gcc-12


2023-02-16  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [a93e9ce76] :

        Add missing {} as reported by the gcc-11.


2023-02-16  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [d57d3cca4] :

        o Set -Wno-compound-token-split-by-macro needed to get things
          building up with clang > 11.

        o Unify common code in the perl modules to fix db_perlvdb
          as well with clang > 11.


2023-02-16  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [7132b4dfe] :

        Make identation match compiler behaviour. This fixes build with
        gcc-11.


2023-02-16  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [096f05fb3] :

        Make geoip2_get_field() function declaration match prototype.


2023-02-16  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [ff26c7205] :

        Cast void * to int first before we can it to enum. This is
        to fix the build on clang-11.


2023-02-16  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [4f5380a65] :

        GC variables that is set but never used. This breaks builds with
        latest clang.


2023-02-16  David Korczynski  <david@adalogics.com>
        * [2e144079c] :

        ci: add cifuzz integration

        Add cifuzz integration so oss-fuzz fuzzers are run 600 secs each PR

        Signed-off-by: David Korczynski <david@adalogics.com>


2023-02-16  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [49bc08a26] :

        o Add ubuntu-22.04 builds.

        o Add gcc-11, gcc-12, clang-11, clang-12 and clang-13.

        o actions/checkout@v2 -> actions/checkout@v3.


2023-02-16  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [8a5e6ac51] :

        Fix unixodbc & friends to 2.3.7 to fix recent build issues on GH
        Actions.


2023-02-16  Liviu Chircu  <liviu@opensips.org>
        * [3c1037114] :

        route params: Fix regression in 8761ce6d20

        The patch assumed that variables with PV_VAL_INT|PV_TYPE_INT have
        symmetric values (e.g. 5 and "5"), whereas this is not always the case
        (e.g. 1 and "INVITE", returned by $rm) and would proceed to duplicate
        the output buffer as a int2str() buffer, for safety purposes.

        The fix is to avoid the duplication completely (i.e. do not overwrite
        "INVITE" with "1"), thanks to the route params array string buffers
        having a sufficiently large lifetime in order to be safely returned to
        the calling code asking for the route parameter.

        (cherry picked from commit 6b9e140f6576ba66be6f74e686a5fd33c0a16603)


2023-02-12  OpenSIPS  <github@opensips.org>
        * [620b278ad] :

        Rebuild documentation


2023-02-08  Liviu Chircu  <liviu@opensips.org>
        * [bf0b37d3f] :

        parse_content_length(): Fix out-of-bounds read edge-case (OSS-Fuzz)

        This patch fixes several off-by-one read overflows while parsing a bad
        Content-Length header.  Similar to a008e7c23, the error was mostly
        harmless, as the supplied buffer is typically much larger in the runtime
        usage of parse_msg().

        Severity: Low
        Fixes OSS-Fuzz#53397

        (cherry picked from commit e060fe93429b6da665a4d4210a49876b43223a17)


2023-02-08  Liviu Chircu  <liviu@opensips.org>
        * [4c7730657] :

        struct hist: Also record the history for "NULL" objects

        While the history of a "NULL" object isn't much of a rich/useful piece
        of information, allowing it may help prevent errors in some cases, due
        to "sh_push()" returning an unexpected NULL value => crash.

        (cherry picked from commit cad9bd0b6c210f303f42d6687643b3c0e48aa87c)


2023-02-08  Liviu Chircu  <liviu@opensips.org>
        * [8f56c9df1] :

        uac: Fix regression in 3d6a4bb67

        A bug was introduced, where uac_replace_xxx() cannot be called anymore
        per each branch. This commit fixes the bug, by also ignoring multi-calls
        within a single branch_route -- there is simply too much state to keep,
        only for the sake of detecting an issue rooted in the "lumps" mechanism.

        (cherry picked from commit 19bda5af83e7245307caf5fe0097f72ed4c591b2)


2023-02-07  Liviu Chircu  <liviu@opensips.org>
        * [e829caee4] :

        Fix ARM-32 compile warning

        (cherry picked from commit ecd5676867443f63c6d568281807cf71dae40c61)


2023-02-07  Liviu Chircu  <liviu@opensips.org>
        * [cb7699b12] :

        parse_content_length(): Fix out-of-bounds read edge-case (OSS-Fuzz)

        This patch fixes a possible off-by-one read overflow while parsing a bad
        Content-Length header.  The error was mostly harmless, as the supplied
        buffer is typically much larger and is stored in PKG memory.

        Severity: Low
        Fixes OSS-Fuzz#53199

        (cherry picked from commit a008e7c2385bcd83de2f9ab155ed8a9452bf3c5c)


2023-02-07  Vlad Patrascu  <vladp@opensips.org>
        * [06d130f82] :

        mem: fix compilation if HP_MALLOC is defined and Q_MALLOC is not

        (cherry picked from commit f602982156b6ff6b83cd7e57e5e42e02f0b37dc4)


2023-02-07  Liviu Chircu  <liviu@opensips.org>
        * [7aca62d7c] :

        uac: Add basic detection for multiple uac_replace_xxx() calls

        This patch adds a lightweight detection of multiple calls to
        uac_replace_from() or uac_replace_to() during the processing of a SIP
        request, using an int bitmask stored in the current SIP message context.
        Returning an error helps avoid producing a bad SIP From/To header, with
        doubled URIs due to doubled lumps, etc.

        Still, to compromise between safety and performance, the case where
        multiple uac_replace_xxx() get called during a failure_route is not
        detected, as this would require extra TMCB_ON_FAILURE callback, which is
        a bit of overkill just for the sake of scripting QoL...

        Fixes #2720

        (cherry picked from commit 3d6a4bb67ce6294449fc4f5d0f386fd207754337)


2023-02-07  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [813a91168] :

        Avoid publishing pkg and load stats for procs with no IPC

        If IPC is not supported by a process, the pkg stats cannot be collected from it. Also such process is not able to compute internal load.

        (cherry picked from commit cd191d4b2ce9ab65764c14031b1faa5ae7272df3)


2023-02-07  Liviu Chircu  <liviu@opensips.org>
        * [fc5859d89] :

        registrar: Fix possible crash in remove_ip_port()

        The release_urecord() function may actually delete the AoR on the spot,
        including the map_t node which the iterator is currently at!  This was
        causing an invalid SHM memory read when calling iterator_next(),
        potentially running into a crash.

        The fix is to advance the iterator ahead of time, before the
        release_urecord() call.

        Fixes #2954

        (cherry picked from commit a117dc8dc5d9eab24d2bc646fb70e6afbaaced94)


2023-02-06  Vlad Patrascu  <vladp@opensips.org>
        * [19fa678ff] :

        b2b_logic: fix crashes due to dangling tuple pointer

        Make sure to not access a tuple that might have been freed while not
        holding the lock.

        Many thanks to David Escartin from Sonoc for the help in troubleshooting
        this issue!

        (cherry picked from commit 1225b0191afdf0a36e14bf47f5cac908e5af5603)


2023-02-06  Vlad Patrascu  <vladp@opensips.org>
        * [80b28ae71] :

        b2b_entities: fix crashes after running the script request route

        After releasing the lock and running the script request route, check
        if the dialog has not been deleted in the meantime.

        Credits to David Escartin from Sonoc for reporting.

        (cherry picked from commit 65a8da41f58ba3179c62c83a2d710651c97b36ca)


2023-02-06  Vlad Patrascu  <vladp@opensips.org>
        * [4a4e7f5ef] :

        b2b_entities: properly handle BYE while another request is pending

        Instead of rejecting the BYE with 491, first complete the transactions on the
        UAS side with 200 OK for the BYE and 487 for the other pending transaction.
        Also, mark the tuple for deletion at b2b_logic level and send a BYE to
        the peer entity after completing any UAC transcations on this side.

        Credits to David Escartin from Sonoc for reporting.

        (cherry picked from commit da6975f065ad848ceb8d8f65b0f09d1efc2bca37)


2023-02-06  Ryan Bullock  <ryan@piratel.com>
        * [224da225d] :

        Use msg_flags instead of script level flags. Prevents unintentional collision with script flags which could cause calls to mc_compact and mc_compress to fail.

        (cherry picked from commit 0cfb7c3b4dcb71fe26ed788bc7c94c56476b720d)


2023-02-05  OpenSIPS  <github@opensips.org>
        * [28f0fc9a4] :

        Rebuild documentation


2023-02-02  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [1a104d6b5] :

        [tcp layer] avoid locking and events while shutdown

        Upon shutdown, when all the TCP conns are destroyed, do not use any locking (we are in single process mode any how) and do not raise any disconnect events (false events here)

        (cherry picked from commit f953b30c42f84f5709bbc125ddf016d499f55485)


2023-02-02  Razvan Crainea  <razvan@opensips.org>
        * [cf593ab84] :

        rtp_relay: fix leg dialog detection in local_route

        When both dialog and b2b_logic modules are used with rtp_relay, we shoud
        be prepared for a non-existing dialog in requests.

        Reported by @devoxy1 on GitHub in ticket #2952

        (cherry picked from commit 627e52a81585b591ce6854adcba8348c9eacc4e6)


2023-02-02  Razvan Crainea  <razvan@opensips.org>
        * [e6d763840] :

        lua: proper include for timegm

        Thanks go to Jonathan Wakely (@jwakely on GitHub) for reporting it.
        Close #3005

        (cherry picked from commit acf0c149503b034955557020ea1ad89713cded12)


2023-01-31  Vlad Patrascu  <vladp@opensips.org>
        * [7e572dea6] :

        msrp_ua: fix crash for AUTH transaction timeout

        (cherry picked from commit 39c5e31281f042d79dc47eba38f9a4eb477bad37)


2023-01-31  Vlad Patrascu  <vladp@opensips.org>
        * [2db919d1c] :

        tls_wolfssl: complete fix in commit 77f5f5a

        This also ignores errors due to bad path, same as openssl does by default.

        (cherry picked from commit d919285009aae706539b9874ed551fe4ceecd9c3)


2023-01-31  Vlad Patrascu  <vladp@opensips.org>
        * [56a15b32d] :

        tls_wolfssl: ignore invalid CAs when setting ca_dir

        This will align the behavior of opensips when using wolfssl or openssl.

        Credits to @benceszigeti for suggesting the solution.

        Closes #2955

        (cherry picked from commit 77f5f5a0a248575a26ffc8052dc44f509aa2e6e1)


2023-01-31  Vlad Patrascu  <vladp@opensips.org>
        * [8a1331259] :

        tls_wolfssl: update wolfssl library to version 5.4.0

        (cherry picked from commit f0c34ddbbac497f336fa5f8d769117abd2239ec5)


2023-01-31  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [92cb2c76d] :

        [pua] Fix silly mixing of bits versus bytes in sizeof()

        Related to ed8bf4d47a5302b74006ce0312797928fc843e98

        (cherry picked from commit 5610c03fb14ada7e28f4a05b3928020883bf0773)


2023-01-31  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [f755eee59] :

        [pua] force pres_id a unsigned_int during calculation

        To avoid any issues due to "singed" overflowing

        (cherry picked from commit ac99224ef22ece40e3dcd11417712db84d910bb7)


2023-01-31  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [bd5f7da2a] :

        [pua] fix the computing of presentity ID (pres_id)

        - be sure the hash size does not overflow (on user setting), as it has to fit on half long size
        - when computing pres_id, be sure to cast to long to avoid premature overflow
        - when incrementing local_index, be sure it does no overflow half long size

        (cherry picked from commit ed8bf4d47a5302b74006ce0312797928fc843e98)


2023-01-31  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [596755f0e] :

        [dispatcher] Fix hackish extraction of TO URI upon pinging

        Better use the URI stored in callback params, rather then using the hackish way of extracting the URI from the T-stored To hdr.

        This is a side effect of 9af1926
        Reported by @denyspozniak
        Closes #3000

        (cherry picked from commit e7aeb9723c70e57b472293027135fd2e80d461d9)


2023-01-31  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [9705834ab] :

        [dispatcher] fix chaining and freeing of probing packs

        Some probing packs may be freed before ending circulating the list (if the prob sending fails), so we need to take care of the linking.

        (cherry picked from commit c6bcd8435c5b3a648efc28a7173a43653257eb40)


2023-01-31  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [d65f37ed0] :

        [dispatcher] Improve probing by sending the probs outside locking

        Collect the data under locking, move the OPTIONs probing outside the locking, to be sure that any potential blocking on SIP level sending is not leading to lock starvation.
        Simialar to 4c7a7a83f93b18eefe4de1fe13c67f9d7561e6a3 (drouting)
        Related to #2438

        (cherry picked from commit 8139e2799ee8d39e9cc99a189f2b2baa2eb0c39d)


2023-01-29  OpenSIPS  <github@opensips.org>
        * [5ba505924] :

        Rebuild documentation


2023-01-27  Razvan Crainea  <razvan@opensips.org>
        * [132e817e7] :

        b2b_sdp_demux: fix BYE concurrency from both upstream and downstream

        Thanks go to Suchi Sahoo from Five9 for reporting it

        (cherry picked from commit 8f3c6a179d1cab30ab9a65f2fd9f23489736cd9b)


2023-01-27  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [5b888200f] :

        Relax qop validation: according to the RFC8760 if the qop
        is not provided, the qop=auth should be assumed.

        Issue:	#2995
        (cherry picked from commit 6f8af86728f278d72d472a85cef7079cd0b54aed)


2023-01-26  Liviu Chircu  <liviu@opensips.org>
        * [c0e1311eb] :

        mi_script: Add support for array parameters

        (cherry picked from commit fb686b8ca22baadd23dff5672c2df43e73e2e2d5)


2023-01-25  Razvan Crainea  <razvan@opensips.org>
        * [60d46c7e0] :

        route: pass parameters as values

        When calling route(NAME, $pv, ...), expand the `$pv` before running the
        route - this way the parameter is passed as value, rather than
        reference, which could lead to some unexpected behavior.

        (cherry picked from commit 8761ce6d2089915f18db6ae21677a690a6958bac)


2023-01-23  Razvan Crainea  <razvan@opensips.org>
        * [13a79336c] :

        tm: remove cluster received '\0' from buffer len

        When sending a message through cluster, the tm module adds a '\0'
        terminator to the message - that is because receive_msg expects it.
        However, this character should not be part of the message lenght.

        Reported by Denys Pozniak on mailing lists.

        (cherry picked from commit 81e9b14a16acd284469d8958c57dcece69699a85)


2023-01-23  Razvan Crainea  <razvan@opensips.org>
        * [50b176ebb] :

        dialog: do not remove SDP if no SDP is provided

        (cherry picked from commit d92f870ca34c551aa01a7a5531d0cca4e304ce27)


2023-01-22  OpenSIPS  <github@opensips.org>
        * [aeeb97e4e] :

        Rebuild documentation


2023-01-19  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [56a5a3977] :

        Fix building TO / FROM hdr via t_uac()

        t_uac() gets URIs as values for TO / FROM, so these URIs may contain URI params. If those URIs are placed into headers without <> enclosing, their params will become header params :(
        So, to be sure, let's enclose the URIs all the time.

        Closes 2843

        (cherry picked from commit 9af192693f419751ff3fc704d5286274752171b1)


2023-01-18  truong.hua  <truong.hua@youthdev.net>
        * [330561b0e] :

        Fix crash when restore b2b with tracer enabled due to NULL msg

        (cherry picked from commit abec071cf81576ac84e4af1914f3bcc64cee4789)


2023-01-16  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [38fe92cb2] :

        [tm] fixed double freeing on t_uac() callback param

        If the t_uac() fails after the transaction was created (like it fails while trying to send the buffer out on the network), a double free will be done on the eventual callback func params: (1) via the released function attached to the completion callback (this will be automatically done upon free_cell() and (2) when t_uac() returns failure to the upper layer.

        The fix is NOT to free the param if the t_uac() returns error. So even if the transaction was created, remove the release function on the callback func params, to prevent the free (1), and to allow the upper layer to do its own cleanup.

        (cherry picked from commit 8448551cc4c1b6d4069790e54a149f4ffd0b4c47)


2023-01-15  OpenSIPS  <github@opensips.org>
        * [1dd733fec] :

        Rebuild documentation


2023-01-13  Vlad Patrascu  <vladp@opensips.org>
        * [adc2402c6] :

        tests: properly support malloc tests for any available allocator

        (cherry picked from commit 23eb399abc901e45180ef712d86eb10b8d9291e8)


2023-01-12  Vlad Patrascu  <vladp@opensips.org>
        * [c4741cb31] :

        mem: align all prototypes for realloc functions

        (cherry picked from commit 379dadab58f5c3c77707259710625cd3558168f9)


2023-01-12  Razvan Crainea  <razvan@opensips.org>
        * [97af5223d] :

        b2b_sdp_demux: consider dlginfo when removing server entity

        If dlginfo is not considered when the entity is removed, it might very
        well remove a different entity with a similar index & hash, (but
        different timestamp).

        Thanks go to Suchi Sahoo from Five9 for reporting it

        (cherry picked from commit 99587fcaf1bc521bc5870052608e100a4624de60)


2023-01-10  Liviu Chircu  <liviu@opensips.org>
        * [0caec8872] :

        freeswitch_scripting docs: Fix rc checks in examples

        (cherry picked from commit 76c18ce1ad9edf70ea12dd1b3fb26b43a6b12ffc)


2023-01-10  Liviu Chircu  <liviu@opensips.org>
        * [1f13945b7] :

        Makefile.test: Fix linking with multiple -DUNIT_TESTS

        Credits to Vlad Pătrașcu for the report!


2023-01-09  Razvan Crainea  <razvan@opensips.org>
        * [65f6194cb] :

        rtpengine: add the cookie len to the iovec buffers

        This fixes rtpengine from sending the appropriate dictionary end 'e' in
        the buffer sent over the network.
        Thanks go to @ankogan on GitHub for reporting it.
        Close #2985

        (cherry picked from commit 99d14dad58554a39adf1b75167aeae8fd3863884)


2023-01-09  Razvan Crainea  <razvan@opensips.org>
        * [6580f4bad] :

        siprec: remove broken unref logging

        (cherry picked from commit 26e2ca958c2bdfca1577c5fbb3ffa1acb3bdaea3)


2023-01-08  OpenSIPS  <github@opensips.org>
        * [894110739] :

        Rebuild documentation


2023-01-06  Liviu Chircu  <liviu@opensips.org>
        * [354c41b9a] :

        acc: Fix drop_accounting() (do not be a NOOP!)

        The bug here was that `drop_accounting()` was building its bitmask as:

            flag_mask = types * flags;

        ... whereas it should have done the same as in `do_accounting()`:

            flag_mask = types + types * flags;
                        -------
        		^ the actual acc types to reset were missing!

        (cherry picked from commit 211a63c9b2ccac346dfc57bca2ede71d286e9989)


2023-01-04  Liviu Chircu  <liviu@opensips.org>
        * [837cbbcb3] :

        dialog: Fix a race condition on mid-dlg Contact updates

        The "contact update on mid-dialog 2xx reply" logic may be invoked in
        parallel, in case two simultaneous UPDATE transactions are being
        processed, for example.  This patch adds locking, to prevent a possible
        abort due to "double free" while updating the Contact.

        Also fix a small bug where the dialog is still flagged with
        DLG_FLAG_CHANGED, despite the malloc() failing during Contact update.

        (cherry picked from commit 7dfe2857eef8e109e2c984867eb5e80193f220e1)


=========================== Release 3.3.3 ==============================

2022-12-18  OpenSIPS  <github@opensips.org>
        * [20202838e] :

        Rebuild documentation


2022-12-14  Vlad Patrascu  <vladp@opensips.org>
        * [1a5dc8ddd] :

        b2b_logic: fix previous commit


2022-12-14  Vlad Patrascu  <vladp@opensips.org>
        * [20bb4dea4] :

        b2b_logic: add ability to retry the initial bridge via API

        This allows the call_center module to properly move the call to the next
        agent or the queue, when the first agent rejects the call and a welcome
        message is not used.

        (cherry picked from commit ed783c473456788e3a2b23d90f2a2c303e50c7bf)


2022-12-11  OpenSIPS  <github@opensips.org>
        * [f0c0ca04a] :

        Rebuild documentation


2022-12-07  Liviu Chircu  <liviu@opensips.org>
        * [2f26942de] :

        db_mysql: Do not read freed PKG memory after 1st failed reconnect

        During db_mysql_connect(), make sure to reset the "init" status after
        free'ing ptr->con.  Per MySQL 5.7 docs on mysql_close():

            "Closes a previously opened connection.
        	... Do not use the handler after it has been closed."

        (cherry picked from commit d616ed3f979100639ed43e45fd3123ccba787535)


2022-12-05  Razvan Crainea  <razvan@opensips.org>
        * [8e4794a42] :

        b2b_entities: add more entropy to from_tag generation

        The initial from-tag generation cosisted of an md5 hash over the From
        URI. Thus, if you would have generating client requests to the same
        entity (such as a media server), you would always get the same from-tag
        for all those requests.
        The current patch adds more entropy when generating the from_tag, such
        as the current timestamp (expressed in milliseconds) along with the
        process pid.

        (cherry picked from commit b003891b468d5730fd68b445331735a92c770bce)


2022-12-04  OpenSIPS  <github@opensips.org>
        * [4b9dda480] :

        Rebuild documentation


2022-11-28  Callum  <callum.guy@x-on.co.uk>
        * [8ca511fa9] :

        rate_cacher: :bug: fix parameter types

        (cherry picked from commit c8219a87024ef864f22a368dd84516cc617abb06)


2022-11-28  Callum  <callum.guy@x-on.co.uk>
        * [f8a7b6801] :

        rate_cacher: :bug: fix parameter typo

        (cherry picked from commit 0ec0936bac2dbf6ca6c930b5e76ae147a0ad4245)


2022-11-27  OpenSIPS  <github@opensips.org>
        * [6f2517417] :

        Rebuild documentation


2022-11-25  Liviu Chircu  <liviu@opensips.org>
        * [01a6dfc63] :

        rtpengine: Fix possible startup crash in notification process

        When the "notification_sock" modparam was set, the process responsible
        for notifications would start by scanning a non-NULL terminated string
        past the end boundary, sometimes leading to a crash on startup.

        Fixes #2947

        (cherry picked from commit cb59a84fcccc4ee34a1c1ddbd4fd09cc0c5834a0)


2022-11-24  Liviu Chircu  <liviu@opensips.org>
        * [6cb874907] :

        rabbitmq: Fix bogus debug log

        Credits to Nick Altmann for the report!

        (cherry picked from commit aaeaf245733cedea540912442a6782325926db11)


2022-11-24  Vlad Patrascu  <vladp@opensips.org>
        * [3aa2034b0] :

        call_center: fix table versions in the DB schema


2022-11-24  Liviu Chircu  <liviu@opensips.org>
        * [a8eac4995] :

        compression: Fix math bug leading to bad Content-Length

        Fix an edge-case in mc_ndigits() causing Content-Length values starting
        with "10..." to be incorrectly counted.  (e.g. "107" produced 2, not 3).

        This bug affected both mc_compact() and mc_compress().

        (cherry picked from commit 37213d245c63e426a16004ab161823bd5c2cc1ec)


2022-11-23  Razvan Crainea  <razvan@opensips.org>
        * [616f1b721] :

        siprec: unref failed dialogs

        Close #2674

        (cherry picked from commit e3c74a39df0fd5f5b58679183ade8eee2e0749f6)


2022-11-21  Liviu Chircu  <liviu@opensips.org>
        * [83872a7c3] :

        compression: Fix mc_compact() crash with no 2nd parameter

        It seems something went wrong in commit 466e93379, as the optimization
        actually caused the function to always crash.

        (cherry picked from commit 74024511bb53911af8270a05949543b09acd6fd5)


2022-11-20  OpenSIPS  <github@opensips.org>
        * [a97ec1168] :

        Rebuild documentation


2022-11-18  Liviu Chircu  <liviu@opensips.org>
        * [1522bfe5a] :

        mid_registrar: Fix occasional undesired De-REGISTER forwarding in mode 2

        If the timings were aligned in a specific way, the mid-registrar (in AoR
        throttling mode) would actually forward a De-REGISTER downstream even
        though it had at least 1+ healthy remaining contacts after having
        applied the De-REGISTER locally.  This would cause some degree of
        service loss, as the remaining UAs were registered on the mid-reg, but
        not on the backend.

        Many thanks to Carlos Cruz Luengo (@cruzccl) and @ryan-netizen for an
        accurate report, as well as helping come up with the fix!

        Fixes #2615

        (cherry picked from commit 502f1ab66257628f06bee7bf8ea4564ab5e8a160)


2022-11-18  Liviu Chircu  <liviu@opensips.org>
        * [975c01877] :

        sipcapture: Fix missing lock release on "buffer too small" errors

        Many thanks to Ryan Caicse (@ryancaicse) for reporting this bug!

        (cherry picked from commit 9f0fe53744ebf16467b61e9b59da5396bb356896)


2022-11-18  Liviu Chircu  <liviu@opensips.org>
        * [43ffc3d44] :

        b2b_entities: Fix missing lock release on OOM error case

        Many thanks to Ryan Caicse (@ryancaicse) for reporting this bug!


2022-11-18  Liviu Chircu  <liviu@opensips.org>
        * [d5339e3e3] :

        b2b_logic: Fix missing lock release on OOM error case

        Many thanks to Ryan Caicse (@ryancaicse) for reporting this bug!

        (cherry picked from commit b5646bdcf8d1681d894b73af63257c2f0257d4fe)


2022-11-18  Liviu Chircu  <liviu@opensips.org>
        * [2b807ad0c] :

        b2b_entities: Fix missing macro in previous commit


2022-11-18  Liviu Chircu  <liviu@opensips.org>
        * [58566ca0b] :

        b2b_entities: Fix missing lock release on SIP parsing errors

        Many thanks to Ryan Caicse (@ryancaicse) for reporting this bug!

        (cherry picked from commit a379e9367989e6f731c3c4ab1a3ed97d3c53e287)


2022-11-18  Liviu Chircu  <liviu@opensips.org>
        * [4bdbaf222] :

        b2b_sca: Fix double lock release on error case

        Many thanks to Ryan Caicse (@ryancaicse) for reporting this bug!


2022-11-17  Vlad Patrascu  <vladp@opensips.org>
        * [6620aa5b9] :

        tls_wolfssl: properly enforce the configured ec_curve

        TLS outgoing connections would not properly use the configured curve but
        instead any curve selected by the server.

        (cherry picked from commit d089b9c5ecc84cc81a8b0663a3f75883825ed8a6)


2022-11-17  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [e29aea9c7] :

        [dialog] fix missing locking in  get_dlg_vals()

        Iterating the list of dlg vals must be done under lock

        (cherry picked from commit 728eff0a551c4eac3bc90d0cfac08de5a1280058)


2022-11-17  Liviu Chircu  <liviu@opensips.org>
        * [e9be2fcc7] :

        next_branches(): Fix infinite looping during error handling

        If someone has actually taken the time to corrupt the internal
        "$avp(serial_branch)" AVP, do not perform the "infinite while loop dance"
        and correctly progress to the next AVP.

        (cherry picked from commit 244cc92919c1cd6b3bf6a52bd4325b0268c88c76)


2022-11-17  Liviu Chircu  <liviu@opensips.org>
        * [d21d7061b] :

        next_branches(): Fix bugs leading to READ on freed shared memory

        This patch fixes two code paths leading to the @avp pointer being freed,
        after which the dangling pointer is read afterwards by the
        search_next_avp() function at the "done" goto label.  This will work
        99% of the time, until the 1% where it won't (crash and burn!).

        Many thanks to Richard Revels (@rrevels-bw) and Sebastien Couture for
        an accurate report, as well as their involvement in troubleshooting!

        Fixes #2446
        Fixes #2950

        (cherry picked from commit 578fc2907374477449313c36e4fc3287701de800)


2022-11-16  Razvan Crainea  <razvan@opensips.org>
        * [e3b4dbf2a] :

        b2b_sdp_demux: fix CANCEL handling concurrency

        Thanks go to Suchi Sahoo from Five9 for reporting it

        (cherry picked from commit e3a7ac22c6011bcce497403ce8f880a4b256e5bf)


2022-11-16  Razvan Crainea  <razvan@opensips.org>
        * [d848992e7] :

        b2b_entities: avoid deadlock for certain scenarios

        When a call was terminted with a BYE from the handler of the 200 OK
        reply, the entities lock would remain locked, generating a deadlock.
        This commit fixes this (and possible other) situations by generically
        keeping a track when the lock is taken and unlock it before exiting.

        Thanks to Vlad Patrascu for helping with debugging and solution for this

        (cherry picked from commit 87661e1f14f9be6d957cd25c9f7dbe58d6ce0c82)


2022-11-16  Liviu Chircu  <liviu@opensips.org>
        * [ffa0a369b] :

        CacheDB: Allow "," in URL passwords

        Many thanks to @xuxin010033 for the report!

        Fixes #2786

        (cherry picked from commit f904694120ae6bea23bd12c14becd353a8071962)


2022-11-16  Liviu Chircu  <liviu@opensips.org>
        * [57ca5b8b5] :

        CacheDB: Fix URL parser bugs with multiple hosts

        Although support for CACHEDB_ID_MULTIPLE_HOSTS has been in there for a
        long time, URLs such as "redis:ha://h1,h2,h3:6379" were not correctly
        parsed.

        (cherry picked from commit bacb776cc90d8532d58f360e276a00977da15fad)


2022-11-16  Gang Zhuo  <gang.zhuo@gmail.com>
        * [861e8dd02] :

        [db_oracle] Do not change asynch mode when connection lost.

        The sessions may be ended due to a network error,
        and change OCI_ATTR_NONBLOCKING_MODE attribute with no session
        will cause "ORA-03126: network driver does not support non-blocking
        operations" error.

        In the case, the function done_timelimit will failed with ORA-03126 error.
        The error is not considered as a connection loss,
        and subsequent operations will always throw this error,
        and the lost connection never reconnect.

        (cherry picked from commit a5657831f9b216168d2dc974b96e4474e15ff15a)


2022-11-15  Liviu Chircu  <liviu@opensips.org>
        * [87eee7632] :

        usrloc: Avoid PN-related timer processing in "SQL/CacheDB Only" modes

        Since the "PN trigger" logic described in RFC 8599 is currently strongly
        tied to holding in-memory contacts, avoid any crashes or other
        side-effects when running in "CacheDB Only" or "SQL Only" together with
        PN support by simply avoiding linking contacts into the "PN trigger"
        timer list.

        Fixes #2902

        (cherry picked from commit 60c1d54f9193e8fca733eb1d0fe92fd60ffe7a27)


2022-11-15  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [881e66e66] :

        [rr] Fix handling on maddr param in RURI

        If present in RURI, maddr value should be considered (instead of host part) for testing if RURI points (as domain) to OpenSIPS or not (the is_myselg() test)

        (cherry picked from commit f3cb92df91edd7e472c7c5cb4a2692a0585fad62)


2022-11-14  Razvan Crainea  <razvan@opensips.org>
        * [0aad9e5e6] :

        cgrates: fix infinite re-connect issue

        When a non-default connection would have reconnected, due to a
        mishandling of the return code of the `cgrc_reconn` function, a new
        connection would have been created every time, resulting in infinite
        re-connections. And in time, this would acquire all the available ports
        (65k) and would no longer accept new connections.

        Many thanks go to Vasilios Tzanoudakis (@vtzan on GitHub) for reporting
        and providing a solid testbed for this.
        Close #2850

        (cherry picked from commit 27cd5d76d42c5c57a23111b433171f0e24d7254e)


2022-11-14  Razvan Crainea  <razvan@opensips.org>
        * [56f34e301] :

        rtpengine: fix from-tag and to-tag when a dict exists

        (cherry picked from commit 7a82baad5a64d4ad9b32cf565bf7da72bf7b7842)


2022-11-14  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [890ca7d71] :

        Fix pkg mem leak by var spec copying

        Commit fff57ac introduces a relativly useless memcpy (only for arm32 related). This copy of the var spec leaks the returned buffer containing the value of the spec, as per $dlg_val() - this implementation of the $dlg_val relys on the fact that the same spec will be received all the time, so a re-size-able buffer is attached to it.
        So, let's get rif of the culprit memcpy and replace it with a simpler cast, as per 7dc20e471bf89eef0e4586adae26744d38c38c01
        Credits and many thanks go to Arto Kuiri for reporting and pin pointing the culprit commit.

        (cherry picked from commit f07e90aac92f33d3321d73ed69ca19850b7e10b4)


2022-11-13  OpenSIPS  <github@opensips.org>
        * [f00e87943] :

        Rebuild documentation


2022-11-08  Liviu Chircu  <liviu@opensips.org>
        * [dcf6fdda5] :

        parse_via_param(): Fix out-of-bounds read edge-case (OSS-Fuzz)

        Similar to 5e9f72d3d, but for the parse_via_param() function.

        Severity: Low
        Fixes OSS-Fuzz#53080

        (cherry picked from commit 6135ff05d0897342ca5c81585cef5a650eae67b9)


2022-11-08  Liviu Chircu  <liviu@opensips.org>
        * [bcc383715] :

        db_flatstore: Fix another race condition around MI 'flat_rotate'

        This race condition was related to invoking 'flat_rotate' 2+ times
        during the same second (UNIX timestamp).  Due to the way the
        timestamping logic was implemented, this could lead to files NOT being
        rotated at all on the 2nd 'flat_rotate', which falls in the same second.

        Although very rare, this race condition could lead to massive CDR loss,
        since all CDRs between 2nd and 3rd 'flat_rotate' commands have a great
        chance of being fully lost (unread and discarded).

        (cherry picked from commit e180b1536e89e7bc8d6e2dd3264786e8531c71d7)


2022-11-08  Liviu Chircu  <liviu@opensips.org>
        * [dcc7cbdbd] :

        db_flatstore: Fix missing CDRs due to 'flat_rotate' race conditions

        This commit simply adds R/W locking around the 'flat_rotate' MI command,
        and all the SIP worker processes.  The race condition was as follows:

        * SIP worker checks the 'flat_rotate' stamp and proceeds to write CDR
        * 'flat_rotate' is ran (timestamp++)
        * external process scans & fully reads the rotated file (with deletion
           to follow later as well, but this is irrelevant)
        * SIP worker finally writes the CDR using flushed/vector'ed I/O
           (too late at this point, CDR is forever lost)

        (cherry picked from commit d3b1463ee115a8b7d4d6b9658c8b07b9ef3d0549)


2022-11-08  Liviu Chircu  <liviu@opensips.org>
        * [8d0161967] :

        parse_via(): Fix out-of-bounds read edge-case (OSS-Fuzz)

        This patch fixes a possible off-by-one read overflow while parsing the
        Via buffer.  Even so, the error was mostly harmless, as the supplied
        buffer is typically much larger and is guaranteed to be NULL-terminated
        (see udp_read_req(), for example).

        Severity: Low
        Fixes OSS-Fuzz#52326

        (cherry picked from commit 5e9f72d3d90e8fc9cb20578a95c891631b4d91da)


2022-11-06  OpenSIPS  <github@opensips.org>
        * [037254dd1] :

        Rebuild documentation


2022-11-04  Liviu Chircu  <liviu@opensips.org>
        * [2da07e40c] :

        registrar: Add a unit test for lookup("r")

        Related to #2917

        (cherry picked from commit 02ddcc6cc52e6c27d27870447c4df7a352508a75)


2022-11-04  Liviu Chircu  <liviu@opensips.org>
        * [4c54d0f77] :

        registrars: Fix an edge-case with lookup("r")

        This fixes a bug where the registrar library would return
        E_LOOKUP_NO_RESULTS upon encountering an AoR with 0 contacts, instead of
        continuing to walk the branches and expand the remaining AoRs.

        Many thanks to @MayamaTakeshi for a detailed bug report!
        Fixes #2917

        (cherry picked from commit 9ac7739ef02079a22de6beb776d6a1628a4458cb)


2022-11-03  Răzvan Crainea  <razvan@opensips.org>
        * [efd4ca29e] :

        Merge pull request #2919 from goharahmed/eventExpiry

        EVI: Event subscribers expiry enhancements
        (cherry picked from commit 3ddd19ea2a34cdc25ac43f3785bccab9ad0d42f9)


2022-11-01  Razvan Crainea  <razvan@opensips.org>
        * [f968cfc20] :

        b2b_sdp_demux: handle CANCEL from upstream server

        Thanks go to Suchi Sahoo from Five9 for reporting it

        (cherry picked from commit a63e371ceda2f262159b0518817465c1fec66894)


2022-10-31  Razvan Crainea  <razvan@opensips.org>
        * [10a024687] :

        b2b_sdp_demux: fix matching entities for SERVER

        Thanks go to Suchi Sahoo from Five9 for reporting it

        (cherry picked from commit e485856c6a8c3db3d43f5e5cb5670a6a5fb962df)


2022-10-30  OpenSIPS  <github@opensips.org>
        * [7cde17d89] :

        Rebuild documentation


2022-10-27  Liviu Chircu  <liviu@opensips.org>
        * [ab1e5d4a3] :

        dialog: Fix shtag restoration when loading from DB

        This fixes a hanging dialog profiles bug on the backup box (NULL shtag),
        in specific scenarios with dialogs + sharing tags, profiles with
        value and dialog + profile replication clusters (whole enchilada).

        In such cases, after restarting the backup box with active dialogs in
        the DB, it would end up with forever-hanging dialog profiles in memory,
        which would be continuously broadcasted to all cluster nodes,
        effectively adding (doubling) unnecessary counters to the overall limit.

        Credits to Vlad Pătrașcu for helping troubleshoot this bug!

        (cherry picked from commit d77a9c52c2becdd451ef19ec9b586d7152aa8884)


2022-10-27  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [dc3a33417] :

        [gflags] fix wrong quotes in example

        Credits go to Karsten Wemheuer

        (cherry picked from commit 5945746b09b480dd0b7f8ea4b3584e4521bdac3a)


2022-10-27  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [b980dfdd3] :

        Merge pull request #2914 from MayamaTakeshi/reg_lookup_log_correction

        Corrected 'getting contacts' log

        (cherry picked from commit 9be68bf34f8d1d54708a6a3de8f689e1e91288fc)


2022-10-27  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [0ec06994f] :

        [tracer] avoid parsing the shm cloned SIP msg

        The TM TMCB_MSG_SENT_OUT callback may be called when doing a retransmission for a locally generated request. If for the original sending, a pkg malloc'ed sip_msg is passed to TMCB_MSG_SENT_OUT callback, for the retransmissions the shm cloned sip_msg is passed. As the 'tracer' callback (on TMCB_MSG_SENT_OUT) requires some FROM hdr parsing (to get the from tag), it should NOT parse directly on the shm cloned SIP msg as it will tain the shm sip_msg with pkg pointers -> better do a local parsing (not attached to the sip_msg) of the FROM HDR.
        This issue was leading to pkg leaking (of the parsed FROM hdr in the shm cloned sip_msg) or it a crash if using failure route from the local route.

        Note: this is specific to using tracer module from the local route.
        Closes  #2728

        (cherry picked from commit 4eabea8a9eb0a08909854722972cd35164557c76)


2022-10-27  Razvan Crainea  <razvan@opensips.org>
        * [d53c02189] :

        rtp_relay: fix crash when context does not exist

        Thanks go to Gohar Ahmed (@goharahmed on GitHub) for reporting it.
        Close #2941


2022-10-26  Liviu Chircu  <liviu@opensips.org>
        * [6a4dc9658] :

        Allow writing to AVPs with negative index

        This includes both SET and DELETE operations, for example:
            $(avp(foo)[-1]) = NULL;
            $(avp(foo)[-1]) = "42";

        (cherry picked from commit df362fb231fc42735f6aedcbdb8f036a72a98f2e)


2022-10-25  ihsinme  <ihsinme@gmail.com>
        * [bc1955f7b] :

        Fix for access due to low memory.

        If you check after a memory access, then you always have access from outside. with stricter control of memory boundaries, this can lead to an abnormal termination of the program.

        (cherry picked from commit 9ed1485938944ae47f58ac081facb4470c30c47e)


2022-10-25  Vlad Pătrașcu  <vladp@opensips.org>
        * [b62b9a70a] :

        Merge pull request #2929 from nikbyte/b2b_fix_transfer_rollback

        B2B: Fix rollback of transfer in case of using of separate media server url
        (cherry picked from commit e6a848b65b3e16baf80820a90e2d2dd1fdfb3243)


2022-10-25  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [60476c9c6] :

        [tm] fix t_wait_no_more_branches() behaviour

        Fixes #2891
        Alternative to  #2898
        Credits for the fix go to @man1207

        (cherry picked from commit 14d900f2a7bb05609290de71876590703678612f)


2022-10-24  Maksym Sobolyev  <sobomax@sippysoft.com>
        * [1682d4ead] :

        Use IP_DONTFRAG on systems (i.e. FreeBSD) where IP_MTU_DISCOVER
        is not available. Generate an error on systems that have neither.


2022-10-24  Vlad Paiu  <vladpaiu@opensips.org>
        * [847655784] :

        Ignore faked replies

        (cherry picked from commit 31e2f33ec2dd28d88c6d356e7cffeb6c53cd5ac1)


2022-10-23  OpenSIPS  <github@opensips.org>
        * [217023d26] :

        Rebuild documentation


2022-10-21  Vlad Patrascu  <vladp@opensips.org>
        * [287094bb7] :

        cachedb_local: fix expiration of keys received through cluster sync

        Credits to Kingsley Tart from CallTracks for reporting.

        (cherry picked from commit d0c4fc48c7d46ac3588e540574a5a32b3d61992b)


=========================== Release 3.3.2 ==============================

2022-10-18  Vlad Paiu  <vladpaiu@opensips.org>
        * [8b18d6f48] :

        Fixed the EVI registered IDs & added some FIXMEs

        Fixes #2928

        (cherry picked from commit 806d3563848f60895a589e8f44322151e3fb679a)


2022-10-16  OpenSIPS  <github@opensips.org>
        * [63d5fee43] :

        Rebuild documentation


2022-10-13  Razvan Crainea  <razvan@opensips.org>
        * [2c5bee7f7] :

        rtpengine: do not specify interfaces for non-offer/answer

        Avoid getting bogus `no more memory` errors when trying to specify in
        in/out interface when `direction` node is NULL.

        Close #2880

        (cherry picked from commit bbb6f313bba3fdb7f32f80140ceb9c8dff1e8f1b)


2022-10-12  Vlad Patrascu  <vladp@opensips.org>
        * [7e2f161d3] :

        proto_tls docs: fix typos in modparam examples

        (cherry picked from commit 4d0df03e04d6d0c2c8a550e71f4ce5e5cbf2465c)


2022-10-12  Liviu Chircu  <liviu@opensips.org>
        * [3615105af] :

        context API: Fix ctx cleanup API; Document context_destroy() behavior

        Although this patch fixes a memory leak in clear_global_context(), this
        function is not being used at all.

        (cherry picked from commit 02e1177714b91fa8b7e29f0162c8e9385767f6b1)


2022-10-12  Liviu Chircu  <liviu@opensips.org>
        * [c0d189c1c] :

        Fix global msg context leakage in error_route

        While commit b5bcf046 fixed an issue with missing contexts during
        error_route, it was missed that the "parse_error" label does *not* free
        up the global context.

        The effects of this bug were mostly hidden, affecting only opensips.cfg
        scripts which employ the "error_route", causing a slow PKG memory leak,
        proportional to the amount of bad SIP received.  Moreover, if these
        scripts also use async(), they may occassionally run into a quick
        abort() in t_resume_async(), due to a context being already set (BUG).

        (cherry picked from commit 43ee34bbbb48cfcfe02217b03ef72726c01cc83e)


2022-10-12  Liviu Chircu  <liviu@opensips.org>
        * [d6be02648] :

        async(): Attempt to recover from abort() state

        It seems the "if" condition at the start of t_resume_async() is
        actually reachable under the right circumstances and causes an
        immediate program crash.

        As an intermediate improvement until the source of the issue is found,
        try to simply overwrite the unexpected context, if one is found.  A
        small memory leak coupled with a CRITICAL log message is preferable to
        an instant, forced crash.

        (cherry picked from commit 7167bec5b6379ba1a6762501391133deaf5ba80d)


2022-10-12  Liviu Chircu  <liviu@opensips.org>
        * [f8c3fe317] :

        sipmsgops: Fix ruri_del_param() return value on success

        The issue was that set_ruri() actually returns 0/-1, not 1/0 as the
        developer expected.

        Also update docs to reflect the function's return code meaning.

        (cherry picked from commit eea215278c479a22434aefd651c95b2ad777ecc1)


2022-10-11  Vlad Patrascu  <vladp@opensips.org>
        * [998d1e757] :

        msrp_ua: fix the RURI param of E_MSRP_SESSION_NEW

        (cherry picked from commit a7bf9e96e2f38da5b4789ff3b9b29944b45f6916)


2022-10-10  Liviu Chircu  <liviu@opensips.org>
        * [89f560284] :

        parse_msg(): Fix heap buffer overflow edge-case (OSS-Fuzz)

        This patch fixes a SIP message parsing error log which could lead to an
        unsafe printing of a non-NULL terminated string.  Fortunately, the
        OpenSIPS PKG memory allocator minimizes the severity of this overflow,
        thanks to its pre-allocated, large chunk of heap memory.

        Severity: Low
        Fixes OSS-Fuzz#52204

        (cherry picked from commit 2a6f8c67aa15ebf507cc9ff2bd881d771858fed7)


2022-10-10  Liviu Chircu  <liviu@opensips.org>
        * [eecabbd82] :

        parse_content_length(): Fix integer overflow edge-case (OSS-Fuzz)

        This completes commit 7cab422e2f, where it was still possible to cause
        an integer overflow even after the fix, with input such as 2147483609,
        due to missing parentheses in the number equation.

        Fixes OSS-Fuzz#52112

        (cherry picked from commit 837263b47dcb33909b109b5cc050c1ab4a6c64a2)


2022-10-10  Liviu Chircu  <liviu@opensips.org>
        * [a6c276130] :

        parse_to_param(): Rework previous fix (OSS-Fuzz)

        Invoking strlen() on a non NULL-terminated buffer is equally bad,
        possibly even worse.  Instead, simply rely on the @end parameter being
        correct, which is an assumption already made by the current code of the
        function.

        Fixes OSS-Fuzz#41073

        (cherry picked from commit 51b908f8fde0aa2eac8dbcfff319281625d6f3f2)


2022-10-10  Liviu Chircu  <liviu@opensips.org>
        * [9d58a464d] :

        parse_to_param(): Fix out-of-bounds read edge-case (OSS-Fuzz)

        Severity: Low
        Fixes OSS-Fuzz#41073

        (cherry picked from commit 90aa25e64f36b22fbcae9aae910257b43f81641f)


2022-10-10  Liviu Chircu  <liviu@opensips.org>
        * [47f142c7f] :

        Fix rare UB on left-shift signed int overflow

        By default, most commonly used compilers *define* some behaviour when
        this overflow occurs, such that the program will continue normally,
        without any negative consequences.

        Severity: Minor
        Fixes OSS-Fuzz#40201

        (cherry picked from commit 2ba963b0c5e2b6705a3f28ce44e57b248988a103)


2022-10-10  Liviu Chircu  <liviu@opensips.org>
        * [5eb1fbd9f] :

        parse_msg(): Fix out-of-bounds read edge-case (OSS-Fuzz)

        Also add a unit test suite for parse_msg().

        Severity: low
        Fixes OSS-Fuzz#39802

        (cherry picked from commit 66898d8208d158d95a27f1a76078a29bd1e08d7e)


2022-10-10  Liviu Chircu  <liviu@opensips.org>
        * [a3edb86f4] :

        parse_uri: Parse the port into an unsigned integer (OSS-Fuzz)

        Fixes OSS-Fuzz#51605

        (cherry picked from commit b4a72a5f96f5726afa48854ad0850fe14f78909d)


2022-10-10  Liviu Chircu  <liviu@opensips.org>
        * [d03a8125a] :

        parse_uri: Complete the fix for undefined bitwise left-shift (OSS-Fuzz)

        The default auto-cast to (int) is not enough, as a value such as
        255 << 24 can still overflow the 31 value bits...

        Fixes OSS-Fuzz#51542

        (cherry picked from commit e0d90ec107484051e6c769056036447361c5724d)


2022-10-10  Liviu Chircu  <liviu@opensips.org>
        * [f7272d8b1] :

        lib/csv: Fix some memleak corner-cases (reported by OSS-Fuzz)

        Fixes OSS-Fuzz#39925

        (cherry picked from commit ff34d213cad9c2b24460aecc206520bac5411bdc)


2022-10-10  Razvan Crainea  <razvan@opensips.org>
        * [07e2f88a2] :

        dialog: do not corelate the number of legs with branches

        For a single transaction branch, we may have multiple dialog legs
        resulted by forking downstream.

        Thanks go to Rizwan Syed and Jonathan Hulme from ConnexCS for reporting,
        providing testing environment and support the troubleshooting and fix!

        (cherry picked from commit 1b944d21229e3f598e31a1d946e56e6098026ac8)


2022-10-09  OpenSIPS  <github@opensips.org>
        * [fe9588188] :

        Rebuild documentation


2022-10-05  Liviu Chircu  <liviu@opensips.org>
        * [34c368fd6] :

        drouting: Fix dr_match() docs

        * the groupID is actually mandatory
        * add missing "number" docs

        (cherry picked from commit a5236a863b9522ee2e7a5ed53bca4fbb51c2c234)


2022-10-02  OpenSIPS  <github@opensips.org>
        * [93c3365e3] :

        Rebuild documentation


2022-09-30  Vlad Patrascu  <vladp@opensips.org>
        * [3c05ae78e] :

        tls_mgm: fix crash when the client_sip_domain_avp AVP is not set

        This is a regression introduced by commit e94ca5f that would lead to
        a crash when the client_sip_domain_avp modparam is set but the actual
        AVP is not set before a TLS connect.

        Credits to @ovidiusas for reporting and suggesting the fix.

        Closes #2909


2022-09-29  Razvan Crainea  <razvan@opensips.org>
        * [e1ef69915] :

        proto_msrp: fix typo in ident timeout

        (cherry picked from commit 8b2abc12699eb4298e36eae1e59414d7cb062df7)


2022-09-28  Liviu Chircu  <liviu@opensips.org>
        * [8686647ae] :

        freeswitch: If-guard some verbose DBG logs

        Suggested by @NormB

        (cherry picked from commit 6ec8ddec144ce133a365bdc8a095a1f267376f58)


2022-09-28  Liviu Chircu  <liviu@opensips.org>
        * [dfcffd572] :

        TCP: Init the default conn profile even without any listeners

        This fixes an issue with outgoing TCP connections being initialized with
        buggy parameters (timeout: 0, lifetime: 0, etc.), when there are no TCP
        listeners.

        (cherry picked from commit 96252b61fe22d62b584357e5d134a805a1b59433)


2022-09-25  OpenSIPS  <github@opensips.org>
        * [93cb7250a] :

        Rebuild documentation


2022-09-23  Razvan Crainea  <razvan@opensips.org>
        * [1e63c883b] :

        rtp_relay: protect against NULL current_processing_ctx

        (cherry picked from commit 4cb36efa76f2ef2000f9e623c18bdf4c09189059)


2022-09-23  Vlad Patrascu  <vladp@opensips.org>
        * [5690000c2] :

        msrp_ua: fix re-negociation on reINVITE

        Set the proper state for the UA session(established dialog) on the ACK
        for the reINVITE. Also properly handle late SDP negocication for reINVITEs.

        (cherry picked from commit 2b951e5f1835581d6a5d24ebbae44d363cbc5ca9)


2022-09-20  Vlad Patrascu  <vladp@opensips.org>
        * [f2a083a01] :

        b2b_entities: fix shm memory leak

        For the write back db mode, the entity storage data was only freed after
        inserting/updating the entity in the database. This would lead to memory
        leaks if the entity was deleted before the DB timer task had a chance
        to be run.

        Thanks go to Norm Brandinger from Five9 for reporting!

        (cherry picked from commit aee014beb78be050bd2272ee0080a6f8063d9ec0)


2022-09-18  OpenSIPS  <github@opensips.org>
        * [8fd2b1283] :

        Rebuild documentation


2022-09-16  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [76984aa25] :

        [TCP] fix init TCP support for auto-scalled procs

        When starting the TCP Main proc, be sure we initialize the MAIN<>Worker communication sockets also for the procs to be potentially scaled in the future.
        `pt[n].unix_sock` is valid only for running procs (not for the "autoscale to-be"), so use the `pt[n].tcp_socks_holder[0]` holder (valid for all procs, running or not).
        Thanks go to Yury Kirsanov and Slava Bendersky for reporting and helping with the troubleshooting.

        (cherry picked from commit d7a4bf8f134d3d2cd761f528e6963445c9ef9b06)


2022-09-16  Razvan Crainea  <razvan@opensips.org>
        * [50f97bc8b] :

        mi_script: fix value of parameters provided through AVP

        (cherry picked from commit d6e91459d3fb3fd8e8278561242af56047f51e16)


2022-09-15  Liviu Chircu  <liviu@opensips.org>
        * [7df9ff717] :

        parse_uri: Avoid dereferencing invalid memory on error logging

        (cherry picked from commit 99c9a828dd80f2874e89a520150565fa9e9162c7)


2022-09-15  Liviu Chircu  <liviu@opensips.org>
        * [7cc624275] :

        parse_uri: Fix some UB corner-cases (reported by OSS-Fuzz)

        * possible bitwise left shift with a negative value (UB)
        * possible integer overflow, due to multiplication (UB)

        Fixes OSS-Fuzz#48273

        (cherry picked from commit cf95355290c64e2693f88d17e3830405f97962d9)


2022-09-15  Liviu Chircu  <liviu@opensips.org>
        * [d798d7beb] :

        auth_db: Update docs on "password_column"

        (cherry picked from commit b57c53db1ec7938aa477663e581898fe134f91b9)


2022-09-14  Vlad Paiu  <vladpaiu@opensips.org>
        * [3ca73f647] :

        Added ref counting for the tracing info


2022-09-14  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [fbaef964b] :

        [tm] fix adding rport in local route

        Force the VIA rebuild if add_local_rport() (for adding rport param to VIA) was called from local route

        Closes #2833

        (cherry picked from commit c85d93c7a3c3e9177d4621163295816b77bcdddc)


2022-09-14  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [c477a5f61] :

        [dialog] fix bad unref leading to dialog leaking

        When using the dlg_on_timeout to set a new timeout for the dialog, due to the timer related operations (re-inserting in the list), an extra ref cnt happens. If not unref'ed, the dialog will stay (as terminated) forever in memory.

        Closes #2788

        (cherry picked from commit 4062de45d0ccfe62bb4f9475f6320d2726349bab)


2022-09-13  Liviu Chircu  <liviu@opensips.org>
        * [8df72f92f] :

        clusterer: Always broadcast a packet after shtag activation

        Due to network outages, it is currently possible for both sharing tags
        of an Active/Backup pair to end up in ACTIVE state.  This patch makes it
        so a "cluster_shtag_set_active" MI command always broadcasts (forces)
        the ACTIVE state onto all neighbours, thus fixing the incorrect,
        post-outage state of the tags.

        Credits to @bogdan-iancu and @rvlad-patrascu for their contributions to
        this fix!

        (cherry picked from commit 77c24e2122ea6f66f251349e05984cfbdef9166c)


2022-09-12  Bogdan Andrei IANCU  <bogdan@opensips.org>
        * [c52539955] :

        Merge pull request #2885 from john08burke/multipart_crash

        pvar: fix crash when parsing multi-part body with negative index
        (cherry picked from commit cd853142daa005c20f54cfb93ae99d48ba1e510c)


2022-09-11  OpenSIPS  <github@opensips.org>
        * [f3c6ed29a] :

        Rebuild documentation


2022-09-09  Liviu Chircu  <liviu@opensips.org>
        * [d018ac391] :

        CIFuzz: Only run Fuzz tests for 'master' branch

        Both the parser and lib/ code is quite stable and rarely changes across
        releases.  Moreover, any fix or optimization will typically get
        backported to all stable releases.

        So, for now, let's avoid doubling down on the fuzzing compute power and
        run the fuzzers only on master!


2022-09-09  Liviu Chircu  <liviu@opensips.org>
        * [d98b0b648] :

        mem.h: Avoid warnings when explicitly defining -DSYSTEM_MALLOC

        (cherry picked from commit a11f9c74064bd5ec79445e7042d85f151672d038)


2022-09-09  Razvan Crainea  <razvan@opensips.org>
        * [44e66130a] :

        mi_script: fix infinite loop where there are multiple params

        (cherry picked from commit 34ce451c664a3f51299cccbc263a8fb1bca214c7)


2022-09-08  Vlad Patrascu  <vladp@opensips.org>
        * [5d04b5e76] :

        Add QM_DBG_MALLOC_HIST flag to Makefile.conf template

        (cherry picked from commit 4c748b3f8380185ed74ed8ea37e9e9e9470b685f)


2022-09-08  Razvan Crainea  <razvan@opensips.org>
        * [1ddc67595] :

        media_exchange: make sure we do not unreference NULL dlg

        (cherry picked from commit 581a4b8e5b9575fb63c631886b58b051797f2642)


2022-09-08  Razvan Crainea  <razvan@opensips.org>
        * [e2b66bc91] :

        media_exchange: allow module without rtp_relay

        (cherry picked from commit 1794be4e8d281588f3e43a976596cd8d40cf295a)


2022-09-06  Vlad Patrascu  <vladp@opensips.org>
        * [691c96e87] :

        mem/q_malloc: add support for debug history

        By setting a size via the QM_DBG_MALLOC_HIST define, we now keep a
        history of the file, func, line debug information in each fragment.

        (cherry picked from commit bc3e62f7e9e0c56b984ca38a26a78651669e594b)


2022-09-06  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [c2da73fd4] :

        Proper fix for core status setting upon shutdown

        Use a lighter version of sr_set_core_status() in order to avoid any shm / locking / event related operations when setting the shutdown core status.
        (see original report and workaround e7b8084b9823ae6004f5abca62cf752ab317d507)

        (cherry picked from commit 49d3888c9eba31ccb5a6ee0d7d5bd7565e8aca8d)


2022-09-06  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [f694d9c83] :

        Revert "Temporary fix for generating clean shutdowns even for mem corruption crashes"

        This reverts commit afe99b7b1574a3ef28e1399ddb8d7219db70518a.


2022-09-06  Liviu Chircu  <liviu@opensips.org>
        * [68616b0a8] :

        dialog: Fix crash in debugging function (debug_main_timer_list())

        DBG:dialog:debug_main_timer_list: testing forward loop with visited = 1
        DBG:dialog:debug_main_timer_list: testing backward loop with visited = 2
        DBG:dialog:insert_dlg_timer_unsafe: inserting 0x7f303dba8d80 for 7205
        DBG:dialog:debug_main_timer_list: testing forward loop with visited = 1
        ERROR:dialog:debug_main_timer_list: Detected something wrong with main timer list on forward linking for entry 0x7f303dba8d80
        DBG:core:handle_sigs: OpenSIPS exit status = 134
        INFO:core:handle_sigs: child process 139408 exited by a signal 6
        (cherry picked from commit 4c6a8ec5d4ac6e0faceaa5e0acb6863d992f59a7)


2022-09-06  Liviu Chircu  <liviu@opensips.org>
        * [57e4bf59c] :

        dialog: Fix shm memleak on OOM error case

        (cherry picked from commit 6d03091833a0ee9a9d1294b0aff87a7435c60bf4)


2022-09-05  Razvan Crainea  <razvan@opensips.org>
        * [a65b95a4a] :

        siprec: partial cleanup when recording is dropped mid call

        When the recording is dropped in the middle of the call, we should only
        cleanup the B2B info, not the dialog ones, as callbacks had already been
        registered. Therefore, we shall only mark the recording as not started
        and do a proper cleaup at the end of the dialog

        (cherry picked from commit 86f6b1e90d64d0b5bb9d172abd535ac1fe4b4e0d)


2022-09-05  Liviu Chircu  <liviu@opensips.org>
        * [a412b79b7] :

        rtpproxy: Fix bad error handling on rare OOM case

        (cherry picked from commit d2cec34346fea49a98b5c5d33ae20044e47eec69)


2022-09-04  OpenSIPS  <github@opensips.org>
        * [5b6af91d0] :

        Rebuild documentation


2022-09-02  Razvan Crainea  <razvan@opensips.org>
        * [080c6c473] :

        tracer: fix possible double free during dialog tracing

        The initial transaction info free algorithm was to release the memory
        when there is no other tracing instance running. However, when engaging
        dialog tracing, a single dialog tracing instance is created, without a
        transaction one. But, when the BYE is received, it is traced using the
        transaction tracing, without an instance. Thus, the free function is
        called twice, once for dialog and once for transaction:
         * first call will find the dialog instance and release it, and release
           the info (since there are no remaining instances)
         * the second call, for the transaction instances releases would
           basically access invalid memory, which could lead to either double
           free, or even memory corruptions (in case fragment would had been
           repurposed)

        Credits for Vlad Paiu for troubleshooting, brainstorming and
        providing useful logs

        Fixes #2869

        (cherry picked from commit 184d1cd51fcc5f567d2ddb4017f7223f1c2eb99c)


2022-09-01  Liviu Chircu  <liviu@opensips.org>
        * [0f1d12a26] :

        Cfg Parser: Allow whitespace before the "include_file" statement

        Fixes #2892

        (cherry picked from commit c477e491b43358af235a83eb9292769127849ac1)


2022-08-30  Vlad Paiu  <vladpaiu@opensips.org>
        * [afe99b7b1] :

        Temporary fix for generating clean shutdowns even for mem corruption crashes
        FULL fix would be to not worry about mem locks in the shutdown procedure ( ie. what cleanup() is doing )

        (cherry picked from commit e7b8084b9823ae6004f5abca62cf752ab317d507)


2022-08-30  Razvan Crainea  <razvan@opensips.org>
        * [bf7c0eb89] :

        tracer: fix trace_stop removal from list

        Fix the way we detect the previous element when removing from list
        Before this change, if there were multiple elements in the list, they
        were leaking due to the bad handling of the list removal.

        (cherry picked from commit dae9817b313cb98ed3d4d449064c64c9a4ac7cd8)


2022-08-29  Razvan Crainea  <razvan@opensips.org>
        * [5288ffa75] :

        mi_script: force a positive value in eventfd

        Thanks go to Suchi Sahoo from Five9 for reporting it

        (cherry picked from commit b2c6ce6551f6469e559599bfc47d314186755f36)


2022-08-28  OpenSIPS  <github@opensips.org>
        * [aa0b5d70e] :

        Rebuild documentation


2022-08-26  Vlad Patrascu  <vladp@opensips.org>
        * [370c4c859] :

        Throw startup error if event_route can never be run

        OpenSIPS would start without any error or warning if an event_route
        is used but the 'event_route' module is not loaded.

        (cherry picked from commit bb9bd920feb712cf8ec0c32d4e418056fae8cc81)


2022-08-25  Vlad Patrascu  <vladp@opensips.org>
        * [600d56a87] :

        clusterer: fix parameters for E_CLUSTERER_REQ_RECEIVED event

        Fixes #2899

        (cherry picked from commit c6cc088ffe6a2ac0ae87f04f1cf69de3094e6a29)


2022-08-24  Razvan Crainea  <razvan@opensips.org>
        * [b7d007d92] :

        clusterer: advertise tag's active state only in defined cluster

        Thanks go to Vlad Patrascu for brainstorming this!

        (cherry picked from commit d741f1875cb2b01e6deb96ae2235e23e029dc35f)


2022-08-24  Bogdan-Andrei Iancu  <bogdan@opensips.org>
        * [c1ee52a4f] :

        Fix iteration on the reports of an identifier

        Proper test the overflow condition (this was generating some shm mem leak)
        Proper iteration for printing the reports after the buffer overflows

        (cherry picked from commit f8ee4c7fb4b08c0d96bf04ae3472ef195cb8ee3f)


2022-08-24  Razvan Crainea  <razvan@opensips.org>
        * [0b51141ab] :

        mi_script: fix previous commit

        This is the commit that actually resolves the memory leak

        Thanks go to @liviuc for reporting this

        (cherry picked from commit ad02392053f8fb79f74886ca67f536202e24f1cc)


2022-08-24  Razvan Crainea  <razvan@opensips.org>
        * [1744b82a0] :

        mi_script: prevent leak on write error case

        Thanks go to Suchi Sahoo from Five9 for reporting it

        (cherry picked from commit 443fdf90e635b48debcf71449e6c72754e3b24c7)


2022-08-23  Razvan Crainea  <razvan@opensips.org>
        * [6fac45d4b] :

        b2b_sdp_demux: fix possible invalid memory access

        Prevent free-then-use error when b2b_key cannot be copied in shm.

        Thanks go to Suchi Sahoo from Five9 for reporting it

        (cherry picked from commit d9085641758e4a0b9dcf143941c945a150a63665)


2022-08-22  Razvan Crainea  <razvan@opensips.org>
        * [99d9a24a9] :

        b2b_entities: free key returned by client_new

        prevent pkg leak of b2b_key returned by client_new

        (cherry picked from commit 60043ae3713052614e535371c100a3668c47af8f)


2022-08-22  Razvan Crainea  <razvan@opensips.org>
        * [9ee90466e] :

        b2b*: consider dlginfo for requests an replies as well

        (cherry picked from commit 7aa2007300fac85645bb4edaea3085557aae7923)


2022-08-21  OpenSIPS  <github@opensips.org>
        * [adbefdf91] :

        Rebuild documentation


2022-08-18  Razvan Crainea  <razvan@opensips.org>
        * [7ca2660bc] :

        b2b_sdp_demux: fix pkg memory leak on re-INVITEs

        Thanks go to Norm Brandinger and Suchi Sahoo from Five9 for reporting

        (cherry picked from commit 644b57b6f734ab257a4c505bd6a8dc312eb9229a)


=========================== Release 3.3.1 ==============================

2022-08-17  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [e5377a6a3] :

	Fix crash in bogus OOM handling while TCP async in enabled.
	The async support assums the c->async exists all the time, so error if we cannot alloc the c->async struct while creating a new TCP conn
	(cherry picked from commit 0b270ad04db8081bbb829f89fa515fa0c37698c7)


2022-08-17  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [5dc2ec77b] :

	[call_center] avoid a negative setup_time in CDR
	In the DB schema, the setup_time is an unsigned, and a -1 value was computed while a call was rejected by an agent
	(cherry picked from commit 9dc28a91c68db792f1df4cf1d6ce8d0faf83ad0e)


2022-08-16  Liviu Chircu  <liviu at opensips dot org>
	* [2aa0cafcb] :

	Various code/doc improvements; Var renames; Fix typos
	(cherry picked from commit 28d87ad30f99abcfaca678955cff6b38bdc2b24f)


2022-08-16  Liviu Chircu  <liviu at opensips dot org>
	* [7cdbc996e] :

	Fix various doc typos; Improve wording
	(cherry picked from commit dd7b3da0397fe5ccc9978ec9138a6d4395c3f941)


2022-08-16  Razvan Crainea  <razvan at opensips dot org>
	* [161c54149] :

	b2b_entities: provide dlginfo for entity_delete
	Each module that uses b2b_entities, should duplicate the dlginfo
	structure and pass it to the entity_delete API call, otherwise wrong
	entities might be deleted due to mismatches
	(cherry picked from commit ce19581557c69dafee5095fecce831e2c2d80704)


2022-08-14  OpenSIPS  <github at opensips dot org>
	* [bae9ceb35] :

	Rebuild documentation


2022-08-09  Razvan Crainea  <razvan at opensips dot org>
	* [3cc86d722] :

	rtp_relay: reset late flag for new negotiations
	(cherry picked from commit 22fe3bef705e3de98b950065bb2a948789c8b3ae)


2022-08-09  Razvan Crainea  <razvan at opensips dot org>
	* [b19462dc3] :

	rtp_relay: fix typo in test for ACK in late
	(cherry picked from commit 118dcebac717b6a3299407ac152719f38fda5bd4)


2022-08-08  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [0925db229] :

	Fix possible bogus exec_msg_threshold reporting
	Reset the exec_msg_threshold stack (longest found actions) when a parse error is detected (before running the actual scritp). Otherwise we may inherit old records from previous runs
	(cherry picked from commit e7ed29e50f8dc76717fe38281945aa331958db25)


2022-08-07  OpenSIPS  <github at opensips dot org>
	* [c3c9c159c] :

	Rebuild documentation


2022-08-01  Vlad Patrascu  <vladp at opensips dot org>
	* [9cdcdf238] :

	clusterer: add ability to disable replication packets dispatching
	Add a new "dispatch_jobs" modparam which controls whether the processing of
	replicated packets is dispatched through IPC or not.
	Disabling the dispatching mechanism prevents high CPU loads caused by
	the "thundering herd" problem.

	Credits go to Rizwan Syed and Connex Carrier Services for supporting the
	troubleshooting of this issue.
	(cherry picked from commit 0c66936f3d343226930042bc463b467d8a62fde3)


2022-08-01  Vlad Patrascu  <vladp at opensips dot org>
	* [2bee820e8] :

	dialog: don't drop synced dialogs with no sharing tag
	(cherry picked from commit 3e98325e8546bcbfefa15644c4835c72da4c7aee)


2022-07-31  OpenSIPS  <github at opensips dot org>
	* [b69963e9a] :

	Rebuild documentation


2022-07-29  Vlad Patrascu  <vladp at opensips dot org>
	* [74c4ee56a] :

	dialog: fix typo in commit 26d0607
	(cherry picked from commit 3cebaf73059932183392761a040969efb887bcea)


2022-07-28  Vlad Patrascu  <vladp at opensips dot org>
	* [26d060753] :

	dialog: fix incorrectly discarded dialogs after sync
	Syncing while the donor node is also sending live replication packets
	may lead to incorrectly discarding some of the newly received dialogs.
	There were two ways in which new dialogs were actually mistaken as old,
	"local" dialogs from before syncing:
	* overwriting the dialog flags when handling a replicated update;
	* not marking live replicated dialogs received during sync as "new" dialogs.
	(cherry picked from commit 46e9a53ead0574272609038dc9dbfb92f9087fe4)


2022-07-26  Liviu Chircu  <liviu at opensips dot org>
	* [8aa317126] :

	proto_hep: Fix log message severity (just a debug log)
	(cherry picked from commit 612e7a1feb28a6aa359b24a6237928c0e06a3605)


2022-07-24  OpenSIPS  <github at opensips dot org>
	* [57e2c8d71] :

	Rebuild documentation


2022-07-22  Maksym Sobolyev  <sobomax at sippysoft dot com>
	* [28a3b2323] :

	python: Don't leak memory in python_exec().
	The bug was introduced in rev 302058d8d38 (April 2019) along
	with module API cleanup and affects all releases since 3.0.


2022-07-21  Vlad Patrascu  <vladp at opensips dot org>
	* [315d1fce9] :

	cachedb_local: fix crashes when cachedb_url modparam is not set
	This commit fixes crashes when an OpenSIPS module uses a collection that is
	not explicitly set for any cachedb_url modparam.
	(cherry picked from commit 92512fc562b09820ae4c2d0fba66659f56a5b3a1)


2022-07-21  Vlad Patrascu  <vladp at opensips dot org>
	* [c0898caaf] :

	sql_cacher: don't allow usage of a replicated local cache
	Using a replicated collection for cachedb_local would lead to invalid
	keys in the cache due to reload version inconsistencies.
	(cherry picked from commit 1b9662649d2e0606225b5e198a083619d0ca97e1)


2022-07-20  Vlad Patrascu  <vladp at opensips dot org>
	* [a0a2cabec] :

	clusterer: issue sync request under lock
	(cherry picked from commit bf178b04ffec9fa22d75fc5266286f93721eec5d)


2022-07-19  Vlad Patrascu  <vladp at opensips dot org>
	* [ceb96334c] :

	clusterer: fix deadlocks when syncing
	(cherry picked from commit 652d89fbeffc180aea68e8bdfcac799d53124e6b)
	(cherry picked from commit 69031794f90285ffae7351dae513f763a3d89ef9)


2022-07-17  OpenSIPS  <github at opensips dot org>
	* [cbc91181d] :

	Rebuild documentation


2022-07-16  Vlad Patrascu  <vladp at opensips dot org>
	* [ab31a563a] :

	tls_wolfssl: disable example applications from library build
	(cherry picked from commit 6d248c5eebef0abf27c594ed3d587d844fb52262)


2022-07-14  Vlad Patrascu  <vladp at opensips dot org>
	* [4c4e5b4d3] :

	sql_cacher docs: add sections for SR identifiers
	(cherry picked from commit 21a5534ddcd0686aa5742f0ceea227b93b2e86ff)


2022-07-14  Vlad Patrascu  <vladp at opensips dot org>
	* [4a15cef4c] :

	dialplan docs: add sections for SR identifiers
	(cherry picked from commit bb96e5be32a8c6b3d648f5fcdbc54b62944681f1)


2022-07-14  Vlad Patrascu  <vladp at opensips dot org>
	* [6dbe472a8] :

	dispatcher docs: add sections for SR identifiers
	(cherry picked from commit c04a72ede8309b1e7cae1da3200a4eedd784612f)


2022-07-14  Vlad Patrascu  <vladp at opensips dot org>
	* [e48f68bc7] :

	drouting docs: add sections for SR identifiers
	(cherry picked from commit 3eb20bd09da7c51d94c7e2b7e6d28b17a1a6e3bc)

=========================== Release 3.3.0 ==============================

2022-07-14  Vlad Patrascu <vladp@opensips.org>
	* [795661a46] :

    clusterer: fix possible deadlocks when discovering a new node

    Use only standard RW locking operations for the global list lock instead of
    the "switchable" mechanism (aquiring the lock for writing when necessary).

    (cherry picked from commit e0e9e2f943ca5bd35f653f6e55a89000e8b262e6)


2022-07-14  Bogdan-Andrei Iancu <bogdan@opensips.org>
	* [5d2072864] :

    Added sr_list_identifiers MI command

    A very simply and useful helper function for the Control Panel integration


2022-07-14  Liviu Chircu <liviu@opensips.org>
	* [3d8009c70] :

    tcp_mgm: Fix startup issue; Fix "while" fallthrough and bad logs

    (cherry picked from commit b83549e453dc461315ae44bb03b17f6b3b612ab3)


2022-07-14  Razvan Crainea <razvan@opensips.org>
	* [0a44f810a] :

    b2b_sdp_demux: enhance events logging

    (cherry picked from commit f7b71acb8c41880c04f456a1416e3de73b51afeb)


2022-07-13  Vlad Patrascu <vladp@opensips.org>
	* [9ce8480e8] :

    clusterer: queue sync request after all send errors

    (cherry picked from commit 46e56d4170079eed46686c57986c2ccf5756779e)


2022-07-13  Vlad Patrascu <vladp@opensips.org>
	* [ca6c410ef] :

    clusterer: properly set status/report all queued sync requests

    (cherry picked from commit e8d1407cdcf60fe77313a1dbd8850d4243e6acf2)


2022-07-13  Vlad Patrascu <vladp@opensips.org>
	* [e0d36bb95] :

    clusterer: properly compute sync fallback interval in all cases

    The timestamp of the sync request was not saved when queueing the sync
    after certain send errors.

    (cherry picked from commit 816ef38b7c97b811a5822ceab9ebbe81609b1b6b)


2022-07-12  Vlad Patrascu <vladp@opensips.org>
	* [db4aa8c3c] :

    clusterer: prevent permanent sync in progress state

    If the sync end marker packet is not received, nodes get stuck in a
    permanent "sync in progress" state. This commit introduces a timeout,
    configurable via the "sync_timeout" modparam, after which a node reverts
    to the not synced state, if no sync data packet is received.

    (cherry picked from commit 2e5bf28aa91d9cda8304bc19bbba770e83d7cb22)


2022-07-12  Razvan Crainea <razvan@opensips.org>
	* [b3bb0337f] :

    b2b_entities: fix the right number of rows when leg is missing

    Thanks go to Norm Brandinger from Five9 for reporting, testing and
    providing all the help to pinpoint this issue!

    (cherry picked from commit b005a3795f9a762011f488cb403f2e9bd7a7ade1)


2022-07-10  OpenSIPS <github@opensips.org>
	* [16f95cbe3] :

    Rebuild documentation


2022-07-7 20  Vlad Patrascu <vladp@opensips.org>
	* [873239f76] :

    tls_wolfssl: fix differing TLS version for write duplicate struct

    When using a range of supported TLS versions, the WOLFSSL write duplicate
    structure uses the highest TLS version set for the context instead of the one
    actually negociated for the current session. This may lead to errors for TLS
    write or shutdown operations, for ciphers that are not supported in the
    TLS version used by the write dup structure.

    Fixes #2729

    (cherry picked from commit 35b29e618b1175618c61747591dcf87370056102)


2022-07-8 18  Liviu Chircu <liviu@opensips.org>
	* [113331a80] :

    acc docs: Clarify that do/drop_accounting() can be called multiple times

    (cherry picked from commit be2ca3851c80d1e572f536a3170345137e6018e6)


2022-07-8 15  Liviu Chircu <liviu@opensips.org>
	* [b6446fd9e] :

    perl: Fix PKG corruption in perl_exec() (off-by-one)

    (cherry picked from commit d7f9a851149010d1b99aeb9e04339994414c8731)


2022-07-8 15  Liviu Chircu <liviu@opensips.org>
	* [7ddf0d3aa] :

    perl: Fix PKG memory leak in perl_exec()

    The leak would happen 100% of the time on each perl_exec().

    (cherry picked from commit 0742814a7f72d99d0de6624acca7f107059f03bf)


2022-07-7 02  Nick Altmann <nick.altmann@gmail.com>
	* [580ab7984] :

    DEB Packaging: don't build auth_jwt package for old distributives


2022-07-5 19  Vlad Patrascu <vladp@opensips.org>
	* [2a1ccc673] :

    clusterer: fix if statement with empty body

    (cherry picked from commit 283d2dd60789cf37bfe22d3e9b0e90c1f252ed73)


2022-07-5 18  Vlad Patrascu <vladp@opensips.org>
	* [a8fd78d12] :

    clusterer: fix seed fallback during sync

    Do not fall back to the synced state for a capability if syncing is
    actually in progress.

    (cherry picked from commit 3960008a14fa75395cc4b49c7e7cae52ac68aed7)


2022-07-5 18  Vlad Patrascu <vladp@opensips.org>
	* [a0ec9ad1e] :

    clusterer: add sync status and reporting for capabilities

    (cherry picked from commit 7db084285bd79e290c71db21d865bb00626d236e)


2022-07-4 10  Vlad Patrascu <vladp@opensips.org>
	* [c70d1a271] :

    xml: fix accessing node value with CDATA sections

    (cherry picked from commit 4a4248cbfd9c289ea16d68b45d1dbaa8a5daf064)


2022-07-3 00  OpenSIPS <github@opensips.org>
	* [b6384d9e9] :

    Rebuild documentation


2022-06-29  Vlad Patrascu <vladp@opensips.org>
	* [b704b9139] :

    clusterer docs: fix link to status/report interface docs

    (cherry picked from commit 83500a89d1ab1ad7dd5dfc8813f19b9ae67c27ab)


2022-06-29  Vlad Patrascu <vladp@opensips.org>
	* [552ff4c96] :

    clusterer: add reporting for node state changes

    Add reporting via the status/report interface through the "node_states"
    identifier.

    (cherry picked from commit 3d0249fd31253fa8383379dae3374d1258465a85)


2022-06-28  Vlad Patrascu <vladp@opensips.org>
	* [36d1cc016] :

    b2b_logic docs: fix example for b2b_bridge_request()

    (cherry picked from commit 75fc8f0388b6505db1717a503a691c68dddd68df)


2022-06-28  Vlad Patrascu <vladp@opensips.org>
	* [0156d5303] :

    b2b_logic: complete the Max-Forwards fix in commit 52a2adb

    Also decrease Max-Forwards when bridging, based on the value from the
    initial INVITE of the server entity, if it's still present in the session.

    (cherry picked from commit c328eb06d01c52d7d0a1fadd717c59003c4456b8)


2022-06-26  OpenSIPS <github@opensips.org>
	* [cdd482431] :

    Rebuild documentation


2022-06-25  Vlad Patrascu <vladp@opensips.org>
	* [89e2e8a11] :

    clusterer: make sure a discovered node is not added multiple times

    Do not insert a new node into the list multiple times when:
    * receiving multiple CLUSTERER_NODE_DESCRIPTION BIN messages
    * we receive a CLUSTERER_NODE_DESCRIPTION message and the node also
      appears in CLUSTERER_FULL_TOP_UPDATE messages.

    (cherry picked from commit b8e107517fd032f16f16df242a02474efc2312d2)


2022-06-25  Vlad Patrascu <vladp@opensips.org>
	* [260dce3dd] :

    b2b_logic: properly release locks in a couple of API functions

    (cherry picked from commit 78fd0d668d394ebab5cbb38adfcb2d785f2ad65d)


2022-06-18  Vlad Patrascu <vladp@opensips.org>
	* [3d70f0fd5] :

    b2b_logic: fix possible crash when init_callid_hdr param is set

    The crash would occur if the Call-ID header name is received in compact
    form("i" instead of "Call-ID").

    Thanks to David Escartin from Sonoc for reporting.

    (cherry picked from commit fa2145b12cb6590e4366cb8a2659b7b79813b374)


2022-06-18  Vlad Patrascu <vladp@opensips.org>
	* [7f5fb71bc] :

    b2b_entities: fix possible shm memory leaks

    Fix leaking transactions when deleting an entity without sending a final reply.

    Thanks to David Escartin from Sonoc for reporting.

    (cherry picked from commit c7a5f41754c03fa20921e86a7ff25d2f0b0abf76)


2022-06-18  Vlad Patrascu <vladp@opensips.org>
	* [457c28369] :

    b2b_logic: prevent possible crashes when accessing $b2b_logic vars

    Make sure to always search in the hash for the current tuple instead of relying
    on a pointer saved in the b2b context. There might be races between processing
    BYEs and deleting the tuple and running a b2b_logic reply route where we access
    a $b2b_logic variable.

    Thanks to David Escartin from Sonoc for reporting.

    (cherry picked from commit ff646336e82ce1bdea56156c826520090c9786ad)


2022-06-18  Vlad Patrascu <vladp@opensips.org>
	* [77dab6315] :

    b2b_entities: properly handle negative replies to reINVITEs

    Do not change the dialog state to terminated as a result of a sending a
    negative reply to a reINVITE. This would have prevented the forwarding of
    further requests.

    Thanks to David Escartin from Sonoc for reporting and testing the fix.

    (cherry picked from commit e8df85a64a3b8095cd95c0b2d9254de605b61384)


2022-06-18  Vlad Patrascu <vladp@opensips.org>
	* [e6e1a5b1d] :

    b2b_entities: properly handle unexpected ACKs

    Fixes an issue where a 487 reply is not relayed after an unexpected ACK is
    received following a CANCEL.

    Thanks to David Escartin from Sonoc for reporting.

    (cherry picked from commit 81cb0903aedd2271e9a93789e83e1d96e28352f1)


2022-06-25  Vlad Patrascu <vladp@opensips.org>
	* [dcd0cf637] :

    b2b_entities: fix accessing $b2b_logic variables for PRACK requests

    Fixes #2686

    (cherry picked from commit 3b6cf1640fc569a721574faaff4132b2e2d7c477)


2022-06-23  Vlad Patrascu <vladp@opensips.org>
	* [52a2adbe2] :

    b2b_logic: properly decrease value and pass Max-Forwrads header

    This applies to requests that are effectively "passed" from one entity to its
    peer such as initial INVITEs handled with b2b_init_request() or requests
    handled with b2b_pass_request().

    Fixes #2471

    (cherry picked from commit fa84d8d0e6cf719c0d2c7bd215fa74e5e33e1a2f)


2022-06-23  Vlad Patrascu <vladp@opensips.org>
	* [7f62a5c39] :

    b2b_entities: allow enforcing the Max-Forwards value

    Related to #2471

    (cherry picked from commit 404f580026f2bb67cdacf56e1384213643a0505e)

=========================== Release 3.3.0-rc1 ==============================

2022-06-22  Nick Altmann  <nick at altmann dot pro>
	* [fdc37a160] :

	DEB package: fix build for ubuntu bionic


2022-06-22  Vlad Patrascu  <vladp at opensips dot org>
	* [778f6b2aa] :

	clusterer: use the proper locking type when we might switch for writing
	Aquire lock for switchable reading when handling a full topology update,
	wich might trigger the insert of a new node in the list and thus using
	the lock switch mechanism.
	(cherry picked from commit ead6f1fcae3881a15b6ec4e8e6026bdd5d99ecb3)


2022-06-21  Liviu Chircu  <liviu at opensips dot org>
	* [54fc4f184] :

	aaa_diameter: Fix compile warnings
	(cherry picked from commit 008d4d6b048ad02a7a83075433a891aad3e59766)


2022-06-21  Liviu Chircu  <liviu at opensips dot org>
	* [188e4df21] :

	Complete the support for current route name/type
	  * $route.type -> equivalent of the former $rT variable (now indexable!)
	  * $route.name -> new variable, giving the route name (also indexable)
	(cherry picked from commit 9f2be4765a150cd9dde2b5a52c8cd164a1210d0c)


2022-06-21  Nick Altmann  <nick at altmann dot pro>
	* [0247e50bd] :

	RPM package: fix typo


2022-06-20  Nick Altmann  <nick at altmann dot pro>
	* [0f13bea9b] :

	DEB package: cleanup, make it better readable


2022-06-20  Nick Altmann  <nick at altmann dot pro>
	* [9b6d3e651] :

	Packaging: add opensips-auth-modules subpackage Thanks @razvancrainea for initial patch.


2022-06-19  OpenSIPS  <github at opensips dot org>
	* [a112553ca] :

	Rebuild documentation


2022-06-16  Liviu Chircu  <liviu at opensips dot org>
	* [1e05d6723] :

	aaa_diameter: Add support for Grouped AVPs
	A Grouped AVP is just a list of other AVPs (possibly including other
	Grouped AVPs, in a recursive fashion).  This commit adds support for
	grouped AVPs on all fronts:

	  * in the syntax of the "dictionary.opensips" config file, to allow
		fully defining grouped AVPs, regardless of their complexity
	  * in the input JSON passed to dm_send_request()
	  * in the output JSON returned by dm_send_request()
	(cherry picked from commit 6ca51091d9c18e93c9dc1cd2549f12bfef79703a)


2022-06-14  Razvan Crainea  <razvan at opensips dot org>
	* [fac1d468e] :

	rtpengine: fix API crash when no set/node is defined
	(cherry picked from commit 206b3a1d0f3cc899b6076657c9ccb89eeb3f8395)


2022-06-12  OpenSIPS  <github at opensips dot org>
	* [372b489e5] :

	Rebuild documentation


2022-06-11  Vlad Patrascu  <vladp at opensips dot org>
	* [67b4d5dc7] :

	b2b_entities: use the proxy from b2b_client_new() for all requests
	Fixes #2759
	(cherry picked from commit ceb1d6a074383bca96df0e7a592719dda52bd60b)


2022-06-10  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [c556e25a6] :

	Fix body re-assembling when adding a new body part to an emptry received body
	This fixes a regression introduced in b0591d285ad966c2cb13672de8071c03fcba7414
	Fixes #2823
	Credits go to @pergolafabio for the detailed reporting
	(cherry picked from commit a05893a631193a37548cfae292ed7f00f63044e3)


2022-06-09  Vlad Patrascu  <vladp at opensips dot org>
	* [3dcfb8445] :

	msrp_gateway docs: fix overview about msrp_gw_answer() params
	(cherry picked from commit 9cdc27c2295a2fbaab7143d81d641e934b53fc24)


2022-06-09  Vlad Patrascu  <vladp at opensips dot org>
	* [a37040f2f] :

	tm: allow t_new_request() in all route types
	(cherry picked from commit 09e626b0a59a2e97eaa7e5181ad0196cd8b5a128)


2022-06-07  Vlad Patrascu  <vladp at opensips dot org>
	* [05016a0da] :

	msrp_ua: fix param name for uac_auth module dependency
	(cherry picked from commit 87b3866aa10dcd47cfffb0d824d077e94aaefd89)


2022-06-07  Vlad Patrascu  <vladp at opensips dot org>
	* [ab0dd9d6b] :

	msrp_ua: fix cleanup of expired sessions
	(cherry picked from commit 8793e524895ad77fd9a9dacbd3911949395a75f5)


2022-06-07  Vlad Patrascu  <vladp at opensips dot org>
	* [64a3c80e9] :

	msrp_relay: add the Authentication-Info header when authorizing
	(cherry picked from commit 436f915a29c3917a1854eebfa3b79eaf4889d91e)


2022-06-07  Vlad Patrascu  <vladp at opensips dot org>
	* [2faaf2886] :

	auth: add API function that builds an Authentication-Info header
	(cherry picked from commit 2b43d71a46be0bc89497bcfe4c4a2eff817c801d)


2022-06-07  Vlad Patrascu  <vladp at opensips dot org>
	* [e42047c02] :

	msrp_ua: properly support the use of an MSRP relay
	(cherry picked from commit d560f054fcf6e17504605ffc0f330148d514be01)


2022-06-07  Vlad Patrascu  <vladp at opensips dot org>
	* [b156a8f96] :

	proto_msrp: allow no extra headers in msrp_send_request()
	(cherry picked from commit 53acffe4035df88d2d9f53c0f5f7e9a91cd7e93a)


2022-06-07  Vlad Patrascu  <vladp at opensips dot org>
	* [68245bbcf] :

	proto_msrp: properly support WWW-Authenticate header when parsing
	(cherry picked from commit b0cb41088b71e2054e27f414c9fe521c8b2c0332)


2022-06-07  Liviu Chircu  <liviu at opensips dot org>
	* [461103d2f] :

	mi_script: Fix error log on mi() with NULL output pvars
	Proper handling for the 2nd parameter NULL case.  Fixes this error:

	Jun  7 06:36:23 [61] ERROR:core:pv_set_value: bad parameters
	(cherry picked from commit bdc51cee33eb18c42abb37fe432e2c8c033384fa)


2022-06-05  OpenSIPS  <github at opensips dot org>
	* [fbd3cdcc0] :

	Rebuild documentation


2022-05-27  Liviu Chircu  <liviu at opensips dot org>
	* [cbcdbbc88] :

	aaa_diameter: Rework exposing command results to script
	The initially exported value of Result-Code AVP integer value was not
	ideal, as many Diameter exchanges are actual queries, with much more
	rich data to be returned than just an integer code.

	This commit replaces the "reply_code_pv" parameter of dm_send_request()
	with "rpl_avps_pv", containing a JSON Array with all AVPs from the
	Diameter Answer, as well as their values.
	(cherry picked from commit 526394aa899535c69c43557d301d00958dd36b7d)


2022-05-27  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [930e906da] :

	[db_virtual] fixed the MI db_get output
	Fix typos leading to bad json structure
	Reported by @bctff
	Closes opensips-cli/#94
	(cherry picked from commit 96d8113e9da6f01dc1222364b80d975284d42336)


2022-05-25  Vlad Patrascu  <vladp at opensips dot org>
	* [1d017d716] :

	Properly exclude tls_openssl/wolfssl when using menuconfig
	(cherry picked from commit 870f19040b2e28d671552ff2d1e62c7661333894)


2022-05-25  Vlad Patrascu  <vladp at opensips dot org>
	* [370f7bbfa] :

	msrp_gateway: properly report MSRP leg setup failure
	Add an event triggered when the SIP session fails to set up on the
	MSRP side, when using the msg_to_msrp() function. This way, a message
	describing the failure can be generated on the MESSAGE side from an
	event route, for example.
	(cherry picked from commit a3c18a685fbb4e7d563dd0001a2929e5eb3203cf)


2022-05-25  Vlad Patrascu  <vladp at opensips dot org>
	* [723cd8dc4] :

	msrp_gateway: properly clean up lingering sessions
	Add a session timeout after which to end a session if no message has
	been received from either side for that session. Also, add a specific
	timeout that is triggered by no activity on the MESSAGE side.

	Also add the ability to list and end sessions from the outside, via MI
	functions.
	(cherry picked from commit f6fcb187d3945ad08c9995c6f6edd82701515e2b)


2022-05-25  Vlad Patrascu  <vladp at opensips dot org>
	* [14ba7e9d3] :

	msrp_gateway: fix message queueing during MSRP call setup
	(cherry picked from commit 80ba45de87e5ad6a92342955665d58c373cbd0e8)


2022-05-25  Vlad Patrascu  <vladp at opensips dot org>
	* [f40162e30] :

	msrp_gateway: fix deadlock in msg_to_msrp()
	(cherry picked from commit 3ab6dafc9274f1d6ff594ef8de3be1bd86f7aa0f)


2022-05-25  Vlad Patrascu  <vladp at opensips dot org>
	* [ccc397869] :

	msrp_gateway: fix several crashes
	(cherry picked from commit dd173e564a4f8ae29e0de4e57758e26568be7485)


2022-05-25  Vlad Patrascu  <vladp at opensips dot org>
	* [a686d9123] :

	msrp_gateway: fix module init
	(cherry picked from commit 65005d62046f833b4d2c377f6ddf4e34613e7d73)


2022-05-24  Razvan Crainea  <razvan at opensips dot org>
	* [fa6082d78] :

	clusterer: print the command that cannot be parsed
	(cherry picked from commit 8ba0309d4751ed5670800cf4fb0bdd85d6b6d7be)


2022-05-20  Vlad Patrascu  <vladp at opensips dot org>
	* [45c934658] :

	msrp_relay: allow msrps URI in Use-Path
	(cherry picked from commit 171ac784db0b9313cd17add5bf5886f2dc9e86ed)


2022-05-19  Vlad Patrascu  <vladp at opensips dot org>
	* [23a3fdb1a] :

	msrp_ua: fix crash in msrp_ua_answer()
	(cherry picked from commit 755ddd2fb0a99bdaee0e7d16d71a64185f681943)


2022-05-19  Vlad Patrascu  <vladp at opensips dot org>
	* [1d4aaf141] :

	msrp_ua: add missing docs
	Document the "advertised_contact" module param and the
	"msrp_ua_start_session" MI function.
	(cherry picked from commit 2d698c3f33d1e24c2a60ce7542d64be233b2127d)


2022-05-18  Liviu Chircu  <liviu at opensips dot org>
	* [7b400c11a] :

	Add CREDITS file for 3.3

=========================== Release 3.3.0-beta ==============================

2022-05-18  Liviu Chircu  <liviu at opensips dot org>
	* [b30bca92f] :

	Bump version to 3.3.0-beta


2022-05-18  Nick Altmann  <nick at altmann dot pro>
	* [9f7a86ce6] :

	Packaging: add msrp_gateway module into msrp-modules subpackage


2022-05-18  Vlad Patrascu  <vladp at opensips dot org>
	* [d858c554f] :

	msrp_ua: fix uninitialized variable


2022-05-18  Vlad Patrascu  <vladp at opensips dot org>
	* [227b0e78a] :

	Add msgp_gateway module


2022-05-18  Vlad Patrascu  <vladp at opensips dot org>
	* [6c228da37] :

	msrp_ua: export a module API for handling sessions


2022-05-18  Vlad Patrascu  <vladp at opensips dot org>
	* [5997acc53] :

	msrp_ua: add UAC support and fix several issues


2022-05-18  Vlad Patrascu  <vladp at opensips dot org>
	* [e6b8e9a05] :

	msrp_relay: generate report with proper status for error replies


2022-05-18  Vlad Patrascu  <vladp at opensips dot org>
	* [e9806f388] :

	proto_msrp: properly parse replies without reason string


2022-05-18  Vlad Patrascu  <vladp at opensips dot org>
	* [a87307971] :

	proto_msrp: use full path in To header when sending request


2022-05-18  Nick Altmann  <nick.altmann at gmail dot com>
	* [dcbdb18da] :

	Add missed condition for natping_partitions param in nathelper doc


2022-05-18  Răzvan Crainea  <razvan at opensips dot org>
	* [6be592387] :

	Merge pull request #2834 from nikbyte/master
	Socket flag to allow udp fragmentation


2022-05-17  Nick Altmann  <nick at altmann dot pro>
	* [1061fbf37] :

	Socket flag to allow udp fragmentation


2022-05-17  Liviu Chircu  <liviu at opensips dot org>
	* [ea9886481] :

	aaa_diameter: Document recent additions; Rename "reply_timeout"
	Rename "reply_timeout" to "answer_timeout", to better fit the Diameter
	"Request / Answer" lingo.


2022-05-17  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [a35020169] :

	[msrp_relay] allow MSRP traffic bridging...
	... via script selection of the outbound MSRP socket


2022-05-17  Liviu Chircu  <liviu at opensips dot org>
	* [bb1a39a97] :

	aaa_diameter: Add "reply_timeout" modparam and logic
	In case the Diameter Answer never arrives after invoking
	dm_send_request(), the blocked SIP worker will now eventually time out
	and return a -1 error code at script level.

	Default timeout: 2000 ms


2022-05-17  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [eade9fd7e] :

	[msrp_ua] update according to MSRP API changes (forcing socket)
	Related to 88b8f4dfcdad5d4bec138d6b1d847683733554d0


2022-05-17  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [7acbf73b9] :

	[msrp_relay] update according to MSRP API changes (forcing socket)
	Related to 88b8f4dfcdad5d4bec138d6b1d847683733554d0


2022-05-17  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [762c04a63] :

	[proto_msrp] extent API to allow forcing a specific socket...
	... upon forwarding / sending MSRP requests


2022-05-17  Liviu Chircu  <liviu at opensips dot org>
	* [ba0fa49eb] :

	aaa_diameter: Add support for generic Diameter requests
	Using a JSON Array containing the required AVPs as input, script writers
	may now send generic Diameter requests from script and also fully
	define them in the "dictionary.opensips" file, covering any possible
	Diameter application.  Usage example:

	    $var(payload) = "[
	            { \"Origin-Host\": \"client.diameter.test\" },
	            { \"Origin-Realm\": \"diameter.test\" },
	            { \"Destination-Realm\": \"diameter.test\" },
	            { \"Sip-From-Tag\": \"dc93-4fba-91db\" },
	            { \"Sip-To-Tag\": \"ae12-47d6-816a\" },
	            { \"Acct-Session-Id\": \"a59c-dff0d9efd167\" },
	            { \"Sip-Call-Duration\": 6 },
	            { \"Sip-Call-Setuptime\": 1 },
	            { \"Sip-Call-Created\": 1652372541 },
	            { \"Sip-Call-MSDuration\": 5850 },
	            { \"out_gw\": \"GW-774\" },
	            { \"cost\": \"10.84\" }
		]";

	$var(rc) = dm_send_request(3, 271, $var(payload), $var(res_code),
				$var(res_status));
	xlog("rc: $var(rc), Result-Code: $var(res_code) ($var(res_status))\n");


2022-05-17  Nick Altmann  <nick at altmann dot pro>
	* [eceb1e1c2] :

	RPM package: add b2b_sdp_demux module


2022-05-17  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [824d4dcd5] :

	[dialplan] improve README with reporting samples


2022-05-17  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [3db65b149] :

	[clusterer] improve README with reporting samples


2022-05-17  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [d7295260a] :

	[dispatcher] improve README with reporting samples


2022-05-17  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [41ddb4914] :

	[drouting] improve README with reporting samples


2022-05-17  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [c0428d503] :

	[proto_msrp] fix out socket selection based on MSRP/MSRPS indication in the target URL


2022-05-16  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [9a699e514] :

	[proto_msrp] added TLS/MSRPS related files


2022-05-16  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [362598754] :

	[proto_msrp] added TLS support (or MSRPS)


2022-05-16  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [c58ee38f6] :

	Added PROTO_MSRPS full support


2022-05-16  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [de3d88575] :

	Added generic TCP_REQ_BAD err code upon reading TCP


2022-05-16  Razvan Crainea  <razvan at opensips dot org>
	* [5b5a915d6] :

	rtp_relay: use a dummy msg when using API calls


2022-05-16  Razvan Crainea  <razvan at opensips dot org>
	* [4ff88b1fd] :

	rtp_relay: always create a leg
	create a leg even if not explicitely specified in the script


2022-05-16  Razvan Crainea  <razvan at opensips dot org>
	* [9039f7235] :

	Update MySQL DB migration scripts for "3.2 to 3.3"


2022-05-15  OpenSIPS  <github at opensips dot org>
	* [537020e73] :

	Rebuild documentation


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [6f3b79d61] :

	media_exchange: add support for rtp_relay for exchange functions


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [3f50cf709] :

	rtp_relay: add offer/answer/delete API commands


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [6823d100b] :

	rtp_relay: handle case where leg is not specified


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [30cceee87] :

	b2b_sdp_demux: add readme xml files


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [aca047314] :

	b2b_sdp_demux: fix previous commit


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [d53c3fb05] :

	b2b_sdp_demux: terminate session if no active stream is available


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [b34e3a17f] :

	b2b_sdp_demux: clone AVPs from server entity


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [3d46c3800] :

	b2b_sdp_demux: remove failed clients


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [909cc1e7c] :

	b2b_sdp_demux: fix possible crash for disabled streams


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [448d53d88] :

	b2b_sdp_demux: fix leak if client is not enabled


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [6c0be77fc] :

	b2b_sdp_demux: reply immediately if SDP has not changed


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [49875be57] :

	b2b_sdp_demux: release memory when entity is deleted


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [daf0fac4a] :

	b2b_sdp_demux: port module to new entities interface


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [688365649] :

	b2b_sdp_demux: fix crash due to unexisting ctx


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [198c9be52] :

	b2b_sdp_demux: persist session_ip as well
	Useful when reinvites are triggered after a restart


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [2bbe69796] :

	b2b_sdp_demux: initialize sdp structure before usage


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [f8d60db81] :

	b2b_sdp_demux: busy-wait when a reinvite comes from media server


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [ba0a80fb8] :

	b2b_sdp_demux: complete previous commit


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [1e6b2f54a] :

	b2b_sdp_demux: do not reject with 491 pending re-INVITEs
	Instead, let the upstream entities re-transmit them, until we terminate
	the pending invite downstream.


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [5f94935f9] :

	b2b_sdp_demux: dlete clients on upstream reply


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [79e6727de] :

	b2b_sdp_demux: rework concurrent BYEs handling


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [f503cbec4] :

	b2b_sdp_demux: fix missing BYE during concurrent downstream BYEs


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [722288da2] :

	b2b_sdp_demux: release client only if first BYE


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [08fcccc2c] :

	b2b_sdp_demux: fix a set of warnings generated by merge


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [f20b55c27] :

	b2b_sdp_demux: fix replication events


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [8f8c12d6a] :

	b2b_sdp_demux: do not delete entity before running additional callbacks


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [7a8fe2084] :

	b2b_sdp_demux: run callbacks for BYE replies


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [8c30487f3] :

	b2b_sdp_demux: fix case when media server terminates all sessions


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [e7890e71d] :

	b2b_sdp_demux: add support for multiple BYE handling from client


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [bca8c0b5e] :

	b2b_sdp_demux: handle re-invite from server


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [621ae1113] :

	b2b_sdp_demux: do not free ctx if body could not be built


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [3e2b886a5] :

	b2b_sdp_demux: fix double ACK for negative replies


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [8b0b2deb4] :

	b2b_sdp_demux: prevent deadlock when BYE is received from media server


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [c46f58450] :

	b2b_sdp_demux: resolve a concurrency between two BYEs coming from FS


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [14bd46e9d] :

	b2b_sdp_demux: only ACK successful replies
	Suppress warmless error when ACK-ing negative replies


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [c96884f1a] :

	b2b_sdp_demux: suppress error when ACK-ing internally generated msg


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [771a8de34] :

	b2b_sdp_demux: fix passing no headers


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [926e44625] :

	b2b_sdp_demux: fix replication for DB storage


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [a355c5b74] :

	b2b_sdp_demux: add support for b2b_entities replication


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [e49f22218] :

	b2b_sdp_demux: remove socket_info from context


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [f05b649a2] :

	b2b_sdp_demux: remove debugging


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [7c6416c70] :

	b2b_sdp_demux: proper cleanup of remaining streams


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [d111c5f75] :

	b2b_sdp_demux: add support for client's indialog requests


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [d9a9b5c1d] :

	b2b_sdp_demux: fix media start in SDP (a vs m)


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [b1876508f] :

	b2b_sdp_demux: treat case when downstream terminates


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [8bfb18f67] :

	b2b_sdp_demux: start b2b sessions


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [1530a1602] :

	b2b_sdp_demux: Add parsing for functions' params


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [d8f160a7d] :

	media_exchange: document RTP Relay migration


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [87d92b045] :

	rtp_relay: add support for b2b RTP relaying


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [2e38ead4e] :

	b2b_logic: do not lock for register if already taken


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [899c28fde] :

	data_lump_rpl: add support for replacing rpl lump


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [197d88137] :

	tm: add TMCB_LOCAL_{RESPONSE,REQUEST_OUT,TRANS_NEW} callbacks


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [513a9e6ac] :

	b2b_logic: add support for fetching entity info


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [9ad05ce9d] :

	b2b_logic: fetch the current logic's key thourgh api


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [2245e19a8] :

	b2b_logic: add B2B_NEW_TUPLE_CB callback type


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [4d4ead1e3] :

	rtp_relay: identify legs based on tags


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [79b1636e2] :

	b2b_logic: add support for storing arbitrary data in dialog


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [a4cd97cab] :

	Revert "b2b_entities: rework callbacks engine and fix previous commit"
	This reverts commit 9183225ab9b8e6be9ed66f0d2877c3adf28d5bff
	and 67c253c110ffd774bbe777e74f002734db1261d9.


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [717390940] :

	b2b_entities: fix previous commit


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [dc37b2ca0] :

	b2b_entities: rework callbacks engine
	This allows us to extend the callback interface further


2022-05-13  Razvan Crainea  <razvan at opensips dot org>
	* [fde42a085] :

	rtp_relay: migrate ctx management to ref


2022-05-12  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [dec42a4cc] :

	[dispatcher] Fix bad variable init
	Related to cc730f8
	Thanks CI


2022-05-12  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [cc730f819] :

	[disaptcher] added status/report support
	Each partition is a status/report (SR) identifier. It's status provides information DB data loading, like -2 (no data) , -1 (initial loading) , 0 (data available), 1 (reloading).
	The reports will log when a reload is done and what was the outcome of the reload (success or failure). If success, a more detailed report is generated with how many destinations were loaded / discarded.
	Also, each partition provides a separate identifier for reporting events about the change in state for the destinations

	(opensips-cli): mi sr_list_reports dispatcher
	[
	    {
	        "Name": "default;events",
	        "Reports": [
	            {
	                "Timestamp": 1652373308,
	                "Date": "Thu May 12 19:35:08 2022",
	                "Log": "DESTINATION <sip:127.0.1.1>, set 1 switched to [inactive] due to negative probing reply\n"
	            },
	            {
	                "Timestamp": 1652373308,
	                "Date": "Thu May 12 19:35:08 2022",
	                "Log": "DESTINATION <sip:127.0.1.2>, set 1 switched to [inactive] due to negative probing reply\n"
	            }
	        ]
	    },
	    {
	        "Name": "default",
	        "Reports": [
	            {
	                "Timestamp": 1652373212,
	                "Date": "Thu May 12 19:33:32 2022",
	                "Log": "starting DB data loading"
	            },
	            {
	                "Timestamp": 1652373212,
	                "Date": "Thu May 12 19:33:32 2022",
	                "Log": "DB data loading successfully completed"
	            },
	            {
	                "Timestamp": 1652373212,
	                "Date": "Thu May 12 19:33:32 2022",
	                "Log": "2 destinations loaded (0 discarded)"
	            }
	        ]
	    }
	]


2022-05-12  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [9f75269d6] :

	[drouting] spelling on readme file


2022-05-12  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [cb2c6b290] :

	[clusterer] add reporting on the shared tag state changes
	The E_CLUSTERER_SHARING_TAG_CHANGED event is raised.
	Also such events are logged via the status/report "sharing_tags" identifier

	(opensips-cli): mi sr_list_reports clusterer
	[
	    {
	        "Name": "sharing_tags",
	        "Reports": [
	            {
	                "Timestamp": 1652367224,
	                "Date": "Thu May 12 17:53:44 2022",
	                "Log": "TAG <vip>, cluster 1, became backup due to cluster broadcast from 2"
	            },
	            {
	                "Timestamp": 1652367326,
	                "Date": "Thu May 12 17:55:26 2022",
	                "Log": "TAG <vip>, cluster 1, became active due to MI command"
	            }
	        ]
	    }
	]


2022-05-12  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [63524cc6c] :

	Regenerate tables (dbschema changed)
	Related to the latest changes in call_center module


2022-05-12  Liviu Chircu  <liviu at opensips dot org>
	* [7c3fef41a] :

	aaa_diameter: Fix `app_opensips` compilation
	The "peer.h" import is not available when compiling "app_opensips"
	within freeDiameter.  Moreover, it's not used anyway, so just remove it.


2022-05-12  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [5dde5f587] :

	[drouting] Add separate Status/Report identifiers for state changes.
	Each partition provides a separate identifier for reporting events
	about the change in state for gws or carrier,

	    {
	        "Name": "Default;events",
	        "Reports": [
	            {
	                "Timestamp": 1652353976,
	                "Date": "Thu May 12 14:12:56 2022",
	                "Log": "GW <gw1_1>/127.0.1.1 switched to [inactive] due to negative probing reply\n"
	            },
	            {
	                "Timestamp": 1652353976,
	                "Date": "Thu May 12 14:12:56 2022",
	                "Log": "GW <gw2_1>/127.0.1.2 switched to [inactive] due to negative probing reply\n"
	            }
	        ]
	    },


2022-05-11  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [159739e26] :

	[call_center] rework the balancing to agents alg (for chats)


2022-05-11  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [58b19dcd6] :

	[call_center] Fix bogus logical condition :(


2022-05-11  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [81daa103b] :

	[call_center] fix condition on searching call...
	... when doing MI call dispatching


2022-05-11  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [fde04c9c0] :

	[call_center] enhance the MI listing of agents
	Add info on wrapup time (when it ends).
	List the free sessions for the INCHAT agents (instead of the full capacity)


2022-05-10  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [c8f027745] :

	[call_center] fix LB/FULL policy when dispatching without queue


2022-05-10  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [6b83356ed] :

	[call_center] fix types/small issues


2022-05-10  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [7ada7aa3f] :

	[call_center] relax the NULL constraints in flow's table
	Anyhow, the code is properly handle the NULL string columns ;)


2022-05-10  Nick Altmann  <nick at altmann dot pro>
	* [dce812d93] :

	Packaging: msrp-modules subpackage


2022-05-10  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [9a823b59e] :

	[call_center] added onhold/answered statistics for chats/MSRP
	While the previous stats are reflecting all calls (audio/RTP and chat/MSRP), the newly added ones are refelcting only the chat/MSRP calls


2022-05-10  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [46108020b] :

	[call_center] fix precedence for ternary operator
	Thanks CI


2022-05-10  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [f869c9abc] :

	[call_center] fix wrapup for INCHAT agents


2022-05-10  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [daac11a83] :

	[call_center] Added the option of external call dispatching logic
	An external, custom call dispatchin (to agents) logic may be used:
	* modparam internal_call_dispatching to disable the internal logic
	* MI cmd cc_internal_call_dispatching to runtime changes
	* MI cmd cc_dispatch_call_to_agent to do external call dispatching
	* cc_list_queue and cc_list_agents expose more info


2022-05-09  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [e1049d5a7] :

	[call_center] Fix compile warnings
	Thanks CI


2022-05-09  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [d5a99e81e] :

	[call_center] Added MSRP/chat support


2022-05-09  Vlad Patrascu  <vladp at opensips dot org>
	* [ba22937b6] :

	Add msrp_ua module


2022-05-09  Liviu Chircu  <liviu at opensips dot org>
	* [d148f1dfa] :

	dialog docs: Improve "profiles_with_value" example
	Suggested by Fabien Aunay


2022-05-08  OpenSIPS  <github at opensips dot org>
	* [debf36c26] :

	Rebuild documentation


2022-05-06  Vlad Patrascu  <vladp at opensips dot org>
	* [5fad53d8c] :

	proto_msrp: fix crash in send_request() when building transaction


2022-05-06  Vlad Patrascu  <vladp at opensips dot org>
	* [15acafe11] :

	proto_msrp: add a shm flavor for parse_msrp_path()


2022-05-06  Vlad Patrascu  <vladp at opensips dot org>
	* [81cca9b5c] :

	proto_msrp: fix dns-resolving in send_request()


2022-05-06  Vlad Patrascu  <vladp at opensips dot org>
	* [71577be6c] :

	proto_msrp: fix "destination" reusage for send_request()


2022-05-06  Vlad Patrascu  <vladp at opensips dot org>
	* [e834389c9] :

	b2b_entities: export max entity key size through API header


2022-05-04  Nick Altmann  <nick at altmann dot pro>
	* [4a8c82019] :

	DEB package: add support for ubuntu 22


2022-05-04  Liviu Chircu  <liviu at opensips dot org>
	* [7273a3f13] :

	Makefile: Fix detection for gcc 11 and higher
	Context: newer OS'es, e.g. Ubuntu 22.04, ship with gcc 11 nowadays.


2022-05-04  Bogdan Andrei IANCU  <bogdan at opensips dot org>
	* [321645ed0] :

	Merge pull request #2819 from lemenkov/rtpengine_cleanups
	rtpproxy/rtpengine: Remove unused function


2022-05-04  Bogdan Andrei IANCU  <bogdan at opensips dot org>
	* [23a89965b] :

	Merge pull request #2820 from lemenkov/rfc1918_check_simplification
	ip_addr: simplify check for RFC 1918


2022-05-04  Bogdan Andrei IANCU  <bogdan at opensips dot org>
	* [47bfb3e32] :

	Merge pull request #2821 from lemenkov/format_security
	Fix -Werror=format-security


2022-05-02  Razvan Crainea  <razvan at opensips dot org>
	* [9d5dd9539] :

	rtpproxy+rtpengine: fair election when the first try is disabled
	When a first attempt to use a rtpproxy/rtpengine node picks a disabled
	node, the next attempt should not consider the disabled nodes at all.


2022-05-02  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [4bc9d9603] :

	[presence_dialoginfo] Fix aggregating dialoginfo XML
	Fix the looping when aggregating the dialog info XML documents with multiple dialog elements. The xmlUnlinkNode() function inside the loop is breaking the looping (the "next" member is reset).
	Credits for reporting and fixing go to Damien Sandras (@dsandras)
	Closes #2815
	(cherry picked from commit 0cca86fe789d77ea3e2b58326d6f282eb3433544)


2022-05-01  OpenSIPS  <github at opensips dot org>
	* [18633ab55] :

	Rebuild documentation


2022-04-28  Razvan Crainea  <razvan at opensips dot org>
	* [d5137a663] :

	rtp_relay: fix session deletion when callid is not forced


2022-04-28  Razvan Crainea  <razvan at opensips dot org>
	* [e94ca5fe0] :

	tls_mgm: proper selection of TLS domain per branch
	Use $bavp variable to set the TLS domain that should be used per each
	branch. Fixes #2816


2022-04-27  Ovidiu Sas  <osas at voipembedded dot com>
	* [1f082669c] :

	msilo: fix warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]


2022-04-27  Ovidiu Sas  <osas at voipembedded dot com>
	* [d227df12c] :

	cachedb_sql: fix warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]


2022-04-25  Peter Lemenkov  <lemenkov at gmail dot com>
	* [38242d6fe] :

	Fix -Werror=format-security
	```
	make[1]: Entering directory '/builddir/build/BUILD/opensips-3.1.9/menuconfig'
	gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -g -Wall -DMENUCONFIG_CFG_PATH=\"/usr/share/opensips//menuconfig_templates/\" -DMENUCONFIG_GEN_PATH=\"/usr/etc/opensips/\" -DMENUCONFIG_HAVE_SOURCES=0    -c -o cfg.o cfg.c
	gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -g -Wall -DMENUCONFIG_CFG_PATH=\"/usr/share/opensips//menuconfig_templates/\" -DMENUCONFIG_GEN_PATH=\"/usr/etc/opensips/\" -DMENUCONFIG_HAVE_SOURCES=0    -c -o curses.o curses.c
	curses.c: In function 'draw_sibling_menu':
	curses.c:92:75: error: format not a string literal and no format arguments [-Werror=format-security]
	   92 |         mvprintw(HIGH_NOTICE_Y,max_x/2-20,menu->parent?menu->parent->name:"OpenSIPS Main Configuration Menu");
	      |                                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	curses.c: In function 'draw_item_list':
	curses.c:208:9: error: format not a string literal and no format arguments [-Werror=format-security]
	  208 |         mvprintw(HIGH_NOTICE_Y,max_x/2-20,menu->name);
	      |         ^~~~~~~~
	curses.c:251:17: error: format not a string literal and no format arguments [-Werror=format-security]
	  251 |                 print_notice(NOTICE_Y,NOTICE_X,0,current->description);
	      |                 ^~~~~~~~~~~~
	cc1: some warnings being treated as errors
	make[1]: *** [<builtin>: curses.o] Error 1
	make[1]: Leaving directory '/builddir/build/BUILD/opensips-3.1.9/menuconfig'
	make: *** [Makefile:482: opensipsmc] Error 2
	```


2022-04-24  Peter Lemenkov  <lemenkov at gmail dot com>
	* [89ae768a7] :

	ip_addr: simplify check for RFC 1918
	This function is used everywhere as follows:

	```c
	flag = (ip_addr_is_1918(x)==1) ? 1 : 0;
	```

	Let's just make it return the expected 0 or 1.


2022-04-24  Peter Lemenkov  <lemenkov at gmail dot com>
	* [2fada2c24] :

	rtpproxy/rtpengine: Remove unused function


2022-04-24  OpenSIPS  <github at opensips dot org>
	* [b8e629502] :

	Rebuild documentation


2022-04-21  Liviu Chircu  <liviu at opensips dot org>
	* [2c9b6f530] :

	tcp_mgm: Add docs + README + contributors file


2022-04-21  Razvan Crainea  <razvan at opensips dot org>
	* [84c1614ec] :

	tm: use INVITE's AVPs when sending locally generated msgs
	This allows the TLS_MGM module to pick up the right tls_domain that
	should be used for sending the ACK/CANCEL message


2022-04-21  Liviu Chircu  <liviu at opensips dot org>
	* [6c2a32966] :

	tcp_mgm: Add SQL module dependency; Fix port matching


2022-04-21  Razvan Crainea  <razvan at opensips dot org>
	* [92ff975aa] :

	rtpengine: fix switching set for rtpengine_play_dtmf
	Reported by Slava Bendersky, close #2808


2022-04-20  Liviu Chircu  <liviu at opensips dot org>
	* [6e3aab5ba] :

	cachedb_redis: Allow quoting strings in raw queries
	In case the Redis raw query string arguments include whitespace (' ',
	\t, \r, \n), script developers can now enclose them in single (') or
	double quotes ("), and OpenSIPS will pass the correct string to Redis.

	For example:
	    cache_raw_query("redis", "SET foo \"bar baz\"", "$avp(result)");
		or:
	    cache_raw_query("redis", "SET foo 'bar baz'", "$avp(result)");

	... are now possible and equivalent.  Both of these will set the
	"bar baz" value, without the quotes.

	Fixes #2036


2022-04-20  Liviu Chircu  <liviu at opensips dot org>
	* [94158661d] :

	tcp_mgm: Fix "any" filter matching; Validate "parallel_read" DB input


2022-04-20  Liviu Chircu  <liviu at opensips dot org>
	* [028c2c5d0] :

	cachedb_redis: Minor code refactoring (simplification)


2022-04-20  Liviu Chircu  <liviu at opensips dot org>
	* [229fb548b] :

	cachedb_redis: Use argv API instead of fmt-string API for raw queries
	This change allows "%" to be safely used in raw queries (e.g. maybe some
	Redis key contains a random "%" char), while also making the raw query
	operation a lot more safe and/or unexploitable from the outside.

	Many thanks to David Escartin (Sonoc) for a detailed bug report!


2022-04-19  Liviu Chircu  <liviu at opensips dot org>
	* [f1b092b0a] :

	TCP Profiles/tcp_mgm: Add support for custom attributes
	Using an "attrs" URI params field, various modules may now inject some
	of their own properties into a TCP connection profile, which may not be
	powerful enough to be represented as a separate column of the profile.
	Still, this feature allows developers to customize even those properties
	on a per-connection level, rather than global level.

	For now, only the "xxx_max_msg_chunks" settings of various TCP-based
	proto modules may be included in the new "attrs" URI params column of
	tcp_mgm, using a value of, e.g. "max_msg_chunks=10".  Int values only.


2022-04-19  Liviu Chircu  <liviu at opensips dot org>
	* [b66243ec4] :

	tcp_mgm: Add support for parallel reading on a TCP conn


2022-04-19  Ovidiu Sas  <osas at voipembedded dot com>
	* [323eb55c7] :

	core: fix all the mess introduced by previous timer "fix" commits


2022-04-19  Ovidiu Sas  <osas at voipembedded dot com>
	* [918129196] :

	core: properly fix the copy/paste introduced by previous commit


2022-04-19  Ovidiu Sas  <osas at voipembedded dot com>
	* [c45579aad] :

	core: fix copy/paste introduced by previous commit


2022-04-19  Ovidiu Sas  <osas at voipembedded dot com>
	* [29678b24e] :

	core: move a bunch of timer specific defines from timer.h to timer.c


2022-04-19  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [2f4c9d5e4] :

	[proto_tcp] restore `tcp_async_local_write_timeout` modparam
	The e08dce18a0195cea7805315fdef8d75680da98dc removes by mistake the `tcp_async_local_write_timeout` param.


2022-04-19  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [e08dce18a] :

	Added support for parallel read/handle of messages via TCP conns
	The NET TCP layer provides the proto modules the possibility to return the connection (for more reading) BEFORE actually handling the current message.

	The proto_tcp exposes the new `tcp_parallel_handling` module parameter to control if read/handle for SIP messages should be done on TCP.


2022-04-19  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [6412c0ae1] :

	Added tcp_parallel_read_on_workers core parameter
	This option will allow a TCP conn to perform read operations from different processes, not only from one.
	So far, upon creation, a TCP conn was assigned to a TCP workers which was doing all the reading for that TCP conn. This may become a bootleneck.
	With tcp_parallel_read_on_workers, after a read is completed, the TCP conn is passed back to the TCP Main processes, which will perform a re-balancing for the next read operations, passing the TCP conn potentially to another worker.
	NOTE: at TCP conn level, the read ops are still performed in serial way, one at a time (even if from different processes)


2022-04-19  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [5a6399b13] :

	Improve the TCP conns balancing over the TCP workers
	Instead of balancing as number of conns per worker, balance based on the internla load of the TCP workers.
	At the end we want to avoid overloading some TCP workers, so to have a even load distribution. The number of TCP conns is irrelevant (as they may have different amount of traffic which may translate in different load values).


2022-04-19  Nick Altmann  <nick.altmann at gmail dot com>
	* [5de4de206] :

	RPM package: add tcp_mgm module


2022-04-18  Liviu Chircu  <liviu at opensips dot org>
	* [e9a6672ae] :

	tcp_mgm: Various fixes/improvements


2022-04-18  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [e78162492] :

	[proto_msrp] fix priority related to ternary operator
	Reported by old good CI, related to 9975df9622ae949ae7e6057ab1a857839b809efb


2022-04-18  Liviu Chircu  <liviu at opensips dot org>
	* [5422799e7] :

	aaa_diameter: Avoid all pthread_cond race conditions
	The recommended usage of the wait/signal pthread_cond_t functions
	includes using a "counter" variable in order to keep track of any
	"signal" events happening before the actual "wait".

	Many thanks to Ryan Caicse (@ryancaicse) for reporting this bug and the
	excellent fix suggestion!

	Fixes #2789


2022-04-18  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [16f09cbb1] :

	[msrp_relay] align to API changes in proto_msrp
	See 9975df9622ae949ae7e6057ab1a857839b809efb


2022-04-18  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [9345b7bba] :

	[proto_msrp] makes possible the "destination" reusage
	Instead of keep DND-resolving the TO path for each MSRP request in the session, we do this only for the first request and reuse the sockaddr destination for the following requests within the session. Storing (and persisting) the sockaddr value is up to the upper layer.


2022-04-18  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [9975df962] :

	[proto_msrp] Added support for UAC MSRP transactions


2022-04-18  Liviu Chircu  <liviu at opensips dot org>
	* [eba5b6694] :

	tcp_mgm: Add DB schema files


2022-04-18  Liviu Chircu  <liviu at opensips dot org>
	* [b3a52022a] :

	Add the "tcp_mgm" module
	This module is entirely optional, and it offers a DB-based way of
	customizing the behavior of certain TCP connections depending on the
	protocol employed (e.g. BIN vs. TCP vs. MSRP, etc.), or specific
	combinations of remote/local IP addresses.

	When the module is not loaded, or when some connections fail to match
	any of the DB-defined TCP paths, the default TCP connection profile will
	be used instead, thus OpenSIPS remains fully backwards-compatible with
	the previous version.

	See 0aa8e9514e for more info on TCP connection profiles.


2022-04-17  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [200fa3786] :

	[compression] Fixed typo in closing tag


2022-04-15  Bogdan Andrei IANCU  <bogdan at opensips dot org>
	* [9959e6e0b] :

	Merge pull request #2781 from carstenbock/b2b_entitities_prack_route_handling
	Add parameters for PRACK generation and Route checking


2022-04-15  Bogdan Andrei IANCU  <bogdan at opensips dot org>
	* [463f6541f] :

	Merge pull request #2703 from ar45/compact_whitelist_without_compact_form
	compression module: mc_compact() - Added flag `n`


2022-04-14  Vlad Pătrașcu  <vladp at opensips dot org>
	* [6fb920e1d] :

	Merge pull request #2784 from carstenbock/b2b_logic_addons
	B2B Logic: Dynamic Contact-Header + Trigger Scenario from Script


2022-04-13  Liviu Chircu  <liviu at opensips dot org>
	* [0aa8e9514] :

	TCP Engine: Add support for TCP connection profiles
	A TCP connection profile is a structure which currently holds 10
	individually customizable TCP connection settings:
	   - connect_timeout, con_lifetime, msg_read_timeout
	   - send_threshold, no_new_conn, alias_mode
	   - keepalive, keepcount, keepidle, keepinterval

	By default, the standard connection profile will simply contain values
	taken from the current TCP global parameters, for full
	backwards-compatibility.

	Building on top of this, modules may now override the connection profile
	matching function, allowing full customization of various TCP paths, as
	matched by the (protocol, remote_addr, local_addr) tuple.


2022-04-13  Carsten Bock  <carsten at ng-voice dot com>
	* [c5b37c7d1] :

	Remove the "check_more_routes" param, need to think of a better approach.


2022-04-13  Carsten Bock  <carsten at ng-voice dot com>
	* [4108d8157] :

	- Refactor "generate_prack" into "passthru_prack" - do not check Require, if PRACK should be end-to-end


2022-04-13  carstenbock  <carsten at ng-voice dot com>
	* [6c8cff934] :

	Merge branch 'OpenSIPS:master' into b2b_entitities_prack_route_handling


2022-04-13  Carsten Bock  <carsten at ng-voice dot com>
	* [3bac14523] :

	Improved docs for "b2b_trigger_scenario"


2022-04-13  Carsten Bock  <carsten at ng-voice dot com>
	* [16205a373] :

	Changed Log-Level of some debug - messages to DBG, fixed parameter comparison.


2022-04-13  Aron Podrigal  <aronp at guaranteedplus dot com>
	* [5b86f2d14] :

	Update compression_admin.xml


2022-04-13  Aron Podrigal  <aronp at guaranteedplus dot com>
	* [466e93379] :

	dont allocate flags, use param pointer passed.


2022-04-13  Aron Podrigal  <aronp at guaranteedplus dot com>
	* [4e2fecbac] :

	compression module: mc_compact() - Added flag `n`
	Added flags param which accepts `n` for no compact headers.
	When specified, opensips will only remove headers not in the whitelist
	without using the compact form for From/To/CallID etc.
	`mc_compact("headers|whitlelist", "n")`

	The motive for this is, because some UAs do not understand the compact form
	I've also encountered weird bugs using the compact form with some UAs.

	This still allows for the option to whitelist headers and compact the message.


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

	re.subst transformation: Fix possible pkg memleak
	The leak would only happen under these simultaneous conditions:
	  1. the "subst" (last) part of the RE is a variable
	  2. the variable is using an index (e.g. an AVP)
	  3. there are at least two different "subst" strings in the script,
	     which can run alternatively (see the global "subst_re" logic to
	     understand more about the "reusage" mechanism and this effect)

	Many thanks to Richard Revels for a detailed report on this bug!

	Fixes #2761


2022-04-12  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [1763c7a5c] :

	[rtpengine] avoid returning 0 as it breaks the script execution
	Fixes #2796


2022-04-12  Liviu Chircu  <liviu at opensips dot org>
	* [5a682b4a3] :

	Merge pull request #2743 from lemenkov/gcc_11_2_fix_linking
	Explicitly add fPIC and DPIC for gcc


2022-04-10  OpenSIPS  <github at opensips dot org>
	* [4c6ee9051] :

	Rebuild documentation


2022-04-08  Nick Altmann  <nick.altmann at gmail dot com>
	* [0c9f36953] :

	Packaging: add msrp-relay-module


2022-04-08  Vlad Patrascu  <vladp at opensips dot org>
	* [357aafaf7] :

	msrp_relay: add openssl dependency in Makefile and docs


2022-04-08  Bogdan Andrei IANCU  <bogdan at opensips dot org>
	* [aabeb600e] :

	Merge pull request #2790 from Transatel/FIX_TOS_IPV6
	Add TOS in IPV6
	(cherry picked from commit f461e38d3c8fd65a479c5a363520410aaed49ea1)


2022-04-08  Bogdan Andrei IANCU  <bogdan at opensips dot org>
	* [f19ac2ace] :

	Merge pull request #2791 from vasilevalex/tmp_files
	Fix /var/run to /run


2022-04-08  Bogdan Andrei IANCU  <bogdan at opensips dot org>
	* [457111ceb] :

	Merge pull request #2779 from ppisar/openldap-2.6.1
	Rename an ldap_connect() to opensips_ldap_connect()


2022-04-08  Bogdan Andrei IANCU  <bogdan at opensips dot org>
	* [432a53305] :

	Merge pull request #2773 from carstenbock/use_library_for_require_parsing
	Use library function to fix edge case in require parsing


2022-04-06  Bogdan Andrei IANCU  <bogdan at opensips dot org>
	* [e9c60c319] :

	Merge pull request #2804 from john08burke/redis_bugfix
	Fix cachedb_redis crash


2022-04-06  John Burke  <john at voxtelesys dot net>
	* [d79f3765b] :

	[cachedb_redis] cleanup stale context pointer
	fixes #2803


2022-04-05  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [b0591d285] :

	Fix bad body re-assembling when handling a multi part with empty parts
	Credits for the finding and for the fix go to John Burke ( @john08burke )
	Closes #2794


2022-04-04  carstenbock  <carsten at ng-voice dot com>
	* [218bd4171] :

	Merge branch 'OpenSIPS:master' into use_library_for_require_parsing


2022-04-03  Nick Altmann  <nick.altmann at gmail dot com>
	* [96bc3040a] :

	RPM Packaging: add msrp_relay module


2022-04-03  OpenSIPS  <github at opensips dot org>
	* [2ffb128f0] :

	Rebuild documentation


2022-04-01  Liviu Chircu  <liviu at opensips dot org>
	* [908c5e5f0] :

	ratelimit: Increase default 'repl_timer_interval'
	Now broadcasts pipe counters every 200 ms, instead of every 10 ms.


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

	dialog: Increase default 'replicate_profiles_timer'
	Now broadcasts profile counters every 200 ms, instead of every 10 ms.


2022-03-31  Vlad Patrascu  <vladp at opensips dot org>
	* [eb3354a41] :

	msrp_relay: fix compile errors


2022-03-31  Vlad Patrascu  <vladp at opensips dot org>
	* [a05be945c] :

	Add msrp_relay module


2022-03-31  Vlad Patrascu  <vladp at opensips dot org>
	* [31f975555] :

	proto_msrp: save the method in the MSRP transaction structure


2022-03-31  Vlad Patrascu  <vladp at opensips dot org>
	* [428f3965b] :

	proto_msrp: make session part optional when parsing MSRP URLs


2022-03-31  Vlad Patrascu  <vladp at opensips dot org>
	* [36083735c] :

	proto_msrp: accept unknown MSRP headers when parsing
	Also, add Expires header shortcut in the MSRP message structure.


2022-03-29  Nick Altmann  <nick.altmann at gmail dot com>
	* [10d9ac56d] :

	Packaging: remove b2b_logic_xml module, part 2


2022-03-29  Nick Altmann  <nick.altmann at gmail dot com>
	* [e2206d712] :

	Packaging: remove b2b_logic_xml module


2022-03-29  Razvan Crainea  <razvan at opensips dot org>
	* [58dddce37] :

	remove b2b_logic_xml module


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

	Fix bad lengths for some MSRP headers
	* Failure-Report and Success-Report have length 14, not 12
	* Status has length 6, not 12


2022-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [85d7691d9] :

	Improve previous commit
	* fix 2 regressions
	* optimize (merge) some HAVE() checks


2022-03-28  Liviu Chircu  <liviu at opensips dot org>
	* [7312678bb] :

	Parser: Be more fuzzer friendly, using -DFUZZ_BUILD
	Since fuzzers typically use the system allocator in order to run ASan
	checks (i.e. -DPKG_MALLOC is not enabled), they will often run into
	false-positive crashes in the parse_hname2() function due to various
	read overflows which are harmless in production, thanks to the
	pre-allocated nature of the PKG memory chunk.

	This patch adds the HAVE() parser macro (tied to -DFUZZ_BUILD), which
	will be optimized (removed) in the public build (0 changes), while
	protecting against any read overflow when building with -DFUZZ_BUILD.

	Issue discovered during OpenSIPS Security Audit 2021/2022,
	    by Alfred Farrugia & Sandro Gauci (Enable Security)


2022-03-27  OpenSIPS  <github at opensips dot org>
	* [78fd5b8dd] :

	Rebuild documentation


2022-03-25  Liviu Chircu  <liviu at opensips dot org>
	* [f301667b3] :

	registrar/mid-registrar: Add the "expires_max_deviation" modparam
	This new modparam could help mitigate the effects of post-restart
	"registration storms", when all TCP connections go down and a
	significant portion of devices re-REGISTER on the spot.

	By randomizing the returned expiry intervals, the REGISTER storm will no
	longer repeat at regular intervals following a restart, e.g. every 3600
	seconds.


2022-03-25  Liviu Chircu  <liviu at opensips dot org>
	* [9451d6ccc] :

	drouting: Add the "extra_id_chars" modparam
	This new modparam will make it easier to customize the allowed
	characters in a Carrier or Gateway unique identifier, without the need
	to recompile OpenSIPS.


2022-03-24  Vlad Patrascu  <vladp at opensips dot org>
	* [f7722acf7] :

	proto_msrp: export MSRP URL parsing functions in header file


2022-03-24  Vlad Patrascu  <vladp at opensips dot org>
	* [e4b1edb86] :

	proto_msrp: allow forcing destination for forward_request()


2022-03-24  Vlad Patrascu  <vladp at opensips dot org>
	* [9d0de98a0] :

	proto_msrp: fix method id parsing for SEND


2022-03-24  Vlad Patrascu  <vladp at opensips dot org>
	* [097c86076] :

	proto_msrp: fix tcp connection reusage when sending message


2022-03-24  Vlad Patrascu  <vladp at opensips dot org>
	* [b5cad2501] :

	cJSON: fix memory leak on object parsing error
	Issue discovered during OpenSIPS Security Audit 2021/2022,
	by Alfred Farrugia & Sandro Gauci (Enable Security)

	https://github.com/OpenSIPS/opensips/security/advisories/GHSA-2mg2-g46r-j4qr
	(cherry picked from commit 417568707520af25ec5c5dd91da18e6db3649dcb)


2022-03-24  Liviu Chircu  <liviu at opensips dot org>
	* [3daed0119] :

	drouting: Allow several functions from all routes
	Example use-case: during an E_DROUTING_STATUS event route, there is a
	need to extract the "attrs" field of a gateway, using route_to_gw().


2022-03-24  Alexey Vasilyev  <alexei.vasilyev at gmail dot com>
	* [8051fb157] :

	Fix /var/run to /run
	Filesystem Hierarchy Standard 3.0 released in 2015.
	It's time to fix /var/run to /run


2022-03-24  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [dd051f8ed] :

	[sipmsgops] fix codec_delete_XX() parsing
	Issue discovered during OpenSIPS Security Audit 2021/2022,
	by Alfred Farrugia & Sandro Gauci (Enable Security)

	https://github.com/OpenSIPS/opensips/security/advisories/GHSA-3ghx-j39m-cw4f


2022-03-20  OpenSIPS  <github at opensips dot org>
	* [a1406ad8a] :

	Rebuild documentation


2022-03-18  Liviu Chircu  <liviu at opensips dot org>
	* [7cab422e2] :

	core: Fix Content-Length parsing
	Issue discovered during OpenSIPS Security Audit 2022,
	        by Alfred Farrugia & Sandro Gauci (Enable Security)

	https://github.com/OpenSIPS/opensips/security/advisories/GHSA-c6j5-f4h4-2xrq


2022-03-18  Liviu Chircu  <liviu at opensips dot org>
	* [2cdd76f9a] :

	async.c: Avoid compile warning false positive (gcc 9.4.0)
	In file included from async.c:28:
	async.c: In function ‘async_script_launch’:
	reactor_defs.h:81:2: warning: ‘fd’ may be used uninitialized in this function [-Wmaybe-uninitialized]
	   81 |  io_watch_add(&_worker_io, _fd, _type, _data, _prio, 0, IO_WATCH_READ)
	      |  ^~~~~~~~~~~~
	async.c:279:6: note: ‘fd’ was declared here
	  279 |  int fd;
	      |      ^~
	Linking opensips

	$ gcc --version
	gcc (Ubuntu 9.4.0-1ubuntu1~20.04) 9.4.0

	Note: -DCC_O0 must NOT be defined!


2022-03-17  Vlad Patrascu  <vladp at opensips dot org>
	* [04bbcbf38] :

	auth: add support for 'opaque' parameter when building challenge


2022-03-17  Vlad Patrascu  <vladp at opensips dot org>
	* [342ca2a4f] :

	proto_msrp: properly support Authorization header when parsing


2022-03-17  Vlad Patrascu  <vladp at opensips dot org>
	* [312d007cc] :

	proto_msrp: fix bogus status codes when sending replies


2022-03-17  Vlad Patrascu  <vladp at opensips dot org>
	* [c26fdc25f] :

	proto_msrp: accept no Message-ID hdr for MSRP AUTH requests


2022-03-17  Vlad Patrascu  <vladp at opensips dot org>
	* [9d3f3ee54] :

	proto_msrp: fix double free on MSRP message parse errors


2022-03-17  Vlad Patrascu  <vladp at opensips dot org>
	* [cda6c07f1] :

	auth: add API function for building WWW/Proxy-Authenticate header


2022-03-17  Razvan Crainea  <razvan at opensips dot org>
	* [cddd50fbc] :

	rtpproxy: fix invalid memcopy in auto bridge mode
	Thanks go to 196011564 (@GitHub) for reporting it

	Close #2782


2022-03-17  carstenbock  <carsten at ng-voice dot com>
	* [b97f22841] :

	Merge branch 'OpenSIPS:master' into b2b_logic_addons


2022-03-16  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [690790182] :

	[proto_msrp] added REPORT support (generating and fwd'ing)


2022-03-16  Razvan Crainea  <razvan at opensips dot org>
	* [cbc016dbc] :

	b2b_entities: allocate mem for b2bl parameter


2022-03-16  Razvan Crainea  <razvan at opensips dot org>
	* [8edf6ff62] :

	b2b_entities: properly handle PRACK after dlg is matched
	Otherwise, simply relay the PRACK.


2022-03-16  carstenbock  <carsten at ng-voice dot com>
	* [eeb331e88] :

	Merge branch 'OpenSIPS:master' into b2b_logic_addons


2022-03-16  Carsten Bock  <carsten at ng-voice dot com>
	* [6c0207ea3] :

	Add parameters for PRACK generation and Route checking


2022-03-16  carstenbock  <carsten at ng-voice dot com>
	* [69628aa26] :

	Merge branch 'OpenSIPS:master' into use_library_for_require_parsing


2022-03-16  Liviu Chircu  <liviu at opensips dot org>
	* [e2f13d374] :

	dispatcher: Fix IP printing on error case
	Many thanks to @Cossack9989 for the report!

	Fixes #2780


2022-03-15  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [41587ad88] :

	[proto_msrp] added send_reply_on_cell() to API


2022-03-15  carstenbock  <carsten at ng-voice dot com>
	* [c7a36d346] :

	Merge branch 'OpenSIPS:master' into b2b_logic_addons


2022-03-15  Carsten Bock  <carsten at ng-voice dot com>
	* [e12eda109] :

	Update documentation, fix missing functions


2022-03-15  Petr Písař  <ppisar at redhat dot com>
	* [3926e4201] :

	Rename an ldap_connect() to opensips_ldap_connect()
	The name clashes with openldap-2.6.1's ldap_connect() and a compiler errors
	on the mismatching protype:

	gcc -fPIC -DPIC -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fgnu89-inline -DMOD_NAME='ldap' -DPKG_MALLOC  -DSHM_MMAP  -DUSE_MCAST  -DDISABLE_NAGLE  -DSTATISTICS  -DHAVE_RESOLV_RES  -DF_MALLOC  -DQ_MALLOC  -DHP_MALLOC  -DDBG_MALLOC   -DNAME='"opensips"' -DVERSION='"3.1.7"' -DARCH='"aarch64"' -DOS='"linux"' -DCOMPILER='"gcc 12"' -D__CPU_aarch64 -D__OS_linux -D__SMP_yes -DCFG_DIR='"/etc/opensips/"'  -DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD -DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H -DHAVE_TIMEGM -DUSE_POSIX_SEM   -DHAVE_EPOLL -DHAVE_SIGIO_RT -DHAVE_SELECT -c ld_session.c -o ld_session.o
	[...]
	In file included from ld_session.c:33:
	ldap_connect.h:46:12: error: conflicting types for 'ldap_connect'; have 'int(char *, struct ld_conn *)'
	   46 | extern int ldap_connect(char* _ld_name, struct ld_conn* conn);
	      |            ^~~~~~~~~~~~
	In file included from ld_session.h:34,
	                 from ld_session.c:32:
	/usr/include/ldap.h:1555:1: note: previous declaration of 'ldap_connect' with type 'int(LDAP *)' {aka 'int(struct ldap *)'}
	 1555 | ldap_connect( LDAP *ld );
	      | ^~~~~~~~~~~~
	make[1]: *** [../../Makefile.rules:26: ld_session.o] Error 1

	Because it's an a function internal to the ldap module, this patch fixes it
	with renaming the function.


2022-03-15  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [5abdbde4f] :

	[proto_msrp] added msrp_fwd_reply() to API


2022-03-15  Carsten Bock  <carsten at ng-voice dot com>
	* [7218f1f10] :

	Add extended logic functions


2022-03-14  Vlad Patrascu  <vladp at opensips dot org>
	* [e19ed6eaa] :

	b2b_entities: fix entity storage memory leak
	Do not reset the pointer to the storage buffer when there is nothing
	to serialize after running the callback.


2022-03-13  OpenSIPS  <github at opensips dot org>
	* [442d5a6cb] :

	Rebuild documentation


2022-03-11  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [3d59a35f1] :

	[proto_msrp] added reply (and timeout) handling


2022-03-10  Razvan Crainea  <razvan at opensips dot org>
	* [e42181187] :

	rtp_relay: rewrite RTP leg management


2022-03-09  Răzvan Crainea  <razvan at opensips dot org>
	* [e6241ed92] :

	Merge pull request #2771 from labman000/3.2
	fix tracer.c "dest port" print error
	(cherry picked from commit d587d89eb84f259526e4a20a70678d627f183cde)


2022-03-08  Carsten Bock  <carsten at ng-voice dot com>
	* [645b3218a] :

	WiP


2022-03-08  Vlad Patrascu  <vladp at opensips dot org>
	* [4c1a0579b] :

	Add printing for msrp to proto to string functions


2022-03-08  Vlad Patrascu  <vladp at opensips dot org>
	* [3ee9a2fce] :

	proto_msrp: provide API loading function


2022-03-08  Carsten Bock  <carsten at ng-voice dot com>
	* [4090c80ce] :

	Use library function to fix edge case in require parsing


2022-03-08  Liviu Chircu  <liviu at opensips dot org>
	* [a8f964c8f] :

	dialplan: Always set the "attrs" pvar on success; Improve docs
	This patch avoids leaving an untouched "attrs_pvar" variable after a
	successful dp_translate(), in case the attributes are NULL or
	empty-string.

	In order to both prevent scripting bugs as well as boilerplate
	initialization code, the "attrs_pvar" is now always set to ""
	(empty-string) in case the "attrs" field is either NULL or empty-string.


2022-03-07  Razvan Crainea  <razvan at opensips dot org>
	* [4d921360e] :

	rtpengine: fix hostname detection for IPv6


2022-03-06  OpenSIPS  <github at opensips dot org>
	* [5e36b577e] :

	Rebuild documentation


2022-03-04  Liviu Chircu  <liviu at opensips dot org>
	* [0b585d2bd] :

	Add a new "log_prefix" global setting
	This setting applies to both internal logs (from C code) and script logs
	(via xlog()).  By default, the logs will look the same as before.  Once
	a prefix string is set, the logs will resemble:

	my_new_prefix:DBG:core:subst_run: running. r=0
	my_new_prefix:DBG:core:subst_run: matched (9, 1): [(]
	my_new_prefix:DBG:core:subst_run: running. r=0
	my_new_prefix:DBG:core:subst_run: matched (14, 1): [)]
	my_new_prefix:DBG:core:subst_run: running. r=1
	my_new_prefix:DBG:core:comp_scriptvar: str 20: +4434932212
	my_new_prefix:DBG:core:pv_printf: final buffer length 29
	my_new_prefix:XXX - this is a script xlog()
	my_new_prefix:DBG:core:release_dummy_sip_msg: cleaning the static sip msg 0x7f14fb1732c8


2022-03-04  Liviu Chircu  <liviu at opensips dot org>
	* [85ba95d10] :

	mi_fifo: Fix double fclose() during error handling
	Example double-free scenario (multiple ones were possible):
	  mi_fifo_callback
	    -> mi_fifo_reply -> mi_fifo_flush -> mi_fifo_write -> ERROR -> fclose()
	    -> mi_throw_error -> mi_fifo_write -> ERROR -> fclose()

	Many thanks to David Escartin (Sonoc) for a detailed report!


2022-03-04  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [88707d0cd] :

	[proto_msrp] added transactional layer


2022-03-03  Razvan Crainea  <razvan at opensips dot org>
	* [36a123856] :

	lib/hash: fix hash_insert
	Thanks go to Bogdan Iancu for spotting the issue and providing the fix


2022-03-03  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [6971a8736] :

	[proto_msrp] avoid declarations in for() loop
	Just compiler stuff, just debugging code :)


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

	[proto_msrp] initial README upload


2022-03-02  Liviu Chircu  <liviu at opensips dot org>
	* [3962f254b] :

	Private IP detection: Include RFC 1122 addresses (127.0.0.0/8, loopback)


2022-03-02  Liviu Chircu  <liviu at opensips dot org>
	* [043d4f31d] :

	HP_MALLOC: Fine-tune the "frag split size" constants
	It seems that "split on 4096 or larger" is too large a value, leading to
	fragmentation issues on typical 1G - 4G SHM pools.

	With this patch, HP_MALLOC will visibly use less shared memory, but will
	also split fragments more often.


2022-03-02  Liviu Chircu  <liviu at opensips dot org>
	* [1c4a8a5ac] :

	fraud_detection: Do not raise call-duration alerts for CANCEL/487 calls


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

	Merge pull request #2764 from ihsinme/patch-1
	incorrect error handling.


2022-03-02  ihsinme  <ihsinme at gmail dot com>
	* [336e6b0b2] :

	incorrect error handling.


2022-03-02  Nick Altmann  <nick.altmann at gmail dot com>
	* [035a8e239] :

	RPM packaging: add proto_msrp module


2022-03-01  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [2372238b3] :

	[proto_msrp] Clear priorities in ternary operator
	Again, thanks CI !


2022-03-01  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [0ee04a7c6] :

	[proto_msrp] Fix un-init var on error case
	thank you CI !


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

	Added definition of the MSRP protcol
	Missing part of b256c5c


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

	[proto_msrp] First version for the MSRP stack
	This module provides the net read/write (plain/TLS) ops, message parsing and assembling, the transactional layer (WIP) and basic signaling ops.

	An API is provided for modules that are handling/routing the MSRP traffic (like an MSRP UA or MSRP relay).
	******* WIP!!!! ******


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

	rtp_relay: adjust $rtp_relay_ctx documentation


2022-03-01  Razvan Crainea  <razvan at opensips dot org>
	* [072c9e61c] :

	rtpproxy: fix api copy handling


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

	rtp_relay: add from_tag and to_tag fields


2022-03-01  Razvan Crainea  <razvan at opensips dot org>
	* [73feb9eb1] :

	rtp_relay: add $rtp_relay_ctx `flags` and `delete`


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

	siprec: adapt documentation to the new RTPEngine support


2022-03-01  Razvan Crainea  <razvan at opensips dot org>
	* [0df4c3e10] :

	Merge branch 'feature/rtp_relay_siprec'
	Port SIPREC module to use the RTP Relay module:
	* define a new interface in rtp_relay for copying streams
	* implement 'subscribe request' RTPEngine command
	* adapt RTPProxy to new interface

	Sponsored by Rob Moore, at: Dubber - PCI Comply and Call Recording


2022-02-28  Razvan Crainea  <razvan at opensips dot org>
	* [f56797baa] :

	b2b_entities: provide param in storage callbacks
	Completes commit a1e74ef


2022-02-27  OpenSIPS  <github at opensips dot org>
	* [324a2fe35] :

	Rebuild documentation


2022-02-25  Vlad Pătrașcu  <vladp at opensips dot org>
	* [7719699d9] :

	Merge pull request #2735 from kworm83/kworm83-stir-shaken-patch
	Kworm83 stir shaken patch


2022-02-24  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [13c2a1154] :

	Fix len for Message-ID and Byte-Range header names


2022-02-24  Razvan Crainea  <razvan at opensips dot org>
	* [a1e74ef76] :

	b2b_entities: add support for custom params in callbacks


2022-02-23  Kevin  <21957311+kworm83 at users.noreply.github dot com>
	* [fb1821e35] :

	Remove erroneous + signs


2022-02-23  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [6b49736cc] :

	Fix switch-case levels for Replaces and Feature-Caps header name parsing


2022-02-23  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [d3351365e] :

	Added Use-Path header name support


2022-02-23  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [885e31628] :

	[core] fix parse_uri() parsing
	Issue discovered during OpenSIPS Security Audit 2022,
		by Alfred Farrugia & Sandro Gauci (Enable Security)

	https://github.com/OpenSIPS/opensips/security/advisories/GHSA-358f-935m-7p9c
	(cherry picked from commit b2dffe4b5cd81182c9c8eabb6c96aac96c7acfe3)


2022-02-23  Vlad Patrascu  <vladp at opensips dot org>
	* [81cfd3a7e] :

	clusterer: remove unused variables


2022-02-23  Vlad Patrascu  <vladp at opensips dot org>
	* [86a03866b] :

	clusterer: fix races when processing the sync end packet
	The BIN packet the marks the end of syncing might be processed before
	data from the last sync packet(s) has been completely consumed by modules.
	This would result in notifying modules and broadcasting the new
	capability state to other nodes in the cluster too soon. The dialog module
	for example might incorrectly drop dialogs before it has the chance to
	confirm them through syncing.
	This commit ensures that the post-sync actions are run after all sync
	chunks have been delivered to modules.


2022-02-22  Bogdan Andrei IANCU  <bogdan at opensips dot org>
	* [34f3947b4] :

	Merge pull request #2757 from nikbyte/master
	Fix crash in tracer module when negative hop-by-hop ACK received during b2b tracing


2022-02-22  Nick Altmann  <nick.altmann at gmail dot com>
	* [28208b872] :

	Add note to tracer module documentation


2022-02-22  Nick Altmann  <nick.altmann at gmail dot com>
	* [f7bce2770] :

	Fix crash in tracer module when negative hop-by-hop ACK received during b2b tracing
	Many thanks to Bogdan Iancu for debugging and fixing


2022-02-22  Liviu Chircu  <liviu at opensips dot org>
	* [42b27e9e9] :

	[mid-]registrar: Improve the auto-fixing of min/default/max expires
	Instead of auto-correcting the min_expires / max_expires in order to
	preserve the following inequality:
	    min_expires <= default_expires <= max_expires

	... we adjust the "default_expires" instead, only when needed.  Doing
	so should lead to fewer behavioral surprises, in case the ERROR logs on
	startup are missed by the script developer(s).


2022-02-20  Liviu Chircu  <liviu at opensips dot org>
	* [a880e1fae] :

	parse_msg: Fix possible buffer read overflow with whitespace input
	Fixes OSS-Fuzz#44887


2022-02-20  OpenSIPS  <github at opensips dot org>
	* [baad6a7c5] :

	Rebuild documentation


2022-02-19  Liviu Chircu  <liviu at opensips dot org>
	* [0b6e9db4f] :

	parse_uri: Fix possible buffer read overflow with urn: URIs
	Fixes OSS-Fuzz#39800


2022-02-18  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [40e43dab2] :

	Extended hdr name parsing for MSRP specific headers
	To-Path
	From-Path
	Message-ID
	Byte-Range
	Failure-Report
	Success-Report
	Status


2022-02-18  Liviu Chircu  <liviu at opensips dot org>
	* [594a5140a] :

	Fix inet_pton() error handling in various modules


2022-02-17  Liviu Chircu  <liviu at opensips dot org>
	* [42f7a97bb] :

	httpd: Add IPv6 listener support + dual-stack support
	This commit adds leverage for libmicrohttpd's built-in IPv6 support.

	The new default of the module (see the `ip` modparam) is to listen on
	all IPv6 + IPv4 interfaces.


2022-02-16  Razvan Crainea  <razvan at opensips dot org>
	* [b6c4beb35] :

	cgrates: properly parse $cgr index
	Many thanks to Sergei Lavrov (@ccppprogrammer) for reporting it
	Close #2737


2022-02-15  Vlad Patrascu  <vladp at opensips dot org>
	* [25ba2d55b] :

	dialog docs: put the cluster_auto_sync param in the proper section


2022-02-15  Vlad Patrascu  <vladp at opensips dot org>
	* [e9932270b] :

	clusterer: fix crashes when loading bad local node URL from DB
	Closes #2746


2022-02-15  Vlad Patrascu  <vladp at opensips dot org>
	* [2e0cf9b53] :

	clusterer: fix sync status when attempting to overlap sync requests
	In the case of dialog syncing, this would lead to incorrectly discarding
	received dialogs marked with an active sharing tag, when the "auto_sync"
	feature is enabled(default).


2022-02-15  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [14179bf7e] :

	[uac_redirect] update script sample in docs
	Reported by Slava Bendersky


2022-02-13  OpenSIPS  <github at opensips dot org>
	* [9afb666a3] :

	Rebuild documentation


2022-02-11  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [09490cbe6] :

	[status_report] update status/report macros
	Related to 63d79ee85a327f52cd336155db9a352a14d2867e


2022-02-11  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [859cdb72e] :

	[pike] update status/report macros
	Related to 63d79ee85a327f52cd336155db9a352a14d2867e


2022-02-11  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [7193724ee] :

	[sql_cacher] Added "status/report" support
	Each full-cache is a status/report (SR) identifier. It's status provides information DB data loading, like -2 (no data) , -1 (initial loading) , 0 (data available), 1 (reloading).
	The reports will log when a reload is done and what was the outcome of the reload (success or failure). If success, a more detailed report is generated with how many records were loaded / discarded.


2022-02-11  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [9e717b620] :

	[dialplan] fix reverted condition on setting status after reload failure


2022-02-11  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [cf76417aa] :

	[drouting] fix reverted condition on setting status after reload failure


2022-02-11  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [63d79ee85] :

	Re-structure and re-used similar code publishing status/reports from modules


2022-02-11  Vlad Patrascu  <vladp at opensips dot org>
	* [0a6b2607f] :

	b2b_logic: fix and document the b2b_terminate_call MI command
	Closes #2530


2022-02-10  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [30c77d3f1] :

	[pike] Added "status/report" support
	There is no status published here, but only reports - one each time a new IP is detected as performing flood.


2022-02-10  Vlad Patrascu  <vladp at opensips dot org>
	* [9512c2ef9] :

	cachedb_local: add restart persistency using RPM memory
	Credits to Missouri Telecom for sponsoring this feature!


2022-02-10  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [54cb7fcd6] :

	[drouting] fix typo in docs


2022-02-10  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [ceddef4a3] :

	[dialplan]Added "status/report" support
	Each partition is a status/report (SR) identifier. It's status provides information DB data loading, like -2 (no data) , -1 (initial loading) , 0 (data available), 1 (reloading).
	The reports will log when a reload is done and what was the outcome of the reload (success or failure). If success, a more detailed report is generated with how many rules were loaded / discarded.


2022-02-10  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [ddae11f62] :

	Align the name of the event with the rest of the core events


2022-02-10  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [3b79864f3] :

	[drouting] add docs on the provided Status/Report identifiers


2022-02-10  Liviu Chircu  <liviu at opensips dot org>
	* [dea72f1c4] :

	fraud_detection: Complete previous commit


2022-02-10  Liviu Chircu  <liviu at opensips dot org>
	* [7aa272aec] :

	fraud_detection: Fix the 'call duration' events
	The 'call duration' events were not being raised anymore since commit
	a0fcf857ddb, due to the mismatching callback type check in
	dialog_terminate_CB().

	Also rework commit a0fcf857ddb, where instead of switching the
	decrement operation on the DLGCB_DESTROY callback (to guarantee it only
	gets called one time), we just store and use a boolean marker, thus
	achieving the same effect but while using the optimal callbacks!


2022-02-09  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [6118412aa] :

	Fix bogus test when aggregating the status over a group


2022-02-08  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [4201ed6ac] :

	[status_report] fix creation of group without identifier


2022-02-08  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [0c1801243] :

	[status_report] generate and upload README file


2022-02-08  Nick Altmann  <nick.altmann at gmail dot com>
	* [f06fa1354] :

	RPM package: new module status_report


2022-02-08  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [39b2cd5d9] :

	[status_report] generated the contributers file


2022-02-08  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [5df84eb90] :

	[drouting] fix type in header guard
	Thank you CI :)


2022-02-08  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [ffcf4e15b] :

	Missing changes from 21b84ccc77bd48fe885536cf423ec394a8893ba7


2022-02-08  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [c76071964] :

	Fix max negative value setting


2022-02-08  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [bf0f65d1a] :

	[status_report] added new module for script SR groups
	This module extends the Status/Report framework, allowing the definition and usge of SR groups from script. So, custom, additinal SR groups may be defined here and their status/reports mey be updates from script.


2022-02-08  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [f98a1c37c] :

	[drouting ]Added "status/report" support
	Each partition is a status/report (SR) identifier. It's status provides information DB data loading, like -2 (no data) , -1 (initial loading) , 0 (data available), 1 (reloading).
	The reports will log when a reload is done and what was the outcome of the reload (success or failure). If success, a more detailed report is generated with how many gateway/carrier/rules were loaded / discarded.


2022-02-08  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [21b84ccc7] :

	Added new status/report framework.
	The purpose of this framework is to allow Modules (or parts of the core) to register identifiers in order to publish their status (readiness) and reports (logs).
	There statuses/reports may be checked from scripts or listed via MI. This allow the script to check the readiness status of various components of OpenSIPS, or, an external entity may monitor (check, list, get events) of the status / readiness of OpenSIPS (or parts of it). Also reports (some important logs poduced by OpenSIPS/modules) may be listed via MI, in order to have some history of what happened inside OpenSIPS/modules.

	Available cfg commnds (core provided):
		sr_check_status( group, [identifier])

	Available MI commands (core providede):
		sr_get_status group identifier
		sr_list_status [group]
		sr_list_reports [group] [identifier]

	Available events (core provided):
		E_SR_STATUS_CHANGED ( group, identifier, new_status, new_details, old_status)

	The old "general" OpenSIPS status was ported to this new framework as group "core", identifier "main", publishing the core status (startup, running, terminating).


2022-02-08  Vlad Paiu  <vladpaiu at opensips dot org>
	* [ceea5eb65] :

	Added extract_pub_key_from_cert
	To be used from extracting the public key embeded in a certificate


2022-01-31  Razvan Crainea  <razvan at opensips dot org>
	* [8c161c5a4] :

	media_exchange: support media_fork_to_uri from event routes


2022-01-30  Peter Lemenkov  <lemenkov at gmail dot com>
	* [0896f9a46] :

	Explicitly add fPIC and DPIC for gcc
	This addresses linking on Fedora 34 and later with gcc 11:

	```
	gcc -shared -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld  -Wl,-O2 -Wl,-E   alarm_checks.o hashTable.o interprocess_buffer.o openserMIBNotifications.o openserObjects.o openserSIPCommonObjects.o openserSIPContactTable.o openserSIPMethodSupportedTable.o openserSIPPortTable.o openserSIPRegUserLookupTable.o openserSIPRegUserTable.o openserSIPServerObjects.o openserSIPStatusCodesTable.o snmpstats.o sub_agent.o utilities.o  -L/usr/lib64 -lnetsnmpmibs -lnetsnmpagent -lnetsnmp -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -lm -lsensors -ldl -lm -lrpm -lrpmio -Wl,--enable-new-dtags -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -lm -lssl -lssl -lcrypto  -o snmpstats.so
	/usr/bin/ld: /tmp/cccfDV1K.ltrans0.ltrans.o: warning: relocation against `event_shm_threshold' in read-only section `.text'
	/usr/bin/ld: /tmp/cccfDV1K.ltrans0.ltrans.o: relocation R_X86_64_PC32 against undefined symbol `ctime_buf' can not be used when making a shared object; recompile with -fPIC
	/usr/bin/ld: final link failed: bad value
	collect2: error: ld returned 1 exit status
	make[1]: Leaving directory '/builddir/build/BUILD/opensips-3.1.7/modules/snmpstats'
	make[1]: *** [../../Makefile.rules:39: snmpstats.so] Error 1
	make: *** [Makefile:197: modules] Error 2
	```

	Closes #2734.


2022-01-30  OpenSIPS  <github at opensips dot org>
	* [7b981f6c9] :

	Rebuild documentation


2022-01-28  Vlad Patrascu  <vladp at opensips dot org>
	* [7ab192753] :

	dialog: fix previous commit


2022-01-28  Vlad Patrascu  <vladp at opensips dot org>
	* [da47168d0] :

	dialog: fix crash when dropping unsynced dialogs


2022-01-28  Liviu Chircu  <liviu at opensips dot org>
	* [d58c455e7] :

	Merge pull request #2742 from john08burke/domain_blob
	domain: add support for `DB_BLOB` attrs type


2022-01-28  John Burke  <john at voxtelesys dot net>
	* [969a5a304] :

	db: add `DB_BLOB` to string parsing macro
	Mysql/Mariadb return BLOB type when `group_concat_max_len`<=512. This will only occur when using custom SQL schema for OpenSIPS tables (such as VIEWs).


2022-01-28  Vlad Paiu  <vladpaiu at opensips dot org>
	* [cde6757a3] :

	Force re-connection on the new MySQL 4031 code
	ER_CLIENT_INTERACTION_TIMEOUT in MySQL and
	ER_REFERENCED_TRG_DOES_NOT_EXIST in MariaDB


2022-01-28  Vlad Paiu  <vladpaiu at opensips dot org>
	* [6ce038ac5] :

	Added JWT script authorizing capabilities
	Previously, the module only worked with a DB backend containing
	the keys to be used for validating JWTs.

	Added jwt_script_authorize() func for passing the pub key
	directly from the script, without requiring any DB interaction.

	Renamed jwt_authorize() to jwt_db_authorize() for clarity.

	Added db_mode ( defaults to 0 ) - no DB interaction


2022-01-28  Razvan Crainea  <razvan at opensips dot org>
	* [fb0c06c4d] :

	Merge branch 'master' into feature/rtp_relay_siprec


2022-01-27  John Burke  <john at voxtelesys dot net>
	* [0ed1ee572] :

	domain: add support for `DB_BLOB` attrs type


2022-01-27  Razvan Crainea  <razvan at opensips dot org>
	* [ed95a9f19] :

	get_send_socket: prevent crash when used with dummy msg


2022-01-26  Razvan Crainea  <razvan at opensips dot org>
	* [914f95aef] :

	cgrates: properly restore replication acc and dst
	Credits go to Barnaby Ritchley (from sipsynergy) for reporting it.


2022-01-25  Vlad Patrascu  <vladp at opensips dot org>
	* [bd7f5e4b7] :

	dialog: fix crash when receiving replicated cseq update
	Prevent crash when receiving a cseq update for an unknown dialog.
	The dialog may be already deleted due to timeout or other unexpected
	race conditions.

	Fixes #2651


2022-01-25  Vlad Paiu  <vladpaiu at opensips dot org>
	* [c58b5d9d9] :

	Added math_compare
	To be used for easily comparing two math expressions


2022-01-25  Liviu Chircu  <liviu at opensips dot org>
	* [29188a85d] :

	httpd: Fix ending newline in DBG log


2022-01-23  OpenSIPS  <github at opensips dot org>
	* [ccbca38a2] :

	Rebuild documentation


2022-01-21  Razvan Crainea  <razvan at opensips dot org>
	* [8b4f8d190] :

	rtpproxy/rtpengine: update sockets when a node is forced


2022-01-21  Vlad Patrascu  <vladp at opensips dot org>
	* [d28805f9b] :

	xml: allow '.' character in node name
	Fixes #2420


2022-01-20  Razvan Crainea  <razvan at opensips dot org>
	* [6982bad6d] :

	rabbitmq: proper detection of AMQP version
	completes previous commit


2022-01-20  Razvan Crainea  <razvan at opensips dot org>
	* [8e4b17adc] :

	rabbitmq: fix amqp_ssl_socket_get_context version detection
	Completes commit f7877f9c

	Thanks go to @axyi on GitHub for reporting this. Close #2713


2022-01-19  Razvan Crainea  <razvan at opensips dot org>
	* [b5049ac56] :

	rtpengine: only re-negociate used node during offer


2022-01-19  Vlad Patrascu  <vladp at opensips dot org>
	* [75350ef3f] :

	tls_wolfssl: change remote of wolfssl submodule to official repo


2022-01-18  Vlad Patrascu  <vladp at opensips dot org>
	* [91abb6c4f] :

	tls_wolfssl: properly fix crash when clearing the error queue
	Make sure the wolfssl error queue is empty after module init so that
	multiple processes would not try to free the same elements. Drop the
	custom locking callbacks mechanism introduced in commit 0b75867, as each
	process allocates it's own queue elements even though shm is used.

	Fixes #2667


2022-01-18  Bogdan Andrei IANCU  <bogdan at opensips dot org>
	* [28f7b0750] :

	Merge pull request #2731 from john08burke/dispatch_list
	dispatcher: add optional partition param to MI `ds_list`


2022-01-18  kworm83  <21957311+kworm83 at users.noreply.github dot com>
	* [b7676495c] :

	Add alg parameter to Identity header


2022-01-18  kworm83  <21957311+kworm83 at users.noreply.github dot com>
	* [429a42cb1] :

	Add alg=ES256 parameter/remove quotes on shaken


2022-01-18  Liviu Chircu  <liviu at opensips dot org>
	* [09f965bfc] :

	dialog: Complete previous commit
	Escape both dialog names _and_ values when building the JSON (just to be
	on the safe side).


2022-01-18  John Burke  <john at voxtelesys dot net>
	* [b5426d79b] :

	dispatcher: add optional partition param to MI `ds_list`
	If provided, this param filters the MI response to include ONLY destinations and sets within the provided partition.


2022-01-18  Liviu Chircu  <liviu at opensips dot org>
	* [2b6c3239d] :

	dialog: Add quotation mark escaping in get_dialogs_by_val()
	In case a dialog value contained the '"' character (ASCII 34), such as
	values stored by pua_dialoginfo, the resulting JSON would be invalid.

	Also optimize the function code a bit, by merging lots of
	DEC_AND_CHECK_LEN() calls together wherever possible.

	Credits to Giovanni Maruzzelli for a detailed reporting on this issue!


2022-01-18  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [1aa6aa2ce] :

	[mid-registrar/registrar] fix setting default max_contacts
	Be sure max_contacts global limit is set even when there are no flags passed to hte save() function.

	Credits go to John Burke / @john08burke
	Closes #2727


2022-01-16  OpenSIPS  <github at opensips dot org>
	* [5f17be1eb] :

	Rebuild documentation


2022-01-14  Liviu Chircu  <liviu at opensips dot org>
	* [b1fed3e74] :

	PN PURR processing: Handle "no Route headers" as success
	If the ";pn-purr=" parameter is not present in the R-URI and the request
	has no Route headers to search for it, it is a non-PN request.  So
	return a "success" return code (2), as there is nothing left to do here.


2022-01-14  Liviu Chircu  <liviu at opensips dot org>
	* [7756d3431] :

	speeddial: NULL-terminate commands array
	Completes ae4e8256


2022-01-14  Razvan Crainea  <razvan at opensips dot org>
	* [05115c42e] :

	modules: fix array termination in cmd_export_t
	Terminate the commands array with an NULL entry, as this breaks on some
	architectures that do add enough padding after the structure, and
	allocates it right next to the following structure.

	Many thanks to Dan Jenkins (@danjenkins) for reporting it!


2022-01-14  Vlad Patrascu  <vladp at opensips dot org>
	* [d6ad6d403] :

	cachedb_redis: properly pass variable arguments to a Redis command
	The redisvCommand() might reuse the variable argument list without
	properly initializing it when multiple query attempts are made.

	Credits to Liviu for catching this!


2022-01-13  Vlad Pătrașcu  <vladp at opensips dot org>
	* [bead0cdad] :

	Merge pull request #2730 from vasilevalex/wolf_printsuites
	tls_wolfssl: show supported cipher suites on module init


2022-01-13  Liviu Chircu  <liviu at opensips dot org>
	* [c5d884e60] :

	mid_registrar: Improve previous commit
	Check the domain list for duplicates before appending a new one.


2022-01-13  Liviu Chircu  <liviu at opensips dot org>
	* [30cdbd674] :

	mid_registrar: Skip usrloc callbacks for foreign domains
	In case mid_registrar is used alongside registrar using separate domains
	(location tables), then mid_registrar must not process any callbacks for
	Contacts/AORs which it is not responsible for.

	A similar logic should be added for registrar as well, however it
	currently does not subscribe to any usrloc callbacks.

	Fixes #2716


2022-01-13  Alexey Vasilyev  <alexei.vasilyev at gmail dot com>
	* [4e67ccef5] :

	tls_wolfssl: show supported cipher suites on module init


2022-01-12  Razvan Crainea  <razvan at opensips dot org>
	* [0925ce379] :

	tracer: prevent crash when xlog tracing broken msg
	Prevent crash generated by xlog tracing a SIP message that lacks
	Call-ID


2022-01-12  Vlad Patrascu  <vladp at opensips dot org>
	* [a99ba9095] :

	b2b_entities/logic: add support for Redis as database storage
	Work sponsored by ng-voice GmbH.


2022-01-12  Aron Podrigal  <aronp at guaranteedplus dot com>
	* [510366b03] :

	b2b_logic: Fix missing lock release
	When `new_entities_no` is not 2 we get dead locked.
	(cherry picked from commit 73f60301bc82d1f8779104995845c2694631f2e9)


2022-01-11  Razvan Crainea  <razvan at opensips dot org>
	* [f11dd57ef] :

	rtp_relay: add $rtp_relay_ctx() variable
	This variable can be used to provision different relay context settings,
	independent of the perticipants involved


2022-01-11  Razvan Crainea  <razvan at opensips dot org>
	* [095ffcd83] :

	rtp_relay: rework answer flags to match $rtp_relay


2022-01-10  Razvan Crainea  <razvan at opensips dot org>
	* [3083b9fae] :

	rtp_relay: add support for delete variables


2022-01-10  Razvan Crainea  <razvan at opensips dot org>
	* [5b07db60e] :

	rtpengine: suppress error for chosen set without context


2022-01-10  Razvan Crainea  <razvan at opensips dot org>
	* [e61dcb4d0] :

	rtp_relay: add support for providing body from buffers


2022-01-10  Liviu Chircu  <liviu at opensips dot org>
	* [ddd6dcd7e] :

	Merge pull request #2723 from vasilevalex/mid_reg_expiryfix
	[mid_registrar] Fixes expires parameter when it must be 0.


2022-01-10  Alexey Vasilyev  <alexei.vasilyev at gmail dot com>
	* [5d50923f4] :

	[mid_registrar] Fixes expires parameter when it must be 0.
	Fixes #2722


2022-01-10  Vlad Patrascu  <vladp at opensips dot org>
	* [312ab9fa0] :

	sql_cacher: fix parsing of 'cache_table' with trailing newline
	Closes #2682


2022-01-10  Vlad Patrascu  <vladp at opensips dot org>
	* [7918e7ddf] :

	sql_cacher: allow MI reload of individual key in full caching mode
	Closes #2704


2022-01-09  OpenSIPS  <github at opensips dot org>
	* [c5243192e] :

	Rebuild documentation


2022-01-07  Liviu Chircu  <liviu at opensips dot org>
	* [c00a3f0e0] :

	Merge pull request #2707 from GangZhuo/db_oracle_fix
	[db_oracle] Using DB_STRING as character type


2022-01-07  Razvan Crainea  <razvan at opensips dot org>
	* [783813d8c] :

	media_exchange: port media_fork_from_call to rtp_relay


2022-01-07  Liviu Chircu  <liviu at opensips dot org>
	* [3ca4d8ce7] :

	Fix some corner-case file descriptor leaks
	Credits to @ryancaicse for the analysis and report in #2714


2022-01-07  Razvan Crainea  <razvan at opensips dot org>
	* [be18af64b] :

	rtpengine: fix to_tag for copy offer


2022-01-07  Razvan Crainea  <razvan at opensips dot org>
	* [c16b8ed19] :

	media_exchange: port module to rtp_relay interface


2022-01-06  Razvan Crainea  <razvan at opensips dot org>
	* [0af1b7632] :

	WIP: rtp_relay: also use tmp_in_sdp, if might be successful


2022-01-05  Bogdan Andrei IANCU  <bogdan at opensips dot org>
	* [076b2f000] :

	Merge pull request #2657 from john08burke/rtpengine_setid
	rtpengine: allow setid param when calling `rtpengine_enable`


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

	Merge pull request #2719 from greenbea/patch-2
	fix typo in doc


2022-01-04  agree  <37550360+greenbea at users.noreply.github dot com>
	* [c68c6d758] :

	fix typo in doc


2022-01-04  Nick Altmann  <nick.altmann at gmail dot com>
	* [13f5954dc] :

	DEB packaging: add auth_jwt module package


2022-01-04  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [7de9b15f8] :

	[sipcapture] Fix array-out-of-bound when converting proto ID to string/name
	Instead of using a local array for mapping the proto IDs to names, better use the core get_proto_name() function - this will avoid duble code maintaining and risks of looking up IDs out-of-bound.

	Closes #2671


2022-01-04  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [e85072cd6] :

	Fix race condition on reporting successful per-proc cfg reload
	Set the initial per-proc reload status (to SENT) before actually sending the IPC job, to avoid any race condition (in updating the status) with the IPC callback (ran in the target process).

	Fixes #2584
	Many thanks to @etamme on providing the troubleshooting logs


2022-01-03  Razvan Crainea  <razvan at opensips dot org>
	* [70ca780e5] :

	prometheus: fix mem leak of regex parsing


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

	prometheus: allow multiple label rules per stats group


2022-01-03  Razvan Crainea  <razvan at opensips dot org>
	* [9bcfa44fa] :

	prometheus: fix comma counting when labels are used


2021-12-26  OpenSIPS  <github at opensips dot org>
	* [9c85ef78b] :

	Rebuild documentation


2021-12-23  Razvan Crainea  <razvan at opensips dot org>
	* [a655d5687] :

	WIP: rtp_relay: select legs and streams to copy


2021-12-22  Razvan Crainea  <razvan at opensips dot org>
	* [800af0f82] :

	siprec: migrate siprec_{pause,resume}_recording


2021-12-22  Razvan Crainea  <razvan at opensips dot org>
	* [0d24fb68f] :

	WIP: siprec: properly handle pause&resume


2021-12-22  Liviu Chircu  <liviu at opensips dot org>
	* [a8509eaf4] :

	clusterer: Fix missing lock_release() on capability error cases
	Credits to @ryancaicse for the report in #2714


2021-12-22  Liviu Chircu  <liviu at opensips dot org>
	* [ad28bcbd0] :

	db_text: Skip grabbing cache lock during shutdown
	The destroy() callback is only called if there is a single process left,
	there is no need for any locking anymore.  Also, the lock wasn't
	released afterwards, which was bogus.

	Credits to @ryancaicse for the report in #2714


2021-12-22  Vlad Patrascu  <vladp at opensips dot org>
	* [0b7586731] :

	tls_wolfssl: fix possible crashes when clearing the wolfssl error queue
	Set custom locking callbacks for wolfssl using the custom
	wolfSSL_SetUserMutexCb() function added in our wolfSSL fork.


2021-12-22  Vlad Patrascu  <vladp at opensips dot org>
	* [e045e924e] :

	tls_wolfssl: change wolfssl submodule to a fork of the repo


2021-12-22  Liviu Chircu  <liviu at opensips dot org>
	* [3b26cc565] :

	clusterer: Fix missing lock_release() on "out of PKG"
	Credits to @ryancaicse for the report in #2714


2021-12-22  Liviu Chircu  <liviu at opensips dot org>
	* [9bffaa279] :

	presence: Fix missing lock_release() ops on error cases
	Credits to @ryancaicse for the report in #2714


2021-12-22  Bogdan Andrei IANCU  <bogdan at opensips dot org>
	* [4bf8db30a] :

	Merge pull request #2668 from nikbyte/master
	New SHA transformations: s.sha[1|224|256|384|512] and s.sha[1|224|256|384|512]_hmac


2021-12-22  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [05212f012] :

	[auth_jwt] fix sql raw query
	Use simple quoting for values and avoid mysql specific time functions - better push the unix timestamp values from opensips side.

	Reported by Jonathan Hunter via user's mailing list


2021-12-22  Liviu Chircu  <liviu at opensips dot org>
	* [64b1b84fc] :

	presence: Fix missing lock_release() on error case
	Credits to @ryancaicse for the report in #2714


2021-12-22  Razvan Crainea  <razvan at opensips dot org>
	* [7ee8e8b85] :

	WIP: rtp_relay: rework copy to offer&answer mechanism


2021-12-22  Razvan Crainea  <razvan at opensips dot org>
	* [2283f3121] :

	tracer: fix cases when `trace` was called twice
	Reported by Ovidiu Sas and Giovanni Maruzzelli in #2531


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

	WIP: siprec: remove body from session as no longer used


2021-12-22  Razvan Crainea  <razvan at opensips dot org>
	* [161d98e71] :

	WIP: rtp_relay: implement restart persistence


2021-12-21  Liviu Chircu  <liviu at opensips dot org>
	* [ed48286c9] :

	httpd: Document libmicrohttpd regression between v0.9.53 - v0.9.71


2021-12-21  Vlad Patrascu  <vladp at opensips dot org>
	* [452d01dbe] :

	b2b_logic: properly restore b2b sessions from database
	When continuing a b2b session loaded from database, the dedicated
	b2b_logic routes would no longer be run for the received request/replies.
	Also, fix the detection of the current entity when using the
	$b2b_logic.entity variable.


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

	Complete commit bb1fcc27e2


2021-12-21  Liviu Chircu  <liviu at opensips dot org>
	* [29ee932e9] :

	Enable opensips.cfg asserts by default in DEV builds


2021-12-21  Liviu Chircu  <liviu at opensips dot org>
	* [bb1fcc27e] :

	$route variable: Add support for script "callback routes"
	The idea of "callback routes" was missed during the development of
	$route, with this feature having been first introduced in 3.1.

	Conceptually, a "callback route" is a contextless route that may be
	invoked in a nested fashion, during the processing of a SIP message in
	any of the routes.

	For example, on a SIP BYE:
	    1. route
		1.1 loose_route() (this triggers the "callback route",
		    e.g. see dlg_on_hangup())
		1.2 route "dlg_on_hangup" is run, contextless!
	    2. script processing continues! <--- here, $route output was broken

	This patch fixes the issue, by adding recursion detection into the
	run_top_route() function, such that the $route variable works as
	expected regardless of how many (nested) times it is called.

	Many thanks to Ben Newlin for catching this issue, as well as providing
	a detailed report!

	Fixes #2681


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

	WIP: rtp_relay: migrate rtpproxy


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

	time_rec.h: Use a global constant for uninitialized timestamps


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

	qrouting: Fix missing lock_release() on error case
	Credits to @ryancaicse for the report in #2714


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

	event_virtual: Fix several missing lock_release() ops
	Credits to @ryancaicse for the report in #2714


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

	event_flatstore: Fix missing lock_release() on OOM
	Credits to @ryancaicse for the report in #2714


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

	event_routing: Fix missing lock_release() on error case
	Credits to @ryancaicse for the report in #2714


2021-12-20  Liviu Chircu  <liviu at opensips dot org>
	* [80eeb52bd] :

	fraud_detection: Fix missing lock_release() on OOM error case
	Credits to @ryancaicse for the report in #2714


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

	cachedb_local: Fix missing lock_release() on error case
	Credits to @ryancaicse for the report in #2714


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

	aaa_diameter: Fix missing lock_release() on error case
	Credits to @ryancaicse for the report in #2714


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

	fraud_detection: Properly initialize self-built tmrec_t structs
	Credits to Adrian Fretwell for reporting this issue!

	Fixes #2712


2021-12-19  OpenSIPS  <github at opensips dot org>
	* [5ddad416e] :

	Rebuild documentation


2021-12-17  Razvan Crainea  <razvan at opensips dot org>
	* [27e452fb7] :

	WIP: rtp_relay: add get_sdp hook


2021-12-17  Razvan Crainea  <razvan at opensips dot org>
	* [e1158efc0] :

	WIP: rtp_relay: add hooks back to rtp_relay


2021-12-17  Razvan Crainea  <razvan at opensips dot org>
	* [078345940] :

	WIP: rtp_relay: add support for recording in rtp_relay


2021-12-16  Razvan Crainea  <razvan at opensips dot org>
	* [9d61b9f0b] :

	siprec: rename `media_ip` flag to `media`
	Although this old flag is deprecated, it will still be accepted to
	preserve backwards-compatibility, but it shall no longer be used.


2021-12-15  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [02c6ed9ea] :

	Solve the problem of recognizing the local SIP msg
	We need a consistent and solid way to recognize the internanlly generated SIP msg (as a result of t_uac) - these are msg structs resulted from the parsing of buffers with SIP msgs


2021-12-14  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [4a96ef2bd] :

	Revert "[topology-hiding] fix detection of the UAC requests"
	This reverts commit 37bf94df001136bb4e71688995c9ae57f75f9cac.


2021-12-14  Liviu Chircu  <liviu at opensips dot org>
	* [54bb91a37] :

	nathelper: Fix bug introduced in ecbd9856efb
	Credits to Alexey Vasilyev (@vasilevalex) for reviewing the commit and
	catching the regression!


2021-12-13  Liviu Chircu  <liviu at opensips dot org>
	* [996d4ffba] :

	Complete previous commit
	Avoid enabling the malloc test suite by default, as it cost quite a bit
	of time and is un-refined for now.


2021-12-13  Liviu Chircu  <liviu at opensips dot org>
	* [2e34dc3f7] :

	HP_MALLOC tests: Skip all test code if HP_MALLOC is unavailable
	Credits to Vlad Pătrașcu for catching this issue <3


2021-12-12  OpenSIPS  <github at opensips dot org>
	* [c8b6e5e16] :

	Rebuild documentation


2021-12-07  Gang Zhuo  <gang_zhuo at asus dot com>
	* [d0fdbc04b] :

	[db_oracle] fix crash when executing db_oracle_raw_query(), function db_oracle_submit_query() require that CON_ORA(_h)->pqdata is not null.


2021-12-07  Gang Zhuo  <gang_zhuo at asus dot com>
	* [36d98a7c5] :

	[db_oracle] Using DB_STRING as character type
	Fix https://github.com/OpenSIPS/opensips/issues/2706

	All modules (e.g. load_balancer) using DB_STRING as character
	type to checking column type.


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

	drouting: rework dr_rules return in case of multiple rules tables


2021-12-06  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [37bf94df0] :

	[topology-hiding] fix detection of the UAC requests
	Use a more generix approach (check VIA2 presence) to see if we deal with a locally generated or proxyed requests.
	Fixes #2690, credits go to @bcnewlin for reporting.
	(cherry picked from commit abeeb36d77e05df4a4a3fc71af1f0795dc2a7e61)


2021-12-05  OpenSIPS  <github at opensips dot org>
	* [17a575a1a] :

	Rebuild documentation


2021-12-03  Vlad Patrascu  <vladp at opensips dot org>
	* [e002e6b51] :

	cachedb_redis: fix get() return code for key not found


2021-12-03  Vlad Patrascu  <vladp at opensips dot org>
	* [ddbec155f] :

	db_text: return a valid empty string for a null DB value
	This prevents crashes in modules which do not check the null flag
	in the db result before using the string value (eg. doing strlen()).

	Fixes #2658


2021-12-02  Vlad Pătrașcu  <vladp at opensips dot org>
	* [69966d711] :

	Merge pull request #2676 from GangZhuo/issues-2649
	[sql_cacher] When on demand mode, get column types at mod_init


2021-12-02  Vlad Patrascu  <vladp at opensips dot org>
	* [008196a53] :

	tls_mgm: fix variable name from previous commit


2021-12-02  Vlad Patrascu  <vladp at opensips dot org>
	* [8af30c076] :

	tls_mgm: properly free TLS domain when failing to initialize it


2021-11-27  Liviu Chircu  <liviu at opensips dot org>
	* [d9e6ac391] :

	rtpengine: Fix broken doc build
	Thanks to Nick Altmann for the report!


2021-11-26  Razvan Crainea  <razvan at opensips dot org>
	* [4a2109133] :

	rtpengine: fix warnings from previous commit


2021-11-26  Razvan Crainea  <razvan at opensips dot org>
	* [6156fb561] :

	rtpengine: add support for returing the rtpengine error


2021-11-25  Liviu Chircu  <liviu at opensips dot org>
	* [61eb0809e] :

	Merge pull request #2697 from DavidKorczynski/cifuzz-integration
	ci: add cifuzz integration


2021-11-25  Razvan Crainea  <razvan at opensips dot org>
	* [4f41b09eb] :

	rtpengine: add support for all replace options


2021-11-25  Razvan Crainea  <razvan at opensips dot org>
	* [83e0bf6a6] :

	rtpengine: rework media-address fix by checking if value is specified
	Thanks go to @wangduanduan for reporting it in #2692


2021-11-25  Razvan Crainea  <razvan at opensips dot org>
	* [97ea33ab5] :

	Revert "rtpengine: pass the media-address as we get it"
	This reverts commit 7411e62a38e5d479dc41df6ee883aa165d8e3b56.


2021-11-25  Razvan Crainea  <razvan at opensips dot org>
	* [7411e62a3] :

	rtpengine: pass the media-address as we get it
	Thanks go to @wangduanduan for reporting it in #2692


2021-11-25  David Korczynski  <david at adalogics dot com>
	* [cdc4f0ea5] :

	cifuzz: enable push as well


2021-11-25  David Korczynski  <david at adalogics dot com>
	* [61dd52273] :

	ci: add cifuzz integration
	Add cifuzz integration so oss-fuzz fuzzers are run 600 secs each PR


2021-11-25  Liviu Chircu  <liviu at opensips dot org>
	* [ecbd9856e] :

	nathelper: Fix rare message corruption due to bitwise opts on strings
	Credits to Damien Sandras for the report and initial PR!

	Closes #2695


2021-11-24  Vlad Patrascu  <vladp at opensips dot org>
	* [447a88a19] :

	event_route: allow a 'route' subscriber to be used from event_virtual


2021-11-24  Razvan Crainea  <razvan at opensips dot org>
	* [85e0e53f5] :

	prometheus: unlock stats mods on error


2021-11-23  Liviu Chircu  <liviu at opensips dot org>
	* [7fb5ddf64] :

	drouting: Allow 64-bit integers for dr_rules.sort_profile
	This allows SQL views to represent the NULL value as a 64-bit integer
	without getting rejected by OpenSIPS, which expected a 32-bit integer
	for that column.

	Admittedly, any 64-bit integer "sort profile" will now be truncated to
	32 bits, but OpenSIPS had no full support for 64-bit sort profile values
	in the first place, so it's better to just truncate and NOT error.


2021-11-23  Liviu Chircu  <liviu at opensips dot org>
	* [e377a906b] :

	cachedb_redis docs: Add an FAQ section regarding CVE-2020-7105


2021-11-23  Liviu Chircu  <liviu at opensips dot org>
	* [6a2cc34e5] :

	cachedb_redis docs: Document usage for multi-host URLs


2021-11-23  Liviu Chircu  <liviu at opensips dot org>
	* [69179289e] :

	cachedb_redis: Add support for multi-hosts (circular failover)
	... using a cachedb_url resembling:
	    "redis:ha://localhost,host_a:6380,host_b:6381,host_c/"

	Credits to Kevin Wormington for sponsoring this feature!


2021-11-23  Razvan Crainea  <razvan at opensips dot org>
	* [aee3e683d] :

	siprec: specify socket through the $siprec variable


2021-11-23  Razvan Crainea  <razvan at opensips dot org>
	* [153256ce7] :

	socket_info: add parse_sock_info() to unify parsing


2021-11-23  Vlad Pătrașcu  <vladp at opensips dot org>
	* [576df617d] :

	Merge pull request #2662 from bbuitenhuis/master
	use listeners as primary stun IP


2021-11-23  Liviu Chircu  <liviu at opensips dot org>
	* [38e67d4ce] :

	perl: Fix PKG corruption in perl_exec_simple() (off-by-one)
	Credits to Kingsley Tart for the report!

	Fixes #2666


2021-11-23  Liviu Chircu  <liviu at opensips dot org>
	* [4dbd2ced3] :

	perl: Allow perl_exec_simple() from any route
	This function is neither tied to a SIP message nor does it perform any
	SIP signaling, so we can call it from any route!


2021-11-23  Liviu Chircu  <liviu at opensips dot org>
	* [36ba2af3e] :

	Dialplan docs: Update the time recurrence syntax text


2021-11-23  Liviu Chircu  <liviu at opensips dot org>
	* [2831178c2] :

	drouting docs: Update the time recurrence section
	Credits to Pete Kelly for spotting the issue!


2021-11-23  Razvan Crainea  <razvan at opensips dot org>
	* [95ecb77c5] :

	rtp_relay: fix flags order for answer


2021-11-23  Razvan Crainea  <razvan at opensips dot org>
	* [671467950] :

	Revert "rtp_relay: do not offer the same request twice"
	This reverts commit 562962a0589f332920cd4c962704a3d0ca5ab51c.


2021-11-23  Liviu Chircu  <liviu at opensips dot org>
	* [43046101b] :

	httpd: Fix const pointer conversion warnings (CentOS 7)
	httpd.c:136:5: warning: assignment discards ‘const’ qualifier from
	    pointer target type [enabled by default]
	  vi = ver;
	     ^
	httpd.c:137:7: warning: assignment discards ‘const’ qualifier from
	    pointer target type [enabled by default]
	  rend = ver + strlen(ver);
	       ^


2021-11-23  Razvan Crainea  <razvan at opensips dot org>
	* [84ddfb8ca] :

	rtpengine: fix tags swapping when explicitely provided


2021-11-22  Razvan Crainea  <razvan at opensips dot org>
	* [bbe3ec094] :

	siprec: add $siprec variable


2021-11-22  Razvan Crainea  <razvan at opensips dot org>
	* [c4a674fea] :

	rtp_relay: rename binds with funcs


2021-11-21  OpenSIPS  <github at opensips dot org>
	* [e25873d56] :

	Rebuild documentation


2021-11-19  Razvan Crainea  <razvan at opensips dot org>
	* [367e03142] :

	cgrates: add support for FQDN engines
	Thanks go to Vasilios Tzanoudakis (@vtzan on GitHub) for reporting.
	Close #2570


2021-11-19  Razvan Crainea  <razvan at opensips dot org>
	* [cd6351fdd] :

	cgrates: rework connection re-connect
	Use IPC events to re-connect to disabled connections


2021-11-19  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [394ba0804] :

	[drouting] update docs on carrier sorting algorithms


2021-11-18  Vlad Paiu  <vladpaiu at opensips dot org>
	* [f7c48a7bb] :

	Fix ACK CSEQ generation for in-dialog RE-INVITEs where in-dialogs pings have been sent out
	Closes #2678
	(cherry picked from commit aaa3831c6cc878abdc805a2538e62026d67117f8)


2021-11-18  Vlad Patrascu  <vladp at opensips dot org>
	* [f877f8752] :

	tls_mgm: fix possible crash when reloading from DB
	The crash would occur after multiple DB reloads when there are also TLS
	domains defined in the script.


2021-11-17  Liviu Chircu  <liviu at opensips dot org>
	* [78e4356ae] :

	proto_hep: Do not corrupt PKG memory if HEP3 buffer too small
	This patch makes proto_hep more stable in production, so it doesn't
	cause a crash if it reaches an unexpected state, such as "buffer too
	small" followed by overrunning the PKG buffer, for example:

	CRITICAL:core:qm_debug_frag:  qm_*: prev. fragm.
	    tail overwritten(f00000a000c0000, abcdefedabcdefa0)
	    [0x7f1b840306c8:0x7f1b840306f8] (build_hep3_buf, hep.c:1347)!

	Now, the respective tracing will simply fail and OpenSIPS processing
	continues safely.  Still, the original bug remains to be understood and
	addressed.

	Issue discovered during OpenSIPIt'02,
	        thanks to Alfred Farrugia & Sandro Gauci (Enable Security)


2021-11-17  Liviu Chircu  <liviu at opensips dot org>
	* [b56bba344] :

	rest_client: Add the 'max_transfer_size' setting
	Sets a limit on the maximum size of a single download.  May be important
	for security purposes, to prevent certain attack vectors such as
	malicious "x5u" certificate URLs in STIR/SHAKEN setups.
	    Default: 10240 KB

	Issue discovered during OpenSIPIt'02,
		by Alfred Farrugia & Sandro Gauci (Enable Security)


2021-11-17  Liviu Chircu  <liviu at opensips dot org>
	* [fb8fbafc0] :

	rest_client: Remove extra check
	Since "size_t" is an unsigned integer type, the RHS multiplication
	result cannot be negative unless an overflow occurs when assigning to
	LHS.  So we change the type of "len" to unsigned as well, to prevent
	this corner-case.


2021-11-17  Liviu Chircu  <liviu at opensips dot org>
	* [2825caabe] :

	Merge pull request #2689 from sippy/pr_opensipit02_qop
	Improve xyz_challenge() API to allow generating challenges like qop="auth,auth-int" as well as qop="auth-int,auth"; Make qop mandatory for the MD5-sess as well.


2021-11-17  Maksym Sobolyev  <sobomax at sippysoft dot com>
	* [f90f20cff] :

	o Get rid of the redundant macros QOP_TYPE_XYZ.
	o Use qop_type_t instead of int where appropriate.

	o Enforce qop for MD5-sess when generating a challenge.

	o Use QOP_UNSPEC_D instead of 0 where appropriate.


2021-11-17  Maksym Sobolyev  <sobomax at sippysoft dot com>
	* [f6c1f03d9] :

	Make qop parameter of the xyz_challenge() positional-dependent, so that it's possible to generate qop="auth-int,auth" as well as qop="auth,auth-int". Tested @ OpenSIPIt'02.


2021-11-15  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [f3abb0fb5] :

	Proper stack of the AVP list when running the dialog specific routes
	Fixes #2464
	Credits go to Ben Newlin for reporting and assisting with the fixing.
	(cherry picked from commit 7193c5d8d86fa527433eab8c2c2af4b40a76e275)


2021-11-14  OpenSIPS  <github at opensips dot org>
	* [42c5d3263] :

	Rebuild documentation


2021-11-12  Razvan Crainea  <razvan at opensips dot org>
	* [f527a5272] :

	prometheus: provide means to define labels
	Requested in #2629 and #2527


2021-11-12  Razvan Crainea  <razvan at opensips dot org>
	* [1e952a7f1] :

	pvar: allow $socket_out matching based on tags
	Do not force a port, if not specified in the socket's string, otherwise
	the socket will no longer match its token


2021-11-12  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [ab611f74f] :

	[core] fix parse_via() parsing
	Issue discovered during OpenSIPS Security Audit 2021,
		by Alfred Farrugia & Sandro Gauci (Enable Security)

	https://github.com/OpenSIPS/opensips/security/advisories/GHSA-wxfg-3gwh-rhvx


2021-11-12  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [cb56694d2] :

	[sipmsgops] fix parse_to_param() parsing
	Issue discovered during OpenSIPS Security Audit 2021,
		by Alfred Farrugia & Sandro Gauci (Enable Security)

	https://github.com/OpenSIPS/opensips/security/advisories/GHSA-qvj2-vqrg-f5jx


2021-11-11  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [c6ab3bb40] :

	[sipmsgops] fix codec_delete_XX() parsing (2)
	Issue discovered during OpenSIPS Security Audit 2021,
		by Alfred Farrugia & Sandro Gauci (Enable Security)

	https://github.com/OpenSIPS/opensips/security/advisories/GHSA-67w7-g4j8-3wcx


2021-11-11  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [8f87c7c03] :

	[sipmsgops] fix codec_delete_XX() parsing
	Issue discovered during OpenSIPS Security Audit 2021,
	        by Alfred Farrugia & Sandro Gauci (Enable Security)

	https://github.com/OpenSIPS/opensips/security/advisories/GHSA-xj5x-g52f-548h


2021-11-09  Gang Zhuo  <gang.zhuo at gmail dot com>
	* [6fd5688a8] :

	[sql_cacher] When on demand mode, get column types at mod_init
	Fix https://github.com/OpenSIPS/opensips/issues/2649

	On demand mode, if the cache key exists, sql_cacher do not load data
	from the database, the get_column_types() function will not be called,
	so c_entry->column_types will remaining the initial value 0.
	This will cause the wrong data type to be used to decode the cached values.


2021-11-08  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [85e67d890] :

	[usrloc] fix contact matching on registrations handling
	instead of pron-to-error string matching, use the SIP wise matching when matching the registered contacts. The SIP URI matching is more complex, mainly when comes about the URI parameters - some important (user, transport, etc) params must be present in both URIs in order to match, other generic params may match even if the param is present in only one URI.

	Some devices may use during registration some proprietary params for the contact, but without sending the full list when re-registering or when deleting the contact - and this is perfectly ok from the perspective of the SIP RFC3261.

	Prior to the fix, in the above scenario, OpenSIPS will have failed to re-register or un-register the contact, leaking registrations.


2021-11-08  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [9cf3dd339] :

	[core] build_res_buf_from_sip_req(): fix hdr correlation
	Issue discovered during OpenSIPS Security Audit 2021,
	        by Alfred Farrugia & Sandro Gauci (Enable Security)

	https://github.com/OpenSIPS/opensips/security/advisories/GHSA-7pf3-24qg-8v9h


2021-11-07  OpenSIPS  <github at opensips dot org>
	* [bfd6c775c] :

	Rebuild documentation


2021-11-05  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [dce2643e5] :

	[core] improve logging when IPC blocking is detected
	Throw a CRITical log with info on the target process


2021-11-05  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [62af720cd] :

	[core] make the per-process IPC sending non-blocking
	A process may get stuck (history showed us such real cases) and we do not want to have other processes getting blocked by trying to do an IPC to such procs (if they are stuck, they will not consume their IPC cmds, so the IPC sender will also block after some time, when the pipe's buffer is full).
	So, better make the write pipe non-blocking, discard the current IPC cmd and avoid escalating the blocking over other procs.


2021-11-04  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [bd599dc97] :

	[drouting] revert bogus changes with the prev commit
	5a6a83e3a1ac66eb5f32199d9cacae66bf0502be


2021-11-04  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [5a6a83e3a] :

	[drouting] added "gw_socket_filter_mode" modparam...
	...to controls the gateway filtering during DB loading, or whichi gateways are loaded or not into memory depending on the configured socket they have.


2021-11-03  Nick Altmann  <nick.altmann at gmail dot com>
	* [526ee0a84] :

	New SHA transformations: s.sha[1|224|256|384|512] and s.sha[1|224|256|384|512]_hmac


2021-11-03  Razvan Crainea  <razvan at opensips dot org>
	* [c9d034c7c] :

	siprec: if available, use a non-received part


2021-11-02  Razvan Crainea  <razvan at opensips dot org>
	* [86eabcffe] :

	rtpproxy: fix buffer dump of multiple media streams


2021-11-02  Razvan Crainea  <razvan at opensips dot org>
	* [3a9b4a1f0] :

	evi: fix shm duplicate of multiple params
	This fix ensures that all parameters are duplicated in SHM, instead of
	only the first one.
	Thanks go to Rob Moore for reporting it in #2669


2021-11-02  Razvan Crainea  <razvan at opensips dot org>
	* [45693c146] :

	db_sqlite: fix memory leak for row values
	(cherry picked from commit 06a35a635e71778342ee272411657040ecdcb0e6)


2021-11-01  Vlad Patrascu  <vladp at opensips dot org>
	* [8900ba4e5] :

	tls_wolfssl: enable support for static RSA ciphers


2021-11-01  Vlad Patrascu  <vladp at opensips dot org>
	* [32dbcbae7] :

	clusterer: fix internal traffic flood caused by node UP event
	The capability update broadcasting mechanism would generate an
	unncessarily large number of packets, especially for clusters
	of more than 6,7 nodes.


2021-11-01  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [52e51809c] :

	[core] fix printing cfg file context for errors after a reload_routes
	Reset the file context list each time a new cfg parsing starts, to be sure we do not inherite the context from a previous parsing.
	If we do not do this, when doing a reload_routes, if an parsing error occurs, we will get references and dumps (of the faulty lines) from the original, startup script, not from the reloaded one.


2021-11-01  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [5dd7976c0] :

	[core] proper re-init of cfg parser during reload_routes
	The lex parser needs an explicit reset/init after a parsing attempt completed with a parsing error. This is needed to be able to start a new parting session, via the route_reload MI cmd


2021-11-01  Razvan Crainea  <razvan at opensips dot org>
	* [cfbdb37db] :

	rtpproxy: add support for supplying an in-out body pvar


2021-10-31  OpenSIPS  <github at opensips dot org>
	* [78f04ea06] :

	Rebuild documentation


2021-10-29  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [0756d0d29] :

	[core] Add aux flag for marking body parts
	Related to 636a1fdf03da2a56923037e962e7afed451145ee


2021-10-29  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [fc9b8bb1a] :

	[core] Expose additional functions related to body parts manipulation
	Related to 636a1fdf03da2a56923037e962e7afed451145ee


2021-10-29  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [a06dd6f2a] :

	[sipmsgops] Better doc for get_updated_body_part()


2021-10-29  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [636a1fdf0] :

	[sipmsgops] Add get_updated_body_part() function
	To regenerate a body part, meaning to update it with all the changes done so far by OpenSIPS. Note that the sip msg will not be impacted at all


2021-10-28  Razvan Crainea  <razvan at opensips dot org>
	* [e38569baa] :

	rtpproxy: fix ptime insertion when body is used


2021-10-28  Razvan Crainea  <razvan at opensips dot org>
	* [f6c6cd7c2] :

	ut.h: add pkg_str_sync


2021-10-28  Razvan Crainea  <razvan at opensips dot org>
	* [668acafc9] :

	ratelimit: always update last local used when pipe is accessed
	Thanks go to SIPNav for troubleshooting and providing a fix for the
	problem.


2021-10-27  Liviu Chircu  <liviu at opensips dot org>
	* [dd9141b6f] :

	parse_param_name(): Improve param parsing macros
	Issue discovered during OpenSIPS Security Audit 2021,
	    by Alfred Farrugia & Sandro Gauci (Enable Security)

	https://github.com/OpenSIPS/opensips/security/advisories/GHSA-jrqg-vppj-hr2h


2021-10-26  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [af38dad21] :

	Added param passing to the "launch" resume route
	When triggering an async launch() you can pass a string to be provided as #param(1) to the resume route.
	This is very useful in order to "simulate" kind of a context when doing a launch()


2021-10-26  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [7aa24e1c1] :

	Fix the DB saved description of the caller/callee sockets
	Use the internal description of the socket when saving in DB. This means using the socket TAG when defined, versus the proto:ip:port description.
	This is how the replication is also doing, to cope with potential changes of the socket IP during a replication. And in our case, during a restart.


2021-10-24  OpenSIPS  <github at opensips dot org>
	* [f1fe8bc23] :

	Rebuild documentation


2021-10-22  Bernard  <bernard at buitenhuis dot nu>
	* [e644735e2] :

	use listeners as primary stun IP


2021-10-22  Razvan Crainea  <razvan at opensips dot org>
	* [be1e32e58] :

	cgrates: search for ctx in trans as well when reading
	When reading a $cgr* variable, we shall also check if the context is
	stored in transaction, not only in the current processing ctx.


2021-10-22  Vlad Patrascu  <vladp at opensips dot org>
	* [89a3d52e1] :

	clusterer: don't try to sync after seed_fallback_interval


2021-10-22  Vlad Patrascu  <vladp at opensips dot org>
	* [6d48698cf] :

	clusterer: fix type for sync packets passed to modules
	This is a regression bug introduced in commit
	14d1a72f433b941c41b9c28951738f11986846b6.


2021-10-21  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [cc20f738b] :

	[msilo] Fixed setting proper time in offline message


2021-10-21  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [9bc117953] :

	[msilo] Fixed len calculation for added time
	Reported by "jacky z" on user's mailing list


2021-10-20  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [79b12d8ac] :

	Allow ds_select_xxxx() from the local route


2021-10-20  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [3b26bebe2] :

	Add "cluster_probing_mode" modparam
	This controls how the gateway probing should be done, like all-probe-all, by sharing tag or distributed.


2021-10-20  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [eeb90b563] :

	Add "cluster_probing_mode" modparam
	This controls how the gateway probing should be done, like all-probe-all, by sharing tag or distributed.


2021-10-19  Liviu Chircu  <liviu at opensips dot org>
	* [996fef937] :

	parse_hname2(): Avoid left-shifting negative values
	Theoretically, left/right shifting negative values is considered to be
	undefined behavior in all C standards, so UBSan is correct to report
	this issue.  In practice, most compilers will handle this condition in a
	way that still keeps the code running correctly, so this patch is not
	fixing an actual crash or vulnerability...

	Fixes OSS-Fuzz#39811


2021-10-18  John Burke  <john at voxtelesys dot net>
	* [b6ce8d268] :

	rtpengine: update `rtpengine_enable` docs


2021-10-18  John Burke  <john at voxtelesys dot net>
	* [4ce58d76e] :

	rtpengine: allow setid param when calling `rtpengine_enable`


2021-10-17  OpenSIPS  <github at opensips dot org>
	* [3b46f4567] :

	Rebuild documentation


2021-10-14  Razvan Crainea  <razvan at opensips dot org>
	* [aebac095b] :

	Fix crash in parse_sdp for fmtp, rtpmap and hold
	When invalid strings would have been passed, the remaining value would
	have resulted in an invalid memory access.

	Issue discovered during OpenSIPS Security Audit 2021,
	    by Alfred Farrugia & Sandro Gauci (Enable Security)


2021-10-14  Liviu Chircu  <liviu at opensips dot org>
	* [6581e0efe] :

	is_ws(): Play well with UndefinedBehaviorSanitizer (UBSan)
	Avoid bitwise shifting by 31 of a signed integer type.  Practically,
	this patch does not fix any bug on the widely used arches (the resulting
	assembly is 100% the same on these), but at least it makes the code more
	C-standards compliant.

	OSS-Fuzz#39920


2021-10-13  Razvan Crainea  <razvan at opensips dot org>
	* [8aabc2049] :

	fraud_detection: allow empty prefix
	(cherry picked from commit ae8ec85b8b04703948846f871d6f6e18ce484c6a)


2021-10-11  Vlad Patrascu  <vladp at opensips dot org>
	* [f27f3a066] :

	db_postgres: fix compile errors for old C standards
	pg_con.c:186:3: error: 'for' loop initial declarations are only allowed in
	C99 mode


2021-10-11  Vlad Patrascu  <vladp at opensips dot org>
	* [f337fde87] :

	db_postgres: fix compilation for libpq versions < 9.3
	Remove usage of the PQconninfo() function since it is not available for libpq
	versions < 9.3. Conditionally enabling the code based on the libpq version is
	not an option since there is no such macro available in libpq-fe.h.
	PG_VERSION_NUM for example might not be present and refers to the
	server version anyway.


2021-10-11  Răzvan Crainea  <razvan at opensips dot org>
	* [078c57b51] :

	Merge pull request #2614 from danlshields/dshields/wsPartialExtendedLength
	Wait for more data if WS header doesn't have extended length yet


2021-10-11  Nick Altmann  <nick.altmann at gmail dot com>
	* [2fb6552a0] :

	RPM package: don't build smnpstats for fc==33 because of broken lib


2021-10-10  Vlad Pătrașcu  <vladp at opensips dot org>
	* [b4061d3d7] :

	Merge pull request #2644 from OpenSIPS/feature/tls_postgres
	Added feature branch tls_postgres


2021-10-10  Vlad Patrascu  <vladp at opensips dot org>
	* [834ab5a57] :

	tls_mgm: fix double free when no TLS library is used


2021-10-10  Vlad Patrascu  <vladp at opensips dot org>
	* [146b23e7e] :

	db_postgres: remove the tls_wolfssl module dependency


2021-10-10  Nick Altmann  <nick.altmann at gmail dot com>
	* [03fa55a1a] :

	RPM package: stop docs recoding


2021-10-10  Nick Altmann  <nick.altmann at gmail dot com>
	* [6fd8530da] :

	RPM package: don't build smnpstats for fc>=34 because of broken lib


2021-10-10  OpenSIPS  <github at opensips dot org>
	* [c75f963b2] :

	Rebuild documentation


2021-10-08  Vlad Patrascu  <vladp at opensips dot org>
	* [d5d069d37] :

	tls_wolfssl: fix memory leaks
	Do not use the wolfSSL ECC Fixed Point cache as it is not freed until
	library cleanup. Also, clear the error queue after each call to
	wolfSSL_read().

	Fixes #2604


2021-10-08  Razvan Crainea  <razvan at opensips dot org>
	* [e941c1f24] :

	cgrates: make sure default connection can reconnect


2021-10-08  Razvan Crainea  <razvan at opensips dot org>
	* [2617c9720] :

	Fix crash in parse_sdp when a= is empty
	When a bogus SDP was provided, with an empty `a=` line, there was no
	check for the length to be compared, resulting in a bad memory access,
	hence a crash.

	Issue discovered during OpenSIPS Security Audit 2021,
	    by Alfred Farrugia & Sandro Gauci (Enable Security)


2021-10-07  Răzvan Crainea  <razvan at opensips dot org>
	* [2f37d85ee] :

	Create SECURITY.md


2021-10-06  Razvan Crainea  <razvan at opensips dot org>
	* [a96190e97] :

	ut.h: fix off-by-one check in str_casematch
	when the string length is 0, the first char of the string would have
	been checked, resulting in a possible memory corruption


2021-10-06  Razvan Crainea  <razvan at opensips dot org>
	* [9fa482b40] :

	httpd: port epoll fd get to older version
	Credits go to Nick Altman for reporting


2021-10-06  Vlad Patrascu  <vladp at opensips dot org>
	* [5dc76bf1d] :

	proto_bins: add tracing support


2021-10-06  Vlad Patrascu  <vladp at opensips dot org>
	* [cc00b7fb5] :

	proto_tcp/tls/ws/wss: fix doc example for trace_destination


2021-10-06  Vlad Patrascu  <vladp at opensips dot org>
	* [1c6fa0b47] :

	tls_openssl: fix trace message for successful connect


2021-10-06  Vlad Patrascu  <vladp at opensips dot org>
	* [d4377e885] :

	tls_wolfssl: add TLS tracing support


2021-10-05  Norm Brandinger  <n.brandinger at gmail dot com>
	* [63c8fbbb7] :

	Added feature branch tls_postgres


2021-10-05  Razvan Crainea  <razvan at opensips dot org>
	* [5e94bece0] :

	httpd: fix fetching epoll fd when more than FD_SETSIZE are used


2021-10-05  Razvan Crainea  <razvan at opensips dot org>
	* [5f9c333d4] :

	sipmsgops: disable stream when all codecs are deleted


2021-10-03  OpenSIPS  <github at opensips dot org>
	* [9da51a2cf] :

	Rebuild documentation


2021-09-30  Razvan Crainea  <razvan at opensips dot org>
	* [f7f66d39b] :

	cgrates: returning a non-object response is not a problem


2021-09-28  Liviu Chircu  <liviu at opensips dot org>
	* [8df8fd960] :

	mid_registrar: Fix regression introduced in c11f92698
	Avoid re-using anonymous structures outside of the block scope they were
	declared in, as the compiler may easily re-use that stack memory outside
	the given scope.

	Credits to Andrew Yager for providing debugging info, as well as
	bisecting down to the exact culprit commit!


2021-09-28  Maksym Sobolyev  <sobomax at sippysoft dot com>
	* [ea3436b26] :

	Add str_static() macro similar to the const_str() but returning const str *, not const str_const *. This provides useful construct to initialize time-of-use const str * that won't go out of scope. This is another way to address issue fixed by @liviuchircu in the 0fadc0a6cb, one that is bit more cleaner and generates a slightly smaller compiled code.


2021-09-28  Maksym Sobolyev  <sobomax at sippysoft dot com>
	* [3f9fb0923] :

	Avoid passing pointer to a structure that might be already out of scope. This might potentially fix crashing issue reported here:
	http://lists.opensips.org/pipermail/users/2021-September/045122.html


2021-09-27  Liviu Chircu  <liviu at opensips dot org>
	* [0fadc0a6c] :

	Fix crash with REGISTER + incomplete Authorization header
	Avoid re-using anonymous structures outside of the block scope they were
	declared in.  The compiler allows such broken code, yet it is also quick
	to re-use/re-claim that memory quickly after exiting the block, leading
	to stack corruption later down the road, when the "now re-used struct"
	is read.

	Issue discovered during OpenSIPS Security Audit 2021,
	    by Alfred Farrugia & Sandro Gauci (Enable Security)


2021-09-26  OpenSIPS  <github at opensips dot org>
	* [4c87a2910] :

	Rebuild documentation


2021-09-24  Vlad Patrascu  <vladp at opensips dot org>
	* [90e077c87] :

	bin_interface: don't set unexisting field in BIN packet structure


2021-09-24  Vlad Patrascu  <vladp at opensips dot org>
	* [14d1a72f4] :

	clusterer: improve performance of sync packets processing
	Dispatch through IPC the processing of received sync packets.


2021-09-24  Vlad Patrascu  <vladp at opensips dot org>
	* [19f82ae6f] :

	clusterer: improve post-sync performance
	After sync is completed, dispatch through IPC the processing of the
	buffered replication packets received while syncing.


2021-09-23  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [2011a9f1e] :

	drouting: route_to_gw() returns also the carrier's attributes


2021-09-23  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [bad127d41] :

	Fix the timeout for wait_for_event()
	Even if a timeout is provided, it was not taken into account, leading to a potential permanent blocking of a request execution thread if there was no event ever delivered to it.


2021-09-23  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [b7c432adc] :

	Improve logging of SDP parser
	to make the error spotting much easier


2021-09-22  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [cf53d1860] :

	drouting: rework fetching the carrier attributes.
	This is a rework of 25188a4eaf79dc60f6b6f3a940716a9540fe0ca8. Instead of using the "C" flag to return the carrier's attributes to the internal AVP, better do that via an optional spec passed as parameter.


2021-09-21  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [6ed68a5d3] :

	Added extra stream filtering based on transport value
	The stream_find() and stream_delete() take an extra optional param to match the stream's transport value.


2021-09-21  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [25188a4ea] :

	Add "C" flag to is_from_gw()/goes_to_gw() to return carrier's attributes


2021-09-20  Ovidiu Sas  <osas at voipembedded dot com>
	* [01e946254] :

	dialog: improve code readability by defining dlg_has_options_pinging(dlg)


2021-09-20  Ovidiu Sas  <osas at voipembedded dot com>
	* [43b1b63e3] :

	dialog: remove unused statis variable timeout_spec


2021-09-20  Vlad Patrascu  <vladp at opensips dot org>
	* [5eb5c8f89] :

	dialog: complete fix from previous commit


2021-09-20  Vlad Patrascu  <vladp at opensips dot org>
	* [4d969df83] :

	dialog: properly handle BIN pop errors in previous commit


2021-09-20  Vlad Patrascu  <vladp at opensips dot org>
	* [b3c31fbff] :

	dialog: match replicated dialogs by did
	This fixes issues in call looping scenarios when trying to replicate
	multiple dialogs with the same SIP coordinates.


2021-09-19  OpenSIPS  <github at opensips dot org>
	* [517ad6d82] :

	Rebuild documentation


2021-09-16  Vlad Patrascu  <vladp at opensips dot org>
	* [586a4a22d] :

	b2b_logic: fix crash when b2b_trigger_scenario fails to init scenario


2021-09-16  Vlad Patrascu  <vladp at opensips dot org>
	* [e17f81937] :

	b2b_logic: prevent crash if 'server_address' modparam is not set
	Do not crash when 'server_address' modparam is not set and the
	'b2b_trigger_scenario' MI function is used.


2021-09-16  Vlad Patrascu  <vladp at opensips dot org>
	* [afbff6a00] :

	b2b_logic: fix possible crash after peer entity is disconnected
	The crash would happen when a receiving a request and the current entity
	has no peer.


2021-09-16  Liviu Chircu  <liviu at opensips dot org>
	* [067b547e9] :

	rtpproxy: Document adv+weight socket syntax; Improve dbg log


2021-09-15  Liviu Chircu  <liviu at opensips dot org>
	* [a3584877e] :

	clusterer/core: Make a node's URL port optional in db_mode 0
	This patch directly improves the "my_node_info" and "neighbor_node_info"
	modparams, which are used to provision cluster nodes without a DB.

	Specifically, due to modparams being parsed very early in the startup
	phase before proto_bin is loaded so PROTO_BIN 5555 is defined, when the
	BIN port was missing from either BIN socket or above modparam node URLs,
	the following errors would be thrown:

	ERROR:clusterer:msg_send: send() to 10.0.0.210:0 for proto bin/7 failed

	... or:

	ERROR:clusterer:add_node_info: non-local socket <10.0.0.212> for ...

	The solution involves two changes:
	    1.  always define the PROTO_BIN 5555 port, so a missing node port
	        can be filled in as early as needed with the default 5555.  The
	        loading of proto_bin can later fill in the other proto fields.

	    2.  when a socket has an undefined port, use the .default_port of
	        the protocol when comparing it against an input node:port


2021-09-14  Liviu Chircu  <liviu at opensips dot org>
	* [48aba0aed] :

	proto_bin docs: Fix 'bin_port_send_timeout' typo


2021-09-14  Liviu Chircu  <liviu at opensips dot org>
	* [9e8d36c34] :

	dialog: Fix missing unlock ops on DB load error-cases
	This patch fixes some startup deadlocks in case a dialog loaded from
	database has an incorrect DID (failed checksum check) or if OpenSIPS
	runs out of shared memory while importing dialogs from DB on startup.


2021-09-12  OpenSIPS  <github at opensips dot org>
	* [c9c45189c] :

	Rebuild documentation


2021-09-10  Razvan Crainea  <razvan at opensips dot org>
	* [ae596cccb] :

	cgrates: make MaxUsage optional for InitiateSession reply
	In newer versions of CGRateS, MaxUsage is no longer returned - this
	means that the session should be allowed without any duration
	limitation.


2021-09-05  OpenSIPS  <github at opensips dot org>
	* [0ae682e2a] :

	Rebuild documentation


2021-09-03  Razvan Crainea  <razvan at opensips dot org>
	* [c342ab063] :

	rtpengine: only add mux flags if answer/offer


2021-09-03  Razvan Crainea  <razvan at opensips dot org>
	* [9e18d404f] :

	rtp_relay: proper detection of las available session


2021-09-02  Razvan Crainea  <razvan at opensips dot org>
	* [562962a05] :

	rtp_relay: do not offer the same request twice
	When engaging rtp_relay on branches, make sure that the RTP relay does
	not get engaged twice (once per main request, and second time per
	branch)


2021-09-02  Razvan Crainea  <razvan at opensips dot org>
	* [3f0af75f4] :

	rtpengine: fix memory coruption when using branches through API


2021-08-30  Liviu Chircu  <liviu at opensips dot org>
	* [3056a3740] :

	dialplan/drouting: Fix time recurrence check interpretation
	The tmrec_expr_check() function actually returns 1/-1 on success/failure
	and not 1/0, as expected by the calling modules.

	Many thanks to Flavio Goncalves for the report!
	Fixes #2616


2021-08-29  OpenSIPS  <github at opensips dot org>
	* [89a96c0ca] :

	Rebuild documentation


2021-08-27  Dan Shields  <me at danshields dot me>
	* [cba28a5d6] :

	Wait for more data if WS header doesn't have extended length yet


2021-08-25  Razvan Crainea  <razvan at opensips dot org>
	* [46aba5611] :

	ratelimit: fix detection of replicating pipes
	in case the pipe does not contain '/' but contains 'r' or 'b', it would
	be mistakenly detected as replicated.
	Thanks go to Ken Rice from SipNav for reporting it.


2021-08-22  OpenSIPS  <github at opensips dot org>
	* [845de6cf6] :

	Rebuild documentation


2021-08-19  Vlad Patrascu  <vladp at opensips dot org>
	* [8ea4ca092] :

	tls_wolfssl: allow range of accepted TLS methods
	Closes #2564


2021-08-19  Razvan Crainea  <razvan at opensips dot org>
	* [4c52754b8] :

	proto_bin: fix crash when parsed data is printed on error
	The module was trying to print the parsed data in case of an error,
	however it was using the `start` field of the tcp_conn. The problem is
	that the module does not use the `start` field, therefore when a request
	is not entirely read from the begining, it is not updated to point to
	the new structure. Therefore, when we're trying to print the buffer, it
	is pointing to an address on stack.
	The fix for this bug was to suppress the parsed printing, as it is
	binary anyway and it is the same value as the `buf`.

	Many thanks to Bernard Buitenhuis for reporting the issue.


2021-08-19  Razvan Crainea  <razvan at opensips dot org>
	* [ca9f428a4] :

	cfg: enhance description when an unknown route is called


2021-08-19  Razvan Crainea  <razvan at opensips dot org>
	* [e4065aaf3] :

	httpd: fix feature detection for older libraries
	Feature detection has been added in version 0.9.35, thus we can't
	compile older version. However, when running cross compiling, we might
	compile aginst an older version, but run with a newer one - that's why
	we'd rather do the version detection at runtime - that's what this
	commit does.


2021-08-19  Liviu Chircu  <liviu at opensips dot org>
	* [4206f7689] :

	drouting: Fix startup crash with no clustering
	The crash was a regression, introduced in 40355a3c1.

	Many thanks to @masudmuborakshohi and Sasmita Panda for the reports!


2021-08-17  Razvan Crainea  <razvan at opensips dot org>
	* [06474f16e] :

	ratelimit: do not wait two cycles to expire replicated pipes
	When a pipe is being replicated, if nobody says anything about any
	changes of it within the repl_timer_expire period, this means that we
	can delete the pipe.
	Reported by Ken Rice (from SIPNav)


2021-08-17  Vlad Patrascu  <vladp at opensips dot org>
	* [b1c67295c] :

	tls_wolfssl: fix behavior of is_peer_verified() with session tickets
	If TLS session tickets were used for session resuming, the
	is_peer_verified() script function would not be able to verify the peer
	even if it did present a valid certificate in the initial TLS handshake.

	Even so, this fix can only guarantee that the peer can be verified when
	resuming a session, if the TLS domain is configured to require a peer
	certificate initially. Otherwise, wolfssl does not provide a way of
	retrieving the peer certificate from the received session ticket.

	Fixes #2541


2021-08-17  Liviu Chircu  <liviu at opensips dot org>
	* [ec09a18f6] :

	usrloc DB schema: Extend location.contact from CHAR(255) to TEXT
	This extension is especially useful with RFC 8599 (SIP Push
	Notifications), which may lead to sizeable Contact header URIs, often
	reaching 300+ bytes in size.

	Credits to John Quick for the suggestion!


2021-08-17  Razvan Crainea  <razvan at opensips dot org>
	* [d430c1ae8] :

	ratelimit: proper expire for replicated pipes
	Instead of updating the last_used on every received pipe, we shall only
	consider the last locally used value when we want to expire. This way,
	we only replicate pipes that have been locally used recently, if the
	ones that are not, will not be replicated, thus will eventually be
	deleted by the backup nodes.

	Thanks go to Ken Rice (SIPNav) for reporting this and troubleshooting
	the problem.


2021-08-17  Liviu Chircu  <liviu at opensips dot org>
	* [9ea64cc6c] :

	mid_registrar: Properly trigger PN during lookup() in modes 0/1
	This fixes a bug where one or more Push Notifications are not triggered
	because the "regtime" was not initialized near the start of the
	mid_reg_lookup() routine...

	Many thanks to John Quick for the report and accurate logs describing
	the issue!


2021-08-17  Nick Altmann  <nick.altmann at gmail dot com>
	* [d2e9caf7d] :

	packaging: update rpm and deb version to 3.3, improvements in rpm spec


2021-08-16  Liviu Chircu  <liviu at opensips dot org>
	* [6ebf56a67] :

	auth docs: Mention RFC 8760 support in Overview


2021-08-16  Liviu Chircu  <liviu at opensips dot org>
	* [b4b24ca7a] :

	auth_db docs: Eliminate references to "HA1b"; Document new columns
	Credits to Adrian Georgescu for the report!


2021-08-16  Liviu Chircu  <liviu at opensips dot org>
	* [5ba731736] :

	Bump development version to 3.3.0-dev


2021-08-16  Liviu Chircu  <liviu at opensips dot org>
	* [4ef6bab4d] :

	db_mysql: Fix regression in PS handling
	Commit 87f241651 introduced a regression in db_mysql where modules using
	prepared statements on top of it would run into errors.

	Example behavior of auth_db on a basic user auth query:

	    ERROR:db_mysql:db_mysql_store_result: driver error:
	        Commands out of sync; you can't run this command now
	    ERROR:auth_db:get_ha1: failed to query database

	Credits to @masudmuborakshohi for the accurate report and logs!
	Fixes #2593


2021-08-16  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [be14c99e6] :

	Add code to troubleshoot some BUG report on weight sorting alg.
	Dump all the gws, their weights and the running sums, so we can undestand why the alg fails here - this dump will happen only when the bug is detected.
	Also, in case of this BUG, avoid dropping the call (by return -1), but rather return something usefull, so the call can be routed further.
	(cherry picked from commit 35cf96e2cc3d9a0f1e280d47a5ff1ee526940bef)


2021-08-16  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [bb4de46e4] :

	Be sure we have support for MHD_USE_EPOLL.
	Check if MHD_USE_EPOLL is supported at startup, to be sure we have a proper version of the library.
	Closes #2580


2021-08-16  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [4c3150e46] :

	Fix self-IPC for cfg reloading on the MI process.
	As starting 3.2 the MI procs also have IPC and cfg files, they are also eligible for receiving the cfg reload IPC command - so we need to run this IPC cmd inline for the MI proc triggering the reload.
	Also adding some extra logging to help in understanding why a reload cmd may fail.

	Fixes #2584.


2021-08-16  Vlad Patrascu  <vladp at opensips dot org>
	* [b9f68a4de] :

	stir_shaken: allow the new Identity header to be appended to replies
	Add a new parameter to the stir_shaken_auth() function that adds the
	ability to append the new Identity header to replies or to return it
	via an output variable.

	Closes #2440


2021-08-15  Nick Altmann  <nick.altmann at gmail dot com>
	* [06b78a9ee] :

	packaging/debian: fix Debian Bullseye build


2021-08-15  OpenSIPS  <github at opensips dot org>
	* [d14fe638b] :

	Rebuild documentation


2021-08-13  Liviu Chircu  <liviu at opensips dot org>
	* [4128f67d2] :

	mid-registrar: Avoid generating De-REGISTER from Passive node
	    * enhance the usrloc API with a contact ownership checking function
	    * mid-registrar now only generates De-REGISTER for owned contacts

	Credits to Giovanni Maruzzelli for detailed reporting and instructions
	on how to reproduce this issue!

	Fixes #2559


2021-08-13  Liviu Chircu  <liviu at opensips dot org>
	* [c11f92698] :

	mid-registrar: Improve replication behavior on INSERT
	Ensure all mid-registrar data tied to a contact gets included in
	the very first "INSERT" packet.  This prevents some unnecessary error
	logs on the backup box when doing a quick REGISTER/De-REGISTER in
	Active/Passive scenarios:

	ERROR:mid_registrar:unregister_record: 'from' key not found, skipping De-REGISTER
	ERROR:mid_registrar:mid_reg_aor_event: failed to unregister contact

	Credits to Giovanni Maruzzelli for an accurate report and detailed
	logs on this issue!

	Fixes #2525


2021-08-13  Liviu Chircu  <liviu at opensips dot org>
	* [24ec0d23d] :

	usrloc: Learn the active node AoR rlabel (as backup node)
	When using timer-based contact cleanup in Active/Passive user location
	scenarios, the two timers may run in such a way that the backup node
	still has a given AoR, while the AoR does _not_ exist on the active
	node...

	Now, if a phone registers, the backup node complains that the
	replicated AoR's auto-generated rlabel differs from its own one, since
	the old AoR has yet to be cleaned up.  And as long as the AoR has no
	contacts, we can safely re-learn (overwrite) the AoR's rlabel on the
	backup node and fix this race condition.

	Credits to Giovanni Maruzzelli for reporting this issue and providing
	accurate debug logs!

	Fixes #2524


2021-08-13  Răzvan Crainea  <razvan at opensips dot org>
	* [15321bab8] :

	Merge pull request #2597 from john08burke/rtpengine_probing_refactor
	rtpengine: refactor of node probing


2021-08-12  Vlad Patrascu  <vladp at opensips dot org>
	* [a29cbcf38] :

	tls_mgm: document possible ca_dir warning when using wolfSSL
	Closes #2545


2021-08-12  Vlad Patrascu  <vladp at opensips dot org>
	* [736ad5cc3] :

	stir_shaken: add ability to skip Date header checks when verifying
	Add a new "require_date_hdr" modparam that controls whether the Date
	header is mandatory when verifying.


2021-08-12  John Burke  <john at voxtelesys dot net>
	* [dc4a2b924] :

	rtpengine: check for empty list before processing timer job


2021-08-12  John Burke  <john at voxtelesys dot net>
	* [b3dd7c51d] :

	rtpengine: use `DELAY_ON_DELAY` instead of `SKIP_ON_DELAY` timer flag


2021-08-12  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [35f55f17b] :

	Added "filter" and "filter_out" options for "rl_list"
	Using the filter or filter_out optional parameter, you can use patterns (with wildcards) to filter the pipes to be listed (instead of listing all or only one)


2021-08-11  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [40355a3c1] :

	Fix race between data sync and data load
	Be sure we trigger the startup cluster sync AFTER loading the data from DB.
	Also, when receiving replicated data, be sure the data is actually loaded.
	Closes #2581
	(cherry picked from commit 3b8bdb794da3828a4fe7639f460c36fffe03031a)


2021-08-11  John Burke  <john at voxtelesys dot net>
	* [9ccd25fc2] :

	rtpengine: refactor of node probing
	Probing of disabled rtpengine nodes is now done in timer routine instead of SIP context.


2021-08-10  Norm Brandinger  <n.brandinger at gmail dot com>
	* [0d2dac363] :

	fix: From Nick Altmann: Fix wrong variable usege when escape STR type in db_postgres


2021-08-10  Norm Brandinger  <n.brandinger at gmail dot com>
	* [41b4a018a] :

	Fix spelling


2021-08-09  Răzvan Crainea  <razvan at opensips dot org>
	* [192d8a4c7] :

	Merge pull request #2590 from OpenSIPS/uuid_doc_fix
	fix: correct uuid doc


2021-08-08  OpenSIPS  <github at opensips dot org>
	* [a3b9b8531] :

	Rebuild documentation


2021-08-06  Norm Brandinger  <n.brandinger at gmail dot com>
	* [169ffecea] :

	fix: correct uuid doc


2021-08-03  Liviu Chircu  <liviu at opensips dot org>
	* [996a677e3] :

	permissions: Fix loader conflict on multi-defined hash_destroy()
	With hash_destroy() defined both in lib/hash.c and
	modules/permissions/hash.c, this would enable the following shutdown
	crash:

	0  map_destroy ... at map.c:484
	1  0x0000557055f1d75d in hash_destroy ... at lib/hash.c:83
	2  0x0000557055f1df9a in hash_destroy ... at lib/hash.c:76
	3  0x00007f20948edf75 in clean_address ... at address.c:493
	4  0x00007f20948e7208 in mod_exit () at permissions.c:702
	5  0x0000557055eb03a1 in destroy_modules () at sr_module.c:562


2021-08-02  Liviu Chircu  <liviu at opensips dot org>
	* [f7c3d66e6] :

	ratelimit docs: Fix syntax


2021-07-30  Liviu Chircu  <liviu at opensips dot org>
	* [5ab329cdf] :

	drouting: Allow TEXT type for `dr_rules.gwlist`, `dr_rules.attrs`
	Similar to b7b45ff3032, but for the `dr_rules` table.


2021-07-28  Liviu Chircu  <liviu at opensips dot org>
	* [59b939f77] :

	tls_wolfssl: Add library build files to .gitignore


2021-07-28  Razvan Crainea  <razvan at opensips dot org>
	* [1804bad76] :

	siprec: handle denied re-invites by SRC
	Credits go to MikhailKalashnikov on GitHub for reporting it. Close #2398


2021-07-27  Razvan Crainea  <razvan at opensips dot org>
	* [67d128326] :

	lib/list.h: add list_size function


2021-07-27  Razvan Crainea  <razvan at opensips dot org>
	* [15175777c] :

	b2b_entities: parse method_id for fake replies


2021-07-26  Razvan Crainea  <razvan at opensips dot org>
	* [7af388651] :

	dialog: bump dlg replication version to 3
	Commit 58343d45 introduced some new fields in the binary packet,
	changing its structure. Thus, when using different versions, they may
	crash due to the packet's mismatch.


2021-07-23  Razvan Crainea  <razvan at opensips dot org>
	* [623d91a20] :

	topology_hiding: add flags for preserving advertised Contact header


2021-07-23  Vlad Patrascu  <vladp at opensips dot org>
	* [250a33c61] :

	b2b_logic: properly end dialog with notified entity
	Send BYE instead of just deleting the entity after completing the
	bridging action, when using the "n" flag for b2b_bridge().


2021-07-22  Vlad Patrascu  <vladp at opensips dot org>
	* [947c7e3c2] :

	b2b_logic: fix bad NOTIFY body for 100 Trying
	The static variable representing the new message body would point to the
	buffer of the SIP message from the previous call to process_bridge_notify(),
	resulting in garbage data.

	Credits to @nikbyte for catching the issue.
	Alternative fix to #2503.


2021-07-22  Vlad Patrascu  <vladp at opensips dot org>
	* [6e6d876ba] :

	b2b_logic: fix a crash when using the "n" flag for b2b_bridge()
	The crash would occur when using the "n" flag even though the current
	entity has already been deleted with b2b_delete_entity().


2021-07-21  Razvan Crainea  <razvan at opensips dot org>
	* [20cc8075d] :

	rtp_relay: fix uninitialized warning
	(cherry picked from commit 80ff0f404fce998e9b8c6243b5f7083343f0ca2e)


2021-07-21  Liviu Chircu  <liviu at opensips dot org>
	* [a6d6d26ba] :

	uac_registrant: Fix buggy gcc 7.x "uninitialized" error
	reg_records.c:302:7: error: ‘new_elem’
	    may be used uninitialized in this function
	(cherry picked from commit 20fc08a49e1a8780b4cecb7251cc8243f368c0a5)


2021-07-21  Liviu Chircu  <liviu at opensips dot org>
	* [bfa125dab] :

	cachedb_mongodb: Fix possible uninitialized variable
	(cherry picked from commit 2b3d73d8bc4f981d67802ca739132902fd959a64)


2021-07-21  Liviu Chircu  <liviu at opensips dot org>
	* [0ce870632] :

	statistics: Fix possible uninitialized output variable
	(cherry picked from commit 6d26478e7900e426c46df0b4a4c7dc563ba79c66)


2021-07-21  Liviu Chircu  <liviu at opensips dot org>
	* [a79e6c68c] :

	jabber: Fix off-by-one strncpy() error
	warning: ‘__builtin_strncpy’ output truncated before terminating nul
	copying as many bytes from a string as its length [-Wstringop-truncation]
	  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bo...
	      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...
	xjab_wlist.c: In function ‘xj_wlist_set_aliases’:
	xjab_wlist.c:455:34: note: length computed here
	  455 |   i = jwl->aliases->proxy->len = strlen(pa);
	      |                                  ^~~~~~~~~~
	(cherry picked from commit 2d98eefa0c1963f22b063aa5514ce44d82160387)


2021-07-21  Liviu Chircu  <liviu at opensips dot org>
	* [df0a145bc] :

	httpd: Fix gcc warning for unchecked fread() retcode
	(cherry picked from commit 5b5f2f68b5b59d0ca7348b4a1777a404f816dc4d)


2021-07-21  Liviu Chircu  <liviu at opensips dot org>
	* [75da6a680] :

	ldap: Fix possible buffer overflow
	If gcc says "2050 chars can overflow a 2049 buffer", gcc is definitely
	not wrong...
	(cherry picked from commit 4675b1fff4c2691a37fd2997bfadf972458bc317)


2021-07-21  Razvan Crainea  <razvan at opensips dot org>
	* [7bc88e2d0] :

	freeswitch: fix string maipulation warnings in esl


2021-07-21  Razvan Crainea  <razvan at opensips dot org>
	* [d55eac488] :

	sip_i: fix (buggy) uninitialized warning
	(cherry picked from commit d4b7a615074232d54b1090a3bc77022296d731df)


2021-07-21  Razvan Crainea  <razvan at opensips dot org>
	* [c780fe090] :

	tracer: replace un-necessary strncpy with memcpy
	(cherry picked from commit 28f7a0d5e9b831b3c923faccda6b85bc901d9409)


2021-07-21  Vlad Patrascu  <vladp at opensips dot org>
	* [ba3bd6f4d] :

	b2b_logic: overwrite existing context keys when using b2b_bridge_request()
	Closes #2424


2021-07-21  Vlad Patrascu  <vladp at opensips dot org>
	* [5e105b3da] :

	b2b_logic_xml: fix compilation


2021-07-21  Vlad Patrascu  <vladp at opensips dot org>
	* [b59a436cb] :

	b2b_logic: fix crash when receiving an INFO or unsupported method
	Thanks to David Escartin from Sonoc for reporting.


2021-07-21  Vlad Patrascu  <vladp at opensips dot org>
	* [9c9ab8f94] :

	b2b_entities/logic: fix a race condition with simultaneous reINVITEs
	Fix behavior when receiving reINVITES from the connected entities at the
	same time, one replied with 491 and the other with 200OK. The 200 OK
	would not be passed to the other entity and the tuple would never be
	deleted in this case.

	Thanks to David Escartin from Sonoc for reporting and testing the fix.


2021-07-21  Vlad Patrascu  <vladp at opensips dot org>
	* [3261d2cb5] :

	b2b_entities/logic: properly reply to canceled/expired entities
	Generate a 487 reply from opensips to the server entity if:
	* no final reply from the client entity received and the tuple
	  expires after a CANCEL request has been received;
	* a 200 OK has be received after a previous CANCEL request.

	Also, reply with 408 to the server entity if the tuple expires and no
	final reply from the client entity has been received.

	Credits to David Escartin from Sonoc for reporting and testing the
	fixes.


2021-07-21  Razvan Crainea  <razvan at opensips dot org>
	* [be6ce6a59] :

	siprec: add mandatory +sip.src Contact header param
	Credits go to @jofiy on GitHub for reporting this. Close #2383


2021-07-21  Vlad Patrascu  <vladp at opensips dot org>
	* [62728f177] :

	b2b_entities: fix callid collisions for client entities
	Prevent the possiblity of using the same seed for generating the random
	part of the callid for a new client entity.


2021-07-21  Razvan Crainea  <razvan at opensips dot org>
	* [4e6ea0a35] :

	tm: add Route headers to CANCEL of locally generated INVITE
	Thanks go to David Escartin from Sonoc for reporting and testing the
	fixes for this bug


2021-07-21  Razvan Crainea  <razvan at opensips dot org>
	* [66f9cfcd5] :

	b2b_entities: do not terminate dialog for CANCEL on reINVITE
	Thanks go to David Escartin from Sonoc for reporting and testing the
	fixes for this bug


2021-07-21  Razvan Crainea  <razvan at opensips dot org>
	* [0936ec3f9] :

	rtpengine: remove special handling for ICE
	This allows the module to blindfully pass the ICE variables to RTPEngine

	Reported by @wenyuanZZ on GitHub in sipwise/rtpengine#1319


2021-07-20  Razvan Crainea  <razvan at opensips dot org>
	* [882450d9e] :

	cgrates: prevent crash when a reply without request comes
	Reported by Vasilios Tzanoudakis (@vtzan on GitHub) in #2571


2021-07-20  Razvan Crainea  <razvan at opensips dot org>
	* [b7f3b1cc2] :

	workflows/stale: add stale tag to unassigned PRs older than 30 days


2021-07-16  Răzvan Crainea  <razvan at opensips dot org>
	* [e75d1fcde] :

	Add Stale Github Action


2021-07-16  Razvan Crainea  <razvan at opensips dot org>
	* [e107b029b] :

	mi_fifo: proper parse multiple commands received at once


2021-07-15  Vlad Patrascu  <vladp at opensips dot org>
	* [aba8ae577] :

	b2b_logic: properly release lock in case of error for create event
	Credits to @nikbyte for the fix

	Related to #2425
	Closes #2426


2021-07-13  Razvan Crainea  <razvan at opensips dot org>
	* [8ec966dbe] :

	b2b_entities: add support for checking if an entity exists


2021-07-13  Artiom Druz  <druz at sima-land dot ru>
	* [d1ba56376] :

	Fix crash when vendor hasn't price for prefix
	(cherry picked from commit be9caba4ad469224c9213edcb1e8bdb11192c823)


2021-07-09  Bogdan Andrei IANCU  <bogdan at opensips dot org>
	* [c9839c8df] :

	Merge pull request #2469 from wdoekes/fix-uac_registrant
	Make FORCE_SINGLE_REGISTRATION work again


2021-07-09  Liviu Chircu  <liviu at opensips dot org>
	* [dcc9f0abf] :

	rtpproxy: Allow the RTP streaming functions in local_route
	This enables new media playback scenarios, especially when coupled with
	dlg_send_sequential() and/or dlg_on_timeout().

	Credits to Pete Kelly for the suggestion


2021-07-07  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [2e042353e] :

	Fix deadlock upon BUG/ERROR report
	Credits for finding this issue go to Damien Sandras @ Seconix


2021-07-07  Razvan Crainea  <razvan at opensips dot org>
	* [34acfcc2f] :

	cgrates: don't bind socket before creating it
	Credits go to @volga629-1 on GitHub for reporting it in #2568


2021-07-07  Vlad Paiu  <vladpaiu at opensips dot org>
	* [f8b7d5a8b] :

	Don't rely on the static ip buf - that will be overwritten when building the dummy SIP msg


2021-07-06  Vlad Patrascu  <vladp at opensips dot org>
	* [d25ccb705] :

	b2b_logic: fix crash when handling reply to forked INVITEs
	Fixes #2473


2021-07-06  Vlad Patrascu  <vladp at opensips dot org>
	* [9412ed271] :

	tls_mgm: fix domain matching after MI reload
	After doing an MI reload, old domains might still be matched for new
	connections while there are ongoing connections that use those domains.

	Credits to Alexey Vasilyev (@vasilievalex) for troubleshooting and
	suggesting the fix.

	Fixes #2433


2021-07-06  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [61c75a0c2] :

	Be sure there is no "exit" between setting the PS and running the query
	(cherry picked from commit 499a507a12a0a7b8bac7a34a6236efaddff482e5)


2021-07-06  Bogdan Andrei IANCU  <bogdan at opensips dot org>
	* [f54e5f95a] :

	Merge pull request #2470 from wdoekes/con-ps-reference-cleanup-2
	Change CON_SET_CURR_PS pattern to always call it _directly_ before db call


2021-07-05  Razvan Crainea  <razvan at opensips dot org>
	* [2b0dde302] :

	stir_shaken: fix pkg_memleak of params parsing
	do not change the `params` while iterating through the list, as it will
	prevent `free_params` from releasing the list
	Thakns go to Nick Altmann for reporting and testing the fix


2021-07-05  Razvan Crainea  <razvan at opensips dot org>
	* [bc8af8024] :

	b2b_logic: mark the lock to be released as soon as it is acquired
	This prevents deadlocks when lock is taken, but the `do_unlock` marker
	is not yet set, this never released in case of errors.


2021-07-05  Liviu Chircu  <liviu at opensips dot org>
	* [0f748f46c] :

	cachedb_mongodb: Fix possible raw query crashes
	This patch fixes a series of bugs:

	* raw queries with no result AVP holder, causing a crash, e.g.:
	    cache_raw_query("mongodb", '
		"delete": "test",
	        "deletes": [
	            {"q": {}, "limit": 0}
	        ]}');

	* raw queries with bad syntax, causing a crash
	* pkg memory leak during the "out of pkg memory" condition

	Credits to Bogdan-Andrei Iancu for the finds!


2021-07-05  Liviu Chircu  <liviu at opensips dot org>
	* [21547d571] :

	sipmsgops: Fix sipmsg_validate() regression
	Commit b03cb41a31 introduced a regression while attempting to simplify
	some character-checking macros.

	Reported by Alexey Vasilyev
	Fixes #2563


2021-07-02  Vlad Patrascu  <vladp at opensips dot org>
	* [a3fd89931] :

	cachedb_local: allow specifying which collections to replicate
	When clustering is enabled, explicitly specify which collection to be
	replicated when setting the 'cache_collections' modparam.
	Closes #1908


2021-07-02  Vlad Paiu  <vladpaiu at opensips dot org>
	* [0e19d9e66] :

	Added remove_ip_port script function
	Used for removing all contacts behind a specific IP & Port combo


2021-07-02  Vlad Paiu  <vladpaiu at opensips dot org>
	* [55a67e370] :

	Added E_CORE_TCP_DISCONNECT event to be triggered when a TCP connection is shutdown
	Params are :
	src_ip
	src_port
	dst_ip
	dst_port
	proto


2021-07-02  Liviu Chircu  <liviu at opensips dot org>
	* [c29652fa1] :

	Memory allocators: Revert Q_MALLOC to 8-byte alignment
	Commit 1f55d05c2b actually upped Q_MALLOC's address alignment from
	8-bytes to 16-bytes.  While this isn't necessarily a bug (in fact,
	it makes OpenSIPS more crash-safe), it enables new scenarios where
	buffer overrun crashes would happen with F_MALLOC but not with Q_MALLOC.

	And since Q_MALLOC is the intended crash debugger, these scenarios
	must not be allowed, so we stick to 8-byte alignment.  If anyone needs
	16-byte aligned memory, they can just re-define ROUNDTO and re-compile.


2021-07-01  Liviu Chircu  <liviu at opensips dot org>
	* [6de2df740] :

	Complete commit e89b09e9


2021-07-01  Liviu Chircu  <liviu at opensips dot org>
	* [e89b09e9e] :

	Fix ARM32 warnings


2021-07-01  Liviu Chircu  <liviu at opensips dot org>
	* [1f55d05c2] :

	Memory allocators: Improve the memory alignment support
	This patch fixes the support for configurable memory alignment, such
	that the ROUNDTO macro is now truly customizable, for any allocator.  As
	long as the ROUNDTO is a multiple of 2, the allocators will return
	memory aligned to any required multiple.

	The defaults are still the same, as follows:
	    * F_MALLOC: 8-byte aligned memory addresses
	    * HP_MALLOC: 8-byte aligned memory addresses
	    * Q_MALLOC: 16-byte aligned memory addresses (the default in libc!)

	Also extend the allocator testing suite with memory alignment tests.
	Related to #2546


2021-07-01  Liviu Chircu  <liviu at opensips dot org>
	* [d7bbb2951] :

	aaa_diameter: Fix mem leak on startup


2021-07-01  Razvan Crainea  <razvan at opensips dot org>
	* [00e5b994e] :

	siprec: add support for history


2021-07-01  Razvan Crainea  <razvan at opensips dot org>
	* [ba043543b] :

	siprec: add support for pausing and resuming recording


2021-07-01  Liviu Chircu  <liviu at opensips dot org>
	* [548826e58] :

	Merge pull request #2518 from wdoekes/reduce-db_is_neq_type-complexity
	Reduce db_is_neq_type complexity


2021-07-01  Walter Doekes  <walter+github at wjd dot nu>
	* [c381060f9] :

	Reduce db_is_neq_type complexity
	The code was correct, but overly verbose. Boil it down to the intention
	and rely on the compiler to work its magic.

	Reviewed-by: Liviu Chircu


2021-06-30  Razvan Crainea  <razvan at opensips dot org>
	* [9e29b5491] :

	b2b_entities: fix tags parsing from request
	Fix bug introduced in 5e5fc98a


2021-06-30  Razvan Crainea  <razvan at opensips dot org>
	* [e7beec269] :

	b2b_entities: improve logging on dialog logic not found


2021-06-28  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [3607a9476] :

	Fix pkg memory leak when building pres ID.
	This leak was introduced durin the 29e86ddf2b rework
	Reported by Bernard Buitenhuis
	(cherry picked from commit c893c237872c6823259a1fb087b62cfbc5d4fc70)


2021-06-28  Liviu Chircu  <liviu at opensips dot org>
	* [ba7077ade] :

	aaa_diameter: Fix acc_extra / acc_leg accounting
	This commit adds support for dynamically configured AVPs in both
	OpenSIPS (client-side) and freeDiameter (server-side), such that they
	can be added to the sent message and parsed from the received message.

	The syntax is identical to the RADIUS configuration file, e.g.:

	    ATTRIBUTE out_gw     231 string
	    ATTRIBUTE trunk_id   232 string
	    ...


2021-06-22  Liviu Chircu  <liviu at opensips dot org>
	* [41a3230df] :

	dialog: Avoid storing id/entry values as signed integers
	This patch does not necessarily fix an immediate issue, however it's
	never advisable to compare / assign integers of different signedness.


2021-06-22  Liviu Chircu  <liviu at opensips dot org>
	* [103bdb48a] :

	dialog: Fix a subtle bug in parsing dialog IDs from DB
	This fixes a rare issue where the dlg_parse_db_id() macro would
	right-shift a signed "long long" value, potentially leading to
	implementation or compiler defined behavior.

	The fact that there is a binary diff after applying this patch proves
	that there was an underlying, hard-to-detect issue in there:

	-   4b192:	48 c1 f8 20          	sar    $0x20,%rax
	+   4b192:	48 c1 e8 20          	shr    $0x20,%rax

	Credits to Nick Altmann for providing some hints on this issue!
	Related to #2504


2021-06-22  Liviu Chircu  <liviu at opensips dot org>
	* [ae2f08997] :

	Merge pull request #2504 from nikbyte/skip-bogus-dialogs
	Dialog module: skip bogus dialogs when loading from DB


2021-06-22  Liviu Chircu  <liviu at opensips dot org>
	* [048ca1a72] :

	dialog pinging: Avoid nested pinging transactions
	This fixes a rare condition that could occur whenever the
	OPTIONS/Re-INVITE pinging interval was lower than the SIP transaction
	timeout (typically 15 seconds, so a pinging interval of < 15 seconds).

	In this case, a new pinging transaction would be continuously started,
	before the previous one would get the chance to complete, e.g. with 408
	Timeout for a dead SIP endpoint.

	Fixes #2535
	(cherry picked from commit ae1ffaf892f6a018bb1639d39665fffbe6bb3a1e)


2021-06-22  Liviu Chircu  <liviu at opensips dot org>
	* [94d497c40] :

	dialog: Minor rewrite of get_timeout_dlgs()
	    * re-define the ping state values, as they are NOT meant to be
	        combined or checked as a bitmask (they are mutually exclusive)

	    * eliminate copy-pasted list detachment blocks (merge into one "if")

	(cherry picked from commit d1e2fdc5f44b1950d65ddcb4c97fc0d2d93d49e6)
	(cherry picked from commit 4b6097de408ab93682ee719764f12aba3d5b552c)


2021-06-18  Liviu Chircu  <liviu at opensips dot org>
	* [415b6d8cb] :

	Fix long vs. int formatting warnings on ARM32


2021-06-18  Liviu Chircu  <liviu at opensips dot org>
	* [a5501ab3d] :

	mid-registrar: Make the "%40" Contact user substring configurable
	This patch adds the "at_escape_str" modparam, which is only relevant for
	mid-registrar running in "mode == 2" (AoR throttling).  This setting
	gives developers more control over the mid-registrar's Contact headers
	in case the default sequence is problematic.

	This may fix issues where, for example, the "%40" string is un-escaped
	by the backend registrar, causing errors during DNS lookup of something
	resembling, e.g., "alice@1.1.1.1@2.2.2.2".
	                         ^-------------^
				     (the hostname that gets looked up)

	The default value remains unchanged: "%40"

	Related to #2367


2021-06-17  Liviu Chircu  <liviu at opensips dot org>
	* [60f1a5325] :

	usrloc: Include the matching algorithm in replication packets
	Although this commit also bumps the usrloc BIN packet version from
	2 -> 3, there is added logic for backwards-compatibility with
	version 2 packets, so the migration in a clustered environment should
	be silky smooth!

	Many thanks to Giovanni Maruzzelli (@gmaruzz) for catching this issue
	and providing a detailed bug report!

	Fixes #2351


2021-06-17  Liviu Chircu  <liviu at opensips dot org>
	* [8cc4b3249] :

	registrar: Update the Contact URI on param-based matching


2021-06-17  Liviu Chircu  <liviu at opensips dot org>
	* [24c8ee9ed] :

	Fix compiler warnings with -DUSE_FUTEX
	Specifically:
	    futex_lock.h:78: warning: implicit declaration of function ‘syscall’

	This warning appears since glibc version 2.19, along with the
	introduction of the _DEFAULT_SOURCE FTM, which is a macro that seems to
	be additionally required when defining any of the previous FTMs...

	man feature_test_macros


2021-06-15  Vlad Patrascu  <vladp at opensips dot org>
	* [0ddcb2bdb] :

	cachedb_redis: fix usage of ssl context from tls_mgm
	Closes #2538


2021-06-15  Liviu Chircu  <liviu at opensips dot org>
	* [ed397f948] :

	aaa_diameter: Add the "app_opensips" freeDiameter application
	This is the server-side component of the Diameter integration,
	permanently maintaining an open-connection to the "aaa_diameter"
	module's Diameter peer in OpenSIPS (or at least, ideally).

	The main goals of the app:
	    * to offer support for all Diameter applications and interactions,
		e.g. accounting, digest authentication, etc.

	    * to be fully pluggable into commonly-found package-based
		freeDiameter installs on newer distros (e.g. Debian 10+,
		Ubuntu 20+, possibly others).


2021-06-15  Liviu Chircu  <liviu at opensips dot org>
	* [8661d315d] :

	auth_aaa: Downgrade auth failure log to DEBUG
	This will prevent unnecessary log spam


2021-06-15  Liviu Chircu  <liviu at opensips dot org>
	* [5139dfa01] :

	aaa_diameter: Improve handling for digest auth Result-Code
	Add synchronization between SIP workers and freeDiameter peer threads,
	in order to pass the value of the Result-Code to the blocked SIP worker.

	As a next iteration, there is also the option of making this entire
	process asynchronous, possibly with something like:

		...
		async (aaa_proxy_authorize("sipdomain.invalid"), resume_route);
	    }

	    route [resume_route] {
	        if ($rc < 0)
		    proxy_challenge("sipdomain.invalid");

		...
	    }


2021-06-15  Liviu Chircu  <liviu at opensips dot org>
	* [e00a71cb6] :

	aaa_diameter: Re-structure code; Share common AVPs with fD app


2021-06-15  Razvan Crainea  <razvan at opensips dot org>
	* [57df749c7] :

	Module deps: do not run child init twice
	make sure mod init is not run multiple times when it is declared as a
	dependency, but is defined after it's dependent module (i.e. dialog is
	defined in script after topology_hiding)


2021-06-15  Razvan Crainea  <razvan at opensips dot org>
	* [ac9ff1e38] :

	call_center: check table version
	Credits go to Level 7 Systems Ltd. for reporting this. Close #1020


2021-06-15  Razvan Crainea  <razvan at opensips dot org>
	* [d1d898878] :

	presence: fix memory leak when receiving an unmatched replicated publish


2021-06-14  Razvan Crainea  <razvan at opensips dot org>
	* [7b2406d6a] :

	Makefile.defs: allow flexible cfg_dir and bin_dir


2021-06-14  Razvan Crainea  <razvan at opensips dot org>
	* [9543a0c19] :

	call_center: add $cc_state variable


2021-06-14  Razvan Crainea  <razvan at opensips dot org>
	* [aa5cacedf] :

	ratelimit: add support for specifying what pipes to replicate


2021-06-14  Razvan Crainea  <razvan at opensips dot org>
	* [122521925] :

	pvar: remove unused functions


2021-06-14  Razvan Crainea  <razvan at opensips dot org>
	* [2e839676c] :

	rtpproxy: remove rtpproxy_tout parameter


2021-06-14  Razvan Crainea  <razvan at opensips dot org>
	* [9e95793fc] :

	pvar: remove ovsolete variables


2021-06-14  Razvan Crainea  <razvan at opensips dot org>
	* [64e6da4e2] :

	group: remove obsolete functions


2021-06-14  Razvan Crainea  <razvan at opensips dot org>
	* [620bbb9b3] :

	core_cmds: remove rewrite* deprecated functions


2021-06-14  Razvan Crainea  <razvan at opensips dot org>
	* [1eccae43b] :

	cfg: completely drop 'tcp_listen_backlog' parameter


2021-06-14  Razvan Crainea  <razvan at opensips dot org>
	* [976eae579] :

	cgrates: remove deprecated $cgrret var


2021-06-14  Razvan Crainea  <razvan at opensips dot org>
	* [e86a1121b] :

	drouting: completely remove 'W' flag of the do_routing function


2021-06-13  OpenSIPS  <github at opensips dot org>
	* [388e13d5e] :

	Rebuild documentation


2021-06-11  Vlad Patrascu  <vladp at opensips dot org>
	* [d6361e957] :

	tls_wolfssl: do not compile module by default


2021-06-11  Razvan Crainea  <razvan at opensips dot org>
	* [2bcb9fc71] :

	acc: remove acc_created_avp_name param as unused
	The acc_created_avp_name parameter is no longer being used, so it has
	been dropped


2021-06-11  Vlad Patrascu  <vladp at opensips dot org>
	* [0279e3d66] :

	tls_wolfssl: remove all generated files with make clean


2021-06-10  Vlad Patrascu  <vladp at opensips dot org>
	* [ce38c621f] :

	tls_wolfssl: improve documentation regarding compilation


2021-06-10  Vlad Patrascu  <vladp at opensips dot org>
	* [39f7aefb0] :

	b2b_entities: run the create callbacks for the proper entities


2021-06-10  Vlad Patrascu  <vladp at opensips dot org>
	* [291417cc1] :

	b2b_entities: fix entity type in create callbacks


2021-06-09  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [5f9800ec6] :

	[pua] fix starting pua without clustering
	Close #2550
	Reported by @ovidiusas
	(cherry picked from commit 1772ac909c3a134c66c14b254d55ff514809dcd8)


2021-06-09  Razvan Crainea  <razvan at opensips dot org>
	* [724900b29] :

	etc: change default OpenSIPS fifo path


2021-06-09  Razvan Crainea  <razvan at opensips dot org>
	* [e11ce4039] :

	b2b_entities: cover all cases where param is not printable
	Completes commit 0bd7fbe7


2021-06-09  Liviu Chircu  <liviu at opensips dot org>
	* [bbe8c6840] :

	Merge pull request #2532 from wdoekes/fix-mem-corruption-in-usrloc-ul_evi
	Fix memory corruption in usrloc/ul_evi


2021-06-08  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [54c36ab9d] :

	[presence] Fix inconsistent handling of optional "event_id" column
	If no value, the event_id could end up with a NULL or "" value. This was failing the later update query (no match on the event_id value), resulting in broken subscription status after a re-subscribe.
	(cherry picked from commit eaa2fd6510f533c357e8536fcdf22cad6f455322)


2021-06-08  Razvan Crainea  <razvan at opensips dot org>
	* [5f03b3ab2] :

	rtp_relay: reverse flags for answer


2021-06-08  Razvan Crainea  <razvan at opensips dot org>
	* [f6687cb5d] :

	rtp_relay: fix rtp_relay_engage() example syntax


2021-06-08  Razvan Crainea  <razvan at opensips dot org>
	* [af5a19632] :

	rtp_relay: fix new_node debugging message


2021-06-08  Razvan Crainea  <razvan at opensips dot org>
	* [74afa1c93] :

	rtp_relay: allow any of new_node and new_set in the update command


2021-06-08  Razvan Crainea  <razvan at opensips dot org>
	* [90cea7afa] :

	rtp_relay: initialize session list after deleting it


2021-06-08  Razvan Crainea  <razvan at opensips dot org>
	* [802ecddf6] :

	rtp_relay: provide received information taken from contact for update


2021-06-08  Razvan Crainea  <razvan at opensips dot org>
	* [5adaeb295] :

	rtp_relay: remove commented code


2021-06-08  Razvan Crainea  <razvan at opensips dot org>
	* [33a688418] :

	rtpproxy: fix parsing and changing SDP session c= line


2021-06-08  Razvan Crainea  <razvan at opensips dot org>
	* [c16ef2e0c] :

	rtpproxy: do not start notification process unless explicitely used


2021-06-08  Razvan Crainea  <razvan at opensips dot org>
	* [eec4aa463] :

	GitHub: add pull request template


2021-06-07  Vlad Patrascu  <vladp at opensips dot org>
	* [f9d8f66e1] :

	tls_wolfssl: fix bad status returned by is_peer_verified()
	Closes #2541


2021-06-07  Vlad Patrascu  <vladp at opensips dot org>
	* [79422f56d] :

	tls_wolfssl: fix possible crashes and bogus values for TLS variables


2021-06-07  Vlad Patrascu  <vladp at opensips dot org>
	* [4c0ff874d] :

	tls_wolfssl: fix double free when destroying tls domain
	Fixes #2540


2021-06-07  Liviu Chircu  <liviu at opensips dot org>
	* [fb9a37776] :

	F_MALLOC: Always perform an O(1) defragmentation on free()
	Changes:
	    * remove the "memory space" runtime computation, as well as the 95%
		defragmentation "start threshold" (better performance!)
	    * change the defragmentation heuristic from O(N) to O(1).  This way,
	        we avoid any performance issues caused by _too much_
		defragmentation

	The main idea is to get rid of the dreaded "not enough shared memory,
	attempting defragmentation..." state, where SHM performance goes down
	dramatically, to the point where SIP traffic processing may stall.


2021-06-06  OpenSIPS  <github at opensips dot org>
	* [f7ff51e62] :

	Rebuild documentation


2021-06-04  Liviu Chircu  <liviu at opensips dot org>
	* [700b718db] :

	registrar & mid-registrar: Do not always force the matching mode
	When the "M<matching-mode>" save() flag is not used, the registrars
	should not default to forcing the Contact-only matching mode (0), rather
	they should use the None mode (-1), and let usrloc use its own default
	setting.

	Part of a set of fixes for #2351


2021-06-04  Bogdan-Andrei Iancu  <bogdan at opensips dot org>
	* [5d5e956fb] :

	Fix docs, removed old rule_attrs_avp modparam
	This was replaced for a long time by the `rule_attrs_pvar` param of `do_routing()`
	Reported by @MosinAnton
	Closes #2537
	(cherry picked from commit 8ffc647af7d28d9be08c4805ad1fd0b7aa852966)


2021-05-31  Liviu Chircu  <liviu at opensips dot org>
	* [764969665] :

	registrant: Rebuild DB schema


2021-05-31  Ovidiu Sas  <osas at voipembedded dot com>
	* [d1d70ba89] :

	db/schema: fix table version for registrant


2021-05-30  OpenSIPS  <github at opensips dot org>
	* [7065ebf03] :

	Rebuild documentation


2021-05-29  Vlad Patrascu  <vladp at opensips dot org>
	* [9d0ed55f8] :

	tls_mgm: fix module dependencies docs


2021-05-29  Vlad Patrascu  <vladp at opensips dot org>
	* [2cde93ccb] :

	tls_mgm: fix tls_openssl dependency


2021-05-28  Liviu Chircu  <liviu at opensips dot org>
	* [a0b0e4f6a] :

	Update MySQL DB migration scripts for "3.1 to 3.2"
	New tables in 3.1, now added to the migration procedure:
	    * jwt_profiles
	    * jwt_secrets
	    * qr_profiles
	    * rc_clients
	    * rc_vendors
	    * rc_ratesheets
	    * rc_demo_ratesheet

	Changed tables in 3.2 (their columns no longer match 1:1, however the
	migration procedure still migrates their data):
	    * b2b_logic
	    * pua
	    * registrant
	    * subscriber
	(cherry picked from commit 810934034b1c1070ce9593717adeddcd743cca3e)


2021-05-26  Walter Doekes  <walter+github at wjd dot nu>
	* [1c5e895db] :

	Fix memory corruption in usrloc/ul_evi
	Problem spotted by Liviu Chircu and bisected to fe28d3ea9.

	Fixes #2529.


2021-05-26  Walter Doekes  <walter+github at wjd dot nu>
	* [87f241651] :

	Change CON_SET_CURR_PS pattern to always call it _directly_ before db call
	Because CON_SET_CURR_PS is always followed by an immediate call to
	CON_RESET_CURR_PS inside the DB function, it makes sense to call
	CON_SET_CURR_PS just before the DB call.

	Otherwise you could get this:

	   CON_SET_CURR_PS(...);

	   for (i = 0; i < n; ++i) {
	       // first insert uses prepared statement
	       db.insert(...);
	       // but second time in the loop, we use "plain" text queries
	   }

	The updated pattern would look like this:

	   for (i = 0; i < n; ++i) {
	       // the ps handle is always reset, so we reinit it every time
	       CON_SET_CURR_PS(...);
	       db.insert(...);
	   }

	Note that we don't need any explicit CON_RESET_CURR_PS() at odd points
	anymore (like was added in 57caa6c03). A SET is immediately followed by
	an implicit RESET.


2021-05-03  Nick Altmann  <nick.altmann at gmail dot com>
	* [dd6cab3da] :

	Dialog module: skip bogus dialogs when loading from DB


2021-04-13  Walter Doekes  <walter+github at wjd dot nu>
	* [83fe5f174] :

	Make FORCE_SINGLE_REGISTRATION work again
	In 5b551ba35f, an always-false expression was added. The code was
	probably supposed to be as follows..

	(REGISTERING_STATE == 1, AUTHENTICATING_STATE == 2)