Misc (re #1630): Add randomizing interval for subscription refresh.

git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@4572 74dad513-b988-da41-8d7b-12977e46ad98
This commit is contained in:
Nanang Izzuddin 2013-07-22 09:17:30 +00:00
parent c8cf7ae493
commit e65818e62f
1 changed files with 5 additions and 0 deletions

View File

@ -32,6 +32,7 @@
#include <pj/log.h>
#include <pj/os.h>
#include <pj/pool.h>
#include <pj/rand.h>
#include <pj/string.h>
@ -1749,6 +1750,10 @@ static void on_tsx_state_uac( pjsip_evsub *sub, pjsip_transaction *tsx,
unsigned timeout = (sub->expires->ivalue > TIME_UAC_REFRESH) ?
sub->expires->ivalue - TIME_UAC_REFRESH : sub->expires->ivalue;
/* Reduce timeout by about 1 - 10 secs (randomized) */
if (timeout > 10)
timeout += -10 + (pj_rand() % 10);
PJ_LOG(5,(sub->obj_name, "Will refresh in %d seconds",
timeout));
set_timer(sub, TIMER_TYPE_UAC_REFRESH, timeout);