lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/39018?usp=email )
Change subject: try to fix RAUs ......................................................................
try to fix RAUs
Change-Id: I7125ed8aa81fbda48a19f7f4fc711bc1bf2c875f --- M sgsn/BSSGP_ConnHdlr.ttcn 1 file changed, 15 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/18/39018/1
diff --git a/sgsn/BSSGP_ConnHdlr.ttcn b/sgsn/BSSGP_ConnHdlr.ttcn index 23f75ae..a41a147 100644 --- a/sgsn/BSSGP_ConnHdlr.ttcn +++ b/sgsn/BSSGP_ConnHdlr.ttcn @@ -685,8 +685,13 @@ function f_routing_area_update(RoutingAreaIdentificationV old_ra, GprsUpdateType upd_type := GPRS_UPD_T_RA, integer ran_index := 0, - float Tval := 2.0) runs on BSSGP_ConnHdlr { + float Tval := 2.0, + /* allow authentication to happen while RAU */ + boolean allow_auth := true, + /* require authentication before accepting the RAU */ + boolean require_auth := true) runs on BSSGP_ConnHdlr { var template (omit) OCT4 p_tmsi := omit; + var boolean authed := false; timer T := Tval;
if (is_iu(ran_index)) { @@ -697,6 +702,10 @@
T.start; alt { + [allow_auth or require_auth] as_gmm_auth(umts_aka_challenge := true, ran_index := ran_index, expect_sai := true) { + authed := true; + repeat; + } [] as_routing_area_update(ran_index) { setverdict(pass); } [is_gb(ran_index)] BSSGP[ran_index].receive { repeat; } [is_iu(ran_index)] BSSAP.receive { repeat; } @@ -705,6 +714,11 @@ mtc.stop; } } + + if (require_auth and not authed) { + setverdict(fail, "RAU succeeded but without required authentication"); + mtc.stop; + } }
/* Iu only