mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
Make registertimeout be configurable (bug #2874)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4434 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -74,6 +74,7 @@
|
||||
#define SIPDUMPER
|
||||
#define DEFAULT_DEFAULT_EXPIRY 120
|
||||
#define DEFAULT_MAX_EXPIRY 3600
|
||||
#define DEFAULT_REGISTRATION_TIMEOUT 20
|
||||
|
||||
/* guard limit must be larger than guard secs */
|
||||
/* guard min must be < 1000, and should be >= 250 */
|
||||
@@ -154,6 +155,8 @@ static int global_trustrpid = 0; /* Trust RPID headers? Default off. */
|
||||
|
||||
static int global_progressinband = 0;
|
||||
|
||||
static int global_reg_timeout = DEFAULT_REGISTRATION_TIMEOUT;
|
||||
|
||||
#ifdef OSP_SUPPORT
|
||||
static int global_ospauth = 0; /* OSP = Open Settlement Protocol */
|
||||
#endif
|
||||
@@ -4160,7 +4163,7 @@ static int transmit_register(struct sip_registry *r, char *cmd, char *auth, char
|
||||
ast_log(LOG_WARNING, "Still have a timeout, %d\n", r->timeout);
|
||||
ast_sched_del(sched, r->timeout);
|
||||
}
|
||||
r->timeout = ast_sched_add(sched, 20*1000, sip_reg_timeout, r);
|
||||
r->timeout = ast_sched_add(sched, global_reg_timeout*1000, sip_reg_timeout, r);
|
||||
ast_log(LOG_DEBUG, "Scheduled a timeout # %d\n", r->timeout);
|
||||
}
|
||||
|
||||
@@ -8809,6 +8812,10 @@ static int reload_config(void)
|
||||
default_expiry = atoi(v->value);
|
||||
if (default_expiry < 1)
|
||||
default_expiry = DEFAULT_DEFAULT_EXPIRY;
|
||||
} else if (!strcasecmp(v->name, "registertimeout")){
|
||||
global_reg_timeout = atoi(v->value);
|
||||
if (global_reg_timeout < 1)
|
||||
global_reg_timeout = DEFAULT_REGISTRATION_TIMEOUT;
|
||||
} else if (!strcasecmp(v->name, "bindaddr")) {
|
||||
if (!(hp = ast_gethostbyname(v->value, &ahp))) {
|
||||
ast_log(LOG_WARNING, "Invalid address: %s\n", v->value);
|
||||
|
Reference in New Issue
Block a user