BSC_Tests: Add TC_chan_act_nack to test RSL Channel Activate NACK

Change-Id: Ic0188065f50d29c44d7bf220f2ef881997a14b68
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index a161c39..9cdfe27 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -307,6 +307,31 @@
 	setverdict(pass);
 }
 
+/* CHAN RQD -> CHAN ACT -> CHAN ACT NACK -> RF CHAN REL */
+testcase TC_chan_act_nack() runs on test_CT {
+	var RSL_Message rx_rsl;
+	var integer chact_nack;
+
+	f_init();
+	f_bssap_reset();
+
+	chact_nack := f_ctrl_get_ratectr_abs(IPA_CTRL, "bts", 0, "chan_act:nack");
+
+	f_ipa_tx(0, ts_RSL_CHAN_RQD('33'O, 33));
+	rx_rsl := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV));
+	var RslChannelNr chan_nr := rx_rsl.ies[0].body.chan_nr;
+
+	f_ipa_tx(0, ts_RSL_CHAN_ACT_NACK(chan_nr, RSL_ERR_EQUIPMENT_FAIL));
+
+	/* wait for some time to hope the NACK arrives before the CTRL GET below */
+	f_sleep(0.5);
+
+	f_ctrl_get_exp_ratectr_abs(IPA_CTRL, "bts", 0, "chan_act:nack", chact_nack+1);
+
+	setverdict(pass);
+}
+
+
 type record DchanTuple {
 	integer sccp_conn_id,
 	RslChannelNr rsl_chan_nr
@@ -986,6 +1011,7 @@
 	execute( TC_chan_act_ack_noest() );
 	execute( TC_chan_act_ack_est_ind_noreply() );
 	execute( TC_chan_act_ack_est_ind_refused() );
+	execute( TC_chan_act_nack() );
 	execute( TC_chan_rel_rll_rel_ind() );
 	execute( TC_chan_rel_conn_fail() );
 	execute( TC_chan_rel_hard_clear() );