diff options
author | George Joseph <george.joseph@fairview5.com> | 2015-04-11 16:04:32 -0600 |
---|---|---|
committer | George Joseph <george.joseph@fairview5.com> | 2015-04-16 16:44:45 -0500 |
commit | c6ed681638f5e481001839712fe2d6d5e1fa526c (patch) | |
tree | 4fd654d370e615ad39a22aeeb8ba984445e77de3 /res/res_pjsip.c | |
parent | 51886c68dc13edf127e64218528b077a5f6de967 (diff) |
res_pjsip: Add global option to limit the maximum time for initial qualifies
Currently when Asterisk starts initial qualifies of contacts are spread out
randomly between 0 and qualify_timeout to prevent network and system overload.
If a contact's qualify_frequency is 5 minutes however, that contact may be
unavailable to accept calls for the entire 5 minutes after startup. So while
staggering the initial qualifies is a good idea, basing the time on
qualify_timeout could leave contacts unavailable for too long.
This patch adds a new global parameter "max_initial_qualify_time" that sets the
maximum time for the initial qualifies. This way you could make sure that all
your contacts are initialy, randomly qualified within say 30 seconds but still
have the contact's ongoing qualifies at a 5 minute interval.
If max_initial_qualify_time is > 0, the formula is initial_interval =
min(max_initial_interval, qualify_timeout * random(). If not set,
qualify_timeout is used.
The default is "0" (disabled).
ASTERISK-24863 #close
Change-Id: Ib80498aa1ea9923277bef51d6a9015c9c79740f4
Tested-by: George Joseph <george.joseph@fairview5.com>
Diffstat (limited to 'res/res_pjsip.c')
-rw-r--r-- | res/res_pjsip.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/res/res_pjsip.c b/res/res_pjsip.c index 4f77b5102..e54f2c7cc 100644 --- a/res/res_pjsip.c +++ b/res/res_pjsip.c @@ -1229,6 +1229,10 @@ <configOption name="keep_alive_interval" default="0"> <synopsis>The interval (in seconds) to send keepalives to active connection-oriented transports.</synopsis> </configOption> + <configOption name="max_initial_qualify_time" default="0"> + <synopsis>The maximum amount of time from startup that qualifies should be attempted on all contacts. + If greater than the qualify_frequency for an aor, qualify_frequency will be used instead.</synopsis> + </configOption> <configOption name="type"> <synopsis>Must be of type 'global'.</synopsis> </configOption> |