diff --git a/channels/chan_sip.c b/channels/chan_sip.c index f0fb73304ff9562f70d5735c61b80e79162b0f70..2f053f735b1a3d8658f65fa6054ddbbc80178979 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -10754,11 +10754,12 @@ static void sip_poke_all_peers(void) /*--- sip_send_all_registers: Send all known registrations */ static void sip_send_all_registers(void) { - int ms = (rand() >> 12) & 0x1fff; + int ms; ASTOBJ_CONTAINER_TRAVERSE(®l, 1, do { ASTOBJ_WRLOCK(iterator); if (iterator->expire > -1) ast_sched_del(sched, iterator->expire); + ms = (rand() >> 12) & 0x1fff; iterator->expire = ast_sched_add(sched, ms, sip_reregister, iterator); ASTOBJ_UNLOCK(iterator); } while (0)