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

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

laforge gerrit-no-reply at lists.osmocom.org
Thu Sep 2 17:44:54 UTC 2021


laforge has submitted this change. ( 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, 76 insertions(+), 0 deletions(-)

Approvals:
  laforge: Looks good to me, approved
  pespin: Looks good to me, but someone else must approve
  Jenkins Builder: Verified



diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h
index 291ec10..5ff798b 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_temp_ovp_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..c7399eb 100644
--- a/src/osmo-bsc/abis_rsl.c
+++ b/src/osmo-bsc/abis_rsl.c
@@ -548,6 +548,35 @@
 	}
 }
 
+/* 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_temp_ovp_acch_cap cap;
+	struct gsm_bts *bts = lchan->ts->trx->bts;
+	bool acch_rep_enabled;
+	bool acch_rep_supp_by_ms;
+
+	/* The BTS_FEAT_ACCH_TEMP_OVP 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_TEMP_OVP)))
+		return;
+
+	memcpy(&cap, &bts->temporary_overpower, sizeof(cap));
+
+	/* 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.overpower_db = 0;
+
+	msgb_tlv_put(msg, RSL_IE_OSMO_TEMP_OVP_ACCH_CAP, sizeof(cap), (uint8_t*) &cap);
+}
+
 /* 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 +704,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 +776,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 445eea4..bd06463 100644
--- a/src/osmo-bsc/bts_vty.c
+++ b/src/osmo-bsc/bts_vty.c
@@ -747,6 +747,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.overpower_db = 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.overpower_db = 0;
+
+	return CMD_SUCCESS;
+}
 
 #define CD_STR "Channel Description\n"
 
@@ -3967,6 +4002,9 @@
 
 	ho_vty_write_bts(vty, bts);
 
+	if (bts->temporary_overpower.overpower_db > 0)
+		vty_out(vty, "  overpower dl-acch %u%s", bts->temporary_overpower.overpower_db, 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)
@@ -4182,6 +4220,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: 4
Gerrit-Owner: dexter <pmaier at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy at sysmocom.de>
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210902/2ac636f4/attachment.htm>


More information about the gerrit-log mailing list