path: root/openbsc/src
diff options
authorKeith <keith@rhizomatica.org>2020-03-27 04:05:02 +0100
committerKeith <keith@rhizomatica.org>2020-03-27 04:08:30 +0100
commit5b5b8666816e2a081dd18502fec39a04f88939c5 (patch)
tree5dbde38e4d1cc945fd8306c710a624ed973f96ff /openbsc/src
parent3f457a3b79e2908664b40eab9ca8e70c44a54898 (diff)
rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages
Backport of osmo-bsc 6b9e0e4e8834428f85f169106ed7b6141f5b185b (1) and 60d6d530ac6883db4f5c0394541ad654ddfd526c (2) (1) TS 48.058 sec 8.4.1 CHANNEL ACTIVATION and state: """ The BS and MS Power Parameters elements are included to indicate that BS and/or MS power control is to be performed by BTS. The maximum power to be used is indicated in the BS and MS Power elements respectively. """ Since we always want the BTS to do autonomous MS power control, let's add it. (2)Send IE MS Power Param to osmocom BTS models only Since MS Power Param IE content is operator dependant, it's currently not known which kind of content non-osmocom BTS support/allow, so let's avod possibily breaking those BTS until each BTS has been checked separately. Change-Id: Ieb51d5f2202ebd2861d3c33f2b5598e6b29d78eb
Diffstat (limited to 'openbsc/src')
1 files changed, 7 insertions, 0 deletions
diff --git a/openbsc/src/libbsc/abis_rsl.c b/openbsc/src/libbsc/abis_rsl.c
index 5a508b207..b06f61d1a 100644
--- a/openbsc/src/libbsc/abis_rsl.c
+++ b/openbsc/src/libbsc/abis_rsl.c
@@ -686,6 +686,13 @@ int rsl_chan_activate_lchan(struct gsm_lchan *lchan, uint8_t act_type,
msgb_tv_put(msg, RSL_IE_BS_POWER, lchan->bs_power);
msgb_tv_put(msg, RSL_IE_MS_POWER, lchan->ms_power);
msgb_tv_put(msg, RSL_IE_TIMING_ADVANCE, ta);
+ /* indicate MS power control to be performed by BTS: */
+ if (lchan->ts->trx->bts->type == GSM_BTS_TYPE_OSMOBTS)
+ msgb_tl_put(msg, RSL_IE_MS_POWER_PARAM);
+ /* else: Since IE MS_POWER_PARAM content is operator dependent, it's not
+ known if non-osmocom BTS models will support an empty IE, so let's
+ better skip sending it unless we know for sure what each expects. */
mr_config_for_bts(lchan, msg);
msg->dst = lchan->ts->trx->rsl_link;