pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/35428?usp=email )
(
1 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one. )Change subject: mme: TC_ue_cell_reselect_eutran_to_geran: Make sure oI flag is not set in DeleteSessionReq ......................................................................
mme: TC_ue_cell_reselect_eutran_to_geran: Make sure oI flag is not set in DeleteSessionReq
Make sure Operation Indication is set to 0, to tell the SGW to keep the Session up at the PGW.
Change-Id: If863f260a274fec5921ed888216c1688ff115ade --- M library/GTPv2_Templates.ttcn M mme/MME_Tests.ttcn 2 files changed, 84 insertions(+), 5 deletions(-)
Approvals: laforge: Looks good to me, but someone else must approve Jenkins Builder: Verified fixeria: Looks good to me, approved
diff --git a/library/GTPv2_Templates.ttcn b/library/GTPv2_Templates.ttcn index 65bc559..5dea7e9 100644 --- a/library/GTPv2_Templates.ttcn +++ b/library/GTPv2_Templates.ttcn @@ -283,8 +283,74 @@ additionalOctets := * }
+/* 8.12 */ +template (present) Indication +tr_GTP2C_Indication(template (present) BIT1 oI := ?) := { + elementIdentifier := '4D'O, + lengthIndicator := ?, + instance := '0000'B, + spare := '0000'B, + sGWCI := ?, + iSRAI := ?, + iSRSI := ?, + oI := oI, + dFI := ?, + hI := ?, + dTF := ?, + dAF := ?, + mSV := ?, + sI := ?, + pT := ?, + pBit := ?, + cRSI := ?, + cFSI := ?, + uIMSI := ?, + sQCI := ?, + cCRSI := *, + iSRAU := *, + mBMDT := *, + s4AF := *, + s6AF := *, + sRNI := *, + pBIC := *, + retLoc := *, + cPSR := *, + cLII := *, + cSFBI := *, + pPSI := *, + pPON_PPEI := *, + pPOF := *, + aRRL := *, + cPRAI := *, + aOPI := *, + aOSI := *, + pCRI := *, + pSCI := *, + bDWI := *, + dTCI := *, + uASI := *, + nSI := *, + wPMSI := *, + uNACCSI := *, + pNSI := *, + s11TF := *, + pMTSMI := *, + cPOPCI := *, + ePCOSI := *, + rOAAI := *, + tSPCMI := *, + spare_1 := *, + spare_2 := *, + spare_3 := *, + spare_4 := *, + spare_5 := *, + spare_6 := *, + spare_7 := *,
+ additionalOctets := * +} + /* 8.14 */ template (value) PDN_AddressAllocation ts_GTP2C_PdnAddrAlloc(template (value) BIT3 pdn_type, @@ -943,13 +1009,14 @@ template (present) OCT3 seq := ?, template GTP2C_Cause cause := *, template (present) uint4_t bearer_id := ?, + template Indication indicationFlags := *, template FullyQualifiedTEID sender_fteid := *) := tr_PDU_GTP2C(d_teid, seq, { deleteSessionRequest := { cause := fr_GTP2C_Cause(cause), linkedEPS_Bearer_ID := tr_GTP2C_EpsBearerId(bearer_id), uLI := *, - indicationFlags := *, + indicationFlags := indicationFlags, protocolConfigOptions := *, originatingNode := *, fullyQualifiedTEID := sender_fteid, diff --git a/mme/MME_Tests.ttcn b/mme/MME_Tests.ttcn index 339f121..c931449 100644 --- a/mme/MME_Tests.ttcn +++ b/mme/MME_Tests.ttcn @@ -835,10 +835,10 @@ } }
-private altstep as_GTP2C_DeleteSession_success() runs on ConnHdlr { +private altstep as_GTP2C_DeleteSession_success(template Indication ind_flags := *) runs on ConnHdlr { var PDU_GTPCv2 rx_msg;
- [] GTP2.receive(tr_GTP2C_DeleteSessionReq(g_pars.ue_pars.s11_teic_local)) -> value rx_msg { + [] GTP2.receive(tr_GTP2C_DeleteSessionReq(g_pars.ue_pars.s11_teic_local, indicationFlags := ind_flags)) -> value rx_msg { GTP2.send(ts_GTP2C_DeleteSessionResp(g_pars.ue_pars.s11_teic_remote, rx_msg.sequenceNumber, Request_accepted)); @@ -1352,9 +1352,10 @@ as_s1ap_handle_UeContextReleaseCmd();
/* TS 23.401 Figure D.3.5-1 Step 13: - * After Gn timer triggers, the SGW session is deleted: + * After Gn timer triggers, the SGW session is deleted. + * Make sure Operation Indication is set to 0, to tell the SGW to keep the Session up at the PGW. */ - as_GTP2C_DeleteSession_success(); + as_GTP2C_DeleteSession_success(tr_GTP2C_Indication(oI := '0'B)); /* Let MME some time to handle the Create Session Response: */ f_sleep(3.0); }