Covers setups when kamailio behind the service with HAPROXY protocol support but in other hand it also serves requests from other services that available per direct connection (such as B2BUA in the same local network).
#### Pre-Submission Checklist
- [*] 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:
- [*] PR should be backported to stable branches
- [*] Tested changes locally
#### Description
- function tcpconn_read_haproxy() returns 2 if PROXY header NOT found.
- Message about no header shown at the debug level.
- No errors
- TCP connection successfully establishes
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/2206
-- Commit Summary --
* handle tcp request with tcp_accept_haproxy even no PROXY header found
* core:tcp allow to handle TCP connections even message does not contain PROXY protocol header
* core:tcp allow to handle TCP connections even message does not contain PROXY protocol header
-- File Changes --
M src/core/tcp_main.c (8)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2206.patchhttps://github.com/kamailio/kamailio/pull/2206.diff
--
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/pull/2206
<!-- 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/2209
-- Commit Summary --
* add received_in_via function(use it in hiops module)
* hiops: new module in Kamailio
-- File Changes --
M src/core/msg_translator.c (25)
M src/core/msg_translator.h (3)
A src/modules/hiops/Alarm-Indicator.c (153)
A src/modules/hiops/Alarm-Indicator.h (57)
A src/modules/hiops/BIT_STRING.c (189)
A src/modules/hiops/BIT_STRING.h (33)
A src/modules/hiops/CMakeLists.txt (92)
A src/modules/hiops/Code.c (64)
A src/modules/hiops/Code.h (49)
A src/modules/hiops/CommunicationIdentifier.c (94)
A src/modules/hiops/CommunicationIdentifier.h (43)
A src/modules/hiops/GeneralizedTime.c (706)
A src/modules/hiops/GeneralizedTime.h (69)
A src/modules/hiops/HI1-Operation.c (94)
A src/modules/hiops/HI1-Operation.h (61)
A src/modules/hiops/IA5String.c (77)
A src/modules/hiops/IA5String.h (27)
A src/modules/hiops/INTEGER.c (1025)
A src/modules/hiops/INTEGER.h (82)
A src/modules/hiops/IP-value.c (130)
A src/modules/hiops/IP-value.h (55)
A src/modules/hiops/IPAddress.c (393)
A src/modules/hiops/IPAddress.h (67)
A src/modules/hiops/LawfulInterceptionIdentifier.c (126)
A src/modules/hiops/LawfulInterceptionIdentifier.h (38)
A src/modules/hiops/LocalTimeStamp.c (191)
A src/modules/hiops/LocalTimeStamp.h (50)
A src/modules/hiops/Makefile (15)
A src/modules/hiops/National-HI1-ASN1parameters.c (139)
A src/modules/hiops/National-HI1-ASN1parameters.h (43)
A src/modules/hiops/NativeEnumerated.c (207)
A src/modules/hiops/NativeEnumerated.h (32)
A src/modules/hiops/NativeInteger.c (332)
A src/modules/hiops/NativeInteger.h (37)
A src/modules/hiops/Network-Element-Identifier.c (198)
A src/modules/hiops/Network-Element-Identifier.h (60)
A src/modules/hiops/Network-Identifier.c (94)
A src/modules/hiops/Network-Identifier.h (48)
A src/modules/hiops/Notification.c (153)
A src/modules/hiops/Notification.h (57)
A src/modules/hiops/OBJECT_IDENTIFIER.c (764)
A src/modules/hiops/OBJECT_IDENTIFIER.h (139)
A src/modules/hiops/OCTET_STRING.c (1807)
A src/modules/hiops/OCTET_STRING.h (86)
A src/modules/hiops/PrintableString.c (109)
A src/modules/hiops/PrintableString.h (24)
A src/modules/hiops/Priority.c (125)
A src/modules/hiops/Priority.h (38)
A src/modules/hiops/TimeStamp.c (64)
A src/modules/hiops/TimeStamp.h (49)
A src/modules/hiops/UTCTime.c (179)
A src/modules/hiops/UTCTime.h (38)
A src/modules/hiops/asn_application.h (47)
A src/modules/hiops/asn_codecs.h (109)
A src/modules/hiops/asn_codecs_prim.c (312)
A src/modules/hiops/asn_codecs_prim.h (53)
A src/modules/hiops/asn_internal.h (128)
A src/modules/hiops/asn_system.h (137)
A src/modules/hiops/ber_decoder.c (283)
A src/modules/hiops/ber_decoder.h (64)
A src/modules/hiops/ber_tlv_length.c (178)
A src/modules/hiops/ber_tlv_length.h (50)
A src/modules/hiops/ber_tlv_tag.c (144)
A src/modules/hiops/ber_tlv_tag.h (60)
A src/modules/hiops/constr_CHOICE.c (1114)
A src/modules/hiops/constr_CHOICE.h (57)
A src/modules/hiops/constr_SEQUENCE.c (1425)
A src/modules/hiops/constr_SEQUENCE.h (60)
A src/modules/hiops/constr_TYPE.c (77)
A src/modules/hiops/constr_TYPE.h (180)
A src/modules/hiops/constraints.c (93)
A src/modules/hiops/constraints.h (63)
A src/modules/hiops/der_encoder.c (201)
A src/modules/hiops/der_encoder.h (68)
A src/modules/hiops/hi1ops.c (682)
A src/modules/hiops/hi1ops.h (102)
A src/modules/hiops/hi2ops.c (1319)
A src/modules/hiops/hi2ops.h (109)
A src/modules/hiops/hiops.c (272)
A src/modules/hiops/hiops.h (38)
A src/modules/hiops/per_decoder.c (93)
A src/modules/hiops/per_decoder.h (56)
A src/modules/hiops/per_encoder.c (151)
A src/modules/hiops/per_encoder.h (69)
A src/modules/hiops/per_opentype.c (378)
A src/modules/hiops/per_opentype.h (22)
A src/modules/hiops/per_support.c (483)
A src/modules/hiops/per_support.h (135)
A src/modules/hiops/tcp_socket.c (136)
A src/modules/hiops/tcp_socket.h (39)
A src/modules/hiops/xer_decoder.c (368)
A src/modules/hiops/xer_decoder.h (106)
A src/modules/hiops/xer_encoder.c (67)
A src/modules/hiops/xer_encoder.h (59)
A src/modules/hiops/xer_support.c (227)
A src/modules/hiops/xer_support.h (55)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2209.patchhttps://github.com/kamailio/kamailio/pull/2209.diff
--
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/pull/2209
<!-- 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)
- [X] 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
I've marked this as a "breaking change" only because it slightly alters the error handling of the RPC dlg.list_match command, to draw attention to it. But the actual functionality is unchanged.
This PR adds a new script function to the dialog module: `dlg_get_matches`. This has the same behaviour as the RPC `dlg.list_match` command, but allows use in scripts. The results are returned in an XAVP of a specified name, as an array of fields.
```
dlg_get_matches(mkey, mop, mval, xavp_name[, max_results]);
Returns number of matches found. Or -1 if there's an error.
```
An example of use would be:
```
xlog("Extension is: $var(ext)\n");
$avp(dlg_count) = dlg_get_matches("turi", "sw", "sip:nexusone$var(ext)@", "dlg_matches");
xlog("Got $avp(dlg_count) matches.\n");
$var(i) = 0;
$var(matched) = 0;
while ($var(i) < $avp(dlg_count))
{
//Skip dialogs that are not early state
if ($xavp(dlg_matches[$var(i)]=>state) == 2)
{
xlog("Found matching dlg[$var(i)]: $xavp(dlg_matches[$var(i)]=>from_uri)\n");
}
}
```
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3005
-- Commit Summary --
* dialog: Adding dlg_get_matches function based on RPC dlg.list_match command.
* dialog: Adding documentation for dlg_get_matches function.
* dialog: Refactored dlg_get_matches and dlg.list_match RPC command to use a shared dlg_list_matches function.
-- File Changes --
M src/modules/dialog/dialog.c (793)
M src/modules/dialog/doc/dialog_admin.xml (92)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3005.patchhttps://github.com/kamailio/kamailio/pull/3005.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3005
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3005(a)github.com>
### Description
When I use Kamailio 5.6 with kazoo config file, then can see error messages:
```
WARNING: <core> [core/rvalue.c:1043]: rval_get_int(): automatic string to int conversion for "63823655406" failed
WARNING: <core> [core/rvalue.c:1949]: rval_expr_eval_int(): rval expression conversion to int failed (140,54-140,73)
```
This warning message related to commit bcd59d73e2fc5ae8e14cad520e726ef431f0563f.
Kazoo sending timestamp using the Gregorian format and timestamp value greater than max int value.
As a result, JSON string values with a timestamp cannot be parsed and converted to int.
As I understand required to add long format support into Kamailio.
This was tested using this Kamailio config.
```
listen=udp:127.0.0.1:5060
######## Advanced logger module ########
loadmodule "xlog.so"
######## Generic Hash Table container in shared memory ########
loadmodule "htable.so"
event_route[htable:mod-init] {
if ( 63823655406 > 0 ) {
xlog("L_ERR", "*** Kamailio support long data type!\n");
} else {
xlog("L_ERR", "*** Kamailio not support long data type!\n");
}
}
```
### Expected behavior
Kamailio is able to convert strings to long data type.
#### Actual observed behavior
Kamailio was not able to convert strings to long data type.
@lazedo, probable you want to know about this behavior.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3172
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3172(a)github.com>
Dear all
we have seen a core in a running production kamailio instance today, i attach you the bt in dropbox
version: kamailio 5.4.4 (x86_64/linux) 0ddb01-dirty
centos7 3.10.0-693.17.1.el7.x86_64
https://www.dropbox.com/s/fpunfs0o9aqhwww/kamailio_core_17agosto.txt?dl=0
~~~
#0 0x00007f4c131446ad in print_lists (dlg=0x7f4b60abb2e8) at dlg_var.c:277
#1 0x00007f4c131467ff in pv_set_dlg_variable (msg=0x7f4c17592d70, param=0x7f4c17aa88d0, op=254, val=0x7ffc8de8c990) at dlg_var.c:443
#2 0x00000000004f9c82 in lval_pvar_assign (h=0x7ffc8de8ddc0, msg=0x7f4c17592d70, lv=0x7f4c17aa8998, rv=0x7f4c17aa8b18) at core/lvalue.c:352
#3 0x00000000004fa780 in lval_assign (h=0x7ffc8de8ddc0, msg=0x7f4c17592d70, lv=0x7f4c17aa8998, rve=0x7f4c17aa8b10) at core/lvalue.c:400
#4 0x00000000004c3f6f in do_action (h=0x7ffc8de8ddc0, a=0x7f4c17aa92b0, msg=0x7f4c17592d70) at core/action.c:1455
#5 0x00000000004c5cab in run_actions (h=0x7ffc8de8ddc0, a=0x7f4c17aa8668, msg=0x7f4c17592d70) at core/action.c:1581
#6 0x00000000004b8867 in do_action (h=0x7ffc8de8ddc0, a=0x7f4c17aac2b0, msg=0x7f4c17592d70) at core/action.c:1067
#7 0x00000000004c5cab in run_actions (h=0x7ffc8de8ddc0, a=0x7f4c17aa34c0, msg=0x7f4c17592d70) at core/action.c:1581
#8 0x00000000004c63ef in run_top_route (a=0x7f4c17aa34c0, msg=0x7f4c17592d70, c=0x7ffc8de8ddc0) at core/action.c:1666
#9 0x00007f4c16bbc0a2 in reply_received (p_msg=0x7f4c17592d70) at t_reply.c:2543
#10 0x00000000005d0b69 in do_forward_reply (msg=0x7f4c17592d70, mode=0) at core/forward.c:764
#11 0x00000000005d283b in forward_reply (msg=0x7f4c17592d70) at core/forward.c:865
#12 0x0000000000622dd2 in receive_msg (
buf=0xb034a0 <buf.7140> "SIP/2.0 100 Trying\r\nVia: SIP/2.0/UDP 79.170.68.186;branch=z9hG4bK895d.0e2ee1cb7a0cde9ed9e78d7f0ec22c00.0\r\nVia: SIP/2.0/UDP 79.170.71.172:5080;received=79.170.71.172;rport=5080;branch=z9hG4bKtmtBy7jaQ5"..., len=449, rcv_info=0x7ffc8de8e8b0) at core/receive.c:509
#13 0x0000000000521e67 in udp_rcv_loop () at core/udp_server.c:543
#14 0x0000000000429f56 in main_loop () at main.c:1689
#15 0x0000000000434034 in main (argc=13, argv=0x7ffc8de8f148) at main.c:2876
~~~
Best regards,
Noel
--
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/2828
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>
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>
### 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>