Change in osmo-bsc[master]: codec_pref: Add Codec List to COMPLETE LAYER 3 INFORMATION

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

dexter gerrit-no-reply at lists.osmocom.org
Fri Sep 14 18:03:50 UTC 2018


dexter has uploaded this change for review. ( https://gerrit.osmocom.org/10965


Change subject: codec_pref: Add Codec List to COMPLETE LAYER 3 INFORMATION
......................................................................

codec_pref: Add Codec List to COMPLETE LAYER 3 INFORMATION

The COMPLETE LAYER 3 INFORMATION message lacks the Codec List (BSS Supported)
information element. This information element is mandatory for networks
that use an IP based user plane (AoIP).

- Add function to generate the speech codec list from the current codec
  settings (Available codecs)
- Generate and embed information element in L3 Compl. message

Depends: libosmocore I4e656731b16621736c7a2f4e64d9ce63b1064e98

Change-Id: Id6f2af3fdab45bf05f06aec03e222734d7a4cf70
Related: OS#3548
---
M include/osmocom/bsc/codec_pref.h
M src/osmo-bsc/codec_pref.c
M src/osmo-bsc/gsm_08_08.c
M tests/codec_pref/codec_pref_test.c
M tests/codec_pref/codec_pref_test.ok
5 files changed, 1,213 insertions(+), 1 deletion(-)



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

diff --git a/include/osmocom/bsc/codec_pref.h b/include/osmocom/bsc/codec_pref.h
index 94fc987..03e306b 100644
--- a/include/osmocom/bsc/codec_pref.h
+++ b/include/osmocom/bsc/codec_pref.h
@@ -7,6 +7,8 @@
 struct gsm0808_speech_codec_list;
 struct gsm_audio_support;
 struct bts_codec_conf;
+struct bsc_msc_data;
+struct gsm_bts;
 
 int match_codec_pref(enum gsm48_chan_mode *chan_mode,
 		     bool *full_rate,
@@ -15,3 +17,7 @@
 		     struct gsm_audio_support * const *audio_support,
 		     int audio_length,
 		     const struct bts_codec_conf *bts_codec);
+
+void gen_bss_supp_codec_list(struct gsm0808_speech_codec_list *scl,
+			     const struct bsc_msc_data *msc,
+			     const struct gsm_bts *bts);
diff --git a/src/osmo-bsc/codec_pref.c b/src/osmo-bsc/codec_pref.c
index 924f77f..aa248f6 100644
--- a/src/osmo-bsc/codec_pref.c
+++ b/src/osmo-bsc/codec_pref.c
@@ -242,3 +242,56 @@
 
 	return 0;
 }
+
+/*! Determine the BSS supported speech codec list that is sent to the MSC with
+ * the COMPLETE LAYER 3 INFORMATION message.
+ *  \param[out] scl GSM 08.08 speech codec list with BSS supported codecs.
+ *  \param[in] msc associated msc (current codec settings).
+ *  \param[in] bts associated bts (current codec settings). */
+void gen_bss_supp_codec_list(struct gsm0808_speech_codec_list *scl,
+			     const struct bsc_msc_data *msc, const struct gsm_bts *bts)
+{
+	uint8_t perm_spch;
+	unsigned int i;
+	int rc;
+	uint16_t amr_s15_s0;
+	struct gsm48_multi_rate_conf *amr_cfg;
+
+	memset(scl, 0, sizeof(*scl));
+
+	for (i = 0; i < msc->audio_length; i++) {
+
+		/* Pick a permitted speech value from the global codec configuration list */
+		perm_spch = audio_support_to_gsm88(msc->audio_support[i]);
+
+		/* Check this permitted speech value against the BTS specific parameters.
+		 * if the BTS does not support the codec, try the next one */
+		if (!test_codec_support_bts(&bts->codec, perm_spch))
+			continue;
+
+		/* Write item into codec list */
+		rc = gsm0808_speech_codec_from_chan_type(&scl->codec[scl->len], perm_spch);
+		if (rc != 0)
+			continue;
+
+		/* AMR (HR/FR version 3) is the only codec that requires a
+		 * codec configuration (S0-S15). Determine the current
+		 * configuration and update the cfg flag. */
+		if (msc->audio_support[i]->ver == 3) {
+			if (msc->audio_support[i]->hr) {
+				amr_cfg = (struct gsm48_multi_rate_conf *)&bts->mr_full.gsm48_ie;
+				amr_s15_s0 = gsm0808_sc_cfg_from_gsm48_mr_cfg(amr_cfg, false);
+			} else {
+				amr_cfg = (struct gsm48_multi_rate_conf *)&bts->mr_full.gsm48_ie;
+				amr_s15_s0 = gsm0808_sc_cfg_from_gsm48_mr_cfg(amr_cfg, true);
+			}
+
+			scl->codec[scl->len].cfg = amr_s15_s0;
+		}
+
+		scl->len++;
+
+		/* FIXME: osmo-bsc has VTY options to forbid certain AMR settings. Those
+		 * settings are currently not taken into accound. */
+	}
+}
diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c
index 0d7cdf0..b725401 100644
--- a/src/osmo-bsc/gsm_08_08.c
+++ b/src/osmo-bsc/gsm_08_08.c
@@ -24,6 +24,7 @@
 #include <osmocom/bsc/debug.h>
 #include <osmocom/bsc/paging.h>
 #include <osmocom/bsc/gsm_08_08.h>
+#include <osmocom/bsc/codec_pref.h>
 
 #include <osmocom/bsc/gsm_04_80.h>
 #include <osmocom/bsc/gsm_04_08_rr.h>
@@ -446,6 +447,7 @@
 	char *imsi = NULL;
 	struct msgb *resp;
 	enum bsc_con ret;
+	struct gsm0808_speech_codec_list scl;
 
 	/* Check the filter */
 	rc = bsc_filter_initial(msc->network->bsc_data, msc, conn, msg,
@@ -490,8 +492,9 @@
 	/* check return value, if failed check msg for and send USSD */
 
 	bsc_scan_bts_msg(conn, msg);
+	gen_bss_supp_codec_list(&scl, msc, conn_get_bts(conn));
 
-	resp = gsm0808_create_layer3_2(msg, cgi_for_msc(conn->sccp.msc, conn_get_bts(conn)), NULL);
+	resp = gsm0808_create_layer3_2(msg, cgi_for_msc(conn->sccp.msc, conn_get_bts(conn)), &scl);
 	if (!resp) {
 		LOGP(DMSC, LOGL_DEBUG, "Failed to create layer3 message.\n");
 		return false;
diff --git a/tests/codec_pref/codec_pref_test.c b/tests/codec_pref/codec_pref_test.c
index efc77f6..6bda447 100644
--- a/tests/codec_pref/codec_pref_test.c
+++ b/tests/codec_pref/codec_pref_test.c
@@ -282,11 +282,36 @@
 {
 	/* Note: FR is supported by all BTSs, so there is no flag for it */
 
+	struct gsm48_multi_rate_conf *cfg;
+
 	OSMO_ASSERT(config_no < N_CONFIG_VARIANTS);
 
 	bts->codec.hr = 0;
 	bts->codec.efr = 0;
 	bts->codec.amr = 0;
+	memset(&bts->mr_full.gsm48_ie, 0, sizeof(bts->mr_full.gsm48_ie));
+	memset(&bts->mr_full.gsm48_ie, 0, sizeof(bts->mr_half.gsm48_ie));
+
+	/* Setup an AMR configuration, this configuration is separate and does
+	 * not influence other codecs than AMR */
+	cfg = (struct gsm48_multi_rate_conf*) &bts->mr_full.gsm48_ie;
+	cfg->m4_75 = 1;
+	cfg->m5_15 = 1;
+	cfg->m5_90 = 1;
+	cfg->m6_70 = 1;
+	cfg->m7_40 = 1;
+	cfg->m7_95 = 1;
+	cfg->m10_2 = 1;
+	cfg->m12_2 = 1;
+	cfg = (struct gsm48_multi_rate_conf*) &bts->mr_half.gsm48_ie;
+	cfg->m4_75 = 1;
+	cfg->m5_15 = 1;
+	cfg->m5_90 = 1;
+	cfg->m6_70 = 1;
+	cfg->m7_40 = 1;
+	cfg->m7_95 = 1;
+	cfg->m10_2 = 0;
+	cfg->m12_2 = 0;
 
 	switch (config_no) {
 	case 0:
@@ -590,6 +615,62 @@
 	free_msc_config(&msc_local);
 }
 
+/* Try execute bss_supp_codec_list(), display input and output parameters */
+static void test_gen_bss_supp_codec_list(const struct bsc_msc_data *msc, struct gsm_bts *bts)
+{
+	unsigned int i;
+	struct gsm0808_speech_codec_list scl;
+
+	printf("Determining Codec List (BSS Supported):\n");
+
+	printf(" * BSS: audio support settings (%u items):\n", msc->audio_length);
+	for (i = 0; i < msc->audio_length; i++)
+		if (msc->audio_support[i]->hr)
+			printf("   audio_support[%u]=HR%u\n", i, msc->audio_support[i]->ver);
+		else
+			printf("   audio_support[%u]=FR%u\n", i, msc->audio_support[i]->ver);
+
+	printf(" * BTS: audio support settings:\n");
+	printf("   (GSM-FR implicitly supported)\n");
+	printf("   codec->hr=%u\n", bts->codec.hr);
+	printf("   codec->efr=%u\n", bts->codec.efr);
+	printf("   codec->amr=%u\n", bts->codec.amr);
+
+	gen_bss_supp_codec_list(&scl, msc, bts);
+
+	printf(" * result: speech codec list (%u items):\n", scl.len);
+	for (i = 0; i < scl.len; i++) {
+		printf("   codec[%u]->type=%s", i, gsm0808_speech_codec_type_name(scl.codec[i].type));
+		if (msc->audio_support[i]->ver == 3)
+			printf(" S15-S0=%04x", scl.codec[i].cfg);
+		printf("\n");
+	}
+	printf("\n");
+}
+
+/* Test gen_bss_supp_codec_list() with some mixed configurations */
+static void test_gen_bss_supp_codec_list_cfgs(void)
+{
+	struct bsc_msc_data msc_local;
+	struct gsm_bts bts_local;
+	uint8_t i;
+	uint8_t k;
+
+	printf("============== test_gen_bss_supp_codec_list_cfgs ==============\n\n");
+	init_msc_config(&msc_local);
+
+	for (i = 0; i < N_CONFIG_VARIANTS; i++) {
+		for (k = 0; k < N_CONFIG_VARIANTS; k++) {
+			make_msc_config(&msc_local, i);
+			make_bts_config(&bts_local, k);
+			printf("MSC config: %u, BTS config: %u\n", i, k);
+			test_gen_bss_supp_codec_list(&msc_local, &bts_local);
+		}
+	}
+
+	free_msc_config(&msc_local);
+}
+
 static const struct log_info_cat log_categories[] = {
 	[DMSC] = {
 		  .name = "DMSC",
@@ -615,6 +696,7 @@
 	test_msc();
 	test_selected_working();
 	test_selected_non_working();
+	test_gen_bss_supp_codec_list_cfgs();
 
 	printf("Testing execution completed.\n");
 	talloc_free(ctx);
diff --git a/tests/codec_pref/codec_pref_test.ok b/tests/codec_pref/codec_pref_test.ok
index 3b36ea1..befc497 100644
--- a/tests/codec_pref/codec_pref_test.ok
+++ b/tests/codec_pref/codec_pref_test.ok
@@ -1018,4 +1018,1072 @@
    codec->amr=1
  * result: rc=-1, full_rate=0, chan_mode=SIGNALLING
 
+============== test_gen_bss_supp_codec_list_cfgs ==============
+
+MSC config: 0, BTS config: 0
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (1 items):
+   codec[0]->type=FR1
+
+MSC config: 0, BTS config: 1
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (1 items):
+   codec[0]->type=FR1
+
+MSC config: 0, BTS config: 2
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=1
+   codec->amr=0
+ * result: speech codec list (1 items):
+   codec[0]->type=FR1
+
+MSC config: 0, BTS config: 3
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (1 items):
+   codec[0]->type=FR1
+
+MSC config: 0, BTS config: 4
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (1 items):
+   codec[0]->type=FR1
+
+MSC config: 0, BTS config: 5
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (1 items):
+   codec[0]->type=FR1
+
+MSC config: 0, BTS config: 6
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=1
+   codec->amr=0
+ * result: speech codec list (1 items):
+   codec[0]->type=FR1
+
+MSC config: 0, BTS config: 7
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (1 items):
+   codec[0]->type=FR1
+
+MSC config: 0, BTS config: 8
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=1
+   codec->amr=1
+ * result: speech codec list (1 items):
+   codec[0]->type=FR1
+
+MSC config: 1, BTS config: 0
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (0 items):
+
+MSC config: 1, BTS config: 1
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (1 items):
+   codec[0]->type=HR1
+
+MSC config: 1, BTS config: 2
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=1
+   codec->amr=0
+ * result: speech codec list (0 items):
+
+MSC config: 1, BTS config: 3
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (0 items):
+
+MSC config: 1, BTS config: 4
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (0 items):
+
+MSC config: 1, BTS config: 5
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (1 items):
+   codec[0]->type=HR1
+
+MSC config: 1, BTS config: 6
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=1
+   codec->amr=0
+ * result: speech codec list (1 items):
+   codec[0]->type=HR1
+
+MSC config: 1, BTS config: 7
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (0 items):
+
+MSC config: 1, BTS config: 8
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=1
+   codec->amr=1
+ * result: speech codec list (1 items):
+   codec[0]->type=HR1
+
+MSC config: 2, BTS config: 0
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR2
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (0 items):
+
+MSC config: 2, BTS config: 1
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR2
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (0 items):
+
+MSC config: 2, BTS config: 2
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR2
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=1
+   codec->amr=0
+ * result: speech codec list (1 items):
+   codec[0]->type=FR2
+
+MSC config: 2, BTS config: 3
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR2
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (0 items):
+
+MSC config: 2, BTS config: 4
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR2
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (0 items):
+
+MSC config: 2, BTS config: 5
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR2
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (0 items):
+
+MSC config: 2, BTS config: 6
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR2
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=1
+   codec->amr=0
+ * result: speech codec list (1 items):
+   codec[0]->type=FR2
+
+MSC config: 2, BTS config: 7
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR2
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (0 items):
+
+MSC config: 2, BTS config: 8
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR2
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=1
+   codec->amr=1
+ * result: speech codec list (1 items):
+   codec[0]->type=FR2
+
+MSC config: 3, BTS config: 0
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (0 items):
+
+MSC config: 3, BTS config: 1
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (0 items):
+
+MSC config: 3, BTS config: 2
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=1
+   codec->amr=0
+ * result: speech codec list (0 items):
+
+MSC config: 3, BTS config: 3
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (1 items):
+   codec[0]->type=FR3 S15-S0=57ff
+
+MSC config: 3, BTS config: 4
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (1 items):
+   codec[0]->type=FR3 S15-S0=57ff
+
+MSC config: 3, BTS config: 5
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (0 items):
+
+MSC config: 3, BTS config: 6
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=1
+   codec->amr=0
+ * result: speech codec list (0 items):
+
+MSC config: 3, BTS config: 7
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (1 items):
+   codec[0]->type=FR3 S15-S0=57ff
+
+MSC config: 3, BTS config: 8
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=FR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=1
+   codec->amr=1
+ * result: speech codec list (1 items):
+   codec[0]->type=FR3 S15-S0=57ff
+
+MSC config: 4, BTS config: 0
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (0 items):
+
+MSC config: 4, BTS config: 1
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (0 items):
+
+MSC config: 4, BTS config: 2
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=1
+   codec->amr=0
+ * result: speech codec list (0 items):
+
+MSC config: 4, BTS config: 3
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (1 items):
+   codec[0]->type=HR3 S15-S0=073f
+
+MSC config: 4, BTS config: 4
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (1 items):
+   codec[0]->type=HR3 S15-S0=073f
+
+MSC config: 4, BTS config: 5
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (0 items):
+
+MSC config: 4, BTS config: 6
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=1
+   codec->amr=0
+ * result: speech codec list (0 items):
+
+MSC config: 4, BTS config: 7
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (1 items):
+   codec[0]->type=HR3 S15-S0=073f
+
+MSC config: 4, BTS config: 8
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (1 items):
+   audio_support[0]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=1
+   codec->amr=1
+ * result: speech codec list (1 items):
+   codec[0]->type=HR3 S15-S0=073f
+
+MSC config: 5, BTS config: 0
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (2 items):
+   audio_support[0]=FR1
+   audio_support[1]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (1 items):
+   codec[0]->type=FR1
+
+MSC config: 5, BTS config: 1
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (2 items):
+   audio_support[0]=FR1
+   audio_support[1]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (2 items):
+   codec[0]->type=FR1
+   codec[1]->type=HR1
+
+MSC config: 5, BTS config: 2
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (2 items):
+   audio_support[0]=FR1
+   audio_support[1]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=1
+   codec->amr=0
+ * result: speech codec list (1 items):
+   codec[0]->type=FR1
+
+MSC config: 5, BTS config: 3
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (2 items):
+   audio_support[0]=FR1
+   audio_support[1]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (1 items):
+   codec[0]->type=FR1
+
+MSC config: 5, BTS config: 4
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (2 items):
+   audio_support[0]=FR1
+   audio_support[1]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (1 items):
+   codec[0]->type=FR1
+
+MSC config: 5, BTS config: 5
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (2 items):
+   audio_support[0]=FR1
+   audio_support[1]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (2 items):
+   codec[0]->type=FR1
+   codec[1]->type=HR1
+
+MSC config: 5, BTS config: 6
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (2 items):
+   audio_support[0]=FR1
+   audio_support[1]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=1
+   codec->amr=0
+ * result: speech codec list (2 items):
+   codec[0]->type=FR1
+   codec[1]->type=HR1
+
+MSC config: 5, BTS config: 7
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (2 items):
+   audio_support[0]=FR1
+   audio_support[1]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (1 items):
+   codec[0]->type=FR1
+
+MSC config: 5, BTS config: 8
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (2 items):
+   audio_support[0]=FR1
+   audio_support[1]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=1
+   codec->amr=1
+ * result: speech codec list (2 items):
+   codec[0]->type=FR1
+   codec[1]->type=HR1
+
+MSC config: 6, BTS config: 0
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (3 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR2
+   audio_support[2]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (1 items):
+   codec[0]->type=FR1
+
+MSC config: 6, BTS config: 1
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (3 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR2
+   audio_support[2]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (2 items):
+   codec[0]->type=FR1
+   codec[1]->type=HR1
+
+MSC config: 6, BTS config: 2
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (3 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR2
+   audio_support[2]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=1
+   codec->amr=0
+ * result: speech codec list (2 items):
+   codec[0]->type=FR1
+   codec[1]->type=FR2
+
+MSC config: 6, BTS config: 3
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (3 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR2
+   audio_support[2]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (1 items):
+   codec[0]->type=FR1
+
+MSC config: 6, BTS config: 4
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (3 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR2
+   audio_support[2]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (1 items):
+   codec[0]->type=FR1
+
+MSC config: 6, BTS config: 5
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (3 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR2
+   audio_support[2]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (2 items):
+   codec[0]->type=FR1
+   codec[1]->type=HR1
+
+MSC config: 6, BTS config: 6
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (3 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR2
+   audio_support[2]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=1
+   codec->amr=0
+ * result: speech codec list (3 items):
+   codec[0]->type=FR1
+   codec[1]->type=FR2
+   codec[2]->type=HR1
+
+MSC config: 6, BTS config: 7
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (3 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR2
+   audio_support[2]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (1 items):
+   codec[0]->type=FR1
+
+MSC config: 6, BTS config: 8
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (3 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR2
+   audio_support[2]=HR1
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=1
+   codec->amr=1
+ * result: speech codec list (3 items):
+   codec[0]->type=FR1
+   codec[1]->type=FR2
+   codec[2]->type=HR1
+
+MSC config: 7, BTS config: 0
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (3 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR3
+   audio_support[2]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (1 items):
+   codec[0]->type=FR1
+
+MSC config: 7, BTS config: 1
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (3 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR3
+   audio_support[2]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (1 items):
+   codec[0]->type=FR1
+
+MSC config: 7, BTS config: 2
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (3 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR3
+   audio_support[2]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=1
+   codec->amr=0
+ * result: speech codec list (1 items):
+   codec[0]->type=FR1
+
+MSC config: 7, BTS config: 3
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (3 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR3
+   audio_support[2]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (3 items):
+   codec[0]->type=FR1
+   codec[1]->type=FR3 S15-S0=57ff
+   codec[2]->type=HR3 S15-S0=073f
+
+MSC config: 7, BTS config: 4
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (3 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR3
+   audio_support[2]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (3 items):
+   codec[0]->type=FR1
+   codec[1]->type=FR3 S15-S0=57ff
+   codec[2]->type=HR3 S15-S0=073f
+
+MSC config: 7, BTS config: 5
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (3 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR3
+   audio_support[2]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (1 items):
+   codec[0]->type=FR1
+
+MSC config: 7, BTS config: 6
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (3 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR3
+   audio_support[2]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=1
+   codec->amr=0
+ * result: speech codec list (1 items):
+   codec[0]->type=FR1
+
+MSC config: 7, BTS config: 7
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (3 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR3
+   audio_support[2]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (3 items):
+   codec[0]->type=FR1
+   codec[1]->type=FR3 S15-S0=57ff
+   codec[2]->type=HR3 S15-S0=073f
+
+MSC config: 7, BTS config: 8
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (3 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR3
+   audio_support[2]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=1
+   codec->amr=1
+ * result: speech codec list (3 items):
+   codec[0]->type=FR1
+   codec[1]->type=FR3 S15-S0=57ff
+   codec[2]->type=HR3 S15-S0=073f
+
+MSC config: 8, BTS config: 0
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (5 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR2
+   audio_support[2]=FR3
+   audio_support[3]=HR1
+   audio_support[4]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (1 items):
+   codec[0]->type=FR1
+
+MSC config: 8, BTS config: 1
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (5 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR2
+   audio_support[2]=FR3
+   audio_support[3]=HR1
+   audio_support[4]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (2 items):
+   codec[0]->type=FR1
+   codec[1]->type=HR1
+
+MSC config: 8, BTS config: 2
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (5 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR2
+   audio_support[2]=FR3
+   audio_support[3]=HR1
+   audio_support[4]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=1
+   codec->amr=0
+ * result: speech codec list (2 items):
+   codec[0]->type=FR1
+   codec[1]->type=FR2
+
+MSC config: 8, BTS config: 3
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (5 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR2
+   audio_support[2]=FR3
+   audio_support[3]=HR1
+   audio_support[4]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (3 items):
+   codec[0]->type=FR1
+   codec[1]->type=FR3
+   codec[2]->type=HR3 S15-S0=073f
+
+MSC config: 8, BTS config: 4
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (5 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR2
+   audio_support[2]=FR3
+   audio_support[3]=HR1
+   audio_support[4]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (3 items):
+   codec[0]->type=FR1
+   codec[1]->type=FR3
+   codec[2]->type=HR3 S15-S0=073f
+
+MSC config: 8, BTS config: 5
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (5 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR2
+   audio_support[2]=FR3
+   audio_support[3]=HR1
+   audio_support[4]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=0
+   codec->amr=0
+ * result: speech codec list (2 items):
+   codec[0]->type=FR1
+   codec[1]->type=HR1
+
+MSC config: 8, BTS config: 6
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (5 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR2
+   audio_support[2]=FR3
+   audio_support[3]=HR1
+   audio_support[4]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=1
+   codec->amr=0
+ * result: speech codec list (3 items):
+   codec[0]->type=FR1
+   codec[1]->type=FR2
+   codec[2]->type=HR1 S15-S0=0000
+
+MSC config: 8, BTS config: 7
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (5 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR2
+   audio_support[2]=FR3
+   audio_support[3]=HR1
+   audio_support[4]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=0
+   codec->efr=0
+   codec->amr=1
+ * result: speech codec list (3 items):
+   codec[0]->type=FR1
+   codec[1]->type=FR3
+   codec[2]->type=HR3 S15-S0=073f
+
+MSC config: 8, BTS config: 8
+Determining Codec List (BSS Supported):
+ * BSS: audio support settings (5 items):
+   audio_support[0]=FR1
+   audio_support[1]=FR2
+   audio_support[2]=FR3
+   audio_support[3]=HR1
+   audio_support[4]=HR3
+ * BTS: audio support settings:
+   (GSM-FR implicitly supported)
+   codec->hr=1
+   codec->efr=1
+   codec->amr=1
+ * result: speech codec list (5 items):
+   codec[0]->type=FR1
+   codec[1]->type=FR2
+   codec[2]->type=FR3 S15-S0=57ff
+   codec[3]->type=HR1
+   codec[4]->type=HR3 S15-S0=073f
+
 Testing execution completed.

-- 
To view, visit https://gerrit.osmocom.org/10965
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

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


More information about the gerrit-log mailing list