|
@@ -120,6 +120,7 @@ sruid_t _reg_sruid;
|
|
|
|
|
|
int reg_gruu_enabled = 1;
|
|
int reg_gruu_enabled = 1;
|
|
int reg_outbound_mode = 0;
|
|
int reg_outbound_mode = 0;
|
|
|
|
+int reg_flow_timer = 0;
|
|
|
|
|
|
/* Populate this AVP if testing for specific registration instance. */
|
|
/* Populate this AVP if testing for specific registration instance. */
|
|
char *reg_callid_avp_param = 0;
|
|
char *reg_callid_avp_param = 0;
|
|
@@ -224,6 +225,7 @@ static param_export_t params[] = {
|
|
{"xavp_rcd", STR_PARAM, ®_xavp_rcd.s },
|
|
{"xavp_rcd", STR_PARAM, ®_xavp_rcd.s },
|
|
{"gruu_enabled", INT_PARAM, ®_gruu_enabled },
|
|
{"gruu_enabled", INT_PARAM, ®_gruu_enabled },
|
|
{"outbound_mode", INT_PARAM, ®_outbound_mode },
|
|
{"outbound_mode", INT_PARAM, ®_outbound_mode },
|
|
|
|
+ {"flow_timer", INT_PARAM, ®_flow_timer },
|
|
{0, 0, 0}
|
|
{0, 0, 0}
|
|
};
|
|
};
|
|
|
|
|
|
@@ -380,6 +382,12 @@ static int mod_init(void)
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (reg_flow_timer < 0 || reg_flow_timer > REG_FLOW_TIMER_MAX
|
|
|
|
+ || (reg_flow_timer > 0 && reg_outbound_mode != REG_OUTBOUND_REQUIRE)) {
|
|
|
|
+ LM_ERR("bad value for flow_timer\n");
|
|
|
|
+ return -1;
|
|
|
|
+ }
|
|
|
|
+
|
|
/* fix the flags */
|
|
/* fix the flags */
|
|
sock_flag = (sock_flag!=-1)?(1<<sock_flag):0;
|
|
sock_flag = (sock_flag!=-1)?(1<<sock_flag):0;
|
|
tcp_persistent_flag = (tcp_persistent_flag!=-1)?(1<<tcp_persistent_flag):0;
|
|
tcp_persistent_flag = (tcp_persistent_flag!=-1)?(1<<tcp_persistent_flag):0;
|