aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2021-01-27 23:45:33 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2021-02-05 20:24:43 +0100
commitb03e73f27b26449864296fdab84f6fb6e1978c45 (patch)
tree4142fa45f1ccccd8e9bb040def380fab1e758ec5 /include
parent980a28fdcbf37b180159d02dd494e89e302b3481 (diff)
lchan activation: indicate whether TA is known
On lchan activation, we already know the Timing Advance in most situations: from the Channel Request RACH, or from a previous lchan in the same cell. Place this information in lchan->activate.info.ta. So far, the lchan->last_ta (until recently called rqd_ta) was used to store the initial TA for channel activation -- move the initial TA to lchan->activate.info.ta, for proper scoping. Only an inter-cell handover does not yet know a Timing Advance (until the Handover Detection RACH is received), so indicate activate.info.ta_known = false for that case. If ta_known is false, do not include an Access Delay IE in the Channel Activation message, ensuring that the BTS does not use an arbitrary TA that is likely inaccurate. The effect for OsmoBTS is that we will *not* start the downlink SACCH on channel activation for inter-cell handover, but will wait for a HO RACH first, and then use the correct TA when enabling downlink SACCH. Related: OS#4008 SYS#5192 Change-Id: I986bf93e8acd6aef7eaf63ac962480b680aa894f
Diffstat (limited to 'include')
-rw-r--r--include/osmocom/bsc/gsm_data.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h
index 6cb3cf0a4..edfae269e 100644
--- a/include/osmocom/bsc/gsm_data.h
+++ b/include/osmocom/bsc/gsm_data.h
@@ -571,6 +571,8 @@ struct lchan_activate_info {
/* During intra-BSC handover, we keep the MGW endpoint intact and just re-route to the new lchan. This
* activate_info is for the new lchan, the re_use_mgw_endpoint_from_lchan points at the old lchan. */
struct gsm_lchan *re_use_mgw_endpoint_from_lchan;
+ bool ta_known;
+ uint8_t ta;
};
struct gsm_lchan {