Age | Commit message (Collapse) | Author | Files | Lines |
|
Change-Id: I8592d5ebb24d6d6a0e88c50dd39279c0ee737d07
|
|
Change-Id: I0dcf45e587f6b9d35fb2caca7a081721a537dfad
|
|
Change-Id: I8f14eecd0b7e2e76547804da665cd254628fee2b
|
|
Change-Id: I7d5e1e3d4963aebd9e314b03dee9148bb1e8e3a2
|
|
Change-Id: Ia2f71fbfa9429634fe9dd63dbd50ca962a68e921
|
|
Change-Id: I96d85ab8964db630dffc303d7d71d2d69306854d
|
|
Change-Id: I327003a61be18ae74fc5440794cabc5958e54d18
|
|
Change-Id: I54ebb1330ea783af1fe48eb999cecbb71aa8857a
|
|
Change-Id: I00a47d825a7b1b3b66f6df654c19676a86ae8b9f
|
|
Change-Id: Ib99996834ee668f7c998bb846b1a45efa2d7bcf8
|
|
Change-Id: I2b1868765346c7aba966cecd7b8db9aae9b047bb
|
|
Change-Id: I49bd1bf6c0ef0441b6d5d3dec6b7c39545eedeec
|
|
Change-Id: I6bdcac5d8c358320f953a0a3cd06876ae571be23
|
|
Change-Id: I0a5ac3a08f992f326435944f17e0a9171911afb0
|
|
In addition to logging the current values of a BTS's channel load
average and T3122 override, maintain stat items for these values.
This allows for plotting these values over time, for instance.
These values show up in the VTY under 'show stats' like this:
base transceiver station:
Channel load average.: 25 %
T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator.: 32 s
Change-Id: Icace0176e8b1d23d7c7b4816f7c67c65312844fa
Suggested-by: laforge
|
|
Change-Id: I87840aa0f5b9c04d7736bf5f649142219853711a
|
|
Change-Id: I806b957b7f6fbbb1206d29ceeccd401c98c26990
|
|
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
|
|
Change-Id: I2b51bbb4dce9757be7f2430b83b7879e24aa0df1
|
|
This member was merely a cache for conn->lchan->ts->trx->bts,
so let's avoid having to keep copies of the same data (which needs
to be kept up to date).
Change-Id: Id3bff8b18425ef5d45eb460ac9eb620023013ba0
|
|
The decision on how to further process the request depends significantly
on the contents of the only mandatory IE of the ASSIGNMENT REQ. Let's
decode it first.
Change-Id: I030b5ad6f4fc33da9155c8a6061fd982312b20fb
|
|
There's nothing wrong with passing the TLVP_VAL/TLVP_LEN directly into
the gsm0808 decoder functions, let's avoid variables that get assigned
and used only once - particularly with such generic names.
Change-Id: I8557b4a9ff4de28b76c7d618631a4700176a8669
|
|
This error message is now contained in a loop, and the current iteration
does not know whether paging will fail entirely or if later iterations
will succeed. Update the error message accordingly.
This also makes the error message consistent with the one in page_cgi().
Change-Id: I8ec229702343343dedcbb242b6d0ed170c858511
|
|
Local variable is_lu in rsl_rx_chan_rqd() has been unused
since commit 6082a377f57901302816a2e57e75a3f262b7b7e6.
Change-Id: I67594afcfa4104e91352d50f40ae9f2bc20f4cd1
|
|
When logging SCCP error, log failed primitive operation as text.
Change-Id: I91f739cea9f518a24fff6870f7dceab8175c9646
Related: OS#2851
|
|
This penalty timer is used to temporarily block cells where handover
or assignment failed or where handover is not allowed. This is usefull
to prevent repeated handover attempts to broken cells or cells that have
limited allowed distance.
Change-Id: I95cb7e3211b2470b773965e7aa94d8eb6c8c1a3a
|
|
When averaging measurements, only the valid reports are used. If there is
no valid report in the averaging window at all, an error is returned.
Change-Id: I33056225ead788340755e98113d72e1cbf3ebce6
|
|
Add ho_dtap_cache to gsm_subscriber_connection, a stock msgb queue to be used
with msgb_enqueue() and msgb_dequeue().
Keep a counter of queue length, to enforce a sane maximum counter for cached
messages. So far a hardcoded maximum of 23 messages will be cached.
Have balanced ho_dtap_cache_add() and ho_dtap_cache_flush() functions.
The original patch was by jolly, but I have basically completely replaced it
with the simpler msgb queue pattern.
Change-Id: I6e4d93628befb3d97e5cee0343cd9f8ba0b8620c
|
|
Change-Id: Ie746f76433f6b46a71a91b7714cc034c4355d993
|
|
The name sounds like it is looking up neighbors, instead it simply traverses
the global list of BTSes. Rename to reflect what it does.
Move FIXME comment to its logical place: at the invocation of
bts_by_arfcn_bsic().
Change-Id: I063870d09f782a4f18e85d87c7cd17fe660cb3fd
|
|
This is needed for handover algorithm to balance free slots and to prevent
congestion of one cell, while other cells still have free capacities.
Change-Id: Ic8bee8a515ee8aa9a99af71756fe60b8dd8f868b
|
|
Change-Id: I7322b790f647b681bfe3a9c95b04516fbc7cbf88
|
|
Change-Id: I8811ee8a75be09048042b511ee4bd9bc1de63976
|
|
Change-Id: I224884c84895ebf6c8cf498c16616214cb2b5779
|
|
If we want to average over up to 10 measurement reports (as configurable
at VTY), we need a history of at least 10 measurements.
Change-Id: Ia7cfac073bdc464092ca3e51dec319ac30401dd1
|
|
The given value is 10 * ms, so 13 is used instead of 128.
If T3105 is set at config to something greater 0, it is used instead of
the default value.
Adjusst nanobts_omlattr_test.c accordingly.
Change-Id: I3d9687619ba4de35f5d2eff3026d903534b2bbd4
|
|
This makes sense, if silent call is used. Assignment allows to change from
SDCCH (or whatever was available) to given TCH rate.
Change-Id: I2efe9d7ab429e902581ebb9e0e006f2aec6d8972
|
|
This can happen, if a TCH/H was requested, but because it is not available,
a TCH/F is allocated. If the old channel was TCH/F already, it makes no
sense to assign it.
Change-Id: I284125483fc14b8f82e32ee61aa3866746238eae
|
|
Change-Id: Iaf99d4e9ae08c38bf364dbb37d42098f976f6b8c
|
|
Change-Id: I465caef03626e67d9b3a21bdf730589b9852c211
|
|
The up-to-date rqd_ta is required for assignment command. If the phone
moves, the timing advance might change. The rqd_ta will be updated by
each measurement report.
Change-Id: If1a592e590cfed55ff3dca5be89e2946e8017a22
|
|
Change-Id: I3471e38327c4b98490faed9b604fb76438ba9954
|
|
Change-Id: Ia2269be448436d676289c84b9b05da7f51ee4a85
|
|
Change-Id: I8c5d0642aeb4fbee73a035b9f73cf3a09b1bcf90
|
|
Always start with a counter of 0 for a new measurement report. If the
neigh_meas_avg is caluclated over the given window, the window is
reduced, if there are less measurement reports received so far.
Change-Id: I1c74f27f9663a3083610c985a080fca331c19bd3
|
|
get_meas_rep_avg will return -EINVAL, if the required number of
measurements are not reached. There will be no handover possible until the
given number of measurements are available.
Change-Id: Ibc4410b4e162cdb6c070128d2c63946bb79d6d65
|
|
In case of current channel equals TCH/F and we request half rate, we
must return 0, so the calling function will trigger assignment.
Change-Id: Ibb4cb9aef1a1146f984d7c969bfba53c647cae07
|
|
This is needed, so channel can be negotiated before the actual channel
type is assigned.
In case there is no SDCCH available, try to assign what ever the MS requested.
If this is not possible try to assign TCH/F. If this is still not possible,
reject channel request.
Change-Id: I10fc9f60c58c6b7ed424a86ce23bf6b9802c9eb1
|
|
Change-Id: I6d1c9701808ee542771fee145250927019a2f5f6
|
|
The static ho_ref seems to be implicitly initialized to zero, but let's make it
explicit for code readability.
Change-Id: I00493bcb7ef3e38fb8e0077c60c5bac7199f1073
|