BTS_Tests: separate f_send_meas_rep() from f_transceive_meas_rep()

The key difference is that f_send_meas_rep() simply sends an RR
Measurement Report and does not wait until it's received on the RSL.

Change-Id: Ia5d0315e053702df5fa8dad8c6c66c11c9f3edcb
diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index 223e55b..5cf1900 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -778,12 +778,31 @@
 	var RSL_Message rx := f_rsl_transceive_ret(tx, exp_rx, id, ignore_other);
 }
 
+/* Send the given measurement results to the IUT over the Um interface */
+friend function f_send_meas_rep(template (value) MeasurementResults meas_res)
+runs on ConnHdlr {
+	var template (value) SacchL1Header l1h;
+	var octetstring l2;
+
+	/* RR Measurement Report to be sent */
+	var GsmRrL3Message meas_rep := {
+		header := valueof(t_RrL3Header(MEASUREMENT_REPORT)),
+		payload := { meas_rep := { meas_res := valueof(meas_res) } }
+	};
+
+	/* TITAN has weird (and often unusable) padding model, so we pad here manaully */
+	l2 := f_pad_oct(enc_LapdmFrameAB(valueof(ts_LAPDm_AB(0, meas_rep))), 21, '00'O);
+	l1h := ts_SacchL1Header(g_pars.l1_pars.ms_power_level, g_pars.l1_pars.ms_actual_ta);
+
+	/* Send RR Measurement Report over the Um interface */
+	L1CTL.send(ts_L1CTL_DATA_REQ_SACCH(g_chan_nr, ts_RslLinkID_SACCH(0), l1h, l2));
+}
+
 /* Send the given measurement results to the IUT over the Um interface,
  * wait for the IUT to receive then and forward over the A-bis/RSL interface. */
 friend function f_transceive_meas_rep(template (value) MeasurementResults meas_res)
 runs on ConnHdlr {
-	var template (value) SacchL1Header l1h;
-	var octetstring l2, l3;
+	var octetstring l3;
 	timer T;
 
 	/* RR Measurement Report to be sent */
@@ -794,11 +813,8 @@
 
 	/* TITAN has weird (and often unusable) padding model, so we pad here manaully */
 	l3 := f_pad_oct(enc_GsmRrL3Message(meas_rep), 18, '00'O);
-	l2 := f_pad_oct(enc_LapdmFrameAB(valueof(ts_LAPDm_AB(0, meas_rep))), 21, '00'O);
-	l1h := ts_SacchL1Header(g_pars.l1_pars.ms_power_level, g_pars.l1_pars.ms_actual_ta);
 
-	/* Send RR Measurement Report over the Um interface */
-	L1CTL.send(ts_L1CTL_DATA_REQ_SACCH(g_chan_nr, ts_RslLinkID_SACCH(0), l1h, l2));
+	f_send_meas_rep(meas_res);
 
 	/* Expect MEASurement RESult on the A-bis/RSL interface */
 	T.start(2.0);