diff options
author | Alexander Couzens <lynxis@fe80.eu> | 2018-06-12 16:24:12 +0200 |
---|---|---|
committer | Alexander Couzens <lynxis@fe80.eu> | 2018-06-12 19:22:50 +0200 |
commit | 53f205657194f96b08f81a31012a72bca60ab9fa (patch) | |
tree | 5d2aeb72cb3a33c8d35d36fc527eec66b1588f80 /sgsn/SGSN_Tests.ttcn | |
parent | 667dd7fa848fae6e2d1bf704768c60ddd6e764a1 (diff) |
sgsn: add TC_attach_no_imsi_response
Ignores Identity Request IMSI.
MS -> SGSN: Attach Request TMSI (unknown)
MS <- SGSN: Identity Request IMEI (optional)
MS -> SGSN: Identity Response IMEI (optional)
MS <- SGSN: Identity Request IMSI
MS -x SGSN: no response
MS <- SGSN: re-send: Identity Request IMSI 4x
MS <- SGSN: Attach Reject
Change-Id: I4f41d59cfe6b0168b5e0874082fd700b56a7f0da
Diffstat (limited to 'sgsn/SGSN_Tests.ttcn')
-rw-r--r-- | sgsn/SGSN_Tests.ttcn | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index c1d4cdfa..96327180 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -1411,6 +1411,53 @@ testcase TC_attach_no_imei_response() runs on test_CT { vc_conn.done; } +/* Attempt an attach, but loose the Identification Request (IMSI) */ +private function f_TC_attach_no_imsi_response(charstring id) runs on BSSGP_ConnHdlr { + var integer count_req := 0; + var MobileL3_CommonIE_Types.MobileIdentityLV mi; + + /* set p_tmsi to use it in Attach Req via f_mi_get_lv() */ + g_pars.p_tmsi := 'c0000035'O; + + BSSGP.send(ts_GMM_ATTACH_REQ(f_mi_get_lv(), f_random_RAI(), true, false, omit, omit)); + + alt { + [] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ATTACH_REJECT(?))) { + /* break */ + } + [] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ID_REQ('001'B))) { + /* ignore ID REQ IMSI */ + count_req := count_req + 1; + repeat; + } + [] BSSGP.receive(tr_BD_L3_MT(tr_GMM_ID_REQ('010'B))) { + mi := valueof(ts_MI_IMEI_LV(g_pars.imei)); + BSSGP.send(ts_GMM_ID_RESP(mi)); + repeat; + } + } + if (count_req != 5) { + setverdict(fail, "Did not received GMM ID Request Type IMSI 5 times!"); + } + setverdict(pass); +} + +testcase TC_attach_no_imsi_response() runs on test_CT { + /* MS -> SGSN: Attach Request TMSI (unknown) + * MS <- SGSN: Identity Request IMEI (optional) + * MS -> SGSN: Identity Response IMEI (optional) + * MS <- SGSN: Identity Request IMSI + * MS -x SGSN: no response + * MS <- SGSN: re-send: Identity Request IMSI 4x + * MS <- SGSN: Attach Reject + */ + var BSSGP_ConnHdlr vc_conn; + f_init(); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_TC_attach_no_imsi_response), testcasename(), g_gb[0], 35, 60.0); + vc_conn.done; +} + control { execute( TC_attach() ); execute( TC_attach_mnc3() ); @@ -1425,6 +1472,7 @@ control { execute( TC_attach_accept_all() ); execute( TC_attach_closed() ); execute( TC_attach_no_imei_response() ); + execute( TC_attach_no_imsi_response() ); execute( TC_hlr_location_cancel_request_update(), 10.0 ); execute( TC_hlr_location_cancel_request_withdraw(), 10.0 ); execute( TC_hlr_location_cancel_request_unknown_subscriber_withdraw(), 10.0 ); |