BSC: Implement RSL_IE_MultirateCfg and use it in BSC_Tests

Change-Id: I0a5ddce570c0fd70f096d897b0b609d20b552ff7
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 09cd717..46fb952 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -111,6 +111,9 @@
 	/* BTS3 */ { trx_num := 1, tsc := 4 }
 }
 
+private const RSL_IE_Body mr_conf_amr_5_90 :=
+	valueof(RSL_IE_Body:{multirate_cfg := ts_RSL_MultirateCfg(true, 0, '00000100'B /* 5,90k */)});
+
 /* per-BTS state which we keep */
 type record BTS_State {
 	/* component reference to the IPA_Client component used for RSL */
@@ -4504,17 +4507,10 @@
 	/* Note: This setups the codec configuration. The parameter payload in
 	 * mr_conf must be consistant with the parameter codecElements in pars
 	 * and also must match the amr-config in osmo-bsc.cfg! */
-	var RSL_IE_Body mr_conf := {
-		other := {
-			len := 2,
-			payload := '2804'O
-		}
-	};
-
 	pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecAMR_F}));
 	pars.ass_codec_list.codecElements[0].s0_7 := '00000100'B; /* 5,90k */
 	pars.ass_codec_list.codecElements[0].s8_15 := '01010111'B;
-	pars.expect_mr_conf_ie := mr_conf;
+	pars.expect_mr_conf_ie := mr_conf_amr_5_90;
 
 	f_init(1, true);
 	f_sleep(1.0);
@@ -4539,17 +4535,10 @@
 	var MSC_ConnHdlr vc_conn;
 
 	/* See note above */
-	var RSL_IE_Body mr_conf := {
-		other := {
-			len := 2,
-			payload := '2804'O
-		}
-	};
-
 	pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecAMR_H}));
 	pars.ass_codec_list.codecElements[0].s0_7 := '00000100'B; /* 5,90k */
 	pars.ass_codec_list.codecElements[0].s8_15 := '00000111'B;
-	pars.expect_mr_conf_ie := mr_conf;
+	pars.expect_mr_conf_ie := mr_conf_amr_5_90;
 
 	f_init(1, true);
 	f_sleep(1.0);
@@ -4598,17 +4587,11 @@
 	var TestHdlrParams pars := f_gen_test_hdlr_pars();
 	var MSC_ConnHdlr vc_conn;
 
-	var RSL_IE_Body mr_conf := {
-		other := {
-			len := 2,
-			payload := '2004'O /* <- expect ICMI=0, smod=00 */
-		}
-	};
-
 	pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecAMR_F}));
 	pars.ass_codec_list.codecElements[0].s0_7 := '00000100'B; /* 5,90k */
 	pars.ass_codec_list.codecElements[0].s8_15 := '01010111'B;
-	pars.expect_mr_conf_ie := mr_conf;
+	/* expect ICMI=0, smod=00: */
+	pars.expect_mr_conf_ie := valueof(RSL_IE_Body:{multirate_cfg := ts_RSL_MultirateCfg(false, 0, '00000100'B /* 5,90k */)});
 
 	f_init(1, true);
 	f_sleep(1.0);