Expire time fix (bug #1996)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3413 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Spencer 2004-07-09 11:03:33 +00:00
parent 611da9b699
commit 602d616726
1 changed files with 4 additions and 1 deletions

View File

@ -6463,8 +6463,10 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_
contact = __get_header(req, "Contact", &start);
/* this loop ensures we get a contact header about our register request */
if(!ast_strlen_zero(contact)) {
if(strstr(contact, p->our_contact))
if( (tmptmp=strstr(contact, p->our_contact))) {
contact=tmptmp;
break;
}
} else
break;
}
@ -6483,6 +6485,7 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_
else
expires_ms -= EXPIRY_GUARD_SECS * 1000;
r->refresh= (int) expires_ms / 1000;
r->expire=ast_sched_add(sched, expires_ms, sip_reregister, r);
} else
ast_log(LOG_WARNING, "Got 200 OK on REGISTER that isn't a register\n");