Schedule pokes of registered SIP peers within a given timespan after SIP reload
authorMatthew Jordan <mjordan@digium.com>
Tue, 31 Jul 2012 21:20:59 +0000 (21:20 +0000)
committerMatthew Jordan <mjordan@digium.com>
Tue, 31 Jul 2012 21:20:59 +0000 (21:20 +0000)
commitd5d41741ccdeee4432595fea1305714bea5e44ae
tree1dcb16e93f6879226cf56b41d7bf2f92d20239b5
parent733b46022bae0385e9fb33e29c16eee67a5a5110
Schedule pokes of registered SIP peers within a given timespan after SIP reload

With a large number of SIP peers registered, performing a SIP reload causes a
flood of SIP OPTIONS request packets.  These are immediately sent out, and, as
responses come back, can cause peers to be flagged as 'lagged' due to handling
of the many response messages.

This fix prevents this "packet storm" and schedules the pokes for a random
time.  That time varies between 1 ms and the peer's qualify time, or, if
the qualify time is unknown, the global qualifyfreq setting.

The committed patch has some very small modifications to the patch schmidts
wrote for the review.

(closes issue ASTERISK-19154)
Reported by: Nicolo Mazzon
patches:
  issue19154.patch license #6034 uploaded by schmidts

Review: https://reviewboard.asterisk.org/r/1652
........

Merged revisions 370666 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 370672 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@370677 65c4cc65-6c06-0410-ace0-fbb531ad65f3
channels/chan_sip.c