|
@@ -123,6 +123,7 @@ int active_dlgs_cnt = 0;
|
|
int early_dlgs_cnt = 0;
|
|
int early_dlgs_cnt = 0;
|
|
int detect_spirals = 1;
|
|
int detect_spirals = 1;
|
|
int dlg_send_bye = 0;
|
|
int dlg_send_bye = 0;
|
|
|
|
+int timeout_noreset = 0;
|
|
stat_var *active_dlgs = 0;
|
|
stat_var *active_dlgs = 0;
|
|
stat_var *processed_dlgs = 0;
|
|
stat_var *processed_dlgs = 0;
|
|
stat_var *expired_dlgs = 0;
|
|
stat_var *expired_dlgs = 0;
|
|
@@ -281,6 +282,7 @@ static param_export_t mod_params[]={
|
|
{ "xavp_cfg", STR_PARAM, &dlg_xavp_cfg.s },
|
|
{ "xavp_cfg", STR_PARAM, &dlg_xavp_cfg.s },
|
|
{ "ka_timer", INT_PARAM, &dlg_ka_timer },
|
|
{ "ka_timer", INT_PARAM, &dlg_ka_timer },
|
|
{ "ka_interval", INT_PARAM, &dlg_ka_interval },
|
|
{ "ka_interval", INT_PARAM, &dlg_ka_interval },
|
|
|
|
+ { "timeout_noreset", INT_PARAM, &timeout_noreset },
|
|
{ 0,0,0 }
|
|
{ 0,0,0 }
|
|
};
|
|
};
|
|
|
|
|
|
@@ -577,6 +579,11 @@ static int mod_init(void)
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (timeout_noreset != 0 && timeout_noreset != 1) {
|
|
|
|
+ LM_ERR("invalid value %d for timeout_noreset param!!\n",timeout_noreset);
|
|
|
|
+ return -1;
|
|
|
|
+ }
|
|
|
|
+
|
|
/* if statistics are disabled, prevent their registration to core */
|
|
/* if statistics are disabled, prevent their registration to core */
|
|
if (dlg_enable_stats==0)
|
|
if (dlg_enable_stats==0)
|
|
exports.stats = 0;
|
|
exports.stats = 0;
|
|
@@ -1193,6 +1200,13 @@ static int w_dlg_set_property(struct sip_msg *msg, char *prop, char *s2)
|
|
d->iflags |= DLG_IFLAG_KA_DST;
|
|
d->iflags |= DLG_IFLAG_KA_DST;
|
|
dlg_release(d);
|
|
dlg_release(d);
|
|
}
|
|
}
|
|
|
|
+ } else if(val.len==15 && strncmp(val.s, "timeout-noreset", 15)==0) {
|
|
|
|
+ dctx->iflags |= DLG_IFLAG_TIMER_NORESET;
|
|
|
|
+ d = dlg_get_by_iuid(&dctx->iuid);
|
|
|
|
+ if(d!=NULL) {
|
|
|
|
+ d->iflags |= DLG_IFLAG_TIMER_NORESET;
|
|
|
|
+ dlg_release(d);
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
LM_ERR("unknown property value [%.*s]\n", val.len, val.s);
|
|
LM_ERR("unknown property value [%.*s]\n", val.len, val.s);
|
|
return -1;
|
|
return -1;
|