sgsn: introduce f_routing_area_update()

Will be used by future RAU tests

Change-Id: I4064e013f73319f24bb893a9047c8b9eb7d6aac2
This commit is contained in:
Alexander Couzens 2018-07-31 03:16:37 +02:00 committed by Harald Welte
parent 51114d1d9b
commit 5dce90da14
1 changed files with 21 additions and 14 deletions

View File

@ -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() );