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/.
laforge gerrit-no-reply at lists.osmocom.orglaforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16799 ) Change subject: msc: Introduce test TC_(iu_)chan_rel_sccp_tiar_timeout ...................................................................... msc: Introduce test TC_(iu_)chan_rel_sccp_tiar_timeout Verify SCCP T(iar) timeout triggers release of established channel. Related: OS#4343 Change-Id: Id6488a262e656f5c8fabb4e81f4797b305eb09e2 --- M msc/MSC_Tests.ttcn M msc/MSC_Tests_Iu.ttcn M msc/expected-results.xml 3 files changed, 64 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 177c2f8..bf7f748 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -113,6 +113,11 @@ * handler is not active, which means that also no guard timer is * set up. The following timer will serve as a replacement */ timer Tguard_direct := 60.0; + + /* Configure T(tias) over VTY, seconds */ + var integer g_msc_sccp_timer_ias := 7 * 60; + /* Configure T(tiar) over VTY, seconds */ + var integer g_msc_sccp_timer_iar := 15 * 60; } modulepar { @@ -337,6 +342,8 @@ f_vty_config(MSCVTY, "msc", "assign-tmsi"); f_vty_config(MSCVTY, "msc", "check-imei-rqd 0"); f_vty_config(MSCVTY, "network", "encryption a5 0"); + f_vty_config(MSCVTY, "cs7 instance 0", "sccp-timer ias " & int2str(g_msc_sccp_timer_ias)); + f_vty_config(MSCVTY, "cs7 instance 0", "sccp-timer iar " & int2str(g_msc_sccp_timer_iar)); if (mp_enable_osmux_test) { if (osmux) { f_vty_config(MSCVTY, "msc", "osmux on"); @@ -676,6 +683,45 @@ vc_conn.done; } +/* Verify T(iar) triggers and releases the channel */ +friend function f_lu_and_mo_call_sccp_tiar_timeout(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { + timer T_wait_iar := int2float(5 + 1); /* g_msc_sccp_timer_iar + Give extra time (+1 sec) */ + f_init_handler(pars); + var CallParameters cpars := valueof(t_CallParams); + f_perform_lu(); + f_mo_call_establish(cpars); + + /* Expect the channel cleared upon T(iar) triggered: */ + T_wait_iar.start; + alt { + [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND) { + T_wait_iar.stop + setverdict(pass); + } + [] MGCP.receive(tr_DLCX(?)) { repeat; } + [] T_wait_iar.timeout { + setverdict(fail, "Timeout waiting for T(iar) triggered SCCP RSLD"); + mtc.stop; + } + } + + setverdict(pass); +} +testcase TC_lu_and_mo_call_sccp_tiar_timeout() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + + /* Set T(iar) in MSC low enough that it will trigger before other side + has time to keep alive with a T(ias). Keep recommended ratio of + T(iar) >= T(ias)*2 */ + g_msc_sccp_timer_ias := 2; + g_msc_sccp_timer_iar := 5; + + f_init(); + + vc_conn := f_start_handler(refers(f_lu_and_mo_call_sccp_tiar_timeout), 89); + vc_conn.done; +} + /* Test LU (with authentication enabled), where HLR times out sending SAI response */ friend function f_tc_lu_auth_sai_timeout(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { @@ -5816,6 +5862,7 @@ execute( TC_lu_imsi_timeout_tmsi_realloc() ); execute( TC_cmserv_imsi_unknown() ); execute( TC_lu_and_mo_call() ); + execute( TC_lu_and_mo_call_sccp_tiar_timeout() ); execute( TC_lu_auth_sai_timeout() ); execute( TC_lu_auth_sai_err() ); execute( TC_lu_clear_request() ); diff --git a/msc/MSC_Tests_Iu.ttcn b/msc/MSC_Tests_Iu.ttcn index b6b0983..e894598 100644 --- a/msc/MSC_Tests_Iu.ttcn +++ b/msc/MSC_Tests_Iu.ttcn @@ -80,6 +80,21 @@ vc_conn.done; } +testcase TC_iu_lu_and_mo_call_sccp_tiar_timeout() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + + /* Set T(iar) in MSC low enough that it will trigger before other side + has time to keep alive with a T(ias). Keep recommended ratio of + T(iar) >= T(ias)*2 */ + g_msc_sccp_timer_ias := 2; + g_msc_sccp_timer_iar := 5; + + f_init(3); + + vc_conn := f_start_handler(refers(f_lu_and_mo_call_sccp_tiar_timeout), 1019, ran_idx := 2, ran_is_geran := false); + vc_conn.done; +} + testcase TC_iu_lu_auth_sai_timeout() runs on MTC_CT { var BSC_ConnHdlr vc_conn; f_init(3); @@ -515,6 +530,7 @@ execute( TC_iu_lu_imsi_timeout_tmsi_realloc() ); execute( TC_iu_cmserv_imsi_unknown() ); execute( TC_iu_lu_and_mo_call() ); + execute( TC_iu_lu_and_mo_call_sccp_tiar_timeout() ); execute( TC_iu_lu_auth_sai_timeout() ); execute( TC_iu_lu_auth_sai_err() ); execute( TC_iu_lu_release_request() ); diff --git a/msc/expected-results.xml b/msc/expected-results.xml index 074eeb1..e2cca45 100644 --- a/msc/expected-results.xml +++ b/msc/expected-results.xml @@ -14,6 +14,7 @@ </testcase> <testcase classname='MSC_Tests' name='TC_cmserv_imsi_unknown' time='MASKED'/> <testcase classname='MSC_Tests' name='TC_lu_and_mo_call' time='MASKED'/> + <testcase classname='MSC_Tests' name='TC_lu_and_mo_call_sccp_tiar_timeout' time='MASKED'/> <testcase classname='MSC_Tests' name='TC_lu_auth_sai_timeout' time='MASKED'/> <testcase classname='MSC_Tests' name='TC_lu_auth_sai_err' time='MASKED'/> <testcase classname='MSC_Tests' name='TC_lu_clear_request' time='MASKED'/> -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16799 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: Id6488a262e656f5c8fabb4e81f4797b305eb09e2 Gerrit-Change-Number: 16799 Gerrit-PatchSet: 3 Gerrit-Owner: pespin <pespin at sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge at osmocom.org> Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200112/0bf8e552/attachment.htm>