Hello
The tm.t_uac_start function generates a “tm:local-request” event.
But the tm.cancel function doesn't generete “tm:local-request” event.
Is it possible to activate a parameter in the TM or TMX module to generate the event?
Thanks
Juan
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3831
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3831(a)github.com>
Hi There,
We found a situation where topos seems to break, let me explain... Assuming the following scenario:
```
Caller ---- Callee
A: ------INVITE-----> Record-Route:A.A.A.A, Record-Route:B.B.B.B
B: <-----200 OK------
C: <-----INVITE------ Route: A.A.A.A, B.B.B.B
D: ------200 OK-----> Record-Route:B.B.B.B, Record-Route:A.A.A.A (reversed order)
E: <======INVITE===== Route: B.B.B.B, A.A.A.A (wrong)
```
A and B establish the connection from caller to callee, and topos works fine.
C (re-INVITE from callee) sends the Route header according to the Record-Routes from the original INVITE (A)
D is the 200 OK sent from the caller to the first re-INVITE (C) coming from the callee, with the Record-Route headers reversed, because is the order in which the callee received them; and according to the RFC it's working as intended:
```
When a UAS responds to a request with a response that establishes a
dialog (such as a 2xx to INVITE), the UAS MUST copy all Record-Route
header field values from the request into the response (including the
URIs, URI parameters, and any Record-Route header field parameters,
whether they are known or unknown to the UAS) and MUST maintain the
order of those values.
[...]
[When a UAC receives a response...]
The route set MUST be set to the list of URIs in the Record-Route
header field from the response, taken in reverse order and preserving
all URI parameters.
```
E takes the Route order from the last 200 OK ignoring they are in reversed order and assuming the top one is the first one, when it should be the other way around, sending to an IP address not reachable from the callee. And I think here is the issue, topos should not update the path on the Record-Routes from a 200 OK but if it does, it should take the reverse order
When disabling topos, everything works fine, or with topos enabled, by setting rr_update=0 works for us, but what if there is a real path update, rr_update=0 wouldn't work for us anymore. The Kamailio version is 5.8.0-rc0
Let me know if you need more information.
Thanks a lot,
Javi
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3778
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3778(a)github.com>
#### Pre-Submission Checklist
- [x] Commit message has the format required by CONTRIBUTING guide
- [x] Commits are split per component (core, individual modules, libs, utils, ...)
- [ ] 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:
- [x] PR should be backported to stable branches
- [x] Tested changes locally
- [ ] Related to issue #3592
#### Description
The `kamailio-geoip` RPM sub package currently builds both the `geoip` module - based on [the old and out of support MaxMind GeoIP library](https://github.com/maxmind/geoip-api-c) - and the newer `geoip2` module - based on [the currently supported `libmaxminddb`](https://github.com/maxmind/libmaxminddb).
The old GeoIP C library had its end of support date at May 2022 but for a while was still shipped for many distributions. At this point though, the EPEL repository that shipped the GeoIP library for RHEL-based operating systems, has removed it from their repositories for "Enterprise Linux 9":
![Screenshot_20240620_144233](https://github.com/kamailio/kamailio/assets/381782/bb1f2481-57f7-48af-b0f1-0ba1c14a3042)
Therefor builds using the bundled spec file fail on EL9 installations.
The suggested change is to add an RPM build option `--with geoip2` that when specified will build just the `geoip2` module for the `kamailio-geoip` RPM subpackage. This build option is not enabled by default, unless the build is running on a RHEL 9 based OS - in which case it is set as the default, because otherwise trivial builds break. To revert to the older behavior in RHEL 9 based OSs (and assuming you have the required unsupported library installed correctly) one will need to set both `--without geoip2 --with geoip`.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3886
-- Commit Summary --
* packaging: RPM build option to build just the geoip2 module
* packaging: make 'with geoip2' the default behavior for EL9
-- File Changes --
M pkg/kamailio/obs/kamailio.spec (36)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3886.patchhttps://github.com/kamailio/kamailio/pull/3886.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3886
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3886(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
Allow Kamailio modules to register their log function so that all Kamailio log messages (coming from core and other modules) are logged uniformly in the format defined by the custom log function.
To enable the custom log format feature, Kamailio must be compiled with the `CUSTOM_LOG_FMT` flag. Then the module that wishes to modify the log format has to call `km_custom_log_func_set` during the initialization to supply a custom log formatting function (see `km_default_custom_log_func` as an example).
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3902
-- Commit Summary --
* core: add support for custom log function
-- File Changes --
M src/core/dprint.c (19)
M src/core/dprint.h (47)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3902.patchhttps://github.com/kamailio/kamailio/pull/3902.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3902
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3902(a)github.com>
#### 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
#### Description
Another step to merge the functionality that is already used in Sipwise kamailio flavor:
be able to define a fallback contact to be used when message processed has no contact
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3958
-- Commit Summary --
* sca: contact_fallback parameter
* sca: documentation for contact_fallback parameter [skip ci]
-- File Changes --
M src/modules/sca/doc/sca_admin.xml (20)
M src/modules/sca/sca.c (6)
M src/modules/sca/sca.h (1)
M src/modules/sca/sca_call_info.c (9)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3958.patchhttps://github.com/kamailio/kamailio/pull/3958.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3958
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3958(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
<!-- Describe your changes in detail -->
Hello, I recently did some tests with kamailio's kafka module, with focus on what happens when kafka broker goes down.
First thing I noticed is that kamailio won't start initially if kafka broker is down. Second thing I noticed syslog overflowing with err logs, when kafka broker is down. Third, I noticed that when it starts, kamailio queries topic metadata and waited up to 100 seconds for any answer. I've added modparams for all these three to change behavior. Updated doc for all the new modparams.
I've also updated stats errors counting when exposed cfg functions failed for any reason. And some rework to stats function to accept str* instead of char* topic. Also moved librdkafka's poll() function at the begining of the cfg function logic, so polling happens even when some errors happen with the cfg function.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3951
-- Commit Summary --
* Makefile.defs: version set to 5.8.0-rc0
* pkg/kamailio/deb: version set 5.8.0~rc0
* github: set branch to 5.8 [skip ci]
* pkg/docker: set branch 5.8 and refresh [skip ci]
* tls: restore early init for other modules that use TLS
* tls: fix restore early init
* tls: fix OpenSSL 1.1.1 compatibility
* OpenSSL integration: manage curl_global_init(...) used by modules
* Revert ac4f1be039 - split into per module commits
* core/rthreads.h: add thread executor for curl_global_init()
* http_async_client: libssl thread executor for curl_global_init()
* http_client: libssl thread executor for curl_global_init()
* xcap_client: libssl thread executor for curl_global_init()
* http_async_client: libssl refactor thread executors for curl
* file_out: Add header guards
* file_out: Fix leaks
* tls: fix OpenSSL 1.1.1 engine keys
* tls: make explicit ENGINE deprecation in OpenSSL 3
* tls: clean-up of ENGINE
* tlsa: removed the map files used in the past for tls engine
* tls: remove unused ENGINE define
* tls: basic OpenSSL 3 support of provider keys (replaces ENGINE)
* core/rthreads.h: add new option tls_threads_mode = 2
* tls: new option tls_threads_mode = 2
* etc/kamailio.cfg: document tls_threads_mode = 2 to use atfork handler
* tls: NULL safety check
* ndb_redis: reformat exported structures
* evrexec: reformat exported structures
* microhttpd: docs - note about variables available in the event route
* ndb_redis: init enabled for tcp-main and postchildinit callbacks
* tcpops: variables to get active connection attributes
* tcpops: if connection not found, return attributes from sip msg rcv
* ims_usrloc: make matching of username in contact conditional
* ims_registrar_pcscf: update registered state to pending registration if contact exists
* core: rthreads - init return variable
* influxdbc: copy with buffer size limit
* core: ppcfg - jump to end when defexp eval does not get a str val
* core: select - handle ws and wss inside select_ip_port()
* core: parser rr - check for rr value before serializing
* acc: cdr - do not free static empty string in case of error
* ctl: reset log prefix on reading ctl traffic
* core: main - init local variables used for cli param parsing
* presence: docs - remove extra section end tag
* tls/docs: Update tls.reload docs
* tls/docs: Update certificate generation docs
* modules: readme files regenerated - modules ... [skip ci]
* ChangeLog: added content from 5.8.0 developent
* pkg/kamailio/deb: version set 5.8.0 [skip ci]
* pkg/kamailio: version set 5.8.0 for rpms and alpine
* Makefile.defs: version set to 5.8.0
* ChangeLog: content set for v5.8.0
* pkg/kamailio/obs: packaged README.file_out
* core: set null-terminated char for modparam (backport from master)
* Avoid 'qm_strnstr' defined but not used warning
* topos: small rearangement by removing else after return in the true block
* topos: properly handle cases of no user in contact for mode 1
* pkg/kamailio/obs: Allow builders to disable wolfssl module [skip ci]
* file_out: Fix var position and initialize
* pdb: Return negative carrierid for failures
* pdb server: Return negative carrierid for failures. Clang format
* ctl: handle int input for double storage
* dispatcher: refine documentation
* ims_ipsec_pcscf: TLS support in ipsec_forward() improved
* acc: more log messages of failure arsing extra acc string
* keepalive: proper storing of last up/down timestamps
* keepalive: small formatting updates and comments to the ka dest structure
* ndb_redis: clang-format for WITH_SSL code
* ndb_redis: fix index on parsing sentinel address inside redisc_reconnect_server()
* ndb_redis: break on finding a server via sentinel inside redisc_reconnect_server()
* modules: readme files regenerated - modules ... [skip ci]
* dmq: fix inter-lock on error
* file_out: additional checks for silenting warnings
* file_out: Cast to correct type of str
* tls: Fix ‘for’ loop initial declarations error
* file_out: FIx ‘for’ loop initial declarations error
* gcrypt: docs - module name used for section ids
* core: socket info - parse advertise ip part to get address family
* core: resolve/create_srv_pref_list() - insert at correct position in list
* corex: fix conditions for dns_cache modparam srv attributes
* keepalive: reformat module exports structures
* db_mysql: MYSQL_OPT_RECONNECT is deprecated by MySQL 8.0.34
* db_mysql: right position for define KSR_MYSQL_OPT_RECONNECT
* smsops: reformat module exports structures
* smsops: short reference section about variables
* blst: reformat exported structures
* modules: readme files regenerated - modules ... [skip ci]
* pkg/kamailio: version set 5.8.1 for rpms and alpine
* pkg: deb specs updated for v5.8.1
* core: xavp - added missing closing parenthesis in log messages
* core: msg translator - duplicate reply via xavp params and handle errors
* Makefile.defs: version set to 5.8.1
* ChangeLog: content updated for v5.8.1
* pdb server: allow carrier id 0
* db_redis: docs - refine docs regarding client certificates [skip ci]
* ndb_redis: docs - refine docs regarding client certificates [skip ci]
* sdpops: reformat the codecs map
* core: parser/sdp - rename parameter to suggest better its role
* siputils: tel2sip2() - memset to 0 pkg allocs and recompute len of new uri
* ims_ipsec_pcscf: log error message made info
* corex: Fix unknown af in list_sockets
* rtpengine: fix pkg mem leak in send_rtpp_command()
* tcp_main: Add protocol argument for searching tcp/tls connections
* tcp_main: Add proto argument to tcpconn_exists function
* tcp_main: Update comment docs
* core/forward: Match protocol when forwarding
* tcp_main: Match wss protocol
* usrloc: check on db delete the return value of memchr
* core: tcp - keep connection id on event route cb structure
* tcpops: reworked some debug messages
* core: tcp - set a global shortcut to tcp connection for event route
* pv: use global tcp connection callback for event route on $conid
* core: fmsg - parse loopback ip when initializing faked msg structure
* regex: init globals for safer shutdown on failure
* regex: allocate pcres array
* regex: reformat exported structures
* tcpops: removed unused variable introduced recently
* modules: readme files regenerated - modules ... [skip ci]
* tls: clear thread-local variables up to tls_pthreads_key_mark
* core: spelling fix in comment and log message
* uid_auth_db: spelling fix in documentation
* ims_usrloc_scscf: reformat exported structures
* ims_usrloc_scscf: enclose examples in dotted lines for better visibility
* modules/statsd: ensure statsd failures do not stop execution (#3819)
* ims_registrar_scscf: init variable to fix analyzer warning
* ims_ipsec_pcscf: decouple IPSEC_FORWARD_USEVIA and IPSEC_TCPPORT_UEC for requests
* ims_ipsec_pcscf: docs updated for ipsec_forward() flags
* ims_ipsec_pcscf: updated comments for ipsec_forward() flags
* ims_ipsec_pcscf: handle tls for replies
* ims_registrar_scscf: fix uninitialized arguments in save()
* ims_registrar_scscf: refactor save_fixup4
* ims_registrar_scscf: fix typo in function name uint_fixup
* ims_registrar_scscf: free_uint_fixup: fix memleak/freeing the wrong parameter
* ims_ipsec_pcscf: cascade on options to get the uri for fill_contact()
* sipcapture: docs - fix default value for parameter
* tm: free new buffer on drop for local requests
* tm: cb flag to mark local uac on request drop
* tm: cb_flags made unsigned for uac_req
* pv_headers: print also the new TMCB_LOCAL_REQUEST_DROP in debug function
* presence: check if the local notify was dropped in event route
* uac: check if local requests are dropped and free the param
* pua: check if local requests are dropped and free the param
* core: parser/contact - add limit for max number of contacts
* core: parser/contact - basic validation tests for contact uri
* core: parse/contact: jump to error on too many contacts
* ctl: removed level and function names from log messages
* ctl: info log on ECONNRESET (connection reset by peer)
* modules: readme files regenerated - modules ... [skip ci]
* tcpops: note about execution of event routes by TCP main process
* modules: readme files regenerated - modules ... [skip ci]
* sipcapture: fix default DB URL docs
* modules: readme files regenerated - modules ... [skip ci]
* etc/kamailio.cfg: remove executable flag
* tm: add mandatory Max-Forwards header to local AC
* db_cluster: Update log levels
* dialplan: don't call free on empty pcre pointer
* tcpops: reformat exported structures
* sipcapture: use local static buffers for ip address and port
* db_mysql: fixed build on CentOS 7
* usrloc: delete location_attrs in db_only mode on delete_urecord
* htable: error on not finding htable in pv set
* htable: error on not finding htable in pv get
* rtpengine: Fix extra process in pkg.stats
* siputils: free head of params list for get_uri_param()
* siputils: free head of params list for get_uri_param()
* regex: fix pcre2 migration
* geoip2: init MMDB_s global pointer and check on destroy
* geoip2: do not close global MMDB_s on destroy
* geoip2: rename global lock variable
* geoip2: keep global structure per process
* geoip2: clang format module file
* geoip2: Reload database before accessing it
* iims_registrar_scscf: include header for common c functions
* core/resolve: Check dns_cache_init and choose appropriate functions
* nathelper: fixed handle_ruri_alias_mode(1) cannot proper handle multi alias
* nathelper: remove magic constant
* dmq_usrloc: reformat exported structures
* ims_ipsec_pcscf: Fix typo
* pua_dialoginfo: Fix ruri length
* modules: readme files regenerated - modules ... [skip ci]
* pkg/kamailio: version set 5.8.2 for rpms and alpine
* pkg: deb specs updated for v5.8.2
* Makefile.defs: version set to 5.8.2
* ChangeLog: content updated for v5.8.2
* kafka: add modparam init_without_kafka
* kafka: add modparam log_without_overflow
* kafka: add modparam metadata_timeout
* kafka: export statistics for total/err messages
* kafka: Update kfk_stats_add() to use str topic
* kafka: Update doc with the new modparams
-- File Changes --
M .devcontainer/devcontainer.json (2)
M .github/workflows/devcontainer.yaml (2)
M .github/workflows/main.yml (2)
M .gitmodules (1)
M ChangeLog (16562)
M etc/kamailio.cfg (5)
M pkg/docker (2)
M pkg/kamailio/alpine/APKBUILD (2)
M pkg/kamailio/deb/bionic/changelog (24)
M pkg/kamailio/deb/bookworm/changelog (24)
M pkg/kamailio/deb/bullseye/changelog (24)
M pkg/kamailio/deb/buster/changelog (24)
M pkg/kamailio/deb/debian/changelog (24)
M pkg/kamailio/deb/focal/changelog (24)
M pkg/kamailio/deb/jammy/changelog (24)
M pkg/kamailio/deb/jessie/changelog (24)
M pkg/kamailio/deb/precise/changelog (24)
M pkg/kamailio/deb/sid/changelog (24)
M pkg/kamailio/deb/stretch/changelog (24)
M pkg/kamailio/deb/trusty/changelog (24)
M pkg/kamailio/deb/wheezy/changelog (24)
M pkg/kamailio/deb/xenial/changelog (24)
M pkg/kamailio/obs/kamailio.spec (24)
M src/Makefile.defs (4)
M src/core/fmsg.c (11)
M src/core/forward.h (3)
M src/core/mem/q_malloc.c (2)
M src/core/modparam.c (1)
M src/core/msg_translator.c (18)
M src/core/parser/contact/contact.c (29)
M src/core/parser/parse_rr.c (24)
M src/core/parser/sdp/sdp_helpr_funcs.c (14)
M src/core/ppcfg.c (2)
M src/core/resolve.c (60)
M src/core/resolve.h (14)
M src/core/rthreads.h (58)
M src/core/select_core.c (12)
M src/core/socket_info.c (5)
M src/core/switch.c (2)
M src/core/tcp_conn.h (6)
M src/core/tcp_main.c (52)
M src/core/ut.h (2)
M src/core/xavp.c (6)
M src/main.c (6)
M src/modules/acc/acc_cdr.c (4)
M src/modules/acc/acc_extra.c (16)
M src/modules/blst/blst.c (49)
M src/modules/corex/corex_mod.c (6)
M src/modules/corex/corex_rpc.c (4)
M src/modules/ctl/binrpc.h (15)
M src/modules/ctl/fifo_server.c (1)
M src/modules/ctl/io_listener.c (90)
M src/modules/db_cluster/dbcl_api.c (83)
M src/modules/db_mysql/km_my_con.c (21)
M src/modules/db_redis/README (17)
M src/modules/db_redis/doc/db_redis_admin.xml (10)
M src/modules/dialplan/dp_repl.c (3)
M src/modules/dispatcher/README (13)
M src/modules/dispatcher/doc/dispatcher_admin.xml (9)
M src/modules/dmq/notification_peer.c (6)
M src/modules/dmq_usrloc/dmq_usrloc.c (44)
M src/modules/evrexec/evrexec_mod.c (40)
M src/modules/file_out/file_out.c (69)
M src/modules/file_out/types.c (14)
M src/modules/file_out/types.h (5)
M src/modules/gcrypt/doc/gcrypt_admin.xml (4)
M src/modules/geoip2/geoip2_mod.c (25)
M src/modules/geoip2/geoip2_pv.c (81)
M src/modules/geoip2/geoip2_pv.h (1)
M src/modules/htable/ht_var.c (10)
M src/modules/http_async_client/http_async_client_mod.c (115)
M src/modules/http_client/http_client.c (23)
M src/modules/ims_ipsec_pcscf/README (13)
M src/modules/ims_ipsec_pcscf/cmd.c (130)
M src/modules/ims_ipsec_pcscf/doc/ims_ipsec_pcscf_admin.xml (12)
M src/modules/ims_registrar_pcscf/save.c (11)
M src/modules/ims_registrar_scscf/ims_registrar_scscf_mod.c (55)
M src/modules/ims_registrar_scscf/lookup.c (2)
M src/modules/ims_registrar_scscf/userdata_parser.c (5)
M src/modules/ims_usrloc_pcscf/udomain.c (58)
M src/modules/ims_usrloc_scscf/README (29)
M src/modules/ims_usrloc_scscf/doc/ims_usrloc_scscf_admin.xml (129)
M src/modules/ims_usrloc_scscf/ims_usrloc_scscf_mod.c (78)
M src/modules/influxdbc/ic.c (16)
M src/modules/kafka/doc/kafka_admin.xml (64)
M src/modules/kafka/kafka_mod.c (33)
M src/modules/kafka/kfk.c (117)
M src/modules/keepalive/keepalive.h (12)
M src/modules/keepalive/keepalive_core.c (4)
M src/modules/keepalive/keepalive_mod.c (56)
M src/modules/microhttpd/doc/microhttpd_admin.xml (5)
M src/modules/nathelper/nathelper.c (4)
M src/modules/ndb_redis/README (17)
M src/modules/ndb_redis/doc/ndb_redis_admin.xml (10)
M src/modules/ndb_redis/ndb_redis_mod.c (128)
M src/modules/ndb_redis/redis_client.c (34)
M src/modules/pdb/pdb.c (14)
M src/modules/presence/doc/presence_admin.xml (1)
M src/modules/presence/notify.c (5)
M src/modules/pua/pua.c (5)
M src/modules/pua/send_publish.c (3)
M src/modules/pua_dialoginfo/pua_dialoginfo.c (1)
M src/modules/pv/pv_core.c (7)
M src/modules/pv_headers/pv_headers.c (2)
M src/modules/regex/regex_mod.c (78)
M src/modules/rtpengine/rtpengine.c (7)
M src/modules/sdpops/sdpops_data.c (28)
M src/modules/sipcapture/README (5)
M src/modules/sipcapture/doc/sipcapture_admin.xml (4)
M src/modules/sipcapture/hep.c (13)
M src/modules/siputils/checks.c (14)
M src/modules/smsops/README (13)
M src/modules/smsops/doc/smsops_admin.xml (14)
M src/modules/smsops/smsops.c (47)
M src/modules/statsd/statsd.c (51)
M src/modules/tcpops/README (8)
M src/modules/tcpops/doc/eventroutes.xml (12)
M src/modules/tcpops/tcpops.c (6)
M src/modules/tcpops/tcpops_mod.c (155)
M src/modules/tls/README (12)
M src/modules/tls/doc/rpc.xml (4)
M src/modules/tls/doc/tls.xml (10)
M src/modules/tls/tls_domain.c (94)
D src/modules/tls/tls_map.c (213)
D src/modules/tls/tls_map.h (77)
M src/modules/tls/tls_mod.c (223)
M src/modules/tls/tls_rand.h (2)
M src/modules/tls/tls_server.c (24)
D src/modules/tlsa/tls_map.c (27)
D src/modules/tlsa/tls_map.h (27)
M src/modules/tm/t_hooks.h (4)
M src/modules/tm/t_msgbuilder.c (5)
M src/modules/tm/uac.c (3)
M src/modules/tm/uac.h (2)
M src/modules/topos/tps_storage.c (71)
M src/modules/uac/uac_reg.c (7)
M src/modules/uac/uac_send.c (9)
M src/modules/uid_auth_db/auth_db.xml (2)
M src/modules/usrloc/ucontact.c (36)
M src/modules/usrloc/urecord.c (18)
M src/modules/xcap_client/xcap_client.c (5)
M utils/pdbt/common.h (2)
M utils/pdbt/pdb_server.c (330)
M utils/pdbt/pdb_server_backend.c (21)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3951.patchhttps://github.com/kamailio/kamailio/pull/3951.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3951
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3951(a)github.com>
When relaying this `200 OK` repeatedly with calls to `rtpengine_answer()` failing because all RTPEngines in a set are unreachable...
```
Dec 8 06:24:38 gw kamailio[4823]: ERROR: rtpengine [rtpengine.c:2960]: select_rtpp_node(): rtpengine failed to select new for calllen=36 callid=8279a4ea-151e-48de-a23c-5840104126de
```
```
SIP/2.0 200 OK
v:SIP/2.0/UDP 10.150.20.20;branch=z9hG4bK03e.e4da444e627bb575ef4f46151729a1fa.0,SIP/2.0/UDP 10.151.20.108;received=10.151.20.108;rport=5060;branch=z9hG4bKKQyrBKpp04X0K
Record-Route:<sip:10.150.20.20;lr;ftag=emHm2apy95jFe;rtp_relay=1;rtp_group=0>
f:"14045551212"<sip:14045551212@10.151.20.108>;tag=emHm2apy95jFe
t:<sip:16782001111@internal.evaristesys.com>;tag=tHQt0rDcF7UHK
i:8279a4ea-151e-48de-a23c-5840104126de
CSeq:60686471 INVITE
m:<sip:16782001111@10.160.10.55:5060;transport=udp>
User-Agent:VoiceAppServer
Allow:INVITE,ACK,BYE,CANCEL,OPTIONS,MESSAGE,INFO,UPDATE,REFER,NOTIFY
k:path,replaces
u:talk,hold,conference,refer
c:application/sdp
Content-Disposition:session
l:257
v=0
o=DM 1670428117 1670428118 IN IP4 10.160.10.55
s=DM
c=IN IP4 10.160.10.55
t=0 0
m=audio 52418 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=rtcp:52419 IN IP4 10.160.10.55
```
Repeat INVITEs eventually result in a crash. This backtrace is taken from a different server but identical scenario:
```
#0 t_should_relay_response (Trans=0x7f4aee56ba80, new_code=200, branch=0, should_store=0x7ffd8b8bbba0, should_relay=0x7ffd8b8bbba4, cancel_data=0x7ffd8b8bbe40,
reply=0x7f4afe40df70) at t_reply.c:1285
1285 && !(inv_through && Trans->uac[branch].last_received<300)) {
Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.192.el6.x86_64 jansson-2.11-1.el6.x86_64 keyutils-libs-1.4-5.el6.x86_64 krb5-libs-1.10.3-57.el6.x86_64 libcom_err-1.41.12-22.el6.x86_64 libev-4.03-3.el6.x86_64 libselinux-2.0.94-7.el6.x86_64 libunistring-0.9.3-5.el6.x86_64 openssl-1.0.1e-48.el6_8.3.x86_64 sqlite-3.6.20-1.el6_7.2.x86_64 zlib-1.2.3-29.el6.x86_64
(gdb) where
#0 t_should_relay_response (Trans=0x7f4aee56ba80, new_code=200, branch=0, should_store=0x7ffd8b8bbba0, should_relay=0x7ffd8b8bbba4, cancel_data=0x7ffd8b8bbe40,
reply=0x7f4afe40df70) at t_reply.c:1285
#1 0x00007f4afd73ab7d in relay_reply (t=0x7f4aee56ba80, p_msg=0x7f4afe40df70, branch=0, msg_status=200, cancel_data=0x7ffd8b8bbe40, do_put_on_wait=1)
at t_reply.c:1821
#2 0x00007f4afd740c38 in reply_received (p_msg=0x7f4afe40df70) at t_reply.c:2558
#3 0x00000000004b5d6a in do_forward_reply (msg=0x7f4afe40df70, mode=0) at core/forward.c:747
#4 0x00000000004b78c9 in forward_reply (msg=0x7f4afe40df70) at core/forward.c:852
#5 0x000000000054982b in receive_msg (
buf=0xb27700 "SIP/2.0 200 OK\r\nv:SIP/2.0/UDP xxx;branch=z9hG4bK9915.dcfe6d03cb21e6c94a6705adb095c566.0,SIP/2.0/UDP xxx;received=xxx;rport=5060;branch=z9hG4bKZmZp0NZv3FvQB\r\nRecord-Rout"..., len=984, rcv_info=0x7ffd8b8bc6c0) at core/receive.c:434
#6 0x00000000006658ca in udp_rcv_loop () at core/udp_server.c:541
#7 0x000000000042500f in main_loop () at main.c:1655
#8 0x000000000042c5bb in main (argc=11, argv=0x7ffd8b8bcc88) at main.c:2696
```
Looks like in the crash frame, `Trans->uac` is `NULL`:
```
(gdb) frame 0
#0 t_should_relay_response (Trans=0x7f4aee56ba80, new_code=200, branch=0, should_store=0x7ffd8b8bbba0, should_relay=0x7ffd8b8bbba4, cancel_data=0x7ffd8b8bbe40,
reply=0x7f4afe40df70) at t_reply.c:1285
1285 && !(inv_through && Trans->uac[branch].last_received<300)) {
(gdb) print Trans->uac
$1 = (struct ua_client *) 0x0
```
I have seen this crash from time to time, though it is infrequent. It always seems to occur when there are problems reaching RTPEngine in a timely fashion.
This is on Kamailio 5.2.4:de9a03, which I know has long fallen off the back of the maintenance train. However, line 1386 of `t_reply.c` in `master:HEAD` shows that the code is no different now:
https://github.com/kamailio/kamailio/blob/master/src/modules/tm/t_reply.c#L…
Of course, it's possible that something upstream has changed so as to prevent this state. Otherwise, I suppose a null pointer safety check for `Trans->uac` is recommended. I'd be happy to submit a patch, just wasn't sure if the feeling was more that this should be resolved higher up the call stack.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3297
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3297(a)github.com>
### Description
I used sip_p_charging_vector() function of siputils with flag f (remove + generate).
This function works fine if call is received without a P-Charging-Vector and only generate needs to be done.
But if the INVITE already contains a P-Charging-Vector and this vector needs to be removed and replaced by a new generated P-Charging-Vector the output is messed up.
The sip_p_charging_vector() function with flag r (remove) works fine too. P-Charging-Vector is removed if INVITE contains one. So for me this looks like an issue with the combination of remove + generate.
See SIP Traffic attached. The "old" P-Charging-Vector is not deleted and additionaly instead of a new P-Charging-Vector the "old" P-Charging-Vector is added again above SDP. Also some part of the next line "Session-Exp" is added and "TH: dih".
-----
TH: dih
icid-value=0d702d06-5700-103e-00-00-00-10-6b-03-dd-04;icid-generated-at=213.xxx.xxx.xxx
Session-Exp
-----
### Troubleshooting
#### Reproduction
It looks like the issue is triggered always a p-charging-vector is received by kamailio and sip_p_charging_vector() with flag f is called.
#### 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
```
**This message is received by kamailio (Incoming):**
INVITE sip:+49xxxxxxxx;npdi;rn=+49xxxxxxxx@bob.com:5060;user=phone SIP/2.0
Via: SIP/2.0/UDP 213.xxx.xxx.xxx:5060;branch=z9hG4bK08Bf3722bac16f3e05b
From: <sip:+43xxxxxxxx@alice.com;user=phone>;tag=gK085abca7
To: <sip:+49xxxxxxxx0@92.xxx.xxx.xxx:5060;user=phone>
Call-ID: 168341746_132086108(a)213.xxx.xxx.xxx
CSeq: 373279 INVITE
Max-Forwards: 67
Allow: INVITE,ACK,CANCEL,BYE,REGISTER,REFER,INFO,SUBSCRIBE,NOTIFY,PRACK,UPDATE,OPTIONS,MESSAGE,PUBLISH
Accept: application/sdp, application/isup, application/dtmf, application/dtmf-relay, multipart/mixed
Contact: <sip:+43xxxxxxxx@213.xxx.xxx.xxx:5060>
P-Asserted-Identity: <sip:+43xxxxxxxx@alice.com:5060;user=phone>
Supported: timer,100rel,histinfo
P-Charging-Vector: icid-value=0d702d06-5700-103e-00-00-00-10-6b-03-dd-04;icid-generated-at=213.xxx.xxx.xxx
Session-Expires: 1800
Min-SE: 90
Content-Length: 236
Content-Disposition: session; handling=required
Content-Type: application/sdp
v=0
o=Sonus_UAC 278609 22801 IN IP4 213.xxx.xxx.xxx
s=SIP Media Capabilities
c=IN IP4 213.xxx.xxx.xxx
t=0 0
m=audio 29020 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
a=ptime:20
**This message is send out by kamailio (outgoing):**
INVITE sip:+49xxxxxxxx;npdi;rn=+49xxxxxxxx@bob.com:5060;user=phone SIP/2.0
Record-Route: <sip:172.xxx.xxx.xxx;r2=on;lr=on;ftag=gK085abca7>
Record-Route: <sip:92.xxx.xxx.xxx9;r2=on;lr=on;ftag=gK085abca7>
Via: SIP/2.0/UDP 172.xxx.xxx.xxx;branch=z9hG4bKc451.940fa2c220f96c1ef968de3c156db262.0
Via: SIP/2.0/UDP 213.xxx.xxx.xxx:5060;TH=div;branch=z9hG4bK08Bf3722bac16f3e05b
From: <sip:+43xxxxxxxx@alice.com;user=phone>;tag=gK085abca7
To: <sip:+49xxxxxxxx@92.xxx.xxx.xxx:5060;user=phone>
Call-ID: 168341746_132086108(a)213.xxx.xxx.xxx
CSeq: 373279 INVITE
Max-Forwards: 66
Allow: INVITE,ACK,CANCEL,BYE,REGISTER,REFER,INFO,SUBSCRIBE,NOTIFY,PRACK,UPDATE,OPTIONS,MESSAGE,PUBLISH
Accept: application/sdp, application/isup, application/dtmf, application/dtmf-relay, multipart/mixed
Contact: <sip:+43xxxxxxxx@213.xxx.xxx.xxx:5060>
P-Asserted-Identity: <sip:+43xxxxxxxx@alice.com:5060;user=phone>
Supported: timer,100rel,histinfo
P-Charging-Vector: icid-value=0d702d06-5700-103e-00-00-00-10-6b-03-dd-04;icid-generated-at=213.xxx.xxx.xxx
Session-Expires: 1800
Min-SE: 90
Content-Length: 252
Content-Disposition: session; handling=required
Content-Type: application/sdp
**_TH: dih
icid-value=0d702d06-5700-103e-00-00-00-10-6b-03-dd-04;icid-generated-at=213.xxx.xxx.xxx
Session-Exp_**
v=0
o=Sonus_UAC 278609 22801 IN IP4 92.xxx.xxx.xxx
s=SIP Media Capabilities
c=IN IP4 92.xxx.xxx.xxx
t=0 0
m=audio 34622 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
a=rtcp:34623
a=ptime:20
```
### Additional Information
```
version: kamailio 5.8.2 (x86_64/linux) 3fa5f4
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: 3fa5f4
compiled on 15:54:29 Jul 22 2024 with gcc 10.2.1
```
* **Operating System**:
```
Debian GNU/Linux 11
5.10.0-26-amd64 #1 SMP Debian 5.10.197-1 (2023-09-29) x86_64 GNU/Linux
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3929
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3929(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
- [x] Related to issue #3831
#### Description
<!-- Describe your changes in detail -->
The `tm` currently does not trigger the `tm:local-request` event for CANCEL requests that are created by the tm.cancel RPC function. This pull request adds support for triggering the tm:local-request event for CANCEL requests.
According to [docs](https://www.kamailio.org/docs/modules/devel/modules/tm#tm.e.local-req… an event `tm:local-request` should be created for every request that is originates from kamailio and creates a transaction.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3962
-- Commit Summary --
* tm: Emit request event when cancel is called
-- File Changes --
M src/modules/tm/t_cancel.c (62)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3962.patchhttps://github.com/kamailio/kamailio/pull/3962.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3962
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3962(a)github.com>