Module: kamailio Branch: 4.3 Commit: e5f8d6282eefbe4c8ad0b0309ac06ab468e9b1f2 URL: https://github.com/kamailio/kamailio/commit/e5f8d6282eefbe4c8ad0b0309ac06ab468e9b1f2
Author: Daniel-Constantin Mierla <[email protected]> Committer: Daniel-Constantin Mierla <[email protected]> Date: 2015-07-27T15:09:31+02:00 uac: reset ongoing registration state if retry interval is exceeded - cover the case of remote registration process stuck in ongoing state for long time - reported by Andy J Robinson, GH #255 (cherry picked from commit cfa6831f9a81988dc1844ba3e4e6048c12841606) --- Modified: modules/uac/uac_reg.c --- Diff: https://github.com/kamailio/kamailio/commit/e5f8d6282eefbe4c8ad0b0309ac06ab468e9b1f2.diff Patch: https://github.com/kamailio/kamailio/commit/e5f8d6282eefbe4c8ad0b0309ac06ab468e9b1f2.patch --- diff --git a/modules/uac/uac_reg.c b/modules/uac/uac_reg.c index 0cff689..7b7d2de 100644 --- a/modules/uac/uac_reg.c +++ b/modules/uac/uac_reg.c @@ -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) _______________________________________________ sr-dev mailing list [email protected] http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
