From 6cee893a0f2c4e53155a2631aff12a5f615b973d Mon Sep 17 00:00:00 2001 From: Stefan Sperling Date: Tue, 30 Jan 2018 18:14:22 +0100 Subject: Make "waiting indicator" of IMMEDIATE ASSIGN REJECT dynamic. The IMMEDIATE ASSIGN REJECT message contains a wait indicator which tells an MS requesting a channel to wait for a specified amount of time before trying to request a channel again, i.e. the wait indicator controls the T3122 timeout value in the MS. Previously, the wait indicator was fixed to 10 seconds. This is not sufficient if there are a lot of MS requesting channels because the MS will retry too soon. Instead of using a fixed value, maintain a dynamic wait indicator value based on average channel load. The load (used vs. available channels on a BTS) is sampled once per second, and once 8 samples have been collected we update a BTS-specific T3122 wait indicator based on the measured load. While the wait indicator could go up to 255 seconds, this initial implementation keeps it in the range from 10 to 128 seconds. Further experimentation and testing will show whether higher wait indicator values are desirable, if the sampling rate needs to change, or if the function mapping the load measurement to a wait indicator value should change (currently we map the load average linearly into the range [10, 128] inclusive). Change-Id: I57e38f6d6ba3b23cc6e1f9520b90261dbb1f1cec Related: OS#2592 --- src/libbsc/bsc_vty.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/libbsc/bsc_vty.c') diff --git a/src/libbsc/bsc_vty.c b/src/libbsc/bsc_vty.c index b4a8e2ddc..2246349fd 100644 --- a/src/libbsc/bsc_vty.c +++ b/src/libbsc/bsc_vty.c @@ -1711,7 +1711,7 @@ DECLARE_TIMER(3113, "Set the time to try paging a subscriber") DECLARE_TIMER(3115, "Currently not used") DECLARE_TIMER(3117, "Currently not used") DECLARE_TIMER(3119, "Currently not used") -DECLARE_TIMER(3122, "Waiting time (seconds) after IMM ASS REJECT") +DECLARE_TIMER(3122, "Default waiting time (seconds) after IMM ASS REJECT") DECLARE_TIMER(3141, "Currently not used") DEFUN_DEPRECATED(cfg_net_dtx, -- cgit v1.2.3