Hi Again
Narrowing down the issue with dialogues disappearing.
It looks like something is not working as I expect with the session timers.
modparam("sst", "enable_stats", 0) modparam("sst", "min_se", 1800) modparam("sst", "sst_flag", 6) modparam("sst", "timeout_avp", "$avp(dlgtimeout)")
modparam("dialog", "timeout_avp", "$avp(dlgtimeout)") modparam("dialog", "send_bye", 1) modparam("dialog", "dlg_match_mode", 1) modparam("dialog", "ka_timer", 0) modparam("dialog", "ka_interval", 30 ) modparam("dialog", "enable_stats", 1 ) modparam("dialog", "detect_spirals", 1 ) modparam("dialog", "default_timeout", 43200 )
request_route {
# Initial Invite... if ($rm == "INVITE" && !has_totag()) { if(is_present_hf("Session-Expires")) { $avp(dlgtimeout) = $(hdr(Session-Expires){s.int}); } }
# handle requests within SIP dialogs if (has_totag()) { route(WITHINDLG); exit; }
}
route[WITHINDLG] { if (loose_route()) { setflag(6); dlg_manage(); route(RELAY); exit; } }
From my understanding of the docs, this should extend the session timer on every re-invite, but that does not seem to happen.
Maybe I'm confused by the flags. The sst module shows examples where both flags are used.
modparam("dialog", "dlg_flag", 5) modparam("sst", "sst_flag", 6)
But when reading the docs to the dialog modules, I understood that the dlg_flag is purely optional and does not need to be set when using dlg_manage as I do. Maybe it's not optional when using dialog AND sst together?
Also I wonder why no BYE is being sent, when the dialogue times out, despite being configured that way.