diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 461a8dd7a39e210cbc1b8515e7407527eadc836f..3f84ac9f335a4ef5a154ac5f20e83d1a7431de4a 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -4407,6 +4407,8 @@ static int parse_contact(struct sip_pvt *pvt, struct sip_peer *p, struct sip_req expiry = max_expiry; if (!p->temponly) p->expire = ast_sched_add(sched, (expiry + 10) * 1000, expire_register, p); + else + p->expire = -1; pvt->expiry = expiry; snprintf(data, sizeof(data), "%s:%d:%d:%s:%s", ast_inet_ntoa(iabuf, sizeof(iabuf), p->addr.sin_addr), ntohs(p->addr.sin_port), expiry, p->username, p->fullcontact); ast_db_put("SIP/Registry", p->name, data);