THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
A new Flyspray task has been opened. Details are below.
User who did this - Bill Radis (radisb)
Attached to Project - sip-router
Summary - Dialog never times-out when ka_timer < 10, even on 481 or 408(fake) response
Task Type - Bug Report
Category - dialog
Status - Unconfirmed
Assigned To -
Operating System - All
Severity - Low
Priority - Normal
Reported Version - Development
Due in Version - Undecided
Due Date - Undecided
Details - In the dialog module
(
https://github.com/kamailio/kamailio/blob/master/modules/dialog/dlg_req_wit…) in line
264 there is this code:
if(ps->code==408 || ps->code==481) {
if(update_dlg_timer(&dlg->tl, 10)<0) {
LM_ERR("failed to update dialog lifetime\n");
goto done;
}
dlg->lifetime = 10;
dlg->dflags |= DLG_FLAG_CHANGED;
}
This code is for updating the dialog's lifetime when a timeout occurs (by a fake 408
reply) or a 481 is received.
But in the call
update_dlg_timer(&dlg->tl, 10)
in the code above, the second argument is a hardcoded 10, which causes the dialog to
refresh its lifetime to 10 more seconds, every time a timeout (or 481) occurs. But when
ka_timer is < 10 secs this gets refreshed again before the dialog expires. I did a test
with
update_dlg_timer(&dlg->tl, 1)
and it correctly works for values of ka_timer >= 2
I cant say the correct value, propably should be 1, so that the dialog gets expired the
next second that the dlg_timer_routine runs. Anyway this value should be less than the
ka_timer value so there should be a minimum valid ka_timer value. So maybe (ka_timer - 1)
?
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=417
You are receiving this message because you have requested it from the Flyspray bugtracking
system. If you did not expect this message or don't want to receive mails in future,
you can change your notification settings at the URL shown above.