diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 78bee58d9..889a16f89 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -2174,6 +2174,40 @@ testcase TC_llc_null() runs on test_CT { vc_conn.done; } +/* Send LLC SABM to see if the SGSN rejects it properly with DM */ +private function f_TC_llc_sabm_dm_llgmm(charstring id) runs on BSSGP_ConnHdlr { + f_gmm_attach(false, false); + f_sleep(1.0); + f_send_llc(ts_LLC_SABM({}, '1'B, c_LLC_SAPI_LLGMM, LLC_CR_UL_CMD)); + BSSGP[0].receive(tr_BD_LLC(tr_LLC_DM(?, c_LLC_SAPI_LLGMM, LLC_CR_DL_RSP))); + setverdict(pass); +} +testcase TC_llc_sabm_dm_llgmm() runs on test_CT { + var BSSGP_ConnHdlr vc_conn; + f_init(); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_TC_llc_sabm_dm_llgmm), testcasename(), g_gb, 42); + vc_conn.done; +} + +/* Send LLC SABM to see if the SGSN rejects it properly with DM */ +private function f_TC_llc_sabm_dm_ll5(charstring id) runs on BSSGP_ConnHdlr { + f_gmm_attach(false, false); + f_sleep(1.0); + f_send_llc(ts_LLC_SABM({}, '1'B, c_LLC_SAPI_LL5, LLC_CR_UL_CMD)); + BSSGP[0].receive(tr_BD_LLC(tr_LLC_DM(?, c_LLC_SAPI_LL5, LLC_CR_DL_RSP))); + setverdict(pass); +} +testcase TC_llc_sabm_dm_ll5() runs on test_CT { + var BSSGP_ConnHdlr vc_conn; + f_init(); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_TC_llc_sabm_dm_ll5), testcasename(), g_gb, 43); + vc_conn.done; +} + + + control { execute( TC_attach() ); execute( TC_attach_mnc3() ); @@ -2220,6 +2254,8 @@ control { execute( TC_attach_gmm_attach_req_while_gmm_attach() ); execute( TC_llc_null() ); + execute( TC_llc_sabm_dm_llgmm() ); + execute( TC_llc_sabm_dm_ll5() ); }