[sr-dev] [tracker] Task opened: Dialog never times-out when ka_timer < 10, even on 481 or 408(fake) response

sip-router bugtracker at sip-router.org
Mon Apr 14 22:23:34 CEST 2014


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_within.c) 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.



More information about the sr-dev mailing list