BSC_Tests.ttcn: introduce TC_chan_deact_silence

The idea of this test case is to verify channel deactivation
procedure due to no response to Immediate Assignment.

Change-Id: I00b0838c9f919303aef72280248b0d1317f42b3b
Related: OS#3709
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index a155fef..53e4396 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -524,6 +524,39 @@
 	}
 }
 
+/* Test channel deactivation due to silence from MS */
+testcase TC_chan_deact_silence() runs on test_CT {
+	var RslChannelNr chan_nr;
+
+	f_init(1);
+
+	/* Request for a dedicated channel */
+	chan_nr := f_chreq_act_ack('23'O);
+
+	/* Wait some time until the channel is released */
+	f_sleep(2.0);
+
+	/* Expect CHANnel RELease */
+	alt {
+	[] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0,
+			      tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL))) {
+		log("Received CHANnel RELease");
+		setverdict(pass);
+		}
+	[] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0,
+			      tr_RSL_IMM_ASSIGN(?))) {
+		/* See OS#3709, OsmoBSC should not send Immediate
+		 * Assignment Reject since a dedicated channel was
+		 * already allocated, and Immediate Assignment was
+		 * already sent. */
+		setverdict(fail, "Unexpected Immediate Assignment!");
+		}
+	[] IPA_RSL[0].receive {
+		setverdict(fail, "Unexpected RSL message!");
+		}
+	}
+}
+
 /***********************************************************************
  * Assignment Testing
  ***********************************************************************/
@@ -3372,6 +3405,7 @@
 	execute( TC_chan_act_ack_est_ind_refused() );
 	execute( TC_chan_act_nack() );
 	execute( TC_chan_exhaustion() );
+	execute( TC_chan_deact_silence() );
 	execute( TC_chan_rel_rll_rel_ind() );
 	execute( TC_chan_rel_conn_fail() );
 	execute( TC_chan_rel_hard_clear() );