msc: add f_tc_lu_and_mt_sms_paging_repeated
The testcase will ensure paging is repeated by the MSC.
Repeating will improve the reachability of MS when a Paging is lost
or not received because the MS is moving between states.
Change-Id: Ib5bf0b62e0639436cdcba03acbaedf1458e18873
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index 063105c..0d54405 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -2060,6 +2060,48 @@
vc_conn.done;
}
+/* LU followed by MT SMS with repeated paging */
+friend function f_tc_lu_and_mt_sms_paging_repeated(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
+ var SmsParameters spars := valueof(t_SmsPars);
+ var OCT4 tmsi;
+
+ f_init_handler(pars);
+
+ /* Perform location update and call */
+ f_perform_lu();
+
+ /* register an 'expect' for given IMSI (+TMSI) */
+ if (isvalue(g_pars.tmsi)) {
+ tmsi := g_pars.tmsi;
+ } else {
+ tmsi := 'FFFFFFFF'O;
+ }
+ f_ran_register_imsi(g_pars.imsi, tmsi);
+
+ f_vty_sms_send(hex2str(pars.imsi), "2342", "Hello SMS");
+
+ /* MSC->BSC: expect PAGING from MSC */
+ f_expect_paging();
+
+ /* MSC->BSC: expect PAGING from MSC */
+ f_expect_paging();
+
+ /* Establish DTAP / BSSAP / SCCP connection */
+ f_establish_fully(EST_TYPE_PAG_RESP);
+
+ spars.tp.ud := 'C8329BFD064D9B53'O;
+ f_mt_sms(spars);
+
+ f_expect_clear();
+}
+testcase TC_lu_and_mt_sms_paging_repeated() runs on MTC_CT {
+ var BSC_ConnHdlrPars pars;
+ var BSC_ConnHdlr vc_conn;
+ f_init();
+ pars := f_init_pars(1844);
+ vc_conn := f_start_handler_with_pars(refers(f_tc_lu_and_mt_sms_paging_repeated), pars);
+ vc_conn.done;
+}
/* mobile originated SMS from MS/BTS/BSC side to SMPP */
friend function f_tc_smpp_mo_sms(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
@@ -5845,6 +5887,7 @@
execute( TC_lu_and_mo_sms() );
execute( TC_lu_and_mt_sms() );
execute( TC_lu_and_mt_sms_paging_and_nothing() );
+ execute( TC_lu_and_mt_sms_paging_repeated() );
execute( TC_smpp_mo_sms() );
execute( TC_smpp_mt_sms() );