diff options
author | Nanang Izzuddin <nanang@teluu.com> | 2013-07-22 09:17:30 +0000 |
---|---|---|
committer | Nanang Izzuddin <nanang@teluu.com> | 2013-07-22 09:17:30 +0000 |
commit | 73c8e1dc41d174012f42e3f665fc7dadb37fb239 (patch) | |
tree | 4eefd97c80906ea1c7a34e75d218cd7911c00969 /pjsip/src/pjsip-simple | |
parent | aaef9cb9d469ffb94ef0694c7b47e521887a6679 (diff) |
Misc (re #1630): Add randomizing interval for subscription refresh.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4572 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsip-simple')
-rw-r--r-- | pjsip/src/pjsip-simple/evsub.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/pjsip/src/pjsip-simple/evsub.c b/pjsip/src/pjsip-simple/evsub.c index c393470c..aa2498c4 100644 --- a/pjsip/src/pjsip-simple/evsub.c +++ b/pjsip/src/pjsip-simple/evsub.c @@ -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); |