From: Mark Spencer Date: Wed, 9 Mar 2005 04:56:51 +0000 (+0000) Subject: Slow down the registrations to space them out X-Git-Tag: 1.2.0-beta1~1103 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=98a3c16be4a00bbbd8d22aee00ebee29ab21e676;p=thirdparty%2Fasterisk.git Slow down the registrations to space them out git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5154 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index ad52a1da3e..3efc7c5a18 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -10128,9 +10128,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; ASTOBJ_CONTAINER_TRAVERSE(®l, 1, do { ASTOBJ_WRLOCK(iterator); - __sip_do_register(iterator); + if (iterator->expire > -1) + ast_sched_del(sched, iterator->expire); + iterator->expire = ast_sched_add(sched, ms, sip_reregister, iterator); ASTOBJ_UNLOCK(iterator); } while (0) );