laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38144?usp=email )
Change subject: library/s1ap: add E-RAB RELEASE templates ......................................................................
library/s1ap: add E-RAB RELEASE templates
Change-Id: I2e9305da80934ea68e3eca8215a9c16de48b37fd --- M library/s1ap/S1AP_Templates.ttcn 1 file changed, 236 insertions(+), 0 deletions(-)
Approvals: laforge: Looks good to me, but someone else must approve Jenkins Builder: Verified pespin: Looks good to me, approved
diff --git a/library/s1ap/S1AP_Templates.ttcn b/library/s1ap/S1AP_Templates.ttcn index 60dd063..4f0b5ee 100644 --- a/library/s1ap/S1AP_Templates.ttcn +++ b/library/s1ap/S1AP_Templates.ttcn @@ -1200,4 +1200,240 @@ } }
+/* 9.1.3.5 E-RAB RELEASE COMMAND */ +template (value) S1AP_PDU +ts_S1AP_RABReleaseCmd(template (value) MME_UE_S1AP_ID mme_id, + template (value) ENB_UE_S1AP_ID enb_id, + template (value) E_RABList rab_items) := { + initiatingMessage := { + procedureCode := S1AP_Constants.id_E_RABRelease, + criticality := reject, + value_ := { + e_RABReleaseCommand := { + protocolIEs := { + { + id := S1AP_Constants.id_MME_UE_S1AP_ID, + criticality := reject, + value_ := { MME_UE_S1AP_ID := mme_id } + }, { + id := S1AP_Constants.id_eNB_UE_S1AP_ID, + criticality := reject, + value_ := { ENB_UE_S1AP_ID := enb_id } + }, { + id := S1AP_Constants.id_E_RABToBeReleasedList, + criticality := ignore, + value_ := { e_RABList := rab_items } + } + } + } + } + } +} +template (present) S1AP_PDU +tr_S1AP_RABReleaseCmd(template (present) MME_UE_S1AP_ID mme_id := ?, + template (present) ENB_UE_S1AP_ID enb_id := ?, + template (present) E_RABList rab_items := ?) := { + initiatingMessage := { + procedureCode := S1AP_Constants.id_E_RABRelease, + criticality := reject, + value_ := { + e_RABReleaseCommand := { + protocolIEs := { + { + id := S1AP_Constants.id_MME_UE_S1AP_ID, + criticality := reject, + value_ := { MME_UE_S1AP_ID := mme_id } + }, { + id := S1AP_Constants.id_eNB_UE_S1AP_ID, + criticality := reject, + value_ := { ENB_UE_S1AP_ID := enb_id } + }, { + id := S1AP_Constants.id_E_RABToBeReleasedList, + criticality := ignore, + value_ := { e_RABList := rab_items } + } + } + } + } + } +} + +/* 9.1.3.6 E-RAB RELEASE RESPONSE */ +template (value) S1AP_PDU +ts_S1AP_RABReleaseRsp(template (value) MME_UE_S1AP_ID mme_id, + template (value) ENB_UE_S1AP_ID enb_id, + template (value) E_RABReleaseListBearerRelComp rab_items) := { + successfulOutcome := { + procedureCode := S1AP_Constants.id_E_RABRelease, + criticality := reject, + value_ := { + e_RABReleaseResponse := { + protocolIEs := { + { + id := S1AP_Constants.id_MME_UE_S1AP_ID, + criticality := reject, + value_ := { MME_UE_S1AP_ID := mme_id } + }, { + id := S1AP_Constants.id_eNB_UE_S1AP_ID, + criticality := reject, + value_ := { ENB_UE_S1AP_ID := enb_id } + }, { + id := S1AP_Constants.id_E_RABReleaseListBearerRelComp, + criticality := ignore, + value_ := { e_RABReleaseListBearerRelComp := rab_items } + } + } + } + } + } +} +template (present) S1AP_PDU +tr_S1AP_RABReleaseRsp(template (present) MME_UE_S1AP_ID mme_id := ?, + template (present) ENB_UE_S1AP_ID enb_id := ?, + template (present) E_RABReleaseListBearerRelComp rab_items := ?) := { + successfulOutcome := { + procedureCode := S1AP_Constants.id_E_RABRelease, + criticality := reject, + value_ := { + e_RABReleaseResponse := { + protocolIEs := { + { + id := S1AP_Constants.id_MME_UE_S1AP_ID, + criticality := reject, + value_ := { MME_UE_S1AP_ID := mme_id } + }, { + id := S1AP_Constants.id_eNB_UE_S1AP_ID, + criticality := reject, + value_ := { ENB_UE_S1AP_ID := enb_id } + }, { + id := S1AP_Constants.id_E_RABReleaseListBearerRelComp, + criticality := ignore, + value_ := { e_RABReleaseListBearerRelComp := rab_items } + } + } + } + } + } +} + +/* 9.1.3.7 E-RAB RELEASE INDICATION */ +template (value) S1AP_PDU +ts_S1AP_RABReleaseInd(template (value) MME_UE_S1AP_ID mme_id, + template (value) ENB_UE_S1AP_ID enb_id, + template (value) E_RABList rab_items) := { + initiatingMessage := { + procedureCode := S1AP_Constants.id_E_RABReleaseIndication, + criticality := reject, + value_ := { + e_RABReleaseCommand := { + protocolIEs := { + { + id := S1AP_Constants.id_MME_UE_S1AP_ID, + criticality := reject, + value_ := { MME_UE_S1AP_ID := mme_id } + }, { + id := S1AP_Constants.id_eNB_UE_S1AP_ID, + criticality := reject, + value_ := { ENB_UE_S1AP_ID := enb_id } + }, { + id := S1AP_Constants.id_E_RABReleasedList, + criticality := ignore, + value_ := { E_RABList := rab_items } + } + } + } + } + } +} +template (present) S1AP_PDU +tr_S1AP_RABReleaseInd(template (present) MME_UE_S1AP_ID mme_id := ?, + template (present) ENB_UE_S1AP_ID enb_id := ?, + template (present) E_RABList rab_items := ?) := { + initiatingMessage := { + procedureCode := S1AP_Constants.id_E_RABReleaseIndication, + criticality := reject, + value_ := { + e_RABReleaseCommand := { + protocolIEs := { + { + id := S1AP_Constants.id_MME_UE_S1AP_ID, + criticality := reject, + value_ := { MME_UE_S1AP_ID := mme_id } + }, { + id := S1AP_Constants.id_eNB_UE_S1AP_ID, + criticality := reject, + value_ := { ENB_UE_S1AP_ID := enb_id } + }, { + id := S1AP_Constants.id_E_RABReleasedList, + criticality := ignore, + value_ := { E_RABList := rab_items } + } + } + } + } + } +} + +/* 9.2.1.36 E-RAB List */ +template (value) E_RABList +ts_E_RABList(template (value) E_RABItem it) := { + { + id := S1AP_Constants.id_E_RABItem, + criticality := ignore, + value_ := { E_RABItem := it } + } +} +template (present) E_RABList +tr_E_RABList(template (present) E_RABItem it := ?) := { + { + id := S1AP_Constants.id_E_RABItem, + criticality := ignore, + value_ := { E_RABItem := it } + } +} + +template (value) E_RABItem +ts_E_RABItem(template (value) E_RAB_ID rab_id, + template (value) Cause cause := {nas := normal_release}) := { + e_RAB_ID := rab_id, + cause := cause, + iE_Extensions := omit +} +template (present) E_RABItem +tr_E_RABItem(template (present) E_RAB_ID rab_id := ?, + template (present) Cause cause := ?) := { + e_RAB_ID := rab_id, + cause := cause, + iE_Extensions := * +} + +/* E-RAB Release List */ +template (value) E_RABReleaseListBearerRelComp +ts_E_RABReleaseListBearerRelComp(template (value) E_RABReleaseItemBearerRelComp it) := { + { + id := S1AP_Constants.id_E_RABReleaseListBearerRelComp, + criticality := ignore, + value_ := { E_RABReleaseItemBearerRelComp := it } + } +} +template (present) E_RABReleaseListBearerRelComp +tr_E_RABReleaseListBearerRelComp(template (present) E_RABReleaseItemBearerRelComp it := ?) := { + { + id := S1AP_Constants.id_E_RABReleaseListBearerRelComp, + criticality := ignore, + value_ := { E_RABReleaseItemBearerRelComp := it } + } +} + +template (value) E_RABReleaseItemBearerRelComp +ts_E_RABReleaseItemBearerRelComp(template (value) E_RAB_ID rab_id) := { + e_RAB_ID := rab_id, + iE_Extensions := omit +} +template (present) E_RABReleaseItemBearerRelComp +tr_E_RABReleaseItemBearerRelComp(template (present) E_RAB_ID rab_id := ?) := { + e_RAB_ID := rab_id, + iE_Extensions := * +} + }