Change in osmo-bsc[master]: bty_vty: add VTY settungs for temporary overpower

dexter gerrit-no-reply at lists.osmocom.org
Mon Aug 30 16:03:31 UTC 2021


dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25283 )


Change subject: bty_vty: add VTY settungs for temporary overpower
......................................................................

bty_vty: add VTY settungs for temporary overpower

To configure temporary overpower, new VTY commands are added. This patch
also addes the logic needed to attach the temporary overpower IE to the
RSL CHANNEL ACTIVATE message.

Change-Id: I488a91bb4ed86f630db56564a0cd293f39f0f690
Related: SYS#5319
---
M include/osmocom/bsc/bts.h
M src/osmo-bsc/abis_rsl.c
M src/osmo-bsc/bts_vty.c
3 files changed, 75 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/83/25283/1

diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h
index 291ec10..70e706e 100644
--- a/include/osmocom/bsc/bts.h
+++ b/include/osmocom/bsc/bts.h
@@ -549,6 +549,11 @@
 	 * enable/disable certain ACCH repeation features individually */
 	struct abis_rsl_osmo_rep_acch_cap repeated_acch_policy;
 
+	/* osmocom specific FACCH/SACCH temporary overpower value. This value
+	 * is set to a constant value by the VTY. Temporary overpower is only
+	 * applied when FACCH/SACCH repetition is not applicable or disabled */
+	struct abis_rsl_osmo_top_acch_cap temporary_overpower;
+
 	/* MS/BS Power Control parameters */
 	struct gsm_power_ctrl_params ms_power_ctrl;
 	struct gsm_power_ctrl_params bs_power_ctrl;
diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c
index 26231ac..6d730d9 100644
--- a/src/osmo-bsc/abis_rsl.c
+++ b/src/osmo-bsc/abis_rsl.c
@@ -548,6 +548,34 @@
 	}
 }
 
+/* indicate Temporary overpower of SACCH and FACCH channels */
+static void top_acch_cap_for_bts(struct gsm_lchan *lchan, struct msgb *msg)
+{
+	struct abis_rsl_osmo_top_acch_cap *cap;
+	struct gsm_bts *bts = lchan->ts->trx->bts;
+	bool acch_rep_enabled;
+	bool acch_rep_supp_by_ms;
+
+	/* The RSL_IE_OSMO_TOP_ACCH_CAP IE is a proprietary IE, that can only be used with osmo-bts type BTSs */
+	if (!(bts->model->type == GSM_BTS_TYPE_OSMOBTS && osmo_bts_has_feature(&bts->features, BTS_FEAT_ACCH_TOP)))
+		return;
+
+	cap = (struct abis_rsl_osmo_top_acch_cap *)msg->tail;
+	msgb_tlv_put(msg, RSL_IE_OSMO_TOP_ACCH_CAP, sizeof(*cap), (uint8_t *) & bts->temporary_overpower);
+
+	/* The user has enabled one of the two downlink related ACCH repetition features. */
+	acch_rep_enabled = bts->repeated_acch_policy.dl_sacch || bts->repeated_acch_policy.dl_facch_all
+	    || bts->repeated_acch_policy.dl_facch_cmd;
+
+	/* The MS indicates support for ACCH repetition */
+	acch_rep_supp_by_ms = lchan->conn && lchan->conn->cm3_valid && lchan->conn->cm3.repeated_acch_capability;
+
+	/* If the MS fully supports repeated ACCH capabilites as specified in 3GPP TS 44.006, section 10 and 11. and if
+	 * ACCH repetition is enabled for this BTS, then we will not apply temporary overpower. */
+	if (acch_rep_enabled && acch_rep_supp_by_ms)
+		cap->top = 0;
+}
+
 /* Write RSL_IE_OSMO_TRAINING_SEQUENCE to msgb. The tsc_set argument's range is 1-4, tsc argument range is 0-7. */
 static void put_osmo_training_sequence_ie(struct msgb *msg, uint8_t tsc_set, uint8_t tsc)
 {
@@ -675,6 +703,7 @@
 	}
 
 	rep_acch_cap_for_bts(lchan, msg);
+	top_acch_cap_for_bts(lchan, msg);
 
 	/* Selecting a specific TSC Set is only applicable to VAMOS mode */
 	if (lchan->activate.info.vamos && lchan->activate.tsc_set >= 1)
@@ -746,6 +775,7 @@
 	}
 
         rep_acch_cap_for_bts(lchan, msg);
+        top_acch_cap_for_bts(lchan, msg);
 
 	/* Selecting a specific TSC Set is only applicable to VAMOS mode. Send this Osmocom specific IE only to OsmoBTS
 	 * types. */
diff --git a/src/osmo-bsc/bts_vty.c b/src/osmo-bsc/bts_vty.c
index 577feec..e6fefb5 100644
--- a/src/osmo-bsc/bts_vty.c
+++ b/src/osmo-bsc/bts_vty.c
@@ -746,6 +746,41 @@
 	return CMD_SUCCESS;
 }
 
+#define TOP_ACCH_STR "Temporary ACCH overpower\n"
+
+DEFUN_USRATTR(cfg_bts_top_dl_acch,
+	      cfg_bts_top_dl_acch_cmd,
+	      X(BSC_VTY_ATTR_NEW_LCHAN),
+	      "overpower dl-acch <1-4>",
+	      TOP_ACCH_STR
+	      "Enable ACCH overpower for this BTS\n"
+	      "overpower value in dB\n")
+{
+	struct gsm_bts *bts = vty->index;
+
+	if (bts->model->type != GSM_BTS_TYPE_OSMOBTS) {
+		vty_out(vty, "%% repeated ACCH not supported by BTS %u%s",
+			bts->nr, VTY_NEWLINE);
+		return CMD_WARNING;
+	}
+
+        bts->temporary_overpower.top = atoi(argv[0]);
+	return CMD_SUCCESS;
+}
+
+DEFUN_USRATTR(cfg_bts_top_no_dl_acch,
+	      cfg_bts_top_no_dl_acch_cmd,
+	      X(BSC_VTY_ATTR_NEW_LCHAN),
+	      "no overpower dl-acch",
+	      NO_STR TOP_ACCH_STR
+	      "Disable ACCH overpower for this BTS\n")
+{
+	struct gsm_bts *bts = vty->index;
+
+	bts->temporary_overpower.top = 0;
+
+	return CMD_SUCCESS;
+}
 
 #define CD_STR "Channel Description\n"
 
@@ -3966,6 +4001,9 @@
 
 	ho_vty_write_bts(vty, bts);
 
+	if (bts->temporary_overpower.top > 0)
+		vty_out(vty, "  overpower dl-acch %u%s", bts->temporary_overpower.top, VTY_NEWLINE);
+
 	if (bts->repeated_acch_policy.dl_facch_all)
 		vty_out(vty, "  repeat dl-facch all%s", VTY_NEWLINE);
 	else if (bts->repeated_acch_policy.dl_facch_cmd)
@@ -4181,6 +4219,8 @@
 	install_element(BTS_NODE, &cfg_bts_rep_ul_dl_sacch_cmd);
 	install_element(BTS_NODE, &cfg_bts_rep_no_ul_dl_sacch_cmd);
 	install_element(BTS_NODE, &cfg_bts_rep_rxqual_cmd);
+	install_element(BTS_NODE, &cfg_bts_top_dl_acch_cmd);
+	install_element(BTS_NODE, &cfg_bts_top_no_dl_acch_cmd);
 	install_element(BTS_NODE, &cfg_bts_interf_meas_avg_period_cmd);
 	install_element(BTS_NODE, &cfg_bts_interf_meas_level_bounds_cmd);
 	install_element(BTS_NODE, &cfg_bts_srvcc_fast_return_cmd);

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25283
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I488a91bb4ed86f630db56564a0cd293f39f0f690
Gerrit-Change-Number: 25283
Gerrit-PatchSet: 1
Gerrit-Owner: dexter <pmaier at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210830/b536a09a/attachment.htm>


More information about the gerrit-log mailing list