Hi,
I discovered recently that, on Kamailio 5.5.4 at least, the dialog ’timeout_avp’ no longer appears to have effect.
Here are my (seemingly relevant) dialog parameters:
modparam("dialog", "enable_stats", 0) modparam("dialog", "hash_size", 4096) modparam("dialog", "rr_param", "dlgcor") # DLG "correlator" modparam("dialog", "dlg_flag", 2) modparam("dialog", "default_timeout", 28800) # 8 hours modparam("dialog", "dlg_match_mode", 1) modparam("dialog", "table_name", "dialog") modparam("dialog", "send_bye", 1) modparam("dialog", "wait_ack", 0) modparam(“dialog”, “timeout_avp”, “$avp(dlg_timeout)”)
The flow is roughly like this:
request_route { ...
t_check_trans();
if(is_method(“INVITE”)) { ...
dlg_manage(); $avp(dlg_timeout) = 10;
...
if(!t_relay()) sl_reply_error();
return; }
I was able to resolve the problem by switching to dlg_set_timeout() instead, but I wonder if there has been a regression. Last version I have on which this positively works is 4.4.7, though, so not sure when it might have broken.
One nuance: $avp(dlg_timeout) is not initialised prior to calling dlg_manage(), and the value is only set if certain conditions are true. Not sure if some stricter check appeared in later releases which could cause this to be a problem.
Thank you!
— Alex