- URL: https://github.com/kamailio/kamailio/commit/c99eba2aa980b2c9a2769a6ddc6e168…
Author: Mathias Schneuwly <mathias.schneuwly(a)ruag.ch>
Date: 2025-06-20T08:43:24+02:00
core: Include parameter skip_record in dns_cache_print_entry
Extend the return value of dns_cache_print_entry with
the parameter `rr_skip_record` for NAPTR records. The parameter
`rr_skip_record` indicates, whether the NAPTR record is skipped
due to issues reaching the destinations. Once a NAPTR record is
marked as skipped, it will no longer be used.
Reported by schneuwlym #4174
(cherry picked from commit 1f4e6795502626865d10c83b3880e2985eb94787)
- URL: https://github.com/kamailio/kamailio/commit/9f8f0ebdd69de961a8e67245067a81d…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:02:09+02:00
snmpstats: mibs/KAMAILIO-MIB relocated DEFVAL after DESCRIPTION
- follow better the definition specs
- some tools complain otherwise
(cherry picked from commit eff0a5d9b39b371c2fdea0378a1f52002cba1e7f)
- URL: https://github.com/kamailio/kamailio/commit/5fd7f980d6cbcc21b669d445887e768…
Author: Xenofon Karamanos <xk(a)gilawa.com>
Date: 2025-06-20T09:05:28+02:00
tm: Update docs of fr_timer to match the implementation
- Use description found in https://sip-router.org/wiki/ref_manual/timers
(cherry picked from commit 1195252256858dc4419c179e5b72541018f5feab)
- URL: https://github.com/kamailio/kamailio/commit/4262016921e015153bfb61d47d33e99…
Author: ngash <ngash(a)west.com>
Date: 2025-06-20T09:05:56+02:00
uac: fix memory corruption from shared tp being freed by another transaction
- Shared memory corruption resulting in multiple process core dumps. Triggered by an outbound REGISTER receiving 401 for all requests which resulted in the shared tp being released in uac_resend_tm_callback whilst the current transaction was put on timer and also used after release and then re-released. In order to avoid sharing the tp I changed the code in uac_send_tm_callback to clone the existing tp. Also added a sanity check for null as tp could be released prior to a dereference of tp->event
(cherry picked from commit d529b511b1ce722ceccf29dc006e92d45f1f340e)
- URL: https://github.com/kamailio/kamailio/commit/8bde7892f40349beb10953da23f0737…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:06:38+02:00
microhttpd: return on malloc failure
(cherry picked from commit cdf0eda22f91f0d237e0ae0a9fc3ad292934fae1)
- URL: https://github.com/kamailio/kamailio/commit/a8d291951b225415538d07208b8fb08…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:06:46+02:00
lost: condition only on str pointer to free it
- cover empty strings
(cherry picked from commit 6b1008610861be62bd1b5f419f2cdd9bd2b23ffc)
- URL: https://github.com/kamailio/kamailio/commit/9b6fa2f9ee13b64edf90ab0e8233975…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:06:56+02:00
lost: keep pointer to original geo value
- triming can lose the start pointer and free is going to fail
- init more local variables
(cherry picked from commit f390a654ee9d2c2059669e0209926096c978ff11)
- URL: https://github.com/kamailio/kamailio/commit/d8ffd03c81833ec33c532c79ef57b92…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:07:03+02:00
lost: simplified lost_free_string()
- removed unnecessary memset() for lost_copy_string()
(cherry picked from commit 28efc7610d08ee0177b8b252316ba53686bf83bf)
- URL: https://github.com/kamailio/kamailio/commit/b4030094f1dedcc7977ab49be66fbea…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:07:11+02:00
lost: simplify freeing local variables on error
- the helper function has conditions inside
(cherry picked from commit 9f24f1109d6d491750c6feb19a9a6d0bcb674f90)
- URL: https://github.com/kamailio/kamailio/commit/304ac169061d785e098b03bf3c49809…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:07:18+02:00
nat_traversal: check result for searching port in contact uri
(cherry picked from commit 91e9cba3d4e22851275167510b6d8a71bd9e11a1)
- URL: https://github.com/kamailio/kamailio/commit/039c877b8846043db9cef6a8024e68d…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:07:39+02:00
microhttpd: warning on failing to add content-type
(cherry picked from commit 2b331d95ae62eb0000a289e1bdb668ee7bc572cb)
- URL: https://github.com/kamailio/kamailio/commit/2ee3ce3efac5dd600cb74a427a63a3f…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:07:53+02:00
textops: simplify return code when removing via param
(cherry picked from commit e9c519ad4d49b8c74069577edb84ce02a5e63ee0)
- URL: https://github.com/kamailio/kamailio/commit/7c3475af29df1e5a7f2fe25a84d7450…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:08:31+02:00
core: use ULL constant to induce value size
(cherry picked from commit cb915a518106c49c2d71308396feee9ba5149e39)
- URL: https://github.com/kamailio/kamailio/commit/58a7e25ffcbca6b681c3d581e8322ce…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:08:44+02:00
cfgutils: kemi export try/un/lock_key2() functions
- different kemi functions cannot be exported with same name, even if
they have different number of parameters
- GH #4216
(cherry picked from commit 204839ec9aeb0f31425732dd0a2e8e256481dae5)
- URL: https://github.com/kamailio/kamailio/commit/0b39a7359b8d7470168279e4ad1dd21…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:08:53+02:00
prefix_route: more debug messages
- GH #4218
(cherry picked from commit 5aee159c2881aff29a2973073e1dd6c5c61bfdb9)
- URL: https://github.com/kamailio/kamailio/commit/544866d63dcca50e47233ab878112f1…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:09:13+02:00
cdp: free in case of errors inside load_certificates()
(cherry picked from commit 47aa53ebd55eba4b36c38329f8619d9f7d20c076)
- URL: https://github.com/kamailio/kamailio/commit/6da6f0e25a902ad89ea293b7fddd8cc…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:09:27+02:00
ims_isc: free allocated route in case of error
(cherry picked from commit 76a72a0092272d0f0ca7cf3df22ad6d05a79e782)
- URL: https://github.com/kamailio/kamailio/commit/705aa5bdb4e1412b8ee5c7a54031dd0…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:09:36+02:00
jsonrpcs: reworked closing tcp socket
(cherry picked from commit d965b9242b313cb19f75baac12786d202a9987eb)
- URL: https://github.com/kamailio/kamailio/commit/17f763a892e62387d945dd3c94a9189…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:09:54+02:00
sca: free in case of parse headers error
(cherry picked from commit 6d658fe6c1af84368d093942356cf2b116ff17e5)
- URL: https://github.com/kamailio/kamailio/commit/a18ea51273139bbc14efafe899aecfc…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:10:06+02:00
misc/examples/ims/pcscf: location renamed to pcscf_location
- GH #4177
- table has different name to avoid conflict with usrloc
- pre-commit whitespaces fixes
(cherry picked from commit dc269b336c863940514e538bc71a0ef3eb5961ff)
- URL: https://github.com/kamailio/kamailio/commit/a4c3c463d5658f91012a9ecb55eb834…
Author: Paul Donald <newtwen+github(a)gmail.com>
Date: 2025-06-20T09:10:23+02:00
kamctl: version set to 6.0.0
(cherry picked from commit d54641a86656b782e3c8901c1c3ba6556248a4f5)
- URL: https://github.com/kamailio/kamailio/commit/9f09bb8b029f6f64dba64ed7b81d1e9…
Author: Paul Donald <newtwen+github(a)gmail.com>
Date: 2025-06-20T09:10:29+02:00
kamdbclt: version set to 6.0.0
- spell fix
(cherry picked from commit 607d713acfaadbb3b60ec1ba25c6eec101810c95)
- URL: https://github.com/kamailio/kamailio/commit/d53bb2348099619669d080511d8c2b9…
Author: Paul Donald <newtwen+github(a)gmail.com>
Date: 2025-06-20T09:10:37+02:00
kamctl: spell fixes
(cherry picked from commit 92917b5d3e69798ddb64c8cc40d3c4aa77f9659c)
- URL: https://github.com/kamailio/kamailio/commit/99ac7b807fb6aad46087897b89da7d2…
Author: Paul Donald <newtwen+github(a)gmail.com>
Date: 2025-06-20T09:10:45+02:00
doc: spell fixes
- mainly setup(n) <-> set(v) up distinction
(cherry picked from commit c876f3f753cd48184bc1f11d6354a66cd7e6ccd3)
- URL: https://github.com/kamailio/kamailio/commit/c01d4339ae199a5cbfb7c579d013f14…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:10:53+02:00
core: spell fixes
- mainly setup(n) <-> set(v) up distinction
(cherry picked from commit 7dbb45a1a8d4a98f439054ace33f041f1758bd96)
- URL: https://github.com/kamailio/kamailio/commit/0b87a5492792741f6f9d2d3d95713c6…
Author: Paul Donald <newtwen+github(a)gmail.com>
Date: 2025-06-20T09:11:03+02:00
pkg/kamailio/deb: spell fixes
- mainly setup(n) <-> set(v) up distinction
(cherry picked from commit cb55765834b24da779d381531d1bc70c56deee3f)
- URL: https://github.com/kamailio/kamailio/commit/0bddbd8c1525d73ad990d5cf97f332f…
Author: Paul Donald <newtwen+github(a)gmail.com>
Date: 2025-06-20T09:11:11+02:00
lib/srdb1: spell fixes
- mainly setup(n) <-> set(v) up distinction
(cherry picked from commit eefee7f917795bd4e6ffd049fbdfc0ebd166ab96)
- URL: https://github.com/kamailio/kamailio/commit/5a9526f03b23bcc86f3983c5135e1c6…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:12:03+02:00
lost: clean allocated memory also for length 0
(cherry picked from commit c8217350f44a9ab897e3acdffbce1eb2a57fe1a2)
- URL: https://github.com/kamailio/kamailio/commit/7e2ed561c12c172d9f3d6ce1c7f13d4…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:12:12+02:00
lib/ims: free before return on not finding the token
(cherry picked from commit e0adeaa22ec64444773d75b0ef04fce19b44ef2b)
- URL: https://github.com/kamailio/kamailio/commit/cafa2e0d74ae6ca1a27ee6aa604ddfa…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:12:21+02:00
smsops: use global buffer for getting pv sms body
(cherry picked from commit 4a20f89185d82515e1ac55f8cf12eec332723fc0)
- URL: https://github.com/kamailio/kamailio/commit/2f05a38a11a80fe2f2617e8c219cc60…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:12:49+02:00
core: utils/tmrec - decrement month for bymonth matching
- struct tm uses 0-11, comparing with 1-12 in the date format
- GH #4214
(cherry picked from commit 8f1a8c50ff230a1fffdd6b376f172cabe9fe60e3)
- URL: https://github.com/kamailio/kamailio/commit/4c96282bdf3445d4fc8f4bbeac7ebdc…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:13:54+02:00
core: utils/tmrec - reworked bymonth matching for negative indexes
- GH #4214
(cherry picked from commit 2081b3aac394223b68b849fbac2a9e5ac4392334)
- URL: https://github.com/kamailio/kamailio/commit/6e4100e11f49c02a9e319aa2ab269e5…
Author: Victor Seva <linuxmaniac(a)torreviejawireless.org>
Date: 2025-06-20T09:15:01+02:00
secfilter: add missing RPC del_wl command
Related #4089
(cherry picked from commit dca075fec723fa9d1d64997d6d5c0a992780c83c)
- URL: https://github.com/kamailio/kamailio/commit/a1a65348974d7847af6637dedf31d92…
Author: Victor Seva <linuxmaniac(a)torreviejawireless.org>
Date: 2025-06-20T09:15:07+02:00
secfilter: add RPC del_* commands [skip ci]
Related #4089
(cherry picked from commit e87326297a30f2adeaa4936da4e1e30fa5a81dc8)
- URL: https://github.com/kamailio/kamailio/commit/8ffc7f1e971e94e18facc000bf99084…
Author: pepelux <pepeluxx(a)gmail.com>
Date: 2025-06-20T09:15:34+02:00
secfilter: fix table of contents index points [skip ci]
(cherry picked from commit 4ade5f53c1f7f6eb7357b0561b67928e39a91b9f)
- URL: https://github.com/kamailio/kamailio/commit/ce23c88d710d38c785a328949695b8c…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:15:49+02:00
pv_headers: proper pointer comparison for returned value
(cherry picked from commit c2f36a2c4f83b0ea077722ae6cc2fcecfb3616c1)
- URL: https://github.com/kamailio/kamailio/commit/e85f97cee22fcc234c1918687ff38b6…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:15:59+02:00
drouting: rework expression to prevent value overflow
(cherry picked from commit eee4431447789b2fc614144064dd61b97570e8bf)
- URL: https://github.com/kamailio/kamailio/commit/9828b565e8646ab5ecebc128efb08a0…
Author: S-P Chan <shihping.chan(a)gmail.com>
Date: 2025-06-20T09:16:31+02:00
core: sdp - update start pointer only after len adjustment
- len is adjusted first by the amount of chars consumed so far
- start pointer is adjusted to start new search
(cherry picked from commit c9fbf6f46898dbb2a8413a1c9d824a56241f2288)
- URL: https://github.com/kamailio/kamailio/commit/c8952f7e75b022d6319fd57acbc905c…
Author: Xenofon Karamanos <xk(a)gilawa.com>
Date: 2025-06-20T09:16:43+02:00
core: docs - Update type identifiers that can be used in the RPC API
- format as well
(cherry picked from commit 9a8ab3199488f02bd01e39bb6e13ef192321b37c)
- URL: https://github.com/kamailio/kamailio/commit/ff2a85e9021bb1991156ad0ad912d7a…
Author: Xenofon Karamanos <xk(a)gilawa.com>
Date: 2025-06-20T09:16:55+02:00
cdp: Cast time_t and use 'L' (long long) identifier in rpc function.
(cherry picked from commit 4e94572059d46b6bdd6726abfd52cb59793f5b03)
- URL: https://github.com/kamailio/kamailio/commit/c941b9aa680618b5a72e8adf1e5e77f…
Author: Xenofon Karamanos <xk(a)gilawa.com>
Date: 2025-06-20T09:17:19+02:00
cdp: docs: Add missing list_peers function
- Fix some typos
- Remove unused section 7.2
(cherry picked from commit 11275ccb94cdddfec49191eaf80b2bc2f083c284)
- URL: https://github.com/kamailio/kamailio/commit/877ed19b937aafc4fcdcb39f3dd07fe…
Author: FelipeCuadra <f.cuadra(a)zaleos.net>
Date: 2025-06-20T09:18:14+02:00
stirshaken: removed repeated x509 certification path check
- removed a second check of the x509 certificate path from the module, since it is already done earlier in the library and updated documentation
(cherry picked from commit f007736ba18f5cc2114ffdd1e6df2b9b03808fe7)
- URL: https://github.com/kamailio/kamailio/commit/3884d9d3661ca17d5eeb8f731bdff66…
Author: Henning Westerholt <hw(a)gilawa.com>
Date: 2025-06-20T09:18:53+02:00
dialog: add missing documentation for optional limit parameter for list_match
(cherry picked from commit c66d9f7298aa1d76d1905b3388e3e55023baa5ae)
- URL: https://github.com/kamailio/kamailio/commit/656256019c08727c352d62f35303c5f…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:19:33+02:00
pv_headers: compare the pvh_set_xavi() result with NULL
(cherry picked from commit 87cfa9f3c5ae337dceb78654beb6fe4b00587993)
- URL: https://github.com/kamailio/kamailio/commit/6974217dfd37a0097b4e27e2cb69929…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:19:41+02:00
tls: removed unnecessary code
(cherry picked from commit 73dc08affb9d0a7a3f9ab83c24e01bada8958b2d)
- URL: https://github.com/kamailio/kamailio/commit/7fa5f5d94d81b7517b71963c4de475f…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:20:54+02:00
carrierroute: check pointer and length for str value
(cherry picked from commit 423f46e6a68e241ef03f59f863ecf6dee92c07db)
- URL: https://github.com/kamailio/kamailio/commit/761770e87b8f27bd8aa5dd46c23fa6d…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:21:00+02:00
pua_dialoginfo.c: fix condition for refresh_pubruri_avps_flag
(cherry picked from commit 46548193144c0b8ab0bf2e3ecdfd7feb79bc3b2f)
- URL: https://github.com/kamailio/kamailio/commit/b00a05bf7b0483d16b722b41e240720…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:21:11+02:00
dialog: check for message struct before accessing the fields
- for build_dlg_t_early()
(cherry picked from commit 5c38b53b902949fa48c3bc60288514cd7c555d5b)
- URL: https://github.com/kamailio/kamailio/commit/36004e22f8a61becf75cb6b8e424190…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:21:25+02:00
pv_headers: set value after checking if src is set
(cherry picked from commit 25daa0445ebc611cda3e47fd34aefc74494550d7)
- URL: https://github.com/kamailio/kamailio/commit/ac74e0fae054e264fe8d64063fef477…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:30:54+02:00
ims_ipsec_pcscf: jump to error for clean up
(cherry picked from commit f0291728b7fb623faf1d4de0f3152e782a6782ae)
- URL: https://github.com/kamailio/kamailio/commit/d39f318b36cd468826887289651f87d…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:31:33+02:00
core: helper functions to get/set msg env lists
(cherry picked from commit 54a330bb707fb6b4943ba26356891696681a02e7)
- URL: https://github.com/kamailio/kamailio/commit/0f9266684005a3c4f4748d72b8e8d54…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:31:40+02:00
jansson: docs - added missing semicolon in the example
(cherry picked from commit 7fed8f52391aaef43d5cb672f4821d50d4855830)
- URL: https://github.com/kamailio/kamailio/commit/ffe19fc22151f63c310f71650a50c35…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:31:48+02:00
core: implement pop of lists from msg env
(cherry picked from commit 465fda0f790e44e5484b2ef41363fb23fece3f41)
- URL: https://github.com/kamailio/kamailio/commit/ff735b36117c13608d45c80749372e0…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:31:55+02:00
siptrace: reset x/avp lists after event route
- GH #4258
(cherry picked from commit 5ee87b7905d931931dece44ec591d8e6bcf567e2)
- URL: https://github.com/kamailio/kamailio/commit/14664939b8e7c054ac73af228a57b94…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:32:04+02:00
siptrace: reset x/avp lists after event route
(cherry picked from commit 0195e86084ffbe5333310fc4206f4a6d01662a85)
- URL: https://github.com/kamailio/kamailio/commit/980975e95219da00acdbde91343ff8c…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:32:12+02:00
userblocklist: docs - small typo
(cherry picked from commit 81357b548b6e0cdf464361c2b1742d797f0d7e95)
- URL: https://github.com/kamailio/kamailio/commit/e5d101f2385b20b98cb7f2e27a8c8ac…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:32:22+02:00
core: print default path to runtime dir on internals output
(cherry picked from commit 730d6872054cb6218684d5e48af341c7c2749233)
- URL: https://github.com/kamailio/kamailio/commit/082a07138b7b920cfda8ce52b4b611d…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:32:57+02:00
tm: add defines for dlg cseq is_self field
- DLG_SEQ_VALINIT (should be initialized), DLG_SEQ_VALSET (is set, but
can be updated for requests within dialog), DLG_SEQ_VALNEW (is set,
and ready to be used as new cseq number in generated request)
(cherry picked from commit 73c8316bf89703156f241886554919339ac270d0)
- URL: https://github.com/kamailio/kamailio/commit/39685ace68f52a0b5e96dc9b6e42479…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:33:04+02:00
dialog: use defined tockens for is_set field of local cseq structure for keepalives
(cherry picked from commit 2492b92e49cfcd5f6828007b6a289b3f881dba69)
- URL: https://github.com/kamailio/kamailio/commit/fa614b1cb8c638292e399fe4350b212…
Author: Benjamin Tietz <tietz(a)sipgate.de>
Date: 2025-06-20T09:34:09+02:00
tls: add WSS to RPC funtions
- tls_list() add PROTO_WSS to TLS_LIST RPC call to include WSS connections in tls.list
- tls_kill() add PROTO_WSS to handle WSS connections
Co-authored-by: Andreas Tarp <tarp(a)sipgate.de>
(cherry picked from commit 9581e5b332bff8e61ed65c6ddd340a472cb1d93c)
- URL: https://github.com/kamailio/kamailio/commit/0e9f67faef8408befffa3bf39580efc…
Author: Sergey Safarov <s.safarov(a)anycast-lb.net>
Date: 2025-06-20T09:34:33+02:00
core: tcp_send_timeout applied for outbound connections
(cherry picked from commit 9105398413b4f9fab410482d9ebf5d82b6c3fb0a)
- URL: https://github.com/kamailio/kamailio/commit/fd054f531e400653a1f13f3379257b7…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:34:46+02:00
core: keep a stack of msg env data
- GH #4258
(cherry picked from commit c10c1d7f0214105c01a300b4a69c58219e4c970a)
- URL: https://github.com/kamailio/kamailio/commit/506f4fa7a8bb6768bd4f2ddf2bd419d…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:34:54+02:00
siptrace: use the msg env data stack
(cherry picked from commit f3a6f2ed539a4a0f287ba0bfee89bd44d2f1a781)
- URL: https://github.com/kamailio/kamailio/commit/ebef3ae7185862339f6751bf4798802…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:35:02+02:00
sipdump: use the msg env data stack
(cherry picked from commit 10c6f973b0f2334c6b2790d61efa1fc3ac282a01)
- URL: https://github.com/kamailio/kamailio/commit/644669d61667b8bc4e484c80c12a8cd…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:35:11+02:00
core: destroy the x/avp lists on msg env data pop
(cherry picked from commit 418a1017a58e87a9fe9085f75183bcbfba3f9022)
- URL: https://github.com/kamailio/kamailio/commit/91182d61d5df9fefcb71893eaa71757…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:35:20+02:00
core: sdp - check if space is found for extracting session version
(cherry picked from commit cdcb570e46101703f4963863c705345c7a3420ac)
- URL: https://github.com/kamailio/kamailio/commit/b920a95701c4109089045d9bd9e2395…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:35:34+02:00
core: srapi - prototype function names set back for msg env push/pop
(cherry picked from commit ec5ab51a7ba1c2a94515b8f28c546c9d7cf58b90)
- URL: https://github.com/kamailio/kamailio/commit/b0089e25607d8724a1f5f3f0effa95e…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:36:16+02:00
dispatcher: rename varaiable about strictest match with common prefix
- init values
(cherry picked from commit dfb5ef6f9d670a9ee2de223eac0a665f9e5cab71)
- URL: https://github.com/kamailio/kamailio/commit/9ba402d3508034ef3111942b8f594cf…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:36:25+02:00
dispatcher: rework MIXSOCKPRPORT (16) matching mode
- GH #4236
(cherry picked from commit 28cd81c9ad7a64ee8953ba9438756b88740b7820)
- URL: https://github.com/kamailio/kamailio/commit/ab88793011826693e259699ea9fe1a0…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:36:36+02:00
htable: return true for sht_setxi()
- GH #4283
(cherry picked from commit 9ded810b2dfe527db8d8be409fe1f34b002f3325)
- URL: https://github.com/kamailio/kamailio/commit/7a4362f646cfa029c31e7a447beac15…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:36:52+02:00
core: parser - count diversion header body len based on last param
- take in consideratio quoted param values
(cherry picked from commit f789f6a5fa4d651ad3bcb657cb2a1dc765de6460)
- URL: https://github.com/kamailio/kamailio/commit/c31ea2270f5b3ef43bb324f63b86c1f…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:37:01+02:00
jwt: added to the notes about libjwt versions
- module is not compatible with the new libjwt3
(cherry picked from commit 36c466bce5a57df72806a0915361612c32cc838e)
- URL: https://github.com/kamailio/kamailio/commit/24e9e573eaa0e85abd4285103528d1e…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:37:11+02:00
core: tcp - log message on message processing timeout made debug
(cherry picked from commit 2af2c80fde4e82614846af9d817ab2bffa2d954d)
- URL: https://github.com/kamailio/kamailio/commit/b3555bb2e5d4ea0ffa80c5f98dd0988…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:37:22+02:00
core: reformat structure with core pv exports
(cherry picked from commit 076d9549a28295392c9a8ca0ce079f2a59ed4f1e)
- URL: https://github.com/kamailio/kamailio/commit/8926a88d9011f0ec08b8e97f0858489…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:47:37+02:00
Revert "secfilter: fix table of contents index points [skip ci]"
This reverts commit 8ffc7f1e971e94e18facc000bf99084f69b1f400.
- URL: https://github.com/kamailio/kamailio/commit/7990d4bf35f7b79a74315ed775401d6…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:47:53+02:00
Revert "secfilter: add RPC del_* commands [skip ci]"
This reverts commit a1a65348974d7847af6637dedf31d926cd09cffd.
- URL: https://github.com/kamailio/kamailio/commit/265a2b6b7173944d38acf3e93a85ef2…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T09:48:11+02:00
Revert "secfilter: add missing RPC del_wl command"
This reverts commit 6e4100e11f49c02a9e319aa2ab269e5476fa3b9e.
@sergey-safarov: do not use such commit messages when pushing to the repository, write meaningful details in the commit message.
When merging, squash but still be sure such "random characters" or messages like "WIP 1" (seen in another commit by you) are not in the final commit message. The commit messages go in the release files (ie,. ChangeLog) and makes it look really like a not good development process.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/commit/26982449b7dabe0413258a7602d8810…
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/commit/26982449b7dabe0413258a7602d88107c8f7e7d9/160433191(a)github.com>
Hello,
I am considering to release Kamailio v6.0.2 (out of branch 6.0) on
Wednesday, June 25, 2025. If anyone is aware of issues not yet on the
bug tracker, report them there asap in order to have a better chance to
be fixed.
Cheers,
Daniel
--
Daniel-Constantin Mierla (@ asipto.com)
twitter.com/miconda -- linkedin.com/in/miconda
Kamailio Consultancy, Training and Development Services -- asipto.com
Module: kamailio
Branch: master
Commit: 8ab50bf8a7894e68909c5a81505f5b09e4345802
URL: https://github.com/kamailio/kamailio/commit/8ab50bf8a7894e68909c5a81505f5b0…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-20T08:16:03+02:00
dispatcher: docs for ds_mark_addr()
---
Modified: src/modules/dispatcher/doc/dispatcher_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/8ab50bf8a7894e68909c5a81505f5b0…
Patch: https://github.com/kamailio/kamailio/commit/8ab50bf8a7894e68909c5a81505f5b0…
---
diff --git a/src/modules/dispatcher/doc/dispatcher_admin.xml b/src/modules/dispatcher/doc/dispatcher_admin.xml
index 5c36b3ff9f9..126ad986724 100644
--- a/src/modules/dispatcher/doc/dispatcher_admin.xml
+++ b/src/modules/dispatcher/doc/dispatcher_admin.xml
@@ -1786,6 +1786,27 @@ failure_route[tryagain] {
...
}
...
+</programlisting>
+ </example>
+ </section>
+ <section id="dispatcher.f.ds_mark_addr">
+ <title>
+ <function moreinfo="none">ds_mark_addr(state, setid, uri)</function>
+ </title>
+ <para>
+ Set the state to the target specified by setid and uri. The parameter
+ state can have same value as for ds_mark_dst(). All parameters can
+ contain variables.
+ </para>
+ <para>
+ This function can be used from ANY_ROUTE.
+ </para>
+ <example>
+ <title><function>ds_mark_addr</function> usage</title>
+ <programlisting format="linespecific">
+...
+ ds_mark_addr("ip", "1", "sip:127.0.0.1:5080"); # set to inactive and probing
+...
</programlisting>
</example>
</section>
Module: kamailio
Branch: master
Commit: 1f9b9f1305da708461f392e979352464b9c4ee73
URL: https://github.com/kamailio/kamailio/commit/1f9b9f1305da708461f392e97935246…
Author: Kamailio Dev <kamailio.dev(a)kamailio.org>
Committer: Kamailio Dev <kamailio.dev(a)kamailio.org>
Date: 2025-06-19T20:31:10+02:00
modules: readme files regenerated - dispatcher ... [skip ci]
---
Modified: src/modules/dispatcher/README
---
Diff: https://github.com/kamailio/kamailio/commit/1f9b9f1305da708461f392e97935246…
Patch: https://github.com/kamailio/kamailio/commit/1f9b9f1305da708461f392e97935246…
---
diff --git a/src/modules/dispatcher/README b/src/modules/dispatcher/README
index 32726636469..eecd8bb5f95 100644
--- a/src/modules/dispatcher/README
+++ b/src/modules/dispatcher/README
@@ -1235,10 +1235,13 @@ modparam("dispatcher", "ds_interval_mode", 7200)
congestion ms.
See also the description of the 'rweight' attribute in the
'Special Attributes' section.
- + “12” - dispatch to all destination in setid at once (parallel
+ + “12” - dispatch to all destinations in setid at once (parallel
forking). Note that the XAVPs are no longer set with the
values of the destination records, no re-routing making sense
- in this case.
+ in this case. A side effect is that marking the one
+ destination as inactive is not possible if the transaction
+ fails (which means that all branches failed, or in other
+ words, all the destinations were not answering the call).
+ “13” - latency optimized dispatching
- The algorithm will load balance using round-robin
prioritizing the gateways with the highest priority.
Module: kamailio
Branch: master
Commit: 1b62f165d541cf88fe37778f0e23232e45e86b3d
URL: https://github.com/kamailio/kamailio/commit/1b62f165d541cf88fe37778f0e23232…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-19T20:19:38+02:00
dispatcher: docs - more details about using algorithm 12
---
Modified: src/modules/dispatcher/doc/dispatcher_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/1b62f165d541cf88fe37778f0e23232…
Patch: https://github.com/kamailio/kamailio/commit/1b62f165d541cf88fe37778f0e23232…
---
diff --git a/src/modules/dispatcher/doc/dispatcher_admin.xml b/src/modules/dispatcher/doc/dispatcher_admin.xml
index 3a6c26b41b7..5c36b3ff9f9 100644
--- a/src/modules/dispatcher/doc/dispatcher_admin.xml
+++ b/src/modules/dispatcher/doc/dispatcher_admin.xml
@@ -1413,10 +1413,13 @@ modparam("dispatcher", "ds_interval_mode", 7200)
</listitem>
<listitem>
<para>
- <quote>12</quote> - dispatch to all destination in setid at
+ <quote>12</quote> - dispatch to all destinations in setid at
once (parallel forking). Note that the XAVPs are no longer set
with the values of the destination records, no re-routing
- making sense in this case.
+ making sense in this case. A side effect is that marking the
+ one destination as inactive is not possible if the transaction fails
+ (which means that all branches failed, or in other words, all the
+ destinations were not answering the call).
</para>
</listitem>
<listitem>
whosgonna created an issue (kamailio/kamailio#4284)
### Description
Intermittent Kamailio crashes (a few times a week).
### Troubleshooting
Core dump created
#### Reproduction
From the backtrace it looks like the failure occurs in one of the secsipid commands. The Identity headers/values we're passing are from sources we can't control. In some cases I know that we are receiving tokens where the data can be malformated - missing `alg=` or `ppt` parameters, having certificates that cannot be downloaded due to bad links. I can recreate/mimic these types of malformation though, and it does not cause a crash.
#### Debugging Data
For privacy reasons, I can't share the full backtrace, however I'm able to print a mildly redacted short backtrace (removing phone numbers and IP addresses). I can povide portions of the full backtrace as needed as well:
```
root@e416aa3557fa:/dump# gdb /usr/sbin/kamailio ./2025-06-12_16.17.17.dmp
GNU gdb (Debian 13.1-3) 13.1
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "aarch64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/kamailio...
warning: Can't open file /dev/zero (deleted) during file-backed mapping note processing
[New LWP 12]
[New LWP 58]
[New LWP 88]
[New LWP 59]
[New LWP 57]
[New LWP 106]
[New LWP 305]
[New LWP 46]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".
Core was generated by `/sbin/kamailio -dDDeE -u kamailio -g kamailio -e -d -m 1024 -M 48 -u kamailio -'.
Program terminated with signal SIGABRT, Aborted.
#0 __pthread_kill_implementation (threadid=281473563709472, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
44 ./nptl/pthread_kill.c: No such file or directory.
[Current thread is 1 (Thread 0xffffabc75020 (LWP 12))]
(gdb) bt
#0 __pthread_kill_implementation (threadid=281473563709472, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
#1 0x0000ffffaba70ab4 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2 0x0000ffffaba2a72c in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3 0x0000ffffaba1747c in __GI_abort () at ./stdlib/abort.c:79
#4 0x0000ffffaba64aac in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0xffffabb46d28 "%s\n") at ../sysdeps/posix/libc_fatal.c:156
#5 0x0000ffffaba7aebc in malloc_printerr (str=str@entry=0xffffabb42098 "double free or corruption (!prev)") at ./malloc/malloc.c:5660
#6 0x0000ffffaba7cee8 in _int_free (av=0xffffabb90af0 <main_arena>, p=p@entry=0xaaab18d4c3e0, have_lock=<optimized out>, have_lock@entry=0) at ./malloc/malloc.c:4587
#7 0x0000ffffaba7f77c in __GI___libc_free (mem=<optimized out>) at ./malloc/malloc.c:3385
#8 0x0000ffffa6c90a0c in w_secsipid_get_url (msg=0xffffa8d511e0, purl=0xffffa8c43680 "", povar=0xffffa8c4dad0 "\004") at secsipid_mod.c:961
#9 0x0000aaaadc47d710 in do_action (h=0xfffffe56d390, a=0xffffa8c4d800, msg=0xffffa8d511e0) at core/action.c:1133
#10 0x0000aaaadc48d3c4 in run_actions (h=0xfffffe56d390, a=0xffffa8c4d800, msg=0xffffa8d511e0) at core/action.c:1620
#11 0x0000aaaadc48db44 in run_actions_safe (h=0xfffffe56e9d0, a=0xffffa8c4d800, msg=0xffffa8d511e0) at core/action.c:1683
#12 0x0000aaaadc69a7e0 in rval_get_long (h=0xfffffe56e9d0, msg=0xffffa8d511e0, i=0xfffffe56d8c8, rv=0xffffa8c4eac8, cache=0x0) at core/rvalue.c:973
#13 0x0000aaaadc6a00f0 in rval_expr_eval_long (h=0xfffffe56e9d0, msg=0xffffa8d511e0, res=0xfffffe56d8c8, rve=0xffffa8c4eac0) at core/rvalue.c:1852
#14 0x0000aaaadc6a0118 in rval_expr_eval_long (h=0xfffffe56e9d0, msg=0xffffa8d511e0, res=0xfffffe56de00, rve=0xffffa8c4f200) at core/rvalue.c:1862
#15 0x0000aaaadc47d090 in do_action (h=0xfffffe56e9d0, a=0xffffa8c50660, msg=0xffffa8d511e0) at core/action.c:1099
#16 0x0000aaaadc48d3c4 in run_actions (h=0xfffffe56e9d0, a=0xffffa8c4c4e0, msg=0xffffa8d511e0) at core/action.c:1620
#17 0x0000aaaadc479400 in do_action (h=0xfffffe56e9d0, a=0xffffa8c41060, msg=0xffffa8d511e0) at core/action.c:711
#18 0x0000aaaadc48d3c4 in run_actions (h=0xfffffe56e9d0, a=0xffffa8c41060, msg=0xffffa8d511e0) at core/action.c:1620
#19 0x0000aaaadc48db44 in run_actions_safe (h=0xfffffe570870, a=0xffffa8c41060, msg=0xffffa8d511e0) at core/action.c:1683
#20 0x0000aaaadc69a7e0 in rval_get_long (h=0xfffffe570870, msg=0xffffa8d511e0, i=0xfffffe56ef08, rv=0xffffa8c411c8, cache=0x0) at core/rvalue.c:973
#21 0x0000aaaadc6a00f0 in rval_expr_eval_long (h=0xfffffe570870, msg=0xffffa8d511e0, res=0xfffffe56ef08, rve=0xffffa8c411c0) at core/rvalue.c:1852
#22 0x0000aaaadc6a0118 in rval_expr_eval_long (h=0xfffffe570870, msg=0xffffa8d511e0, res=0xfffffe56f440, rve=0xffffa8c41900) at core/rvalue.c:1862
#23 0x0000aaaadc47d090 in do_action (h=0xfffffe570870, a=0xffffa8c428e0, msg=0xffffa8d511e0) at core/action.c:1099
#24 0x0000aaaadc48d3c4 in run_actions (h=0xfffffe570870, a=0xffffa8c428e0, msg=0xffffa8d511e0) at core/action.c:1620
#25 0x0000aaaadc47d5e8 in do_action (h=0xfffffe570870, a=0xffffa8c42a40, msg=0xffffa8d511e0) at core/action.c:1119
#26 0x0000aaaadc48d3c4 in run_actions (h=0xfffffe570870, a=0xffffa8c362f0, msg=0xffffa8d511e0) at core/action.c:1620
#27 0x0000aaaadc479400 in do_action (h=0xfffffe570870, a=0xffffa8c325b0, msg=0xffffa8d511e0) at core/action.c:711
#28 0x0000aaaadc48d3c4 in run_actions (h=0xfffffe570870, a=0xffffa8c325b0, msg=0xffffa8d511e0) at core/action.c:1620
#29 0x0000aaaadc48db44 in run_actions_safe (h=0xfffffe572f78, a=0xffffa8c325b0, msg=0xffffa8d511e0) at core/action.c:1683
#30 0x0000aaaadc69a7e0 in rval_get_long (h=0xfffffe572f78, msg=0xffffa8d511e0, i=0xfffffe570da8, rv=0xffffa8c32718, cache=0x0) at core/rvalue.c:973
#31 0x0000aaaadc6a00f0 in rval_expr_eval_long (h=0xfffffe572f78, msg=0xffffa8d511e0, res=0xfffffe570da8, rve=0xffffa8c32710) at core/rvalue.c:1852
#32 0x0000aaaadc6a0118 in rval_expr_eval_long (h=0xfffffe572f78, msg=0xffffa8d511e0, res=0xfffffe5712e0, rve=0xffffa8c32e50) at core/rvalue.c:1862
#33 0x0000aaaadc47d090 in do_action (h=0xfffffe572f78, a=0xffffa8c33cb0, msg=0xffffa8d511e0) at core/action.c:1099
#34 0x0000aaaadc48d3c4 in run_actions (h=0xfffffe572f78, a=0xffffa8c313a0, msg=0xffffa8d511e0) at core/action.c:1620
#35 0x0000aaaadc4895fc in do_action (h=0xfffffe572f78, a=0xffffa8c35fb0, msg=0xffffa8d511e0) at core/action.c:1401
#36 0x0000aaaadc48d3c4 in run_actions (h=0xfffffe572f78, a=0xffffa8c2e8e0, msg=0xffffa8d511e0) at core/action.c:1620
#37 0x0000aaaadc479400 in do_action (h=0xfffffe572f78, a=0xffffa8bb8070, msg=0xffffa8d511e0) at core/action.c:711
#38 0x0000aaaadc48d3c4 in run_actions (h=0xfffffe572f78, a=0xffffa8bb7980, msg=0xffffa8d511e0) at core/action.c:1620
#39 0x0000aaaadc47d5a8 in do_action (h=0xfffffe572f78, a=0xffffa8bb81d0, msg=0xffffa8d511e0) at core/action.c:1115
#40 0x0000aaaadc48d3c4 in run_actions (h=0xfffffe572f78, a=0xffffa8bb0710, msg=0xffffa8d511e0) at core/action.c:1620
#41 0x0000aaaadc48dbf4 in run_top_route (a=0xffffa8bb0710, msg=0xffffa8d511e0, c=0x0) at core/action.c:1703
#42 0x0000aaaadc63fff8 in receive_msg (
buf=0xaaaadcba84b8 <buf> "INVITE sip:15555555555@sti-cnam SIP/2.0\r\nRecord-Route: <sip:1.2.3.40;lr=on;ftag=gK0e581301;dlgcor=3df.ea65>\r\nVia: SIP/2.0/UDP 1.2.3.40:5060;branch=z9hG4bK7dd5.1fd1b25d525136f68cd8dba517eaf"..., len=2363,
rcv_info=0xfffffe573790) at core/receive.c:520
#43 0x0000aaaadc7dabe0 in udp_rcv_loop () at core/udp_server.c:770
#44 0x0000aaaadc4626a8 in main_loop () at main.c:1895
#45 0x0000aaaadc471e88 in main (argc=16, argv=0xfffffe573ef8) at main.c:3406
(gdb) info locals
tid = 12
ret = 0
pd = 0xffffabc75020
old_mask = {__val = {281474948845152}}
ret = <optimized out>
(gdb) list
39 in ./nptl/pthread_kill.c
```
From the full backtrace at #8:
```
#8 0x0000ffffa6c90a0c in w_secsipid_get_url (msg=0xffffa8d511e0, purl=0xffffa8c43680 "", povar=0xffffa8c4dad0 "\004") at secsipid_mod.c:961
ret = 0
ovar = 0x1d4
val = {rs = {s = 0x0, len = -27866320}, ri = 187650816818084, flags = -27866184}
surl = {s = 0xffffa8a99a30 "https://t-mobile-sticr.fosrvt.com/8814f66226a3d07edcffb9cfb333c423bfe5dd0f7…", len = 102}
__func__ = "w_secsipid_get_url"
```
In this case, the certificate URL is valid and retrievable.
#### Log Messages
I'm not sure how to correlate the dump file to the PID in the log - especially because Kamailio is running a container so the logged PIDs are from the container perspective, not the host perspective.
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 6.0.1 (aarch64/linux) fce50d
flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MMAP, PKG_MALLOC, MEM_JOIN_FREE, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT-NOSMP, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLOCKLIST, HAVE_RESOLV_RES, TLS_PTHREAD_MUTEX_SHARED
ADAPTIVE_WAIT_LOOPS 1024, MAX_RECV_BUFFER_SIZE 262144, MAX_SEND_BUFFER_SIZE 262144, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: fce50d
compiled on 13:26:51 May 12 2025 with gcc 12.2.0
```
* **Operating System**:
Container:
```
root@e416aa3557fa:/# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
```
Host:
```
[bkaufman@cr-us-west-or-01~]$ cat /etc/os-release
NAME="Amazon Linux"
VERSION="2023"
ID="amzn"
ID_LIKE="fedora"
VERSION_ID="2023"
PLATFORM_ID="platform:al2023"
PRETTY_NAME="Amazon Linux 2023.6.20250303"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2023"
HOME_URL="https://aws.amazon.com/linux/amazon-linux-2023/"
DOCUMENTATION_URL="https://docs.aws.amazon.com/linux/"
SUPPORT_URL="https://aws.amazon.com/premiumsupport/"
BUG_REPORT_URL="https://github.com/amazonlinux/amazon-linux-2023"
VENDOR_NAME="AWS"
VENDOR_URL="https://aws.amazon.com/"
SUPPORT_END="2029-06-30"
[bkaufman@cr-us-west-or-01~]$ uname -a
Linux cr-us-west-or-01.i.prod.q.fl.gg 6.1.129-138.220.amzn2023.aarch64 #1 SMP Tue Feb 25 22:18:13 UTC 2025 aarch64 aarch64 aarch64 GNU/Linux
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4284
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4284(a)github.com>
<!--
Kamailio Project uses GitHub Issues only for bugs in the code or feature requests. Please use this template only for bug reports.
If you have questions about using Kamailio or related to its configuration file, ask on sr-users mailing list:
* https://lists.kamailio.org/mailman3/postorius/lists/sr-users.lists.kamailio…
If you have questions about developing extensions to Kamailio or its existing C code, ask on sr-dev mailing list:
* https://lists.kamailio.org/mailman3/postorius/lists/sr-dev.lists.kamailio.o…
Please try to fill this template as much as possible for any issue. It helps the developers to troubleshoot the issue.
Note that an issue report may be closed automatically after about 2 months
if there is no interest from developers or community users on pursuing it, being
considered expired. In such case, it can be reopened by writing a comment that includes
the token `/notexpired`. About two weeks before considered expired, the issue is
marked with the label `stale`, trying to notify the submitter and everyone else
that might be interested in it. To remove the label `stale`, write a comment that
includes the token `/notstale`. Also, any comment postpone the `expire` timeline,
being considered that there is interest in pursuing the issue.
If there is no content to be filled in a section, the entire section can be removed.
You can delete the comments from the template sections when filling.
You can delete next line and everything above before submitting (it is a comment).
-->
### Description
I have run in to an issue when sending diameter requests using the ims_diameter_server
module. Shared memory keeps increasing and are not being freed until restart of kamailio.
This leads to all shared memory is being used and no more are able to be allocated.
This only happens when the request is sent synchronously. When sent asynchronously shared
memory is being freed as far as I can see.
Following functions have been used for sending requests.
diameter_request([peer], appid, commandcode, message)
diameter_request_async([peer], appid, commandcode, message)
### Troubleshooting
Sent a bunch of diameter requests and verified that shared memory for the following functions are not freed.
do_receive(600):
AAATranslateMessage(500):
AAACreateAVP(137):
#### Reproduction
It's possible to reproduce by sending sync diameter request and verify shared memory.
Example of diameter request block
```
route[CHECK_LOCATION] {
diameter_request("hss.ims.test.local", "16777217", "306",
"[ " +
"{ \"avpCode\":260, \"vendorId\":0, \"Flags\":64,
\"list\":[ { \"avpCode\":266, \"vendorId\":0,
\"Flags\":64, \"int32\":10415 }, { \"avpCode\":258,
\"vendorId\":0, \"Flags\":64, \"int32\":16777217 } ] },
" +
"{ \"avpCode\":277, \"vendorId\":0, \"Flags\":64,
\"int32\":1 }, " +
"{ \"avpCode\":283, \"vendorId\":0, \"Flags\":64,
\"string\":\"ims.test.local\"}, " +
"{ \"avpCode\":706, \"vendorId\":10415,
\"Flags\":192, \"int32\":0 }, " +
"{ \"avpCode\":700, \"vendorId\":10415,
\"Flags\":192, \"list\": [ { \"avpCode\":601,
\"vendorId\":10415, \"Flags\":192,
\"string\":\"tel:" + $fU + "\" }]}, " +
"{ \"avpCode\":707, \"vendorId\":10415,
\"Flags\":192, \"int32\":0 }, " +
"{ \"avpCode\":703, \"vendorId\":10415,
\"Flags\":192, \"int32\":14 } ]");
xlog("L_INFO", "Sent Diameter request");
}
```
Stats
cdp:replies_received = 343310
shmem:fragments = 142
shmem:free_size = 1221489992
shmem:max_used_size = 948242168
shmem:real_used_size = 925993656
shmem:total_size = 2147483648
shmem:used_size = 558205656
kamcmd mod.stats cdp shm
do_receive(600): 256245808
AAATranslateMessage(500): 64420712
AAACreateAVP(137): 218100320
Total: 538774000
#### Debugging Data
<!--
If you got a core dump, use gdb to extract troubleshooting data - full backtrace,
local variables and the list of the code at the issue location.
gdb /path/to/kamailio /path/to/corefile
bt full
info locals
list
If you are familiar with gdb, feel free to attach more of what you consider to
be relevant.
-->
```
(paste your debugging data here)
```
#### Log Messages
<!--
Check the syslog file and if there are relevant log messages printed by Kamailio, add them next, or attach to issue, or provide a link to download them (e.g., to a pastebin site).
-->
```
(paste your log messages here)
```
#### SIP Traffic
<!--
If the issue is exposed by processing specific SIP messages, grab them with ngrep or save in a pcap file, then add them next, or attach to issue, or provide a link to download them (e.g., to a pastebin site).
-->
```
(paste your sip traffic here)
```
### Possible Solutions
<!--
If you found a solution or workaround for the issue, describe it. Ideally, provide a pull request with a fix.
-->
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 5.7.4 (x86_64/linux) dc393e
flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MMAP, PKG_MALLOC, MEM_JOIN_FREE, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLOCKLIST, HAVE_RESOLV_RES, TLS_PTHREAD_MUTEX_SHARED
ADAPTIVE_WAIT_LOOPS 1024, MAX_RECV_BUFFER_SIZE 262144, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: dc393e
compiled on 13:56:27 Feb 27 2024 with gcc 8.5.0
```
* **Operating System**:
<!--
Details about the operating system, the type: Linux (e.g.,: Debian 8.4, Ubuntu 16.04, CentOS 7.1, ...), MacOS, xBSD, Solaris, ...;
Kernel details (output of `lsb_release -a` and `uname -a`)
-->
```
Linux bmatkamas1 4.18.0-553.16.1.el8_10.x86_64 #1 SMP Thu Aug 1 04:16:12 EDT 2024 x86_64 x86_64 x86_64 GNU/Linux
Red Hat Enterprise Linux release 8.10 (Ootpa)
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4116
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4116(a)github.com>
ChristianBergerSipgate created an issue (kamailio/kamailio#4281)
### Description
The rtpengine module uses a `cookie` field in the Protocol controlling rtpengines. This field needs to be unique, and is derived from the `server_id` field set in the Kamailio, the `pid` as well as the value of a variable `myseqn`.
In many conditions, this is random enough. However particularly when using docker, the `pid` will be identical across servers, reducing the randomness and causing collisions.
### Expected behavior
The 34 bytes of the cookie should be as unique as possible.
#### Actual observed behavior
We get collisions many times per day, as different kamailio instances randomly choose the same value.
### Possible Solutions
1. Set `myseqn` to a random value during module load.
2. Add an additional random value to the `gencookie` function.
3. Use `%x` instead of `%d` to squeeze more entropy into the 33 characters available, and perhaps use fixed length fields.
The problem probably also exists in the following other modules:
1. rtpproxy
2. lrkproxy
We are not using those modules so we have not yet experienced collisions here.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4281
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4281(a)github.com>
Module: kamailio
Branch: master
Commit: 300da5c5a166be6724ebe14be29ac97d029c535f
URL: https://github.com/kamailio/kamailio/commit/300da5c5a166be6724ebe14be29ac97…
Author: Henning Westerholt <hw(a)gilawa.com>
Committer: Henning Westerholt <hw(a)gilawa.com>
Date: 2025-06-18T10:34:52Z
core: improve random number generator initialization
- move seeding of cryptographic randomness generator for system randomness to the specific generator
- improve seeding of children random number generators by using individual initialized secure generators
- don't add predictable values like system time or process pid to the seed values of children generators
---
Modified: src/core/pt.c
Modified: src/core/rand/cryptorand.c
Modified: src/core/rand/cryptorand.h
Modified: src/core/rand/fortuna/fortuna.c
Modified: src/core/rand/fortuna/fortuna.h
Modified: src/core/rand/fortuna/random.c
Modified: src/core/rand/fortuna/random.h
Modified: src/main.c
---
Diff: https://github.com/kamailio/kamailio/commit/300da5c5a166be6724ebe14be29ac97…
Patch: https://github.com/kamailio/kamailio/commit/300da5c5a166be6724ebe14be29ac97…
### Description
We are using Kamailio 5.7.4 on Debian 12 (from http://deb.kamailio.org/kamailio57) with rtpengine as an Edgeproxy for our clients. The instance terminates SIP/TLS (with Cliencertificates) and forwards the SIP Traffic to internal systems.
After some days we are getting errors like this
`tls_complete_init(): tls: ssl bug #1491 workaround: not enough memory for safe operation: shm=7318616 threshold1=8912896`
First we thought Kamailio just doesnt have enough memory, so we doubled it..
But after some days the Logmessage (and Userissues) occured again.
So we monitored the shmmem statistics and found that used and max_used are constantly growing til it reaches the limit.
As i mentioned we are using client-certificates and so we are also using the CRL feature.
We do have a systemd-timer which fetches the CRL every hour and runs 'kamcmd tls.reload' when finished.
Our tls.cfg looks like this:
```
[server:default]
method = TLSv1.2+
private_key = /etc/letsencrypt/live/hostname.de/privkey.pem
certificate = /etc/letsencrypt/live/hostname.de/fullchain.pem
ca_list = /etc/kamailio/ca_list.pem
ca_path = /etc/kamailio/ca_list.pem
crl = /etc/kamailio/combined.crl.pem
verify_certificate = yes
require_certificate = yes
[client:default]
verify_certificate = yes
require_certificate = yes
```
After testing a bit we found that every time tls.reload is executed Kamailio consumes a bit more memory which eventually leads to all the memory being consumed which leads to issues for our users.
See following example:
```
[0][root@edgar-dev:~]# while true ; do /usr/sbin/kamcmd tls.reload ; /usr/sbin/kamcmd core.shmmem ; sleep 1 ; done
Ok. TLS configuration reloaded.
{
total: 268435456
free: 223001520
used: 41352552
real_used: 45433936
max_used: 45445968
fragments: 73
}
Ok. TLS configuration reloaded.
{
total: 268435456
free: 222377960
used: 41975592
real_used: 46057496
max_used: 46069232
fragments: 78
}
Ok. TLS configuration reloaded.
{
total: 268435456
free: 221748664
used: 42604992
real_used: 46686792
max_used: 46698080
fragments: 77
}
Ok. TLS configuration reloaded.
{
total: 268435456
free: 221110832
used: 43242408
real_used: 47324624
max_used: 47335608
fragments: 81
}
^C
[130][root@edgar-dev:~]#
```
### Troubleshooting
#### Reproduction
Everytime tls.reload is called the memory consumptions grows..
#### Debugging Data
<!--
If you got a core dump, use gdb to extract troubleshooting data - full backtrace,
local variables and the list of the code at the issue location.
gdb /path/to/kamailio /path/to/corefile
bt full
info locals
list
If you are familiar with gdb, feel free to attach more of what you consider to
be relevant.
-->
```
If you let me know what would be interesting for tracking this down, i am happy to provide logs/debugging data!
```
#### Log Messages
<!--
Check the syslog file and if there are relevant log messages printed by Kamailio, add them next, or attach to issue, or provide a link to download them (e.g., to a pastebin site).
-->
```
If you let me know what would be interesting for tracking this down, i am happy to provide logs/debugging data!
```
#### SIP Traffic
SIP doesnt seem to be relevant here
### Possible Solutions
Calling tls.reload less often or restart kamailio before memory is consumed ;)
### Additional Information
```
version: kamailio 5.7.4 (x86_64/linux)
flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MMAP, PKG_MALLOC, MEM_JOIN_FREE, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLOCKLIST, HAVE_RESOLV_RES, TLS_PTHREAD_MUTEX_SHARED
ADAPTIVE_WAIT_LOOPS 1024, MAX_RECV_BUFFER_SIZE 262144, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: unknown
compiled with gcc 12.2.0
```
* **Operating System**:
```
* Debian GNU/Linux 12 (bookworm)
* Linux edgar-dev 6.1.0-20-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.85-1 (2024-04-11) x86_64 GNU/Linux
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3823
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3823(a)github.com>
<!-- Kamailio Pull Request Template -->
<!--
IMPORTANT:
- for detailed contributing guidelines, read:
https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md
- pull requests must be done to master branch, unless they are backports
of fixes from master branch to a stable branch
- backports to stable branches must be done with 'git cherry-pick -x ...'
- code is contributed under BSD for core and main components (tm, sl, auth, tls)
- code is contributed GPLv2 or a compatible license for the other components
- GPL code is contributed with OpenSSL licensing exception
-->
#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list -->
- [x] Commit message has the format required by CONTRIBUTING guide
- [x] Commits are split per component (core, individual modules, libs, utils, ...)
- [x] Each component has a single commit (if not, squash them into one commit)
- [x] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [ ] Small bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
<!-- Go over all points below, and after creating the PR, tick the checkboxes that apply -->
- [ ] PR should be backported to stable branches
- [x] Tested changes locally
- [x] Related to issue #3831 and #4249
#### Description
<!-- Describe your changes in detail -->
This PR intoduces a flag for the tm cancel logic. The flag denotes that the cancel request is locally generated and an event of `local_request` should be emmited.
Updated also the modules and functions that used tm bindings to adopt for this change.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4286
-- Commit Summary --
* tm: Generate local_request for CANCEL only if locally initiated
* dialog: Update to use new tm FLAG for CANCEL
* rtp_media_server: Update to use new tm FLAG for CANCEL
* tmx: Update to use new tm FLAG for CANCEL
-- File Changes --
M src/modules/dialog/dlg_req_within.c (2)
M src/modules/rtp_media_server/rtp_media_server.c (2)
M src/modules/tm/t_cancel.c (69)
M src/modules/tm/t_cancel.h (2)
M src/modules/tmx/tmx_mod.c (4)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4286.patchhttps://github.com/kamailio/kamailio/pull/4286.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4286
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4286(a)github.com>
<!-- Kamailio Pull Request Template -->
<!--
IMPORTANT:
- for detailed contributing guidelines, read:
https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md
- pull requests must be done to master branch, unless they are backports
of fixes from master branch to a stable branch
- backports to stable branches must be done with 'git cherry-pick -x ...'
- code is contributed under BSD for core and main components (tm, sl, auth, tls)
- code is contributed GPLv2 or a compatible license for the other components
- GPL code is contributed with OpenSSL licensing exception
-->
#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list -->
- [x] Commit message has the format required by CONTRIBUTING guide
- [x] Commits are split per component (core, individual modules, libs, utils, ...)
- [x] Each component has a single commit (if not, squash them into one commit)
- [x] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [x] Small bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
<!-- Go over all points below, and after creating the PR, tick the checkboxes that apply -->
- [x] PR should be backported to stable branches
- [x] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
Fix a spelling mistake
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4288
-- Commit Summary --
* dlgs: Fix spelling mistake
-- File Changes --
M src/modules/dlgs/dlgs_records.c (2)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4288.patchhttps://github.com/kamailio/kamailio/pull/4288.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4288
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4288(a)github.com>
<!-- Kamailio Pull Request Template -->
<!--
IMPORTANT:
- for detailed contributing guidelines, read:
https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md
- pull requests must be done to master branch, unless they are backports
of fixes from master branch to a stable branch
- backports to stable branches must be done with 'git cherry-pick -x ...'
- code is contributed under BSD for core and main components (tm, sl, auth, tls)
- code is contributed GPLv2 or a compatible license for the other components
- GPL code is contributed with OpenSSL licensing exception
-->
#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list -->
- [x] Commit message has the format required by CONTRIBUTING guide
- [x] Commits are split per component (core, individual modules, libs, utils, ...)
- [x] Each component has a single commit (if not, squash them into one commit)
- [x] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [ ] Small bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
<!-- Go over all points below, and after creating the PR, tick the checkboxes that apply -->
- [ ] PR should be backported to stable branches
- [ ] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4256
-- Commit Summary --
* Using SSL_CTX_set_ciphersuites for TLS 1.3 and above when setting cipher list
* tls: Update TLS1.3 ciphers to use SSL_CTX_ciphhersuites on openSSL lib >= 1.1.1 in set_cipher_list()
-- File Changes --
M src/modules/tls/tls_domain.c (26)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4256.patchhttps://github.com/kamailio/kamailio/pull/4256.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4256
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4256(a)github.com>
Discussion to define cmake format options and coding/naming styles. It is better to define most of them now to have coherency in the future. Started from the discussion on #4066.
Comment with what you would like to have, describing when useful why your proposal is a good/better option.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4075
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4075(a)github.com>
Module: kamailio
Branch: master
Commit: 7dc92ed5a45e004cc1dc6898a9027d265e220721
URL: https://github.com/kamailio/kamailio/commit/7dc92ed5a45e004cc1dc6898a9027d2…
Author: Kamailio Dev <kamailio.dev(a)kamailio.org>
Committer: Kamailio Dev <kamailio.dev(a)kamailio.org>
Date: 2025-06-17T22:16:09+02:00
modules: readme files regenerated - rr ... [skip ci]
---
Modified: src/modules/rr/README
---
Diff: https://github.com/kamailio/kamailio/commit/7dc92ed5a45e004cc1dc6898a9027d2…
Patch: https://github.com/kamailio/kamailio/commit/7dc92ed5a45e004cc1dc6898a9027d2…
---
diff --git a/src/modules/rr/README b/src/modules/rr/README
index 0fc41c9767a..1919d7a6e84 100644
--- a/src/modules/rr/README
+++ b/src/modules/rr/README
@@ -466,13 +466,16 @@ if(!loose_route_preloaded()) {
5.3. loose_route_mode(vmode)
- The function is similar to `loose_route()`, but it does only loose
- routing processing if vmode==1, skipping the testing of r-uri==myself
- for performing strict routing. If vmode==0, it behaves like
- loose_route().
+ The function is similar to `loose_route()`, but it accepts route mode
+ bitmask as vmode parameter.
- It is a convenient function to use with application servers that set
- the Contact URI to SIP server address.
+ If bit one is set, then do only loose routing processing, skipping the
+ testing of r-uri==myself for performing strict routing. If not, behave
+ like loose_route(). If bit two is set, then skip flow tokens
+ processing.
+
+ First bit is convenient to use with application servers that set the
+ Contact URI to SIP server address.
This function can be used from REQUEST_ROUTE.
<!-- Kamailio Pull Request Template -->
<!--
IMPORTANT:
- for detailed contributing guidelines, read:
https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md
- pull requests must be done to master branch, unless they are backports
of fixes from master branch to a stable branch
- backports to stable branches must be done with 'git cherry-pick -x ...'
- code is contributed under BSD for core and main components (tm, sl, auth, tls)
- code is contributed GPLv2 or a compatible license for the other components
- GPL code is contributed with OpenSSL licensing exception
-->
#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list -->
- [ ] Commit message has the format required by CONTRIBUTING guide
- [ ] Commits are split per component (core, individual modules, libs, utils, ...)
- [ ] Each component has a single commit (if not, squash them into one commit)
- [ ] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [ ] Small bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
<!-- Go over all points below, and after creating the PR, tick the checkboxes that apply -->
- [ ] PR should be backported to stable branches
- [ ] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4276
-- Commit Summary --
* add remove all header function
-- File Changes --
M src/modules/pv_headers/pv_headers.c (9)
M src/modules/pv_headers/pvh_func.c (19)
M src/modules/pv_headers/pvh_func.h (1)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4276.patchhttps://github.com/kamailio/kamailio/pull/4276.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4276
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4276(a)github.com>
<!-- Kamailio Pull Request Template -->
<!--
IMPORTANT:
- for detailed contributing guidelines, read:
https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md
- pull requests must be done to master branch, unless they are backports
of fixes from master branch to a stable branch
- backports to stable branches must be done with 'git cherry-pick -x ...'
- code is contributed under BSD for core and main components (tm, sl, auth, tls)
- code is contributed GPLv2 or a compatible license for the other components
- GPL code is contributed with OpenSSL licensing exception
-->
#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list -->
- [x] Commit message has the format required by CONTRIBUTING guide
- [x] Commits are split per component (core, individual modules, libs, utils, ...)
- [x] Each component has a single commit (if not, squash them into one commit)
- [x] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [ ] Small bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
<!-- Go over all points below, and after creating the PR, tick the checkboxes that apply -->
- [ ] PR should be backported to stable branches
- [x] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
`loose_route()` in `rr` checks request src ip/port against ip/port in flow tokens to detect direction and decide whether to apply flow tokens routing:
```
static inline int process_outbound(struct sip_msg *_m, str flow_token)
{
...
} else if(!ip_addr_cmp(&rcv->src_ip, &_m->rcv.src_ip)
|| rcv->src_port != _m->rcv.src_port) {
LM_DBG("\"incoming\" request found. Using flow-token for "
"routing\n");
...
```
there are cases when remote UA changes ip/port for in-dialog messages and this approach does not work.
incoming message has route set with flow tokens and src ip/port different from ones in the flow tokens.
as a result, `loose_route()` routes message back to the client using flow tokens instead of using the normal part of the Route headers as expected.
new `force_lr_no_outbound_flag` allows to control flow tokens usage in the `loose_route()` when we know direction based on the some high level config logic (for example: by the result of `ds_is_from_list()` call)
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4280
-- Commit Summary --
* rr: add force_lr_no_outbound_flag param
-- File Changes --
M src/modules/rr/doc/rr_admin.xml (17)
M src/modules/rr/loose.c (6)
M src/modules/rr/rr_mod.c (9)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4280.patchhttps://github.com/kamailio/kamailio/pull/4280.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4280
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4280(a)github.com>
Module: kamailio
Branch: master
Commit: eef8d69bc88bac394d7134ab9f591cdea3b4914b
URL: https://github.com/kamailio/kamailio/commit/eef8d69bc88bac394d7134ab9f591cd…
Author: Michael Furmur <furmur(a)pm.me>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-06-17T22:02:15+02:00
rr: loose_route_mode: add vmode bit 2 to skip outbound
---
Modified: src/modules/rr/doc/rr_admin.xml
Modified: src/modules/rr/loose.c
Modified: src/modules/rr/rr_mod.h
---
Diff: https://github.com/kamailio/kamailio/commit/eef8d69bc88bac394d7134ab9f591cd…
Patch: https://github.com/kamailio/kamailio/commit/eef8d69bc88bac394d7134ab9f591cd…
---
diff --git a/src/modules/rr/doc/rr_admin.xml b/src/modules/rr/doc/rr_admin.xml
index 4801b845dfb..4a2921fce32 100644
--- a/src/modules/rr/doc/rr_admin.xml
+++ b/src/modules/rr/doc/rr_admin.xml
@@ -446,11 +446,16 @@ if(!loose_route_preloaded()) {
<section id="rr.f.loose_route_mode">
<title><function moreinfo="none">loose_route_mode(vmode)</function></title>
- <para>The function is similar to `loose_route()`, but it does only
- loose routing processing if vmode==1, skipping the testing of r-uri==myself
- for performing strict routing. If vmode==0, it behaves like loose_route().
+ <para>The function is similar to `loose_route()`,
+ but it accepts route mode bitmask as <emphasis>vmode</emphasis> parameter.
</para>
- <para>It is a convenient function to use with application servers that
+ <para>
+ If bit one is set, then do only loose routing processing, skipping the testing of r-uri==myself
+ for performing strict routing. If not, behave like loose_route().
+ If bit two is set, then skip flow tokens processing.
+ </para>
+ <para>
+ First bit is convenient to use with application servers that
set the Contact URI to SIP server address.
</para>
<para>This function can be used from REQUEST_ROUTE.</para>
diff --git a/src/modules/rr/loose.c b/src/modules/rr/loose.c
index 23378147903..443f90b17f4 100644
--- a/src/modules/rr/loose.c
+++ b/src/modules/rr/loose.c
@@ -854,7 +854,7 @@ static inline void rr_do_force_send_socket(
* \param preloaded do we have a preloaded route set
* \return -1 on failure, 1 on success
*/
-static inline int after_loose(struct sip_msg *_m, int preloaded)
+static inline int after_loose(struct sip_msg *_m, int _mode, int preloaded)
{
struct hdr_field *hdr;
struct sip_uri puri;
@@ -890,9 +890,11 @@ static inline int after_loose(struct sip_msg *_m, int preloaded)
routed_msg_id.msgid = _m->id;
routed_msg_id.pid = _m->pid;
- if((use_ob = process_outbound(_m, puri.user)) < 0) {
- LM_INFO("failed to process outbound flow-token\n");
- return RR_FLOW_TOKEN_BROKEN;
+ if(!(_mode & RR_LR_MODE_SKIP_OUTBOUND)) {
+ if((use_ob = process_outbound(_m, puri.user)) < 0) {
+ LM_INFO("failed to process outbound flow-token\n");
+ return RR_FLOW_TOKEN_BROKEN;
+ }
}
if(rr_force_send_socket && !use_ob) {
@@ -1050,12 +1052,12 @@ int loose_route_mode(sip_msg_t *_m, int _mode)
if(ret < 0) {
return -1;
} else if(ret == 1) {
- return after_loose(_m, 1);
+ return after_loose(_m, _mode, 1);
} else {
- if((_mode == 0) && (is_myself(&_m->parsed_uri))) {
+ if((!(_mode & RR_LR_MODE_LOOSE_ONLY)) && (is_myself(&_m->parsed_uri))) {
return after_strict(_m);
} else {
- return after_loose(_m, 0);
+ return after_loose(_m, _mode, 0);
}
}
}
diff --git a/src/modules/rr/rr_mod.h b/src/modules/rr/rr_mod.h
index 829e912e499..a411625824c 100644
--- a/src/modules/rr/rr_mod.h
+++ b/src/modules/rr/rr_mod.h
@@ -36,6 +36,11 @@
extern str i_user;
#endif
+/*! bit to force loose mode in loose_route_mode() */
+#define RR_LR_MODE_LOOSE_ONLY 1
+/*! bit to skip outbound processing in after_loose() */
+#define RR_LR_MODE_SKIP_OUTBOUND 2
+
/*! should request's from-tag is appended to record-route */
extern int append_fromtag;
/*! insert two record-route header instead of one */
<!-- Kamailio Pull Request Template -->
<!--
IMPORTANT:
- for detailed contributing guidelines, read:
https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md
- pull requests must be done to master branch, unless they are backports
of fixes from master branch to a stable branch
- backports to stable branches must be done with 'git cherry-pick -x ...'
- code is contributed under BSD for core and main components (tm, sl, auth, tls)
- code is contributed GPLv2 or a compatible license for the other components
- GPL code is contributed with OpenSSL licensing exception
-->
#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list -->
- [x] Commit message has the format required by CONTRIBUTING guide
- [x] Commits are split per component (core, individual modules, libs, utils, ...)
- [x] Each component has a single commit (if not, squash them into one commit)
- [x] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [ ] Small bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
<!-- Go over all points below, and after creating the PR, tick the checkboxes that apply -->
- [ ] PR should be backported to stable branches
- [x] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
In this PR we introduce a new mode and two new parameters for accomplishing the same thing for user part also in domain part.
Docs incoming if no significant changes are needed.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4246
-- Commit Summary --
* topos: Add new contact_mode=3 and 2 new modparam for contact host domains
* topos: Refactor contact_mode handling
* topos: Append port and protocol param
-- File Changes --
M src/modules/topos/topos_mod.c (13)
M src/modules/topos/tps_storage.c (428)
M src/modules/topos/tps_storage.h (2)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4246.patchhttps://github.com/kamailio/kamailio/pull/4246.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4246
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4246(a)github.com>
hubgurujr created an issue (kamailio/kamailio#4287)
Seeing a lot of warning messages in logs, running version: kamailio 5.8.4 (x86_64/linux) 1e6738, but I think this is false positive and should be informational, not a warning.
Jun 10 14:14:17 siprouter1-pve186 /usr/local/sbin/kamailio[8111]:WARNING: <core> [core/dns_cache.c:170]: dns_hash_put(): unlinked item 0x7fa0f9b9fcc0
Jun 10 14:14:19 siprouter1-pve186 /usr/local/sbin/kamailio[8122]:WARNING: <core> [core/dns_cache.c:185]: dns_hash_put_shm_unsafe():unlinked item 0x7fa0f9b9fcc0
This is occurring when a DNS URL changes IP but I see no processing issues with SIP Messages.
[emal-thread.txt](https://github.com/user-attachments/files/20776557/emal-th…
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4287
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4287(a)github.com>
<!--
Kamailio Project uses GitHub Issues only for bugs in the code or feature requests. Please use this template only for bug reports.
If you have questions about using Kamailio or related to its configuration file, ask on sr-users mailing list:
* https://lists.kamailio.org/mailman3/postorius/lists/sr-users.lists.kamailio…
If you have questions about developing extensions to Kamailio or its existing C code, ask on sr-dev mailing list:
* https://lists.kamailio.org/mailman3/postorius/lists/sr-dev.lists.kamailio.o…
Please try to fill this template as much as possible for any issue. It helps the developers to troubleshoot the issue.
Note that an issue report may be closed automatically after about 2 months
if there is no interest from developers or community users on pursuing it, being
considered expired. In such case, it can be reopened by writing a comment that includes
the token `/notexpired`. About two weeks before considered expired, the issue is
marked with the label `stale`, trying to notify the submitter and everyone else
that might be interested in it. To remove the label `stale`, write a comment that
includes the token `/notstale`. Also, any comment postpone the `expire` timeline,
being considered that there is interest in pursuing the issue.
If there is no content to be filled in a section, the entire section can be removed.
You can delete the comments from the template sections when filling.
You can delete next line and everything above before submitting (it is a comment).
-->
### Description
We are now using kamailio on the edge as a presence proxy to scale presence. We have 3 internal kamailio instances handling the actual subscriptions and publishing. This works well, however, once per 24-36hours we experience a crash on the border proxy instance. We did not experience this when using the border proxy as a presence server (there was no proxying SUBSCRIBE).
### Troubleshooting
#### Reproduction
I believe this is happening when a customers network randomly experiences issues where it doesn't receive our replies to subscribes (and continues to send a subscribe). Logs are below.
#### Debugging Data
<!--
If you got a core dump, use gdb to extract troubleshooting data - full backtrace,
local variables and the list of the code at the issue location.
gdb /path/to/kamailio /path/to/corefile
bt full
info locals
list
If you are familiar with gdb, feel free to attach more of what you consider to
be relevant.
-->
Here's the output while replacing any sensitive info in the payload.
```
GNU gdb (Debian 13.1-3) 13.1
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/kamailio...
Reading symbols from /usr/lib/debug/.build-id/ce/c19d0ed1a928e4e25a84ae20d77e9c904a4892.debug...
warning: Can't open file /dev/zero (deleted) during file-backed mapping note processing
[New LWP 26]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `kamailio -DD -E -m 8000 -M 512 -f /etc/kamailio/kamailio.cfg -P /var/run/kamail'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 via_builder (len=len@entry=0x7ffed7e3ecb8, msg=msg@entry=0x7ff9529548b0, send_info=send_info@entry=0x7ff764d20bb0, branch=branch@entry=0x7ffed7e3ecc0, extra_params=0x0,
hp=hp@entry=0x7ffed7e3ebb0) at core/msg_translator.c:2910
2910 core/msg_translator.c: No such file or directory.
(gdb) bt full
#0 via_builder (len=len@entry=0x7ffed7e3ecb8, msg=msg@entry=0x7ff9529548b0, send_info=send_info@entry=0x7ff764d20bb0, branch=branch@entry=0x7ffed7e3ecc0, extra_params=0x0,
hp=hp@entry=0x7ffed7e3ebb0) at core/msg_translator.c:2910
via_len = <optimized out>
extra_len = <optimized out>
line_buf = <optimized out>
max_len = <optimized out>
via_prefix_len = <optimized out>
address_str = <optimized out>
port_str = 0x0
send_sock = 0x0
comp_len = <optimized out>
comp_name_len = <optimized out>
port = <optimized out>
proto = <optimized out>
ip = {af = 536870912, len = 0, u = {addrl = {534820896, 1586192}, addr32 = {534820896, 0, 1586192, 0}, addr16 = {47136, 8160, 0, 0, 13328, 24, 0, 0},
addr = " \270\340\037\000\000\000\000\0204\030\000\000\000\000"}}
from = 0x0
local_addr = {s = {sa_family = 16, sa_data = "#\000\000\000\000\000\020\000\000\000\000\000\000"}, sin = {sin_family = 16, sin_port = 35, sin_addr = {s_addr = 0},
sin_zero = "\020\000\000\000\000\000\000"}, sin6 = {sin6_family = 16, sin6_port = 35, sin6_flowinfo = 0, sin6_addr = {__in6_u = {
__u6_addr8 = "\020\000\000\000\000\000\000\000\003\000\000\000\000\000\000", __u6_addr16 = {16, 0, 0, 0, 3, 0, 0, 0}, __u6_addr32 = {16, 0, 3, 0}}},
sin6_scope_id = 3000082688}, sas = {ss_family = 16,
__ss_padding = "#\000\000\000\000\000\020\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000\000\241\321\262cg\357`@\000\000\000\000\000\000\000X\f-\177!V\000\000\020\016\217R\371\177\000\000\001\000\000\000!V\000\000*\000\000\000\000\000\000\000\001\000\000\000\376\177\000\000\004\360;\177!V\000\000\250,A\177!V\000\000\000\355\343\327\376\177\000\000\000\241\321\262cg\357`h\256\006R\371\177\000", __ss_align = 94701866020241}}
con = 0x0
rxavp = 0x0
xname = {s = 0x0, len = -2141140176}
__func__ = "via_builder"
#1 0x000056217f155030 in create_via_hf (len=len@entry=0x7ffed7e3ecb8, msg=msg@entry=0x7ff9529548b0, send_info=send_info@entry=0x7ff764d20bb0, branch=branch@entry=0x7ffed7e3ecc0)
at core/msg_translator.c:3232
via = <optimized out>
extra_params = {s = 0x0, len = 0}
hp = {host = 0x56217f4fb380 <default_global_address>, port = 0x56217f4fb370 <default_global_port>}
sbuf = "\331\023\000\000\001", '\000' <repeats 18 times>
--Type <RET> for more, q to quit, c to continue without paging--info locals
slen = <optimized out>
xparams = <optimized out>
id_buf = <optimized out>
id_len = 0
__func__ = "create_via_hf"
__llevel = <optimized out>
__kld = <optimized out>
#2 0x000056217f1592f7 in build_req_buf_from_sip_req (msg=msg@entry=0x7ff9529548b0, returned_len=returned_len@entry=0x7ffed7e3eeac, send_info=send_info@entry=0x7ff764d20bb0,
mode=mode@entry=128) at core/msg_translator.c:2096
len = 581
new_len = <optimized out>
received_len = 0
rport_len = 0
uri_len = 0
via_len = 0
body_delta = 0
line_buf = 0x0
received_buf = 0x0
rport_buf = 0x0
new_buf = 0x0
buf = 0x56217f5866c0 <buf> "SUBSCRIBE sip:74@sip.domain.co SIP/2.0\r\nVia: SIP/2.0/UDP 12.171.207.82:25744;branch=z9hG4bK1805670803;rport\r\nFrom: \"Heather Myers\" <sip:1086448@sip.domain.co>;tag=1805518213\r\nTo: <sip:74@sip.domain.co>\r\nCa"...
path_buf = {s = 0x0, len = 0}
offset = 0
s_offset = 0
size = <optimized out>
via_anchor = 0x7ff952951300
via_lump = <optimized out>
via_rm = <optimized out>
via_insert_param = 0x0
path_anchor = <optimized out>
path_lump = <optimized out>
branch = {s = 0x7ff952954ed8 "z9hG4bKc7ed.5819b4295fe83f981a2fc19b7f739d7e.0", len = 46}
flags = 262273
--Type <RET> for more, q to quit, c to continue without paging--list
udp_mtu = <optimized out>
di = {send_sock = 0x0, to = {s = {sa_family = 18608, sa_data = "\225R\371\177\000\000\002\000\023\331\n4\001\r"}, sin = {sin_family = 18608, sin_port = 21141, sin_addr = {
s_addr = 32761}, sin_zero = "\002\000\023\331\n4\001\r"}, sin6 = {sin6_family = 18608, sin6_port = 21141, sin6_flowinfo = 32761, sin6_addr = {__in6_u = {
__u6_addr8 = "\002\000\023\331\n4\001\r\000\000\000\000\000\000\000", __u6_addr16 = {2, 55571, 13322, 3329, 0, 0, 0, 0}, __u6_addr32 = {3641901058, 218182666, 0, 0}}},
sin6_scope_id = 0}, sas = {ss_family = 18608, __ss_padding = "\225R\371\177\000\000\002\000\023\331\n4\001\r", '\000' <repeats 103 times>, __ss_align = 0}}, id = 0,
send_flags = {f = 0, blst_imask = 0}, proto = 0 '\000', proto_pad0 = 0 '\000', proto_pad1 = 0}
ret = <optimized out>
__func__ = "build_req_buf_from_sip_req"
error00 = <optimized out>
#3 0x00007ff951fbe90d in prepare_new_uac (t=t@entry=0x7ff764d20880, i_req=i_req@entry=0x7ff9529548b0, branch=branch@entry=0, uri=<optimized out>, uri@entry=0x7ff9529548e8,
path=<optimized out>, path@entry=0x7ff952954f60, next_hop=<optimized out>, fsocket=0x7ff9528f0e10, snd_flags=..., fproto=<optimized out>, flags=<optimized out>,
instance=<optimized out>, ruid=<optimized out>, location_ua=<optimized out>) at ./src/modules/tm/t_fwd.c:482
shbuf = 0x0
add_rm_backup = <optimized out>
body_lumps_backup = <optimized out>
parsed_uri_bak = {user = {
s = 0x56217f5866ce <buf+14> "74(a)sip.domain.co SIP/2.0\r\nVia: SIP/2.0/UDP 12.171.207.82:25744;branch=z9hG4bK1805670803;rport\r\nFrom: \"Heather Myers\" <sip:1086448@sip.domain.co>;tag=1805518213\r\nTo: <sip:74@sip.domain.co>\r\nCall-ID: 0_18056"..., len = 2}, passwd = {s = 0x0, len = 0}, host = {
s = 0x56217f5866d1 <buf+17> "sip.domain.co SIP/2.0\r\nVia: SIP/2.0/UDP 12.171.207.82:25744;branch=z9hG4bK1805670803;rport\r\nFrom: \"Heather Myers\" <sip:1086448@sip.domain.co>;tag=1805518213\r\nTo: <sip:74@sip.domain.co>\r\nCall-ID: 0_18056078"..., len = 11}, port = {s = 0x0, len = 0}, params = {s = 0x0, len = 0}, sip_params = {s = 0x0, len = 0}, headers = {
s = 0x0, len = 0}, port_no = 0, proto = 0, type = SIP_URI_T, flags = 0, transport = {s = 0x0, len = 0}, ttl = {s = 0x0, len = 0}, user_param = {s = 0x0, len = 0}, maddr = {
s = 0x0, len = 0}, method = {s = 0x0, len = 0}, lr = {s = 0x0, len = 0}, r2 = {s = 0x0, len = 0}, gr = {s = 0x0, len = 0}, transport_val = {s = 0x0, len = 0}, ttl_val = {
s = 0x0, len = 0}, user_param_val = {s = 0x0, len = 0}, maddr_val = {s = 0x0, len = 0}, method_val = {s = 0x0, len = 0}, lr_val = {s = 0x0, len = 0}, r2_val = {s = 0x0,
len = 0}, gr_val = {s = 0x0, len = 0}}
ret = -1
len = 32761
parsed_uri_ok_bak = <optimized out>
free_new_uri = 1
msg_uri_bak = {s = 0x0, len = 0}
dst_uri_bak = {s = 0x7ff9529525f0 "sip:10.52.1.13:5081", len = 19}
dst_uri_backed_up = 1
path_bak = {s = 0x0, len = 0}
free_path = 1
instance_bak = {s = 0x0, len = 0}
```
#### Log Messages
<!--
Check the syslog file and if there are relevant log messages printed by Kamailio, add them next, or attach to issue, or provide a link to download them (e.g., to a pastebin site).
-->
```
ERROR 2025-01-10T06:00:31.847348563Z [resource.labels.containerName: kamailio] 8(28) CRITICAL: {1 1 SUBSCRIBE 0_1907143137(a)192.168.100.28} tm [timer.h:188]: _set_fr_retr(): already added: 0x7ff763e62250 , tl=0x7ff763e62270!!!
ERROR 2025-01-10T06:00:31.847388483Z [resource.labels.containerName: kamailio] 8(28) CRITICAL: {1 1 SUBSCRIBE 0_1907143137(a)192.168.100.28} tm [t_fwd.c:1613]: t_send_branch(): BUG: retransmission already started for: 0x7ff763e62250
ERROR 2025-01-10T06:00:31.847394809Z [resource.labels.containerName: kamailio] 8(28) ERROR: {1 1 SUBSCRIBE 0_1907143137(a)192.168.100.28} sl [sl_funcs.c:428]: sl_reply_error(): stateless error reply used: No error (0/SL)
ERROR 2025-01-10T06:00:31.847400738Z [resource.labels.containerName: kamailio] 8(28) BUG: {1 1 SUBSCRIBE 0_1907143137(a)192.168.100.28} tm [t_lookup.c:2052]: t_unref(): REQ_ERR DELAYED should have been caught much earlier for 0x7ff763e61f70: 24 (hex 18)
ERROR 2025-01-10T06:00:47.346744773Z [resource.labels.containerName: kamailio] 45(65) ERROR: <core> [core/tcp_main.c:4818]: tcpconn_main_timeout(): connect 64.63.142.90:12190 failed (timeout)
ERROR 2025-01-10T06:00:58.274915089Z [resource.labels.containerName: kamailio] 45(65) CRITICAL: <core> [core/pass_fd.c:281]: receive_fd(): EOF on 20
ERROR 2025-01-10T06:01:02.715789076Z [resource.labels.containerName: kamailio] 0(1) ALERT: <core> [main.c:805]: handle_sigs(): child process 26 exited by a signal 11
ERROR 2025-01-10T06:01:02.715827333Z [resource.labels.containerName: kamailio] 0(1) ALERT: <core> [main.c:809]: handle_sigs(): core was generated
ERROR 2025-01-10T06:01:02.718815287Z [resource.labels.containerName: kamailio] 45(65) CRITICAL: <core> [core/pass_fd.c:281]: receive_fd(): EOF on 25
ERROR 2025-01-10T06:01:02.720985493Z [resource.labels.containerName: kamailio] 45(65) CRITICAL: <core> [core/pass_fd.c:281]: receive_fd(): EOF on 23
ERROR 2025-01-10T06:01:02.725450552Z [resource.labels.containerName: kamailio] 45(65) CRITICAL: <core> [core/pass_fd.c:281]: receive_fd(): EOF on 30
```
#### SIP Traffic
<!--
If the issue is exposed by processing specific SIP messages, grab them with ngrep or save in a pcap file, then add them next, or attach to issue, or provide a link to download them (e.g., to a pastebin site).
-->
```
(paste your sip traffic here)
```
### Possible Solutions
I can atleast say that when this segfault happens that these logs are always present right before the crash. However, I also see instances of these logs without a crash immediately following.
On the proxy we are doing this is withindlg route to send subscribes to the presence route:
```
if KSR.is_SUBSCRIBE() and KSR.is_myself_ruri() then
-- in-dialog subscribe requests
ksr_route_presence();
KSR.x.exit();
end
```
Any then this is our ksr_route_presence():
```
function ksr_route_presence()
if not KSR.is_SUBSCRIBE() then return 1; end
local fuser = KSR.kx.get_fuser();
if fuser=='' then
KSR.xlog.xinfo('Subscription attempt without username from IP ' .. KSR.kx.get_srcip() .. ' - Rejecting\n');
KSR.sl.sl_send_reply(404, 'Not Found');
KSR.x.exit();
end
KSR.pv.sets('$avp(s:tenant)', string.match(fuser, '-(.*)'));
local setId = '6' .. KSR.kx.get_def('DEFAULT_DISPATCH_SET');
local modeId = '7';
if KSR.dispatcher.ds_select_dst(setId, modeId)<0 then
KSR.sl.send_reply(404, 'No destination');
KSR.x.exit();
end
KSR.corex.set_send_socket(KSR.kx.get_def('PRIVATE_LISTEN_IP') .. ':' .. KSR.kx.get_def('INTERNAL_PORT'));
KSR.tm.t_on_failure('ksr_route_rtf_dispatch');
ksr_route_relay();
end
```
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 5.8.4 (x86_64/linux)
flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MMAP, PKG_MALLOC, MEM_JOIN_FREE, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLOCKLIST, HAVE_RESOLV_RES, TLS_PTHREAD_MUTEX_SHARED
ADAPTIVE_WAIT_LOOPS 1024, MAX_RECV_BUFFER_SIZE 262144, MAX_SEND_BUFFER_SIZE 262144, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: unknown
compiled with gcc 12.2.0
```
* **Operating System**:
<!--
Details about the operating system, the type: Linux (e.g.,: Debian 8.4, Ubuntu 16.04, CentOS 7.1, ...), MacOS, xBSD, Solaris, ...;
Kernel details (output of `lsb_release -a` and `uname -a`)
-->
```
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
```
```
Linux gke-us-south1-external-sip-800ca69e-qyb3 5.15.0-1048-gke #53-Ubuntu SMP Tue Nov 28 00:39:01 UTC 2023 x86_64 GNU/Linux
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4102
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4102(a)github.com>
gedia created an issue (kamailio/kamailio#4242)
<!--
Kamailio Project uses GitHub Issues only for bugs in the code or feature requests. Please use this template only for bug reports.
If you have questions about using Kamailio or related to its configuration file, ask on sr-users mailing list:
* https://lists.kamailio.org/mailman3/postorius/lists/sr-users.lists.kamailio…
If you have questions about developing extensions to Kamailio or its existing C code, ask on sr-dev mailing list:
* https://lists.kamailio.org/mailman3/postorius/lists/sr-dev.lists.kamailio.o…
Please try to fill this template as much as possible for any issue. It helps the developers to troubleshoot the issue.
Note that an issue report may be closed automatically after about 2 months
if there is no interest from developers or community users on pursuing it, being
considered expired. In such case, it can be reopened by writing a comment that includes
the token `/notexpired`. About two weeks before considered expired, the issue is
marked with the label `stale`, trying to notify the submitter and everyone else
that might be interested in it. To remove the label `stale`, write a comment that
includes the token `/notstale`. Also, any comment postpone the `expire` timeline,
being considered that there is interest in pursuing the issue.
If there is no content to be filled in a section, the entire section can be removed.
You can delete the comments from the template sections when filling.
You can delete next line and everything above before submitting (it is a comment).
-->
### Description
This is definitely not high priority, just a nuisance when auditing logs for actionable events.
The following is logged (see Log Messages section below) on edge proxies when the outbound module is loaded and the REGISTER contains:
```
Contact: *
Expires: 0
```
AFAIK this is legit when a UAC asks that all their contacts be removed from the location database.
### Troubleshooting
#### Reproduction
Force a UAC to send an unREGISTER towards an outbound-capable kamailio edge proxy.
#### Log Messages
```
outbound [outbound_mod.c:325]: use_outbound_register(): empty Contact:
```
#### SIP Traffic
<!--
If the issue is exposed by processing specific SIP messages, grab them with ngrep or save in a pcap file, then add them next, or attach to issue, or provide a link to download them (e.g., to a pastebin site).
-->
See description
### Possible Solutions
<!--
If you found a solution or workaround for the issue, describe it. Ideally, provide a pull request with a fix.
-->
I'm not sure what the best approach would be here, but I'm thinking one of the following:
* Either handle this case gracefully (contact is * in REGISTER with Expires=0), without logging anything, unless there's some misbehaviour here by the UAC I'm not aware of regarding outbound and unREGISTER behaviour
* Or, log this in a more verbose level (e.g. debug), when contact parsing fails due to it being set to '*'
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 5.8.6 (x86_64/linux)
flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MMAP, PKG_MALLOC, MEM_JOIN_FREE, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLOCKLIST, HAVE_RESOLV_RES, TLS_PTHREAD_MUTEX_SHARED
ADAPTIVE_WAIT_LOOPS 1024, MAX_RECV_BUFFER_SIZE 262144, MAX_SEND_BUFFER_SIZE 262144, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: unknown
compiled with gcc 10.2.1
```
* **Operating System**:
<!--
Details about the operating system, the type: Linux (e.g.,: Debian 8.4, Ubuntu 16.04, CentOS 7.1, ...), MacOS, xBSD, Solaris, ...;
Kernel details (output of `lsb_release -a` and `uname -a`)
-->
```
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
Linux lbpub0-tis0-cn1 5.10.0-21-amd64 #1 SMP Debian 5.10.162-1 (2023-01-21) x86_64 GNU/Linux
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4242
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4242(a)github.com>
<!-- Kamailio Pull Request Template -->
<!--
IMPORTANT:
- for detailed contributing guidelines, read:
https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md
- pull requests must be done to master branch, unless they are backports
of fixes from master branch to a stable branch
- backports to stable branches must be done with 'git cherry-pick -x ...'
- code is contributed under BSD for core and main components (tm, sl, auth, tls)
- code is contributed GPLv2 or a compatible license for the other components
- GPL code is contributed with OpenSSL licensing exception
-->
#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list -->
- [x] Commit message has the format required by CONTRIBUTING guide
- [x] Commits are split per component (core, individual modules, libs, utils, ...)
- [x] Each component has a single commit (if not, squash them into one commit)
- [x] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [x] Small bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
<!-- Go over all points below, and after creating the PR, tick the checkboxes that apply -->
- [ ] PR should be backported to stable branches
- [ ] Tested changes locally
- [x] Related to issue #4242
#### Description
<!-- Describe your changes in detail -->
This PR fixes the invalid case of empy Contact.
Contact:* and expires:0 is valid and should be handled accordingly.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4279
-- Commit Summary --
* outbound: Use outbound if Register contains Contacts:* and Expires:0
-- File Changes --
M src/modules/outbound/outbound_mod.c (9)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4279.patchhttps://github.com/kamailio/kamailio/pull/4279.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4279
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4279(a)github.com>