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
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);
}