Hello,
I've tried what you recommended, but without success so far.
This is the configuration block:
if (!has_totag()) return;
if (is_method("ACK")) {
dlg_manage();
}
if (loose_route()) {
if (is_method("BYE")) {
dlg_manage();
setflag(FLAG_ACC);
setflag(FLAG_ACCMISSED);
$dlg_var(billsec) = $DLG_lifetime;
}
route(RELAY);
exit;
};
if (is_method("ACK") ) {
if ( t_check_trans() ) {
route(RELAY);
exit;
} else {
sl_send_reply("606", "Not Acceptable");
exit;
}
}
Here is the sip trace:
And that's the error I'm getting in the Kamailio log file:
WARNING: dialog [dlg_handlers.c:1652]: dlg_ontimeout(): dlg timeout -
callid: ' 0555141d7d3hsag78sgce830391f9348@10.1.50.240:5060' tags:
'as52c10007' 'Uv7HS0jX65ctF' ostate: 3
Any other ideas?
On Tue, 28 Jul 2020 at 15:44, Daniel-Constantin Mierla <miconda(a)gmail.com>
wrote:
Hello,
I see the in-dialog ACK in the trace, try with dlg_manage() explicitly
used for it.
The warning messages are not when processing the ack, but on dialog
timeout, if you do not get some other errors like 90-120 seconds before,
when the ack was routed, then it was no processing error for it.
Cheers,
Daniel
On 28.07.20 12:31, Ilie Soltanici wrote:
Hello,
In the Kamailio logs I can see only those errors:
WARNING: dialog [dlg_handlers.c:1652]: dlg_ontimeout(): dlg timeout -
callid: '45b0130e14a692b95134696d2fc5f2a9' tags: 'as31fb1118'
'12UDcK9S8630r' ostate: 3
WARNING: acc [acc_cdr.c:230]: db_write_cdr(): fallback to dlg_only
search because of message doesn't exist
Here you can see the full sip trace:
https://pastebin.com/Q4eqcGJj
The First Invite it's from the Asterisk server (192.168.0.140), and the
second one - it's from Kamailio (192.168.1.16), 192.168.2.0/24 - it's
an ISP. What 's strange for me here is that Kamailio it's still adding
rr_param to the RR Header even if it's disabled in the module
configuration, why would that be?
This is the module configuration:
modparam("dialog", "enable_stats", 1)
modparam("dialog", "rr_param", "did")
modparam("dialog", "dlg_match_mode", 2)
modparam("dialog", "default_timeout", 10800)
modparam("dialog", "early_timeout", 180)
modparam("dialog", "noack_timeout", 90)
modparam("dialog", "track_cseq_updates", 1)
modparam("dialog", "dlg_extra_hdrs", "Hint: Inactivity
Timeout\r\n")
modparam("dialog", "detect_spirals", 1)
modparam("dialog", "db_mode", 1)
I will try to run dlg_manage for ACK within the dialog and see if it
works.
Thank you.
On Tue, 28 Jul 2020 at 09:26, Daniel-Constantin Mierla <
miconda(a)gmail.com> wrote:
Hello,
that confirms my guessing -- the ack was not handled in the dialog
context, the state 3 is defined inside dlg_hash.h by:
#define DLG_STATE_CONFIRMED_NA 3 /*!< confirmed dialog without a ACK
yet */
Do you see any error messages in the logs when handling the ACK in the
config? Did you grab the pcap with sip traffic for such a call?
Try also to explicitly execute dlg_manage() for ACK within dialog.
Cheers,
Daniel
On 28.07.20 10:05, Ilie Soltanici wrote:
Hello,
I re-compiled Kamailio from the Master branch and I'm getting the old
state: 3
*dlg_ontimeout(): dlg timeout - callid:
'225ce4fc79d78c0f5477d02d02f3feea' tags: 'as3f0a58cf'
'a9eb002d-c544-47f7-84ec-1c4e690cd0b4' ostate: 3*
[ilie.soltanici@dev ~]$ /usr/local/sbin/kamailio -V
version: kamailio 5.3.5 (x86_64/linux) ff2f8c
Thanks
On Mon, 27 Jul 2020 at 08:56, Daniel-Constantin Mierla <
miconda(a)gmail.com> wrote:
> Hello,
>
> this sounds like the ACK is not matched for dialog processing and the
> early_timeout is firing. I just pushed a commit to dialog module to print
> the old state when the timeout callback function is executed, maybe you can
> test with it -- it is in branch 5.3:
>
> -
>
https://github.com/kamailio/kamailio/commit/ff2f8c4e63b4fefa7dc5b10835505c3…
>
> Otherwise, maybe call dlg_manage() for ACK, although the loose_route()
> callback should be executed and ACK handled for dialog processing.
>
> Cheers,
> Daniel
> On 24.07.20 12:46, Ilie Soltanici wrote:
>
> Hello,
>
> I'm trying to get CDR working in Kamailio by using the acc and dialog
> modules. Everything seemed to be working fine - until i noticed that for
> some of the calls the call duration is 0, even if that call has been
> successfully established and duration was for about a few minutes. In the
> Kamailio logs I'm getting such errors:
>
> WARNING: dialog [dlg_handlers.c:1649]: dlg_ontimeout(): timeout for
> dlg with CallID '304bad142b50bb3a7a117816439ea3d5' and tags
'as3adde5c7'
> '7d28152f-e0e3-4bcf-9d5c-21c3723b95c5'
> WARNING: acc [acc_cdr.c:230]: db_write_cdr(): fallback to dlg_only
> search because of message doesn't exist.
>
> This error I'm getting at about 2 min after the ACK message for 200
> OK. I'm not sure that this is related to the dialog timeout, but below you
> can see the related configuration for the dialog module:
>
> modparam("dialog", "default_timeout", 10800) # 3 hours
> modparam("dialog", "early_timeout", 180)
> modparam("dialog", "noack_timeout", 90)
>
> Unfortunately, I'm not able to reproduce this issue, as that's
> happening randomly and just a few times per day. On the SIP Level i didn't
> notice any strange issues.
>
> Any ideas why is that happening?
> Thank you.
>
> _______________________________________________
> Kamailio (SER) - Users Mailing
Listsr-users@lists.kamailio.orghttps://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
> --
> Daniel-Constantin Mierla --
www.asipto.comwww.twitter.com/miconda --
www.linkedin.com/in/miconda
> Funding:
https://www.paypal.me/dcmierla
>
> --
Daniel-Constantin Mierla --
www.asipto.comwww.twitter.com/miconda --
www.linkedin.com/in/miconda
Funding:
https://www.paypal.me/dcmierla
--
Daniel-Constantin Mierla --
www.asipto.comwww.twitter.com/miconda --
www.linkedin.com/in/miconda
Funding:
https://www.paypal.me/dcmierla
_______________________________________________