diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 3616a6204..336f38ec2 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -809,20 +809,8 @@ private function f_TC_attach_rau(charstring id) runs on BSSGP_ConnHdlr { /* first perform regular attach */ f_TC_attach(id); - /* then send RAU */ - BSSGP[0].send(ts_GMM_RAU_REQ(f_mi_get_lv(), GPRS_UPD_T_RA, g_pars.ra, false, omit, omit)); - alt { - [] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_RAU_ACCEPT)) -> value bd { - f_process_rau_accept(bd.l3_mt.msgs.gprs_mm.routingAreaUpdateAccept); - BSSGP[0].send(ts_GMM_RAU_COMPL); - setverdict(pass); - } - [] BSSGP[0].receive(tr_BD_L3_MT(tr_GMM_RAU_REJECT)) { - setverdict(fail, "Unexpected RAU Reject"); - mtc.stop; - } - [] BSSGP[0].receive { repeat; } - } + f_routing_area_update(g_pars.ra); + } testcase TC_attach_rau() runs on test_CT { var BSSGP_ConnHdlr vc_conn; @@ -1816,6 +1804,25 @@ testcase TC_attach_check_complete_resend() runs on test_CT { vc_conn.done; } +private function f_routing_area_update(RoutingAreaIdentificationV ra, integer bssgp := 0) runs on BSSGP_ConnHdlr { + var BssgpDecoded bd; + + /* then send RAU */ + BSSGP[bssgp].send(ts_GMM_RAU_REQ(f_mi_get_lv(), GPRS_UPD_T_RA, g_pars.ra, false, omit, omit)); + alt { + [] BSSGP[bssgp].receive(tr_BD_L3_MT(tr_GMM_RAU_ACCEPT)) -> value bd { + f_process_rau_accept(bd.l3_mt.msgs.gprs_mm.routingAreaUpdateAccept); + BSSGP[bssgp].send(ts_GMM_RAU_COMPL); + setverdict(pass); + } + [] BSSGP[bssgp].receive(tr_BD_L3_MT(tr_GMM_RAU_REJECT)) { + setverdict(fail, "Unexpected RAU Reject"); + mtc.stop; + } + [] BSSGP[bssgp].receive { repeat; } + } +} + control { execute( TC_attach() ); execute( TC_attach_mnc3() );