diff options
Diffstat (limited to 'sgsn')
-rw-r--r-- | sgsn/SGSN_Tests.ttcn | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 336f38ec..b55da882 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -1823,6 +1823,36 @@ private function f_routing_area_update(RoutingAreaIdentificationV ra, integer bs } } +private function f_TC_attach_rau_a_a(charstring id) runs on BSSGP_ConnHdlr { + var BssgpDecoded bd; + + /* first perform regular attach */ + f_TC_attach(id); + + /* then send RAU */ + f_routing_area_update(g_pars.ra); + + /* do another RAU */ + f_routing_area_update(g_pars.ra); + + f_detach_mo(c_GMM_DTT_MO_GPRS, true, true); +} + +testcase TC_attach_rau_a_a() runs on test_CT { + /* MS <-> SGSN: Successful Attach + * MS -> SGSN: Routing Area Update Request + * MS <- SGSN: Routing Area Update Accept + * MS -> SGSN: Routing Area Update Request + * MS <- SGSN: Routing Area Update Accept + * MS -> SGSN: Detach (PowerOff) + */ + var BSSGP_ConnHdlr vc_conn; + f_init(); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_TC_attach_rau_a_a), testcasename(), g_gb, 37); + vc_conn.done; +} + control { execute( TC_attach() ); execute( TC_attach_mnc3() ); @@ -1848,6 +1878,7 @@ control { execute( TC_hlr_location_cancel_request_unknown_subscriber_update(), 10.0 ); execute( TC_rau_unknown() ); execute( TC_attach_rau() ); + execute( TC_attach_rau_a_a() ); execute( TC_detach_unknown_nopoweroff() ); execute( TC_detach_unknown_poweroff() ); execute( TC_detach_nopoweroff() ); |