laforge submitted this change.

View Change

Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified
s1ap/S1AP_Templates.ttcn: Add templates to handle CS Fallback related procedures

These will be used to test MT CS call over SGsAP in MME_Tests_SGsAP.

Change-Id: I87fa7d988bec90ccade2f40ac4d2a0924059058e
---
M library/s1ap/S1AP_Templates.ttcn
1 file changed, 95 insertions(+), 3 deletions(-)

diff --git a/library/s1ap/S1AP_Templates.ttcn b/library/s1ap/S1AP_Templates.ttcn
index 031ac59..3f9b1f8 100644
--- a/library/s1ap/S1AP_Templates.ttcn
+++ b/library/s1ap/S1AP_Templates.ttcn
@@ -17,6 +17,8 @@
import from S1AP_PDU_Contents all;
import from S1AP_PDU_Descriptions all;

+import from General_Types all;
+
/*********************************************************************************
* non-UE related
*********************************************************************************/
@@ -991,14 +993,88 @@
}

/* 9.1.4.8 UE CONTEXT MODIFICATION REQUEST */
+private function f_tr_S1AP_UeContextModificationReq(template (present) MME_UE_S1AP_ID mme_id := ?,
+ template (present) ENB_UE_S1AP_ID enb_id := ?,
+ template CSFallbackIndicator csfb_ind := *,
+ template LAI registered_lai := *,
+ template AdditionalCSFallbackIndicator add_csfb_ind := *)
+return template UEContextModificationRequest
+{
+ var template UEContextModificationRequest req := {
+ 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}
+ }
+ }
+ };
+ var integer idx := lengthof(req.protocolIEs);
+
+ if (ispresent(csfb_ind)) {
+ req.protocolIEs[idx] := {
+ id := id_CSFallbackIndicator,
+ criticality := reject,
+ value_ := { CSFallbackIndicator := csfb_ind }
+ };
+ idx := idx + 1;
+ }
+
+ if (ispresent(registered_lai)) {
+ req.protocolIEs[idx] := {
+ id := id_RegisteredLAI,
+ criticality := ignore,
+ value_ := { LAI := registered_lai }
+ };
+ idx := idx + 1;
+ }
+
+ if (ispresent(add_csfb_ind)) {
+ req.protocolIEs[idx] := {
+ id := id_AdditionalCSFallbackIndicator,
+ criticality := ignore,
+ value_ := { AdditionalCSFallbackIndicator := add_csfb_ind }
+ };
+ idx := idx + 1;
+ }
+
+ /* ignore the remaining IEs */
+ req.protocolIEs[idx] := *;
+ return req;
+}
+
template (present) S1AP_PDU
tr_S1AP_UeContextModificationReq(template (present) MME_UE_S1AP_ID mme_id := ?,
- template (present) ENB_UE_S1AP_ID enb_id := ?) := {
+ template (present) ENB_UE_S1AP_ID enb_id := ?,
+ template CSFallbackIndicator csfb_ind := *,
+ template LAI registered_lai := *,
+ template AdditionalCSFallbackIndicator add_csfb_ind := *) := {
initiatingMessage := {
procedureCode := id_UEContextModification,
criticality := reject,
value_ := {
- UEContextModificationRequest := {
+ UEContextModificationRequest := f_tr_S1AP_UeContextModificationReq(mme_id,
+ enb_id,
+ csfb_ind,
+ registered_lai,
+ add_csfb_ind)
+ }
+ }
+}
+
+/* 9.1.4.98 UE CONTEXT MODIFICATION RESPONSE */
+template (value) S1AP_PDU
+ts_S1AP_UeContextModificationResp(template (value) MME_UE_S1AP_ID mme_id,
+ template (value) ENB_UE_S1AP_ID enb_id) := {
+ successfulOutcome := {
+ procedureCode := id_UEContextModification,
+ criticality := reject,
+ value_ := {
+ UEContextModificationResponse := {
protocolIEs := {
{
id := S1AP_Constants.id_MME_UE_S1AP_ID,
@@ -1008,7 +1084,8 @@
id := S1AP_Constants.id_eNB_UE_S1AP_ID,
criticality := reject,
value_ := {ENB_UE_S1AP_ID := enb_id}
- }, *
+ }
+ /* TODO: Criticality Diagnostics IE (Optional) */
}
}
}
@@ -2798,4 +2875,19 @@
}
}

+/* 9.2.3.1 LAI */
+template (value) LAI ts_S1AP_LAI(template (value) PLMNidentity plmn_id,
+ template (value) OCT2 lac) := {
+ pLMNidentity := plmn_id,
+ lAC := lac,
+ iE_Extensions := omit
+};
+
+template (present) LAI tr_S1AP_LAI(template (present) PLMNidentity plmn_id := ?,
+ template (present) OCT2 lac := ?) := {
+ pLMNidentity := plmn_id,
+ lAC := lac,
+ iE_Extensions := *
+};
+
}

To view, visit change 41082. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: merged
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I87fa7d988bec90ccade2f40ac4d2a0924059058e
Gerrit-Change-Number: 41082
Gerrit-PatchSet: 3
Gerrit-Owner: pespin <pespin@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: laforge <laforge@osmocom.org>