diff options
author | Stefan Sperling <ssperling@sysmocom.de> | 2018-01-30 18:14:22 +0100 |
---|---|---|
committer | Stefan Sperling <ssperling@sysmocom.de> | 2018-02-05 13:58:17 +0100 |
commit | 6cee893a0f2c4e53155a2631aff12a5f615b973d (patch) | |
tree | 7472d680f1c64eefc851b5d3e8a1b75ef467318b /tests/channel | |
parent | 068e2ecf8882b2975d08fe1a25558ebae614af21 (diff) |
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
Diffstat (limited to 'tests/channel')
-rw-r--r-- | tests/channel/Makefile.am | 1 | ||||
-rw-r--r-- | tests/channel/channel_test.c | 3 |
2 files changed, 1 insertions, 3 deletions
diff --git a/tests/channel/Makefile.am b/tests/channel/Makefile.am index 12f18f85c..aae7a4532 100644 --- a/tests/channel/Makefile.am +++ b/tests/channel/Makefile.am @@ -29,4 +29,5 @@ channel_test_LDADD = \ $(top_builddir)/src/libcommon/libcommon.a \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ + $(LIBOSMOABIS_LIBS) \ $(NULL) diff --git a/tests/channel/channel_test.c b/tests/channel/channel_test.c index 7957b14a7..933df9c9d 100644 --- a/tests/channel/channel_test.c +++ b/tests/channel/channel_test.c @@ -98,12 +98,9 @@ int main(int argc, char **argv) return EXIT_SUCCESS; } -void _abis_nm_sendmsg() {} void sms_alloc() {} void sms_free() {} -void gsm_net_update_ctype(struct gsm_network *network) {} void gsm48_secure_channel() {} -void paging_request_stop() {} void vty_out() {} void ipa_client_conn_clear_queue() {} |