add bsc/BSC_Tests_VAMOS.ttcn

BSC_Tests_VAMOS.ttcn is separate from BSC_Tests.ttcn in order to
instruct osmo-bts-omldummy to pass BTS_FEAT_VAMOS == true in the OML BTS
attributes.

Add tests:
TC_chan_act_to_vamos()
TC_mode_modify_to_vamos_fr()
TC_mode_modify_to_vamos_hr()
TC_assign_to_secondary_lchan_fr()
TC_assign_to_secondary_lchan_hr()
TC_vamos_multiplex_tch_f_tch_f()
TC_vamos_multiplex_tch_h_tch_h_tch_h_tch_h()

Change-Id: I2c504099163a30ea102cbd26d3615ca2e5ce1e64
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 2b3703f..41deea1 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -20,6 +20,8 @@
  * level testing.
  */
 
+friend module BSC_Tests_VAMOS;
+
 import from Misc_Helpers all;
 import from General_Types all;
 import from Osmocom_Types all;
@@ -673,7 +675,7 @@
 	uint8_t mp_exp_ms_power_level := 7;
 }
 
-private function f_gen_test_hdlr_pars(integer bssap_idx := 0) return TestHdlrParams {
+friend function f_gen_test_hdlr_pars(integer bssap_idx := 0) return TestHdlrParams {
 
 	var TestHdlrParams pars := valueof(t_def_TestHdlrPars);
 	if (mp_bssap_cfg[bssap_idx].transport == BSSAP_TRANSPORT_AoIP) {
@@ -799,7 +801,7 @@
 }
 
 
-private function f_shutdown_helper() runs on test_CT {
+friend function f_shutdown_helper() runs on test_CT {
 	all component.stop;
 	setverdict(pass);
 	mtc.stop;
@@ -1001,7 +1003,7 @@
 			  "sccp-timer iar " & int2str(g_bsc_sccp_timer_iar)});
 }
 
-private function f_logp(TELNETasp_PT pt, charstring log_msg)
+friend function f_logp(TELNETasp_PT pt, charstring log_msg)
 {
 	// log on TTCN3 log output
 	log(log_msg);
@@ -6602,7 +6604,7 @@
 	}
 }
 
-private function f_perform_clear(RSL_DCHAN_PT rsl, template PDU_ML3_NW_MS exp_rr_rel_tmpl := tr_RRM_RR_RELEASE)
+friend function f_perform_clear(RSL_DCHAN_PT rsl, template PDU_ML3_NW_MS exp_rr_rel_tmpl := tr_RRM_RR_RELEASE)
 runs on MSC_ConnHdlr {
 	f_logp(BSCVTY, "MSC instructs BSC to clear channel");
 	BSSAP.send(ts_BSSMAP_ClearCommand(0));