aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Couzens <lynxis@fe80.eu>2019-09-12 03:43:18 +0200
committerAlexander Couzens <lynxis@fe80.eu>2019-09-15 22:37:39 +0200
commit657bc81ecba550f07ec56141331393ff49c17bc2 (patch)
treea27a2b9fc6a91828e5345a0697c228862859c73f
parent3641e8229944d2398bf9a2e2600d0e7c612c6af0 (diff)
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
-rw-r--r--msc/MSC_Tests.ttcn43
-rw-r--r--msc/MSC_Tests_Iu.ttcn10
2 files changed, 53 insertions, 0 deletions
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index 74994562..d39efd0f 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -2060,6 +2060,48 @@ testcase TC_lu_and_mt_sms_paging_and_nothing() runs on MTC_CT {
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 {
@@ -5827,6 +5869,7 @@ control {
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() );
diff --git a/msc/MSC_Tests_Iu.ttcn b/msc/MSC_Tests_Iu.ttcn
index 6491e273..628fbcdc 100644
--- a/msc/MSC_Tests_Iu.ttcn
+++ b/msc/MSC_Tests_Iu.ttcn
@@ -274,6 +274,15 @@ testcase TC_iu_lu_and_mt_sms_paging_and_nothing() runs on MTC_CT {
vc_conn.done;
}
+testcase TC_iu_lu_and_mt_sms_paging_repeated() runs on MTC_CT {
+ var BSC_ConnHdlrPars pars;
+ var BSC_ConnHdlr vc_conn;
+ f_init(3);
+ pars := f_init_pars(101844);
+ vc_conn := f_start_handler_with_pars(refers(f_tc_lu_and_mt_sms_paging_repeated), pars);
+ vc_conn.done;
+}
+
testcase TC_iu_smpp_mo_sms() runs on MTC_CT {
var BSC_ConnHdlr vc_conn;
f_init(3);
@@ -432,6 +441,7 @@ control {
execute( TC_iu_lu_and_mo_sms() );
execute( TC_iu_lu_and_mt_sms() );
execute( TC_iu_lu_and_mt_sms_paging_and_nothing() );
+ execute( TC_iu_lu_and_mt_sms_paging_repeated() );
execute( TC_iu_smpp_mo_sms() );
execute( TC_iu_gsup_mo_sms() );