<!--
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:
* http://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
If you have questions about developing extensions to Kamailio or its existing C code, ask on sr-dev mailing list:
* http://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
Please try to fill this template as much as possible for any issue. It helps the developers to troubleshoot 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 loaded module "db_postgres.so". I expected kamilio to start. It didn't
### Troubleshooting
#### Reproduction
<!--
If the issue can be reproduced, describe how it can be done.
-->
#### config file
```
#!KAMAILIO
#!define WITH_POSTGRESSQL
#!define WITH_AUTH
#!define WITH_USRLOCDB
#!define WITH_PRESENCE
#!define WITH_MSGREBUILD
#!define WITH_NAT
#!define WITH_NATSIPPING
..
.
..
#!ifdef WITH_POSTGRESSQL
loadmodule "db_postgres.so"
#!endif
```
#### 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).
-->
```
Jul 22 10:31:16 opensips /usr/sbin/kamailio[8975]: ERROR: <core> [db.c:204]: db_bind_mod(): Module db_postgresql not found. Missing loadmodule?
Jul 22 10:31:16 opensips /usr/sbin/kamailio[8975]: ERROR: usrloc [usrloc_mod.c:361]: mod_init(): failed to bind database module
Jul 22 10:31:16 opensips /usr/sbin/kamailio[8975]: ERROR: <core> [core/sr_module.c:942]: init_mod(): Error while initializing module usrloc (/usr/lib/x86_64-linux-gnu/kamailio/modules/usrloc.so)
```
output from ls of modules directory:
```
acc.so call_obj.so dialog.so ipops.so msrp.so presence_conference.so qos.so sipcapture.so statsd.so uid_avp_db.so
acc_diameter.so carrierroute.so dialplan.so jsonrpcs.so mtree.so presence_dialoginfo.so ratelimit.so sipdump.so stun.so uid_domain.so
alias_db.so cfg_db.so dispatcher.so keepalive.so nat_traversal.so presence_mwi.so regex.so sipjson.so tcpops.so uid_gflags.so
app_jsdt.so cfg_rpc.so diversion.so kemix.so nathelper.so presence_profile.so registrar.so sipt.so textops.so uid_uri_db.so
app_sqlang.so cfgt.so dmq.so kex.so nosip.so presence_reginfo.so rls.so siptrace.so textopsx.so uri_db.so
async.so cfgutils.so dmq_usrloc.so lcr.so outbound.so presence_xml.so rr.so siputils.so timer.so userblocklist.so
auth.so corex.so domain.so log_custom.so p_usrloc.so pua.so rtimer.so sl.so tm.so usrloc.so
auth_db.so counters.so domainpolicy.so lrkproxy.so path.so pua_bla.so rtjson.so sms.so tmrec.so xcap_client.so
auth_diameter.so ctl.so drouting.so mangler.so pdb.so pua_dialoginfo.so rtpengine.so smsops.so tmx.so xcap_server.so
auth_xkeys.so db2_ops.so enum.so matrix.so pdt.so pua_reginfo.so rtpproxy.so speeddial.so topoh.so xhttp.so
avp.so db_cluster.so evrexec.so maxfwd.so permissions.so pua_rpc.so sanity.so sqlops.so topos.so xhttp_prom.so
avpops.so db_flatstore.so exec.so mediaproxy.so pike.so pua_usrloc.so sca.so ss7ops.so tsilo.so xhttp_rpc.so
benchmark.so db_postgres.so group.so mohqueue.so pipelimit.so pua_xmpp.so sdpops.so sst.so uac.so xlog.so
blst.so db_text.so htable.so mqueue.so prefix_route.so pv.so seas.so statistics.so uac_redirect.so xprint.so
call_control.so debugger.so imc.so msilo.so presence.so pv_headers.so secfilter.so statsc.so uid_auth_db.so
```
### Possible Solutions
<!--
If you found a solution or workaround for the issue, describe it. Ideally, provide a pull request with a fix.
-->
tried renaming db_postgres.so to db_postgresql.so, but that didn't work, so I reversed it
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 5.5.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, 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 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`)
-->
```
Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
Linux opensips 5.10.0-16-amd64 #1 SMP Debian 5.10.127-1 (2022-06-30) x86_64 GNU/Linux
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3196
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3196(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
- [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
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3497
-- Commit Summary --
* sipcapture: use memcpy instead of strncpy for coherence
* rtpproxy: use memcpy instead of strcpy for coherence
-- File Changes --
M src/modules/rtpproxy/rtpproxy.c (40)
M src/modules/sipcapture/sipcapture.c (16)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3497.patchhttps://github.com/kamailio/kamailio/pull/3497.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3497
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3497(a)github.com>
Hello,
(Adding sr-dev to CC)
This looks indeed a bit strange. Do you get any error messages in the log? In which process you are freeing the memory, one of the worker processes or the RPC process?
You could also try to use another memory manager to see if you get better performance. There is a command line parameter to choose one during startup.
Cheers,
Henning
--
Henning Westerholt - https://skalatan.de/blog/
Kamailio services - https://gilawa.com<https://gilawa.com/>
From: Chaigneau, Nicolas <nicolas.chaigneau(a)capgemini.com>
Sent: Wednesday, January 18, 2023 6:49 PM
To: Kamailio (SER) - Users Mailing List <sr-users(a)lists.kamailio.org>
Subject: [SR-Users] Performances issue when freeing shared memory in custom module (Kamailio 5.5.2)
Hello,
I'm encountering performance issues with Kamailio (5.5.2).
I'm using a custom Kamailio module that loads routing data in memory, using Kamailio shared memory.
This routing data is very large. It can be fully reloaded through a Kamailio RPC command (which is done once each day).
When reloading, two sets of data are maintained, one "loading" and another "current" (the latter being used to handle SIP requests).
When loading of the new data is finished, it is swapped to "current". Then, memory of the old (now unused) data is freed.
I've noticed that when Kamailio is freeing the old data, there is a very significant performance impact on SIP requests.
This is surprising to me, because the SIP requests do not use this old data.
This is not a CPU issue, idle CPU% is at about 99% at that moment.
I'm using the following functions :
- shm_mallocxz
- shm_free
From what I understand, shm_free is actually "qm_shm_free" defined in "src\core\mem\q_malloc.c" (the default shared memory manager being "qm").
I've noticed that there is also a variant shm_free_unsafe ("qm_free"), which does not perform locking.
I'm wondering if the lock could be the cause of my performances issues ?
(But I'm not sure how this could be possible, because although the SIP requests need to access the shared memory allocated, they do not use directly the functions from the share memory manager.)
If the performances issues are causes by the lock, could I use the unsafe version "safely" ? (considering that it is guaranteed that the old data cannot be used by anyone else)
Thanks for your help.
Regards,
Nicolas.
This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.
**Description**
We are using ims_charging module and Freediameter as diameter server for billing process....recently we faced one issue...For Initial **INVITEs** kamailio sending **CCR request (INITIAL_REQUEST)** to **diameter server** but if we receive Immediate **CANCLE** for the **INVITE**, kamailio sending **CCR request ( TERMINATE_REQUEST )** without waiting for the **CCR request (INITIAL_REQUEST) response** from the **Diameter server.**..
**Expected behavior**
Kamailio has to send **CCR request ( TERMINATE_REQUEST )** after getting the **response** from the **INITIAL_REQUEST.**
**Additional Info**
kamailio server : 4.2
platform : linux
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/2143
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3491
-- Commit Summary --
* mohqueue: typo
* osp: typos
* p_usrloc: typo
* permissions: typos
* pike: typo
* presence: typo
* qos: typos
* ratelimit: typo
* regex: typos
* registrar: typos and formatting
* rls: typos
* rr: typo
* rtimer: typo
* rtp_media_server: typos
* ruxc: typos
* sca: typos
* seas: typo
* snmpstats: typos
* statsd: typo
* tcpops: typos
* textops: typos
-- File Changes --
M src/modules/mohqueue/doc/mohqueue_admin.xml (2)
M src/modules/osp/destination.c (2)
M src/modules/osp/doc/osp_admin.xml (4)
M src/modules/osp/orig_transaction.c (2)
M src/modules/osp/osp_mod.c (2)
M src/modules/osp/osptoolkit.h (2)
M src/modules/p_usrloc/udomain.c (2)
M src/modules/permissions/trusted.c (4)
M src/modules/permissions/trusted.h (2)
M src/modules/pike/doc/pike_devel.xml (2)
M src/modules/presence/doc/presence_admin.xml (2)
M src/modules/qos/doc/qos_devel.xml (6)
M src/modules/qos/qos.c (2)
M src/modules/qos/qos_cb.c (4)
M src/modules/qos/qos_handlers.c (2)
M src/modules/ratelimit/doc/ratelimit_admin.xml (2)
M src/modules/regex/regex_mod.c (6)
M src/modules/registrar/doc/registrar_admin.xml (21)
M src/modules/registrar/lookup.c (4)
M src/modules/registrar/save.c (2)
M src/modules/registrar/save.h (2)
M src/modules/rls/notify.c (2)
M src/modules/rls/resource_notify.c (6)
M src/modules/rls/rls.c (4)
M src/modules/rls/subscribe.c (2)
M src/modules/rr/doc/rr_devel.xml (2)
M src/modules/rtimer/doc/rtimer_admin.xml (2)
M src/modules/rtp_media_server/doc/rtp_media_server_admin.xml (4)
M src/modules/rtp_media_server/rms_sdp.c (2)
M src/modules/rtp_media_server/rtp_media_server.c (6)
M src/modules/ruxc/doc/ruxc_admin.xml (8)
M src/modules/sca/sca_call_info.c (2)
M src/modules/sca/sca_subscribe.c (4)
M src/modules/sca/sca_util.c (2)
M src/modules/seas/event_dispatcher.c (2)
M src/modules/snmpstats/snmpObjects.c (2)
M src/modules/snmpstats/snmpstats.c (2)
M src/modules/statsd/doc/statsd_admin.xml (2)
M src/modules/tcpops/doc/params.xml (2)
M src/modules/tcpops/doc/tcpops.xml (2)
M src/modules/textops/api.h (2)
M src/modules/textops/doc/textops_admin.xml (2)
M src/modules/textopsx/api.h (2)
M src/modules/textopsx/doc/functions.xml (12)
M src/modules/textopsx/textopsx.c (2)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3491.patchhttps://github.com/kamailio/kamailio/pull/3491.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3491
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3491(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
- [ ] 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/3489
-- Commit Summary --
* siptrace: fix pseudo var direction attribute length
-- File Changes --
M src/modules/siptrace/siptrace.c (4)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3489.patchhttps://github.com/kamailio/kamailio/pull/3489.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3489
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3489(a)github.com>
### Description
Trying to get NATS module working but Kamailio is refusing to start.
```
Sep 27 23:08:27 server kernel: kamailio[338880]: segfault at 70 ip 00007fe97b06f1cc sp 00007fff72d158f0 error 4 in libuv.so.1.0.0[7fe97b066000+1f000]
Sep 27 23:08:27 server kernel: Code: 5a 85 ff ff b8 ea ff ff ff c3 0f 1f 40 00 f3 0f 1e fa 8b 4e 30 83 f9 ff 0f 84 80 00 00 00 48 83 ec 08 85 c9 0f 88 90 00 00 00 <3b> 4f 70 73 45 f7 d2 21 56 28 48 8d 4e 18 48 89 f0 48 8b 76 18 75
Sep 27 23:08:27 server systemd[1]: Started Process Core Dump (PID 338886/UID 0).
```
#### Log Messages
In the log message I'm getting the following error:
```
INFO: nats [nats_mod.c:437]: nats_init_connection(): adding server [nats://192.168.1.1:4222] [1]
ERROR: nats [nats_mod.c:456]: nats_init_connection(): could not create nats options [System Error]
```
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
(version: kamailio 5.6.1 (x86_64/linux) 34e6dd)
```
NATS Server version:
```
nats-server: v2.9.0
```
libnats version:
```
libnats.so.3.4.0
```
* **Operating System**:
```
CentOS Stream 9
5.14.0-163.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Sep 8 13:52:29 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
```
* **Module Configuration**:
```
loadmodule "nats.so"
modparam("nats", "nats_url", "nats://192.168.1.1:4222")
```
There is no issue at the network/firewall level as by using telnet I'm able to connect to the NATS server successfully.
What is weird is that with tcpdump I can't see even attempts to connect to the NATS server.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3253
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3253(a)github.com>
### Description
* kamailio 5.6.1 on AlmaLinux 9 and OpenSSL 3.0.5
* Used tlsa to separate the OS version of OpenSSL (which is 3.0.1). The same issue happens
with the OS version of OpenSSL
* Generating TLS client traffic
* The issue will occur at about 25 conn/sec
* Multiple unpredicatable types of shm corruption
### Troubleshooting
* No issue with tlsa + OpenSSL 1.1.1q; the module can sustain 50 conn/sec up to 500 persistent connections.
#### Reproduction
1. Used kamailio configuration from the outbound module documentation; i.e., configure kamailio as a TLS edge proxy.
To isolate the registrar is another kamailio system
1. Use a SIP load tester to generate REGISTER traffic(Expires: 600) ; at the end of the REGISTER, keep the connection alive and reREGISTER at 300 secs.
1. Generate traffic at > 25 conn/sec (with < 25 conn/sec the test usually succeeds)
#### Debugging Data
BT in comments below
#### Log Messages
#### SIP Traffic
### Possible Solutions
### Additional Information
5.6.1
* **Operating System**:
AlmaLinux 9, with (OS) OpenSSL 3.0.1. I used tlsa + OpenSSL 3.0.5
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3222
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3222(a)github.com>