aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2021-11-05 01:42:06 +0300
committerVadim Yanitskiy <vyanitskiy@sysmocom.de>2021-11-05 01:58:45 +0300
commit140aa51ea17275f8b7233ac438312cf225653c23 (patch)
tree7af4af0ae4ef5b31d9cd717b9e7789b9726dd5a2
parente74269bbe2befdec46ea321fad19e85b00a1834e (diff)
rsl_tx_chan_activ(): fix manual channel activation for nanoBTS
nanoBTS would NACK a CHANnel ACTIVation message for an 'intra cell channel change' if it does not contain the Timing Advance IE. And this is right, because according to 3GPP TS 48.058, section 8.4.1, point '4)', it *must* be included. Indeed, the actual Timing Advance value is not known during the manual channel activation triggered from the VTY interface. So let's merely indicate 0 if it's not known. Change-Id: Iee7ddb4cf1a9a7bb9b34e6c9f6f9899da480fbd0
-rw-r--r--src/osmo-bsc/abis_rsl.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c
index 0e2ffc698..c3825f6a8 100644
--- a/src/osmo-bsc/abis_rsl.c
+++ b/src/osmo-bsc/abis_rsl.c
@@ -691,6 +691,12 @@ int rsl_tx_chan_activ(struct gsm_lchan *lchan, uint8_t act_type, uint8_t ho_ref)
if (bts->type == GSM_BTS_TYPE_BS11)
ta <<= 2;
msgb_tv_put(msg, RSL_IE_TIMING_ADVANCE, ta);
+ } else if ((act_type & 0x06) == 0x00) {
+ /* Note '4)' in section 8.4.1: The Timing Advance element must be
+ * included if activation type is intra cell channel change. */
+ LOG_LCHAN(lchan, LOGL_NOTICE, "Timing Advance IE shall be present, "
+ "but the actual value is not known => assuming 0\n");
+ msgb_tv_put(msg, RSL_IE_TIMING_ADVANCE, 0);
}
/* BS/MS Power Control Parameters (if supported by BTS model) */