Enhanced SIM for E2AP v1 for TS UC

Issue-ID: SIM-18

Signed-off-by: Ron Shacham <rshacham@research.att.com>
Change-Id: I004901af3f1526f6c85400a5f6d564d5ea051501
diff --git a/e2sim/e2apv1sim/ASN1c/ProtocolIE-Field.h b/e2sim/e2apv1sim/ASN1c/ProtocolIE-Field.h
new file mode 100644
index 0000000..45476c8
--- /dev/null
+++ b/e2sim/e2apv1sim/ASN1c/ProtocolIE-Field.h
@@ -0,0 +1,775 @@
+/*
+ *
+ * Copyright 2020 AT&T Intellectual Property
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2AP-Containers"
+ * 	found in "../asnTextFiles/e2ap-v01.00.00.asn"
+ * 	`asn1c -fcompound-names -fincludes-quoted -fno-include-deps -findirect-choice -gen-PER -no-gen-OER -D.`
+ */
+
+#ifndef	_ProtocolIE_Field_H_
+#define	_ProtocolIE_Field_H_
+
+
+#include "asn_application.h"
+
+/* Including external dependencies */
+#include "ProtocolIE-ID.h"
+#include "Criticality.h"
+#include "ANY.h"
+#include "asn_ioc.h"
+#include "RICaction-ToBeSetup-Item.h"
+#include "Presence.h"
+#include "OPEN_TYPE.h"
+#include "constr_CHOICE.h"
+#include "constr_SEQUENCE.h"
+#include "RICaction-Admitted-Item.h"
+#include "RICaction-NotAdmitted-Item.h"
+#include "RANfunction-Item.h"
+#include "RANfunctionID-Item.h"
+#include "RANfunctionIDcause-Item.h"
+#include "RICrequestID.h"
+#include "RANfunctionID.h"
+#include "RICsubscriptionDetails.h"
+#include "RICaction-Admitted-List.h"
+#include "RICaction-NotAdmitted-List.h"
+#include "CriticalityDiagnostics.h"
+#include "Cause.h"
+#include "RICactionID.h"
+#include "RICindicationSN.h"
+#include "RICindicationType.h"
+#include "RICindicationHeader.h"
+#include "RICindicationMessage.h"
+#include "RICcallProcessID.h"
+#include "RICcontrolHeader.h"
+#include "RICcontrolMessage.h"
+#include "RICcontrolAckRequest.h"
+#include "RICcontrolStatus.h"
+#include "RICcontrolOutcome.h"
+#include "GlobalE2node-ID.h"
+#include "RANfunctions-List.h"
+#include "GlobalRIC-ID.h"
+#include "RANfunctionsID-List.h"
+#include "RANfunctionsIDcause-List.h"
+#include "TimeToWait.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RICaction_ToBeSetup_ItemIEs__value_PR {
+	RICaction_ToBeSetup_ItemIEs__value_PR_NOTHING,	/* No components present */
+	RICaction_ToBeSetup_ItemIEs__value_PR_RICaction_ToBeSetup_Item
+} RICaction_ToBeSetup_ItemIEs__value_PR;
+typedef enum RICaction_Admitted_ItemIEs__value_PR {
+	RICaction_Admitted_ItemIEs__value_PR_NOTHING,	/* No components present */
+	RICaction_Admitted_ItemIEs__value_PR_RICaction_Admitted_Item
+} RICaction_Admitted_ItemIEs__value_PR;
+typedef enum RICaction_NotAdmitted_ItemIEs__value_PR {
+	RICaction_NotAdmitted_ItemIEs__value_PR_NOTHING,	/* No components present */
+	RICaction_NotAdmitted_ItemIEs__value_PR_RICaction_NotAdmitted_Item
+} RICaction_NotAdmitted_ItemIEs__value_PR;
+typedef enum RANfunction_ItemIEs__value_PR {
+	RANfunction_ItemIEs__value_PR_NOTHING,	/* No components present */
+	RANfunction_ItemIEs__value_PR_RANfunction_Item
+} RANfunction_ItemIEs__value_PR;
+typedef enum RANfunctionID_ItemIEs__value_PR {
+	RANfunctionID_ItemIEs__value_PR_NOTHING,	/* No components present */
+	RANfunctionID_ItemIEs__value_PR_RANfunctionID_Item
+} RANfunctionID_ItemIEs__value_PR;
+typedef enum RANfunctionIDcause_ItemIEs__value_PR {
+	RANfunctionIDcause_ItemIEs__value_PR_NOTHING,	/* No components present */
+	RANfunctionIDcause_ItemIEs__value_PR_RANfunctionIDcause_Item
+} RANfunctionIDcause_ItemIEs__value_PR;
+typedef enum RICsubscriptionRequest_IEs__value_PR {
+	RICsubscriptionRequest_IEs__value_PR_NOTHING,	/* No components present */
+	RICsubscriptionRequest_IEs__value_PR_RICrequestID,
+	RICsubscriptionRequest_IEs__value_PR_RANfunctionID,
+	RICsubscriptionRequest_IEs__value_PR_RICsubscriptionDetails
+} RICsubscriptionRequest_IEs__value_PR;
+typedef enum RICsubscriptionResponse_IEs__value_PR {
+	RICsubscriptionResponse_IEs__value_PR_NOTHING,	/* No components present */
+	RICsubscriptionResponse_IEs__value_PR_RICrequestID,
+	RICsubscriptionResponse_IEs__value_PR_RANfunctionID,
+	RICsubscriptionResponse_IEs__value_PR_RICaction_Admitted_List,
+	RICsubscriptionResponse_IEs__value_PR_RICaction_NotAdmitted_List
+} RICsubscriptionResponse_IEs__value_PR;
+typedef enum RICsubscriptionFailure_IEs__value_PR {
+	RICsubscriptionFailure_IEs__value_PR_NOTHING,	/* No components present */
+	RICsubscriptionFailure_IEs__value_PR_RICrequestID,
+	RICsubscriptionFailure_IEs__value_PR_RANfunctionID,
+	RICsubscriptionFailure_IEs__value_PR_RICaction_NotAdmitted_List,
+	RICsubscriptionFailure_IEs__value_PR_CriticalityDiagnostics
+} RICsubscriptionFailure_IEs__value_PR;
+typedef enum RICsubscriptionDeleteRequest_IEs__value_PR {
+	RICsubscriptionDeleteRequest_IEs__value_PR_NOTHING,	/* No components present */
+	RICsubscriptionDeleteRequest_IEs__value_PR_RICrequestID,
+	RICsubscriptionDeleteRequest_IEs__value_PR_RANfunctionID
+} RICsubscriptionDeleteRequest_IEs__value_PR;
+typedef enum RICsubscriptionDeleteResponse_IEs__value_PR {
+	RICsubscriptionDeleteResponse_IEs__value_PR_NOTHING,	/* No components present */
+	RICsubscriptionDeleteResponse_IEs__value_PR_RICrequestID,
+	RICsubscriptionDeleteResponse_IEs__value_PR_RANfunctionID
+} RICsubscriptionDeleteResponse_IEs__value_PR;
+typedef enum RICsubscriptionDeleteFailure_IEs__value_PR {
+	RICsubscriptionDeleteFailure_IEs__value_PR_NOTHING,	/* No components present */
+	RICsubscriptionDeleteFailure_IEs__value_PR_RICrequestID,
+	RICsubscriptionDeleteFailure_IEs__value_PR_RANfunctionID,
+	RICsubscriptionDeleteFailure_IEs__value_PR_Cause,
+	RICsubscriptionDeleteFailure_IEs__value_PR_CriticalityDiagnostics
+} RICsubscriptionDeleteFailure_IEs__value_PR;
+typedef enum RICindication_IEs__value_PR {
+	RICindication_IEs__value_PR_NOTHING,	/* No components present */
+	RICindication_IEs__value_PR_RICrequestID,
+	RICindication_IEs__value_PR_RANfunctionID,
+	RICindication_IEs__value_PR_RICactionID,
+	RICindication_IEs__value_PR_RICindicationSN,
+	RICindication_IEs__value_PR_RICindicationType,
+	RICindication_IEs__value_PR_RICindicationHeader,
+	RICindication_IEs__value_PR_RICindicationMessage,
+	RICindication_IEs__value_PR_RICcallProcessID
+} RICindication_IEs__value_PR;
+typedef enum RICcontrolRequest_IEs__value_PR {
+	RICcontrolRequest_IEs__value_PR_NOTHING,	/* No components present */
+	RICcontrolRequest_IEs__value_PR_RICrequestID,
+	RICcontrolRequest_IEs__value_PR_RANfunctionID,
+	RICcontrolRequest_IEs__value_PR_RICcallProcessID,
+	RICcontrolRequest_IEs__value_PR_RICcontrolHeader,
+	RICcontrolRequest_IEs__value_PR_RICcontrolMessage,
+	RICcontrolRequest_IEs__value_PR_RICcontrolAckRequest
+} RICcontrolRequest_IEs__value_PR;
+typedef enum RICcontrolAcknowledge_IEs__value_PR {
+	RICcontrolAcknowledge_IEs__value_PR_NOTHING,	/* No components present */
+	RICcontrolAcknowledge_IEs__value_PR_RICrequestID,
+	RICcontrolAcknowledge_IEs__value_PR_RANfunctionID,
+	RICcontrolAcknowledge_IEs__value_PR_RICcallProcessID,
+	RICcontrolAcknowledge_IEs__value_PR_RICcontrolStatus,
+	RICcontrolAcknowledge_IEs__value_PR_RICcontrolOutcome
+} RICcontrolAcknowledge_IEs__value_PR;
+typedef enum RICcontrolFailure_IEs__value_PR {
+	RICcontrolFailure_IEs__value_PR_NOTHING,	/* No components present */
+	RICcontrolFailure_IEs__value_PR_RICrequestID,
+	RICcontrolFailure_IEs__value_PR_RANfunctionID,
+	RICcontrolFailure_IEs__value_PR_RICcallProcessID,
+	RICcontrolFailure_IEs__value_PR_Cause,
+	RICcontrolFailure_IEs__value_PR_RICcontrolOutcome
+} RICcontrolFailure_IEs__value_PR;
+typedef enum ErrorIndication_IEs__value_PR {
+	ErrorIndication_IEs__value_PR_NOTHING,	/* No components present */
+	ErrorIndication_IEs__value_PR_RICrequestID,
+	ErrorIndication_IEs__value_PR_RANfunctionID,
+	ErrorIndication_IEs__value_PR_Cause,
+	ErrorIndication_IEs__value_PR_CriticalityDiagnostics
+} ErrorIndication_IEs__value_PR;
+typedef enum E2setupRequestIEs__value_PR {
+	E2setupRequestIEs__value_PR_NOTHING,	/* No components present */
+	E2setupRequestIEs__value_PR_GlobalE2node_ID,
+	E2setupRequestIEs__value_PR_RANfunctions_List
+} E2setupRequestIEs__value_PR;
+typedef enum E2setupResponseIEs__value_PR {
+	E2setupResponseIEs__value_PR_NOTHING,	/* No components present */
+	E2setupResponseIEs__value_PR_GlobalRIC_ID,
+	E2setupResponseIEs__value_PR_RANfunctionsID_List,
+	E2setupResponseIEs__value_PR_RANfunctionsIDcause_List
+} E2setupResponseIEs__value_PR;
+typedef enum E2setupFailureIEs__value_PR {
+	E2setupFailureIEs__value_PR_NOTHING,	/* No components present */
+	E2setupFailureIEs__value_PR_Cause,
+	E2setupFailureIEs__value_PR_TimeToWait,
+	E2setupFailureIEs__value_PR_CriticalityDiagnostics
+} E2setupFailureIEs__value_PR;
+typedef enum ResetRequestIEs__value_PR {
+	ResetRequestIEs__value_PR_NOTHING,	/* No components present */
+	ResetRequestIEs__value_PR_Cause
+} ResetRequestIEs__value_PR;
+typedef enum ResetResponseIEs__value_PR {
+	ResetResponseIEs__value_PR_NOTHING,	/* No components present */
+	ResetResponseIEs__value_PR_CriticalityDiagnostics
+} ResetResponseIEs__value_PR;
+typedef enum RICserviceUpdate_IEs__value_PR {
+	RICserviceUpdate_IEs__value_PR_NOTHING,	/* No components present */
+	RICserviceUpdate_IEs__value_PR_RANfunctions_List,
+	RICserviceUpdate_IEs__value_PR_RANfunctionsID_List
+} RICserviceUpdate_IEs__value_PR;
+typedef enum RICserviceUpdateAcknowledge_IEs__value_PR {
+	RICserviceUpdateAcknowledge_IEs__value_PR_NOTHING,	/* No components present */
+	RICserviceUpdateAcknowledge_IEs__value_PR_RANfunctionsID_List,
+	RICserviceUpdateAcknowledge_IEs__value_PR_RANfunctionsIDcause_List
+} RICserviceUpdateAcknowledge_IEs__value_PR;
+typedef enum RICserviceUpdateFailure_IEs__value_PR {
+	RICserviceUpdateFailure_IEs__value_PR_NOTHING,	/* No components present */
+	RICserviceUpdateFailure_IEs__value_PR_RANfunctionsIDcause_List,
+	RICserviceUpdateFailure_IEs__value_PR_TimeToWait,
+	RICserviceUpdateFailure_IEs__value_PR_CriticalityDiagnostics
+} RICserviceUpdateFailure_IEs__value_PR;
+typedef enum RICserviceQuery_IEs__value_PR {
+	RICserviceQuery_IEs__value_PR_NOTHING,	/* No components present */
+	RICserviceQuery_IEs__value_PR_RANfunctionsID_List
+} RICserviceQuery_IEs__value_PR;
+
+/* ProtocolIE-Field */
+typedef struct RICaction_ToBeSetup_ItemIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct RICaction_ToBeSetup_ItemIEs__value {
+		RICaction_ToBeSetup_ItemIEs__value_PR present;
+		union RICaction_ToBeSetup_ItemIEs__value_u {
+			RICaction_ToBeSetup_Item_t	 RICaction_ToBeSetup_Item;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RICaction_ToBeSetup_ItemIEs_t;
+typedef struct RICaction_Admitted_ItemIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct RICaction_Admitted_ItemIEs__value {
+		RICaction_Admitted_ItemIEs__value_PR present;
+		union RICaction_Admitted_ItemIEs__value_u {
+			RICaction_Admitted_Item_t	 RICaction_Admitted_Item;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RICaction_Admitted_ItemIEs_t;
+typedef struct RICaction_NotAdmitted_ItemIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct RICaction_NotAdmitted_ItemIEs__value {
+		RICaction_NotAdmitted_ItemIEs__value_PR present;
+		union RICaction_NotAdmitted_ItemIEs__value_u {
+			RICaction_NotAdmitted_Item_t	 RICaction_NotAdmitted_Item;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RICaction_NotAdmitted_ItemIEs_t;
+typedef struct RANfunction_ItemIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct RANfunction_ItemIEs__value {
+		RANfunction_ItemIEs__value_PR present;
+		union RANfunction_ItemIEs__value_u {
+			RANfunction_Item_t	 RANfunction_Item;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RANfunction_ItemIEs_t;
+typedef struct RANfunctionID_ItemIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct RANfunctionID_ItemIEs__value {
+		RANfunctionID_ItemIEs__value_PR present;
+		union RANfunctionID_ItemIEs__value_u {
+			RANfunctionID_Item_t	 RANfunctionID_Item;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RANfunctionID_ItemIEs_t;
+typedef struct RANfunctionIDcause_ItemIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct RANfunctionIDcause_ItemIEs__value {
+		RANfunctionIDcause_ItemIEs__value_PR present;
+		union RANfunctionIDcause_ItemIEs__value_u {
+			RANfunctionIDcause_Item_t	 RANfunctionIDcause_Item;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RANfunctionIDcause_ItemIEs_t;
+typedef struct RICsubscriptionRequest_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct RICsubscriptionRequest_IEs__value {
+		RICsubscriptionRequest_IEs__value_PR present;
+		union RICsubscriptionRequest_IEs__value_u {
+			RICrequestID_t	 RICrequestID;
+			RANfunctionID_t	 RANfunctionID;
+			RICsubscriptionDetails_t	 RICsubscriptionDetails;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RICsubscriptionRequest_IEs_t;
+typedef struct RICsubscriptionResponse_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct RICsubscriptionResponse_IEs__value {
+		RICsubscriptionResponse_IEs__value_PR present;
+		union RICsubscriptionResponse_IEs__value_u {
+			RICrequestID_t	 RICrequestID;
+			RANfunctionID_t	 RANfunctionID;
+			RICaction_Admitted_List_t	 RICaction_Admitted_List;
+			RICaction_NotAdmitted_List_t	 RICaction_NotAdmitted_List;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RICsubscriptionResponse_IEs_t;
+typedef struct RICsubscriptionFailure_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct RICsubscriptionFailure_IEs__value {
+		RICsubscriptionFailure_IEs__value_PR present;
+		union RICsubscriptionFailure_IEs__value_u {
+			RICrequestID_t	 RICrequestID;
+			RANfunctionID_t	 RANfunctionID;
+			RICaction_NotAdmitted_List_t	 RICaction_NotAdmitted_List;
+			CriticalityDiagnostics_t	 CriticalityDiagnostics;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RICsubscriptionFailure_IEs_t;
+typedef struct RICsubscriptionDeleteRequest_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct RICsubscriptionDeleteRequest_IEs__value {
+		RICsubscriptionDeleteRequest_IEs__value_PR present;
+		union RICsubscriptionDeleteRequest_IEs__value_u {
+			RICrequestID_t	 RICrequestID;
+			RANfunctionID_t	 RANfunctionID;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RICsubscriptionDeleteRequest_IEs_t;
+typedef struct RICsubscriptionDeleteResponse_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct RICsubscriptionDeleteResponse_IEs__value {
+		RICsubscriptionDeleteResponse_IEs__value_PR present;
+		union RICsubscriptionDeleteResponse_IEs__value_u {
+			RICrequestID_t	 RICrequestID;
+			RANfunctionID_t	 RANfunctionID;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RICsubscriptionDeleteResponse_IEs_t;
+typedef struct RICsubscriptionDeleteFailure_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct RICsubscriptionDeleteFailure_IEs__value {
+		RICsubscriptionDeleteFailure_IEs__value_PR present;
+		union RICsubscriptionDeleteFailure_IEs__value_u {
+			RICrequestID_t	 RICrequestID;
+			RANfunctionID_t	 RANfunctionID;
+			Cause_t	 Cause;
+			CriticalityDiagnostics_t	 CriticalityDiagnostics;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RICsubscriptionDeleteFailure_IEs_t;
+typedef struct RICindication_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct RICindication_IEs__value {
+		RICindication_IEs__value_PR present;
+		union RICindication_IEs__value_u {
+			RICrequestID_t	 RICrequestID;
+			RANfunctionID_t	 RANfunctionID;
+			RICactionID_t	 RICactionID;
+			RICindicationSN_t	 RICindicationSN;
+			RICindicationType_t	 RICindicationType;
+			RICindicationHeader_t	 RICindicationHeader;
+			RICindicationMessage_t	 RICindicationMessage;
+			RICcallProcessID_t	 RICcallProcessID;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RICindication_IEs_t;
+typedef struct RICcontrolRequest_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct RICcontrolRequest_IEs__value {
+		RICcontrolRequest_IEs__value_PR present;
+		union RICcontrolRequest_IEs__value_u {
+			RICrequestID_t	 RICrequestID;
+			RANfunctionID_t	 RANfunctionID;
+			RICcallProcessID_t	 RICcallProcessID;
+			RICcontrolHeader_t	 RICcontrolHeader;
+			RICcontrolMessage_t	 RICcontrolMessage;
+			RICcontrolAckRequest_t	 RICcontrolAckRequest;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RICcontrolRequest_IEs_t;
+typedef struct RICcontrolAcknowledge_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct RICcontrolAcknowledge_IEs__value {
+		RICcontrolAcknowledge_IEs__value_PR present;
+		union RICcontrolAcknowledge_IEs__value_u {
+			RICrequestID_t	 RICrequestID;
+			RANfunctionID_t	 RANfunctionID;
+			RICcallProcessID_t	 RICcallProcessID;
+			RICcontrolStatus_t	 RICcontrolStatus;
+			RICcontrolOutcome_t	 RICcontrolOutcome;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RICcontrolAcknowledge_IEs_t;
+typedef struct RICcontrolFailure_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct RICcontrolFailure_IEs__value {
+		RICcontrolFailure_IEs__value_PR present;
+		union RICcontrolFailure_IEs__value_u {
+			RICrequestID_t	 RICrequestID;
+			RANfunctionID_t	 RANfunctionID;
+			RICcallProcessID_t	 RICcallProcessID;
+			Cause_t	 Cause;
+			RICcontrolOutcome_t	 RICcontrolOutcome;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RICcontrolFailure_IEs_t;
+typedef struct ErrorIndication_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct ErrorIndication_IEs__value {
+		ErrorIndication_IEs__value_PR present;
+		union ErrorIndication_IEs__value_u {
+			RICrequestID_t	 RICrequestID;
+			RANfunctionID_t	 RANfunctionID;
+			Cause_t	 Cause;
+			CriticalityDiagnostics_t	 CriticalityDiagnostics;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ErrorIndication_IEs_t;
+typedef struct E2setupRequestIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E2setupRequestIEs__value {
+		E2setupRequestIEs__value_PR present;
+		union E2setupRequestIEs__value_u {
+			GlobalE2node_ID_t	 GlobalE2node_ID;
+			RANfunctions_List_t	 RANfunctions_List;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E2setupRequestIEs_t;
+typedef struct E2setupResponseIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E2setupResponseIEs__value {
+		E2setupResponseIEs__value_PR present;
+		union E2setupResponseIEs__value_u {
+			GlobalRIC_ID_t	 GlobalRIC_ID;
+			RANfunctionsID_List_t	 RANfunctionsID_List;
+			RANfunctionsIDcause_List_t	 RANfunctionsIDcause_List;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E2setupResponseIEs_t;
+typedef struct E2setupFailureIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E2setupFailureIEs__value {
+		E2setupFailureIEs__value_PR present;
+		union E2setupFailureIEs__value_u {
+			Cause_t	 Cause;
+			TimeToWait_t	 TimeToWait;
+			CriticalityDiagnostics_t	 CriticalityDiagnostics;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E2setupFailureIEs_t;
+typedef struct ResetRequestIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct ResetRequestIEs__value {
+		ResetRequestIEs__value_PR present;
+		union ResetRequestIEs__value_u {
+			Cause_t	 Cause;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ResetRequestIEs_t;
+typedef struct ResetResponseIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct ResetResponseIEs__value {
+		ResetResponseIEs__value_PR present;
+		union ResetResponseIEs__value_u {
+			CriticalityDiagnostics_t	 CriticalityDiagnostics;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ResetResponseIEs_t;
+typedef struct RICserviceUpdate_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct RICserviceUpdate_IEs__value {
+		RICserviceUpdate_IEs__value_PR present;
+		union RICserviceUpdate_IEs__value_u {
+			RANfunctions_List_t	 RANfunctions_List;
+			RANfunctionsID_List_t	 RANfunctionsID_List;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RICserviceUpdate_IEs_t;
+typedef struct RICserviceUpdateAcknowledge_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct RICserviceUpdateAcknowledge_IEs__value {
+		RICserviceUpdateAcknowledge_IEs__value_PR present;
+		union RICserviceUpdateAcknowledge_IEs__value_u {
+			RANfunctionsID_List_t	 RANfunctionsID_List;
+			RANfunctionsIDcause_List_t	 RANfunctionsIDcause_List;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RICserviceUpdateAcknowledge_IEs_t;
+typedef struct RICserviceUpdateFailure_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct RICserviceUpdateFailure_IEs__value {
+		RICserviceUpdateFailure_IEs__value_PR present;
+		union RICserviceUpdateFailure_IEs__value_u {
+			RANfunctionsIDcause_List_t	 RANfunctionsIDcause_List;
+			TimeToWait_t	 TimeToWait;
+			CriticalityDiagnostics_t	 CriticalityDiagnostics;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RICserviceUpdateFailure_IEs_t;
+typedef struct RICserviceQuery_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct RICserviceQuery_IEs__value {
+		RICserviceQuery_IEs__value_PR present;
+		union RICserviceQuery_IEs__value_u {
+			RANfunctionsID_List_t	 RANfunctionsID_List;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} value;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RICserviceQuery_IEs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RICaction_ToBeSetup_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICaction_ToBeSetup_ItemIEs_specs_1;
+extern asn_TYPE_member_t asn_MBR_RICaction_ToBeSetup_ItemIEs_1[3];
+extern asn_TYPE_descriptor_t asn_DEF_RICaction_Admitted_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICaction_Admitted_ItemIEs_specs_5;
+extern asn_TYPE_member_t asn_MBR_RICaction_Admitted_ItemIEs_5[3];
+extern asn_TYPE_descriptor_t asn_DEF_RICaction_NotAdmitted_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICaction_NotAdmitted_ItemIEs_specs_9;
+extern asn_TYPE_member_t asn_MBR_RICaction_NotAdmitted_ItemIEs_9[3];
+extern asn_TYPE_descriptor_t asn_DEF_RANfunction_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANfunction_ItemIEs_specs_13;
+extern asn_TYPE_member_t asn_MBR_RANfunction_ItemIEs_13[3];
+extern asn_TYPE_descriptor_t asn_DEF_RANfunctionID_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANfunctionID_ItemIEs_specs_17;
+extern asn_TYPE_member_t asn_MBR_RANfunctionID_ItemIEs_17[3];
+extern asn_TYPE_descriptor_t asn_DEF_RANfunctionIDcause_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RANfunctionIDcause_ItemIEs_specs_21;
+extern asn_TYPE_member_t asn_MBR_RANfunctionIDcause_ItemIEs_21[3];
+extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionRequest_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionRequest_IEs_specs_25;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionRequest_IEs_25[3];
+extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionResponse_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionResponse_IEs_specs_29;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionResponse_IEs_29[3];
+extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionFailure_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionFailure_IEs_specs_33;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionFailure_IEs_33[3];
+extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteRequest_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteRequest_IEs_specs_37;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteRequest_IEs_37[3];
+extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteResponse_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteResponse_IEs_specs_41;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteResponse_IEs_41[3];
+extern asn_TYPE_descriptor_t asn_DEF_RICsubscriptionDeleteFailure_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICsubscriptionDeleteFailure_IEs_specs_45;
+extern asn_TYPE_member_t asn_MBR_RICsubscriptionDeleteFailure_IEs_45[3];
+extern asn_TYPE_descriptor_t asn_DEF_RICindication_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICindication_IEs_specs_49;
+extern asn_TYPE_member_t asn_MBR_RICindication_IEs_49[3];
+extern asn_TYPE_descriptor_t asn_DEF_RICcontrolRequest_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICcontrolRequest_IEs_specs_53;
+extern asn_TYPE_member_t asn_MBR_RICcontrolRequest_IEs_53[3];
+extern asn_TYPE_descriptor_t asn_DEF_RICcontrolAcknowledge_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICcontrolAcknowledge_IEs_specs_57;
+extern asn_TYPE_member_t asn_MBR_RICcontrolAcknowledge_IEs_57[3];
+extern asn_TYPE_descriptor_t asn_DEF_RICcontrolFailure_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICcontrolFailure_IEs_specs_61;
+extern asn_TYPE_member_t asn_MBR_RICcontrolFailure_IEs_61[3];
+extern asn_TYPE_descriptor_t asn_DEF_ErrorIndication_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ErrorIndication_IEs_specs_65;
+extern asn_TYPE_member_t asn_MBR_ErrorIndication_IEs_65[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2setupRequestIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2setupRequestIEs_specs_69;
+extern asn_TYPE_member_t asn_MBR_E2setupRequestIEs_69[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2setupResponseIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2setupResponseIEs_specs_73;
+extern asn_TYPE_member_t asn_MBR_E2setupResponseIEs_73[3];
+extern asn_TYPE_descriptor_t asn_DEF_E2setupFailureIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E2setupFailureIEs_specs_77;
+extern asn_TYPE_member_t asn_MBR_E2setupFailureIEs_77[3];
+extern asn_TYPE_descriptor_t asn_DEF_ResetRequestIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ResetRequestIEs_specs_81;
+extern asn_TYPE_member_t asn_MBR_ResetRequestIEs_81[3];
+extern asn_TYPE_descriptor_t asn_DEF_ResetResponseIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ResetResponseIEs_specs_85;
+extern asn_TYPE_member_t asn_MBR_ResetResponseIEs_85[3];
+extern asn_TYPE_descriptor_t asn_DEF_RICserviceUpdate_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdate_IEs_specs_89;
+extern asn_TYPE_member_t asn_MBR_RICserviceUpdate_IEs_89[3];
+extern asn_TYPE_descriptor_t asn_DEF_RICserviceUpdateAcknowledge_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateAcknowledge_IEs_specs_93;
+extern asn_TYPE_member_t asn_MBR_RICserviceUpdateAcknowledge_IEs_93[3];
+extern asn_TYPE_descriptor_t asn_DEF_RICserviceUpdateFailure_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceUpdateFailure_IEs_specs_97;
+extern asn_TYPE_member_t asn_MBR_RICserviceUpdateFailure_IEs_97[3];
+extern asn_TYPE_descriptor_t asn_DEF_RICserviceQuery_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RICserviceQuery_IEs_specs_101;
+extern asn_TYPE_member_t asn_MBR_RICserviceQuery_IEs_101[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ProtocolIE_Field_H_ */
+#include "asn_internal.h"