Make sure registration is taken care of if DNS fails (bug #3424)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4891 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Spencer 2005-01-26 00:11:38 +00:00
parent 690bcfada2
commit a9c26705e0
1 changed files with 7 additions and 0 deletions

View File

@ -4204,7 +4204,14 @@ static int transmit_register(struct sip_registry *r, char *cmd, char *auth, char
}
/* Find address to hostname */
if (create_addr(p,r->hostname)) {
/* we have what we hope is a temporary network error,
* probably DNS. We need to reschedule a registration try */
sip_destroy(p);
if (r->timeout > -1) {
ast_log(LOG_WARNING, "Still have a registration timeout (create_addr() error), %d\n", r->timeout);
ast_sched_del(sched, r->timeout);
}
r->timeout = ast_sched_add(sched, global_reg_timeout*1000, sip_reg_timeout, r);
return 0;
}