From fc02f24713b16a952710a717f706c408d0615eb6 Mon Sep 17 00:00:00 2001 From: Alexander Couzens Date: Thu, 12 Sep 2019 03:43:18 +0200 Subject: 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 --- msc/MSC_Tests.ttcn | 43 +++++++++++++++++++++++++++++++++++++++++++ msc/MSC_Tests_Iu.ttcn | 10 ++++++++++ 2 files changed, 53 insertions(+) diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 063105cd..0d544055 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 { @@ -5845,6 +5887,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() ); -- cgit v1.2.3