Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: introduce TC_proc_ss_paging_fail

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

fixeria gerrit-no-reply at lists.osmocom.org
Sat Jun 15 19:41:00 UTC 2019


fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14474


Change subject: MSC_Tests.ttcn: introduce TC_proc_ss_paging_fail
......................................................................

MSC_Tests.ttcn: introduce TC_proc_ss_paging_fail

The idea of this test case is to check that OsmoMSC does inform
HLR/EUSE that a subscriber did not respond to Paging Request in
case of network-originated SS/USSD.

Both f_expect_gsup_msg() and f_expect_dtap_msg() were extended
with optional timeout value, as we need to wait longer than
2.0 seconds (default). Let's stick to 10.0 seconds.

Change-Id: I1f53c56d569c8ac4071835685bbe3bc9e0ebd7f0
Related: OS#2931
---
M msc/MSC_Tests.ttcn
1 file changed, 64 insertions(+), 4 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/74/14474/1

diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index f9b2d03..b5a3ba7 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -2817,10 +2817,11 @@
 		}
 }
 
-private function f_expect_gsup_msg(template GSUP_PDU msg)
+private function f_expect_gsup_msg(template GSUP_PDU msg,
+				   float T_val := 2.0)
 runs on BSC_ConnHdlr return GSUP_PDU {
 	var GSUP_PDU gsup_msg_complete;
-	timer T := 2.0;
+	timer T := T_val;
 
 	T.start;
 	alt {
@@ -2837,10 +2838,11 @@
 	return gsup_msg_complete;
 }
 
-private function f_expect_mt_dtap_msg(template PDU_ML3_NW_MS msg)
+private function f_expect_mt_dtap_msg(template PDU_ML3_NW_MS msg,
+				      float T_val := 2.0)
 runs on BSC_ConnHdlr return PDU_ML3_NW_MS {
 	var PDU_DTAP_MT bssap_msg_complete;
-	timer T := 2.0;
+	timer T := T_val;
 
 	T.start;
 	alt {
@@ -3549,6 +3551,63 @@
 	vc_conn.done;
 }
 
+/* MT (network-originated) USSD and no response to Paging Request */
+friend function f_tc_proc_ss_paging_fail(charstring id, BSC_ConnHdlrPars pars)
+runs on BSC_ConnHdlr {
+	timer TP := 2.0; /* Paging timer */
+
+	f_init_handler(pars);
+
+	/* Perform location update */
+	f_perform_lu();
+
+	f_ran_register_imsi(g_pars.imsi, 'FFFFFFFF'O);
+	f_create_gsup_expect(hex2str(g_pars.imsi));
+
+	var template (value) GSUP_PDU gsup_req := ts_GSUP_PROC_SS_REQ(
+		imsi := g_pars.imsi,
+		sid := '20000444'O,
+		state := OSMO_GSUP_SESSION_STATE_BEGIN,
+		ss := f_rnd_octstring(23)
+	);
+
+	/* Error with some cause value */
+	var template GSUP_PDU gsup_rsp := tr_GSUP_PROC_SS_ERR(
+		imsi := g_pars.imsi,
+		sid := '20000444'O,
+		state := OSMO_GSUP_SESSION_STATE_END,
+		cause := ? /* FIXME: introduce an enumerated type! */
+	);
+
+	/* Initiate a MT USSD notification */
+	GSUP.send(gsup_req);
+
+	/* Send it to MSC and expect Paging Request */
+	TP.start;
+	alt {
+	[pars.ran_is_geran] BSSAP.receive(tr_BSSMAP_Paging(g_pars.imsi)) {
+		setverdict(pass);
+		}
+	[not pars.ran_is_geran] BSSAP.receive(tr_RANAP_Paging(cs_domain, imsi_hex2oct(g_pars.imsi))) {
+		setverdict(pass);
+		}
+	/* We don't expect anything else */
+	[] as_unexp_gsup_or_bssap_msg();
+	[] TP.timeout {
+		setverdict(fail, "Timeout waiting for Paging Request");
+		}
+	}
+
+	/* Expect GSUP PROC_SS_ERROR message */
+	f_expect_gsup_msg(gsup_rsp, T_val := 10.0);
+}
+testcase TC_proc_ss_paging_fail() runs on MTC_CT {
+	var BSC_ConnHdlr vc_conn;
+	f_init();
+	vc_conn := f_start_handler(refers(f_tc_proc_ss_paging_fail), 101);
+	vc_conn.done;
+}
+
 
 /* A5/1 only permitted on network side; attempt an invalid CIPHER MODE COMPLETE with A5/3 which MSC should reject. */
 private function f_tc_cipher_complete_with_invalid_cipher(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
@@ -5399,6 +5458,7 @@
 
 	execute( TC_mt_ussd_for_unknown_subscr() );
 	execute( TC_proc_ss_for_unknown_session() );
+	execute( TC_proc_ss_paging_fail() );
 
 	execute( TC_cipher_complete_with_invalid_cipher() );
 	execute( TC_cipher_complete_1_without_cipher() );

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14474
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I1f53c56d569c8ac4071835685bbe3bc9e0ebd7f0
Gerrit-Change-Number: 14474
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <axilirator at gmail.com>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190615/a30d5bf9/attachment.htm>


More information about the gerrit-log mailing list