Hello,
I am considering to release Kamailio v5.7.3 (out of branch 5.7) soon
(likely on Friday 17 or during the beginning of next week). 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 -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio World Conference - www.kamailioworld.com
### Description
When an ID is defined using `!#defexps` it cannot be used in modparam
### Troubleshooting
```
#!define TEST1 "key=s:value"
## this works
modparam("pv", "varset", TEST1)
# in shell: export TEST2='key=s:value'
#!defenvs TEST2
modparam("pv", "varset", TEST2)
# this does not work
#!defexps TEST3 "key=s:value"
modparam("pv", "varset", TEST3)
0(2437437) CRITICAL: <core> [core/cfg.y:3900]: yyerror_at(): parse error in config file kamailio.cfg, line 85, column 26-32: syntax error
```
#### Reproduction
* in config file, define ID with `#!defexps` then use in `modparam()`
#### Debugging Data
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3631
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3631(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
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
kamctl now sources the kamctlrc from only one location if available in this order:
1. same folder as kamctl,
2. {intstall_prefix}/etc/kamailio/,
3. ~/.kamctlrc
4. /etc/kamailio/.
If no kamctlrc is found, it continues just like before. Should it stop?
#### Issue description
`kamctl` uses env variables from all the config files above, and retains the env value of the latest config that declares it.
Let's say we have 3 kamctlrc files right now:
```
# first config file (same folder that kamctl resides)
# {prefix_install}/sbin/kamctlrc
...
SIP_DOMAIN=kamailio.org
DBENGINE is commented
...
```
```
# second config file
# /etc/kamailio/kamctlrc
...
SIP_DOMAIN=kam02.tst.nbg.gilawa.net
DBENGINE=MYSQL
...
```
```
# third config file
# {prefix_install}/etc/kamailio/kamctlrc
...
SIP_DOMAIN is commented
DBENGINE=MYSQL
...
```
Running `{install_prefix}/sbin/kamctl` (before changes in order) it prints :
```
Loading config file /home/xenofon/kamailio-source-install/sbin/kamctlrc
Loading config file /etc/kamailio/kamctlrc
Loading config file /home/xenofon/kamailio-source-install/etc/kamailio//kamctlrc
SIP_DOMAIN env var is kam02.tst.nbg.gilawa.net
DBENGINE env var is MYSQL
```
suggesting that env variables from multiple sources are gathered and overwritten in cases.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3594
-- Commit Summary --
* kamctl: Source only one kamctlrc
-- File Changes --
M utils/kamctl/kamctl (23)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3594.patchhttps://github.com/kamailio/kamailio/pull/3594.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3594
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3594(a)github.com>
Hello,
during the Kamailio Developers Meeting 2023 in Dusseldorf that took
place last week, it was proposed to obsolete modules that seem to be
unmaintained and no activity about them was noticed during the past
years. It is quite some overhead in packaging them and trying to keep
them compiling when they have external dependencies, therefore such step
should spare some resources in the future.
The list (see below) was built based on the options of those present at
the meeting, now we want to discuss it on the larger communities of
developers and users. If you are using any of these modules or you think
any of them worth keeping, reply with the names of the modules that you
want to be kept.
The proposed action is to relocate the obsoleted modules to a new git
repository "kamailio-obsolete" to still keep some visibility to them and
in the eventually of future interest on any of them, it can be
reintroduced in the main repository.
Next is the initial list of modules proposed to be considered obsolete:
- app_java
- app_lua_sr
- app_mono
- app_python
- app_sqlang
- auth_identity
- call_control
- db2_ldap
- db2_ops
- db_cassandra
- db_perldvdb
- dnssec
- domainpolicy
- h350
- mediaproxy
- osp
- peering
- print
- print_lib
- pua_xmpp
- ratelimit
- uid_auth_db
- uid_avp_db
- uid_domain
- uid_gflags
- uid_uri_db
- uri_db
- xmpp
- xprint
Cheers,
Daniel
--
Daniel-Constantin Mierla (@ asipto.com)
twitter.com/miconda -- linkedin.com/in/miconda
Kamailio Consultancy and Development Services
Kamailio Advanced Training -- asipto.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.
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
When having Kamailio listen for TLS on some alternative port other than 5061 - the `myself` condition doesn't match.
<!--
Explain what you did, what you expected to happen, and what actually happened.
-->
### Troubleshooting
#### Reproduction
<!--
If the issue can be reproduced, describe how it can be done.
-->
`kamailio.cfg`
enable_tls=yes
tls_port_no=9061
listen=192.168.2.2:9061 advertise "mydomain.com":9061
```
request_route {
if (uri==myself)
xlog("L_INFO", "myself matched\n");
else
xlog("L_INFO", "myself didn't match\n");
}
```
Send a SIP request to Kamailio over TLS on port 9061 but RURI like `192.168.2.2;transport=tls` and observe the log output.
#### 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).
-->
```
OPTIONS sip:192.168.2.2;transport=tls SIP/2.0
Via:SIP/2.0/TLS 10.10.10.10:8934;branch=z9hG4bKfhsdjh2478sdfh256
From:<sip:10.10.10.10>;tag=834848136-1699739
To:<sip:192.168.2.2>
Call-ID:SSE2150339541111236507
CSeq:100 OPTIONS
Max-Forwards:0
Content-Length:0
```
### 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.6.4 (x86_64/linux) 239d0a
```
* **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`)
-->
```
Debian GNU/Linux 11 (bullseye)
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3638
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3638(a)github.com>
Module: kamailio
Branch: 5.6
Commit: b230a4621c4fa4a19860c6e909bc06da3d4633c5
URL: https://github.com/kamailio/kamailio/commit/b230a4621c4fa4a19860c6e909bc06d…
Author: Kamailio Dev <kamailio.dev(a)kamailio.org>
Committer: Kamailio Dev <kamailio.dev(a)kamailio.org>
Date: 2023-11-13T16:56:16+01:00
modules: readme files regenerated - modules ... [skip ci]
---
Modified: src/modules/db_text/README
Modified: src/modules/ldap/README
Modified: src/modules/snmpstats/README
Modified: src/modules/sst/README
---
Diff: https://github.com/kamailio/kamailio/commit/b230a4621c4fa4a19860c6e909bc06d…
Patch: https://github.com/kamailio/kamailio/commit/b230a4621c4fa4a19860c6e909bc06d…
---
diff --git a/src/modules/db_text/README b/src/modules/db_text/README
index a43bf8087ca..be34a3dc2dc 100644
--- a/src/modules/db_text/README
+++ b/src/modules/db_text/README
@@ -426,7 +426,7 @@ loadmodule "modules/auth_db/auth_db.so"
# use dbtext database for persistent storage
modparam("usrloc", "db_mode", 2)
-modparam("usrloc|auth_db", "db_url", "db_text:///tmp/kamailiodb")
+modparam("usrloc|auth_db", "db_url", "text:///tmp/kamailiodb")
# -- auth params --
#
diff --git a/src/modules/ldap/README b/src/modules/ldap/README
index c7555ca3c60..921f45822f1 100644
--- a/src/modules/ldap/README
+++ b/src/modules/ldap/README
@@ -533,7 +533,7 @@ ldap_result("telephoneNumber/$avp(s:tel_number)");
AVP. It can be either str for string, or int for integer. If avp_type
is specified as int then ldap_result tries to convert the LDAP
attribute values to integer. In this case, the values are only stored
- as AVP if the conversion to integer is succesfull.
+ as AVP if the conversion to integer is successful.
Function Parameters:
diff --git a/src/modules/snmpstats/README b/src/modules/snmpstats/README
index e22b2485130..047bb275189 100644
--- a/src/modules/snmpstats/README
+++ b/src/modules/snmpstats/README
@@ -340,7 +340,7 @@ modparam("snmpstats", "sipEntityType", "proxyServer")
The SNMPStats module monitors the number of bytes waiting to be
consumed by Kamailio. If the number of bytes waiting to be consumed
- exceeds a minor threshold, the SNMPStats module will send out an
+ exceeds a minor threshold, the SNMPStats module will send out a
kamailioMsgQueueDepthMinorEvent trap to signal that an alarm condition
has occurred. The minor threshold is set with the
MsgQueueMinorThreshold parameter.
@@ -357,7 +357,7 @@ modparam("snmpstats", "MsgQueueMinorThreshold", 2000)
The SNMPStats module monitors the number of bytes waiting to be
consumed by Kamailio. If the number of bytes waiting to be consumed
- exceeds a major threshold, the SNMPStats module will send out an
+ exceeds a major threshold, the SNMPStats module will send out a
kamailioMsgQueueDepthMajorEvent trap to signal that an alarm condition
has occurred. The major threshold is set with the
MsgQueueMajorThreshold parameter.
diff --git a/src/modules/sst/README b/src/modules/sst/README
index ed31b933133..3444863563d 100644
--- a/src/modules/sst/README
+++ b/src/modules/sst/README
@@ -90,7 +90,7 @@ Chapter 1. Admin Guide
The sst module provides a way to update the dialog expiry timer based
on the SIP INVITE/200 OK Session-Expires header value. You can use the
- sst module in a Kamailio proxy to allow freeing of local resources of
+ sst module in an Kamailio proxy to allow freeing of local resources of
dead calls.
You can also use the sst module to validate the MIN_SE header value and
Hello,
while couple of developers are at Kamailio project meeting in
Dusseldorf, it was somehow agreed here that it would be easier to
backport fixes from master to branch 5.7 if the code in that stable
branch is going to be formatted using clang like it was done for master.
Should anyone has any remarks against it, let's discuss. If not,
probably it is going to be done in couple of days, then plan to release
5.7.3.
Cheers,
Daniel
--
Daniel-Constantin Mierla (@ asipto.com)
twitter.com/miconda -- linkedin.com/in/miconda
Kamailio Consultancy and Development Services
Use tcp_send_timeout config option also on listening socket to timeout outbound messages sent on passive inbound connections.
#### 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 #3443
#### Description
Based on the description of core parameter "tcp_send_timeout" the timeout should also work for sending on forked incoming tcp connections. But sending on a broken connection causes the kernel to use the default values of `tcp_retries1` and `tcp_retries2` , leading to try to send a SIP message for 15 minutes. This makes absolutely no sense in a real time kamailio application.
Following man 7 tcp TCP_USER_TIMEOUT can be used on recent Linux kernels to utilize tcp_send_timeout:
TCP_USER_TIMEOUT (since Linux 2.6.37)
This option takes an unsigned int as an argument. When the value is greater than 0, it specifies the maximum
amount of time in milliseconds that transmitted data may remain unacknowledged before TCP will forcibly close the
corresponding connection and return ETIMEDOUT to the application. If the option value is specified as 0, TCP will
use the system default.
Increasing user timeouts allows a TCP connection to survive extended periods without end-to-end connectivity. De‐
creasing user timeouts allows applications to "fail fast", if so desired. Otherwise, failure may take up to 20
minutes with the current system defaults in a normal WAN environment.
This option can be set during any state of a TCP connection, but is effective only during the synchronized states
of a connection (ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, and LAST-ACK). Moreover, when used
with the TCP keepalive (SO_KEEPALIVE) option, TCP_USER_TIMEOUT will override keepalive to determine when to close
a connection due to keepalive failure.
The option has no effect on when TCP retransmits a packet, nor when a keepalive probe is sent.
This option, like many others, will be inherited by the socket returned by accept(2), if it was set on the listen‐
ing socket.
Further details on the user timeout feature can be found in RFC 793 and RFC 5482 ("TCP User Timeout Option").
Having a tcp connection break by firewall or network breakdown the retransmits to this destination are now aborted after `tcp_send_timeout` seconds with a
NOTICE: <core> [core/tcp_read.c:267]: tcp_read_data(): error reading: Connection timed out (110) ([1.2.3.4]:51151 ->
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3528
-- Commit Summary --
* core: Add TCP_USER_TIMEOUT socket option on listening socket.
-- File Changes --
M src/core/tcp_main.c (13)
M src/core/tcp_options.h (7)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3528.patchhttps://github.com/kamailio/kamailio/pull/3528.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3528
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3528(a)github.com>