* support refreshing info after dlg_manage() is called via a new flag
Find the callee is been resolved way after in our config
* control local identity value via dlg_var
Change-Id: I6c9781626944c427693a30ed0e67d32cc582a714
* don't try to detect branch every time
* reduce use of dynamic memory
* rework reply scenario, keep reply_counter in xavp
* hook to branch event too
Change-Id: I0adf97d4cb2d214e80fae48f8fdc643c1a644cc6
* Modified funtion t_load_contact adding the 'mode' parameter:
- if equals to 0 or missing, it behaves as before (standard behavior)
- if equals to 1, contacts are ordered using a proportional algorithm
that use to q-value to calculate the weight of each contact. Higher
is the q value, higher is the probability to be contacted as first.
* Added new function ki_t_load_contact_mode to be able to set the
'mode' paramenter also from KEMI.
* Additionally a small code refactory has been done in order to
keep the code easier to read and to avoid duplications.
Change-Id: Ic39a70e43004422e2b6e5db4788df68d9e223129
The fix for issues with tls with openssl 1.1.X was not included
on debs due to We set CC_EXTRA_OPTS and LC_EXTRA_OPTS on debian/rules
Change-Id: I5cd35bcbd6f33042a7ef43ddac2c7972273da206
* tls fix is included since 5.2.5
* rename tt41650 patch to more descriptive name
* reorder patches from us
* add upstream links for the ones that have PR
Change-Id: I69c2a7bf8a805744d3eda4ee4294fa1698187b16
* fix sipwise/fix_error_in_cfgt_module.patch:
not_sip needs to be reset for sip messages after non_sip detection
* reorder some patches to avoid confusion
* Let's try to keep the descriptions for patches in order to be
able to track them easily
Change-Id: I11ea589387696f10d2f86b4e65b0dee85175ffbb
* use pvh_ prefix not to collide with pv
* use generic PKG_MEM_ERROR, SHM_MEM_ERROR
* split code into more small files
* create proper source doc
* clang-format with kamailio's settings
Change-Id: I6baaa658ae56763bca48f298e37410966414f270
A recent Kamailio version update has added an extra field to the end of
the gw list returned by load_gws() (the rule ID), which throws off
lcr_rate() as it looks at the last field in each gw string. Reverse the
approach to instead count the number of fields from the start of the
string to allow possible future extension of the field list.
Change-Id: I143e738553cec57047b19d94b6effa59788c1dc9
Necessary because python2 is being removed from Debian, and is
going to be EOL soon enough by python upstream
Change-Id: I98d94cdfdac2d8ebc8d5a22130656d198433f5eb
dfks_subs_handler does not set default values for XML elements extracted
from the body and ends up doing a strlen(NULL) if the elements are
missing.
Change-Id: I520f9f0a45c35bfb134fac5a0aa275ee3d2613f3
- build long orderless lists in reverse (forward list building has
exponential runtime)
- fix mem leaks
Change-Id: I00aa4d6bfd3eda5b37e04e79143b74b3ebd6224e
Adding a value-less key makes it a SET that contains all entry keys,
making it possible to use SCARD to count all entries.
Change-Id: I8da92944dda9df9c381d1a08ce23b142af68a69b
KEYS is considerably faster then SCAN, even with just one iteration, and
since we're always reading the full set of keys in one go anyway,
there's no benefit of using multiple SCAN invocations.
Change-Id: I0771db1b90273bf3bf73cb6b53e7d9ef8c43fcc6
We introduce a special case handling of range matching (< or > operator)
against timestamp key values, as required by the usrloc module. Without
this, the timer handling the removal of expired location entries would
have to a full table scan every time it runs (including at shutdown).
This feature detects the special case (a usable timestamp key type) and
converts the range match into a series of wildcarded SCAN statements. So
instead of doing a single full table scan which mostly returns non
matching rows, we do a series of more specific table scans, each of
which only returns relevant matching rows, or no rows at all.
Change-Id: I6c77b9d595b5f70aed976bdcd0cae329f198937b
If an update changes the value of a type key, we must propagate that
updated value to the respective type keys.
Change-Id: I7ad5c85aa9e7540e2ac558ca6b8c3125f2dfec9a
When looking for usable type keys, we must consider only types using the
DB "=" operator. Skip type keys that use any other operator.
Change-Id: I2ef696dc6d4930bc63e102c8251082ef9e3ff6b8
Redis is allowed to return an empty list in response to a SCAN even when
the iteration isn't complete yet. Only a zero cursor value returned from
a SCAN is indicative of the SCAN being complete.
Change-Id: Ib5da589c6944fcd46b2bbdc11c200e6a4f7108cb
When we need to call make from within a Makefile, we should do so by
using the MAKE variable, which has special meaning for make itself.
This makes sure, it will get marked as recursive command, and will
make it possible to use the make jobserver.
Change-Id: I8c37f2906b7e2592cb02912a59c7979b79d33f2a
* add modparam=auto_msg that is enabled by default
and if the tm module is also loaded it automatically
collects and applies the headers on incoming request/reply
and when a request/reply is forwarded
* for SIP_REPLY messages the FL_NAME_PV_HDRS_COLLECTED,
FL_NAME_PV_HDRS_COLLECTED flags are applied for the message
of the branch
Change-Id: Ife3a8d92ecd33263c35e554bb8da364ee3f03703