BSC_Tests: Verify paging stops after BSSMAP RESET on A interface
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 38eda35..ea8b67e 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -744,8 +744,36 @@
/* Verify paging stops after channel establishment */
/* Verify PCH load */
/* Test behavior under paging overload */
-/* Verify paging stops after A-RESET */
+/* Verify paging stops after A-RESET */
+testcase TC_paging_imsi_a_reset() runs on test_CT {
+ var BSSMAP_FIELD_CellIdentificationList cid_list;
+ timer T := 3.0;
+ cid_list := valueof(ts_BSSMAP_CIL_noCell);
+ f_pageing_helper('001010123456789'H, cid_list);
+
+ /* Perform a BSSMAP Reset and wait for ACK */
+ BSSAP.send(ts_BSSAP_UNITDATA_req(g_sccp_addr_peer, g_sccp_addr_own, ts_BSSMAP_Reset(0)));
+ alt {
+ [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(g_sccp_addr_own, g_sccp_addr_peer, tr_BSSMAP_ResetAck)) { }
+ [] BSSAP.receive { repeat; }
+ }
+
+ /* Clear the queue, it might still contain stuff like BCCH FILLING */
+ IPA_RSL[0].clear;
+
+ /* Wait for 3 seconds if any more PAGING CMD are received on RSL */
+ T.start;
+ alt {
+ [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_PAGING_CMD(?))) {
+ setverdict(fail, "Received PAGING after A-RESET");
+ self.stop;
+ }
+ [] T.timeout {
+ setverdict(pass);
+ }
+ }
+}
control {
execute( TC_ctrl_msc_connection_status() );
@@ -773,6 +801,7 @@
execute( TC_paging_imsi_nochan_lai() );
execute( TC_paging_imsi_nochan_lac() );
execute( TC_paging_imsi_nochan_all() );
+ execute( TC_paging_imsi_a_reset() );
}