Skip to content

Commit

Permalink
uac: reset ongoing registration state if retry interval is exceeded
Browse files Browse the repository at this point in the history
- cover the case of remote registration process stuck in ongoing state
  for long time
- reported by Andy J Robinson, GH #255
  • Loading branch information
miconda committed Jul 27, 2015
1 parent 54fea03 commit cfa6831
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions modules/uac/uac_reg.c
Expand Up @@ -928,8 +928,13 @@ int uac_reg_update(reg_uac_t *reg, time_t tn)
return -1;
if(reg->expires==0)
return 1;
if(reg->flags&UAC_REG_ONGOING)
return 2;
if(reg->flags&UAC_REG_ONGOING) {
if (reg->timer_expires > tn - reg_retry_interval)
return 2;
LM_DBG("record marked as ongoing registration (%d) - resetting\n",
(int)reg->flags);
reg->flags &= ~(UAC_REG_ONLINE|UAC_REG_AUTHSENT);
}
if(reg->flags&UAC_REG_DISABLED)
return 4;
if(reg->timer_expires > tn + reg_timer_interval + 3)
Expand Down

0 comments on commit cfa6831

Please sign in to comment.