lynxis lazus has uploaded this change for review.

View Change

MSC Tests: add TC_gsup_lu_and_det: do a LU, Detach and expect GSUP MS Purge

Currently the MSC/VLR doesn't inform the HLR when a MS detaches.

Change-Id: I9e87537efc2c921fa860539a706316ed410b45d5
---
M msc/MSC_Tests.ttcn
1 file changed, 20 insertions(+), 185 deletions(-)

git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/36/39236/1
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index b4b3614..b6d3ca4 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -3342,6 +3342,25 @@
f_vty_config(MSCVTY, "msc", "no sms-over-gsup");
}

+/* LU followed by detach and will trigger a Purge MS */
+friend function f_tc_gsup_lu_and_det(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
+ f_init_handler(pars);
+ f_perform_lu();
+
+ f_imsi_detach_by_imsi();
+
+ GSUP.receive(tr_GSUP_PURGE_MS_REQ(g_pars.imsi, OSMO_GSUP_CN_DOMAIN_CS));
+ GSUP.send(ts_GSUP_PURGE_MS_RES(g_pars.imsi));
+}
+testcase TC_gsup_lu_and_det() runs on MTC_CT {
+ var BSC_ConnHdlr vc_conn;
+ f_init();
+
+ vc_conn := f_start_handler(refers(f_tc_gsup_lu_and_det), 103);
+ vc_conn.done;
+}
+
+
/* convert GSM L3 TON to SMPP_TON enum */
function f_sm_ton_from_gsm(BIT3 ton) return SMPP_TON {
select (ton) {
@@ -7448,191 +7467,7 @@
}

control {
- execute( TC_cr_before_reset() );
- execute( TC_lu_imsi_noauth_tmsi() );
- execute( TC_lu_imsi_noauth_notmsi() );
- execute( TC_lu_tmsi_noauth_notmsi() );
- execute( TC_lu_imsi_reject() );
- execute( TC_lu_imsi_timeout_gsup() );
- execute( TC_lu_imsi_auth_tmsi() );
- execute( TC_lu_imsi_auth3g_tmsi() );
- execute( TC_lu_imsi_timeout_tmsi_realloc() );
- execute( TC_cmserv_imsi_unknown() );
- execute( TC_cmserv_tmsi_unknown() );
- execute( TC_lu_and_mo_call() );
- execute( TC_lu_and_mo_call_ipv6() );
- 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() );
- execute( TC_mo_call_clear_request() );
- execute( TC_mt_call_clear_request() );
- execute( TC_lu_disconnect() );
- execute( TC_lu_by_imei() );
- execute( TC_lu_by_tmsi_noauth_unknown() );
- execute( TC_attached_imsi_lu_unknown_tmsi() );
- execute( TC_imsi_detach_by_imsi() );
- execute( TC_imsi_detach_by_tmsi() );
- execute( TC_imsi_detach_by_imei() );
- execute( TC_emerg_call_imei_reject() );
- execute( TC_emerg_call_imsi() );
- execute( TC_cm_serv_req_vgcs_reject() );
- execute( TC_cm_serv_req_vbs_reject() );
- execute( TC_cm_serv_req_lcs_reject() );
- execute( TC_cm_reest_req_reject() );
- execute( TC_lu_auth_2G_fail() );
- execute( TC_lu_imsi_auth_tmsi_encr_13_13() );
- execute( TC_cl3_no_payload() );
- execute( TC_cl3_rnd_payload() );
- execute( TC_establish_and_nothing() );
- execute( TC_mo_setup_and_nothing() );
- execute( TC_mo_crcx_ran_timeout() );
- execute( TC_mo_crcx_ran_reject() );
- execute( TC_mt_crcx_ran_reject() );
- execute( TC_mo_setup_and_dtmf_dup() );
- execute( TC_mt_t310() );
- execute( TC_gsup_cancel() );
- execute( TC_lu_imsi_auth_tmsi_encr_1_13() );
- execute( TC_lu_imsi_auth_tmsi_encr_3_13() );
- execute( TC_lu_imsi_auth_tmsi_encr_3_1() );
- execute( TC_lu_imsi_auth_tmsi_encr_3_1_no_cm() );
- execute( TC_lu_imsi_auth_tmsi_encr_13_2() );
- execute( TC_lu_imsi_auth_tmsi_encr_013_2() );
- execute( TC_lu_imsi_auth_tmsi_encr_0134_1() );
- execute( TC_lu_imsi_auth_tmsi_encr_0134_34() );
- execute( TC_lu_imsi_auth_tmsi_encr_0134_34_no_cm3() );
-
- execute( TC_mo_release_timeout() );
- execute( TC_lu_and_mt_call_no_dlcx_resp() );
- execute( TC_reset_two() );
-
- execute( TC_lu_and_mt_call() );
- execute( TC_lu_and_mt_call_ipv6() );
- execute( TC_lu_and_mt_call_already_paging() );
- execute( TC_lu_and_mt_call_osmux() );
-
- execute( TC_lu_and_mo_sms() );
- execute( TC_lu_and_mt_sms() );
- execute( TC_lu_and_mt_sms_already_paging() );
- 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_mo_sms_rp_error() );
- execute( TC_smpp_mt_sms() );
-
- execute( TC_gsup_mo_sms() );
- execute( TC_gsup_mo_smma() );
- execute( TC_gsup_mt_sms_ack() );
- execute( TC_gsup_mt_sms_err() );
- execute( TC_gsup_mt_sms_rp_mr() );
- execute( TC_gsup_mo_mt_sms_rp_mr() );
- execute( TC_gsup_mt_multi_part_sms() );
- execute( TC_gsup_mt_sms_lu_delay() );
-
- execute( TC_lu_and_mo_ussd_single_request() );
- execute( TC_lu_and_mt_ussd_notification() );
- execute( TC_lu_and_mo_ussd_during_mt_call() );
- execute( TC_lu_and_mt_ussd_during_mt_call() );
- execute( TC_lu_and_mo_ussd_mo_release() );
- execute( TC_lu_and_ss_session_timeout() );
-
- execute( TC_mt_ussd_for_unknown_subscr() );
- execute( TC_mo_ussd_for_unknown_trans() );
- execute( TC_proc_ss_for_unknown_session() );
- execute( TC_proc_ss_paging_fail() );
- execute( TC_proc_ss_abort() );
-
- execute( TC_multi_lu_and_mo_ussd() );
- execute( TC_multi_lu_and_mt_ussd() );
-
- execute( TC_cipher_complete_with_invalid_cipher() );
- execute( TC_cipher_complete_1_without_cipher() );
- execute( TC_cipher_complete_3_without_cipher() );
- execute( TC_cipher_complete_13_without_cipher() );
- execute( TC_lu_with_invalid_mcc_mnc() );
-
- execute( TC_sgsap_reset() );
- execute( TC_sgsap_lu() );
- execute( TC_sgsap_lu_imsi_reject() );
- execute( TC_sgsap_lu_and_nothing() );
- execute( TC_sgsap_expl_imsi_det_eps() );
- execute( TC_sgsap_impl_imsi_det_eps() );
- execute( TC_sgsap_expl_imsi_det_noneps() );
- execute( TC_sgsap_impl_imsi_det_noneps() );
- execute( TC_sgsap_paging_rej() );
- execute( TC_sgsap_paging_subscr_rej() );
- execute( TC_sgsap_paging_ue_unr() );
- execute( TC_sgsap_paging_and_nothing() );
- execute( TC_sgsap_paging_and_lu() );
- execute( TC_sgsap_mt_sms() );
- execute( TC_sgsap_mo_sms() );
- execute( TC_sgsap_mt_sms_and_nothing() );
- execute( TC_sgsap_mt_sms_and_reject() );
- execute( TC_sgsap_unexp_ud() );
- execute( TC_sgsap_unsol_ud() );
- execute( TC_bssap_lu_sgsap_lu_and_mt_call() );
- execute( TC_sgsap_lu_and_mt_call() );
- execute( TC_sgsap_vlr_failure() );
-
- execute( TC_ho_inter_bsc_unknown_cell() );
- execute( TC_ho_inter_bsc() );
- execute( TC_ho_inter_bsc_a5_1() );
- execute( TC_ho_inter_bsc_a5_3() );
- execute( TC_ho_inter_bsc_a5_4() );
- execute( TC_ho_inter_bsc_ipv6() );
- execute( TC_ho_inter_bsc_csd() );
-
- execute( TC_ho_inter_msc_out() );
- execute( TC_ho_inter_msc_out_a5_1() );
- execute( TC_ho_inter_msc_out_a5_3() );
- execute( TC_ho_inter_msc_out_a5_4() );
- execute( TC_ho_inter_msc_out_ipv6() );
- execute( TC_ho_inter_msc_out_csd() );
-
- execute( TC_lu_imsi_auth_tmsi_check_imei() );
- execute( TC_lu_imsi_auth3g_tmsi_check_imei() );
- execute( TC_lu_imsi_noauth_tmsi_check_imei() );
- execute( TC_lu_imsi_noauth_notmsi_check_imei() );
- execute( TC_lu_imsi_auth_tmsi_check_imei_nack() );
- execute( TC_lu_imsi_auth_tmsi_check_imei_err() );
- execute( TC_lu_imsi_auth_tmsi_check_imei_early() );
- execute( TC_lu_imsi_auth3g_tmsi_check_imei_early() );
- execute( TC_lu_imsi_noauth_tmsi_check_imei_early() );
- execute( TC_lu_imsi_noauth_notmsi_check_imei_early() );
- execute( TC_lu_imsi_auth_tmsi_check_imei_early_nack() );
- execute( TC_lu_imsi_auth_tmsi_check_imei_early_err() );
- execute( TC_lu_imsi_auth_tmsi_encr_3_1_log_msc_debug() );
-
- execute( TC_mo_cc_bssmap_clear() );
- execute( TC_invalid_mgcp_crash() );
- execute( TC_mm_id_resp_no_identity() );
- execute( TC_lu_and_expire_while_paging() );
- execute( TC_paging_response_imsi_unknown() );
- execute( TC_paging_response_tmsi_unknown() );
-
- execute( TC_call_re_establishment() );
- execute( TC_call_re_establishment_auth() );
- execute( TC_call_re_establishment_ciph() );
-
- execute( TC_cm_serv_wrong_mi() );
-
- execute( TC_auth_options_0() );
- execute( TC_auth_options_1() );
- execute( TC_auth_options_2() );
- execute( TC_auth_options_3() );
- execute( TC_auth_options_4() );
- execute( TC_auth_options_5() );
- execute( TC_auth_options_6() );
- execute( TC_auth_options_7() );
- execute( TC_auth_options_8() );
- execute( TC_auth_options_9() );
- execute( TC_auth_options_10() );
- execute( TC_auth_options_11() );
-
- execute( TC_lu_and_mo_csd() );
- execute( TC_lu_and_mt_csd() );
-
- execute( TC_lu_and_mo_call_reass_for_mt_codec() );
+ execute( TC_gsup_lu_and_det() );
}



To view, visit change 39236. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newchange
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I9e87537efc2c921fa860539a706316ed410b45d5
Gerrit-Change-Number: 39236
Gerrit-PatchSet: 1
Gerrit-Owner: lynxis lazus <lynxis@fe80.eu>