Module: kamailio
Branch: master
Commit: b7e6b0cc44b46a615dc23b6fae7f67e63296c913
URL: https://github.com/kamailio/kamailio/commit/b7e6b0cc44b46a615dc23b6fae7f67e…
Author: Kamailio Dev <kamailio.dev(a)kamailio.org>
Committer: Kamailio Dev <kamailio.dev(a)kamailio.org>
Date: 2022-09-15T10:31:28+02:00
modules: readme files regenerated - dmq ... [skip ci]
---
Modified: src/modules/dmq/README
---
Diff: https://github.com/kamailio/kamailio/commit/b7e6b0cc44b46a615dc23b6fae7f67e…
Patch: https://github.com/kamailio/kamailio/commit/b7e6b0cc44b46a615dc23b6fae7f67e…
---
diff --git a/src/modules/dmq/README b/src/modules/dmq/README
index 1e7d6ff375..10f0f7f80a 100644
--- a/src/modules/dmq/README
+++ b/src/modules/dmq/README
@@ -161,6 +161,11 @@ Chapter 1. Admin Guide
the from local list of active nodes, no longer being considered to be
part of the KDMQ cluster.
+ IMPORTANT: DMQ must be used only between Kamailio instances having same
+ major version. Internal structures can be incompatible between
+ different major versions and can lead to crashes or unexpected
+ behaviour.
+
Example 1.1. KDMQ Request Example
This request is generated for DMQ peers availability notifications.
Module: kamailio
Branch: master
Commit: 1fd789246cc7c58237b9a903a198521cd5b3494d
URL: https://github.com/kamailio/kamailio/commit/1fd789246cc7c58237b9a903a198521…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2022-09-15T10:26:38+02:00
dmq: docs - note about using same Kamailio version
---
Modified: src/modules/dmq/doc/dmq_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/1fd789246cc7c58237b9a903a198521…
Patch: https://github.com/kamailio/kamailio/commit/1fd789246cc7c58237b9a903a198521…
---
diff --git a/src/modules/dmq/doc/dmq_admin.xml b/src/modules/dmq/doc/dmq_admin.xml
index 661fd4b8471..7a2c933c62f 100644
--- a/src/modules/dmq/doc/dmq_admin.xml
+++ b/src/modules/dmq/doc/dmq_admin.xml
@@ -47,6 +47,11 @@
Nodes that are not responding to KDMQ reguests are removed the from local
list of active nodes, no longer being considered to be part of the KDMQ cluster.
</para>
+ <para>
+ IMPORTANT: DMQ must be used only between Kamailio instances having same
+ major version. Internal structures can be incompatible between different
+ major versions and can lead to crashes or unexpected behaviour.
+ </para>
<example>
<title>KDMQ Request Example</title>
<para>
Hello,
kamailio.org system needs a reboot and it will become unavailable for a
short time frame about 08:00UTC (20 min from now). Website, mailing
list, wiki, and a few other web services will be affected.
Cheers,
Daniel
--
Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
Module: kamailio
Branch: 5.6
Commit: ad753f4657bc72a79fd61b56276de5ae87b3c574
URL: https://github.com/kamailio/kamailio/commit/ad753f4657bc72a79fd61b56276de5a…
Author: Kamailio Dev <kamailio.dev(a)kamailio.org>
Committer: Kamailio Dev <kamailio.dev(a)kamailio.org>
Date: 2022-09-14T20:16:27+02:00
modules: readme files regenerated - modules ... [skip ci]
---
Modified: src/modules/acc/README
Modified: src/modules/posops/README
Modified: src/modules/ratelimit/README
Modified: src/modules/usrloc/README
---
Diff: https://github.com/kamailio/kamailio/commit/ad753f4657bc72a79fd61b56276de5a…
Patch: https://github.com/kamailio/kamailio/commit/ad753f4657bc72a79fd61b56276de5a…
---
diff --git a/src/modules/acc/README b/src/modules/acc/README
index 7c31188ac77..1ea4e6f98d0 100644
--- a/src/modules/acc/README
+++ b/src/modules/acc/README
@@ -529,6 +529,11 @@ Note
information given will not be stored in the CDR as they cannot be
accessed by the end of the call when the CDR is logged.
+ The dialog module needs to be engaged on the dialogs that should be
+ accounted, that they will be tracked by the server. This is usally done
+ by calling the function dlg_manage() or setting the dlg_flag. Refer to
+ the documentation of the dialog module for more information.
+
Sometimes, dialogs expire because the UA has a problem and a final
message is never transmitted. You can toggle on/off the generation of
CDR-based logging in such cases with only the dlg_vars showing by using
@@ -1129,7 +1134,7 @@ modparam("acc", "cdr_start_on_confirmed", 1)
6.34. cdr_facility (integer)
Log facility to which CDR messages are issued to syslog. This allows to
- easily seperate CDR-specific logging from the other log messages.
+ easily separate CDR-specific logging from the other log messages.
Default value is LOG_DAEMON.
diff --git a/src/modules/posops/README b/src/modules/posops/README
index 035f807acb8..e7583adc588 100644
--- a/src/modules/posops/README
+++ b/src/modules/posops/README
@@ -214,6 +214,9 @@ pos_insert("100", "10");
Set the char at position index to first character in val.
+ Important: it changes the character directly in the SIP message buffer,
+ the update being immediately visible.
+
The idx can be an integer value or a variable holding an integer. If
the value is negative, the position is counted from the end of the
buffer.
diff --git a/src/modules/ratelimit/README b/src/modules/ratelimit/README
index ecd6fce79a1..4862e717f73 100644
--- a/src/modules/ratelimit/README
+++ b/src/modules/ratelimit/README
@@ -514,5 +514,5 @@ modparam("ratelimit", "pipe", "4:NETWORK:10000")
The pipes and queues are stored as static vectors, so no more than
MAX_PIPES/MAX_QUEUES can be added without recompilation.
- * MAX_PIPES - 16
- * MAX_QUEUES - 10
+ * MAX_PIPES - 32
+ * MAX_QUEUES - 32
diff --git a/src/modules/usrloc/README b/src/modules/usrloc/README
index d180968e95d..a15bc8c62de 100644
--- a/src/modules/usrloc/README
+++ b/src/modules/usrloc/README
@@ -1113,10 +1113,15 @@ modparam("usrloc", "version_table", 0)
Note: the internal keepalive is for the moment implemented only for
contact records stored in memory.
- Note: it is recommeder to set 'timer_procs' parameter in order to have
+ Note: it is recommended to set 'timer_procs' parameter in order to have
dedicated timer processes for usrloc module and off-load the keepalive
sending process from the core timers.
+ Note: Keepalives will be sent to the IP and port using the transport
+ defined in the âreceivedâ column. If not set, then keepalives will
+ be sent to the AOR using UDP as a default transport. If available, the
+ TCP connection will be re-used for WS, TCP and TLS.
+
Default value is “0 (keepalive disabled)”.
Example 1.50. ka_mode parameter usage
- URL: https://github.com/kamailio/kamailio/commit/98342927e3493a8af6b859ab1cd1877…
Author: Henning Westerholt <hw(a)gilawa.com>
Date: 2022-09-14T18:54:05+02:00
ratelimit: fix docs to actual values in the code for queue and pipe limits
(cherry picked from commit cae9d78a6c8d33f6c4ec780901a55c27260c2000)
- URL: https://github.com/kamailio/kamailio/commit/e8d797cb26e2b16dff3afd7ecb54beb…
Author: Henning Westerholt <hw(a)gilawa.com>
Date: 2022-09-14T18:55:47+02:00
acc: add some explanation that dialogs need to be tracked for CDR accounting
(cherry picked from commit 3ec40d792df5bcee838eee3e5e0e89a2ebdcc453)
- URL: https://github.com/kamailio/kamailio/commit/8aceadf62fde1b1faf414e5d47c4210…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2022-09-14T18:58:47+02:00
core/cfg: cast pointer to long to silent compiler warning
- GH #3208
(cherry picked from commit 26785f866eeadc6944af83ae1a57e8ff100f60f5)
- URL: https://github.com/kamailio/kamailio/commit/a5cbf0bade8ab0b04d1f8e9288b239d…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2022-09-14T19:00:15+02:00
msrp: proper cmap insert when last item has greater citemid
- condition for last item was processed first, resulting in improper
order of items, GH #3215
(cherry picked from commit 1e4bf1dd7fbfc9d51f0e56e98472a42de781cdbd)
- URL: https://github.com/kamailio/kamailio/commit/5bcb685d19b55b3b2046345e195e5de…
Author: Shane Mitchell <sm(a)opencluster.com.au>
Date: 2022-09-14T19:02:39+02:00
dialog: dont reset dlg_db_mode in POSTCHILDINIT for DB_MODE_SHUTDOWN
(cherry picked from commit 8fb25f7cb6fa73dc37fe11df9b921c32009bd107)
- URL: https://github.com/kamailio/kamailio/commit/506e20e6aae21d862f6d643a2c87c74…
Author: Andy Brezinsky <andy.brezinsky(a)mitel.com>
Date: 2022-09-14T19:03:09+02:00
usrloc: re-use TCP connections for keepalive
- Fixes GH #3178. Sets TCP connection id for keepalive based on the value in the database
If unset, tcpconn_id will remain 0 and keepalives will work the same as they do today
- Update documentation to clarify when it will use received vs AOR for keepalive
(cherry picked from commit 06f933ad17aac3a3f0f81cf0e0ab04f38cf60993)
- URL: https://github.com/kamailio/kamailio/commit/9d473f92d3ff534535e6170b8895569…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2022-09-14T19:04:06+02:00
usrloc: increased the size for keys2 array in ul_ka_db_records()
- consequence of 06f933ad17aac3a3f0f81cf0e0ab04f38cf60993
(cherry picked from commit b5ae633242e5e34b1f6dc8f025e68872b47b461c)
- URL: https://github.com/kamailio/kamailio/commit/5ffbbaa6c956a74665859a709bd6c79…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2022-09-14T19:05:12+02:00
registrar: print number of contacts and max limit in logs and formatting updates
(cherry picked from commit a88f805236ef0549ce8a8079142b202d569bf3f1)
- URL: https://github.com/kamailio/kamailio/commit/94101dfc2df05f471fdb7ea1e6190f0…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2022-09-14T19:05:26+02:00
registrar: use macro to init str value and more debug messages
(cherry picked from commit 5f229a799b251e82431b4642e9bd8aa76c405d13)
- URL: https://github.com/kamailio/kamailio/commit/addd16c13a0a6ab5cb460850141073d…
Author: Henning Westerholt <hw(a)gilawa.com>
Date: 2022-09-14T19:05:58+02:00
utils: small whitespace fix for Makefile
(cherry picked from commit 3cb1f8eaec344433fd94011ec28da464c5626c2a)
- URL: https://github.com/kamailio/kamailio/commit/4bdd89b4709553e2dde2fb2356ba47d…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2022-09-14T19:06:19+02:00
pv: detect known headers provided with variable for $hfl(...) and $hflc(...)
- GH #3194
(cherry picked from commit fb13cf364870895dec94fa1ddf6a1afd3c099715)
- URL: https://github.com/kamailio/kamailio/commit/33e1638b92c073f58b27232e7985a5f…
Author: Henning Westerholt <hw(a)gilawa.com>
Date: 2022-09-14T19:06:40+02:00
etc/kamailio.cfg: corrected a typo ("endabled"), GH #3223
(cherry picked from commit b46afeca6c515f5baf1812ca821321117df6478b)
- URL: https://github.com/kamailio/kamailio/commit/e44c6716b5d640c489561062ea02545…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2022-09-14T19:06:54+02:00
pv: parse header name given with variable to $hdr() and $hdrc()
(cherry picked from commit a10da3a8802fd02bab9e8c655aa845d121370fd4)
- URL: https://github.com/kamailio/kamailio/commit/902807e5de185cb6d6463ff617bf4c2…
Author: korayvt <koray.vatansever(a)gmail.com>
Date: 2022-09-14T19:07:29+02:00
core: added parser mode check
(cherry picked from commit 4598f0a0df90ad81e192be55a89fbd5cca52a40e)
- URL: https://github.com/kamailio/kamailio/commit/272060e1079d9edbc819d396dafb203…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2022-09-14T19:07:48+02:00
usrloc: adde random and pid to call-id for keepalive requests
- GH #3225
(cherry picked from commit 721daf5ca55a8fb366cff2821e249bfff64d8f87)
- URL: https://github.com/kamailio/kamailio/commit/60a62d6f7df233d61d4ccecc39504e7…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2022-09-14T19:09:04+02:00
acc: duplicate dlg var values used in extra2strar_dlg_only()
- avoid buffer index overlapping and be coherent with extra2strar()
(cherry picked from commit 54905e6b02e36e72bb74a92c77b273cf57822f18)
- URL: https://github.com/kamailio/kamailio/commit/948f066718e102a7d592ef647754ba0…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2022-09-14T19:09:22+02:00
dialog: updated to get the int value for cseq update operations
(cherry picked from commit a070f5c132a68111fade7212db6a2bc738e03193)
- URL: https://github.com/kamailio/kamailio/commit/363a6267c4c50b6e321e59961dedc4a…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2022-09-14T19:09:30+02:00
dialog: safer version for getting dlg variable value
- clone to ensure that reference is not becoming invalid over the time
(cherry picked from commit aded00bbfe75771cef8d0ee9ae8401772f7644a9)
- URL: https://github.com/kamailio/kamailio/commit/38cbf04afa2c02fa2f15bb1528d6b7f…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2022-09-14T19:09:37+02:00
dialog: fetch directly the int value for dlg variable used in dlg_cseq_update()
(cherry picked from commit 8cb948cc07e2d577cdd14efdfe38f3e9bbf11d79)
- URL: https://github.com/kamailio/kamailio/commit/e1deb704bc1df02e4dbdc85d7728acc…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2022-09-14T19:09:48+02:00
pua_dialoginfo: clone dlg var values
(cherry picked from commit 1553a6c0efb2cec0b5962bba13bc0095211ee75d)
- URL: https://github.com/kamailio/kamailio/commit/89fa86703adfdf6e30dc43c191d7327…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2022-09-14T19:09:59+02:00
siptrace: use socket name for hep mirroring
- GH #3174
(cherry picked from commit 30c628732092108e8d73856a5c9ec60b16d5ef99)
- URL: https://github.com/kamailio/kamailio/commit/2427f1951a1c63a8c047710d49ef067…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2022-09-14T19:10:20+02:00
dialog: wrapper function to set a dlg var with unsigned integer parameter
- use it to set cseq diff value
(cherry picked from commit b7dc2ac6d66839b38ba8d6f36e9f28bc0a2d1425)
- URL: https://github.com/kamailio/kamailio/commit/644938a6be5f841634f2e1443e5f123…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2022-09-14T19:10:29+02:00
dialog: remove strlen() checks when setting a variable
- assumed key->s and val->s are 0-terminated, which may not be the case
(cherry picked from commit 2cebd46f8f2dc3f87c9cfd2054976e347aa75ace)
- URL: https://github.com/kamailio/kamailio/commit/d8c8922ff4dd47a47773e5391e4ce49…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2022-09-14T19:10:44+02:00
core: kemi - duplicate module name when registering the api exports
(cherry picked from commit 43f764cae870b15a96b8ca88f1eb195d4ceb8455)
- URL: https://github.com/kamailio/kamailio/commit/b0636ff4aaa3f5c21389ca6b99a90be…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2022-09-14T19:11:20+02:00
core: use unsigned printing for version defines
(cherry picked from commit 3e94dd4bd3901d503c7be655d761f1d70453a451)
- URL: https://github.com/kamailio/kamailio/commit/5edc2cd0f0308099be410f7f34c0c25…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2022-09-14T19:11:46+02:00
posops: docs - updated pos_set_char() section
- note that the change is done directly inside the sip message buffer
(cherry picked from commit c3771966fa8470db91d04323a1e9c837a16a22cf)
Fix typos in kemi exports
<!-- 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/3237
-- Commit Summary --
* dialplan: Fix typos
-- File Changes --
M src/modules/dialplan/dialplan.c (4)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3237.patchhttps://github.com/kamailio/kamailio/pull/3237.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3237
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3237(a)github.com>
Module: kamailio
Branch: master
Commit: a84e96f2e025a6befd4721ad3f67a104fd594190
URL: https://github.com/kamailio/kamailio/commit/a84e96f2e025a6befd4721ad3f67a10…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2022-09-14T08:17:30+02:00
core: added preprocessor directive #!ifexp stm
- conditional evaluation of the statement as an expression with strings
and numbers
- example:
#!ifexp KAMAILIO_VERSION >= 5006000
...
#!else
...
#!endif
- defined IDs can be used inside the expression
- if not defined, value 0 is used
- if defined with value, the value is used
- if defined with no value, value 1 is used
- if expression is evaluated to !=0 or non-empty string, then it is considered true
---
Modified: src/core/cfg.lex
Modified: src/core/ppcfg.c
Modified: src/core/ppcfg.h
---
Diff: https://github.com/kamailio/kamailio/commit/a84e96f2e025a6befd4721ad3f67a10…
Patch: https://github.com/kamailio/kamailio/commit/a84e96f2e025a6befd4721ad3f67a10…
Hello,
I would like to suggest you an implementation of the rpc command dlg.profile_get_size (on a valued profile) that would return a list of values and the number of current dialogs for any of them .
This could be usefull if you want to get stats per customer_id/trunks/ips or whatever and don't want to get the whole table but only the size.
Regards,
David
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/2976
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/2976(a)github.com>
When **trace_mode** is set to 1, then **send_sock_name** is not used (it uses the unexpected socket listen socket).
However, when **trace_mode** is set to 4, then **send_sock_name** works correctly.
Also, in both cases, **send_sock_addr** works correctly.
```
listen=udp:SIP_IPADDRESS:SIP_PORT
listen=udp:SIPCAPTURE_IPADDRESS:SIP_PORT name "siptrace_socket"
modparam("siptrace", "duplicate_uri", "sip:10.218.31.205:9060")
modparam("siptrace", "hep_mode_on", 1)
modparam("siptrace", "hep_version", 3)
modparam("siptrace", "hep_capture_id", 110)
modparam("siptrace", "send_sock_name", "siptrace_socket")
modparam("siptrace", "trace_on", 1)
modparam("siptrace", "trace_mode", 1)
modparam("siptrace", "trace_to_database", 0)
```
This is tested on Kamailio 5.5.1 and 5.5.3.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3174
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3174(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)
- [ ] 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:
- [ ] PR should be backported to stable branches
- [ ] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
`PyErr_SetString` is a void function. It doesn't return NULL.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3231
-- Commit Summary --
* Python: must return NULL on error, not Py_None
* modules/python3: return NULL on error.
-- File Changes --
M src/modules/app_python3/python_msgobj.c (102)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3231.patchhttps://github.com/kamailio/kamailio/pull/3231.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3231
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3231(a)github.com>
We have installed Kamailio 5.6.0 from http://deb.kamailio.org/kamailio56, but it is intermittently crashing with a segfault like this:
May 29 04:46:53 ss2 kernel: [26920.901572] kamailio[1416]: segfault at 43a ip 00007f78d1396ab5 sp 00007ffd2487ca10 error 4 in app_perl.so[7f78d1392000+21000]
May 29 04:46:53 ss2 kernel: [26920.901575] Code: 8b 05 8f 34 02 00 48 8b 00 48 89 c7 e8 7b ff ff ff e8 3f e5 ff ff 48 8b 15 78 34 02 00 48 89 02 48 8b 05 6e 34 02 00 48 8b 00 <0f> b6 90 3a 04 00 00 48 8b 05 5d 34 02 00 48 8b 00 83 ca 02 88 90
May 29 04:46:56 ss2 kernel: [26923.737834] kamailio[1409]: segfault at 43a ip 00007f78d1396ab5 sp 00007ffd2487ca10 error 4 in app_perl.so[7f78d1392000+21000]
May 29 04:46:56 ss2 kernel: [26923.737838] Code: 8b 05 8f 34 02 00 48 8b 00 48 89 c7 e8 7b ff ff ff e8 3f e5 ff ff 48 8b 15 78 34 02 00 48 89 02 48 8b 05 6e 34 02 00 48 8b 00 <0f> b6 90 3a 04 00 00 48 8b 05 5d 34 02 00 48 8b 00 83 ca 02 88 90
Perl is version 5.30.0, and the system is running Ubuntu 20.04. A Perl library is loaded using:
modparam( "app_perl", "filename", "/path/to/our/Kamailio.pm" )
We have not found a core file anywhere on the server. Please let us know what other information you need, thanks.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3134
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3134(a)github.com>
The schedule for Kamailio World Conference Online 2022 has been
published on the event website:
- https://www.kamailioworld.com
The event spans over two days, September 7-8, 2022, with presentations
and open discussion sessions during 12:50-17:00UTC. With the main target
to share the knowledge and connect the community, the conference has
presentations covering use of Kamailio for 5G services, NAT traversal
and integration with RTPEngine, TLS with WolfSSL, end to end testing
testing, controlling SIP message content from KEMI and resources
management for scalability. It is a good balance between established and
new speakers at this edition of Kamailio World Conference.
There is no registration required to join the event, the sessions will
be presented in a live video conferencing room streamed to YouTube
KamailioWorld Channel. A text chat room will be made available for
posting questions and background discussions.
Book the dates in your agenda and prepare for another amazing Kamailio
World Conference! Keep the eye on the event website for updates!
Cheers,
Daniel
--
Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
Module: kamailio
Branch: master
Commit: d0e1827b2f8890da4fd30cc23f8bd090227d87f2
URL: https://github.com/kamailio/kamailio/commit/d0e1827b2f8890da4fd30cc23f8bd09…
Author: Kamailio Dev <kamailio.dev(a)kamailio.org>
Committer: Kamailio Dev <kamailio.dev(a)kamailio.org>
Date: 2022-09-08T10:31:31+02:00
modules: readme files regenerated - posops ... [skip ci]
---
Modified: src/modules/posops/README
---
Diff: https://github.com/kamailio/kamailio/commit/d0e1827b2f8890da4fd30cc23f8bd09…
Patch: https://github.com/kamailio/kamailio/commit/d0e1827b2f8890da4fd30cc23f8bd09…
---
diff --git a/src/modules/posops/README b/src/modules/posops/README
index 035f807acb..e7583adc58 100644
--- a/src/modules/posops/README
+++ b/src/modules/posops/README
@@ -214,6 +214,9 @@ pos_insert("100", "10");
Set the char at position index to first character in val.
+ Important: it changes the character directly in the SIP message buffer,
+ the update being immediately visible.
+
The idx can be an integer value or a variable holding an integer. If
the value is negative, the position is counted from the end of the
buffer.
Module: kamailio
Branch: master
Commit: c3771966fa8470db91d04323a1e9c837a16a22cf
URL: https://github.com/kamailio/kamailio/commit/c3771966fa8470db91d04323a1e9c83…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2022-09-08T10:23:52+02:00
posops: docs - updated pos_set_char() section
- note that the change is done directly inside the sip message buffer
---
Modified: src/modules/posops/doc/posops_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/c3771966fa8470db91d04323a1e9c83…
Patch: https://github.com/kamailio/kamailio/commit/c3771966fa8470db91d04323a1e9c83…
---
diff --git a/src/modules/posops/doc/posops_admin.xml b/src/modules/posops/doc/posops_admin.xml
index 1a38b85c67f..e47d658f995 100644
--- a/src/modules/posops/doc/posops_admin.xml
+++ b/src/modules/posops/doc/posops_admin.xml
@@ -168,6 +168,10 @@ pos_insert("100", "10");
Set the char at position index to first character in val.
</para>
<para>
+ Important: it changes the character directly in the SIP message
+ buffer, the update being immediately visible.
+ </para>
+ <para>
The idx can be an integer value or a variable holding an integer. If
the value is negative, the position is counted from the end of the buffer.
</para>
Module: kamailio
Branch: master
Commit: 93e77d441112ce41042cfd904cc3e7fd8ae78b4a
URL: https://github.com/kamailio/kamailio/commit/93e77d441112ce41042cfd904cc3e7f…
Author: Kamailio Dev <kamailio.dev(a)kamailio.org>
Committer: Kamailio Dev <kamailio.dev(a)kamailio.org>
Date: 2022-09-07T23:46:23+02:00
modules: readme files regenerated - rtpengine ... [skip ci]
---
Modified: src/modules/rtpengine/README
---
Diff: https://github.com/kamailio/kamailio/commit/93e77d441112ce41042cfd904cc3e7f…
Patch: https://github.com/kamailio/kamailio/commit/93e77d441112ce41042cfd904cc3e7f…
---
diff --git a/src/modules/rtpengine/README b/src/modules/rtpengine/README
index 4944f8abaa..fd1e71dc26 100644
--- a/src/modules/rtpengine/README
+++ b/src/modules/rtpengine/README
@@ -2160,6 +2160,10 @@ rtpengine_offer();
+ SIP-source-address - the opposite of trust-address. Restores
the old default behaviour of ignoring endpoint addresses in
the SDP body.
+ + received-from=IP - Configure the SIP-source-address IP
+ explicitly, which will be useful when two kamailio is cascaded
+ where first kamailio is handling NAT and second kamailio
+ RTPEngine.
+ replace-origin - flags that IP from the origin description
(o=) should be also changed.
+ replace-session-connection - flags to change the session-level
Add receive-from option to flags
receive-from=1.2.3.4
required for managing rtpengine by a kamailio node behind a dispatcher
kamailio node
<!-- Kamailio Pull Request Template -->
UE behind NAT --------------->Dispatcher Kamailio--------> Location & Media managementKamailio ---------------> C5 SoftSwitch
| |
| V
| RTPENGINE
|
|---------------------------->Location & Media management Kamailio ---------------> C5 SoftSwitch
|
V
RTPENGINE
In this scenario when the Kamailio behind the Dispatcher will be getting the $Ri as dispatcher IP and by default that will be passed to RTP Engine for NAT negotiation which will fail.
In this pull merge requst, RTP engine module a new flag is added receive-from=IP which is supposed to be the received IP from the First node through P-Accessnetwork-Info header or the contact recived tag etc..
<!--
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/3230
-- Commit Summary --
* Add receive-from option
-- File Changes --
M src/modules/rtpengine/rtpengine.c (47)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3230.patchhttps://github.com/kamailio/kamailio/pull/3230.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3230
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3230(a)github.com>
### Description
<!--
Explain what you did, what you expected to happen, and what actually happened.
-->
When handling a `PUBLISH` we call [handle_publish()](https://kamailio.org/docs/modules/5.5.x/modules/presence.… and `NOTIFY`s are sent to all of the corresponding `active_watchers` (as expected). However, when `NOTIFY`s timeout (`408`), we're seeing that the corresponding entries in the `active_watchers` table are _not_ being deleted as expected. Furthermore, we've noticed that `NOTIFY`s are being sent to `active_watchers` which are expired (i.e. `expires < UNIX_TIMESTAMP()`) and when we run `kamcmd presence.cleanup`, no expired entries are removed from the `active_watchers` table.
We suspect that all of these things might be related--the common theme being that records aren't deleted when expected.
### Troubleshooting
#### Reproduction
<!--
If the issue can be reproduced, describe how it can be done.
-->
In our setup, we're using Kamailio as a "presence server" (via the [presence](https://kamailio.org/docs/modules/5.5.x/modules/presence.html), [presence_dialoginfo](https://kamailio.org/docs/modules/5.5.x/modules/presen…, and [presence_xml](https://kamailio.org/docs/modules/5.5.x/modules/presence_xml.… modules). We're using [`subs_db_mode`](https://kamailio.org/docs/modules/5.5.x/modules/presence.html#presence.p.subs_db_mode) `3` (DB-only scheme) and we have multiple Kamailio instances connected to a shared database (MySQL `8.0.27`).
Everything seems to be working as expected. However, as we accumulated stale entries in the `active_watchers` table we're finding that we're wasting more and more time on sending `NOTIFY`s to black holes. We're generating a _lot_ of traffic and waiting for the timeouts to hit is causing memory issues and backups.
Here are the relevant portions of our `kamailio.cfg` file:
```
# ----- presence params -----
modparam("presence", "db_table_lock_type", 0) # Disable locking; MySQL has issues with this is enabled.
modparam("presence", "db_update_period", -1) # Disable synchronization.
modparam("presence", "db_url", PRESENCE_DB_URL)
modparam("presence", "expires_offset", 60) # Force the client to send an UPDATE before the old PUBLISH expires.
modparam("presence", "max_expires", 1800)
modparam("presence", "min_expires", 1700)
modparam("presence", "publ_cache", 0) # Disable the PUBLISH cache since the database is shared.
modparam("presence", "server_address", "sip:$CLUSTER_DOMAIN_NAME:5060") # This becomes the value of the Contact header.
modparam("presence", "sip_uri_match", 1) # Use case insensitive URI matching.
modparam("presence", "subs_db_mode", 3) # Database-only scheme; everything is stored in the database.
modparam("presence", "notifier_processes", 0) # Caution! Under load a race condition can cause CSeq's to be reused.
modparam("presence", "timeout_rm_subs", 1)
# ----- presence_dialoginfo params -----
modparam("presence_dialoginfo", "force_single_dialog", 1) # Maybe not all phones support multiple "dialog" elements?
modparam("presence_dialoginfo", "force_dummy_dialog", 1) # Maybe not all phones support a null body?
# ----- presence_xml params -----
modparam("presence_xml", "db_url", PRESENCE_DB_URL)
modparam("presence_xml", "force_active", 1) # Skip permission/XCAP checks.
modparam("presence_xml", "force_dummy_presence", 1) # Default to a simple "open" status when presentity info is unavailable.
# ...
route[PRESENCE] {
if (!is_method("PUBLISH|SUBSCRIBE")) {
return;
}
if (!t_newtran()) {
sl_reply_error();
exit;
}
if (is_method("PUBLISH")) {
handle_publish();
t_release();
} else if (is_method("SUBSCRIBE")) {
handle_subscribe();
t_release();
}
exit;
}
```
#### 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).
-->
Here's a somewhat sanitized example (the message seems OK to us; however, the `Subscription-State: terminated; reason=timeout` does make us wonder--do we as the sender _know_ that the client is terminated/timed-out?):
```
2022/04/05 21:09:55.209846 10.21.3.12:5060 -> 10.31.0.226:6060
NOTIFY sip:SomeUser@192.168.86.24:54639;alias=123.21.125.232~54639~1 SIP/2.0
Via: SIP/2.0/UDP presence-w.staging.internal:5060;branch=z9hG4bK43ea.648a1952000000000000000000000000.0
To: <sip:SomeOtherUser@9bfadf66-a77b-6a69-25f3-02d96d4aa946>;tag=2607596073
From: <sip:SomeUser@9bfadf66-a77b-6a69-25f3-02d96d4aa946>;tag=69309ea83adcd977af8788878e9f31b3-42e32342
CSeq: 66 NOTIFY
Call-ID: 0_2607659559(a)192.168.86.24
Route: <sip:10.31.0.226:6060;r2=on;lr;ftag=2607596073>, <sip:55.8.122.110;r2=on;lr;ftag=2607596073>
Content-Length: 710
Max-Forwards: 70
Event: dialog
Contact: <sip:presence-w.staging.internal:5060>
Subscription-State: terminated;reason=timeout
Content-Type: application/dialog-info+xml
<?xml version="1.0"?>
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="66" state="full" entity="sip:SomeUser@9bfadf66-a77b-6a69-25f3-02d96d4aa946">
<dialog id="0_1364146118(a)192.168.1.244" call-id="0_1364146118(a)192.168.1.244" direction="initiator">
<state>confirmed</state>
<remote>
<identity>sip:4355558565@9bfadf66-a77b-6a69-25f3-02d96d4aa945:5060</identity>
<target uri="sip:4355558565@9bfadf66-a77b-6a69-25f3-02d96d4aa946:5060"/>
</remote>
<local>
<identity>sip:SomeUser@9bfadf66-a77b-6a69-25f3-02d96d4aa946:5060</identity>
<target uri="sip:SomeUser@123.130.50.202:58872"/>
</local>
</dialog>
</dialog-info>
```
### Possible Solutions
<!--
If you found a solution or workaround for the issue, describe it. Ideally, provide a pull request with a fix.
-->
We didn't see any functions in the `presence` module that we could call directly to clean things up. One thought we had was to manually run some database commands from `event_route[presence:notify-reply]` (or in a `reply_route`). We've noticed that once the problematic entries are manually removed from the database that we no longer attempt to send `NOTIFY`s to the defunct destinations.
### 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`)
-->
```
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
$ uname -a
Linux ip-10-21-3-12 5.10.0-13-cloud-amd64 #1 SMP Debian 5.10.106-1 (2022-03-17) x86_64 GNU/Linux
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3074
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3074(a)github.com>
### Description
While a INVITE is been processed the CANCEL of that transaction is been processed in other process almost at the same time
### Troubleshooting
#### Reproduction
Quite difficult to reproduce I would say
#### Debugging Data
```
Reading symbols from /usr/sbin/kamailio...
Reading symbols from /usr/lib/debug/.build-id/e3/9bd8ad0900c980149b00579cce26035c9cb118.debug...
warning: Can't open file /dev/zero (deleted) during file-backed mapping note processing
[New LWP 4136750]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/kamailio -P /run/kamailio/kamailio.proxy.pid -f /etc/kamailio/proxy/k'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 atomic_dec_and_test_int (var=0x20) at ../../core/parser/../mem/../atomic/atomic_x86.h:222
222 ../../core/parser/../mem/../atomic/atomic_x86.h: No such file or directory.
(gdb) backtrace
#0 atomic_dec_and_test_int (var=0x20) at ../../core/parser/../mem/../atomic/atomic_x86.h:222
0000001 t_unref (p_msg=<optimized out>) at t_lookup.c:1514
#2 0x000055eee962d69b in exec_post_script_cb (msg=msg@entry=0x7f7e265822c8, type=type@entry=REQUEST_CB_TYPE)
at core/script_cb.c:182
0000003 0x000055eee95dfcbe in receive_msg (
buf=buf@entry=0x55eee9a00740 <buf> "INVITE sip:...@fake.dom:5060;transport=udp SIP/2.0\r\nRecord-
Route: <sip:X.X.X.X;r2=on;lr=on;ftag=1E7F0816-6299BCF10003883E-7FFFF700;ngcplb=yes;socket=udp:Y.Y.Y.Y:5060>\r
\nRe"..., len=<optimized out>, rcv_info=rcv_info@entry=0x7ffc96d12af0) at core/receive.c:520
#4 0x000055eee96d4c40 in udp_rcv_loop () at core/udp_server.c:543
#5 0x000055eee94db634 in main_loop () at main.c:1730
#6 0x000055eee94d2d2c in main (argc=<optimized out>, argv=<optimized out>) at main.c:3053
```
#### Log Messages
Notice that both messages came in the same second ( IPs and numbers have been changed )
```
Jun 3 09:49:05 sipwise2-prx03a proxy[4136750]: NOTICE: DEFAULT_ROUTE <script>: New request on proxy - M=INVITE R=«sip:+49......@X.X.X.X
:5060;transport=udp» F=«sip:+49...@fake.dom» T=«sip:+49...@Y.Y.Y.Z» IP=«Y.Y.Y.Z»:«5060» («Y.Y.Y.Y»:«5060»)
ID=«31668-TN-030322e6-0904f8ba1(a)fake.xn--dom_b2b-1-era UA='Cirpack/v4.88 (gw_sip)' DESTIP=«Y.Y.Y.G»:«5062»
```
```
Jun 3 09:49:05 sipwise2-prx03a proxy[4136755]: NOTICE: DEFAULT_ROUTE <script>: New request on proxy - M=CANCEL R=«sip:+49...@X.X.X.X
:5060;transport=udp» F=«sip:+49...@fake.dom» T=«sip:+49...@Y.Y.Y.Z» IP=«Y.Y.Y.Y»:«5060» («Y.Y.Y.Y»:«5060
») ID=«31668-TN-030322e6-0904f8ba1(a)fake.xn--dom_b2b-1-era UA='<null>' DESTIP=«Z.Z.Z.Z»:«5062»
Jun 3 09:49:05 sipwise2-prx03a proxy[4136755]: NOTICE: DEFAULT_ROUTE <script>: Sending reply S=100 Trying M=CANCEL fs='«Z.Z.Z.Z»:«5062»' du
='«Y.Y.Y.Y»:«5060»' - R=«sip:+49...@X.X.X.X:5060;transport=udp» ID=«31668-TN-030322e6-0904f8ba1(a)fake.xn--dom_b2b-1-era UA='<n
ull>'
```
### Additional Information
This is the Sipwise flavor 5.5.1-1+0~mr9.5.3.2
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3156
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3156(a)github.com>
Module: kamailio
Branch: master
Commit: f5c98a49c98aedcf6e1afec3c42dd862d0eeb9a3
URL: https://github.com/kamailio/kamailio/commit/f5c98a49c98aedcf6e1afec3c42dd86…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2022-09-02T13:15:35+02:00
core: support to specify options for load module
- prototypes:
loadmodule("path", "options")
loadmodulex("path", "options")
- options is a string with characters:
- 'g' or 'G' - open the module shared object file with RTLD_GLOBAL set,
wich can be used for modules related to external scripting languages
to avoid reloading
- example: loadmodule("app_lua", "g")
---
Modified: src/core/cfg.y
Modified: src/core/sr_module.c
Modified: src/core/sr_module.h
Modified: src/main.c
---
Diff: https://github.com/kamailio/kamailio/commit/f5c98a49c98aedcf6e1afec3c42dd86…
Patch: https://github.com/kamailio/kamailio/commit/f5c98a49c98aedcf6e1afec3c42dd86…
<!--
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
Relevant modules and parameters in configuration:
```
loadmodule "presence.so"
loadmodule "dialog.so"
loadmodule "presence_xml.so"
loadmodule "pua.so"
loadmodule "presence_dialoginfo.so"
loadmodule "pua_dialoginfo.so"
modparam("dialog", "db_mode", 1)
modparam("presence", "subs_db_mode", 2)
modparam("presence", "db_table_lock_type", 0)
modparam("pua", "db_mode", 2)
modparam("pua", "db_table_lock_write", 0)
```
Using 2 UDP receiver processes.
User1 is watching (has` SUBSCRIBE`d to) User2, which is called by User3 (call1). User2 doesn't answer, phone is ringing. User1 now also calls User2 (call2), but we don't support receiving a second call so, for this `INVITE`, after 183, almost immediately, a 486 "Busy Here" message is sent and the call is cancelled (call2 finished). The 183 reply generates an "**early**" state on the UDP1 process, while 486 goes to "**terminated**" on the UDP2 process. The `PUBLISH` messages are processed almost concomitantly. The problem is that "**early**" state arrives to the subscriber (User1) after the "**terminated**" one (seen with `sngrep`) so the phone button keeps blinking for a while (... and the state cannot be changed by other call while the "**early**" event is still in the `presentity` table of the database).
I suspect a concurrency problem since I didn't reproduce it with only one UDP receiver process. Even if the "**terminated**" lifetime is much smaller (11s vs minutes), I strongly believe it is still there when the "**early**" state is written. Does the "**early**" event checks the database/memory for a "**terminated**" event for the same call ID? Is it because of the missing locks maybe (`db_table_lock_type`, `db_table_lock_write`) ?
### Troubleshooting
#### Reproduction
Using 2 UDP receiver processes.
User1 is watching (has `SUBSCRIBE`d to) User2, which is called by User3 (call1). User2 doesn't answer, phone is ringing. User1 now also calls User2 (call2), but we don't support receiving a second call so, for this `INVITE`, after 183, almost immediately, a 486 "Busy Here" message is sent and the call is cancelled (call2 finished).
I would not say that it is systematic, but easy enough to reproduce.
#### 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.
-->
#### 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).
-->
#### 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.5.4 (x86_64/linux)
flags: , EXTRA_DEBUGUSE_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
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 8.3.0
```
* **Operating System**:
Docker image around
```
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
(paste your output here)
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3192
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3192(a)github.com>
I’ve finally got confirmation that the SIP ALPN identifier is registered.
https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype…
For Kamailio, this could assist when we multiplex multiple protocols on the same port, like we do for HTTPs and SIP/TLS many times.
ALPN Is part of the TLS handshake, indicating what protocol comes after TLS is done.
For it to help, both phones and servers needs to support it. I do think it would be helpful.
Cheers,
/O
<!-- 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
- [ ] 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
- [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
- [x ] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
Will you accept this? I find this extremely useful for troubleshooting. If accepted I'd like to add to most of the routing blocks.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3228
-- Commit Summary --
* Add More Logging Option
-- File Changes --
M etc/kamailio.cfg (4)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3228.patchhttps://github.com/kamailio/kamailio/pull/3228.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3228
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3228(a)github.com>