Change in osmo-bsc[master]: MS Power Control Loop: Allow Turn off/on C/I independent from value s...

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/.

pespin gerrit-no-reply at lists.osmocom.org
Mon Sep 27 14:23:36 UTC 2021


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


Change subject: MS Power Control Loop: Allow Turn off/on C/I independent from value setting
......................................................................

MS Power Control Loop: Allow Turn off/on C/I independent from value setting

Improve the current VTY support to allow enabling/disabling C/I logic
independent from value setting. This way C/I support can be quickly
disabled & enabled.

Reminder: changing power parameters still require VTY Command "bts NR
resend-power-control-defaults" to be excuted prior to new parameters
being applied on the BTS.

Related: SYS#4917
Change-Id: Id1224c2d9a52db2ed805c49e048d3086ed0167f5
---
M doc/manuals/chapters/power_control.adoc
M include/osmocom/bsc/gsm_data.h
M src/osmo-bsc/bts_osmobts.c
M src/osmo-bsc/bts_vty.c
M src/osmo-bsc/gsm_data.c
M tests/power_ctrl.vty
6 files changed, 126 insertions(+), 65 deletions(-)



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

diff --git a/doc/manuals/chapters/power_control.adoc b/doc/manuals/chapters/power_control.adoc
index bc112aa..51a38cb 100644
--- a/doc/manuals/chapters/power_control.adoc
+++ b/doc/manuals/chapters/power_control.adoc
@@ -33,6 +33,7 @@
 other hand, OsmoBTS may support some extra parameters coming in Osmocom specific
 IEs not supported by nanoBTS, such as those configuring C/I measurement thresholds.
 
+[[apply_pwr_ctrl]]
 ==== When the parameters come into effect?
 
 It depends on how the power control parameters are signaled to the BTS.  If a given
@@ -337,21 +338,24 @@
  bts 0
   ms-power-control
    mode dyn-bts <1>
-   ci-thresh amr-fr lower 7 upper 11 <2>
-   ci-thresh-comp amr-fr lower 2 10 <3> upper 3 4 <4>
+   ci-thresh amr-fr enable <2>
+   ci-thresh amr-fr lower 7 upper 11 <3>
+   ci-thresh-comp amr-fr lower 2 10 <4> upper 3 4 <5>
 ----
 <1> MS power control is to be performed by the BTS autonomously.
-<2> L_CI_AMR_FR_XX_P=7, U_CI_AMR_FR_XX_P=11.
-<3> P0=2 out of N1=10 averages < L_CI_AMR_FR_XX_P => increase power.
-<4> P1=3 out of N2=4 averages > U_CI_AMR_FR_XX_P => decrease power.
+<2> MS power control loop should take C/I into account.
+<3> L_CI_AMR_FR_XX_P=7, U_CI_AMR_FR_XX_P=11.
+<4> P0=2 out of N1=10 averages < L_CI_AMR_FR_XX_P => increase power.
+<5> P1=3 out of N2=4 averages > U_CI_AMR_FR_XX_P => decrease power.
 
 NOTE: The BSC can instruct a BTS to disable C/I related logic in its
 autonomous MS Power Control Loop for a given channel type (hence not taking C/I
 measurements into account) by means of setting both related LOWER_CMP_N and
 UPPER_CMP_N parameters to zero (see _ci-thresh-comp_ VTY command). For the sake
 of easing configuration, a placeholder VTY command to disable C/I for all
-channel types is available under VTY node _ms-power-control_ as *_ci-thresh-comp
-disable all_*.
+channel types is available under VTY node _ms-power-control_ as *_ci-thresh
+all disable_*. Afterwards, the new configuration must be deployed to the target
+BTS (see <<apply_pwr_ctrl>>).
 
 ==== Measurement averaging process
 
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h
index b166146..1fd7015 100644
--- a/include/osmocom/bsc/gsm_data.h
+++ b/include/osmocom/bsc/gsm_data.h
@@ -1289,6 +1289,9 @@
 
 /* MS/BS Power related measurement parameters */
 struct gsm_power_ctrl_meas_params {
+	/* Are this measurement paremeters to be taken into account by loop? */
+	bool enabled;
+
 	/* Thresholds (see 3GPP TS 45.008, section A.3.2.1) */
 	uint8_t lower_thresh; /* lower (decreasing) direction */
 	uint8_t upper_thresh; /* upper (increasing) direction */
diff --git a/src/osmo-bsc/bts_osmobts.c b/src/osmo-bsc/bts_osmobts.c
index 5007d2b..5c535be 100644
--- a/src/osmo-bsc/bts_osmobts.c
+++ b/src/osmo-bsc/bts_osmobts.c
@@ -112,8 +112,15 @@
 	ie_len = msgb_tl_put(msg, RSL_IPAC_EIE_OSMO_MS_PWR_CTL);
 	osmo_thresh = (struct osmo_preproc_pc_thresh *) msgb_put(msg, sizeof(*osmo_thresh));
 	#define ENC_THRESH_CI(TYPE) \
-		osmo_thresh->l_##TYPE = cp->TYPE##_meas.lower_thresh; \
-		osmo_thresh->u_##TYPE = cp->TYPE##_meas.upper_thresh
+		do { \
+			if (cp->TYPE##_meas.enabled) { \
+				osmo_thresh->l_##TYPE = cp->TYPE##_meas.lower_thresh; \
+				osmo_thresh->u_##TYPE = cp->TYPE##_meas.upper_thresh; \
+			} else { \
+				osmo_thresh->l_##TYPE = 0; \
+				osmo_thresh->u_##TYPE = 0; \
+			} \
+		} while (0)
 	ENC_THRESH_CI(ci_fr);
 	ENC_THRESH_CI(ci_hr);
 	ENC_THRESH_CI(ci_amr_fr);
@@ -128,10 +135,19 @@
 	ie_len = msgb_tl_put(msg, RSL_IPAC_EIE_OSMO_PC_THRESH_COMP);
 	osmo_thresh_comp = (struct osmo_preproc_pc_comp *) msgb_put(msg, sizeof(*osmo_thresh_comp));
 	#define ENC_THRESH_CI(TYPE) \
-		osmo_thresh_comp->TYPE.lower_p = cp->TYPE##_meas.lower_cmp_p & 0x1f; \
-		osmo_thresh_comp->TYPE.lower_n = cp->TYPE##_meas.lower_cmp_n & 0x1f; \
-		osmo_thresh_comp->TYPE.upper_p = cp->TYPE##_meas.upper_cmp_p & 0x1f; \
-		osmo_thresh_comp->TYPE.upper_n = cp->TYPE##_meas.upper_cmp_n & 0x1f
+		do { \
+			if (cp->TYPE##_meas.enabled) { \
+				osmo_thresh_comp->TYPE.lower_p = cp->TYPE##_meas.lower_cmp_p & 0x1f; \
+				osmo_thresh_comp->TYPE.lower_n = cp->TYPE##_meas.lower_cmp_n & 0x1f; \
+				osmo_thresh_comp->TYPE.upper_p = cp->TYPE##_meas.upper_cmp_p & 0x1f; \
+				osmo_thresh_comp->TYPE.upper_n = cp->TYPE##_meas.upper_cmp_n & 0x1f; \
+			} else { \
+				osmo_thresh_comp->TYPE.lower_p = 0; \
+				osmo_thresh_comp->TYPE.lower_n = 0; \
+				osmo_thresh_comp->TYPE.upper_p = 0; \
+				osmo_thresh_comp->TYPE.upper_n = 0; \
+			} \
+		} while (0)
 	ENC_THRESH_CI(ci_fr);
 	ENC_THRESH_CI(ci_hr);
 	ENC_THRESH_CI(ci_amr_fr);
diff --git a/src/osmo-bsc/bts_vty.c b/src/osmo-bsc/bts_vty.c
index 7a502d7..fb11520 100644
--- a/src/osmo-bsc/bts_vty.c
+++ b/src/osmo-bsc/bts_vty.c
@@ -3093,6 +3093,7 @@
 }
 
 #define VTY_CMD_CI_TYPE "(fr-efr|hr|amr-fr|amr-hr|sdcch|gprs)"
+#define VTY_CMD_CI_OR_ALL_TYPE "(fr-efr|hr|amr-fr|amr-hr|sdcch|gprs|all)"
 #define VTY_DESC_CI_TYPE \
 	"Channel Type FR/EFR\n" \
 	"Channel Type HR\n" \
@@ -3100,6 +3101,8 @@
 	"Channel Type AMR HR\n" \
 	"Channel Type SDCCH\n" \
 	"Channel Type (E)GPRS\n"
+#define VTY_DESC_CI_OR_ALL_TYPE VTY_DESC_CI_TYPE "All Channel Types\n"
+
 static struct gsm_power_ctrl_meas_params *ci_thresh_by_conn_type(struct gsm_power_ctrl_params *params, const char *type)
 {
 	if (!strcmp(type, "fr-efr"))
@@ -3155,6 +3158,35 @@
 	return CMD_SUCCESS;
 }
 
+DEFUN_USRATTR(cfg_power_ctrl_ci_thresh_disable,
+	      cfg_power_ctrl_ci_thresh_disable_cmd,
+	      X(BSC_VTY_ATTR_VENDOR_SPECIFIC) |
+	      X(BSC_VTY_ATTR_NEW_LCHAN),
+	      "ci-thresh " VTY_CMD_CI_OR_ALL_TYPE " (enable|disable)",
+	      "Set target C/I thresholds (for dynamic mode), only available in ms-power-control\n"
+	      VTY_DESC_CI_OR_ALL_TYPE
+	      "Enable C/I comparison in control loop\n"
+	      "Disable C/I comparison in control loop\n")
+{
+	struct gsm_power_ctrl_params *params = vty->index;
+
+	bool enable = strcmp(argv[1], "enable") == 0;
+
+	if (strcmp(argv[0], "all") == 0) {
+		params->ci_fr_meas.enabled = enable;
+		params->ci_hr_meas.enabled = enable;
+		params->ci_amr_fr_meas.enabled = enable;
+		params->ci_amr_hr_meas.enabled = enable;
+		params->ci_sdcch_meas.enabled = enable;
+		params->ci_gprs_meas.enabled = enable;
+	} else {
+		struct gsm_power_ctrl_meas_params *meas_params = ci_thresh_by_conn_type(params, argv[0]);
+		meas_params->enabled = enable;
+	}
+
+	return CMD_SUCCESS;
+}
+
 #define POWER_CONTROL_MEAS_THRESH_COMP_CMD(meas) \
 	meas " lower <0-31> <0-31> upper <0-31> <0-31>"
 #define POWER_CONTROL_MEAS_THRESH_COMP_DESC(meas, opt_param, lp, ln, up, un) \
@@ -3272,35 +3304,6 @@
 	return CMD_SUCCESS;
 }
 
-DEFUN_USRATTR(cfg_power_ctrl_ci_thresh_comp_disable,
-	      cfg_power_ctrl_ci_thresh_comp_disable_cmd,
-	      X(BSC_VTY_ATTR_VENDOR_SPECIFIC) |
-	      X(BSC_VTY_ATTR_NEW_LCHAN),
-	      "ci-thresh-comp disable all",
-	      "Set Carrier-to_interference (C/I) threshold comparators (for dynamic mode)\n"
-	      "Disable C/I comparison in control loop (sets LOWER_CMP_N and UPPER_CMP_N to zero)\n"
-	      "Disable C/I comparison for all channel types\n")
-{
-	struct gsm_power_ctrl_params *params = vty->index;
-
-#define DISABLE_MEAS_PC(PARAMS, TYPE) \
-	(PARAMS)->TYPE##_meas.lower_cmp_p = 0; \
-	(PARAMS)->TYPE##_meas.lower_cmp_n = 0; \
-	(PARAMS)->TYPE##_meas.upper_cmp_p = 0; \
-	(PARAMS)->TYPE##_meas.upper_cmp_n = 0
-
-	DISABLE_MEAS_PC(params, ci_fr);
-	DISABLE_MEAS_PC(params, ci_hr);
-	DISABLE_MEAS_PC(params, ci_amr_fr);
-	DISABLE_MEAS_PC(params, ci_amr_hr);
-	DISABLE_MEAS_PC(params, ci_sdcch);
-	DISABLE_MEAS_PC(params, ci_gprs);
-
-#undef DISABLE_MEAS_PC
-
-	return CMD_SUCCESS;
-}
-
 #define POWER_CONTROL_MEAS_AVG_CMD \
 	"(rxlev-avg|rxqual-avg)"
 #define POWER_CONTROL_MEAS_AVG_DESC \
@@ -3898,6 +3901,12 @@
 					 const struct gsm_power_ctrl_meas_params *mp,
 					 const char *param, const char *param2)
 {
+	if (strcmp(param, "ci") == 0) {
+		cfg_out("%s-thresh%s %s%s",
+			param, param2, mp->enabled ? "enable" : "disable",
+			VTY_NEWLINE);
+	}
+
 	cfg_out("%s-thresh%s lower %u upper %u%s",
 		param, param2, mp->lower_thresh, mp->upper_thresh,
 		VTY_NEWLINE);
@@ -3932,6 +3941,7 @@
 }
 
 static void config_write_power_ctrl(struct vty *vty, unsigned int indent,
+				    const struct gsm_bts *bts,
 				    const struct gsm_power_ctrl_params *cp)
 {
 	const char *node_name;
@@ -3965,7 +3975,7 @@
 		/* Measurement processing / averaging parameters */
 		config_write_power_ctrl_meas(vty, indent + 1, &cp->rxlev_meas, "rxlev", "");
 		config_write_power_ctrl_meas(vty, indent + 1, &cp->rxqual_meas, "rxqual", "");
-		if (cp->dir == GSM_PWR_CTRL_DIR_UL) {
+		if (cp->dir == GSM_PWR_CTRL_DIR_UL && is_osmobts(bts)) {
 			config_write_power_ctrl_meas(vty, indent + 1, &cp->ci_fr_meas, "ci", " fr-efr");
 			config_write_power_ctrl_meas(vty, indent + 1, &cp->ci_hr_meas, "ci", " hr");
 			config_write_power_ctrl_meas(vty, indent + 1, &cp->ci_amr_fr_meas, "ci", " amr-fr");
@@ -4285,8 +4295,8 @@
 	}
 
 	/* BS/MS Power Control parameters */
-	config_write_power_ctrl(vty, 2, &bts->bs_power_ctrl);
-	config_write_power_ctrl(vty, 2, &bts->ms_power_ctrl);
+	config_write_power_ctrl(vty, 2, bts, &bts->bs_power_ctrl);
+	config_write_power_ctrl(vty, 2, bts, &bts->ms_power_ctrl);
 
 	config_write_bts_model(vty, bts);
 }
@@ -4470,11 +4480,11 @@
 	install_element(POWER_CTRL_NODE, &cfg_power_ctrl_step_size_cmd);
 	install_element(POWER_CTRL_NODE, &cfg_power_ctrl_rxlev_thresh_cmd);
 	install_element(POWER_CTRL_NODE, &cfg_power_ctrl_rxqual_thresh_cmd);
+	install_element(POWER_CTRL_NODE, &cfg_power_ctrl_ci_thresh_disable_cmd);
 	install_element(POWER_CTRL_NODE, &cfg_power_ctrl_ci_thresh_cmd);
 	install_element(POWER_CTRL_NODE, &cfg_power_ctrl_rxlev_thresh_comp_cmd);
 	install_element(POWER_CTRL_NODE, &cfg_power_ctrl_rxqual_thresh_comp_cmd);
 	install_element(POWER_CTRL_NODE, &cfg_power_ctrl_ci_thresh_comp_cmd);
-	install_element(POWER_CTRL_NODE, &cfg_power_ctrl_ci_thresh_comp_disable_cmd);
 	install_element(POWER_CTRL_NODE, &cfg_power_ctrl_no_avg_cmd);
 	install_element(POWER_CTRL_NODE, &cfg_power_ctrl_avg_params_cmd);
 	install_element(POWER_CTRL_NODE, &cfg_power_ctrl_avg_algo_cmd);
diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c
index a6c54d8..c8108e8 100644
--- a/src/osmo-bsc/gsm_data.c
+++ b/src/osmo-bsc/gsm_data.c
@@ -1146,6 +1146,7 @@
 
 	/* RxLev measurement parameters */
 	.rxlev_meas = {
+		.enabled = true,
 		/* Thresholds for RxLev (see 3GPP TS 45.008, A.3.2.1) */
 		.lower_thresh = 32, /* L_RXLEV_XX_P (-78 dBm) */
 		.upper_thresh = 38, /* U_RXLEV_XX_P (-72 dBm) */
@@ -1170,6 +1171,7 @@
 
 	/* RxQual measurement parameters */
 	.rxqual_meas = {
+		.enabled = true,
 		/* Thresholds for RxQual (see 3GPP TS 45.008, A.3.2.1) */
 		.lower_thresh = 3, /* L_RXQUAL_XX_P (0.8% <= BER < 1.6%) */
 		.upper_thresh = 0, /* U_RXQUAL_XX_P (BER < 0.2%) */
@@ -1198,6 +1200,7 @@
 	 * above the target.
 	 */
 	.ci_fr_meas = { /* FR: Target C/I = 15 dB, Soft blocking threshold = 10 dB */
+		.enabled = true,
 		.lower_thresh = 13,
 		.upper_thresh = 17,
 
@@ -1219,6 +1222,7 @@
 		.h_reqt = 6, /* TODO: investigate a reasonable default value */
 	},
 	.ci_hr_meas = { /* HR: Target C/I = 18 dB, Soft blocking threshold = 13 dB */
+		.enabled = true,
 		.lower_thresh = 16,
 		.upper_thresh = 21,
 
@@ -1240,6 +1244,7 @@
 		.h_reqt = 6, /* TODO: investigate a reasonable default value */
 	},
 	.ci_amr_fr_meas = { /* AMR-FR: Target C/I = 9 dB, Soft blocking threshold = 4 dB */
+		.enabled = true,
 		.lower_thresh = 7,
 		.upper_thresh = 11,
 
@@ -1261,6 +1266,7 @@
 		.h_reqt = 6, /* TODO: investigate a reasonable default value */
 	},
 	.ci_amr_hr_meas = { /* AMR-HR: Target C/I = 15 dB, Soft blocking threshold = 10 dB */
+		.enabled = true,
 		.lower_thresh = 13,
 		.upper_thresh = 17,
 
@@ -1282,6 +1288,7 @@
 		.h_reqt = 6, /* TODO: investigate a reasonable default value */
 	},
 	.ci_sdcch_meas = { /* SDCCH: Target C/I = 14 dB, Soft blocking threshold = 9 dB */
+		.enabled = true,
 		.lower_thresh = 12,
 		.upper_thresh = 16,
 
@@ -1303,6 +1310,7 @@
 		.h_reqt = 6, /* TODO: investigate a reasonable default value */
 	},
 	.ci_gprs_meas = { /* GPRS: Target C/I = 20 dB, Soft blocking threshold = 15 dB */
+		.enabled = true,
 		.lower_thresh = 18,
 		.upper_thresh = 24,
 
diff --git a/tests/power_ctrl.vty b/tests/power_ctrl.vty
index b14a905..491adca 100644
--- a/tests/power_ctrl.vty
+++ b/tests/power_ctrl.vty
@@ -34,11 +34,11 @@
   . lv  step-size inc <2-6> red <2-4>
   . lv  rxlev-thresh lower <0-63> upper <0-63>
   . lv  rxqual-thresh lower <0-7> upper <0-7>
+  . lv  ci-thresh (fr-efr|hr|amr-fr|amr-hr|sdcch|gprs|all) (enable|disable)
   . lv  ci-thresh (fr-efr|hr|amr-fr|amr-hr|sdcch|gprs) lower <0-30> upper <0-30>
   . lv  rxlev-thresh-comp lower <0-31> <0-31> upper <0-31> <0-31>
   . lv  rxqual-thresh-comp lower <0-31> <0-31> upper <0-31> <0-31>
   . lv  ci-thresh-comp (fr-efr|hr|amr-fr|amr-hr|sdcch|gprs) lower <0-31> <0-31> upper <0-31> <0-31>
-  . lv  ci-thresh-comp disable all
   . lv  no (rxlev-avg|rxqual-avg)
   . lv  (rxlev-avg|rxqual-avg) params hreqave <1-31> hreqt <1-31>
   . lv  (rxlev-avg|rxqual-avg) algo (unweighted|weighted|mod-median)
@@ -115,11 +115,11 @@
   . lv  step-size inc <2-6> red <2-4>
   . lv  rxlev-thresh lower <0-63> upper <0-63>
   . lv  rxqual-thresh lower <0-7> upper <0-7>
+  . lv  ci-thresh (fr-efr|hr|amr-fr|amr-hr|sdcch|gprs|all) (enable|disable)
   . lv  ci-thresh (fr-efr|hr|amr-fr|amr-hr|sdcch|gprs) lower <0-30> upper <0-30>
   . lv  rxlev-thresh-comp lower <0-31> <0-31> upper <0-31> <0-31>
   . lv  rxqual-thresh-comp lower <0-31> <0-31> upper <0-31> <0-31>
   . lv  ci-thresh-comp (fr-efr|hr|amr-fr|amr-hr|sdcch|gprs) lower <0-31> <0-31> upper <0-31> <0-31>
-  . lv  ci-thresh-comp disable all
   . lv  no (rxlev-avg|rxqual-avg)
   . lv  (rxlev-avg|rxqual-avg) params hreqave <1-31> hreqt <1-31>
   . lv  (rxlev-avg|rxqual-avg) algo (unweighted|weighted|mod-median)
@@ -143,16 +143,22 @@
    rxlev-thresh-comp lower 10 12 upper 19 20
    rxqual-thresh lower 3 upper 0
    rxqual-thresh-comp lower 5 7 upper 15 18
+   ci-thresh fr-efr enable
    ci-thresh fr-efr lower 13 upper 17
    ci-thresh-comp fr-efr lower 5 7 upper 15 18
+   ci-thresh hr enable
    ci-thresh hr lower 16 upper 21
    ci-thresh-comp hr lower 5 7 upper 15 18
+   ci-thresh amr-fr enable
    ci-thresh amr-fr lower 7 upper 11
    ci-thresh-comp amr-fr lower 5 7 upper 15 18
+   ci-thresh amr-hr enable
    ci-thresh amr-hr lower 13 upper 17
    ci-thresh-comp amr-hr lower 5 7 upper 15 18
+   ci-thresh sdcch enable
    ci-thresh sdcch lower 12 upper 16
    ci-thresh-comp sdcch lower 5 7 upper 15 18
+   ci-thresh gprs enable
    ci-thresh gprs lower 18 upper 24
    ci-thresh-comp gprs lower 5 7 upper 15 18
 ...
@@ -304,33 +310,47 @@
 ...
   ms-power-control
 ...
+   ci-thresh fr-efr enable
+   ci-thresh fr-efr lower 13 upper 17
    ci-thresh-comp fr-efr lower 5 7 upper 15 18
-...
+   ci-thresh hr enable
+   ci-thresh hr lower 16 upper 21
    ci-thresh-comp hr lower 5 7 upper 15 18
-...
+   ci-thresh amr-fr enable
+   ci-thresh amr-fr lower 7 upper 11
    ci-thresh-comp amr-fr lower 5 7 upper 15 18
-...
+   ci-thresh amr-hr enable
+   ci-thresh amr-hr lower 13 upper 17
    ci-thresh-comp amr-hr lower 5 7 upper 15 18
-...
+   ci-thresh sdcch enable
+   ci-thresh sdcch lower 12 upper 16
    ci-thresh-comp sdcch lower 5 7 upper 15 18
-...
+   ci-thresh gprs enable
+   ci-thresh gprs lower 18 upper 24
    ci-thresh-comp gprs lower 5 7 upper 15 18
 ...
 
-OsmoBSC(config-ms-power-ctrl)# ci-thresh-comp disable all
+OsmoBSC(config-ms-power-ctrl)# ci-thresh all disable
 OsmoBSC(config-ms-power-ctrl)# show running-config
 ...
   ms-power-control
 ...
-   ci-thresh-comp fr-efr lower 0 0 upper 0 0
-...
-   ci-thresh-comp hr lower 0 0 upper 0 0
-...
-   ci-thresh-comp amr-fr lower 0 0 upper 0 0
-...
-   ci-thresh-comp amr-hr lower 0 0 upper 0 0
-...
-   ci-thresh-comp sdcch lower 0 0 upper 0 0
-...
-   ci-thresh-comp gprs lower 0 0 upper 0 0
+   ci-thresh fr-efr disable
+   ci-thresh fr-efr lower 13 upper 17
+   ci-thresh-comp fr-efr lower 5 7 upper 15 18
+   ci-thresh hr disable
+   ci-thresh hr lower 16 upper 21
+   ci-thresh-comp hr lower 5 7 upper 15 18
+   ci-thresh amr-fr disable
+   ci-thresh amr-fr lower 7 upper 11
+   ci-thresh-comp amr-fr lower 5 7 upper 15 18
+   ci-thresh amr-hr disable
+   ci-thresh amr-hr lower 13 upper 17
+   ci-thresh-comp amr-hr lower 5 7 upper 15 18
+   ci-thresh sdcch disable
+   ci-thresh sdcch lower 12 upper 16
+   ci-thresh-comp sdcch lower 5 7 upper 15 18
+   ci-thresh gprs disable
+   ci-thresh gprs lower 18 upper 24
+   ci-thresh-comp gprs lower 5 7 upper 15 18
 ...

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

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Id1224c2d9a52db2ed805c49e048d3086ed0167f5
Gerrit-Change-Number: 25611
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210927/480e2cac/attachment.htm>


More information about the gerrit-log mailing list