aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bsc/abis_rsl.c
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 /src/osmo-bsc/abis_rsl.c
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
Diffstat (limited to 'src/osmo-bsc/abis_rsl.c')
-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) */