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
This reverts commit 1192c499ca.
Reverted because ngcp-check-status-integrity complains about integrity
of Debian package files after changes are applied with ngcpcfg framework.
Change-Id: I7d1e998b226712614a681800082ab94979fcd355
In postinst file add commands to move db_redis table descriptor
in /etc/kamailio folder in oreder to be oevrwritten using ngcpcfg
framework
Change-Id: Id855946b59f65ca36c011949db3dfd01556530da
This reduces substantially the debian/rules file, simplifies it, and as
a side-effect also fixes the jobserver warnings previously emitted by
make.
Change-Id: I1347c888ba16aff42be5e0912d03bcd9bf7e919b
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
Since the upgrade to 5.2.3 carrierroute module as been moved to
extra module group, as it don't depends on the libconfuse library
anymore. Thus it can be integrated in the main kamailio package.
Change-Id: Ia904ac665258174c85bd88bfd32c99b9535c0a92
* 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
* add $x_rs that gets and sets reply status
(SIP_REPLY only)
* add $x_rr that gets and sets reply reason
(SIP_REPLY only)
Change-Id: I3d8cced49998f7cfb718cdb73038b85caf234cde
* branch indexes start internally from 0 where
0=transaction and 1=branch.0, etc. that is
to comply to the setbflag/isbflagset dset approach
Change-Id: I129a360258e7ec1fdde0736849bd1587b944a5eb
* fix pv_xavp_get_child to correctly pick
either branch headers (if cloned) or ones
from the default transaction
Change-Id: Ibf686042bdf06dc6da688740262d62c0293ea16d
* fix a scenario when multi headers were
duplicated
* adjust pv_single_header() and pv_skip_header()
to return 1 on true and 0 on false instead of 1 and -1
Change-Id: I8c7a316241d503bf67d57c74a104e3edc85690ac
* address a bug where parsed headers for a branch
were cloned from the headers. now parsed
headers are not cloned (they are reparsed in the branch upon
accessing them).
Change-Id: Iea48f1bd58713fbbfda6fbfdd8605ce7ab3a375e
* rework branch index retreival from msg->add_to_branch_s
* branches are stored in the xavp as pv_headers#branch_index
* improve FL_PV_HDRS_COLLECTED and FL_PV_HDRS_APPLIED flags
handling per branches or default transaction
Change-Id: If353c06b9b4351d206fd2d5daf0171a2f21b5f1c
* rvalue in $x_hdr and other pseudovariables
can now be also an integer. it is internally
converted into a string.
* fix a typo with SIP_URI_T type check
Change-Id: I682eae1f436f67fbfe3dd90c4785a82957ac362c
* check for scenarios where either msg->ruid.s
or branch ruid.s is NULL
* adjust collected/applied flags handling,
they are now handled per branch. when headers are applied
for a branch, the applied flag is not set for branches
Change-Id: I2eea6510ce0789deaec209f9c4d194192184a68e
* branches now have isolated modified headers
* headers stored in branches use headers#uid=>.. as
as the xavp name left part where the transaction
as headers=>...
Change-Id: I12e35b1be349281c3ff14548755a91e26ad5c740
We should honor the DEB_BUILD_OPTIONS parallel=N option and enable
paralell builds for all make(1) invocations, not just the main one.
Change-Id: I6aa0ae7e251aa5d9657a44581f4403ad6cfb073d