MME2 changes - Propped commits from openmme/paging branch. Added scripts
for code gen

Change-Id: Ie55032217232214ac8544ca76ea34335205329e4
diff --git a/src/s1ap/asn1c/asn1c b/src/s1ap/asn1c/asn1c
new file mode 100644
index 0000000..16425d5
--- /dev/null
+++ b/src/s1ap/asn1c/asn1c
Binary files differ
diff --git a/src/s1ap/asn1c/asnGenFiles/ANY.h b/src/s1ap/asn1c/asnGenFiles/ANY.h
new file mode 100644
index 0000000..b30381f
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ANY.h
@@ -0,0 +1,65 @@
+/*-
+ * Copyright (c) 2004-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef ASN_TYPE_ANY_H
+#define ASN_TYPE_ANY_H
+
+#include <OCTET_STRING.h>	/* Implemented via OCTET STRING type */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct ANY {
+	uint8_t *buf;	/* BER-encoded ANY contents */
+	int size;	/* Size of the above buffer */
+
+	asn_struct_ctx_t _asn_ctx;	/* Parsing across buffer boundaries */
+} ANY_t;
+
+extern asn_TYPE_descriptor_t asn_DEF_ANY;
+extern asn_TYPE_operation_t asn_OP_ANY;
+extern asn_OCTET_STRING_specifics_t asn_SPC_ANY_specs;
+
+asn_struct_free_f ANY_free;
+asn_struct_print_f ANY_print;
+ber_type_decoder_f ANY_decode_ber;
+der_type_encoder_f ANY_encode_der;
+xer_type_encoder_f ANY_encode_xer;
+per_type_decoder_f ANY_decode_uper;
+per_type_encoder_f ANY_encode_uper;
+per_type_decoder_f ANY_decode_aper;
+per_type_encoder_f ANY_encode_aper;
+
+#define ANY_free         OCTET_STRING_free
+#define ANY_print        OCTET_STRING_print
+#define ANY_compare      OCTET_STRING_compare
+#define ANY_constraint   asn_generic_no_constraint
+#define ANY_decode_ber   OCTET_STRING_decode_ber
+#define ANY_encode_der   OCTET_STRING_encode_der
+#define ANY_decode_xer   OCTET_STRING_decode_xer_hex
+
+/******************************
+ * Handy conversion routines. *
+ ******************************/
+
+/* Convert another ASN.1 type into the ANY. This implies DER encoding. */
+int ANY_fromType(ANY_t *, asn_TYPE_descriptor_t *td, void *struct_ptr);
+int ANY_fromType_aper(ANY_t *st, asn_TYPE_descriptor_t *td, void *sptr);
+ANY_t *ANY_new_fromType(asn_TYPE_descriptor_t *td, void *struct_ptr);
+ANY_t *ANY_new_fromType_aper(asn_TYPE_descriptor_t *td, void *sptr);
+
+/* Convert the contents of the ANY type into the specified type. */
+int ANY_to_type(ANY_t *, asn_TYPE_descriptor_t *td, void **struct_ptr);
+int ANY_to_type_aper(ANY_t *, asn_TYPE_descriptor_t *td, void **struct_ptr);
+
+#define	ANY_fromBuf(s, buf, size)	OCTET_STRING_fromBuf((s), (buf), (size))
+#define	ANY_new_fromBuf(buf, size)	OCTET_STRING_new_fromBuf(	\
+						&asn_DEF_ANY, (buf), (size))
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* ASN_TYPE_ANY_H */
diff --git a/src/s1ap/asn1c/asnGenFiles/Additional-GUTI.h b/src/s1ap/asn1c/asnGenFiles/Additional-GUTI.h
new file mode 100644
index 0000000..33c4e03
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Additional-GUTI.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Additional_GUTI_H_
+#define	_Additional_GUTI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "GUMMEI.h"
+#include "M-TMSI.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* Additional-GUTI */
+typedef struct Additional_GUTI {
+	GUMMEI_t	 gUMMEI;
+	M_TMSI_t	 m_TMSI;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} Additional_GUTI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Additional_GUTI;
+extern asn_SEQUENCE_specifics_t asn_SPC_Additional_GUTI_specs_1;
+extern asn_TYPE_member_t asn_MBR_Additional_GUTI_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Additional_GUTI_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/AdditionalCSFallbackIndicator.h b/src/s1ap/asn1c/asnGenFiles/AdditionalCSFallbackIndicator.h
new file mode 100644
index 0000000..dae1d3e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/AdditionalCSFallbackIndicator.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_AdditionalCSFallbackIndicator_H_
+#define	_AdditionalCSFallbackIndicator_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum AdditionalCSFallbackIndicator {
+	AdditionalCSFallbackIndicator_no_restriction	= 0,
+	AdditionalCSFallbackIndicator_restriction	= 1
+	/*
+	 * Enumeration is extensible
+	 */
+} e_AdditionalCSFallbackIndicator;
+
+/* AdditionalCSFallbackIndicator */
+typedef long	 AdditionalCSFallbackIndicator_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_AdditionalCSFallbackIndicator_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_AdditionalCSFallbackIndicator;
+extern const asn_INTEGER_specifics_t asn_SPC_AdditionalCSFallbackIndicator_specs_1;
+asn_struct_free_f AdditionalCSFallbackIndicator_free;
+asn_struct_print_f AdditionalCSFallbackIndicator_print;
+asn_constr_check_f AdditionalCSFallbackIndicator_constraint;
+ber_type_decoder_f AdditionalCSFallbackIndicator_decode_ber;
+der_type_encoder_f AdditionalCSFallbackIndicator_encode_der;
+xer_type_decoder_f AdditionalCSFallbackIndicator_decode_xer;
+xer_type_encoder_f AdditionalCSFallbackIndicator_encode_xer;
+oer_type_decoder_f AdditionalCSFallbackIndicator_decode_oer;
+oer_type_encoder_f AdditionalCSFallbackIndicator_encode_oer;
+per_type_decoder_f AdditionalCSFallbackIndicator_decode_uper;
+per_type_encoder_f AdditionalCSFallbackIndicator_encode_uper;
+per_type_decoder_f AdditionalCSFallbackIndicator_decode_aper;
+per_type_encoder_f AdditionalCSFallbackIndicator_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _AdditionalCSFallbackIndicator_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/AerialUEsubscriptionInformation.h b/src/s1ap/asn1c/asnGenFiles/AerialUEsubscriptionInformation.h
new file mode 100644
index 0000000..6784f22
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/AerialUEsubscriptionInformation.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_AerialUEsubscriptionInformation_H_
+#define	_AerialUEsubscriptionInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum AerialUEsubscriptionInformation {
+	AerialUEsubscriptionInformation_allowed	= 0,
+	AerialUEsubscriptionInformation_not_allowed	= 1
+	/*
+	 * Enumeration is extensible
+	 */
+} e_AerialUEsubscriptionInformation;
+
+/* AerialUEsubscriptionInformation */
+typedef long	 AerialUEsubscriptionInformation_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_AerialUEsubscriptionInformation_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_AerialUEsubscriptionInformation;
+extern const asn_INTEGER_specifics_t asn_SPC_AerialUEsubscriptionInformation_specs_1;
+asn_struct_free_f AerialUEsubscriptionInformation_free;
+asn_struct_print_f AerialUEsubscriptionInformation_print;
+asn_constr_check_f AerialUEsubscriptionInformation_constraint;
+ber_type_decoder_f AerialUEsubscriptionInformation_decode_ber;
+der_type_encoder_f AerialUEsubscriptionInformation_encode_der;
+xer_type_decoder_f AerialUEsubscriptionInformation_decode_xer;
+xer_type_encoder_f AerialUEsubscriptionInformation_encode_xer;
+oer_type_decoder_f AerialUEsubscriptionInformation_decode_oer;
+oer_type_encoder_f AerialUEsubscriptionInformation_encode_oer;
+per_type_decoder_f AerialUEsubscriptionInformation_decode_uper;
+per_type_encoder_f AerialUEsubscriptionInformation_encode_uper;
+per_type_decoder_f AerialUEsubscriptionInformation_decode_aper;
+per_type_encoder_f AerialUEsubscriptionInformation_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _AerialUEsubscriptionInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/AllocationAndRetentionPriority.h b/src/s1ap/asn1c/asnGenFiles/AllocationAndRetentionPriority.h
new file mode 100644
index 0000000..334761b
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/AllocationAndRetentionPriority.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_AllocationAndRetentionPriority_H_
+#define	_AllocationAndRetentionPriority_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PriorityLevel.h"
+#include "Pre-emptionCapability.h"
+#include "Pre-emptionVulnerability.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* AllocationAndRetentionPriority */
+typedef struct AllocationAndRetentionPriority {
+	PriorityLevel_t	 priorityLevel;
+	Pre_emptionCapability_t	 pre_emptionCapability;
+	Pre_emptionVulnerability_t	 pre_emptionVulnerability;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} AllocationAndRetentionPriority_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AllocationAndRetentionPriority;
+extern asn_SEQUENCE_specifics_t asn_SPC_AllocationAndRetentionPriority_specs_1;
+extern asn_TYPE_member_t asn_MBR_AllocationAndRetentionPriority_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _AllocationAndRetentionPriority_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/AreaScopeOfMDT.h b/src/s1ap/asn1c/asnGenFiles/AreaScopeOfMDT.h
new file mode 100644
index 0000000..2f0fda9
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/AreaScopeOfMDT.h
@@ -0,0 +1,66 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_AreaScopeOfMDT_H_
+#define	_AreaScopeOfMDT_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NULL.h>
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum AreaScopeOfMDT_PR {
+	AreaScopeOfMDT_PR_NOTHING,	/* No components present */
+	AreaScopeOfMDT_PR_cellBased,
+	AreaScopeOfMDT_PR_tABased,
+	AreaScopeOfMDT_PR_pLMNWide,
+	/* Extensions may appear below */
+	AreaScopeOfMDT_PR_tAIBased
+} AreaScopeOfMDT_PR;
+
+/* Forward declarations */
+struct CellBasedMDT;
+struct TABasedMDT;
+struct TAIBasedMDT;
+
+/* AreaScopeOfMDT */
+typedef struct AreaScopeOfMDT {
+	AreaScopeOfMDT_PR present;
+	union AreaScopeOfMDT_u {
+		struct CellBasedMDT	*cellBased;
+		struct TABasedMDT	*tABased;
+		NULL_t	 pLMNWide;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+		struct TAIBasedMDT	*tAIBased;
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} AreaScopeOfMDT_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AreaScopeOfMDT;
+extern asn_CHOICE_specifics_t asn_SPC_AreaScopeOfMDT_specs_1;
+extern asn_TYPE_member_t asn_MBR_AreaScopeOfMDT_1[4];
+extern asn_per_constraints_t asn_PER_type_AreaScopeOfMDT_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _AreaScopeOfMDT_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/AreaScopeOfQMC.h b/src/s1ap/asn1c/asnGenFiles/AreaScopeOfQMC.h
new file mode 100644
index 0000000..7550edb
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/AreaScopeOfQMC.h
@@ -0,0 +1,67 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_AreaScopeOfQMC_H_
+#define	_AreaScopeOfQMC_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum AreaScopeOfQMC_PR {
+	AreaScopeOfQMC_PR_NOTHING,	/* No components present */
+	AreaScopeOfQMC_PR_cellBased,
+	AreaScopeOfQMC_PR_tABased,
+	AreaScopeOfQMC_PR_tAIBased,
+	AreaScopeOfQMC_PR_pLMNAreaBased
+	/* Extensions may appear below */
+	
+} AreaScopeOfQMC_PR;
+
+/* Forward declarations */
+struct CellBasedQMC;
+struct TABasedQMC;
+struct TAIBasedQMC;
+struct PLMNAreaBasedQMC;
+
+/* AreaScopeOfQMC */
+typedef struct AreaScopeOfQMC {
+	AreaScopeOfQMC_PR present;
+	union AreaScopeOfQMC_u {
+		struct CellBasedQMC	*cellBased;
+		struct TABasedQMC	*tABased;
+		struct TAIBasedQMC	*tAIBased;
+		struct PLMNAreaBasedQMC	*pLMNAreaBased;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} AreaScopeOfQMC_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AreaScopeOfQMC;
+extern asn_CHOICE_specifics_t asn_SPC_AreaScopeOfQMC_specs_1;
+extern asn_TYPE_member_t asn_MBR_AreaScopeOfQMC_1[4];
+extern asn_per_constraints_t asn_PER_type_AreaScopeOfQMC_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _AreaScopeOfQMC_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/AssistanceDataForCECapableUEs.h b/src/s1ap/asn1c/asnGenFiles/AssistanceDataForCECapableUEs.h
new file mode 100644
index 0000000..33d0bbd
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/AssistanceDataForCECapableUEs.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_AssistanceDataForCECapableUEs_H_
+#define	_AssistanceDataForCECapableUEs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "CellIdentifierAndCELevelForCECapableUEs.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* AssistanceDataForCECapableUEs */
+typedef struct AssistanceDataForCECapableUEs {
+	CellIdentifierAndCELevelForCECapableUEs_t	 cellIdentifierAndCELevelForCECapableUEs;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} AssistanceDataForCECapableUEs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AssistanceDataForCECapableUEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_AssistanceDataForCECapableUEs_specs_1;
+extern asn_TYPE_member_t asn_MBR_AssistanceDataForCECapableUEs_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _AssistanceDataForCECapableUEs_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/AssistanceDataForPaging.h b/src/s1ap/asn1c/asnGenFiles/AssistanceDataForPaging.h
new file mode 100644
index 0000000..eb36003
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/AssistanceDataForPaging.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_AssistanceDataForPaging_H_
+#define	_AssistanceDataForPaging_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct AssistanceDataForRecommendedCells;
+struct AssistanceDataForCECapableUEs;
+struct PagingAttemptInformation;
+struct ProtocolExtensionContainer;
+
+/* AssistanceDataForPaging */
+typedef struct AssistanceDataForPaging {
+	struct AssistanceDataForRecommendedCells	*assistanceDataForRecommendedCells;	/* OPTIONAL */
+	struct AssistanceDataForCECapableUEs	*assistanceDataForCECapableUEs;	/* OPTIONAL */
+	struct PagingAttemptInformation	*pagingAttemptInformation;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} AssistanceDataForPaging_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AssistanceDataForPaging;
+extern asn_SEQUENCE_specifics_t asn_SPC_AssistanceDataForPaging_specs_1;
+extern asn_TYPE_member_t asn_MBR_AssistanceDataForPaging_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _AssistanceDataForPaging_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/AssistanceDataForRecommendedCells.h b/src/s1ap/asn1c/asnGenFiles/AssistanceDataForRecommendedCells.h
new file mode 100644
index 0000000..baf1bd6
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/AssistanceDataForRecommendedCells.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_AssistanceDataForRecommendedCells_H_
+#define	_AssistanceDataForRecommendedCells_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RecommendedCellsForPaging.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* AssistanceDataForRecommendedCells */
+typedef struct AssistanceDataForRecommendedCells {
+	RecommendedCellsForPaging_t	 recommendedCellsForPaging;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} AssistanceDataForRecommendedCells_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AssistanceDataForRecommendedCells;
+extern asn_SEQUENCE_specifics_t asn_SPC_AssistanceDataForRecommendedCells_specs_1;
+extern asn_TYPE_member_t asn_MBR_AssistanceDataForRecommendedCells_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _AssistanceDataForRecommendedCells_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/BIT_STRING.h b/src/s1ap/asn1c/asnGenFiles/BIT_STRING.h
new file mode 100644
index 0000000..c1bdbbc
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/BIT_STRING.h
@@ -0,0 +1,48 @@
+/*-
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	_BIT_STRING_H_
+#define	_BIT_STRING_H_
+
+#include <OCTET_STRING.h>	/* Some help from OCTET STRING */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct BIT_STRING_s {
+	uint8_t *buf;	/* BIT STRING body */
+	size_t size;	/* Size of the above buffer */
+
+	int bits_unused;/* Unused trailing bits in the last octet (0..7) */
+
+	asn_struct_ctx_t _asn_ctx;	/* Parsing across buffer boundaries */
+} BIT_STRING_t;
+
+extern asn_TYPE_descriptor_t asn_DEF_BIT_STRING;
+extern asn_TYPE_operation_t asn_OP_BIT_STRING;
+extern asn_OCTET_STRING_specifics_t asn_SPC_BIT_STRING_specs;
+
+asn_struct_print_f BIT_STRING_print;	/* Human-readable output */
+asn_struct_compare_f BIT_STRING_compare;
+asn_constr_check_f BIT_STRING_constraint;
+xer_type_encoder_f BIT_STRING_encode_xer;
+oer_type_decoder_f BIT_STRING_decode_oer;
+oer_type_encoder_f BIT_STRING_encode_oer;
+per_type_decoder_f BIT_STRING_decode_uper;
+per_type_encoder_f BIT_STRING_encode_uper;
+asn_random_fill_f  BIT_STRING_random_fill;
+
+#define BIT_STRING_free              OCTET_STRING_free
+#define BIT_STRING_decode_ber        OCTET_STRING_decode_ber
+#define BIT_STRING_encode_der        OCTET_STRING_encode_der
+#define BIT_STRING_decode_xer        OCTET_STRING_decode_xer_binary
+#define BIT_STRING_decode_aper       OCTET_STRING_decode_aper
+#define BIT_STRING_encode_aper       OCTET_STRING_encode_aper
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _BIT_STRING_H_ */
diff --git a/src/s1ap/asn1c/asnGenFiles/BOOLEAN.h b/src/s1ap/asn1c/asnGenFiles/BOOLEAN.h
new file mode 100644
index 0000000..620acf7
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/BOOLEAN.h
@@ -0,0 +1,45 @@
+/*-
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	_BOOLEAN_H_
+#define	_BOOLEAN_H_
+
+#include <asn_application.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * The underlying integer may contain various values, but everything
+ * non-zero is capped to 0xff by the DER encoder. The BER decoder may
+ * yield non-zero values different from 1, beware.
+ */
+typedef int BOOLEAN_t;
+
+extern asn_TYPE_descriptor_t asn_DEF_BOOLEAN;
+extern asn_TYPE_operation_t asn_OP_BOOLEAN;
+
+asn_struct_free_f BOOLEAN_free;
+asn_struct_print_f BOOLEAN_print;
+asn_struct_compare_f BOOLEAN_compare;
+ber_type_decoder_f BOOLEAN_decode_ber;
+der_type_encoder_f BOOLEAN_encode_der;
+oer_type_decoder_f BOOLEAN_decode_oer;
+oer_type_encoder_f BOOLEAN_encode_oer;
+per_type_decoder_f BOOLEAN_decode_uper;
+per_type_encoder_f BOOLEAN_encode_uper;
+per_type_decoder_f BOOLEAN_decode_aper;
+per_type_encoder_f BOOLEAN_encode_aper;
+xer_type_decoder_f BOOLEAN_decode_xer;
+xer_type_encoder_f BOOLEAN_encode_xer;
+asn_random_fill_f  BOOLEAN_random_fill;
+
+#define BOOLEAN_constraint     asn_generic_no_constraint
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _BOOLEAN_H_ */
diff --git a/src/s1ap/asn1c/asnGenFiles/BPLMNs.h b/src/s1ap/asn1c/asnGenFiles/BPLMNs.h
new file mode 100644
index 0000000..8a28258
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/BPLMNs.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_BPLMNs_H_
+#define	_BPLMNs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PLMNidentity.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* BPLMNs */
+typedef struct BPLMNs {
+	A_SEQUENCE_OF(PLMNidentity_t) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} BPLMNs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_BPLMNs;
+extern asn_SET_OF_specifics_t asn_SPC_BPLMNs_specs_1;
+extern asn_TYPE_member_t asn_MBR_BPLMNs_1[1];
+extern asn_per_constraints_t asn_PER_type_BPLMNs_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _BPLMNs_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/BearerType.h b/src/s1ap/asn1c/asnGenFiles/BearerType.h
new file mode 100644
index 0000000..66c6cbf
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/BearerType.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_BearerType_H_
+#define	_BearerType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum BearerType {
+	BearerType_non_IP	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_BearerType;
+
+/* BearerType */
+typedef long	 BearerType_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_BearerType_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_BearerType;
+extern const asn_INTEGER_specifics_t asn_SPC_BearerType_specs_1;
+asn_struct_free_f BearerType_free;
+asn_struct_print_f BearerType_print;
+asn_constr_check_f BearerType_constraint;
+ber_type_decoder_f BearerType_decode_ber;
+der_type_encoder_f BearerType_encode_der;
+xer_type_decoder_f BearerType_decode_xer;
+xer_type_encoder_f BearerType_encode_xer;
+oer_type_decoder_f BearerType_decode_oer;
+oer_type_encoder_f BearerType_encode_oer;
+per_type_decoder_f BearerType_decode_uper;
+per_type_encoder_f BearerType_encode_uper;
+per_type_decoder_f BearerType_decode_aper;
+per_type_encoder_f BearerType_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _BearerType_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Bearers-SubjectToStatusTransfer-Item.h b/src/s1ap/asn1c/asnGenFiles/Bearers-SubjectToStatusTransfer-Item.h
new file mode 100644
index 0000000..b3a4728
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Bearers-SubjectToStatusTransfer-Item.h
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Bearers_SubjectToStatusTransfer_Item_H_
+#define	_Bearers_SubjectToStatusTransfer_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-ID.h"
+#include "COUNTvalue.h"
+#include "ReceiveStatusofULPDCPSDUs.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* Bearers-SubjectToStatusTransfer-Item */
+typedef struct Bearers_SubjectToStatusTransfer_Item {
+	E_RAB_ID_t	 e_RAB_ID;
+	COUNTvalue_t	 uL_COUNTvalue;
+	COUNTvalue_t	 dL_COUNTvalue;
+	ReceiveStatusofULPDCPSDUs_t	*receiveStatusofULPDCPSDUs;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} Bearers_SubjectToStatusTransfer_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Bearers_SubjectToStatusTransfer_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_Bearers_SubjectToStatusTransfer_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_Bearers_SubjectToStatusTransfer_Item_1[5];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Bearers_SubjectToStatusTransfer_Item_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Bearers-SubjectToStatusTransferList.h b/src/s1ap/asn1c/asnGenFiles/Bearers-SubjectToStatusTransferList.h
new file mode 100644
index 0000000..4100abd
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Bearers-SubjectToStatusTransferList.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Bearers_SubjectToStatusTransferList_H_
+#define	_Bearers_SubjectToStatusTransferList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* Bearers-SubjectToStatusTransferList */
+typedef struct Bearers_SubjectToStatusTransferList {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} Bearers_SubjectToStatusTransferList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Bearers_SubjectToStatusTransferList;
+extern asn_SET_OF_specifics_t asn_SPC_Bearers_SubjectToStatusTransferList_specs_1;
+extern asn_TYPE_member_t asn_MBR_Bearers_SubjectToStatusTransferList_1[1];
+extern asn_per_constraints_t asn_PER_type_Bearers_SubjectToStatusTransferList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Bearers_SubjectToStatusTransferList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/BitRate.h b/src/s1ap/asn1c/asnGenFiles/BitRate.h
new file mode 100644
index 0000000..efba359
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/BitRate.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_BitRate_H_
+#define	_BitRate_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <INTEGER.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* BitRate */
+typedef INTEGER_t	 BitRate_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_BitRate_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_BitRate;
+asn_struct_free_f BitRate_free;
+asn_struct_print_f BitRate_print;
+asn_constr_check_f BitRate_constraint;
+ber_type_decoder_f BitRate_decode_ber;
+der_type_encoder_f BitRate_encode_der;
+xer_type_decoder_f BitRate_decode_xer;
+xer_type_encoder_f BitRate_encode_xer;
+oer_type_decoder_f BitRate_decode_oer;
+oer_type_encoder_f BitRate_encode_oer;
+per_type_decoder_f BitRate_decode_uper;
+per_type_encoder_f BitRate_encode_uper;
+per_type_decoder_f BitRate_decode_aper;
+per_type_encoder_f BitRate_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _BitRate_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/BluetoothMeasConfig.h b/src/s1ap/asn1c/asnGenFiles/BluetoothMeasConfig.h
new file mode 100644
index 0000000..fdcdfe7
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/BluetoothMeasConfig.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_BluetoothMeasConfig_H_
+#define	_BluetoothMeasConfig_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum BluetoothMeasConfig {
+	BluetoothMeasConfig_setup	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_BluetoothMeasConfig;
+
+/* BluetoothMeasConfig */
+typedef long	 BluetoothMeasConfig_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_BluetoothMeasConfig_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_BluetoothMeasConfig;
+extern const asn_INTEGER_specifics_t asn_SPC_BluetoothMeasConfig_specs_1;
+asn_struct_free_f BluetoothMeasConfig_free;
+asn_struct_print_f BluetoothMeasConfig_print;
+asn_constr_check_f BluetoothMeasConfig_constraint;
+ber_type_decoder_f BluetoothMeasConfig_decode_ber;
+der_type_encoder_f BluetoothMeasConfig_encode_der;
+xer_type_decoder_f BluetoothMeasConfig_decode_xer;
+xer_type_encoder_f BluetoothMeasConfig_encode_xer;
+oer_type_decoder_f BluetoothMeasConfig_decode_oer;
+oer_type_encoder_f BluetoothMeasConfig_encode_oer;
+per_type_decoder_f BluetoothMeasConfig_decode_uper;
+per_type_encoder_f BluetoothMeasConfig_encode_uper;
+per_type_decoder_f BluetoothMeasConfig_decode_aper;
+per_type_encoder_f BluetoothMeasConfig_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _BluetoothMeasConfig_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/BluetoothMeasConfigNameList.h b/src/s1ap/asn1c/asnGenFiles/BluetoothMeasConfigNameList.h
new file mode 100644
index 0000000..cbd69d8
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/BluetoothMeasConfigNameList.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_BluetoothMeasConfigNameList_H_
+#define	_BluetoothMeasConfigNameList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "BluetoothName.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* BluetoothMeasConfigNameList */
+typedef struct BluetoothMeasConfigNameList {
+	A_SEQUENCE_OF(BluetoothName_t) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} BluetoothMeasConfigNameList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_BluetoothMeasConfigNameList;
+extern asn_SET_OF_specifics_t asn_SPC_BluetoothMeasConfigNameList_specs_1;
+extern asn_TYPE_member_t asn_MBR_BluetoothMeasConfigNameList_1[1];
+extern asn_per_constraints_t asn_PER_type_BluetoothMeasConfigNameList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _BluetoothMeasConfigNameList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/BluetoothMeasurementConfiguration.h b/src/s1ap/asn1c/asnGenFiles/BluetoothMeasurementConfiguration.h
new file mode 100644
index 0000000..f8cb937
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/BluetoothMeasurementConfiguration.h
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_BluetoothMeasurementConfiguration_H_
+#define	_BluetoothMeasurementConfiguration_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "BluetoothMeasConfig.h"
+#include <NativeEnumerated.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum BluetoothMeasurementConfiguration__bt_rssi {
+	BluetoothMeasurementConfiguration__bt_rssi_true	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_BluetoothMeasurementConfiguration__bt_rssi;
+
+/* Forward declarations */
+struct BluetoothMeasConfigNameList;
+struct ProtocolExtensionContainer;
+
+/* BluetoothMeasurementConfiguration */
+typedef struct BluetoothMeasurementConfiguration {
+	BluetoothMeasConfig_t	 bluetoothMeasConfig;
+	struct BluetoothMeasConfigNameList	*bluetoothMeasConfigNameList;	/* OPTIONAL */
+	long	*bt_rssi;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} BluetoothMeasurementConfiguration_t;
+
+/* Implementation */
+/* extern asn_TYPE_descriptor_t asn_DEF_bt_rssi_4;	// (Use -fall-defs-global to expose) */
+extern asn_TYPE_descriptor_t asn_DEF_BluetoothMeasurementConfiguration;
+extern asn_SEQUENCE_specifics_t asn_SPC_BluetoothMeasurementConfiguration_specs_1;
+extern asn_TYPE_member_t asn_MBR_BluetoothMeasurementConfiguration_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _BluetoothMeasurementConfiguration_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/BluetoothName.h b/src/s1ap/asn1c/asnGenFiles/BluetoothName.h
new file mode 100644
index 0000000..0f40011
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/BluetoothName.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_BluetoothName_H_
+#define	_BluetoothName_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* BluetoothName */
+typedef OCTET_STRING_t	 BluetoothName_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_BluetoothName_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_BluetoothName;
+asn_struct_free_f BluetoothName_free;
+asn_struct_print_f BluetoothName_print;
+asn_constr_check_f BluetoothName_constraint;
+ber_type_decoder_f BluetoothName_decode_ber;
+der_type_encoder_f BluetoothName_encode_der;
+xer_type_decoder_f BluetoothName_decode_xer;
+xer_type_encoder_f BluetoothName_encode_xer;
+oer_type_decoder_f BluetoothName_decode_oer;
+oer_type_encoder_f BluetoothName_encode_oer;
+per_type_decoder_f BluetoothName_decode_uper;
+per_type_encoder_f BluetoothName_encode_uper;
+per_type_decoder_f BluetoothName_decode_aper;
+per_type_encoder_f BluetoothName_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _BluetoothName_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/BroadcastCancelledAreaList.h b/src/s1ap/asn1c/asnGenFiles/BroadcastCancelledAreaList.h
new file mode 100644
index 0000000..38ac46d
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/BroadcastCancelledAreaList.h
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_BroadcastCancelledAreaList_H_
+#define	_BroadcastCancelledAreaList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum BroadcastCancelledAreaList_PR {
+	BroadcastCancelledAreaList_PR_NOTHING,	/* No components present */
+	BroadcastCancelledAreaList_PR_cellID_Cancelled,
+	BroadcastCancelledAreaList_PR_tAI_Cancelled,
+	BroadcastCancelledAreaList_PR_emergencyAreaID_Cancelled
+	/* Extensions may appear below */
+	
+} BroadcastCancelledAreaList_PR;
+
+/* Forward declarations */
+struct CellID_Cancelled;
+struct TAI_Cancelled;
+struct EmergencyAreaID_Cancelled;
+
+/* BroadcastCancelledAreaList */
+typedef struct BroadcastCancelledAreaList {
+	BroadcastCancelledAreaList_PR present;
+	union BroadcastCancelledAreaList_u {
+		struct CellID_Cancelled	*cellID_Cancelled;
+		struct TAI_Cancelled	*tAI_Cancelled;
+		struct EmergencyAreaID_Cancelled	*emergencyAreaID_Cancelled;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} BroadcastCancelledAreaList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_BroadcastCancelledAreaList;
+extern asn_CHOICE_specifics_t asn_SPC_BroadcastCancelledAreaList_specs_1;
+extern asn_TYPE_member_t asn_MBR_BroadcastCancelledAreaList_1[3];
+extern asn_per_constraints_t asn_PER_type_BroadcastCancelledAreaList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _BroadcastCancelledAreaList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/BroadcastCompletedAreaList.h b/src/s1ap/asn1c/asnGenFiles/BroadcastCompletedAreaList.h
new file mode 100644
index 0000000..ae73544
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/BroadcastCompletedAreaList.h
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_BroadcastCompletedAreaList_H_
+#define	_BroadcastCompletedAreaList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum BroadcastCompletedAreaList_PR {
+	BroadcastCompletedAreaList_PR_NOTHING,	/* No components present */
+	BroadcastCompletedAreaList_PR_cellID_Broadcast,
+	BroadcastCompletedAreaList_PR_tAI_Broadcast,
+	BroadcastCompletedAreaList_PR_emergencyAreaID_Broadcast
+	/* Extensions may appear below */
+	
+} BroadcastCompletedAreaList_PR;
+
+/* Forward declarations */
+struct CellID_Broadcast;
+struct TAI_Broadcast;
+struct EmergencyAreaID_Broadcast;
+
+/* BroadcastCompletedAreaList */
+typedef struct BroadcastCompletedAreaList {
+	BroadcastCompletedAreaList_PR present;
+	union BroadcastCompletedAreaList_u {
+		struct CellID_Broadcast	*cellID_Broadcast;
+		struct TAI_Broadcast	*tAI_Broadcast;
+		struct EmergencyAreaID_Broadcast	*emergencyAreaID_Broadcast;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} BroadcastCompletedAreaList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_BroadcastCompletedAreaList;
+extern asn_CHOICE_specifics_t asn_SPC_BroadcastCompletedAreaList_specs_1;
+extern asn_TYPE_member_t asn_MBR_BroadcastCompletedAreaList_1[3];
+extern asn_per_constraints_t asn_PER_type_BroadcastCompletedAreaList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _BroadcastCompletedAreaList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CE-ModeBRestricted.h b/src/s1ap/asn1c/asnGenFiles/CE-ModeBRestricted.h
new file mode 100644
index 0000000..783155f
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CE-ModeBRestricted.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CE_ModeBRestricted_H_
+#define	_CE_ModeBRestricted_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum CE_ModeBRestricted {
+	CE_ModeBRestricted_restricted	= 0,
+	CE_ModeBRestricted_not_restricted	= 1
+	/*
+	 * Enumeration is extensible
+	 */
+} e_CE_ModeBRestricted;
+
+/* CE-ModeBRestricted */
+typedef long	 CE_ModeBRestricted_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_CE_ModeBRestricted_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_CE_ModeBRestricted;
+extern const asn_INTEGER_specifics_t asn_SPC_CE_ModeBRestricted_specs_1;
+asn_struct_free_f CE_ModeBRestricted_free;
+asn_struct_print_f CE_ModeBRestricted_print;
+asn_constr_check_f CE_ModeBRestricted_constraint;
+ber_type_decoder_f CE_ModeBRestricted_decode_ber;
+der_type_encoder_f CE_ModeBRestricted_encode_der;
+xer_type_decoder_f CE_ModeBRestricted_decode_xer;
+xer_type_encoder_f CE_ModeBRestricted_encode_xer;
+oer_type_decoder_f CE_ModeBRestricted_decode_oer;
+oer_type_encoder_f CE_ModeBRestricted_encode_oer;
+per_type_decoder_f CE_ModeBRestricted_decode_uper;
+per_type_encoder_f CE_ModeBRestricted_encode_uper;
+per_type_decoder_f CE_ModeBRestricted_decode_aper;
+per_type_encoder_f CE_ModeBRestricted_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CE_ModeBRestricted_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CE-mode-B-SupportIndicator.h b/src/s1ap/asn1c/asnGenFiles/CE-mode-B-SupportIndicator.h
new file mode 100644
index 0000000..ab49e14
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CE-mode-B-SupportIndicator.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CE_mode_B_SupportIndicator_H_
+#define	_CE_mode_B_SupportIndicator_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum CE_mode_B_SupportIndicator {
+	CE_mode_B_SupportIndicator_supported	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_CE_mode_B_SupportIndicator;
+
+/* CE-mode-B-SupportIndicator */
+typedef long	 CE_mode_B_SupportIndicator_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_CE_mode_B_SupportIndicator_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_CE_mode_B_SupportIndicator;
+extern const asn_INTEGER_specifics_t asn_SPC_CE_mode_B_SupportIndicator_specs_1;
+asn_struct_free_f CE_mode_B_SupportIndicator_free;
+asn_struct_print_f CE_mode_B_SupportIndicator_print;
+asn_constr_check_f CE_mode_B_SupportIndicator_constraint;
+ber_type_decoder_f CE_mode_B_SupportIndicator_decode_ber;
+der_type_encoder_f CE_mode_B_SupportIndicator_encode_der;
+xer_type_decoder_f CE_mode_B_SupportIndicator_decode_xer;
+xer_type_encoder_f CE_mode_B_SupportIndicator_encode_xer;
+oer_type_decoder_f CE_mode_B_SupportIndicator_decode_oer;
+oer_type_encoder_f CE_mode_B_SupportIndicator_encode_oer;
+per_type_decoder_f CE_mode_B_SupportIndicator_decode_uper;
+per_type_encoder_f CE_mode_B_SupportIndicator_encode_uper;
+per_type_decoder_f CE_mode_B_SupportIndicator_decode_aper;
+per_type_encoder_f CE_mode_B_SupportIndicator_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CE_mode_B_SupportIndicator_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CELevel.h b/src/s1ap/asn1c/asnGenFiles/CELevel.h
new file mode 100644
index 0000000..8bab70e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CELevel.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CELevel_H_
+#define	_CELevel_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* CELevel */
+typedef OCTET_STRING_t	 CELevel_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CELevel;
+asn_struct_free_f CELevel_free;
+asn_struct_print_f CELevel_print;
+asn_constr_check_f CELevel_constraint;
+ber_type_decoder_f CELevel_decode_ber;
+der_type_encoder_f CELevel_encode_der;
+xer_type_decoder_f CELevel_decode_xer;
+xer_type_encoder_f CELevel_encode_xer;
+oer_type_decoder_f CELevel_decode_oer;
+oer_type_encoder_f CELevel_encode_oer;
+per_type_decoder_f CELevel_decode_uper;
+per_type_encoder_f CELevel_encode_uper;
+per_type_decoder_f CELevel_decode_aper;
+per_type_encoder_f CELevel_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CELevel_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CGI.h b/src/s1ap/asn1c/asnGenFiles/CGI.h
new file mode 100644
index 0000000..84910f3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CGI.h
@@ -0,0 +1,54 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CGI_H_
+#define	_CGI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PLMNidentity.h"
+#include "LAC.h"
+#include "CI.h"
+#include "RAC.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* CGI */
+typedef struct CGI {
+	PLMNidentity_t	 pLMNidentity;
+	LAC_t	 lAC;
+	CI_t	 cI;
+	RAC_t	*rAC;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CGI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CGI;
+extern asn_SEQUENCE_specifics_t asn_SPC_CGI_specs_1;
+extern asn_TYPE_member_t asn_MBR_CGI_1[5];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CGI_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CI.h b/src/s1ap/asn1c/asnGenFiles/CI.h
new file mode 100644
index 0000000..e6ceb26
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CI.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CI_H_
+#define	_CI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* CI */
+typedef OCTET_STRING_t	 CI_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_CI_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_CI;
+asn_struct_free_f CI_free;
+asn_struct_print_f CI_print;
+asn_constr_check_f CI_constraint;
+ber_type_decoder_f CI_decode_ber;
+der_type_encoder_f CI_encode_der;
+xer_type_decoder_f CI_decode_xer;
+xer_type_encoder_f CI_encode_xer;
+oer_type_decoder_f CI_decode_oer;
+oer_type_encoder_f CI_encode_oer;
+per_type_decoder_f CI_decode_uper;
+per_type_encoder_f CI_encode_uper;
+per_type_decoder_f CI_decode_aper;
+per_type_encoder_f CI_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CI_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CNDomain.h b/src/s1ap/asn1c/asnGenFiles/CNDomain.h
new file mode 100644
index 0000000..d31dac3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CNDomain.h
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CNDomain_H_
+#define	_CNDomain_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum CNDomain {
+	CNDomain_ps	= 0,
+	CNDomain_cs	= 1
+} e_CNDomain;
+
+/* CNDomain */
+typedef long	 CNDomain_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_CNDomain_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_CNDomain;
+extern const asn_INTEGER_specifics_t asn_SPC_CNDomain_specs_1;
+asn_struct_free_f CNDomain_free;
+asn_struct_print_f CNDomain_print;
+asn_constr_check_f CNDomain_constraint;
+ber_type_decoder_f CNDomain_decode_ber;
+der_type_encoder_f CNDomain_encode_der;
+xer_type_decoder_f CNDomain_decode_xer;
+xer_type_encoder_f CNDomain_encode_xer;
+oer_type_decoder_f CNDomain_decode_oer;
+oer_type_encoder_f CNDomain_encode_oer;
+per_type_decoder_f CNDomain_decode_uper;
+per_type_encoder_f CNDomain_encode_uper;
+per_type_decoder_f CNDomain_decode_aper;
+per_type_encoder_f CNDomain_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CNDomain_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CNType.h b/src/s1ap/asn1c/asnGenFiles/CNType.h
new file mode 100644
index 0000000..717bcc4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CNType.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CNType_H_
+#define	_CNType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum CNType {
+	CNType_fiveGCForbidden	= 0,
+	/*
+	 * Enumeration is extensible
+	 */
+	CNType_epc_Forbiddden	= 1
+} e_CNType;
+
+/* CNType */
+typedef long	 CNType_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_CNType_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_CNType;
+extern const asn_INTEGER_specifics_t asn_SPC_CNType_specs_1;
+asn_struct_free_f CNType_free;
+asn_struct_print_f CNType_print;
+asn_constr_check_f CNType_constraint;
+ber_type_decoder_f CNType_decode_ber;
+der_type_encoder_f CNType_encode_der;
+xer_type_decoder_f CNType_decode_xer;
+xer_type_encoder_f CNType_encode_xer;
+oer_type_decoder_f CNType_decode_oer;
+oer_type_encoder_f CNType_encode_oer;
+per_type_decoder_f CNType_decode_uper;
+per_type_encoder_f CNType_encode_uper;
+per_type_decoder_f CNType_decode_aper;
+per_type_encoder_f CNType_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CNType_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CNTypeRestrictions-Item.h b/src/s1ap/asn1c/asnGenFiles/CNTypeRestrictions-Item.h
new file mode 100644
index 0000000..7ffdc12
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CNTypeRestrictions-Item.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CNTypeRestrictions_Item_H_
+#define	_CNTypeRestrictions_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PLMNidentity.h"
+#include "CNType.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* CNTypeRestrictions-Item */
+typedef struct CNTypeRestrictions_Item {
+	PLMNidentity_t	 pLMN_Identity;
+	CNType_t	 cNType;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CNTypeRestrictions_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CNTypeRestrictions_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_CNTypeRestrictions_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_CNTypeRestrictions_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CNTypeRestrictions_Item_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CNTypeRestrictions.h b/src/s1ap/asn1c/asnGenFiles/CNTypeRestrictions.h
new file mode 100644
index 0000000..7bba5b6
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CNTypeRestrictions.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CNTypeRestrictions_H_
+#define	_CNTypeRestrictions_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct CNTypeRestrictions_Item;
+
+/* CNTypeRestrictions */
+typedef struct CNTypeRestrictions {
+	A_SEQUENCE_OF(struct CNTypeRestrictions_Item) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CNTypeRestrictions_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CNTypeRestrictions;
+extern asn_SET_OF_specifics_t asn_SPC_CNTypeRestrictions_specs_1;
+extern asn_TYPE_member_t asn_MBR_CNTypeRestrictions_1[1];
+extern asn_per_constraints_t asn_PER_type_CNTypeRestrictions_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CNTypeRestrictions_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/COUNTValueExtended.h b/src/s1ap/asn1c/asnGenFiles/COUNTValueExtended.h
new file mode 100644
index 0000000..440270f
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/COUNTValueExtended.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_COUNTValueExtended_H_
+#define	_COUNTValueExtended_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PDCP-SNExtended.h"
+#include "HFNModified.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* COUNTValueExtended */
+typedef struct COUNTValueExtended {
+	PDCP_SNExtended_t	 pDCP_SNExtended;
+	HFNModified_t	 hFNModified;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} COUNTValueExtended_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_COUNTValueExtended;
+extern asn_SEQUENCE_specifics_t asn_SPC_COUNTValueExtended_specs_1;
+extern asn_TYPE_member_t asn_MBR_COUNTValueExtended_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _COUNTValueExtended_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/COUNTvalue.h b/src/s1ap/asn1c/asnGenFiles/COUNTvalue.h
new file mode 100644
index 0000000..76e0267
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/COUNTvalue.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_COUNTvalue_H_
+#define	_COUNTvalue_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PDCP-SN.h"
+#include "HFN.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* COUNTvalue */
+typedef struct COUNTvalue {
+	PDCP_SN_t	 pDCP_SN;
+	HFN_t	 hFN;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} COUNTvalue_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_COUNTvalue;
+extern asn_SEQUENCE_specifics_t asn_SPC_COUNTvalue_specs_1;
+extern asn_TYPE_member_t asn_MBR_COUNTvalue_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _COUNTvalue_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/COUNTvaluePDCP-SNlength18.h b/src/s1ap/asn1c/asnGenFiles/COUNTvaluePDCP-SNlength18.h
new file mode 100644
index 0000000..7b862e4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/COUNTvaluePDCP-SNlength18.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_COUNTvaluePDCP_SNlength18_H_
+#define	_COUNTvaluePDCP_SNlength18_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PDCP-SNlength18.h"
+#include "HFNforPDCP-SNlength18.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* COUNTvaluePDCP-SNlength18 */
+typedef struct COUNTvaluePDCP_SNlength18 {
+	PDCP_SNlength18_t	 pDCP_SNlength18;
+	HFNforPDCP_SNlength18_t	 hFNforPDCP_SNlength18;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} COUNTvaluePDCP_SNlength18_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_COUNTvaluePDCP_SNlength18;
+extern asn_SEQUENCE_specifics_t asn_SPC_COUNTvaluePDCP_SNlength18_specs_1;
+extern asn_TYPE_member_t asn_MBR_COUNTvaluePDCP_SNlength18_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _COUNTvaluePDCP_SNlength18_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CSFallbackIndicator.h b/src/s1ap/asn1c/asnGenFiles/CSFallbackIndicator.h
new file mode 100644
index 0000000..eedbcec
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CSFallbackIndicator.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CSFallbackIndicator_H_
+#define	_CSFallbackIndicator_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum CSFallbackIndicator {
+	CSFallbackIndicator_cs_fallback_required	= 0,
+	/*
+	 * Enumeration is extensible
+	 */
+	CSFallbackIndicator_cs_fallback_high_priority	= 1
+} e_CSFallbackIndicator;
+
+/* CSFallbackIndicator */
+typedef long	 CSFallbackIndicator_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_CSFallbackIndicator_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_CSFallbackIndicator;
+extern const asn_INTEGER_specifics_t asn_SPC_CSFallbackIndicator_specs_1;
+asn_struct_free_f CSFallbackIndicator_free;
+asn_struct_print_f CSFallbackIndicator_print;
+asn_constr_check_f CSFallbackIndicator_constraint;
+ber_type_decoder_f CSFallbackIndicator_decode_ber;
+der_type_encoder_f CSFallbackIndicator_encode_der;
+xer_type_decoder_f CSFallbackIndicator_decode_xer;
+xer_type_encoder_f CSFallbackIndicator_encode_xer;
+oer_type_decoder_f CSFallbackIndicator_decode_oer;
+oer_type_encoder_f CSFallbackIndicator_encode_oer;
+per_type_decoder_f CSFallbackIndicator_decode_uper;
+per_type_encoder_f CSFallbackIndicator_encode_uper;
+per_type_decoder_f CSFallbackIndicator_decode_aper;
+per_type_encoder_f CSFallbackIndicator_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CSFallbackIndicator_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CSG-Id.h b/src/s1ap/asn1c/asnGenFiles/CSG-Id.h
new file mode 100644
index 0000000..0b8552a
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CSG-Id.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CSG_Id_H_
+#define	_CSG_Id_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* CSG-Id */
+typedef BIT_STRING_t	 CSG_Id_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_CSG_Id_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_CSG_Id;
+asn_struct_free_f CSG_Id_free;
+asn_struct_print_f CSG_Id_print;
+asn_constr_check_f CSG_Id_constraint;
+ber_type_decoder_f CSG_Id_decode_ber;
+der_type_encoder_f CSG_Id_encode_der;
+xer_type_decoder_f CSG_Id_decode_xer;
+xer_type_encoder_f CSG_Id_encode_xer;
+oer_type_decoder_f CSG_Id_decode_oer;
+oer_type_encoder_f CSG_Id_encode_oer;
+per_type_decoder_f CSG_Id_decode_uper;
+per_type_encoder_f CSG_Id_encode_uper;
+per_type_decoder_f CSG_Id_decode_aper;
+per_type_encoder_f CSG_Id_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CSG_Id_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CSG-IdList-Item.h b/src/s1ap/asn1c/asnGenFiles/CSG-IdList-Item.h
new file mode 100644
index 0000000..899a9bf
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CSG-IdList-Item.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CSG_IdList_Item_H_
+#define	_CSG_IdList_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "CSG-Id.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* CSG-IdList-Item */
+typedef struct CSG_IdList_Item {
+	CSG_Id_t	 cSG_Id;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CSG_IdList_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CSG_IdList_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_CSG_IdList_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_CSG_IdList_Item_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CSG_IdList_Item_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CSG-IdList.h b/src/s1ap/asn1c/asnGenFiles/CSG-IdList.h
new file mode 100644
index 0000000..9cf6da9
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CSG-IdList.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CSG_IdList_H_
+#define	_CSG_IdList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct CSG_IdList_Item;
+
+/* CSG-IdList */
+typedef struct CSG_IdList {
+	A_SEQUENCE_OF(struct CSG_IdList_Item) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CSG_IdList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CSG_IdList;
+extern asn_SET_OF_specifics_t asn_SPC_CSG_IdList_specs_1;
+extern asn_TYPE_member_t asn_MBR_CSG_IdList_1[1];
+extern asn_per_constraints_t asn_PER_type_CSG_IdList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CSG_IdList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CSGMembershipInfo.h b/src/s1ap/asn1c/asnGenFiles/CSGMembershipInfo.h
new file mode 100644
index 0000000..240a26e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CSGMembershipInfo.h
@@ -0,0 +1,54 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CSGMembershipInfo_H_
+#define	_CSGMembershipInfo_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "CSGMembershipStatus.h"
+#include "CSG-Id.h"
+#include "CellAccessMode.h"
+#include "PLMNidentity.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* CSGMembershipInfo */
+typedef struct CSGMembershipInfo {
+	CSGMembershipStatus_t	 cSGMembershipStatus;
+	CSG_Id_t	 cSG_Id;
+	CellAccessMode_t	*cellAccessMode;	/* OPTIONAL */
+	PLMNidentity_t	*pLMNidentity;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CSGMembershipInfo_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CSGMembershipInfo;
+extern asn_SEQUENCE_specifics_t asn_SPC_CSGMembershipInfo_specs_1;
+extern asn_TYPE_member_t asn_MBR_CSGMembershipInfo_1[5];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CSGMembershipInfo_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CSGMembershipStatus.h b/src/s1ap/asn1c/asnGenFiles/CSGMembershipStatus.h
new file mode 100644
index 0000000..bf58404
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CSGMembershipStatus.h
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CSGMembershipStatus_H_
+#define	_CSGMembershipStatus_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum CSGMembershipStatus {
+	CSGMembershipStatus_member	= 0,
+	CSGMembershipStatus_not_member	= 1
+} e_CSGMembershipStatus;
+
+/* CSGMembershipStatus */
+typedef long	 CSGMembershipStatus_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_CSGMembershipStatus_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_CSGMembershipStatus;
+extern const asn_INTEGER_specifics_t asn_SPC_CSGMembershipStatus_specs_1;
+asn_struct_free_f CSGMembershipStatus_free;
+asn_struct_print_f CSGMembershipStatus_print;
+asn_constr_check_f CSGMembershipStatus_constraint;
+ber_type_decoder_f CSGMembershipStatus_decode_ber;
+der_type_encoder_f CSGMembershipStatus_encode_der;
+xer_type_decoder_f CSGMembershipStatus_decode_xer;
+xer_type_encoder_f CSGMembershipStatus_encode_xer;
+oer_type_decoder_f CSGMembershipStatus_decode_oer;
+oer_type_encoder_f CSGMembershipStatus_encode_oer;
+per_type_decoder_f CSGMembershipStatus_decode_uper;
+per_type_encoder_f CSGMembershipStatus_encode_uper;
+per_type_decoder_f CSGMembershipStatus_decode_aper;
+per_type_encoder_f CSGMembershipStatus_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CSGMembershipStatus_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CancelledCellinEAI-Item.h b/src/s1ap/asn1c/asnGenFiles/CancelledCellinEAI-Item.h
new file mode 100644
index 0000000..5472cc9
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CancelledCellinEAI-Item.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CancelledCellinEAI_Item_H_
+#define	_CancelledCellinEAI_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "EUTRAN-CGI.h"
+#include "NumberOfBroadcasts.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* CancelledCellinEAI-Item */
+typedef struct CancelledCellinEAI_Item {
+	EUTRAN_CGI_t	 eCGI;
+	NumberOfBroadcasts_t	 numberOfBroadcasts;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CancelledCellinEAI_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CancelledCellinEAI_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_CancelledCellinEAI_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_CancelledCellinEAI_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CancelledCellinEAI_Item_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CancelledCellinEAI.h b/src/s1ap/asn1c/asnGenFiles/CancelledCellinEAI.h
new file mode 100644
index 0000000..a244c3f
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CancelledCellinEAI.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CancelledCellinEAI_H_
+#define	_CancelledCellinEAI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct CancelledCellinEAI_Item;
+
+/* CancelledCellinEAI */
+typedef struct CancelledCellinEAI {
+	A_SEQUENCE_OF(struct CancelledCellinEAI_Item) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CancelledCellinEAI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CancelledCellinEAI;
+extern asn_SET_OF_specifics_t asn_SPC_CancelledCellinEAI_specs_1;
+extern asn_TYPE_member_t asn_MBR_CancelledCellinEAI_1[1];
+extern asn_per_constraints_t asn_PER_type_CancelledCellinEAI_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CancelledCellinEAI_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CancelledCellinTAI-Item.h b/src/s1ap/asn1c/asnGenFiles/CancelledCellinTAI-Item.h
new file mode 100644
index 0000000..37beed5
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CancelledCellinTAI-Item.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CancelledCellinTAI_Item_H_
+#define	_CancelledCellinTAI_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "EUTRAN-CGI.h"
+#include "NumberOfBroadcasts.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* CancelledCellinTAI-Item */
+typedef struct CancelledCellinTAI_Item {
+	EUTRAN_CGI_t	 eCGI;
+	NumberOfBroadcasts_t	 numberOfBroadcasts;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CancelledCellinTAI_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CancelledCellinTAI_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_CancelledCellinTAI_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_CancelledCellinTAI_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CancelledCellinTAI_Item_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CancelledCellinTAI.h b/src/s1ap/asn1c/asnGenFiles/CancelledCellinTAI.h
new file mode 100644
index 0000000..de668a3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CancelledCellinTAI.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CancelledCellinTAI_H_
+#define	_CancelledCellinTAI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct CancelledCellinTAI_Item;
+
+/* CancelledCellinTAI */
+typedef struct CancelledCellinTAI {
+	A_SEQUENCE_OF(struct CancelledCellinTAI_Item) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CancelledCellinTAI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CancelledCellinTAI;
+extern asn_SET_OF_specifics_t asn_SPC_CancelledCellinTAI_specs_1;
+extern asn_TYPE_member_t asn_MBR_CancelledCellinTAI_1[1];
+extern asn_per_constraints_t asn_PER_type_CancelledCellinTAI_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CancelledCellinTAI_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Cause.h b/src/s1ap/asn1c/asnGenFiles/Cause.h
new file mode 100644
index 0000000..b2d3cbc
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Cause.h
@@ -0,0 +1,68 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Cause_H_
+#define	_Cause_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "CauseRadioNetwork.h"
+#include "CauseTransport.h"
+#include "CauseNas.h"
+#include "CauseProtocol.h"
+#include "CauseMisc.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum Cause_PR {
+	Cause_PR_NOTHING,	/* No components present */
+	Cause_PR_radioNetwork,
+	Cause_PR_transport,
+	Cause_PR_nas,
+	Cause_PR_protocol,
+	Cause_PR_misc
+	/* Extensions may appear below */
+	
+} Cause_PR;
+
+/* Cause */
+typedef struct Cause {
+	Cause_PR present;
+	union Cause_u {
+		CauseRadioNetwork_t	 radioNetwork;
+		CauseTransport_t	 transport;
+		CauseNas_t	 nas;
+		CauseProtocol_t	 protocol;
+		CauseMisc_t	 misc;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} Cause_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Cause;
+extern asn_CHOICE_specifics_t asn_SPC_Cause_specs_1;
+extern asn_TYPE_member_t asn_MBR_Cause_1[5];
+extern asn_per_constraints_t asn_PER_type_Cause_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Cause_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CauseMisc.h b/src/s1ap/asn1c/asnGenFiles/CauseMisc.h
new file mode 100644
index 0000000..41607d4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CauseMisc.h
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CauseMisc_H_
+#define	_CauseMisc_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum CauseMisc {
+	CauseMisc_control_processing_overload	= 0,
+	CauseMisc_not_enough_user_plane_processing_resources	= 1,
+	CauseMisc_hardware_failure	= 2,
+	CauseMisc_om_intervention	= 3,
+	CauseMisc_unspecified	= 4,
+	CauseMisc_unknown_PLMN	= 5
+	/*
+	 * Enumeration is extensible
+	 */
+} e_CauseMisc;
+
+/* CauseMisc */
+typedef long	 CauseMisc_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_CauseMisc_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_CauseMisc;
+extern const asn_INTEGER_specifics_t asn_SPC_CauseMisc_specs_1;
+asn_struct_free_f CauseMisc_free;
+asn_struct_print_f CauseMisc_print;
+asn_constr_check_f CauseMisc_constraint;
+ber_type_decoder_f CauseMisc_decode_ber;
+der_type_encoder_f CauseMisc_encode_der;
+xer_type_decoder_f CauseMisc_decode_xer;
+xer_type_encoder_f CauseMisc_encode_xer;
+oer_type_decoder_f CauseMisc_decode_oer;
+oer_type_encoder_f CauseMisc_encode_oer;
+per_type_decoder_f CauseMisc_decode_uper;
+per_type_encoder_f CauseMisc_encode_uper;
+per_type_decoder_f CauseMisc_decode_aper;
+per_type_encoder_f CauseMisc_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CauseMisc_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CauseNas.h b/src/s1ap/asn1c/asnGenFiles/CauseNas.h
new file mode 100644
index 0000000..0e24347
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CauseNas.h
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CauseNas_H_
+#define	_CauseNas_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum CauseNas {
+	CauseNas_normal_release	= 0,
+	CauseNas_authentication_failure	= 1,
+	CauseNas_detach	= 2,
+	CauseNas_unspecified	= 3,
+	/*
+	 * Enumeration is extensible
+	 */
+	CauseNas_csg_subscription_expiry	= 4
+} e_CauseNas;
+
+/* CauseNas */
+typedef long	 CauseNas_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_CauseNas_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_CauseNas;
+extern const asn_INTEGER_specifics_t asn_SPC_CauseNas_specs_1;
+asn_struct_free_f CauseNas_free;
+asn_struct_print_f CauseNas_print;
+asn_constr_check_f CauseNas_constraint;
+ber_type_decoder_f CauseNas_decode_ber;
+der_type_encoder_f CauseNas_encode_der;
+xer_type_decoder_f CauseNas_decode_xer;
+xer_type_encoder_f CauseNas_encode_xer;
+oer_type_decoder_f CauseNas_decode_oer;
+oer_type_encoder_f CauseNas_encode_oer;
+per_type_decoder_f CauseNas_decode_uper;
+per_type_encoder_f CauseNas_encode_uper;
+per_type_decoder_f CauseNas_decode_aper;
+per_type_encoder_f CauseNas_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CauseNas_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CauseProtocol.h b/src/s1ap/asn1c/asnGenFiles/CauseProtocol.h
new file mode 100644
index 0000000..dfc32ed
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CauseProtocol.h
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CauseProtocol_H_
+#define	_CauseProtocol_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum CauseProtocol {
+	CauseProtocol_transfer_syntax_error	= 0,
+	CauseProtocol_abstract_syntax_error_reject	= 1,
+	CauseProtocol_abstract_syntax_error_ignore_and_notify	= 2,
+	CauseProtocol_message_not_compatible_with_receiver_state	= 3,
+	CauseProtocol_semantic_error	= 4,
+	CauseProtocol_abstract_syntax_error_falsely_constructed_message	= 5,
+	CauseProtocol_unspecified	= 6
+	/*
+	 * Enumeration is extensible
+	 */
+} e_CauseProtocol;
+
+/* CauseProtocol */
+typedef long	 CauseProtocol_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_CauseProtocol_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_CauseProtocol;
+extern const asn_INTEGER_specifics_t asn_SPC_CauseProtocol_specs_1;
+asn_struct_free_f CauseProtocol_free;
+asn_struct_print_f CauseProtocol_print;
+asn_constr_check_f CauseProtocol_constraint;
+ber_type_decoder_f CauseProtocol_decode_ber;
+der_type_encoder_f CauseProtocol_encode_der;
+xer_type_decoder_f CauseProtocol_decode_xer;
+xer_type_encoder_f CauseProtocol_encode_xer;
+oer_type_decoder_f CauseProtocol_decode_oer;
+oer_type_encoder_f CauseProtocol_encode_oer;
+per_type_decoder_f CauseProtocol_decode_uper;
+per_type_encoder_f CauseProtocol_encode_uper;
+per_type_decoder_f CauseProtocol_decode_aper;
+per_type_encoder_f CauseProtocol_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CauseProtocol_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CauseRadioNetwork.h b/src/s1ap/asn1c/asnGenFiles/CauseRadioNetwork.h
new file mode 100644
index 0000000..b127684
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CauseRadioNetwork.h
@@ -0,0 +1,94 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CauseRadioNetwork_H_
+#define	_CauseRadioNetwork_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum CauseRadioNetwork {
+	CauseRadioNetwork_unspecified	= 0,
+	CauseRadioNetwork_tx2relocoverall_expiry	= 1,
+	CauseRadioNetwork_successful_handover	= 2,
+	CauseRadioNetwork_release_due_to_eutran_generated_reason	= 3,
+	CauseRadioNetwork_handover_cancelled	= 4,
+	CauseRadioNetwork_partial_handover	= 5,
+	CauseRadioNetwork_ho_failure_in_target_EPC_eNB_or_target_system	= 6,
+	CauseRadioNetwork_ho_target_not_allowed	= 7,
+	CauseRadioNetwork_tS1relocoverall_expiry	= 8,
+	CauseRadioNetwork_tS1relocprep_expiry	= 9,
+	CauseRadioNetwork_cell_not_available	= 10,
+	CauseRadioNetwork_unknown_targetID	= 11,
+	CauseRadioNetwork_no_radio_resources_available_in_target_cell	= 12,
+	CauseRadioNetwork_unknown_mme_ue_s1ap_id	= 13,
+	CauseRadioNetwork_unknown_enb_ue_s1ap_id	= 14,
+	CauseRadioNetwork_unknown_pair_ue_s1ap_id	= 15,
+	CauseRadioNetwork_handover_desirable_for_radio_reason	= 16,
+	CauseRadioNetwork_time_critical_handover	= 17,
+	CauseRadioNetwork_resource_optimisation_handover	= 18,
+	CauseRadioNetwork_reduce_load_in_serving_cell	= 19,
+	CauseRadioNetwork_user_inactivity	= 20,
+	CauseRadioNetwork_radio_connection_with_ue_lost	= 21,
+	CauseRadioNetwork_load_balancing_tau_required	= 22,
+	CauseRadioNetwork_cs_fallback_triggered	= 23,
+	CauseRadioNetwork_ue_not_available_for_ps_service	= 24,
+	CauseRadioNetwork_radio_resources_not_available	= 25,
+	CauseRadioNetwork_failure_in_radio_interface_procedure	= 26,
+	CauseRadioNetwork_invalid_qos_combination	= 27,
+	CauseRadioNetwork_interrat_redirection	= 28,
+	CauseRadioNetwork_interaction_with_other_procedure	= 29,
+	CauseRadioNetwork_unknown_E_RAB_ID	= 30,
+	CauseRadioNetwork_multiple_E_RAB_ID_instances	= 31,
+	CauseRadioNetwork_encryption_and_or_integrity_protection_algorithms_not_supported	= 32,
+	CauseRadioNetwork_s1_intra_system_handover_triggered	= 33,
+	CauseRadioNetwork_s1_inter_system_handover_triggered	= 34,
+	CauseRadioNetwork_x2_handover_triggered	= 35,
+	/*
+	 * Enumeration is extensible
+	 */
+	CauseRadioNetwork_redirection_towards_1xRTT	= 36,
+	CauseRadioNetwork_not_supported_QCI_value	= 37,
+	CauseRadioNetwork_invalid_CSG_Id	= 38,
+	CauseRadioNetwork_release_due_to_pre_emption	= 39
+} e_CauseRadioNetwork;
+
+/* CauseRadioNetwork */
+typedef long	 CauseRadioNetwork_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_CauseRadioNetwork_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_CauseRadioNetwork;
+extern const asn_INTEGER_specifics_t asn_SPC_CauseRadioNetwork_specs_1;
+asn_struct_free_f CauseRadioNetwork_free;
+asn_struct_print_f CauseRadioNetwork_print;
+asn_constr_check_f CauseRadioNetwork_constraint;
+ber_type_decoder_f CauseRadioNetwork_decode_ber;
+der_type_encoder_f CauseRadioNetwork_encode_der;
+xer_type_decoder_f CauseRadioNetwork_decode_xer;
+xer_type_encoder_f CauseRadioNetwork_encode_xer;
+oer_type_decoder_f CauseRadioNetwork_decode_oer;
+oer_type_encoder_f CauseRadioNetwork_encode_oer;
+per_type_decoder_f CauseRadioNetwork_decode_uper;
+per_type_encoder_f CauseRadioNetwork_encode_uper;
+per_type_decoder_f CauseRadioNetwork_decode_aper;
+per_type_encoder_f CauseRadioNetwork_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CauseRadioNetwork_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CauseTransport.h b/src/s1ap/asn1c/asnGenFiles/CauseTransport.h
new file mode 100644
index 0000000..a67cb03
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CauseTransport.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CauseTransport_H_
+#define	_CauseTransport_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum CauseTransport {
+	CauseTransport_transport_resource_unavailable	= 0,
+	CauseTransport_unspecified	= 1
+	/*
+	 * Enumeration is extensible
+	 */
+} e_CauseTransport;
+
+/* CauseTransport */
+typedef long	 CauseTransport_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_CauseTransport_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_CauseTransport;
+extern const asn_INTEGER_specifics_t asn_SPC_CauseTransport_specs_1;
+asn_struct_free_f CauseTransport_free;
+asn_struct_print_f CauseTransport_print;
+asn_constr_check_f CauseTransport_constraint;
+ber_type_decoder_f CauseTransport_decode_ber;
+der_type_encoder_f CauseTransport_encode_der;
+xer_type_decoder_f CauseTransport_decode_xer;
+xer_type_encoder_f CauseTransport_encode_xer;
+oer_type_decoder_f CauseTransport_decode_oer;
+oer_type_encoder_f CauseTransport_encode_oer;
+per_type_decoder_f CauseTransport_decode_uper;
+per_type_encoder_f CauseTransport_encode_uper;
+per_type_decoder_f CauseTransport_decode_aper;
+per_type_encoder_f CauseTransport_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CauseTransport_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Cdma2000HORequiredIndication.h b/src/s1ap/asn1c/asnGenFiles/Cdma2000HORequiredIndication.h
new file mode 100644
index 0000000..7cb55c6
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Cdma2000HORequiredIndication.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Cdma2000HORequiredIndication_H_
+#define	_Cdma2000HORequiredIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum Cdma2000HORequiredIndication {
+	Cdma2000HORequiredIndication_true	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_Cdma2000HORequiredIndication;
+
+/* Cdma2000HORequiredIndication */
+typedef long	 Cdma2000HORequiredIndication_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_Cdma2000HORequiredIndication_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_Cdma2000HORequiredIndication;
+extern const asn_INTEGER_specifics_t asn_SPC_Cdma2000HORequiredIndication_specs_1;
+asn_struct_free_f Cdma2000HORequiredIndication_free;
+asn_struct_print_f Cdma2000HORequiredIndication_print;
+asn_constr_check_f Cdma2000HORequiredIndication_constraint;
+ber_type_decoder_f Cdma2000HORequiredIndication_decode_ber;
+der_type_encoder_f Cdma2000HORequiredIndication_encode_der;
+xer_type_decoder_f Cdma2000HORequiredIndication_decode_xer;
+xer_type_encoder_f Cdma2000HORequiredIndication_encode_xer;
+oer_type_decoder_f Cdma2000HORequiredIndication_decode_oer;
+oer_type_encoder_f Cdma2000HORequiredIndication_encode_oer;
+per_type_decoder_f Cdma2000HORequiredIndication_decode_uper;
+per_type_encoder_f Cdma2000HORequiredIndication_encode_uper;
+per_type_decoder_f Cdma2000HORequiredIndication_decode_aper;
+per_type_encoder_f Cdma2000HORequiredIndication_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Cdma2000HORequiredIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Cdma2000HOStatus.h b/src/s1ap/asn1c/asnGenFiles/Cdma2000HOStatus.h
new file mode 100644
index 0000000..6cbb1a2
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Cdma2000HOStatus.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Cdma2000HOStatus_H_
+#define	_Cdma2000HOStatus_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum Cdma2000HOStatus {
+	Cdma2000HOStatus_hOSuccess	= 0,
+	Cdma2000HOStatus_hOFailure	= 1
+	/*
+	 * Enumeration is extensible
+	 */
+} e_Cdma2000HOStatus;
+
+/* Cdma2000HOStatus */
+typedef long	 Cdma2000HOStatus_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_Cdma2000HOStatus_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_Cdma2000HOStatus;
+extern const asn_INTEGER_specifics_t asn_SPC_Cdma2000HOStatus_specs_1;
+asn_struct_free_f Cdma2000HOStatus_free;
+asn_struct_print_f Cdma2000HOStatus_print;
+asn_constr_check_f Cdma2000HOStatus_constraint;
+ber_type_decoder_f Cdma2000HOStatus_decode_ber;
+der_type_encoder_f Cdma2000HOStatus_encode_der;
+xer_type_decoder_f Cdma2000HOStatus_decode_xer;
+xer_type_encoder_f Cdma2000HOStatus_encode_xer;
+oer_type_decoder_f Cdma2000HOStatus_decode_oer;
+oer_type_encoder_f Cdma2000HOStatus_encode_oer;
+per_type_decoder_f Cdma2000HOStatus_decode_uper;
+per_type_encoder_f Cdma2000HOStatus_encode_uper;
+per_type_decoder_f Cdma2000HOStatus_decode_aper;
+per_type_encoder_f Cdma2000HOStatus_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Cdma2000HOStatus_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Cdma2000OneXMEID.h b/src/s1ap/asn1c/asnGenFiles/Cdma2000OneXMEID.h
new file mode 100644
index 0000000..da1a7a2
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Cdma2000OneXMEID.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Cdma2000OneXMEID_H_
+#define	_Cdma2000OneXMEID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Cdma2000OneXMEID */
+typedef OCTET_STRING_t	 Cdma2000OneXMEID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Cdma2000OneXMEID;
+asn_struct_free_f Cdma2000OneXMEID_free;
+asn_struct_print_f Cdma2000OneXMEID_print;
+asn_constr_check_f Cdma2000OneXMEID_constraint;
+ber_type_decoder_f Cdma2000OneXMEID_decode_ber;
+der_type_encoder_f Cdma2000OneXMEID_encode_der;
+xer_type_decoder_f Cdma2000OneXMEID_decode_xer;
+xer_type_encoder_f Cdma2000OneXMEID_encode_xer;
+oer_type_decoder_f Cdma2000OneXMEID_decode_oer;
+oer_type_encoder_f Cdma2000OneXMEID_encode_oer;
+per_type_decoder_f Cdma2000OneXMEID_decode_uper;
+per_type_encoder_f Cdma2000OneXMEID_encode_uper;
+per_type_decoder_f Cdma2000OneXMEID_decode_aper;
+per_type_encoder_f Cdma2000OneXMEID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Cdma2000OneXMEID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Cdma2000OneXMSI.h b/src/s1ap/asn1c/asnGenFiles/Cdma2000OneXMSI.h
new file mode 100644
index 0000000..38d6015
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Cdma2000OneXMSI.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Cdma2000OneXMSI_H_
+#define	_Cdma2000OneXMSI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Cdma2000OneXMSI */
+typedef OCTET_STRING_t	 Cdma2000OneXMSI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Cdma2000OneXMSI;
+asn_struct_free_f Cdma2000OneXMSI_free;
+asn_struct_print_f Cdma2000OneXMSI_print;
+asn_constr_check_f Cdma2000OneXMSI_constraint;
+ber_type_decoder_f Cdma2000OneXMSI_decode_ber;
+der_type_encoder_f Cdma2000OneXMSI_encode_der;
+xer_type_decoder_f Cdma2000OneXMSI_decode_xer;
+xer_type_encoder_f Cdma2000OneXMSI_encode_xer;
+oer_type_decoder_f Cdma2000OneXMSI_decode_oer;
+oer_type_encoder_f Cdma2000OneXMSI_encode_oer;
+per_type_decoder_f Cdma2000OneXMSI_decode_uper;
+per_type_encoder_f Cdma2000OneXMSI_encode_uper;
+per_type_decoder_f Cdma2000OneXMSI_decode_aper;
+per_type_encoder_f Cdma2000OneXMSI_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Cdma2000OneXMSI_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Cdma2000OneXPilot.h b/src/s1ap/asn1c/asnGenFiles/Cdma2000OneXPilot.h
new file mode 100644
index 0000000..c25ff66
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Cdma2000OneXPilot.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Cdma2000OneXPilot_H_
+#define	_Cdma2000OneXPilot_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Cdma2000OneXPilot */
+typedef OCTET_STRING_t	 Cdma2000OneXPilot_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Cdma2000OneXPilot;
+asn_struct_free_f Cdma2000OneXPilot_free;
+asn_struct_print_f Cdma2000OneXPilot_print;
+asn_constr_check_f Cdma2000OneXPilot_constraint;
+ber_type_decoder_f Cdma2000OneXPilot_decode_ber;
+der_type_encoder_f Cdma2000OneXPilot_encode_der;
+xer_type_decoder_f Cdma2000OneXPilot_decode_xer;
+xer_type_encoder_f Cdma2000OneXPilot_encode_xer;
+oer_type_decoder_f Cdma2000OneXPilot_decode_oer;
+oer_type_encoder_f Cdma2000OneXPilot_encode_oer;
+per_type_decoder_f Cdma2000OneXPilot_decode_uper;
+per_type_encoder_f Cdma2000OneXPilot_encode_uper;
+per_type_decoder_f Cdma2000OneXPilot_decode_aper;
+per_type_encoder_f Cdma2000OneXPilot_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Cdma2000OneXPilot_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Cdma2000OneXRAND.h b/src/s1ap/asn1c/asnGenFiles/Cdma2000OneXRAND.h
new file mode 100644
index 0000000..86a6713
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Cdma2000OneXRAND.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Cdma2000OneXRAND_H_
+#define	_Cdma2000OneXRAND_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Cdma2000OneXRAND */
+typedef OCTET_STRING_t	 Cdma2000OneXRAND_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Cdma2000OneXRAND;
+asn_struct_free_f Cdma2000OneXRAND_free;
+asn_struct_print_f Cdma2000OneXRAND_print;
+asn_constr_check_f Cdma2000OneXRAND_constraint;
+ber_type_decoder_f Cdma2000OneXRAND_decode_ber;
+der_type_encoder_f Cdma2000OneXRAND_encode_der;
+xer_type_decoder_f Cdma2000OneXRAND_decode_xer;
+xer_type_encoder_f Cdma2000OneXRAND_encode_xer;
+oer_type_decoder_f Cdma2000OneXRAND_decode_oer;
+oer_type_encoder_f Cdma2000OneXRAND_encode_oer;
+per_type_decoder_f Cdma2000OneXRAND_decode_uper;
+per_type_encoder_f Cdma2000OneXRAND_encode_uper;
+per_type_decoder_f Cdma2000OneXRAND_decode_aper;
+per_type_encoder_f Cdma2000OneXRAND_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Cdma2000OneXRAND_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Cdma2000OneXSRVCCInfo.h b/src/s1ap/asn1c/asnGenFiles/Cdma2000OneXSRVCCInfo.h
new file mode 100644
index 0000000..24c4e2c
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Cdma2000OneXSRVCCInfo.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Cdma2000OneXSRVCCInfo_H_
+#define	_Cdma2000OneXSRVCCInfo_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "Cdma2000OneXMEID.h"
+#include "Cdma2000OneXMSI.h"
+#include "Cdma2000OneXPilot.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* Cdma2000OneXSRVCCInfo */
+typedef struct Cdma2000OneXSRVCCInfo {
+	Cdma2000OneXMEID_t	 cdma2000OneXMEID;
+	Cdma2000OneXMSI_t	 cdma2000OneXMSI;
+	Cdma2000OneXPilot_t	 cdma2000OneXPilot;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} Cdma2000OneXSRVCCInfo_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Cdma2000OneXSRVCCInfo;
+extern asn_SEQUENCE_specifics_t asn_SPC_Cdma2000OneXSRVCCInfo_specs_1;
+extern asn_TYPE_member_t asn_MBR_Cdma2000OneXSRVCCInfo_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Cdma2000OneXSRVCCInfo_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Cdma2000PDU.h b/src/s1ap/asn1c/asnGenFiles/Cdma2000PDU.h
new file mode 100644
index 0000000..c14d356
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Cdma2000PDU.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Cdma2000PDU_H_
+#define	_Cdma2000PDU_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Cdma2000PDU */
+typedef OCTET_STRING_t	 Cdma2000PDU_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Cdma2000PDU;
+asn_struct_free_f Cdma2000PDU_free;
+asn_struct_print_f Cdma2000PDU_print;
+asn_constr_check_f Cdma2000PDU_constraint;
+ber_type_decoder_f Cdma2000PDU_decode_ber;
+der_type_encoder_f Cdma2000PDU_encode_der;
+xer_type_decoder_f Cdma2000PDU_decode_xer;
+xer_type_encoder_f Cdma2000PDU_encode_xer;
+oer_type_decoder_f Cdma2000PDU_decode_oer;
+oer_type_encoder_f Cdma2000PDU_encode_oer;
+per_type_decoder_f Cdma2000PDU_decode_uper;
+per_type_encoder_f Cdma2000PDU_encode_uper;
+per_type_decoder_f Cdma2000PDU_decode_aper;
+per_type_encoder_f Cdma2000PDU_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Cdma2000PDU_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Cdma2000RATType.h b/src/s1ap/asn1c/asnGenFiles/Cdma2000RATType.h
new file mode 100644
index 0000000..5c4a8e8
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Cdma2000RATType.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Cdma2000RATType_H_
+#define	_Cdma2000RATType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum Cdma2000RATType {
+	Cdma2000RATType_hRPD	= 0,
+	Cdma2000RATType_onexRTT	= 1
+	/*
+	 * Enumeration is extensible
+	 */
+} e_Cdma2000RATType;
+
+/* Cdma2000RATType */
+typedef long	 Cdma2000RATType_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_Cdma2000RATType_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_Cdma2000RATType;
+extern const asn_INTEGER_specifics_t asn_SPC_Cdma2000RATType_specs_1;
+asn_struct_free_f Cdma2000RATType_free;
+asn_struct_print_f Cdma2000RATType_print;
+asn_constr_check_f Cdma2000RATType_constraint;
+ber_type_decoder_f Cdma2000RATType_decode_ber;
+der_type_encoder_f Cdma2000RATType_encode_der;
+xer_type_decoder_f Cdma2000RATType_decode_xer;
+xer_type_encoder_f Cdma2000RATType_encode_xer;
+oer_type_decoder_f Cdma2000RATType_decode_oer;
+oer_type_encoder_f Cdma2000RATType_encode_oer;
+per_type_decoder_f Cdma2000RATType_decode_uper;
+per_type_encoder_f Cdma2000RATType_encode_uper;
+per_type_decoder_f Cdma2000RATType_decode_aper;
+per_type_encoder_f Cdma2000RATType_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Cdma2000RATType_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Cdma2000SectorID.h b/src/s1ap/asn1c/asnGenFiles/Cdma2000SectorID.h
new file mode 100644
index 0000000..1a2f4d4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Cdma2000SectorID.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Cdma2000SectorID_H_
+#define	_Cdma2000SectorID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Cdma2000SectorID */
+typedef OCTET_STRING_t	 Cdma2000SectorID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Cdma2000SectorID;
+asn_struct_free_f Cdma2000SectorID_free;
+asn_struct_print_f Cdma2000SectorID_print;
+asn_constr_check_f Cdma2000SectorID_constraint;
+ber_type_decoder_f Cdma2000SectorID_decode_ber;
+der_type_encoder_f Cdma2000SectorID_encode_der;
+xer_type_decoder_f Cdma2000SectorID_decode_xer;
+xer_type_encoder_f Cdma2000SectorID_encode_xer;
+oer_type_decoder_f Cdma2000SectorID_decode_oer;
+oer_type_encoder_f Cdma2000SectorID_encode_oer;
+per_type_decoder_f Cdma2000SectorID_decode_uper;
+per_type_encoder_f Cdma2000SectorID_encode_uper;
+per_type_decoder_f Cdma2000SectorID_decode_aper;
+per_type_encoder_f Cdma2000SectorID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Cdma2000SectorID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Cell-Size.h b/src/s1ap/asn1c/asnGenFiles/Cell-Size.h
new file mode 100644
index 0000000..7180089
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Cell-Size.h
@@ -0,0 +1,58 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Cell_Size_H_
+#define	_Cell_Size_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum Cell_Size {
+	Cell_Size_verysmall	= 0,
+	Cell_Size_small	= 1,
+	Cell_Size_medium	= 2,
+	Cell_Size_large	= 3
+	/*
+	 * Enumeration is extensible
+	 */
+} e_Cell_Size;
+
+/* Cell-Size */
+typedef long	 Cell_Size_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_Cell_Size_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_Cell_Size;
+extern const asn_INTEGER_specifics_t asn_SPC_Cell_Size_specs_1;
+asn_struct_free_f Cell_Size_free;
+asn_struct_print_f Cell_Size_print;
+asn_constr_check_f Cell_Size_constraint;
+ber_type_decoder_f Cell_Size_decode_ber;
+der_type_encoder_f Cell_Size_encode_der;
+xer_type_decoder_f Cell_Size_decode_xer;
+xer_type_encoder_f Cell_Size_encode_xer;
+oer_type_decoder_f Cell_Size_decode_oer;
+oer_type_encoder_f Cell_Size_encode_oer;
+per_type_decoder_f Cell_Size_decode_uper;
+per_type_encoder_f Cell_Size_encode_uper;
+per_type_decoder_f Cell_Size_decode_aper;
+per_type_encoder_f Cell_Size_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Cell_Size_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CellAccessMode.h b/src/s1ap/asn1c/asnGenFiles/CellAccessMode.h
new file mode 100644
index 0000000..6da8223
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CellAccessMode.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CellAccessMode_H_
+#define	_CellAccessMode_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum CellAccessMode {
+	CellAccessMode_hybrid	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_CellAccessMode;
+
+/* CellAccessMode */
+typedef long	 CellAccessMode_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_CellAccessMode_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_CellAccessMode;
+extern const asn_INTEGER_specifics_t asn_SPC_CellAccessMode_specs_1;
+asn_struct_free_f CellAccessMode_free;
+asn_struct_print_f CellAccessMode_print;
+asn_constr_check_f CellAccessMode_constraint;
+ber_type_decoder_f CellAccessMode_decode_ber;
+der_type_encoder_f CellAccessMode_encode_der;
+xer_type_decoder_f CellAccessMode_decode_xer;
+xer_type_encoder_f CellAccessMode_encode_xer;
+oer_type_decoder_f CellAccessMode_decode_oer;
+oer_type_encoder_f CellAccessMode_encode_oer;
+per_type_decoder_f CellAccessMode_decode_uper;
+per_type_encoder_f CellAccessMode_encode_uper;
+per_type_decoder_f CellAccessMode_decode_aper;
+per_type_encoder_f CellAccessMode_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CellAccessMode_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CellBasedMDT.h b/src/s1ap/asn1c/asnGenFiles/CellBasedMDT.h
new file mode 100644
index 0000000..d69eca8
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CellBasedMDT.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CellBasedMDT_H_
+#define	_CellBasedMDT_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "CellIdListforMDT.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* CellBasedMDT */
+typedef struct CellBasedMDT {
+	CellIdListforMDT_t	 cellIdListforMDT;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CellBasedMDT_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CellBasedMDT;
+extern asn_SEQUENCE_specifics_t asn_SPC_CellBasedMDT_specs_1;
+extern asn_TYPE_member_t asn_MBR_CellBasedMDT_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CellBasedMDT_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CellBasedQMC.h b/src/s1ap/asn1c/asnGenFiles/CellBasedQMC.h
new file mode 100644
index 0000000..e6af5fb
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CellBasedQMC.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CellBasedQMC_H_
+#define	_CellBasedQMC_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "CellIdListforQMC.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* CellBasedQMC */
+typedef struct CellBasedQMC {
+	CellIdListforQMC_t	 cellIdListforQMC;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CellBasedQMC_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CellBasedQMC;
+extern asn_SEQUENCE_specifics_t asn_SPC_CellBasedQMC_specs_1;
+extern asn_TYPE_member_t asn_MBR_CellBasedQMC_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CellBasedQMC_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CellID-Broadcast-Item.h b/src/s1ap/asn1c/asnGenFiles/CellID-Broadcast-Item.h
new file mode 100644
index 0000000..946b453
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CellID-Broadcast-Item.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CellID_Broadcast_Item_H_
+#define	_CellID_Broadcast_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "EUTRAN-CGI.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* CellID-Broadcast-Item */
+typedef struct CellID_Broadcast_Item {
+	EUTRAN_CGI_t	 eCGI;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CellID_Broadcast_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CellID_Broadcast_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_CellID_Broadcast_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_CellID_Broadcast_Item_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CellID_Broadcast_Item_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CellID-Broadcast.h b/src/s1ap/asn1c/asnGenFiles/CellID-Broadcast.h
new file mode 100644
index 0000000..b7d7392
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CellID-Broadcast.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CellID_Broadcast_H_
+#define	_CellID_Broadcast_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct CellID_Broadcast_Item;
+
+/* CellID-Broadcast */
+typedef struct CellID_Broadcast {
+	A_SEQUENCE_OF(struct CellID_Broadcast_Item) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CellID_Broadcast_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CellID_Broadcast;
+extern asn_SET_OF_specifics_t asn_SPC_CellID_Broadcast_specs_1;
+extern asn_TYPE_member_t asn_MBR_CellID_Broadcast_1[1];
+extern asn_per_constraints_t asn_PER_type_CellID_Broadcast_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CellID_Broadcast_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CellID-Cancelled-Item.h b/src/s1ap/asn1c/asnGenFiles/CellID-Cancelled-Item.h
new file mode 100644
index 0000000..5d66a10
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CellID-Cancelled-Item.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CellID_Cancelled_Item_H_
+#define	_CellID_Cancelled_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "EUTRAN-CGI.h"
+#include "NumberOfBroadcasts.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* CellID-Cancelled-Item */
+typedef struct CellID_Cancelled_Item {
+	EUTRAN_CGI_t	 eCGI;
+	NumberOfBroadcasts_t	 numberOfBroadcasts;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CellID_Cancelled_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CellID_Cancelled_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_CellID_Cancelled_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_CellID_Cancelled_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CellID_Cancelled_Item_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CellID-Cancelled.h b/src/s1ap/asn1c/asnGenFiles/CellID-Cancelled.h
new file mode 100644
index 0000000..f26f3a3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CellID-Cancelled.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CellID_Cancelled_H_
+#define	_CellID_Cancelled_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct CellID_Cancelled_Item;
+
+/* CellID-Cancelled */
+typedef struct CellID_Cancelled {
+	A_SEQUENCE_OF(struct CellID_Cancelled_Item) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CellID_Cancelled_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CellID_Cancelled;
+extern asn_SET_OF_specifics_t asn_SPC_CellID_Cancelled_specs_1;
+extern asn_TYPE_member_t asn_MBR_CellID_Cancelled_1[1];
+extern asn_per_constraints_t asn_PER_type_CellID_Cancelled_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CellID_Cancelled_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CellIdListforMDT.h b/src/s1ap/asn1c/asnGenFiles/CellIdListforMDT.h
new file mode 100644
index 0000000..360bd16
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CellIdListforMDT.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CellIdListforMDT_H_
+#define	_CellIdListforMDT_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct EUTRAN_CGI;
+
+/* CellIdListforMDT */
+typedef struct CellIdListforMDT {
+	A_SEQUENCE_OF(struct EUTRAN_CGI) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CellIdListforMDT_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CellIdListforMDT;
+extern asn_SET_OF_specifics_t asn_SPC_CellIdListforMDT_specs_1;
+extern asn_TYPE_member_t asn_MBR_CellIdListforMDT_1[1];
+extern asn_per_constraints_t asn_PER_type_CellIdListforMDT_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CellIdListforMDT_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CellIdListforQMC.h b/src/s1ap/asn1c/asnGenFiles/CellIdListforQMC.h
new file mode 100644
index 0000000..628e98b
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CellIdListforQMC.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CellIdListforQMC_H_
+#define	_CellIdListforQMC_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct EUTRAN_CGI;
+
+/* CellIdListforQMC */
+typedef struct CellIdListforQMC {
+	A_SEQUENCE_OF(struct EUTRAN_CGI) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CellIdListforQMC_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CellIdListforQMC;
+extern asn_SET_OF_specifics_t asn_SPC_CellIdListforQMC_specs_1;
+extern asn_TYPE_member_t asn_MBR_CellIdListforQMC_1[1];
+extern asn_per_constraints_t asn_PER_type_CellIdListforQMC_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CellIdListforQMC_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CellIdentifierAndCELevelForCECapableUEs.h b/src/s1ap/asn1c/asnGenFiles/CellIdentifierAndCELevelForCECapableUEs.h
new file mode 100644
index 0000000..89f0cc4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CellIdentifierAndCELevelForCECapableUEs.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CellIdentifierAndCELevelForCECapableUEs_H_
+#define	_CellIdentifierAndCELevelForCECapableUEs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "EUTRAN-CGI.h"
+#include "CELevel.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* CellIdentifierAndCELevelForCECapableUEs */
+typedef struct CellIdentifierAndCELevelForCECapableUEs {
+	EUTRAN_CGI_t	 global_Cell_ID;
+	CELevel_t	 cELevel;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CellIdentifierAndCELevelForCECapableUEs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CellIdentifierAndCELevelForCECapableUEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_CellIdentifierAndCELevelForCECapableUEs_specs_1;
+extern asn_TYPE_member_t asn_MBR_CellIdentifierAndCELevelForCECapableUEs_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CellIdentifierAndCELevelForCECapableUEs_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CellIdentity.h b/src/s1ap/asn1c/asnGenFiles/CellIdentity.h
new file mode 100644
index 0000000..7a10ea8
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CellIdentity.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CellIdentity_H_
+#define	_CellIdentity_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* CellIdentity */
+typedef BIT_STRING_t	 CellIdentity_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_CellIdentity_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_CellIdentity;
+asn_struct_free_f CellIdentity_free;
+asn_struct_print_f CellIdentity_print;
+asn_constr_check_f CellIdentity_constraint;
+ber_type_decoder_f CellIdentity_decode_ber;
+der_type_encoder_f CellIdentity_encode_der;
+xer_type_decoder_f CellIdentity_decode_xer;
+xer_type_encoder_f CellIdentity_encode_xer;
+oer_type_decoder_f CellIdentity_decode_oer;
+oer_type_encoder_f CellIdentity_encode_oer;
+per_type_decoder_f CellIdentity_decode_uper;
+per_type_encoder_f CellIdentity_encode_uper;
+per_type_decoder_f CellIdentity_decode_aper;
+per_type_encoder_f CellIdentity_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CellIdentity_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CellTrafficTrace.h b/src/s1ap/asn1c/asnGenFiles/CellTrafficTrace.h
new file mode 100644
index 0000000..d6b8bfe
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CellTrafficTrace.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CellTrafficTrace_H_
+#define	_CellTrafficTrace_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* CellTrafficTrace */
+typedef struct CellTrafficTrace {
+	ProtocolIE_Container_129P57_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CellTrafficTrace_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CellTrafficTrace;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CellTrafficTrace_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CellType.h b/src/s1ap/asn1c/asnGenFiles/CellType.h
new file mode 100644
index 0000000..dfc855a
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CellType.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CellType_H_
+#define	_CellType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "Cell-Size.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* CellType */
+typedef struct CellType {
+	Cell_Size_t	 cell_Size;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CellType_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CellType;
+extern asn_SEQUENCE_specifics_t asn_SPC_CellType_specs_1;
+extern asn_TYPE_member_t asn_MBR_CellType_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CellType_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CompletedCellinEAI-Item.h b/src/s1ap/asn1c/asnGenFiles/CompletedCellinEAI-Item.h
new file mode 100644
index 0000000..aa016ef
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CompletedCellinEAI-Item.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CompletedCellinEAI_Item_H_
+#define	_CompletedCellinEAI_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "EUTRAN-CGI.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* CompletedCellinEAI-Item */
+typedef struct CompletedCellinEAI_Item {
+	EUTRAN_CGI_t	 eCGI;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CompletedCellinEAI_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CompletedCellinEAI_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_CompletedCellinEAI_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_CompletedCellinEAI_Item_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CompletedCellinEAI_Item_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CompletedCellinEAI.h b/src/s1ap/asn1c/asnGenFiles/CompletedCellinEAI.h
new file mode 100644
index 0000000..2a685ca
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CompletedCellinEAI.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CompletedCellinEAI_H_
+#define	_CompletedCellinEAI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct CompletedCellinEAI_Item;
+
+/* CompletedCellinEAI */
+typedef struct CompletedCellinEAI {
+	A_SEQUENCE_OF(struct CompletedCellinEAI_Item) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CompletedCellinEAI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CompletedCellinEAI;
+extern asn_SET_OF_specifics_t asn_SPC_CompletedCellinEAI_specs_1;
+extern asn_TYPE_member_t asn_MBR_CompletedCellinEAI_1[1];
+extern asn_per_constraints_t asn_PER_type_CompletedCellinEAI_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CompletedCellinEAI_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CompletedCellinTAI-Item.h b/src/s1ap/asn1c/asnGenFiles/CompletedCellinTAI-Item.h
new file mode 100644
index 0000000..6787d2c
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CompletedCellinTAI-Item.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CompletedCellinTAI_Item_H_
+#define	_CompletedCellinTAI_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "EUTRAN-CGI.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* CompletedCellinTAI-Item */
+typedef struct CompletedCellinTAI_Item {
+	EUTRAN_CGI_t	 eCGI;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CompletedCellinTAI_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CompletedCellinTAI_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_CompletedCellinTAI_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_CompletedCellinTAI_Item_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CompletedCellinTAI_Item_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CompletedCellinTAI.h b/src/s1ap/asn1c/asnGenFiles/CompletedCellinTAI.h
new file mode 100644
index 0000000..108f04d
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CompletedCellinTAI.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CompletedCellinTAI_H_
+#define	_CompletedCellinTAI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct CompletedCellinTAI_Item;
+
+/* CompletedCellinTAI */
+typedef struct CompletedCellinTAI {
+	A_SEQUENCE_OF(struct CompletedCellinTAI_Item) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CompletedCellinTAI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CompletedCellinTAI;
+extern asn_SET_OF_specifics_t asn_SPC_CompletedCellinTAI_specs_1;
+extern asn_TYPE_member_t asn_MBR_CompletedCellinTAI_1[1];
+extern asn_per_constraints_t asn_PER_type_CompletedCellinTAI_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CompletedCellinTAI_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ConcurrentWarningMessageIndicator.h b/src/s1ap/asn1c/asnGenFiles/ConcurrentWarningMessageIndicator.h
new file mode 100644
index 0000000..846ebbb
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ConcurrentWarningMessageIndicator.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ConcurrentWarningMessageIndicator_H_
+#define	_ConcurrentWarningMessageIndicator_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum ConcurrentWarningMessageIndicator {
+	ConcurrentWarningMessageIndicator_true	= 0
+} e_ConcurrentWarningMessageIndicator;
+
+/* ConcurrentWarningMessageIndicator */
+typedef long	 ConcurrentWarningMessageIndicator_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ConcurrentWarningMessageIndicator_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ConcurrentWarningMessageIndicator;
+extern const asn_INTEGER_specifics_t asn_SPC_ConcurrentWarningMessageIndicator_specs_1;
+asn_struct_free_f ConcurrentWarningMessageIndicator_free;
+asn_struct_print_f ConcurrentWarningMessageIndicator_print;
+asn_constr_check_f ConcurrentWarningMessageIndicator_constraint;
+ber_type_decoder_f ConcurrentWarningMessageIndicator_decode_ber;
+der_type_encoder_f ConcurrentWarningMessageIndicator_encode_der;
+xer_type_decoder_f ConcurrentWarningMessageIndicator_decode_xer;
+xer_type_encoder_f ConcurrentWarningMessageIndicator_encode_xer;
+oer_type_decoder_f ConcurrentWarningMessageIndicator_decode_oer;
+oer_type_encoder_f ConcurrentWarningMessageIndicator_encode_oer;
+per_type_decoder_f ConcurrentWarningMessageIndicator_decode_uper;
+per_type_encoder_f ConcurrentWarningMessageIndicator_encode_uper;
+per_type_decoder_f ConcurrentWarningMessageIndicator_decode_aper;
+per_type_encoder_f ConcurrentWarningMessageIndicator_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ConcurrentWarningMessageIndicator_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ConnectedengNBItem.h b/src/s1ap/asn1c/asnGenFiles/ConnectedengNBItem.h
new file mode 100644
index 0000000..405f6d4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ConnectedengNBItem.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ConnectedengNBItem_H_
+#define	_ConnectedengNBItem_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "En-gNB-ID.h"
+#include "SupportedTAs.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* ConnectedengNBItem */
+typedef struct ConnectedengNBItem {
+	En_gNB_ID_t	 en_gNB_ID;
+	SupportedTAs_t	 supportedTAs;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ConnectedengNBItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ConnectedengNBItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_ConnectedengNBItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_ConnectedengNBItem_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ConnectedengNBItem_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ConnectedengNBList.h b/src/s1ap/asn1c/asnGenFiles/ConnectedengNBList.h
new file mode 100644
index 0000000..1fe4c7a
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ConnectedengNBList.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ConnectedengNBList_H_
+#define	_ConnectedengNBList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ConnectedengNBItem;
+
+/* ConnectedengNBList */
+typedef struct ConnectedengNBList {
+	A_SEQUENCE_OF(struct ConnectedengNBItem) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ConnectedengNBList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ConnectedengNBList;
+extern asn_SET_OF_specifics_t asn_SPC_ConnectedengNBList_specs_1;
+extern asn_TYPE_member_t asn_MBR_ConnectedengNBList_1[1];
+extern asn_per_constraints_t asn_PER_type_ConnectedengNBList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ConnectedengNBList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ConnectionEstablishmentIndication.h b/src/s1ap/asn1c/asnGenFiles/ConnectionEstablishmentIndication.h
new file mode 100644
index 0000000..32bbb0c
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ConnectionEstablishmentIndication.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ConnectionEstablishmentIndication_H_
+#define	_ConnectionEstablishmentIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ConnectionEstablishmentIndication */
+typedef struct ConnectionEstablishmentIndication {
+	ProtocolIE_Container_129P86_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ConnectionEstablishmentIndication_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ConnectionEstablishmentIndication;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ConnectionEstablishmentIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Correlation-ID.h b/src/s1ap/asn1c/asnGenFiles/Correlation-ID.h
new file mode 100644
index 0000000..ce143e3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Correlation-ID.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Correlation_ID_H_
+#define	_Correlation_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Correlation-ID */
+typedef OCTET_STRING_t	 Correlation_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_Correlation_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_Correlation_ID;
+asn_struct_free_f Correlation_ID_free;
+asn_struct_print_f Correlation_ID_print;
+asn_constr_check_f Correlation_ID_constraint;
+ber_type_decoder_f Correlation_ID_decode_ber;
+der_type_encoder_f Correlation_ID_encode_der;
+xer_type_decoder_f Correlation_ID_decode_xer;
+xer_type_encoder_f Correlation_ID_encode_xer;
+oer_type_decoder_f Correlation_ID_decode_oer;
+oer_type_encoder_f Correlation_ID_encode_oer;
+per_type_decoder_f Correlation_ID_decode_uper;
+per_type_encoder_f Correlation_ID_encode_uper;
+per_type_decoder_f Correlation_ID_decode_aper;
+per_type_encoder_f Correlation_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Correlation_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Coverage-Level.h b/src/s1ap/asn1c/asnGenFiles/Coverage-Level.h
new file mode 100644
index 0000000..3c4640a
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Coverage-Level.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Coverage_Level_H_
+#define	_Coverage_Level_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum Coverage_Level {
+	Coverage_Level_extendedcoverage	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_Coverage_Level;
+
+/* Coverage-Level */
+typedef long	 Coverage_Level_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_Coverage_Level_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_Coverage_Level;
+extern const asn_INTEGER_specifics_t asn_SPC_Coverage_Level_specs_1;
+asn_struct_free_f Coverage_Level_free;
+asn_struct_print_f Coverage_Level_print;
+asn_constr_check_f Coverage_Level_constraint;
+ber_type_decoder_f Coverage_Level_decode_ber;
+der_type_encoder_f Coverage_Level_encode_der;
+xer_type_decoder_f Coverage_Level_decode_xer;
+xer_type_encoder_f Coverage_Level_encode_xer;
+oer_type_decoder_f Coverage_Level_decode_oer;
+oer_type_encoder_f Coverage_Level_encode_oer;
+per_type_decoder_f Coverage_Level_decode_uper;
+per_type_encoder_f Coverage_Level_encode_uper;
+per_type_decoder_f Coverage_Level_decode_aper;
+per_type_encoder_f Coverage_Level_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Coverage_Level_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Criticality.h b/src/s1ap/asn1c/asnGenFiles/Criticality.h
new file mode 100644
index 0000000..977d55d
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Criticality.h
@@ -0,0 +1,54 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-CommonDataTypes"
+ * 	found in "./asn1c/S1AP-CommonDataTypes.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Criticality_H_
+#define	_Criticality_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum Criticality {
+	Criticality_reject	= 0,
+	Criticality_ignore	= 1,
+	Criticality_notify	= 2
+} e_Criticality;
+
+/* Criticality */
+typedef long	 Criticality_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_Criticality_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_Criticality;
+extern const asn_INTEGER_specifics_t asn_SPC_Criticality_specs_1;
+asn_struct_free_f Criticality_free;
+asn_struct_print_f Criticality_print;
+asn_constr_check_f Criticality_constraint;
+ber_type_decoder_f Criticality_decode_ber;
+der_type_encoder_f Criticality_encode_der;
+xer_type_decoder_f Criticality_decode_xer;
+xer_type_encoder_f Criticality_encode_xer;
+oer_type_decoder_f Criticality_decode_oer;
+oer_type_encoder_f Criticality_encode_oer;
+per_type_decoder_f Criticality_decode_uper;
+per_type_encoder_f Criticality_encode_uper;
+per_type_decoder_f Criticality_decode_aper;
+per_type_encoder_f Criticality_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Criticality_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CriticalityDiagnostics-IE-Item.h b/src/s1ap/asn1c/asnGenFiles/CriticalityDiagnostics-IE-Item.h
new file mode 100644
index 0000000..b708fea
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CriticalityDiagnostics-IE-Item.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CriticalityDiagnostics_IE_Item_H_
+#define	_CriticalityDiagnostics_IE_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "Criticality.h"
+#include "ProtocolIE-ID.h"
+#include "TypeOfError.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* CriticalityDiagnostics-IE-Item */
+typedef struct CriticalityDiagnostics_IE_Item {
+	Criticality_t	 iECriticality;
+	ProtocolIE_ID_t	 iE_ID;
+	TypeOfError_t	 typeOfError;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CriticalityDiagnostics_IE_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CriticalityDiagnostics_IE_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_CriticalityDiagnostics_IE_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_CriticalityDiagnostics_IE_Item_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CriticalityDiagnostics_IE_Item_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CriticalityDiagnostics-IE-List.h b/src/s1ap/asn1c/asnGenFiles/CriticalityDiagnostics-IE-List.h
new file mode 100644
index 0000000..f9455a7
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CriticalityDiagnostics-IE-List.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CriticalityDiagnostics_IE_List_H_
+#define	_CriticalityDiagnostics_IE_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct CriticalityDiagnostics_IE_Item;
+
+/* CriticalityDiagnostics-IE-List */
+typedef struct CriticalityDiagnostics_IE_List {
+	A_SEQUENCE_OF(struct CriticalityDiagnostics_IE_Item) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CriticalityDiagnostics_IE_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CriticalityDiagnostics_IE_List;
+extern asn_SET_OF_specifics_t asn_SPC_CriticalityDiagnostics_IE_List_specs_1;
+extern asn_TYPE_member_t asn_MBR_CriticalityDiagnostics_IE_List_1[1];
+extern asn_per_constraints_t asn_PER_type_CriticalityDiagnostics_IE_List_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CriticalityDiagnostics_IE_List_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/CriticalityDiagnostics.h b/src/s1ap/asn1c/asnGenFiles/CriticalityDiagnostics.h
new file mode 100644
index 0000000..db2a108
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/CriticalityDiagnostics.h
@@ -0,0 +1,54 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_CriticalityDiagnostics_H_
+#define	_CriticalityDiagnostics_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProcedureCode.h"
+#include "TriggeringMessage.h"
+#include "Criticality.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct CriticalityDiagnostics_IE_List;
+struct ProtocolExtensionContainer;
+
+/* CriticalityDiagnostics */
+typedef struct CriticalityDiagnostics {
+	ProcedureCode_t	*procedureCode;	/* OPTIONAL */
+	TriggeringMessage_t	*triggeringMessage;	/* OPTIONAL */
+	Criticality_t	*procedureCriticality;	/* OPTIONAL */
+	struct CriticalityDiagnostics_IE_List	*iEsCriticalityDiagnostics;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CriticalityDiagnostics_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CriticalityDiagnostics;
+extern asn_SEQUENCE_specifics_t asn_SPC_CriticalityDiagnostics_specs_1;
+extern asn_TYPE_member_t asn_MBR_CriticalityDiagnostics_1[5];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CriticalityDiagnostics_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/DCN-ID.h b/src/s1ap/asn1c/asnGenFiles/DCN-ID.h
new file mode 100644
index 0000000..327597e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/DCN-ID.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_DCN_ID_H_
+#define	_DCN_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* DCN-ID */
+typedef long	 DCN_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_DCN_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_DCN_ID;
+asn_struct_free_f DCN_ID_free;
+asn_struct_print_f DCN_ID_print;
+asn_constr_check_f DCN_ID_constraint;
+ber_type_decoder_f DCN_ID_decode_ber;
+der_type_encoder_f DCN_ID_encode_der;
+xer_type_decoder_f DCN_ID_decode_xer;
+xer_type_encoder_f DCN_ID_encode_xer;
+oer_type_decoder_f DCN_ID_decode_oer;
+oer_type_encoder_f DCN_ID_encode_oer;
+per_type_decoder_f DCN_ID_decode_uper;
+per_type_encoder_f DCN_ID_encode_uper;
+per_type_decoder_f DCN_ID_decode_aper;
+per_type_encoder_f DCN_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _DCN_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/DL-CP-SecurityInformation.h b/src/s1ap/asn1c/asnGenFiles/DL-CP-SecurityInformation.h
new file mode 100644
index 0000000..03ffffc
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/DL-CP-SecurityInformation.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_DL_CP_SecurityInformation_H_
+#define	_DL_CP_SecurityInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "DL-NAS-MAC.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* DL-CP-SecurityInformation */
+typedef struct DL_CP_SecurityInformation {
+	DL_NAS_MAC_t	 dl_NAS_MAC;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} DL_CP_SecurityInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_DL_CP_SecurityInformation;
+extern asn_SEQUENCE_specifics_t asn_SPC_DL_CP_SecurityInformation_specs_1;
+extern asn_TYPE_member_t asn_MBR_DL_CP_SecurityInformation_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _DL_CP_SecurityInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/DL-Forwarding.h b/src/s1ap/asn1c/asnGenFiles/DL-Forwarding.h
new file mode 100644
index 0000000..ee785dd
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/DL-Forwarding.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_DL_Forwarding_H_
+#define	_DL_Forwarding_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum DL_Forwarding {
+	DL_Forwarding_dL_Forwarding_proposed	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_DL_Forwarding;
+
+/* DL-Forwarding */
+typedef long	 DL_Forwarding_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_DL_Forwarding_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_DL_Forwarding;
+extern const asn_INTEGER_specifics_t asn_SPC_DL_Forwarding_specs_1;
+asn_struct_free_f DL_Forwarding_free;
+asn_struct_print_f DL_Forwarding_print;
+asn_constr_check_f DL_Forwarding_constraint;
+ber_type_decoder_f DL_Forwarding_decode_ber;
+der_type_encoder_f DL_Forwarding_encode_der;
+xer_type_decoder_f DL_Forwarding_decode_xer;
+xer_type_encoder_f DL_Forwarding_encode_xer;
+oer_type_decoder_f DL_Forwarding_decode_oer;
+oer_type_encoder_f DL_Forwarding_encode_oer;
+per_type_decoder_f DL_Forwarding_decode_uper;
+per_type_encoder_f DL_Forwarding_encode_uper;
+per_type_decoder_f DL_Forwarding_decode_aper;
+per_type_encoder_f DL_Forwarding_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _DL_Forwarding_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/DL-NAS-MAC.h b/src/s1ap/asn1c/asnGenFiles/DL-NAS-MAC.h
new file mode 100644
index 0000000..7e892b3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/DL-NAS-MAC.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_DL_NAS_MAC_H_
+#define	_DL_NAS_MAC_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* DL-NAS-MAC */
+typedef BIT_STRING_t	 DL_NAS_MAC_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_DL_NAS_MAC_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_DL_NAS_MAC;
+asn_struct_free_f DL_NAS_MAC_free;
+asn_struct_print_f DL_NAS_MAC_print;
+asn_constr_check_f DL_NAS_MAC_constraint;
+ber_type_decoder_f DL_NAS_MAC_decode_ber;
+der_type_encoder_f DL_NAS_MAC_encode_der;
+xer_type_decoder_f DL_NAS_MAC_decode_xer;
+xer_type_encoder_f DL_NAS_MAC_encode_xer;
+oer_type_decoder_f DL_NAS_MAC_decode_oer;
+oer_type_encoder_f DL_NAS_MAC_encode_oer;
+per_type_decoder_f DL_NAS_MAC_decode_uper;
+per_type_encoder_f DL_NAS_MAC_encode_uper;
+per_type_decoder_f DL_NAS_MAC_decode_aper;
+per_type_encoder_f DL_NAS_MAC_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _DL_NAS_MAC_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/DLNASPDUDeliveryAckRequest.h b/src/s1ap/asn1c/asnGenFiles/DLNASPDUDeliveryAckRequest.h
new file mode 100644
index 0000000..bb97161
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/DLNASPDUDeliveryAckRequest.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_DLNASPDUDeliveryAckRequest_H_
+#define	_DLNASPDUDeliveryAckRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum DLNASPDUDeliveryAckRequest {
+	DLNASPDUDeliveryAckRequest_requested	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_DLNASPDUDeliveryAckRequest;
+
+/* DLNASPDUDeliveryAckRequest */
+typedef long	 DLNASPDUDeliveryAckRequest_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_DLNASPDUDeliveryAckRequest_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_DLNASPDUDeliveryAckRequest;
+extern const asn_INTEGER_specifics_t asn_SPC_DLNASPDUDeliveryAckRequest_specs_1;
+asn_struct_free_f DLNASPDUDeliveryAckRequest_free;
+asn_struct_print_f DLNASPDUDeliveryAckRequest_print;
+asn_constr_check_f DLNASPDUDeliveryAckRequest_constraint;
+ber_type_decoder_f DLNASPDUDeliveryAckRequest_decode_ber;
+der_type_encoder_f DLNASPDUDeliveryAckRequest_encode_der;
+xer_type_decoder_f DLNASPDUDeliveryAckRequest_decode_xer;
+xer_type_encoder_f DLNASPDUDeliveryAckRequest_encode_xer;
+oer_type_decoder_f DLNASPDUDeliveryAckRequest_decode_oer;
+oer_type_encoder_f DLNASPDUDeliveryAckRequest_encode_oer;
+per_type_decoder_f DLNASPDUDeliveryAckRequest_decode_uper;
+per_type_encoder_f DLNASPDUDeliveryAckRequest_encode_uper;
+per_type_decoder_f DLNASPDUDeliveryAckRequest_decode_aper;
+per_type_encoder_f DLNASPDUDeliveryAckRequest_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _DLNASPDUDeliveryAckRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Data-Forwarding-Not-Possible.h b/src/s1ap/asn1c/asnGenFiles/Data-Forwarding-Not-Possible.h
new file mode 100644
index 0000000..ea6e1d9
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Data-Forwarding-Not-Possible.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Data_Forwarding_Not_Possible_H_
+#define	_Data_Forwarding_Not_Possible_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum Data_Forwarding_Not_Possible {
+	Data_Forwarding_Not_Possible_data_Forwarding_not_Possible	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_Data_Forwarding_Not_Possible;
+
+/* Data-Forwarding-Not-Possible */
+typedef long	 Data_Forwarding_Not_Possible_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_Data_Forwarding_Not_Possible_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_Data_Forwarding_Not_Possible;
+extern const asn_INTEGER_specifics_t asn_SPC_Data_Forwarding_Not_Possible_specs_1;
+asn_struct_free_f Data_Forwarding_Not_Possible_free;
+asn_struct_print_f Data_Forwarding_Not_Possible_print;
+asn_constr_check_f Data_Forwarding_Not_Possible_constraint;
+ber_type_decoder_f Data_Forwarding_Not_Possible_decode_ber;
+der_type_encoder_f Data_Forwarding_Not_Possible_encode_der;
+xer_type_decoder_f Data_Forwarding_Not_Possible_decode_xer;
+xer_type_encoder_f Data_Forwarding_Not_Possible_encode_xer;
+oer_type_decoder_f Data_Forwarding_Not_Possible_decode_oer;
+oer_type_encoder_f Data_Forwarding_Not_Possible_encode_oer;
+per_type_decoder_f Data_Forwarding_Not_Possible_decode_uper;
+per_type_encoder_f Data_Forwarding_Not_Possible_encode_uper;
+per_type_decoder_f Data_Forwarding_Not_Possible_decode_aper;
+per_type_encoder_f Data_Forwarding_Not_Possible_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Data_Forwarding_Not_Possible_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/DataCodingScheme.h b/src/s1ap/asn1c/asnGenFiles/DataCodingScheme.h
new file mode 100644
index 0000000..3d83258
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/DataCodingScheme.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_DataCodingScheme_H_
+#define	_DataCodingScheme_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* DataCodingScheme */
+typedef BIT_STRING_t	 DataCodingScheme_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_DataCodingScheme_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_DataCodingScheme;
+asn_struct_free_f DataCodingScheme_free;
+asn_struct_print_f DataCodingScheme_print;
+asn_constr_check_f DataCodingScheme_constraint;
+ber_type_decoder_f DataCodingScheme_decode_ber;
+der_type_encoder_f DataCodingScheme_encode_der;
+xer_type_decoder_f DataCodingScheme_decode_xer;
+xer_type_encoder_f DataCodingScheme_encode_xer;
+oer_type_decoder_f DataCodingScheme_decode_oer;
+oer_type_encoder_f DataCodingScheme_encode_oer;
+per_type_decoder_f DataCodingScheme_decode_uper;
+per_type_encoder_f DataCodingScheme_encode_uper;
+per_type_decoder_f DataCodingScheme_decode_aper;
+per_type_encoder_f DataCodingScheme_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _DataCodingScheme_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/DeactivateTrace.h b/src/s1ap/asn1c/asnGenFiles/DeactivateTrace.h
new file mode 100644
index 0000000..5517918
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/DeactivateTrace.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_DeactivateTrace_H_
+#define	_DeactivateTrace_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* DeactivateTrace */
+typedef struct DeactivateTrace {
+	ProtocolIE_Container_129P56_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} DeactivateTrace_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_DeactivateTrace;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _DeactivateTrace_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Direct-Forwarding-Path-Availability.h b/src/s1ap/asn1c/asnGenFiles/Direct-Forwarding-Path-Availability.h
new file mode 100644
index 0000000..c88ec2b
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Direct-Forwarding-Path-Availability.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Direct_Forwarding_Path_Availability_H_
+#define	_Direct_Forwarding_Path_Availability_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum Direct_Forwarding_Path_Availability {
+	Direct_Forwarding_Path_Availability_directPathAvailable	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_Direct_Forwarding_Path_Availability;
+
+/* Direct-Forwarding-Path-Availability */
+typedef long	 Direct_Forwarding_Path_Availability_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_Direct_Forwarding_Path_Availability_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_Direct_Forwarding_Path_Availability;
+extern const asn_INTEGER_specifics_t asn_SPC_Direct_Forwarding_Path_Availability_specs_1;
+asn_struct_free_f Direct_Forwarding_Path_Availability_free;
+asn_struct_print_f Direct_Forwarding_Path_Availability_print;
+asn_constr_check_f Direct_Forwarding_Path_Availability_constraint;
+ber_type_decoder_f Direct_Forwarding_Path_Availability_decode_ber;
+der_type_encoder_f Direct_Forwarding_Path_Availability_encode_der;
+xer_type_decoder_f Direct_Forwarding_Path_Availability_decode_xer;
+xer_type_encoder_f Direct_Forwarding_Path_Availability_encode_xer;
+oer_type_decoder_f Direct_Forwarding_Path_Availability_decode_oer;
+oer_type_encoder_f Direct_Forwarding_Path_Availability_encode_oer;
+per_type_decoder_f Direct_Forwarding_Path_Availability_decode_uper;
+per_type_encoder_f Direct_Forwarding_Path_Availability_encode_uper;
+per_type_decoder_f Direct_Forwarding_Path_Availability_decode_aper;
+per_type_encoder_f Direct_Forwarding_Path_Availability_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Direct_Forwarding_Path_Availability_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/DownlinkNASTransport.h b/src/s1ap/asn1c/asnGenFiles/DownlinkNASTransport.h
new file mode 100644
index 0000000..5c37f2c
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/DownlinkNASTransport.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_DownlinkNASTransport_H_
+#define	_DownlinkNASTransport_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* DownlinkNASTransport */
+typedef struct DownlinkNASTransport {
+	ProtocolIE_Container_129P31_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} DownlinkNASTransport_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_DownlinkNASTransport;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _DownlinkNASTransport_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/DownlinkNonUEAssociatedLPPaTransport.h b/src/s1ap/asn1c/asnGenFiles/DownlinkNonUEAssociatedLPPaTransport.h
new file mode 100644
index 0000000..41d64e6
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/DownlinkNonUEAssociatedLPPaTransport.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_DownlinkNonUEAssociatedLPPaTransport_H_
+#define	_DownlinkNonUEAssociatedLPPaTransport_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* DownlinkNonUEAssociatedLPPaTransport */
+typedef struct DownlinkNonUEAssociatedLPPaTransport {
+	ProtocolIE_Container_129P75_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} DownlinkNonUEAssociatedLPPaTransport_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_DownlinkNonUEAssociatedLPPaTransport;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _DownlinkNonUEAssociatedLPPaTransport_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/DownlinkS1cdma2000tunnelling.h b/src/s1ap/asn1c/asnGenFiles/DownlinkS1cdma2000tunnelling.h
new file mode 100644
index 0000000..f064101
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/DownlinkS1cdma2000tunnelling.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_DownlinkS1cdma2000tunnelling_H_
+#define	_DownlinkS1cdma2000tunnelling_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* DownlinkS1cdma2000tunnelling */
+typedef struct DownlinkS1cdma2000tunnelling {
+	ProtocolIE_Container_129P49_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} DownlinkS1cdma2000tunnelling_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_DownlinkS1cdma2000tunnelling;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _DownlinkS1cdma2000tunnelling_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/DownlinkUEAssociatedLPPaTransport.h b/src/s1ap/asn1c/asnGenFiles/DownlinkUEAssociatedLPPaTransport.h
new file mode 100644
index 0000000..0a1138e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/DownlinkUEAssociatedLPPaTransport.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_DownlinkUEAssociatedLPPaTransport_H_
+#define	_DownlinkUEAssociatedLPPaTransport_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* DownlinkUEAssociatedLPPaTransport */
+typedef struct DownlinkUEAssociatedLPPaTransport {
+	ProtocolIE_Container_129P73_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} DownlinkUEAssociatedLPPaTransport_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_DownlinkUEAssociatedLPPaTransport;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _DownlinkUEAssociatedLPPaTransport_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RAB-ID.h b/src/s1ap/asn1c/asnGenFiles/E-RAB-ID.h
new file mode 100644
index 0000000..40e0ab6
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RAB-ID.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RAB_ID_H_
+#define	_E_RAB_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-RAB-ID */
+typedef long	 E_RAB_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_E_RAB_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_E_RAB_ID;
+asn_struct_free_f E_RAB_ID_free;
+asn_struct_print_f E_RAB_ID_print;
+asn_constr_check_f E_RAB_ID_constraint;
+ber_type_decoder_f E_RAB_ID_decode_ber;
+der_type_encoder_f E_RAB_ID_encode_der;
+xer_type_decoder_f E_RAB_ID_decode_xer;
+xer_type_encoder_f E_RAB_ID_encode_xer;
+oer_type_decoder_f E_RAB_ID_decode_oer;
+oer_type_encoder_f E_RAB_ID_encode_oer;
+per_type_decoder_f E_RAB_ID_decode_uper;
+per_type_encoder_f E_RAB_ID_encode_uper;
+per_type_decoder_f E_RAB_ID_decode_aper;
+per_type_encoder_f E_RAB_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RAB_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RAB-IE-ContainerList.h b/src/s1ap/asn1c/asnGenFiles/E-RAB-IE-ContainerList.h
new file mode 100644
index 0000000..5db2bf4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RAB-IE-ContainerList.h
@@ -0,0 +1,190 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RAB_IE_ContainerList_H_
+#define	_E_RAB_IE_ContainerList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-ContainerList.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-RAB-IE-ContainerList */
+typedef ProtocolIE_ContainerList_166P0_t	 E_RAB_IE_ContainerList_456P0_t;
+typedef ProtocolIE_ContainerList_166P1_t	 E_RAB_IE_ContainerList_456P1_t;
+typedef ProtocolIE_ContainerList_166P2_t	 E_RAB_IE_ContainerList_456P2_t;
+typedef ProtocolIE_ContainerList_166P3_t	 E_RAB_IE_ContainerList_456P3_t;
+typedef ProtocolIE_ContainerList_166P4_t	 E_RAB_IE_ContainerList_456P4_t;
+typedef ProtocolIE_ContainerList_166P5_t	 E_RAB_IE_ContainerList_456P5_t;
+typedef ProtocolIE_ContainerList_166P6_t	 E_RAB_IE_ContainerList_456P6_t;
+typedef ProtocolIE_ContainerList_166P7_t	 E_RAB_IE_ContainerList_456P7_t;
+typedef ProtocolIE_ContainerList_166P8_t	 E_RAB_IE_ContainerList_456P8_t;
+typedef ProtocolIE_ContainerList_166P9_t	 E_RAB_IE_ContainerList_456P9_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_E_RAB_IE_ContainerList_456P0_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_E_RAB_IE_ContainerList_456P0;
+asn_struct_free_f E_RAB_IE_ContainerList_456P0_free;
+asn_struct_print_f E_RAB_IE_ContainerList_456P0_print;
+asn_constr_check_f E_RAB_IE_ContainerList_456P0_constraint;
+ber_type_decoder_f E_RAB_IE_ContainerList_456P0_decode_ber;
+der_type_encoder_f E_RAB_IE_ContainerList_456P0_encode_der;
+xer_type_decoder_f E_RAB_IE_ContainerList_456P0_decode_xer;
+xer_type_encoder_f E_RAB_IE_ContainerList_456P0_encode_xer;
+oer_type_decoder_f E_RAB_IE_ContainerList_456P0_decode_oer;
+oer_type_encoder_f E_RAB_IE_ContainerList_456P0_encode_oer;
+per_type_decoder_f E_RAB_IE_ContainerList_456P0_decode_uper;
+per_type_encoder_f E_RAB_IE_ContainerList_456P0_encode_uper;
+per_type_decoder_f E_RAB_IE_ContainerList_456P0_decode_aper;
+per_type_encoder_f E_RAB_IE_ContainerList_456P0_encode_aper;
+extern asn_per_constraints_t asn_PER_type_E_RAB_IE_ContainerList_456P1_constr_2;
+extern asn_TYPE_descriptor_t asn_DEF_E_RAB_IE_ContainerList_456P1;
+asn_struct_free_f E_RAB_IE_ContainerList_456P1_free;
+asn_struct_print_f E_RAB_IE_ContainerList_456P1_print;
+asn_constr_check_f E_RAB_IE_ContainerList_456P1_constraint;
+ber_type_decoder_f E_RAB_IE_ContainerList_456P1_decode_ber;
+der_type_encoder_f E_RAB_IE_ContainerList_456P1_encode_der;
+xer_type_decoder_f E_RAB_IE_ContainerList_456P1_decode_xer;
+xer_type_encoder_f E_RAB_IE_ContainerList_456P1_encode_xer;
+oer_type_decoder_f E_RAB_IE_ContainerList_456P1_decode_oer;
+oer_type_encoder_f E_RAB_IE_ContainerList_456P1_encode_oer;
+per_type_decoder_f E_RAB_IE_ContainerList_456P1_decode_uper;
+per_type_encoder_f E_RAB_IE_ContainerList_456P1_encode_uper;
+per_type_decoder_f E_RAB_IE_ContainerList_456P1_decode_aper;
+per_type_encoder_f E_RAB_IE_ContainerList_456P1_encode_aper;
+extern asn_per_constraints_t asn_PER_type_E_RAB_IE_ContainerList_456P2_constr_3;
+extern asn_TYPE_descriptor_t asn_DEF_E_RAB_IE_ContainerList_456P2;
+asn_struct_free_f E_RAB_IE_ContainerList_456P2_free;
+asn_struct_print_f E_RAB_IE_ContainerList_456P2_print;
+asn_constr_check_f E_RAB_IE_ContainerList_456P2_constraint;
+ber_type_decoder_f E_RAB_IE_ContainerList_456P2_decode_ber;
+der_type_encoder_f E_RAB_IE_ContainerList_456P2_encode_der;
+xer_type_decoder_f E_RAB_IE_ContainerList_456P2_decode_xer;
+xer_type_encoder_f E_RAB_IE_ContainerList_456P2_encode_xer;
+oer_type_decoder_f E_RAB_IE_ContainerList_456P2_decode_oer;
+oer_type_encoder_f E_RAB_IE_ContainerList_456P2_encode_oer;
+per_type_decoder_f E_RAB_IE_ContainerList_456P2_decode_uper;
+per_type_encoder_f E_RAB_IE_ContainerList_456P2_encode_uper;
+per_type_decoder_f E_RAB_IE_ContainerList_456P2_decode_aper;
+per_type_encoder_f E_RAB_IE_ContainerList_456P2_encode_aper;
+extern asn_per_constraints_t asn_PER_type_E_RAB_IE_ContainerList_456P3_constr_4;
+extern asn_TYPE_descriptor_t asn_DEF_E_RAB_IE_ContainerList_456P3;
+asn_struct_free_f E_RAB_IE_ContainerList_456P3_free;
+asn_struct_print_f E_RAB_IE_ContainerList_456P3_print;
+asn_constr_check_f E_RAB_IE_ContainerList_456P3_constraint;
+ber_type_decoder_f E_RAB_IE_ContainerList_456P3_decode_ber;
+der_type_encoder_f E_RAB_IE_ContainerList_456P3_encode_der;
+xer_type_decoder_f E_RAB_IE_ContainerList_456P3_decode_xer;
+xer_type_encoder_f E_RAB_IE_ContainerList_456P3_encode_xer;
+oer_type_decoder_f E_RAB_IE_ContainerList_456P3_decode_oer;
+oer_type_encoder_f E_RAB_IE_ContainerList_456P3_encode_oer;
+per_type_decoder_f E_RAB_IE_ContainerList_456P3_decode_uper;
+per_type_encoder_f E_RAB_IE_ContainerList_456P3_encode_uper;
+per_type_decoder_f E_RAB_IE_ContainerList_456P3_decode_aper;
+per_type_encoder_f E_RAB_IE_ContainerList_456P3_encode_aper;
+extern asn_per_constraints_t asn_PER_type_E_RAB_IE_ContainerList_456P4_constr_5;
+extern asn_TYPE_descriptor_t asn_DEF_E_RAB_IE_ContainerList_456P4;
+asn_struct_free_f E_RAB_IE_ContainerList_456P4_free;
+asn_struct_print_f E_RAB_IE_ContainerList_456P4_print;
+asn_constr_check_f E_RAB_IE_ContainerList_456P4_constraint;
+ber_type_decoder_f E_RAB_IE_ContainerList_456P4_decode_ber;
+der_type_encoder_f E_RAB_IE_ContainerList_456P4_encode_der;
+xer_type_decoder_f E_RAB_IE_ContainerList_456P4_decode_xer;
+xer_type_encoder_f E_RAB_IE_ContainerList_456P4_encode_xer;
+oer_type_decoder_f E_RAB_IE_ContainerList_456P4_decode_oer;
+oer_type_encoder_f E_RAB_IE_ContainerList_456P4_encode_oer;
+per_type_decoder_f E_RAB_IE_ContainerList_456P4_decode_uper;
+per_type_encoder_f E_RAB_IE_ContainerList_456P4_encode_uper;
+per_type_decoder_f E_RAB_IE_ContainerList_456P4_decode_aper;
+per_type_encoder_f E_RAB_IE_ContainerList_456P4_encode_aper;
+extern asn_per_constraints_t asn_PER_type_E_RAB_IE_ContainerList_456P5_constr_6;
+extern asn_TYPE_descriptor_t asn_DEF_E_RAB_IE_ContainerList_456P5;
+asn_struct_free_f E_RAB_IE_ContainerList_456P5_free;
+asn_struct_print_f E_RAB_IE_ContainerList_456P5_print;
+asn_constr_check_f E_RAB_IE_ContainerList_456P5_constraint;
+ber_type_decoder_f E_RAB_IE_ContainerList_456P5_decode_ber;
+der_type_encoder_f E_RAB_IE_ContainerList_456P5_encode_der;
+xer_type_decoder_f E_RAB_IE_ContainerList_456P5_decode_xer;
+xer_type_encoder_f E_RAB_IE_ContainerList_456P5_encode_xer;
+oer_type_decoder_f E_RAB_IE_ContainerList_456P5_decode_oer;
+oer_type_encoder_f E_RAB_IE_ContainerList_456P5_encode_oer;
+per_type_decoder_f E_RAB_IE_ContainerList_456P5_decode_uper;
+per_type_encoder_f E_RAB_IE_ContainerList_456P5_encode_uper;
+per_type_decoder_f E_RAB_IE_ContainerList_456P5_decode_aper;
+per_type_encoder_f E_RAB_IE_ContainerList_456P5_encode_aper;
+extern asn_per_constraints_t asn_PER_type_E_RAB_IE_ContainerList_456P6_constr_7;
+extern asn_TYPE_descriptor_t asn_DEF_E_RAB_IE_ContainerList_456P6;
+asn_struct_free_f E_RAB_IE_ContainerList_456P6_free;
+asn_struct_print_f E_RAB_IE_ContainerList_456P6_print;
+asn_constr_check_f E_RAB_IE_ContainerList_456P6_constraint;
+ber_type_decoder_f E_RAB_IE_ContainerList_456P6_decode_ber;
+der_type_encoder_f E_RAB_IE_ContainerList_456P6_encode_der;
+xer_type_decoder_f E_RAB_IE_ContainerList_456P6_decode_xer;
+xer_type_encoder_f E_RAB_IE_ContainerList_456P6_encode_xer;
+oer_type_decoder_f E_RAB_IE_ContainerList_456P6_decode_oer;
+oer_type_encoder_f E_RAB_IE_ContainerList_456P6_encode_oer;
+per_type_decoder_f E_RAB_IE_ContainerList_456P6_decode_uper;
+per_type_encoder_f E_RAB_IE_ContainerList_456P6_encode_uper;
+per_type_decoder_f E_RAB_IE_ContainerList_456P6_decode_aper;
+per_type_encoder_f E_RAB_IE_ContainerList_456P6_encode_aper;
+extern asn_per_constraints_t asn_PER_type_E_RAB_IE_ContainerList_456P7_constr_8;
+extern asn_TYPE_descriptor_t asn_DEF_E_RAB_IE_ContainerList_456P7;
+asn_struct_free_f E_RAB_IE_ContainerList_456P7_free;
+asn_struct_print_f E_RAB_IE_ContainerList_456P7_print;
+asn_constr_check_f E_RAB_IE_ContainerList_456P7_constraint;
+ber_type_decoder_f E_RAB_IE_ContainerList_456P7_decode_ber;
+der_type_encoder_f E_RAB_IE_ContainerList_456P7_encode_der;
+xer_type_decoder_f E_RAB_IE_ContainerList_456P7_decode_xer;
+xer_type_encoder_f E_RAB_IE_ContainerList_456P7_encode_xer;
+oer_type_decoder_f E_RAB_IE_ContainerList_456P7_decode_oer;
+oer_type_encoder_f E_RAB_IE_ContainerList_456P7_encode_oer;
+per_type_decoder_f E_RAB_IE_ContainerList_456P7_decode_uper;
+per_type_encoder_f E_RAB_IE_ContainerList_456P7_encode_uper;
+per_type_decoder_f E_RAB_IE_ContainerList_456P7_decode_aper;
+per_type_encoder_f E_RAB_IE_ContainerList_456P7_encode_aper;
+extern asn_per_constraints_t asn_PER_type_E_RAB_IE_ContainerList_456P8_constr_9;
+extern asn_TYPE_descriptor_t asn_DEF_E_RAB_IE_ContainerList_456P8;
+asn_struct_free_f E_RAB_IE_ContainerList_456P8_free;
+asn_struct_print_f E_RAB_IE_ContainerList_456P8_print;
+asn_constr_check_f E_RAB_IE_ContainerList_456P8_constraint;
+ber_type_decoder_f E_RAB_IE_ContainerList_456P8_decode_ber;
+der_type_encoder_f E_RAB_IE_ContainerList_456P8_encode_der;
+xer_type_decoder_f E_RAB_IE_ContainerList_456P8_decode_xer;
+xer_type_encoder_f E_RAB_IE_ContainerList_456P8_encode_xer;
+oer_type_decoder_f E_RAB_IE_ContainerList_456P8_decode_oer;
+oer_type_encoder_f E_RAB_IE_ContainerList_456P8_encode_oer;
+per_type_decoder_f E_RAB_IE_ContainerList_456P8_decode_uper;
+per_type_encoder_f E_RAB_IE_ContainerList_456P8_encode_uper;
+per_type_decoder_f E_RAB_IE_ContainerList_456P8_decode_aper;
+per_type_encoder_f E_RAB_IE_ContainerList_456P8_encode_aper;
+extern asn_per_constraints_t asn_PER_type_E_RAB_IE_ContainerList_456P9_constr_10;
+extern asn_TYPE_descriptor_t asn_DEF_E_RAB_IE_ContainerList_456P9;
+asn_struct_free_f E_RAB_IE_ContainerList_456P9_free;
+asn_struct_print_f E_RAB_IE_ContainerList_456P9_print;
+asn_constr_check_f E_RAB_IE_ContainerList_456P9_constraint;
+ber_type_decoder_f E_RAB_IE_ContainerList_456P9_decode_ber;
+der_type_encoder_f E_RAB_IE_ContainerList_456P9_encode_der;
+xer_type_decoder_f E_RAB_IE_ContainerList_456P9_decode_xer;
+xer_type_encoder_f E_RAB_IE_ContainerList_456P9_encode_xer;
+oer_type_decoder_f E_RAB_IE_ContainerList_456P9_decode_oer;
+oer_type_encoder_f E_RAB_IE_ContainerList_456P9_encode_oer;
+per_type_decoder_f E_RAB_IE_ContainerList_456P9_decode_uper;
+per_type_encoder_f E_RAB_IE_ContainerList_456P9_encode_uper;
+per_type_decoder_f E_RAB_IE_ContainerList_456P9_decode_aper;
+per_type_encoder_f E_RAB_IE_ContainerList_456P9_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RAB_IE_ContainerList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RAB-IE-ContainerPairList.h b/src/s1ap/asn1c/asnGenFiles/E-RAB-IE-ContainerPairList.h
new file mode 100644
index 0000000..aea32f0
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RAB-IE-ContainerPairList.h
@@ -0,0 +1,23 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RAB_IE_ContainerPairList_H_
+#define	_E_RAB_IE_ContainerPairList_H_
+
+
+#include <asn_application.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RAB_IE_ContainerPairList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABAdmittedItem.h b/src/s1ap/asn1c/asnGenFiles/E-RABAdmittedItem.h
new file mode 100644
index 0000000..33ee68c
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABAdmittedItem.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABAdmittedItem_H_
+#define	_E_RABAdmittedItem_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-ID.h"
+#include "TransportLayerAddress.h"
+#include "GTP-TEID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* E-RABAdmittedItem */
+typedef struct E_RABAdmittedItem {
+	E_RAB_ID_t	 e_RAB_ID;
+	TransportLayerAddress_t	 transportLayerAddress;
+	GTP_TEID_t	 gTP_TEID;
+	TransportLayerAddress_t	*dL_transportLayerAddress;	/* OPTIONAL */
+	GTP_TEID_t	*dL_gTP_TEID;	/* OPTIONAL */
+	TransportLayerAddress_t	*uL_TransportLayerAddress;	/* OPTIONAL */
+	GTP_TEID_t	*uL_GTP_TEID;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABAdmittedItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABAdmittedItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABAdmittedItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABAdmittedItem_1[8];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABAdmittedItem_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABAdmittedList.h b/src/s1ap/asn1c/asnGenFiles/E-RABAdmittedList.h
new file mode 100644
index 0000000..e6882a7
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABAdmittedList.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABAdmittedList_H_
+#define	_E_RABAdmittedList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-IE-ContainerList.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-RABAdmittedList */
+typedef E_RAB_IE_ContainerList_456P2_t	 E_RABAdmittedList_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_E_RABAdmittedList_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_E_RABAdmittedList;
+asn_struct_free_f E_RABAdmittedList_free;
+asn_struct_print_f E_RABAdmittedList_print;
+asn_constr_check_f E_RABAdmittedList_constraint;
+ber_type_decoder_f E_RABAdmittedList_decode_ber;
+der_type_encoder_f E_RABAdmittedList_encode_der;
+xer_type_decoder_f E_RABAdmittedList_decode_xer;
+xer_type_encoder_f E_RABAdmittedList_encode_xer;
+oer_type_decoder_f E_RABAdmittedList_decode_oer;
+oer_type_encoder_f E_RABAdmittedList_encode_oer;
+per_type_decoder_f E_RABAdmittedList_decode_uper;
+per_type_encoder_f E_RABAdmittedList_encode_uper;
+per_type_decoder_f E_RABAdmittedList_decode_aper;
+per_type_encoder_f E_RABAdmittedList_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABAdmittedList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABDataForwardingItem.h b/src/s1ap/asn1c/asnGenFiles/E-RABDataForwardingItem.h
new file mode 100644
index 0000000..acd8902
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABDataForwardingItem.h
@@ -0,0 +1,54 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABDataForwardingItem_H_
+#define	_E_RABDataForwardingItem_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-ID.h"
+#include "TransportLayerAddress.h"
+#include "GTP-TEID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* E-RABDataForwardingItem */
+typedef struct E_RABDataForwardingItem {
+	E_RAB_ID_t	 e_RAB_ID;
+	TransportLayerAddress_t	*dL_transportLayerAddress;	/* OPTIONAL */
+	GTP_TEID_t	*dL_gTP_TEID;	/* OPTIONAL */
+	TransportLayerAddress_t	*uL_TransportLayerAddress;	/* OPTIONAL */
+	GTP_TEID_t	*uL_GTP_TEID;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABDataForwardingItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABDataForwardingItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABDataForwardingItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABDataForwardingItem_1[6];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABDataForwardingItem_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABFailedToResumeItemResumeReq.h b/src/s1ap/asn1c/asnGenFiles/E-RABFailedToResumeItemResumeReq.h
new file mode 100644
index 0000000..5ab2f98
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABFailedToResumeItemResumeReq.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABFailedToResumeItemResumeReq_H_
+#define	_E_RABFailedToResumeItemResumeReq_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-ID.h"
+#include "Cause.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* E-RABFailedToResumeItemResumeReq */
+typedef struct E_RABFailedToResumeItemResumeReq {
+	E_RAB_ID_t	 e_RAB_ID;
+	Cause_t	 cause;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABFailedToResumeItemResumeReq_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABFailedToResumeItemResumeReq;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABFailedToResumeItemResumeReq_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABFailedToResumeItemResumeReq_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABFailedToResumeItemResumeReq_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABFailedToResumeItemResumeRes.h b/src/s1ap/asn1c/asnGenFiles/E-RABFailedToResumeItemResumeRes.h
new file mode 100644
index 0000000..ede6192
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABFailedToResumeItemResumeRes.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABFailedToResumeItemResumeRes_H_
+#define	_E_RABFailedToResumeItemResumeRes_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-ID.h"
+#include "Cause.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* E-RABFailedToResumeItemResumeRes */
+typedef struct E_RABFailedToResumeItemResumeRes {
+	E_RAB_ID_t	 e_RAB_ID;
+	Cause_t	 cause;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABFailedToResumeItemResumeRes_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABFailedToResumeItemResumeRes;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABFailedToResumeItemResumeRes_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABFailedToResumeItemResumeRes_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABFailedToResumeItemResumeRes_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABFailedToResumeListResumeReq.h b/src/s1ap/asn1c/asnGenFiles/E-RABFailedToResumeListResumeReq.h
new file mode 100644
index 0000000..d59bb52
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABFailedToResumeListResumeReq.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABFailedToResumeListResumeReq_H_
+#define	_E_RABFailedToResumeListResumeReq_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-IE-ContainerList.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-RABFailedToResumeListResumeReq */
+typedef E_RAB_IE_ContainerList_456P8_t	 E_RABFailedToResumeListResumeReq_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_E_RABFailedToResumeListResumeReq_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_E_RABFailedToResumeListResumeReq;
+asn_struct_free_f E_RABFailedToResumeListResumeReq_free;
+asn_struct_print_f E_RABFailedToResumeListResumeReq_print;
+asn_constr_check_f E_RABFailedToResumeListResumeReq_constraint;
+ber_type_decoder_f E_RABFailedToResumeListResumeReq_decode_ber;
+der_type_encoder_f E_RABFailedToResumeListResumeReq_encode_der;
+xer_type_decoder_f E_RABFailedToResumeListResumeReq_decode_xer;
+xer_type_encoder_f E_RABFailedToResumeListResumeReq_encode_xer;
+oer_type_decoder_f E_RABFailedToResumeListResumeReq_decode_oer;
+oer_type_encoder_f E_RABFailedToResumeListResumeReq_encode_oer;
+per_type_decoder_f E_RABFailedToResumeListResumeReq_decode_uper;
+per_type_encoder_f E_RABFailedToResumeListResumeReq_encode_uper;
+per_type_decoder_f E_RABFailedToResumeListResumeReq_decode_aper;
+per_type_encoder_f E_RABFailedToResumeListResumeReq_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABFailedToResumeListResumeReq_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABFailedToResumeListResumeRes.h b/src/s1ap/asn1c/asnGenFiles/E-RABFailedToResumeListResumeRes.h
new file mode 100644
index 0000000..74b30af
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABFailedToResumeListResumeRes.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABFailedToResumeListResumeRes_H_
+#define	_E_RABFailedToResumeListResumeRes_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-IE-ContainerList.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-RABFailedToResumeListResumeRes */
+typedef E_RAB_IE_ContainerList_456P9_t	 E_RABFailedToResumeListResumeRes_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_E_RABFailedToResumeListResumeRes_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_E_RABFailedToResumeListResumeRes;
+asn_struct_free_f E_RABFailedToResumeListResumeRes_free;
+asn_struct_print_f E_RABFailedToResumeListResumeRes_print;
+asn_constr_check_f E_RABFailedToResumeListResumeRes_constraint;
+ber_type_decoder_f E_RABFailedToResumeListResumeRes_decode_ber;
+der_type_encoder_f E_RABFailedToResumeListResumeRes_encode_der;
+xer_type_decoder_f E_RABFailedToResumeListResumeRes_decode_xer;
+xer_type_encoder_f E_RABFailedToResumeListResumeRes_encode_xer;
+oer_type_decoder_f E_RABFailedToResumeListResumeRes_decode_oer;
+oer_type_encoder_f E_RABFailedToResumeListResumeRes_encode_oer;
+per_type_decoder_f E_RABFailedToResumeListResumeRes_decode_uper;
+per_type_encoder_f E_RABFailedToResumeListResumeRes_encode_uper;
+per_type_decoder_f E_RABFailedToResumeListResumeRes_decode_aper;
+per_type_encoder_f E_RABFailedToResumeListResumeRes_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABFailedToResumeListResumeRes_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABFailedToSetupItemHOReqAck.h b/src/s1ap/asn1c/asnGenFiles/E-RABFailedToSetupItemHOReqAck.h
new file mode 100644
index 0000000..6727d23
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABFailedToSetupItemHOReqAck.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABFailedToSetupItemHOReqAck_H_
+#define	_E_RABFailedToSetupItemHOReqAck_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-ID.h"
+#include "Cause.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* E-RABFailedToSetupItemHOReqAck */
+typedef struct E_RABFailedToSetupItemHOReqAck {
+	E_RAB_ID_t	 e_RAB_ID;
+	Cause_t	 cause;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABFailedToSetupItemHOReqAck_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABFailedToSetupItemHOReqAck;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABFailedToSetupItemHOReqAck_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABFailedToSetupItemHOReqAck_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABFailedToSetupItemHOReqAck_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABFailedtoSetupListHOReqAck.h b/src/s1ap/asn1c/asnGenFiles/E-RABFailedtoSetupListHOReqAck.h
new file mode 100644
index 0000000..3050e7f
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABFailedtoSetupListHOReqAck.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABFailedtoSetupListHOReqAck_H_
+#define	_E_RABFailedtoSetupListHOReqAck_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-IE-ContainerList.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-RABFailedtoSetupListHOReqAck */
+typedef E_RAB_IE_ContainerList_456P3_t	 E_RABFailedtoSetupListHOReqAck_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_E_RABFailedtoSetupListHOReqAck_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_E_RABFailedtoSetupListHOReqAck;
+asn_struct_free_f E_RABFailedtoSetupListHOReqAck_free;
+asn_struct_print_f E_RABFailedtoSetupListHOReqAck_print;
+asn_constr_check_f E_RABFailedtoSetupListHOReqAck_constraint;
+ber_type_decoder_f E_RABFailedtoSetupListHOReqAck_decode_ber;
+der_type_encoder_f E_RABFailedtoSetupListHOReqAck_encode_der;
+xer_type_decoder_f E_RABFailedtoSetupListHOReqAck_decode_xer;
+xer_type_encoder_f E_RABFailedtoSetupListHOReqAck_encode_xer;
+oer_type_decoder_f E_RABFailedtoSetupListHOReqAck_decode_oer;
+oer_type_encoder_f E_RABFailedtoSetupListHOReqAck_encode_oer;
+per_type_decoder_f E_RABFailedtoSetupListHOReqAck_decode_uper;
+per_type_encoder_f E_RABFailedtoSetupListHOReqAck_encode_uper;
+per_type_decoder_f E_RABFailedtoSetupListHOReqAck_decode_aper;
+per_type_encoder_f E_RABFailedtoSetupListHOReqAck_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABFailedtoSetupListHOReqAck_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABInformationList.h b/src/s1ap/asn1c/asnGenFiles/E-RABInformationList.h
new file mode 100644
index 0000000..58db860
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABInformationList.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABInformationList_H_
+#define	_E_RABInformationList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* E-RABInformationList */
+typedef struct E_RABInformationList {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABInformationList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABInformationList;
+extern asn_SET_OF_specifics_t asn_SPC_E_RABInformationList_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABInformationList_1[1];
+extern asn_per_constraints_t asn_PER_type_E_RABInformationList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABInformationList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABInformationListItem.h b/src/s1ap/asn1c/asnGenFiles/E-RABInformationListItem.h
new file mode 100644
index 0000000..9ad32d3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABInformationListItem.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABInformationListItem_H_
+#define	_E_RABInformationListItem_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-ID.h"
+#include "DL-Forwarding.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* E-RABInformationListItem */
+typedef struct E_RABInformationListItem {
+	E_RAB_ID_t	 e_RAB_ID;
+	DL_Forwarding_t	*dL_Forwarding;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABInformationListItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABInformationListItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABInformationListItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABInformationListItem_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABInformationListItem_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABItem.h b/src/s1ap/asn1c/asnGenFiles/E-RABItem.h
new file mode 100644
index 0000000..5d8d22d
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABItem.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABItem_H_
+#define	_E_RABItem_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-ID.h"
+#include "Cause.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* E-RABItem */
+typedef struct E_RABItem {
+	E_RAB_ID_t	 e_RAB_ID;
+	Cause_t	 cause;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABItem_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABItem_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABLevelQoSParameters.h b/src/s1ap/asn1c/asnGenFiles/E-RABLevelQoSParameters.h
new file mode 100644
index 0000000..6c9182c
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABLevelQoSParameters.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABLevelQoSParameters_H_
+#define	_E_RABLevelQoSParameters_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "QCI.h"
+#include "AllocationAndRetentionPriority.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct GBR_QosInformation;
+struct ProtocolExtensionContainer;
+
+/* E-RABLevelQoSParameters */
+typedef struct E_RABLevelQoSParameters {
+	QCI_t	 qCI;
+	AllocationAndRetentionPriority_t	 allocationRetentionPriority;
+	struct GBR_QosInformation	*gbrQosInformation;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABLevelQoSParameters_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABLevelQoSParameters;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABLevelQoSParameters_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABLevelQoSParameters_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABLevelQoSParameters_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABList.h b/src/s1ap/asn1c/asnGenFiles/E-RABList.h
new file mode 100644
index 0000000..770fab3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABList.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABList_H_
+#define	_E_RABList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* E-RABList */
+typedef struct E_RABList {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABList;
+extern asn_SET_OF_specifics_t asn_SPC_E_RABList_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABList_1[1];
+extern asn_per_constraints_t asn_PER_type_E_RABList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABModificationConfirm.h b/src/s1ap/asn1c/asnGenFiles/E-RABModificationConfirm.h
new file mode 100644
index 0000000..25e2b2f
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABModificationConfirm.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABModificationConfirm_H_
+#define	_E_RABModificationConfirm_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-RABModificationConfirm */
+typedef struct E_RABModificationConfirm {
+	ProtocolIE_Container_129P78_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABModificationConfirm_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABModificationConfirm;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABModificationConfirm_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABModificationIndication.h b/src/s1ap/asn1c/asnGenFiles/E-RABModificationIndication.h
new file mode 100644
index 0000000..2ec8ac0
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABModificationIndication.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABModificationIndication_H_
+#define	_E_RABModificationIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-RABModificationIndication */
+typedef struct E_RABModificationIndication {
+	ProtocolIE_Container_129P77_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABModificationIndication_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABModificationIndication;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABModificationIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABModifyItemBearerModConf.h b/src/s1ap/asn1c/asnGenFiles/E-RABModifyItemBearerModConf.h
new file mode 100644
index 0000000..bbeeba7
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABModifyItemBearerModConf.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABModifyItemBearerModConf_H_
+#define	_E_RABModifyItemBearerModConf_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* E-RABModifyItemBearerModConf */
+typedef struct E_RABModifyItemBearerModConf {
+	E_RAB_ID_t	 e_RAB_ID;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABModifyItemBearerModConf_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABModifyItemBearerModConf;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABModifyItemBearerModConf_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABModifyItemBearerModConf_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABModifyItemBearerModConf_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABModifyItemBearerModRes.h b/src/s1ap/asn1c/asnGenFiles/E-RABModifyItemBearerModRes.h
new file mode 100644
index 0000000..bd21af2
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABModifyItemBearerModRes.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABModifyItemBearerModRes_H_
+#define	_E_RABModifyItemBearerModRes_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* E-RABModifyItemBearerModRes */
+typedef struct E_RABModifyItemBearerModRes {
+	E_RAB_ID_t	 e_RAB_ID;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABModifyItemBearerModRes_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABModifyItemBearerModRes;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABModifyItemBearerModRes_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABModifyItemBearerModRes_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABModifyItemBearerModRes_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABModifyListBearerModConf.h b/src/s1ap/asn1c/asnGenFiles/E-RABModifyListBearerModConf.h
new file mode 100644
index 0000000..326e103
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABModifyListBearerModConf.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABModifyListBearerModConf_H_
+#define	_E_RABModifyListBearerModConf_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* E-RABModifyListBearerModConf */
+typedef struct E_RABModifyListBearerModConf {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABModifyListBearerModConf_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABModifyListBearerModConf;
+extern asn_SET_OF_specifics_t asn_SPC_E_RABModifyListBearerModConf_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABModifyListBearerModConf_1[1];
+extern asn_per_constraints_t asn_PER_type_E_RABModifyListBearerModConf_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABModifyListBearerModConf_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABModifyListBearerModRes.h b/src/s1ap/asn1c/asnGenFiles/E-RABModifyListBearerModRes.h
new file mode 100644
index 0000000..857ea21
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABModifyListBearerModRes.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABModifyListBearerModRes_H_
+#define	_E_RABModifyListBearerModRes_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* E-RABModifyListBearerModRes */
+typedef struct E_RABModifyListBearerModRes {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABModifyListBearerModRes_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABModifyListBearerModRes;
+extern asn_SET_OF_specifics_t asn_SPC_E_RABModifyListBearerModRes_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABModifyListBearerModRes_1[1];
+extern asn_per_constraints_t asn_PER_type_E_RABModifyListBearerModRes_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABModifyListBearerModRes_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABModifyRequest.h b/src/s1ap/asn1c/asnGenFiles/E-RABModifyRequest.h
new file mode 100644
index 0000000..8834a20
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABModifyRequest.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABModifyRequest_H_
+#define	_E_RABModifyRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-RABModifyRequest */
+typedef struct E_RABModifyRequest {
+	ProtocolIE_Container_129P14_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABModifyRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABModifyRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABModifyRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABModifyResponse.h b/src/s1ap/asn1c/asnGenFiles/E-RABModifyResponse.h
new file mode 100644
index 0000000..04e224e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABModifyResponse.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABModifyResponse_H_
+#define	_E_RABModifyResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-RABModifyResponse */
+typedef struct E_RABModifyResponse {
+	ProtocolIE_Container_129P15_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABModifyResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABModifyResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABModifyResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABNotToBeModifiedItemBearerModInd.h b/src/s1ap/asn1c/asnGenFiles/E-RABNotToBeModifiedItemBearerModInd.h
new file mode 100644
index 0000000..2e950c5
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABNotToBeModifiedItemBearerModInd.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABNotToBeModifiedItemBearerModInd_H_
+#define	_E_RABNotToBeModifiedItemBearerModInd_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-ID.h"
+#include "TransportLayerAddress.h"
+#include "GTP-TEID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* E-RABNotToBeModifiedItemBearerModInd */
+typedef struct E_RABNotToBeModifiedItemBearerModInd {
+	E_RAB_ID_t	 e_RAB_ID;
+	TransportLayerAddress_t	 transportLayerAddress;
+	GTP_TEID_t	 dL_GTP_TEID;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABNotToBeModifiedItemBearerModInd_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABNotToBeModifiedItemBearerModInd;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABNotToBeModifiedItemBearerModInd_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABNotToBeModifiedItemBearerModInd_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABNotToBeModifiedItemBearerModInd_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABNotToBeModifiedListBearerModInd.h b/src/s1ap/asn1c/asnGenFiles/E-RABNotToBeModifiedListBearerModInd.h
new file mode 100644
index 0000000..e946ec2
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABNotToBeModifiedListBearerModInd.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABNotToBeModifiedListBearerModInd_H_
+#define	_E_RABNotToBeModifiedListBearerModInd_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-IE-ContainerList.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-RABNotToBeModifiedListBearerModInd */
+typedef E_RAB_IE_ContainerList_456P7_t	 E_RABNotToBeModifiedListBearerModInd_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_E_RABNotToBeModifiedListBearerModInd_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_E_RABNotToBeModifiedListBearerModInd;
+asn_struct_free_f E_RABNotToBeModifiedListBearerModInd_free;
+asn_struct_print_f E_RABNotToBeModifiedListBearerModInd_print;
+asn_constr_check_f E_RABNotToBeModifiedListBearerModInd_constraint;
+ber_type_decoder_f E_RABNotToBeModifiedListBearerModInd_decode_ber;
+der_type_encoder_f E_RABNotToBeModifiedListBearerModInd_encode_der;
+xer_type_decoder_f E_RABNotToBeModifiedListBearerModInd_decode_xer;
+xer_type_encoder_f E_RABNotToBeModifiedListBearerModInd_encode_xer;
+oer_type_decoder_f E_RABNotToBeModifiedListBearerModInd_decode_oer;
+oer_type_encoder_f E_RABNotToBeModifiedListBearerModInd_encode_oer;
+per_type_decoder_f E_RABNotToBeModifiedListBearerModInd_decode_uper;
+per_type_encoder_f E_RABNotToBeModifiedListBearerModInd_encode_uper;
+per_type_decoder_f E_RABNotToBeModifiedListBearerModInd_decode_aper;
+per_type_encoder_f E_RABNotToBeModifiedListBearerModInd_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABNotToBeModifiedListBearerModInd_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABReleaseCommand.h b/src/s1ap/asn1c/asnGenFiles/E-RABReleaseCommand.h
new file mode 100644
index 0000000..9c52c30
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABReleaseCommand.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABReleaseCommand_H_
+#define	_E_RABReleaseCommand_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-RABReleaseCommand */
+typedef struct E_RABReleaseCommand {
+	ProtocolIE_Container_129P16_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABReleaseCommand_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABReleaseCommand;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABReleaseCommand_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABReleaseIndication.h b/src/s1ap/asn1c/asnGenFiles/E-RABReleaseIndication.h
new file mode 100644
index 0000000..3bcce74
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABReleaseIndication.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABReleaseIndication_H_
+#define	_E_RABReleaseIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-RABReleaseIndication */
+typedef struct E_RABReleaseIndication {
+	ProtocolIE_Container_129P18_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABReleaseIndication_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABReleaseIndication;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABReleaseIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABReleaseItemBearerRelComp.h b/src/s1ap/asn1c/asnGenFiles/E-RABReleaseItemBearerRelComp.h
new file mode 100644
index 0000000..4edc17b
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABReleaseItemBearerRelComp.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABReleaseItemBearerRelComp_H_
+#define	_E_RABReleaseItemBearerRelComp_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* E-RABReleaseItemBearerRelComp */
+typedef struct E_RABReleaseItemBearerRelComp {
+	E_RAB_ID_t	 e_RAB_ID;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABReleaseItemBearerRelComp_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABReleaseItemBearerRelComp;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABReleaseItemBearerRelComp_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABReleaseItemBearerRelComp_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABReleaseItemBearerRelComp_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABReleaseListBearerRelComp.h b/src/s1ap/asn1c/asnGenFiles/E-RABReleaseListBearerRelComp.h
new file mode 100644
index 0000000..b3a21d9
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABReleaseListBearerRelComp.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABReleaseListBearerRelComp_H_
+#define	_E_RABReleaseListBearerRelComp_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* E-RABReleaseListBearerRelComp */
+typedef struct E_RABReleaseListBearerRelComp {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABReleaseListBearerRelComp_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABReleaseListBearerRelComp;
+extern asn_SET_OF_specifics_t asn_SPC_E_RABReleaseListBearerRelComp_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABReleaseListBearerRelComp_1[1];
+extern asn_per_constraints_t asn_PER_type_E_RABReleaseListBearerRelComp_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABReleaseListBearerRelComp_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABReleaseResponse.h b/src/s1ap/asn1c/asnGenFiles/E-RABReleaseResponse.h
new file mode 100644
index 0000000..08bee42
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABReleaseResponse.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABReleaseResponse_H_
+#define	_E_RABReleaseResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-RABReleaseResponse */
+typedef struct E_RABReleaseResponse {
+	ProtocolIE_Container_129P17_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABReleaseResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABReleaseResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABReleaseResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABSetupItemBearerSURes.h b/src/s1ap/asn1c/asnGenFiles/E-RABSetupItemBearerSURes.h
new file mode 100644
index 0000000..6d45719
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABSetupItemBearerSURes.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABSetupItemBearerSURes_H_
+#define	_E_RABSetupItemBearerSURes_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-ID.h"
+#include "TransportLayerAddress.h"
+#include "GTP-TEID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* E-RABSetupItemBearerSURes */
+typedef struct E_RABSetupItemBearerSURes {
+	E_RAB_ID_t	 e_RAB_ID;
+	TransportLayerAddress_t	 transportLayerAddress;
+	GTP_TEID_t	 gTP_TEID;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABSetupItemBearerSURes_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABSetupItemBearerSURes;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABSetupItemBearerSURes_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABSetupItemBearerSURes_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABSetupItemBearerSURes_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABSetupItemCtxtSURes.h b/src/s1ap/asn1c/asnGenFiles/E-RABSetupItemCtxtSURes.h
new file mode 100644
index 0000000..0243d30
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABSetupItemCtxtSURes.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABSetupItemCtxtSURes_H_
+#define	_E_RABSetupItemCtxtSURes_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-ID.h"
+#include "TransportLayerAddress.h"
+#include "GTP-TEID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* E-RABSetupItemCtxtSURes */
+typedef struct E_RABSetupItemCtxtSURes {
+	E_RAB_ID_t	 e_RAB_ID;
+	TransportLayerAddress_t	 transportLayerAddress;
+	GTP_TEID_t	 gTP_TEID;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABSetupItemCtxtSURes_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABSetupItemCtxtSURes;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABSetupItemCtxtSURes_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABSetupItemCtxtSURes_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABSetupItemCtxtSURes_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABSetupListBearerSURes.h b/src/s1ap/asn1c/asnGenFiles/E-RABSetupListBearerSURes.h
new file mode 100644
index 0000000..bba9e13
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABSetupListBearerSURes.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABSetupListBearerSURes_H_
+#define	_E_RABSetupListBearerSURes_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* E-RABSetupListBearerSURes */
+typedef struct E_RABSetupListBearerSURes {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABSetupListBearerSURes_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABSetupListBearerSURes;
+extern asn_SET_OF_specifics_t asn_SPC_E_RABSetupListBearerSURes_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABSetupListBearerSURes_1[1];
+extern asn_per_constraints_t asn_PER_type_E_RABSetupListBearerSURes_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABSetupListBearerSURes_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABSetupListCtxtSURes.h b/src/s1ap/asn1c/asnGenFiles/E-RABSetupListCtxtSURes.h
new file mode 100644
index 0000000..19574dd
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABSetupListCtxtSURes.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABSetupListCtxtSURes_H_
+#define	_E_RABSetupListCtxtSURes_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* E-RABSetupListCtxtSURes */
+typedef struct E_RABSetupListCtxtSURes {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABSetupListCtxtSURes_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABSetupListCtxtSURes;
+extern asn_SET_OF_specifics_t asn_SPC_E_RABSetupListCtxtSURes_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABSetupListCtxtSURes_1[1];
+extern asn_per_constraints_t asn_PER_type_E_RABSetupListCtxtSURes_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABSetupListCtxtSURes_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABSetupRequest.h b/src/s1ap/asn1c/asnGenFiles/E-RABSetupRequest.h
new file mode 100644
index 0000000..4036c84
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABSetupRequest.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABSetupRequest_H_
+#define	_E_RABSetupRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-RABSetupRequest */
+typedef struct E_RABSetupRequest {
+	ProtocolIE_Container_129P12_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABSetupRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABSetupRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABSetupRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABSetupResponse.h b/src/s1ap/asn1c/asnGenFiles/E-RABSetupResponse.h
new file mode 100644
index 0000000..1c12414
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABSetupResponse.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABSetupResponse_H_
+#define	_E_RABSetupResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-RABSetupResponse */
+typedef struct E_RABSetupResponse {
+	ProtocolIE_Container_129P13_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABSetupResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABSetupResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABSetupResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABSubjecttoDataForwardingList.h b/src/s1ap/asn1c/asnGenFiles/E-RABSubjecttoDataForwardingList.h
new file mode 100644
index 0000000..f2c42cd
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABSubjecttoDataForwardingList.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABSubjecttoDataForwardingList_H_
+#define	_E_RABSubjecttoDataForwardingList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-IE-ContainerList.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-RABSubjecttoDataForwardingList */
+typedef E_RAB_IE_ContainerList_456P0_t	 E_RABSubjecttoDataForwardingList_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_E_RABSubjecttoDataForwardingList_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_E_RABSubjecttoDataForwardingList;
+asn_struct_free_f E_RABSubjecttoDataForwardingList_free;
+asn_struct_print_f E_RABSubjecttoDataForwardingList_print;
+asn_constr_check_f E_RABSubjecttoDataForwardingList_constraint;
+ber_type_decoder_f E_RABSubjecttoDataForwardingList_decode_ber;
+der_type_encoder_f E_RABSubjecttoDataForwardingList_encode_der;
+xer_type_decoder_f E_RABSubjecttoDataForwardingList_decode_xer;
+xer_type_encoder_f E_RABSubjecttoDataForwardingList_encode_xer;
+oer_type_decoder_f E_RABSubjecttoDataForwardingList_decode_oer;
+oer_type_encoder_f E_RABSubjecttoDataForwardingList_encode_oer;
+per_type_decoder_f E_RABSubjecttoDataForwardingList_decode_uper;
+per_type_encoder_f E_RABSubjecttoDataForwardingList_encode_uper;
+per_type_decoder_f E_RABSubjecttoDataForwardingList_decode_aper;
+per_type_encoder_f E_RABSubjecttoDataForwardingList_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABSubjecttoDataForwardingList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABToBeModifiedItemBearerModInd.h b/src/s1ap/asn1c/asnGenFiles/E-RABToBeModifiedItemBearerModInd.h
new file mode 100644
index 0000000..68e0063
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABToBeModifiedItemBearerModInd.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABToBeModifiedItemBearerModInd_H_
+#define	_E_RABToBeModifiedItemBearerModInd_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-ID.h"
+#include "TransportLayerAddress.h"
+#include "GTP-TEID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* E-RABToBeModifiedItemBearerModInd */
+typedef struct E_RABToBeModifiedItemBearerModInd {
+	E_RAB_ID_t	 e_RAB_ID;
+	TransportLayerAddress_t	 transportLayerAddress;
+	GTP_TEID_t	 dL_GTP_TEID;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABToBeModifiedItemBearerModInd_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeModifiedItemBearerModInd;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABToBeModifiedItemBearerModInd_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABToBeModifiedItemBearerModInd_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABToBeModifiedItemBearerModInd_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABToBeModifiedItemBearerModReq.h b/src/s1ap/asn1c/asnGenFiles/E-RABToBeModifiedItemBearerModReq.h
new file mode 100644
index 0000000..3ab5c08
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABToBeModifiedItemBearerModReq.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABToBeModifiedItemBearerModReq_H_
+#define	_E_RABToBeModifiedItemBearerModReq_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-ID.h"
+#include "E-RABLevelQoSParameters.h"
+#include "NAS-PDU.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* E-RABToBeModifiedItemBearerModReq */
+typedef struct E_RABToBeModifiedItemBearerModReq {
+	E_RAB_ID_t	 e_RAB_ID;
+	E_RABLevelQoSParameters_t	 e_RABLevelQoSParameters;
+	NAS_PDU_t	 nAS_PDU;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABToBeModifiedItemBearerModReq_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeModifiedItemBearerModReq;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABToBeModifiedItemBearerModReq_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABToBeModifiedItemBearerModReq_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABToBeModifiedItemBearerModReq_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABToBeModifiedListBearerModInd.h b/src/s1ap/asn1c/asnGenFiles/E-RABToBeModifiedListBearerModInd.h
new file mode 100644
index 0000000..2cc3166
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABToBeModifiedListBearerModInd.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABToBeModifiedListBearerModInd_H_
+#define	_E_RABToBeModifiedListBearerModInd_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-IE-ContainerList.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-RABToBeModifiedListBearerModInd */
+typedef E_RAB_IE_ContainerList_456P6_t	 E_RABToBeModifiedListBearerModInd_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_E_RABToBeModifiedListBearerModInd_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeModifiedListBearerModInd;
+asn_struct_free_f E_RABToBeModifiedListBearerModInd_free;
+asn_struct_print_f E_RABToBeModifiedListBearerModInd_print;
+asn_constr_check_f E_RABToBeModifiedListBearerModInd_constraint;
+ber_type_decoder_f E_RABToBeModifiedListBearerModInd_decode_ber;
+der_type_encoder_f E_RABToBeModifiedListBearerModInd_encode_der;
+xer_type_decoder_f E_RABToBeModifiedListBearerModInd_decode_xer;
+xer_type_encoder_f E_RABToBeModifiedListBearerModInd_encode_xer;
+oer_type_decoder_f E_RABToBeModifiedListBearerModInd_decode_oer;
+oer_type_encoder_f E_RABToBeModifiedListBearerModInd_encode_oer;
+per_type_decoder_f E_RABToBeModifiedListBearerModInd_decode_uper;
+per_type_encoder_f E_RABToBeModifiedListBearerModInd_encode_uper;
+per_type_decoder_f E_RABToBeModifiedListBearerModInd_decode_aper;
+per_type_encoder_f E_RABToBeModifiedListBearerModInd_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABToBeModifiedListBearerModInd_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABToBeModifiedListBearerModReq.h b/src/s1ap/asn1c/asnGenFiles/E-RABToBeModifiedListBearerModReq.h
new file mode 100644
index 0000000..1e11c2d
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABToBeModifiedListBearerModReq.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABToBeModifiedListBearerModReq_H_
+#define	_E_RABToBeModifiedListBearerModReq_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* E-RABToBeModifiedListBearerModReq */
+typedef struct E_RABToBeModifiedListBearerModReq {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABToBeModifiedListBearerModReq_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeModifiedListBearerModReq;
+extern asn_SET_OF_specifics_t asn_SPC_E_RABToBeModifiedListBearerModReq_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABToBeModifiedListBearerModReq_1[1];
+extern asn_per_constraints_t asn_PER_type_E_RABToBeModifiedListBearerModReq_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABToBeModifiedListBearerModReq_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABToBeSetupItemBearerSUReq.h b/src/s1ap/asn1c/asnGenFiles/E-RABToBeSetupItemBearerSUReq.h
new file mode 100644
index 0000000..cb3076c
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABToBeSetupItemBearerSUReq.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABToBeSetupItemBearerSUReq_H_
+#define	_E_RABToBeSetupItemBearerSUReq_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-ID.h"
+#include "E-RABLevelQoSParameters.h"
+#include "TransportLayerAddress.h"
+#include "GTP-TEID.h"
+#include "NAS-PDU.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* E-RABToBeSetupItemBearerSUReq */
+typedef struct E_RABToBeSetupItemBearerSUReq {
+	E_RAB_ID_t	 e_RAB_ID;
+	E_RABLevelQoSParameters_t	 e_RABlevelQoSParameters;
+	TransportLayerAddress_t	 transportLayerAddress;
+	GTP_TEID_t	 gTP_TEID;
+	NAS_PDU_t	 nAS_PDU;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABToBeSetupItemBearerSUReq_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeSetupItemBearerSUReq;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABToBeSetupItemBearerSUReq_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABToBeSetupItemBearerSUReq_1[6];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABToBeSetupItemBearerSUReq_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABToBeSetupItemCtxtSUReq.h b/src/s1ap/asn1c/asnGenFiles/E-RABToBeSetupItemCtxtSUReq.h
new file mode 100644
index 0000000..d31dc17
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABToBeSetupItemCtxtSUReq.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABToBeSetupItemCtxtSUReq_H_
+#define	_E_RABToBeSetupItemCtxtSUReq_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-ID.h"
+#include "E-RABLevelQoSParameters.h"
+#include "TransportLayerAddress.h"
+#include "GTP-TEID.h"
+#include "NAS-PDU.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* E-RABToBeSetupItemCtxtSUReq */
+typedef struct E_RABToBeSetupItemCtxtSUReq {
+	E_RAB_ID_t	 e_RAB_ID;
+	E_RABLevelQoSParameters_t	 e_RABlevelQoSParameters;
+	TransportLayerAddress_t	 transportLayerAddress;
+	GTP_TEID_t	 gTP_TEID;
+	NAS_PDU_t	*nAS_PDU;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABToBeSetupItemCtxtSUReq_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeSetupItemCtxtSUReq;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABToBeSetupItemCtxtSUReq_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABToBeSetupItemCtxtSUReq_1[6];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABToBeSetupItemCtxtSUReq_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABToBeSetupItemHOReq.h b/src/s1ap/asn1c/asnGenFiles/E-RABToBeSetupItemHOReq.h
new file mode 100644
index 0000000..c68a5b7
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABToBeSetupItemHOReq.h
@@ -0,0 +1,54 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABToBeSetupItemHOReq_H_
+#define	_E_RABToBeSetupItemHOReq_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-ID.h"
+#include "TransportLayerAddress.h"
+#include "GTP-TEID.h"
+#include "E-RABLevelQoSParameters.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* E-RABToBeSetupItemHOReq */
+typedef struct E_RABToBeSetupItemHOReq {
+	E_RAB_ID_t	 e_RAB_ID;
+	TransportLayerAddress_t	 transportLayerAddress;
+	GTP_TEID_t	 gTP_TEID;
+	E_RABLevelQoSParameters_t	 e_RABlevelQosParameters;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABToBeSetupItemHOReq_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeSetupItemHOReq;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABToBeSetupItemHOReq_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABToBeSetupItemHOReq_1[5];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABToBeSetupItemHOReq_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABToBeSetupListBearerSUReq.h b/src/s1ap/asn1c/asnGenFiles/E-RABToBeSetupListBearerSUReq.h
new file mode 100644
index 0000000..da3eafb
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABToBeSetupListBearerSUReq.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABToBeSetupListBearerSUReq_H_
+#define	_E_RABToBeSetupListBearerSUReq_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* E-RABToBeSetupListBearerSUReq */
+typedef struct E_RABToBeSetupListBearerSUReq {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABToBeSetupListBearerSUReq_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeSetupListBearerSUReq;
+extern asn_SET_OF_specifics_t asn_SPC_E_RABToBeSetupListBearerSUReq_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABToBeSetupListBearerSUReq_1[1];
+extern asn_per_constraints_t asn_PER_type_E_RABToBeSetupListBearerSUReq_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABToBeSetupListBearerSUReq_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABToBeSetupListCtxtSUReq.h b/src/s1ap/asn1c/asnGenFiles/E-RABToBeSetupListCtxtSUReq.h
new file mode 100644
index 0000000..c4c3cd9
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABToBeSetupListCtxtSUReq.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABToBeSetupListCtxtSUReq_H_
+#define	_E_RABToBeSetupListCtxtSUReq_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* E-RABToBeSetupListCtxtSUReq */
+typedef struct E_RABToBeSetupListCtxtSUReq {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABToBeSetupListCtxtSUReq_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeSetupListCtxtSUReq;
+extern asn_SET_OF_specifics_t asn_SPC_E_RABToBeSetupListCtxtSUReq_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABToBeSetupListCtxtSUReq_1[1];
+extern asn_per_constraints_t asn_PER_type_E_RABToBeSetupListCtxtSUReq_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABToBeSetupListCtxtSUReq_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABToBeSetupListHOReq.h b/src/s1ap/asn1c/asnGenFiles/E-RABToBeSetupListHOReq.h
new file mode 100644
index 0000000..90a342f
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABToBeSetupListHOReq.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABToBeSetupListHOReq_H_
+#define	_E_RABToBeSetupListHOReq_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-IE-ContainerList.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-RABToBeSetupListHOReq */
+typedef E_RAB_IE_ContainerList_456P1_t	 E_RABToBeSetupListHOReq_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_E_RABToBeSetupListHOReq_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeSetupListHOReq;
+asn_struct_free_f E_RABToBeSetupListHOReq_free;
+asn_struct_print_f E_RABToBeSetupListHOReq_print;
+asn_constr_check_f E_RABToBeSetupListHOReq_constraint;
+ber_type_decoder_f E_RABToBeSetupListHOReq_decode_ber;
+der_type_encoder_f E_RABToBeSetupListHOReq_encode_der;
+xer_type_decoder_f E_RABToBeSetupListHOReq_decode_xer;
+xer_type_encoder_f E_RABToBeSetupListHOReq_encode_xer;
+oer_type_decoder_f E_RABToBeSetupListHOReq_decode_oer;
+oer_type_encoder_f E_RABToBeSetupListHOReq_encode_oer;
+per_type_decoder_f E_RABToBeSetupListHOReq_decode_uper;
+per_type_encoder_f E_RABToBeSetupListHOReq_encode_uper;
+per_type_decoder_f E_RABToBeSetupListHOReq_decode_aper;
+per_type_encoder_f E_RABToBeSetupListHOReq_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABToBeSetupListHOReq_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABToBeSwitchedDLItem.h b/src/s1ap/asn1c/asnGenFiles/E-RABToBeSwitchedDLItem.h
new file mode 100644
index 0000000..3162177
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABToBeSwitchedDLItem.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABToBeSwitchedDLItem_H_
+#define	_E_RABToBeSwitchedDLItem_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-ID.h"
+#include "TransportLayerAddress.h"
+#include "GTP-TEID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* E-RABToBeSwitchedDLItem */
+typedef struct E_RABToBeSwitchedDLItem {
+	E_RAB_ID_t	 e_RAB_ID;
+	TransportLayerAddress_t	 transportLayerAddress;
+	GTP_TEID_t	 gTP_TEID;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABToBeSwitchedDLItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeSwitchedDLItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABToBeSwitchedDLItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABToBeSwitchedDLItem_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABToBeSwitchedDLItem_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABToBeSwitchedDLList.h b/src/s1ap/asn1c/asnGenFiles/E-RABToBeSwitchedDLList.h
new file mode 100644
index 0000000..506fe3b
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABToBeSwitchedDLList.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABToBeSwitchedDLList_H_
+#define	_E_RABToBeSwitchedDLList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-IE-ContainerList.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-RABToBeSwitchedDLList */
+typedef E_RAB_IE_ContainerList_456P4_t	 E_RABToBeSwitchedDLList_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_E_RABToBeSwitchedDLList_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeSwitchedDLList;
+asn_struct_free_f E_RABToBeSwitchedDLList_free;
+asn_struct_print_f E_RABToBeSwitchedDLList_print;
+asn_constr_check_f E_RABToBeSwitchedDLList_constraint;
+ber_type_decoder_f E_RABToBeSwitchedDLList_decode_ber;
+der_type_encoder_f E_RABToBeSwitchedDLList_encode_der;
+xer_type_decoder_f E_RABToBeSwitchedDLList_decode_xer;
+xer_type_encoder_f E_RABToBeSwitchedDLList_encode_xer;
+oer_type_decoder_f E_RABToBeSwitchedDLList_decode_oer;
+oer_type_encoder_f E_RABToBeSwitchedDLList_encode_oer;
+per_type_decoder_f E_RABToBeSwitchedDLList_decode_uper;
+per_type_encoder_f E_RABToBeSwitchedDLList_encode_uper;
+per_type_decoder_f E_RABToBeSwitchedDLList_decode_aper;
+per_type_encoder_f E_RABToBeSwitchedDLList_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABToBeSwitchedDLList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABToBeSwitchedULItem.h b/src/s1ap/asn1c/asnGenFiles/E-RABToBeSwitchedULItem.h
new file mode 100644
index 0000000..9206021
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABToBeSwitchedULItem.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABToBeSwitchedULItem_H_
+#define	_E_RABToBeSwitchedULItem_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-ID.h"
+#include "TransportLayerAddress.h"
+#include "GTP-TEID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* E-RABToBeSwitchedULItem */
+typedef struct E_RABToBeSwitchedULItem {
+	E_RAB_ID_t	 e_RAB_ID;
+	TransportLayerAddress_t	 transportLayerAddress;
+	GTP_TEID_t	 gTP_TEID;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABToBeSwitchedULItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeSwitchedULItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABToBeSwitchedULItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABToBeSwitchedULItem_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABToBeSwitchedULItem_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABToBeSwitchedULList.h b/src/s1ap/asn1c/asnGenFiles/E-RABToBeSwitchedULList.h
new file mode 100644
index 0000000..a4bb9c8
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABToBeSwitchedULList.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABToBeSwitchedULList_H_
+#define	_E_RABToBeSwitchedULList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-IE-ContainerList.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-RABToBeSwitchedULList */
+typedef E_RAB_IE_ContainerList_456P5_t	 E_RABToBeSwitchedULList_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_E_RABToBeSwitchedULList_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeSwitchedULList;
+asn_struct_free_f E_RABToBeSwitchedULList_free;
+asn_struct_print_f E_RABToBeSwitchedULList_print;
+asn_constr_check_f E_RABToBeSwitchedULList_constraint;
+ber_type_decoder_f E_RABToBeSwitchedULList_decode_ber;
+der_type_encoder_f E_RABToBeSwitchedULList_encode_der;
+xer_type_decoder_f E_RABToBeSwitchedULList_decode_xer;
+xer_type_encoder_f E_RABToBeSwitchedULList_encode_xer;
+oer_type_decoder_f E_RABToBeSwitchedULList_decode_oer;
+oer_type_encoder_f E_RABToBeSwitchedULList_encode_oer;
+per_type_decoder_f E_RABToBeSwitchedULList_decode_uper;
+per_type_encoder_f E_RABToBeSwitchedULList_encode_uper;
+per_type_decoder_f E_RABToBeSwitchedULList_decode_aper;
+per_type_encoder_f E_RABToBeSwitchedULList_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABToBeSwitchedULList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABUsageReportItem.h b/src/s1ap/asn1c/asnGenFiles/E-RABUsageReportItem.h
new file mode 100644
index 0000000..e9e2a39
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABUsageReportItem.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABUsageReportItem_H_
+#define	_E_RABUsageReportItem_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+#include <NativeInteger.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* E-RABUsageReportItem */
+typedef struct E_RABUsageReportItem {
+	OCTET_STRING_t	 startTimestamp;
+	OCTET_STRING_t	 endTimestamp;
+	long	 usageCountUL;
+	long	 usageCountDL;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABUsageReportItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABUsageReportItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABUsageReportItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABUsageReportItem_1[5];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABUsageReportItem_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-RABUsageReportList.h b/src/s1ap/asn1c/asnGenFiles/E-RABUsageReportList.h
new file mode 100644
index 0000000..d28023c
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-RABUsageReportList.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_RABUsageReportList_H_
+#define	_E_RABUsageReportList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* E-RABUsageReportList */
+typedef struct E_RABUsageReportList {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABUsageReportList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_E_RABUsageReportList;
+extern asn_SET_OF_specifics_t asn_SPC_E_RABUsageReportList_specs_1;
+extern asn_TYPE_member_t asn_MBR_E_RABUsageReportList_1[1];
+extern asn_per_constraints_t asn_PER_type_E_RABUsageReportList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_RABUsageReportList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/E-UTRAN-Trace-ID.h b/src/s1ap/asn1c/asnGenFiles/E-UTRAN-Trace-ID.h
new file mode 100644
index 0000000..c49b629
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/E-UTRAN-Trace-ID.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_E_UTRAN_Trace_ID_H_
+#define	_E_UTRAN_Trace_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* E-UTRAN-Trace-ID */
+typedef OCTET_STRING_t	 E_UTRAN_Trace_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_E_UTRAN_Trace_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_E_UTRAN_Trace_ID;
+asn_struct_free_f E_UTRAN_Trace_ID_free;
+asn_struct_print_f E_UTRAN_Trace_ID_print;
+asn_constr_check_f E_UTRAN_Trace_ID_constraint;
+ber_type_decoder_f E_UTRAN_Trace_ID_decode_ber;
+der_type_encoder_f E_UTRAN_Trace_ID_encode_der;
+xer_type_decoder_f E_UTRAN_Trace_ID_decode_xer;
+xer_type_encoder_f E_UTRAN_Trace_ID_encode_xer;
+oer_type_decoder_f E_UTRAN_Trace_ID_decode_oer;
+oer_type_encoder_f E_UTRAN_Trace_ID_encode_oer;
+per_type_decoder_f E_UTRAN_Trace_ID_decode_uper;
+per_type_encoder_f E_UTRAN_Trace_ID_encode_uper;
+per_type_decoder_f E_UTRAN_Trace_ID_decode_aper;
+per_type_encoder_f E_UTRAN_Trace_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _E_UTRAN_Trace_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/EARFCN.h b/src/s1ap/asn1c/asnGenFiles/EARFCN.h
new file mode 100644
index 0000000..fa34f32
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/EARFCN.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_EARFCN_H_
+#define	_EARFCN_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* EARFCN */
+typedef long	 EARFCN_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_EARFCN_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_EARFCN;
+asn_struct_free_f EARFCN_free;
+asn_struct_print_f EARFCN_print;
+asn_constr_check_f EARFCN_constraint;
+ber_type_decoder_f EARFCN_decode_ber;
+der_type_encoder_f EARFCN_encode_der;
+xer_type_decoder_f EARFCN_decode_xer;
+xer_type_encoder_f EARFCN_encode_xer;
+oer_type_decoder_f EARFCN_decode_oer;
+oer_type_encoder_f EARFCN_encode_oer;
+per_type_decoder_f EARFCN_decode_uper;
+per_type_encoder_f EARFCN_encode_uper;
+per_type_decoder_f EARFCN_decode_aper;
+per_type_encoder_f EARFCN_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _EARFCN_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ECGI-List.h b/src/s1ap/asn1c/asnGenFiles/ECGI-List.h
new file mode 100644
index 0000000..7e2f5d2
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ECGI-List.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ECGI_List_H_
+#define	_ECGI_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct EUTRAN_CGI;
+
+/* ECGI-List */
+typedef struct ECGI_List {
+	A_SEQUENCE_OF(struct EUTRAN_CGI) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ECGI_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ECGI_List;
+extern asn_SET_OF_specifics_t asn_SPC_ECGI_List_specs_1;
+extern asn_TYPE_member_t asn_MBR_ECGI_List_1[1];
+extern asn_per_constraints_t asn_PER_type_ECGI_List_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ECGI_List_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ECGIList.h b/src/s1ap/asn1c/asnGenFiles/ECGIList.h
new file mode 100644
index 0000000..9bf40c9
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ECGIList.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ECGIList_H_
+#define	_ECGIList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct EUTRAN_CGI;
+
+/* ECGIList */
+typedef struct ECGIList {
+	A_SEQUENCE_OF(struct EUTRAN_CGI) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ECGIList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ECGIList;
+extern asn_SET_OF_specifics_t asn_SPC_ECGIList_specs_1;
+extern asn_TYPE_member_t asn_MBR_ECGIList_1[1];
+extern asn_per_constraints_t asn_PER_type_ECGIList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ECGIList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ECGIListForRestart.h b/src/s1ap/asn1c/asnGenFiles/ECGIListForRestart.h
new file mode 100644
index 0000000..38c4fbe
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ECGIListForRestart.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ECGIListForRestart_H_
+#define	_ECGIListForRestart_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct EUTRAN_CGI;
+
+/* ECGIListForRestart */
+typedef struct ECGIListForRestart {
+	A_SEQUENCE_OF(struct EUTRAN_CGI) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ECGIListForRestart_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ECGIListForRestart;
+extern asn_SET_OF_specifics_t asn_SPC_ECGIListForRestart_specs_1;
+extern asn_TYPE_member_t asn_MBR_ECGIListForRestart_1[1];
+extern asn_per_constraints_t asn_PER_type_ECGIListForRestart_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ECGIListForRestart_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/EDT-Session.h b/src/s1ap/asn1c/asnGenFiles/EDT-Session.h
new file mode 100644
index 0000000..bfe0841
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/EDT-Session.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_EDT_Session_H_
+#define	_EDT_Session_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum EDT_Session {
+	EDT_Session_true	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_EDT_Session;
+
+/* EDT-Session */
+typedef long	 EDT_Session_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_EDT_Session_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_EDT_Session;
+extern const asn_INTEGER_specifics_t asn_SPC_EDT_Session_specs_1;
+asn_struct_free_f EDT_Session_free;
+asn_struct_print_f EDT_Session_print;
+asn_constr_check_f EDT_Session_constraint;
+ber_type_decoder_f EDT_Session_decode_ber;
+der_type_encoder_f EDT_Session_encode_der;
+xer_type_decoder_f EDT_Session_decode_xer;
+xer_type_encoder_f EDT_Session_encode_xer;
+oer_type_decoder_f EDT_Session_decode_oer;
+oer_type_encoder_f EDT_Session_encode_oer;
+per_type_decoder_f EDT_Session_decode_uper;
+per_type_encoder_f EDT_Session_encode_uper;
+per_type_decoder_f EDT_Session_decode_aper;
+per_type_encoder_f EDT_Session_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _EDT_Session_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/EN-DCSONConfigurationTransfer.h b/src/s1ap/asn1c/asnGenFiles/EN-DCSONConfigurationTransfer.h
new file mode 100644
index 0000000..53c7cb6
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/EN-DCSONConfigurationTransfer.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_EN_DCSONConfigurationTransfer_H_
+#define	_EN_DCSONConfigurationTransfer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "EN-DCSONTransferType.h"
+#include "SONInformation.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct X2TNLConfigurationInfo;
+struct ProtocolExtensionContainer;
+
+/* EN-DCSONConfigurationTransfer */
+typedef struct EN_DCSONConfigurationTransfer {
+	EN_DCSONTransferType_t	 transfertype;
+	SONInformation_t	 sONInformation;
+	struct X2TNLConfigurationInfo	*x2TNLConfigInfo;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} EN_DCSONConfigurationTransfer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EN_DCSONConfigurationTransfer;
+extern asn_SEQUENCE_specifics_t asn_SPC_EN_DCSONConfigurationTransfer_specs_1;
+extern asn_TYPE_member_t asn_MBR_EN_DCSONConfigurationTransfer_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _EN_DCSONConfigurationTransfer_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/EN-DCSONTransferType.h b/src/s1ap/asn1c/asnGenFiles/EN-DCSONTransferType.h
new file mode 100644
index 0000000..6a2fd41
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/EN-DCSONTransferType.h
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_EN_DCSONTransferType_H_
+#define	_EN_DCSONTransferType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum EN_DCSONTransferType_PR {
+	EN_DCSONTransferType_PR_NOTHING,	/* No components present */
+	EN_DCSONTransferType_PR_request,
+	EN_DCSONTransferType_PR_reply
+	/* Extensions may appear below */
+	
+} EN_DCSONTransferType_PR;
+
+/* Forward declarations */
+struct EN_DCTransferTypeRequest;
+struct EN_DCTransferTypeReply;
+
+/* EN-DCSONTransferType */
+typedef struct EN_DCSONTransferType {
+	EN_DCSONTransferType_PR present;
+	union EN_DCSONTransferType_u {
+		struct EN_DCTransferTypeRequest	*request;
+		struct EN_DCTransferTypeReply	*reply;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} EN_DCSONTransferType_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EN_DCSONTransferType;
+extern asn_CHOICE_specifics_t asn_SPC_EN_DCSONTransferType_specs_1;
+extern asn_TYPE_member_t asn_MBR_EN_DCSONTransferType_1[2];
+extern asn_per_constraints_t asn_PER_type_EN_DCSONTransferType_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _EN_DCSONTransferType_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/EN-DCSONeNBIdentification.h b/src/s1ap/asn1c/asnGenFiles/EN-DCSONeNBIdentification.h
new file mode 100644
index 0000000..533b6d2
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/EN-DCSONeNBIdentification.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_EN_DCSONeNBIdentification_H_
+#define	_EN_DCSONeNBIdentification_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "Global-ENB-ID.h"
+#include "TAI.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* EN-DCSONeNBIdentification */
+typedef struct EN_DCSONeNBIdentification {
+	Global_ENB_ID_t	 globaleNBID;
+	TAI_t	 selectedTAI;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} EN_DCSONeNBIdentification_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EN_DCSONeNBIdentification;
+extern asn_SEQUENCE_specifics_t asn_SPC_EN_DCSONeNBIdentification_specs_1;
+extern asn_TYPE_member_t asn_MBR_EN_DCSONeNBIdentification_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _EN_DCSONeNBIdentification_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/EN-DCSONengNBIdentification.h b/src/s1ap/asn1c/asnGenFiles/EN-DCSONengNBIdentification.h
new file mode 100644
index 0000000..49b4ebf
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/EN-DCSONengNBIdentification.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_EN_DCSONengNBIdentification_H_
+#define	_EN_DCSONengNBIdentification_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "Global-en-gNB-ID.h"
+#include "TAI.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* EN-DCSONengNBIdentification */
+typedef struct EN_DCSONengNBIdentification {
+	Global_en_gNB_ID_t	 globalengNBID;
+	TAI_t	 selectedTAI;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} EN_DCSONengNBIdentification_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EN_DCSONengNBIdentification;
+extern asn_SEQUENCE_specifics_t asn_SPC_EN_DCSONengNBIdentification_specs_1;
+extern asn_TYPE_member_t asn_MBR_EN_DCSONengNBIdentification_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _EN_DCSONengNBIdentification_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/EN-DCTransferTypeReply.h b/src/s1ap/asn1c/asnGenFiles/EN-DCTransferTypeReply.h
new file mode 100644
index 0000000..859d406
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/EN-DCTransferTypeReply.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_EN_DCTransferTypeReply_H_
+#define	_EN_DCTransferTypeReply_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "EN-DCSONengNBIdentification.h"
+#include "EN-DCSONeNBIdentification.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* EN-DCTransferTypeReply */
+typedef struct EN_DCTransferTypeReply {
+	EN_DCSONengNBIdentification_t	 sourceengNB;
+	EN_DCSONeNBIdentification_t	 targeteNB;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} EN_DCTransferTypeReply_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EN_DCTransferTypeReply;
+extern asn_SEQUENCE_specifics_t asn_SPC_EN_DCTransferTypeReply_specs_1;
+extern asn_TYPE_member_t asn_MBR_EN_DCTransferTypeReply_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _EN_DCTransferTypeReply_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/EN-DCTransferTypeRequest.h b/src/s1ap/asn1c/asnGenFiles/EN-DCTransferTypeRequest.h
new file mode 100644
index 0000000..12a53b0
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/EN-DCTransferTypeRequest.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_EN_DCTransferTypeRequest_H_
+#define	_EN_DCTransferTypeRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "EN-DCSONeNBIdentification.h"
+#include "EN-DCSONengNBIdentification.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct EN_DCSONeNBIdentification;
+struct S_TAI;
+struct FiveGSTAI;
+struct ProtocolExtensionContainer;
+
+/* EN-DCTransferTypeRequest */
+typedef struct EN_DCTransferTypeRequest {
+	EN_DCSONeNBIdentification_t	 sourceeNB;
+	EN_DCSONengNBIdentification_t	 targetengNB;
+	struct EN_DCSONeNBIdentification	*targeteNB;	/* OPTIONAL */
+	struct S_TAI	*associatedTAI;	/* OPTIONAL */
+	struct FiveGSTAI	*broadcast5GSTAI;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} EN_DCTransferTypeRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EN_DCTransferTypeRequest;
+extern asn_SEQUENCE_specifics_t asn_SPC_EN_DCTransferTypeRequest_specs_1;
+extern asn_TYPE_member_t asn_MBR_EN_DCTransferTypeRequest_1[6];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _EN_DCTransferTypeRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ENB-ID.h b/src/s1ap/asn1c/asnGenFiles/ENB-ID.h
new file mode 100644
index 0000000..d9178b9
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ENB-ID.h
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ENB_ID_H_
+#define	_ENB_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum ENB_ID_PR {
+	ENB_ID_PR_NOTHING,	/* No components present */
+	ENB_ID_PR_macroENB_ID,
+	ENB_ID_PR_homeENB_ID,
+	/* Extensions may appear below */
+	ENB_ID_PR_short_macroENB_ID,
+	ENB_ID_PR_long_macroENB_ID
+} ENB_ID_PR;
+
+/* ENB-ID */
+typedef struct ENB_ID {
+	ENB_ID_PR present;
+	union ENB_ID_u {
+		BIT_STRING_t	 macroENB_ID;
+		BIT_STRING_t	 homeENB_ID;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+		BIT_STRING_t	 short_macroENB_ID;
+		BIT_STRING_t	 long_macroENB_ID;
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ENB_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ENB_ID;
+extern asn_CHOICE_specifics_t asn_SPC_ENB_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_ENB_ID_1[4];
+extern asn_per_constraints_t asn_PER_type_ENB_ID_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ENB_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ENB-StatusTransfer-TransparentContainer.h b/src/s1ap/asn1c/asnGenFiles/ENB-StatusTransfer-TransparentContainer.h
new file mode 100644
index 0000000..b994d1c
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ENB-StatusTransfer-TransparentContainer.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ENB_StatusTransfer_TransparentContainer_H_
+#define	_ENB_StatusTransfer_TransparentContainer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "Bearers-SubjectToStatusTransferList.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* ENB-StatusTransfer-TransparentContainer */
+typedef struct ENB_StatusTransfer_TransparentContainer {
+	Bearers_SubjectToStatusTransferList_t	 bearers_SubjectToStatusTransferList;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ENB_StatusTransfer_TransparentContainer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ENB_StatusTransfer_TransparentContainer;
+extern asn_SEQUENCE_specifics_t asn_SPC_ENB_StatusTransfer_TransparentContainer_specs_1;
+extern asn_TYPE_member_t asn_MBR_ENB_StatusTransfer_TransparentContainer_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ENB_StatusTransfer_TransparentContainer_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ENB-UE-S1AP-ID.h b/src/s1ap/asn1c/asnGenFiles/ENB-UE-S1AP-ID.h
new file mode 100644
index 0000000..b236b03
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ENB-UE-S1AP-ID.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ENB_UE_S1AP_ID_H_
+#define	_ENB_UE_S1AP_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ENB-UE-S1AP-ID */
+typedef long	 ENB_UE_S1AP_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ENB_UE_S1AP_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ENB_UE_S1AP_ID;
+asn_struct_free_f ENB_UE_S1AP_ID_free;
+asn_struct_print_f ENB_UE_S1AP_ID_print;
+asn_constr_check_f ENB_UE_S1AP_ID_constraint;
+ber_type_decoder_f ENB_UE_S1AP_ID_decode_ber;
+der_type_encoder_f ENB_UE_S1AP_ID_encode_der;
+xer_type_decoder_f ENB_UE_S1AP_ID_decode_xer;
+xer_type_encoder_f ENB_UE_S1AP_ID_encode_xer;
+oer_type_decoder_f ENB_UE_S1AP_ID_decode_oer;
+oer_type_encoder_f ENB_UE_S1AP_ID_encode_oer;
+per_type_decoder_f ENB_UE_S1AP_ID_decode_uper;
+per_type_encoder_f ENB_UE_S1AP_ID_encode_uper;
+per_type_decoder_f ENB_UE_S1AP_ID_decode_aper;
+per_type_encoder_f ENB_UE_S1AP_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ENB_UE_S1AP_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ENBCPRelocationIndication.h b/src/s1ap/asn1c/asnGenFiles/ENBCPRelocationIndication.h
new file mode 100644
index 0000000..c5517dd
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ENBCPRelocationIndication.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ENBCPRelocationIndication_H_
+#define	_ENBCPRelocationIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ENBCPRelocationIndication */
+typedef struct ENBCPRelocationIndication {
+	ProtocolIE_Container_129P89_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ENBCPRelocationIndication_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ENBCPRelocationIndication;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ENBCPRelocationIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ENBConfigurationTransfer.h b/src/s1ap/asn1c/asnGenFiles/ENBConfigurationTransfer.h
new file mode 100644
index 0000000..16e6f0d
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ENBConfigurationTransfer.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ENBConfigurationTransfer_H_
+#define	_ENBConfigurationTransfer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ENBConfigurationTransfer */
+typedef struct ENBConfigurationTransfer {
+	ProtocolIE_Container_129P67_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ENBConfigurationTransfer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ENBConfigurationTransfer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ENBConfigurationTransfer_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ENBConfigurationUpdate.h b/src/s1ap/asn1c/asnGenFiles/ENBConfigurationUpdate.h
new file mode 100644
index 0000000..290e2e2
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ENBConfigurationUpdate.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ENBConfigurationUpdate_H_
+#define	_ENBConfigurationUpdate_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ENBConfigurationUpdate */
+typedef struct ENBConfigurationUpdate {
+	ProtocolIE_Container_129P43_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ENBConfigurationUpdate_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ENBConfigurationUpdate;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ENBConfigurationUpdate_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ENBConfigurationUpdateAcknowledge.h b/src/s1ap/asn1c/asnGenFiles/ENBConfigurationUpdateAcknowledge.h
new file mode 100644
index 0000000..a7db110
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ENBConfigurationUpdateAcknowledge.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ENBConfigurationUpdateAcknowledge_H_
+#define	_ENBConfigurationUpdateAcknowledge_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ENBConfigurationUpdateAcknowledge */
+typedef struct ENBConfigurationUpdateAcknowledge {
+	ProtocolIE_Container_129P44_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ENBConfigurationUpdateAcknowledge_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ENBConfigurationUpdateAcknowledge;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ENBConfigurationUpdateAcknowledge_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ENBConfigurationUpdateFailure.h b/src/s1ap/asn1c/asnGenFiles/ENBConfigurationUpdateFailure.h
new file mode 100644
index 0000000..4f7d2d3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ENBConfigurationUpdateFailure.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ENBConfigurationUpdateFailure_H_
+#define	_ENBConfigurationUpdateFailure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ENBConfigurationUpdateFailure */
+typedef struct ENBConfigurationUpdateFailure {
+	ProtocolIE_Container_129P45_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ENBConfigurationUpdateFailure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ENBConfigurationUpdateFailure;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ENBConfigurationUpdateFailure_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ENBDirectInformationTransfer.h b/src/s1ap/asn1c/asnGenFiles/ENBDirectInformationTransfer.h
new file mode 100644
index 0000000..95139bf
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ENBDirectInformationTransfer.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ENBDirectInformationTransfer_H_
+#define	_ENBDirectInformationTransfer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ENBDirectInformationTransfer */
+typedef struct ENBDirectInformationTransfer {
+	ProtocolIE_Container_129P65_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ENBDirectInformationTransfer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ENBDirectInformationTransfer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ENBDirectInformationTransfer_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ENBIndirectX2TransportLayerAddresses.h b/src/s1ap/asn1c/asnGenFiles/ENBIndirectX2TransportLayerAddresses.h
new file mode 100644
index 0000000..d7ffaa0
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ENBIndirectX2TransportLayerAddresses.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ENBIndirectX2TransportLayerAddresses_H_
+#define	_ENBIndirectX2TransportLayerAddresses_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TransportLayerAddress.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ENBIndirectX2TransportLayerAddresses */
+typedef struct ENBIndirectX2TransportLayerAddresses {
+	A_SEQUENCE_OF(TransportLayerAddress_t) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ENBIndirectX2TransportLayerAddresses_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ENBIndirectX2TransportLayerAddresses;
+extern asn_SET_OF_specifics_t asn_SPC_ENBIndirectX2TransportLayerAddresses_specs_1;
+extern asn_TYPE_member_t asn_MBR_ENBIndirectX2TransportLayerAddresses_1[1];
+extern asn_per_constraints_t asn_PER_type_ENBIndirectX2TransportLayerAddresses_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ENBIndirectX2TransportLayerAddresses_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ENBStatusTransfer.h b/src/s1ap/asn1c/asnGenFiles/ENBStatusTransfer.h
new file mode 100644
index 0000000..ed952bf
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ENBStatusTransfer.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ENBStatusTransfer_H_
+#define	_ENBStatusTransfer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ENBStatusTransfer */
+typedef struct ENBStatusTransfer {
+	ProtocolIE_Container_129P52_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ENBStatusTransfer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ENBStatusTransfer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ENBStatusTransfer_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ENBX2ExtTLA.h b/src/s1ap/asn1c/asnGenFiles/ENBX2ExtTLA.h
new file mode 100644
index 0000000..ddd4f28
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ENBX2ExtTLA.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ENBX2ExtTLA_H_
+#define	_ENBX2ExtTLA_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TransportLayerAddress.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ENBX2GTPTLAs;
+struct ProtocolExtensionContainer;
+
+/* ENBX2ExtTLA */
+typedef struct ENBX2ExtTLA {
+	TransportLayerAddress_t	*iPsecTLA;	/* OPTIONAL */
+	struct ENBX2GTPTLAs	*gTPTLAa;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ENBX2ExtTLA_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ENBX2ExtTLA;
+extern asn_SEQUENCE_specifics_t asn_SPC_ENBX2ExtTLA_specs_1;
+extern asn_TYPE_member_t asn_MBR_ENBX2ExtTLA_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ENBX2ExtTLA_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ENBX2ExtTLAs.h b/src/s1ap/asn1c/asnGenFiles/ENBX2ExtTLAs.h
new file mode 100644
index 0000000..adb9e75
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ENBX2ExtTLAs.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ENBX2ExtTLAs_H_
+#define	_ENBX2ExtTLAs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ENBX2ExtTLA;
+
+/* ENBX2ExtTLAs */
+typedef struct ENBX2ExtTLAs {
+	A_SEQUENCE_OF(struct ENBX2ExtTLA) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ENBX2ExtTLAs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ENBX2ExtTLAs;
+extern asn_SET_OF_specifics_t asn_SPC_ENBX2ExtTLAs_specs_1;
+extern asn_TYPE_member_t asn_MBR_ENBX2ExtTLAs_1[1];
+extern asn_per_constraints_t asn_PER_type_ENBX2ExtTLAs_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ENBX2ExtTLAs_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ENBX2GTPTLAs.h b/src/s1ap/asn1c/asnGenFiles/ENBX2GTPTLAs.h
new file mode 100644
index 0000000..e99f06d
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ENBX2GTPTLAs.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ENBX2GTPTLAs_H_
+#define	_ENBX2GTPTLAs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TransportLayerAddress.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ENBX2GTPTLAs */
+typedef struct ENBX2GTPTLAs {
+	A_SEQUENCE_OF(TransportLayerAddress_t) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ENBX2GTPTLAs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ENBX2GTPTLAs;
+extern asn_SET_OF_specifics_t asn_SPC_ENBX2GTPTLAs_specs_1;
+extern asn_TYPE_member_t asn_MBR_ENBX2GTPTLAs_1[1];
+extern asn_per_constraints_t asn_PER_type_ENBX2GTPTLAs_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ENBX2GTPTLAs_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ENBX2TLAs.h b/src/s1ap/asn1c/asnGenFiles/ENBX2TLAs.h
new file mode 100644
index 0000000..6491556
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ENBX2TLAs.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ENBX2TLAs_H_
+#define	_ENBX2TLAs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TransportLayerAddress.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ENBX2TLAs */
+typedef struct ENBX2TLAs {
+	A_SEQUENCE_OF(TransportLayerAddress_t) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ENBX2TLAs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ENBX2TLAs;
+extern asn_SET_OF_specifics_t asn_SPC_ENBX2TLAs_specs_1;
+extern asn_TYPE_member_t asn_MBR_ENBX2TLAs_1[1];
+extern asn_per_constraints_t asn_PER_type_ENBX2TLAs_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ENBX2TLAs_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ENBname.h b/src/s1ap/asn1c/asnGenFiles/ENBname.h
new file mode 100644
index 0000000..a1a727f
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ENBname.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ENBname_H_
+#define	_ENBname_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <PrintableString.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ENBname */
+typedef PrintableString_t	 ENBname_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ENBname_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ENBname;
+asn_struct_free_f ENBname_free;
+asn_struct_print_f ENBname_print;
+asn_constr_check_f ENBname_constraint;
+ber_type_decoder_f ENBname_decode_ber;
+der_type_encoder_f ENBname_encode_der;
+xer_type_decoder_f ENBname_decode_xer;
+xer_type_encoder_f ENBname_encode_xer;
+oer_type_decoder_f ENBname_decode_oer;
+oer_type_encoder_f ENBname_encode_oer;
+per_type_decoder_f ENBname_decode_uper;
+per_type_encoder_f ENBname_encode_uper;
+per_type_decoder_f ENBname_decode_aper;
+per_type_encoder_f ENBname_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ENBname_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/EPLMNs.h b/src/s1ap/asn1c/asnGenFiles/EPLMNs.h
new file mode 100644
index 0000000..76b9543
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/EPLMNs.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_EPLMNs_H_
+#define	_EPLMNs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PLMNidentity.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* EPLMNs */
+typedef struct EPLMNs {
+	A_SEQUENCE_OF(PLMNidentity_t) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} EPLMNs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EPLMNs;
+extern asn_SET_OF_specifics_t asn_SPC_EPLMNs_specs_1;
+extern asn_TYPE_member_t asn_MBR_EPLMNs_1[1];
+extern asn_per_constraints_t asn_PER_type_EPLMNs_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _EPLMNs_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/EUTRAN-CGI.h b/src/s1ap/asn1c/asnGenFiles/EUTRAN-CGI.h
new file mode 100644
index 0000000..c06eb08
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/EUTRAN-CGI.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_EUTRAN_CGI_H_
+#define	_EUTRAN_CGI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PLMNidentity.h"
+#include "CellIdentity.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* EUTRAN-CGI */
+typedef struct EUTRAN_CGI {
+	PLMNidentity_t	 pLMNidentity;
+	CellIdentity_t	 cell_ID;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} EUTRAN_CGI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EUTRAN_CGI;
+extern asn_SEQUENCE_specifics_t asn_SPC_EUTRAN_CGI_specs_1;
+extern asn_TYPE_member_t asn_MBR_EUTRAN_CGI_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _EUTRAN_CGI_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/EUTRANRoundTripDelayEstimationInfo.h b/src/s1ap/asn1c/asnGenFiles/EUTRANRoundTripDelayEstimationInfo.h
new file mode 100644
index 0000000..0ceafb3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/EUTRANRoundTripDelayEstimationInfo.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_EUTRANRoundTripDelayEstimationInfo_H_
+#define	_EUTRANRoundTripDelayEstimationInfo_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* EUTRANRoundTripDelayEstimationInfo */
+typedef long	 EUTRANRoundTripDelayEstimationInfo_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_EUTRANRoundTripDelayEstimationInfo_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_EUTRANRoundTripDelayEstimationInfo;
+asn_struct_free_f EUTRANRoundTripDelayEstimationInfo_free;
+asn_struct_print_f EUTRANRoundTripDelayEstimationInfo_print;
+asn_constr_check_f EUTRANRoundTripDelayEstimationInfo_constraint;
+ber_type_decoder_f EUTRANRoundTripDelayEstimationInfo_decode_ber;
+der_type_encoder_f EUTRANRoundTripDelayEstimationInfo_encode_der;
+xer_type_decoder_f EUTRANRoundTripDelayEstimationInfo_decode_xer;
+xer_type_encoder_f EUTRANRoundTripDelayEstimationInfo_encode_xer;
+oer_type_decoder_f EUTRANRoundTripDelayEstimationInfo_decode_oer;
+oer_type_encoder_f EUTRANRoundTripDelayEstimationInfo_encode_oer;
+per_type_decoder_f EUTRANRoundTripDelayEstimationInfo_decode_uper;
+per_type_encoder_f EUTRANRoundTripDelayEstimationInfo_encode_uper;
+per_type_decoder_f EUTRANRoundTripDelayEstimationInfo_decode_aper;
+per_type_encoder_f EUTRANRoundTripDelayEstimationInfo_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _EUTRANRoundTripDelayEstimationInfo_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/EXTERNAL.h b/src/s1ap/asn1c/asnGenFiles/EXTERNAL.h
new file mode 100644
index 0000000..4b073c1
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/EXTERNAL.h
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "ASN1C-UsefulInformationObjectClasses"
+ * 	found in "/users/badhri85/share/asn1c/standard-modules/ASN1C-UsefulInformationObjectClasses.asn1"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_EXTERNAL_H_
+#define	_EXTERNAL_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OBJECT_IDENTIFIER.h>
+#include <NativeInteger.h>
+#include <ObjectDescriptor.h>
+#include <ANY.h>
+#include <OCTET_STRING.h>
+#include <BIT_STRING.h>
+#include <constr_CHOICE.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum EXTERNAL__encoding_PR {
+	EXTERNAL__encoding_PR_NOTHING,	/* No components present */
+	EXTERNAL__encoding_PR_single_ASN1_type,
+	EXTERNAL__encoding_PR_octet_aligned,
+	EXTERNAL__encoding_PR_arbitrary
+} EXTERNAL__encoding_PR;
+
+/* EXTERNAL */
+typedef struct EXTERNAL {
+	OBJECT_IDENTIFIER_t	*direct_reference;	/* OPTIONAL */
+	long	*indirect_reference;	/* OPTIONAL */
+	ObjectDescriptor_t	*data_value_descriptor;	/* OPTIONAL */
+	struct EXTERNAL__encoding {
+		EXTERNAL__encoding_PR present;
+		union EXTERNAL__encoding_u {
+			ANY_t	 single_ASN1_type;
+			OCTET_STRING_t	 octet_aligned;
+			BIT_STRING_t	 arbitrary;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} encoding;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} EXTERNAL_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EXTERNAL;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _EXTERNAL_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/EmergencyAreaID-Broadcast-Item.h b/src/s1ap/asn1c/asnGenFiles/EmergencyAreaID-Broadcast-Item.h
new file mode 100644
index 0000000..e18b9ff
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/EmergencyAreaID-Broadcast-Item.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_EmergencyAreaID_Broadcast_Item_H_
+#define	_EmergencyAreaID_Broadcast_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "EmergencyAreaID.h"
+#include "CompletedCellinEAI.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* EmergencyAreaID-Broadcast-Item */
+typedef struct EmergencyAreaID_Broadcast_Item {
+	EmergencyAreaID_t	 emergencyAreaID;
+	CompletedCellinEAI_t	 completedCellinEAI;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} EmergencyAreaID_Broadcast_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EmergencyAreaID_Broadcast_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_EmergencyAreaID_Broadcast_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_EmergencyAreaID_Broadcast_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _EmergencyAreaID_Broadcast_Item_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/EmergencyAreaID-Broadcast.h b/src/s1ap/asn1c/asnGenFiles/EmergencyAreaID-Broadcast.h
new file mode 100644
index 0000000..dd672f5
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/EmergencyAreaID-Broadcast.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_EmergencyAreaID_Broadcast_H_
+#define	_EmergencyAreaID_Broadcast_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct EmergencyAreaID_Broadcast_Item;
+
+/* EmergencyAreaID-Broadcast */
+typedef struct EmergencyAreaID_Broadcast {
+	A_SEQUENCE_OF(struct EmergencyAreaID_Broadcast_Item) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} EmergencyAreaID_Broadcast_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EmergencyAreaID_Broadcast;
+extern asn_SET_OF_specifics_t asn_SPC_EmergencyAreaID_Broadcast_specs_1;
+extern asn_TYPE_member_t asn_MBR_EmergencyAreaID_Broadcast_1[1];
+extern asn_per_constraints_t asn_PER_type_EmergencyAreaID_Broadcast_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _EmergencyAreaID_Broadcast_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/EmergencyAreaID-Cancelled-Item.h b/src/s1ap/asn1c/asnGenFiles/EmergencyAreaID-Cancelled-Item.h
new file mode 100644
index 0000000..04714ee
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/EmergencyAreaID-Cancelled-Item.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_EmergencyAreaID_Cancelled_Item_H_
+#define	_EmergencyAreaID_Cancelled_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "EmergencyAreaID.h"
+#include "CancelledCellinEAI.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* EmergencyAreaID-Cancelled-Item */
+typedef struct EmergencyAreaID_Cancelled_Item {
+	EmergencyAreaID_t	 emergencyAreaID;
+	CancelledCellinEAI_t	 cancelledCellinEAI;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} EmergencyAreaID_Cancelled_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EmergencyAreaID_Cancelled_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_EmergencyAreaID_Cancelled_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_EmergencyAreaID_Cancelled_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _EmergencyAreaID_Cancelled_Item_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/EmergencyAreaID-Cancelled.h b/src/s1ap/asn1c/asnGenFiles/EmergencyAreaID-Cancelled.h
new file mode 100644
index 0000000..014a105
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/EmergencyAreaID-Cancelled.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_EmergencyAreaID_Cancelled_H_
+#define	_EmergencyAreaID_Cancelled_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct EmergencyAreaID_Cancelled_Item;
+
+/* EmergencyAreaID-Cancelled */
+typedef struct EmergencyAreaID_Cancelled {
+	A_SEQUENCE_OF(struct EmergencyAreaID_Cancelled_Item) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} EmergencyAreaID_Cancelled_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EmergencyAreaID_Cancelled;
+extern asn_SET_OF_specifics_t asn_SPC_EmergencyAreaID_Cancelled_specs_1;
+extern asn_TYPE_member_t asn_MBR_EmergencyAreaID_Cancelled_1[1];
+extern asn_per_constraints_t asn_PER_type_EmergencyAreaID_Cancelled_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _EmergencyAreaID_Cancelled_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/EmergencyAreaID.h b/src/s1ap/asn1c/asnGenFiles/EmergencyAreaID.h
new file mode 100644
index 0000000..888eefc
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/EmergencyAreaID.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_EmergencyAreaID_H_
+#define	_EmergencyAreaID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* EmergencyAreaID */
+typedef OCTET_STRING_t	 EmergencyAreaID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_EmergencyAreaID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_EmergencyAreaID;
+asn_struct_free_f EmergencyAreaID_free;
+asn_struct_print_f EmergencyAreaID_print;
+asn_constr_check_f EmergencyAreaID_constraint;
+ber_type_decoder_f EmergencyAreaID_decode_ber;
+der_type_encoder_f EmergencyAreaID_encode_der;
+xer_type_decoder_f EmergencyAreaID_decode_xer;
+xer_type_encoder_f EmergencyAreaID_encode_xer;
+oer_type_decoder_f EmergencyAreaID_decode_oer;
+oer_type_encoder_f EmergencyAreaID_encode_oer;
+per_type_decoder_f EmergencyAreaID_decode_uper;
+per_type_encoder_f EmergencyAreaID_encode_uper;
+per_type_decoder_f EmergencyAreaID_decode_aper;
+per_type_encoder_f EmergencyAreaID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _EmergencyAreaID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/EmergencyAreaIDList.h b/src/s1ap/asn1c/asnGenFiles/EmergencyAreaIDList.h
new file mode 100644
index 0000000..e210cbc
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/EmergencyAreaIDList.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_EmergencyAreaIDList_H_
+#define	_EmergencyAreaIDList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "EmergencyAreaID.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* EmergencyAreaIDList */
+typedef struct EmergencyAreaIDList {
+	A_SEQUENCE_OF(EmergencyAreaID_t) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} EmergencyAreaIDList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EmergencyAreaIDList;
+extern asn_SET_OF_specifics_t asn_SPC_EmergencyAreaIDList_specs_1;
+extern asn_TYPE_member_t asn_MBR_EmergencyAreaIDList_1[1];
+extern asn_per_constraints_t asn_PER_type_EmergencyAreaIDList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _EmergencyAreaIDList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/EmergencyAreaIDListForRestart.h b/src/s1ap/asn1c/asnGenFiles/EmergencyAreaIDListForRestart.h
new file mode 100644
index 0000000..ed2dd7f
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/EmergencyAreaIDListForRestart.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_EmergencyAreaIDListForRestart_H_
+#define	_EmergencyAreaIDListForRestart_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "EmergencyAreaID.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* EmergencyAreaIDListForRestart */
+typedef struct EmergencyAreaIDListForRestart {
+	A_SEQUENCE_OF(EmergencyAreaID_t) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} EmergencyAreaIDListForRestart_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_EmergencyAreaIDListForRestart;
+extern asn_SET_OF_specifics_t asn_SPC_EmergencyAreaIDListForRestart_specs_1;
+extern asn_TYPE_member_t asn_MBR_EmergencyAreaIDListForRestart_1[1];
+extern asn_per_constraints_t asn_PER_type_EmergencyAreaIDListForRestart_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _EmergencyAreaIDListForRestart_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/En-gNB-ID.h b/src/s1ap/asn1c/asnGenFiles/En-gNB-ID.h
new file mode 100644
index 0000000..9201b1b
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/En-gNB-ID.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_En_gNB_ID_H_
+#define	_En_gNB_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* En-gNB-ID */
+typedef BIT_STRING_t	 En_gNB_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_En_gNB_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_En_gNB_ID;
+asn_struct_free_f En_gNB_ID_free;
+asn_struct_print_f En_gNB_ID_print;
+asn_constr_check_f En_gNB_ID_constraint;
+ber_type_decoder_f En_gNB_ID_decode_ber;
+der_type_encoder_f En_gNB_ID_encode_der;
+xer_type_decoder_f En_gNB_ID_decode_xer;
+xer_type_encoder_f En_gNB_ID_encode_xer;
+oer_type_decoder_f En_gNB_ID_decode_oer;
+oer_type_encoder_f En_gNB_ID_encode_oer;
+per_type_decoder_f En_gNB_ID_decode_uper;
+per_type_encoder_f En_gNB_ID_encode_uper;
+per_type_decoder_f En_gNB_ID_decode_aper;
+per_type_encoder_f En_gNB_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _En_gNB_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/EncryptionAlgorithms.h b/src/s1ap/asn1c/asnGenFiles/EncryptionAlgorithms.h
new file mode 100644
index 0000000..eddcf78
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/EncryptionAlgorithms.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_EncryptionAlgorithms_H_
+#define	_EncryptionAlgorithms_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* EncryptionAlgorithms */
+typedef BIT_STRING_t	 EncryptionAlgorithms_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_EncryptionAlgorithms_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_EncryptionAlgorithms;
+asn_struct_free_f EncryptionAlgorithms_free;
+asn_struct_print_f EncryptionAlgorithms_print;
+asn_constr_check_f EncryptionAlgorithms_constraint;
+ber_type_decoder_f EncryptionAlgorithms_decode_ber;
+der_type_encoder_f EncryptionAlgorithms_encode_der;
+xer_type_decoder_f EncryptionAlgorithms_decode_xer;
+xer_type_encoder_f EncryptionAlgorithms_encode_xer;
+oer_type_decoder_f EncryptionAlgorithms_decode_oer;
+oer_type_encoder_f EncryptionAlgorithms_encode_oer;
+per_type_decoder_f EncryptionAlgorithms_decode_uper;
+per_type_encoder_f EncryptionAlgorithms_encode_uper;
+per_type_decoder_f EncryptionAlgorithms_decode_aper;
+per_type_encoder_f EncryptionAlgorithms_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _EncryptionAlgorithms_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/EndIndication.h b/src/s1ap/asn1c/asnGenFiles/EndIndication.h
new file mode 100644
index 0000000..65a320a
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/EndIndication.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_EndIndication_H_
+#define	_EndIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum EndIndication {
+	EndIndication_no_further_data	= 0,
+	EndIndication_further_data_exists	= 1
+	/*
+	 * Enumeration is extensible
+	 */
+} e_EndIndication;
+
+/* EndIndication */
+typedef long	 EndIndication_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_EndIndication_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_EndIndication;
+extern const asn_INTEGER_specifics_t asn_SPC_EndIndication_specs_1;
+asn_struct_free_f EndIndication_free;
+asn_struct_print_f EndIndication_print;
+asn_constr_check_f EndIndication_constraint;
+ber_type_decoder_f EndIndication_decode_ber;
+der_type_encoder_f EndIndication_encode_der;
+xer_type_decoder_f EndIndication_decode_xer;
+xer_type_encoder_f EndIndication_encode_xer;
+oer_type_decoder_f EndIndication_decode_oer;
+oer_type_encoder_f EndIndication_encode_oer;
+per_type_decoder_f EndIndication_decode_uper;
+per_type_encoder_f EndIndication_encode_uper;
+per_type_decoder_f EndIndication_decode_aper;
+per_type_encoder_f EndIndication_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _EndIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/EnhancedCoverageRestricted.h b/src/s1ap/asn1c/asnGenFiles/EnhancedCoverageRestricted.h
new file mode 100644
index 0000000..5dbb90c
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/EnhancedCoverageRestricted.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_EnhancedCoverageRestricted_H_
+#define	_EnhancedCoverageRestricted_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum EnhancedCoverageRestricted {
+	EnhancedCoverageRestricted_restricted	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_EnhancedCoverageRestricted;
+
+/* EnhancedCoverageRestricted */
+typedef long	 EnhancedCoverageRestricted_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_EnhancedCoverageRestricted_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_EnhancedCoverageRestricted;
+extern const asn_INTEGER_specifics_t asn_SPC_EnhancedCoverageRestricted_specs_1;
+asn_struct_free_f EnhancedCoverageRestricted_free;
+asn_struct_print_f EnhancedCoverageRestricted_print;
+asn_constr_check_f EnhancedCoverageRestricted_constraint;
+ber_type_decoder_f EnhancedCoverageRestricted_decode_ber;
+der_type_encoder_f EnhancedCoverageRestricted_encode_der;
+xer_type_decoder_f EnhancedCoverageRestricted_decode_xer;
+xer_type_encoder_f EnhancedCoverageRestricted_encode_xer;
+oer_type_decoder_f EnhancedCoverageRestricted_decode_oer;
+oer_type_encoder_f EnhancedCoverageRestricted_encode_oer;
+per_type_decoder_f EnhancedCoverageRestricted_decode_uper;
+per_type_encoder_f EnhancedCoverageRestricted_encode_uper;
+per_type_decoder_f EnhancedCoverageRestricted_decode_aper;
+per_type_encoder_f EnhancedCoverageRestricted_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _EnhancedCoverageRestricted_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ErrorIndication.h b/src/s1ap/asn1c/asnGenFiles/ErrorIndication.h
new file mode 100644
index 0000000..ebdd227
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ErrorIndication.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ErrorIndication_H_
+#define	_ErrorIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ErrorIndication */
+typedef struct ErrorIndication {
+	ProtocolIE_Container_129P39_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ErrorIndication_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ErrorIndication;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ErrorIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/EventType.h b/src/s1ap/asn1c/asnGenFiles/EventType.h
new file mode 100644
index 0000000..9dd0c7b
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/EventType.h
@@ -0,0 +1,57 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_EventType_H_
+#define	_EventType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum EventType {
+	EventType_direct	= 0,
+	EventType_change_of_serve_cell	= 1,
+	EventType_stop_change_of_serve_cell	= 2
+	/*
+	 * Enumeration is extensible
+	 */
+} e_EventType;
+
+/* EventType */
+typedef long	 EventType_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_EventType_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_EventType;
+extern const asn_INTEGER_specifics_t asn_SPC_EventType_specs_1;
+asn_struct_free_f EventType_free;
+asn_struct_print_f EventType_print;
+asn_constr_check_f EventType_constraint;
+ber_type_decoder_f EventType_decode_ber;
+der_type_encoder_f EventType_encode_der;
+xer_type_decoder_f EventType_decode_xer;
+xer_type_encoder_f EventType_encode_xer;
+oer_type_decoder_f EventType_decode_oer;
+oer_type_encoder_f EventType_encode_oer;
+per_type_decoder_f EventType_decode_uper;
+per_type_encoder_f EventType_encode_uper;
+per_type_decoder_f EventType_decode_aper;
+per_type_encoder_f EventType_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _EventType_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ExpectedActivityPeriod.h b/src/s1ap/asn1c/asnGenFiles/ExpectedActivityPeriod.h
new file mode 100644
index 0000000..de517cb
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ExpectedActivityPeriod.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ExpectedActivityPeriod_H_
+#define	_ExpectedActivityPeriod_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ExpectedActivityPeriod */
+typedef long	 ExpectedActivityPeriod_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ExpectedActivityPeriod_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ExpectedActivityPeriod;
+asn_struct_free_f ExpectedActivityPeriod_free;
+asn_struct_print_f ExpectedActivityPeriod_print;
+asn_constr_check_f ExpectedActivityPeriod_constraint;
+ber_type_decoder_f ExpectedActivityPeriod_decode_ber;
+der_type_encoder_f ExpectedActivityPeriod_encode_der;
+xer_type_decoder_f ExpectedActivityPeriod_decode_xer;
+xer_type_encoder_f ExpectedActivityPeriod_encode_xer;
+oer_type_decoder_f ExpectedActivityPeriod_decode_oer;
+oer_type_encoder_f ExpectedActivityPeriod_encode_oer;
+per_type_decoder_f ExpectedActivityPeriod_decode_uper;
+per_type_encoder_f ExpectedActivityPeriod_encode_uper;
+per_type_decoder_f ExpectedActivityPeriod_decode_aper;
+per_type_encoder_f ExpectedActivityPeriod_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ExpectedActivityPeriod_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ExpectedHOInterval.h b/src/s1ap/asn1c/asnGenFiles/ExpectedHOInterval.h
new file mode 100644
index 0000000..2ca7c18
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ExpectedHOInterval.h
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ExpectedHOInterval_H_
+#define	_ExpectedHOInterval_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum ExpectedHOInterval {
+	ExpectedHOInterval_sec15	= 0,
+	ExpectedHOInterval_sec30	= 1,
+	ExpectedHOInterval_sec60	= 2,
+	ExpectedHOInterval_sec90	= 3,
+	ExpectedHOInterval_sec120	= 4,
+	ExpectedHOInterval_sec180	= 5,
+	ExpectedHOInterval_long_time	= 6
+	/*
+	 * Enumeration is extensible
+	 */
+} e_ExpectedHOInterval;
+
+/* ExpectedHOInterval */
+typedef long	 ExpectedHOInterval_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ExpectedHOInterval_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ExpectedHOInterval;
+extern const asn_INTEGER_specifics_t asn_SPC_ExpectedHOInterval_specs_1;
+asn_struct_free_f ExpectedHOInterval_free;
+asn_struct_print_f ExpectedHOInterval_print;
+asn_constr_check_f ExpectedHOInterval_constraint;
+ber_type_decoder_f ExpectedHOInterval_decode_ber;
+der_type_encoder_f ExpectedHOInterval_encode_der;
+xer_type_decoder_f ExpectedHOInterval_decode_xer;
+xer_type_encoder_f ExpectedHOInterval_encode_xer;
+oer_type_decoder_f ExpectedHOInterval_decode_oer;
+oer_type_encoder_f ExpectedHOInterval_encode_oer;
+per_type_decoder_f ExpectedHOInterval_decode_uper;
+per_type_encoder_f ExpectedHOInterval_encode_uper;
+per_type_decoder_f ExpectedHOInterval_decode_aper;
+per_type_encoder_f ExpectedHOInterval_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ExpectedHOInterval_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ExpectedIdlePeriod.h b/src/s1ap/asn1c/asnGenFiles/ExpectedIdlePeriod.h
new file mode 100644
index 0000000..6f2af75
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ExpectedIdlePeriod.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ExpectedIdlePeriod_H_
+#define	_ExpectedIdlePeriod_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ExpectedIdlePeriod */
+typedef long	 ExpectedIdlePeriod_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ExpectedIdlePeriod_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ExpectedIdlePeriod;
+asn_struct_free_f ExpectedIdlePeriod_free;
+asn_struct_print_f ExpectedIdlePeriod_print;
+asn_constr_check_f ExpectedIdlePeriod_constraint;
+ber_type_decoder_f ExpectedIdlePeriod_decode_ber;
+der_type_encoder_f ExpectedIdlePeriod_encode_der;
+xer_type_decoder_f ExpectedIdlePeriod_decode_xer;
+xer_type_encoder_f ExpectedIdlePeriod_encode_xer;
+oer_type_decoder_f ExpectedIdlePeriod_decode_oer;
+oer_type_encoder_f ExpectedIdlePeriod_encode_oer;
+per_type_decoder_f ExpectedIdlePeriod_decode_uper;
+per_type_encoder_f ExpectedIdlePeriod_encode_uper;
+per_type_decoder_f ExpectedIdlePeriod_decode_aper;
+per_type_encoder_f ExpectedIdlePeriod_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ExpectedIdlePeriod_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ExpectedUEActivityBehaviour.h b/src/s1ap/asn1c/asnGenFiles/ExpectedUEActivityBehaviour.h
new file mode 100644
index 0000000..6c1fadc
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ExpectedUEActivityBehaviour.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ExpectedUEActivityBehaviour_H_
+#define	_ExpectedUEActivityBehaviour_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ExpectedActivityPeriod.h"
+#include "ExpectedIdlePeriod.h"
+#include "SourceOfUEActivityBehaviourInformation.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* ExpectedUEActivityBehaviour */
+typedef struct ExpectedUEActivityBehaviour {
+	ExpectedActivityPeriod_t	*expectedActivityPeriod;	/* OPTIONAL */
+	ExpectedIdlePeriod_t	*expectedIdlePeriod;	/* OPTIONAL */
+	SourceOfUEActivityBehaviourInformation_t	*sourceofUEActivityBehaviourInformation;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ExpectedUEActivityBehaviour_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ExpectedUEActivityBehaviour;
+extern asn_SEQUENCE_specifics_t asn_SPC_ExpectedUEActivityBehaviour_specs_1;
+extern asn_TYPE_member_t asn_MBR_ExpectedUEActivityBehaviour_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ExpectedUEActivityBehaviour_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ExpectedUEBehaviour.h b/src/s1ap/asn1c/asnGenFiles/ExpectedUEBehaviour.h
new file mode 100644
index 0000000..383dad6
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ExpectedUEBehaviour.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ExpectedUEBehaviour_H_
+#define	_ExpectedUEBehaviour_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ExpectedHOInterval.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ExpectedUEActivityBehaviour;
+struct ProtocolExtensionContainer;
+
+/* ExpectedUEBehaviour */
+typedef struct ExpectedUEBehaviour {
+	struct ExpectedUEActivityBehaviour	*expectedActivity;	/* OPTIONAL */
+	ExpectedHOInterval_t	*expectedHOInterval;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ExpectedUEBehaviour_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ExpectedUEBehaviour;
+extern asn_SEQUENCE_specifics_t asn_SPC_ExpectedUEBehaviour_specs_1;
+extern asn_TYPE_member_t asn_MBR_ExpectedUEBehaviour_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ExpectedUEBehaviour_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Extended-UEIdentityIndexValue.h b/src/s1ap/asn1c/asnGenFiles/Extended-UEIdentityIndexValue.h
new file mode 100644
index 0000000..d168ac6
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Extended-UEIdentityIndexValue.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Extended_UEIdentityIndexValue_H_
+#define	_Extended_UEIdentityIndexValue_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Extended-UEIdentityIndexValue */
+typedef BIT_STRING_t	 Extended_UEIdentityIndexValue_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_Extended_UEIdentityIndexValue_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_Extended_UEIdentityIndexValue;
+asn_struct_free_f Extended_UEIdentityIndexValue_free;
+asn_struct_print_f Extended_UEIdentityIndexValue_print;
+asn_constr_check_f Extended_UEIdentityIndexValue_constraint;
+ber_type_decoder_f Extended_UEIdentityIndexValue_decode_ber;
+der_type_encoder_f Extended_UEIdentityIndexValue_encode_der;
+xer_type_decoder_f Extended_UEIdentityIndexValue_decode_xer;
+xer_type_encoder_f Extended_UEIdentityIndexValue_encode_xer;
+oer_type_decoder_f Extended_UEIdentityIndexValue_decode_oer;
+oer_type_encoder_f Extended_UEIdentityIndexValue_encode_oer;
+per_type_decoder_f Extended_UEIdentityIndexValue_decode_uper;
+per_type_encoder_f Extended_UEIdentityIndexValue_encode_uper;
+per_type_decoder_f Extended_UEIdentityIndexValue_decode_aper;
+per_type_encoder_f Extended_UEIdentityIndexValue_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Extended_UEIdentityIndexValue_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ExtendedBitRate.h b/src/s1ap/asn1c/asnGenFiles/ExtendedBitRate.h
new file mode 100644
index 0000000..b7e4629
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ExtendedBitRate.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ExtendedBitRate_H_
+#define	_ExtendedBitRate_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <INTEGER.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ExtendedBitRate */
+typedef INTEGER_t	 ExtendedBitRate_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ExtendedBitRate_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ExtendedBitRate;
+asn_struct_free_f ExtendedBitRate_free;
+asn_struct_print_f ExtendedBitRate_print;
+asn_constr_check_f ExtendedBitRate_constraint;
+ber_type_decoder_f ExtendedBitRate_decode_ber;
+der_type_encoder_f ExtendedBitRate_encode_der;
+xer_type_decoder_f ExtendedBitRate_decode_xer;
+xer_type_encoder_f ExtendedBitRate_encode_xer;
+oer_type_decoder_f ExtendedBitRate_decode_oer;
+oer_type_encoder_f ExtendedBitRate_encode_oer;
+per_type_decoder_f ExtendedBitRate_decode_uper;
+per_type_encoder_f ExtendedBitRate_encode_uper;
+per_type_decoder_f ExtendedBitRate_decode_aper;
+per_type_encoder_f ExtendedBitRate_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ExtendedBitRate_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ExtendedRNC-ID.h b/src/s1ap/asn1c/asnGenFiles/ExtendedRNC-ID.h
new file mode 100644
index 0000000..1963e82
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ExtendedRNC-ID.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ExtendedRNC_ID_H_
+#define	_ExtendedRNC_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ExtendedRNC-ID */
+typedef long	 ExtendedRNC_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ExtendedRNC_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ExtendedRNC_ID;
+asn_struct_free_f ExtendedRNC_ID_free;
+asn_struct_print_f ExtendedRNC_ID_print;
+asn_constr_check_f ExtendedRNC_ID_constraint;
+ber_type_decoder_f ExtendedRNC_ID_decode_ber;
+der_type_encoder_f ExtendedRNC_ID_encode_der;
+xer_type_decoder_f ExtendedRNC_ID_decode_xer;
+xer_type_encoder_f ExtendedRNC_ID_encode_xer;
+oer_type_decoder_f ExtendedRNC_ID_decode_oer;
+oer_type_encoder_f ExtendedRNC_ID_encode_oer;
+per_type_decoder_f ExtendedRNC_ID_decode_uper;
+per_type_encoder_f ExtendedRNC_ID_encode_uper;
+per_type_decoder_f ExtendedRNC_ID_decode_aper;
+per_type_encoder_f ExtendedRNC_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ExtendedRNC_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ExtendedRepetitionPeriod.h b/src/s1ap/asn1c/asnGenFiles/ExtendedRepetitionPeriod.h
new file mode 100644
index 0000000..c684617
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ExtendedRepetitionPeriod.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ExtendedRepetitionPeriod_H_
+#define	_ExtendedRepetitionPeriod_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ExtendedRepetitionPeriod */
+typedef long	 ExtendedRepetitionPeriod_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ExtendedRepetitionPeriod_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ExtendedRepetitionPeriod;
+asn_struct_free_f ExtendedRepetitionPeriod_free;
+asn_struct_print_f ExtendedRepetitionPeriod_print;
+asn_constr_check_f ExtendedRepetitionPeriod_constraint;
+ber_type_decoder_f ExtendedRepetitionPeriod_decode_ber;
+der_type_encoder_f ExtendedRepetitionPeriod_encode_der;
+xer_type_decoder_f ExtendedRepetitionPeriod_decode_xer;
+xer_type_encoder_f ExtendedRepetitionPeriod_encode_xer;
+oer_type_decoder_f ExtendedRepetitionPeriod_decode_oer;
+oer_type_encoder_f ExtendedRepetitionPeriod_encode_oer;
+per_type_decoder_f ExtendedRepetitionPeriod_decode_uper;
+per_type_encoder_f ExtendedRepetitionPeriod_encode_uper;
+per_type_decoder_f ExtendedRepetitionPeriod_decode_aper;
+per_type_encoder_f ExtendedRepetitionPeriod_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ExtendedRepetitionPeriod_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/FiveGSTAC.h b/src/s1ap/asn1c/asnGenFiles/FiveGSTAC.h
new file mode 100644
index 0000000..ca79525
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/FiveGSTAC.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_FiveGSTAC_H_
+#define	_FiveGSTAC_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* FiveGSTAC */
+typedef OCTET_STRING_t	 FiveGSTAC_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_FiveGSTAC_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_FiveGSTAC;
+asn_struct_free_f FiveGSTAC_free;
+asn_struct_print_f FiveGSTAC_print;
+asn_constr_check_f FiveGSTAC_constraint;
+ber_type_decoder_f FiveGSTAC_decode_ber;
+der_type_encoder_f FiveGSTAC_encode_der;
+xer_type_decoder_f FiveGSTAC_decode_xer;
+xer_type_encoder_f FiveGSTAC_encode_xer;
+oer_type_decoder_f FiveGSTAC_decode_oer;
+oer_type_encoder_f FiveGSTAC_encode_oer;
+per_type_decoder_f FiveGSTAC_decode_uper;
+per_type_encoder_f FiveGSTAC_encode_uper;
+per_type_decoder_f FiveGSTAC_decode_aper;
+per_type_encoder_f FiveGSTAC_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _FiveGSTAC_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/FiveGSTAI.h b/src/s1ap/asn1c/asnGenFiles/FiveGSTAI.h
new file mode 100644
index 0000000..9ba9f99
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/FiveGSTAI.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_FiveGSTAI_H_
+#define	_FiveGSTAI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PLMNidentity.h"
+#include "FiveGSTAC.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* FiveGSTAI */
+typedef struct FiveGSTAI {
+	PLMNidentity_t	 pLMNidentity;
+	FiveGSTAC_t	 fiveGSTAC;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} FiveGSTAI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_FiveGSTAI;
+extern asn_SEQUENCE_specifics_t asn_SPC_FiveGSTAI_specs_1;
+extern asn_TYPE_member_t asn_MBR_FiveGSTAI_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _FiveGSTAI_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ForbiddenInterRATs.h b/src/s1ap/asn1c/asnGenFiles/ForbiddenInterRATs.h
new file mode 100644
index 0000000..71d7854
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ForbiddenInterRATs.h
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ForbiddenInterRATs_H_
+#define	_ForbiddenInterRATs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum ForbiddenInterRATs {
+	ForbiddenInterRATs_all	= 0,
+	ForbiddenInterRATs_geran	= 1,
+	ForbiddenInterRATs_utran	= 2,
+	ForbiddenInterRATs_cdma2000	= 3,
+	/*
+	 * Enumeration is extensible
+	 */
+	ForbiddenInterRATs_geranandutran	= 4,
+	ForbiddenInterRATs_cdma2000andutran	= 5
+} e_ForbiddenInterRATs;
+
+/* ForbiddenInterRATs */
+typedef long	 ForbiddenInterRATs_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ForbiddenInterRATs_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ForbiddenInterRATs;
+extern const asn_INTEGER_specifics_t asn_SPC_ForbiddenInterRATs_specs_1;
+asn_struct_free_f ForbiddenInterRATs_free;
+asn_struct_print_f ForbiddenInterRATs_print;
+asn_constr_check_f ForbiddenInterRATs_constraint;
+ber_type_decoder_f ForbiddenInterRATs_decode_ber;
+der_type_encoder_f ForbiddenInterRATs_encode_der;
+xer_type_decoder_f ForbiddenInterRATs_decode_xer;
+xer_type_encoder_f ForbiddenInterRATs_encode_xer;
+oer_type_decoder_f ForbiddenInterRATs_decode_oer;
+oer_type_encoder_f ForbiddenInterRATs_encode_oer;
+per_type_decoder_f ForbiddenInterRATs_decode_uper;
+per_type_encoder_f ForbiddenInterRATs_encode_uper;
+per_type_decoder_f ForbiddenInterRATs_decode_aper;
+per_type_encoder_f ForbiddenInterRATs_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ForbiddenInterRATs_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ForbiddenLACs.h b/src/s1ap/asn1c/asnGenFiles/ForbiddenLACs.h
new file mode 100644
index 0000000..3a93c4e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ForbiddenLACs.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ForbiddenLACs_H_
+#define	_ForbiddenLACs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "LAC.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ForbiddenLACs */
+typedef struct ForbiddenLACs {
+	A_SEQUENCE_OF(LAC_t) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ForbiddenLACs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ForbiddenLACs;
+extern asn_SET_OF_specifics_t asn_SPC_ForbiddenLACs_specs_1;
+extern asn_TYPE_member_t asn_MBR_ForbiddenLACs_1[1];
+extern asn_per_constraints_t asn_PER_type_ForbiddenLACs_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ForbiddenLACs_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ForbiddenLAs-Item.h b/src/s1ap/asn1c/asnGenFiles/ForbiddenLAs-Item.h
new file mode 100644
index 0000000..59dc7ed
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ForbiddenLAs-Item.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ForbiddenLAs_Item_H_
+#define	_ForbiddenLAs_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PLMNidentity.h"
+#include "ForbiddenLACs.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* ForbiddenLAs-Item */
+typedef struct ForbiddenLAs_Item {
+	PLMNidentity_t	 pLMN_Identity;
+	ForbiddenLACs_t	 forbiddenLACs;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ForbiddenLAs_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ForbiddenLAs_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_ForbiddenLAs_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_ForbiddenLAs_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ForbiddenLAs_Item_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ForbiddenLAs.h b/src/s1ap/asn1c/asnGenFiles/ForbiddenLAs.h
new file mode 100644
index 0000000..1ebd0e6
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ForbiddenLAs.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ForbiddenLAs_H_
+#define	_ForbiddenLAs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ForbiddenLAs_Item;
+
+/* ForbiddenLAs */
+typedef struct ForbiddenLAs {
+	A_SEQUENCE_OF(struct ForbiddenLAs_Item) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ForbiddenLAs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ForbiddenLAs;
+extern asn_SET_OF_specifics_t asn_SPC_ForbiddenLAs_specs_1;
+extern asn_TYPE_member_t asn_MBR_ForbiddenLAs_1[1];
+extern asn_per_constraints_t asn_PER_type_ForbiddenLAs_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ForbiddenLAs_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ForbiddenTACs.h b/src/s1ap/asn1c/asnGenFiles/ForbiddenTACs.h
new file mode 100644
index 0000000..af2eec1
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ForbiddenTACs.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ForbiddenTACs_H_
+#define	_ForbiddenTACs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TAC.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ForbiddenTACs */
+typedef struct ForbiddenTACs {
+	A_SEQUENCE_OF(TAC_t) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ForbiddenTACs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ForbiddenTACs;
+extern asn_SET_OF_specifics_t asn_SPC_ForbiddenTACs_specs_1;
+extern asn_TYPE_member_t asn_MBR_ForbiddenTACs_1[1];
+extern asn_per_constraints_t asn_PER_type_ForbiddenTACs_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ForbiddenTACs_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ForbiddenTAs-Item.h b/src/s1ap/asn1c/asnGenFiles/ForbiddenTAs-Item.h
new file mode 100644
index 0000000..e23bc88
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ForbiddenTAs-Item.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ForbiddenTAs_Item_H_
+#define	_ForbiddenTAs_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PLMNidentity.h"
+#include "ForbiddenTACs.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* ForbiddenTAs-Item */
+typedef struct ForbiddenTAs_Item {
+	PLMNidentity_t	 pLMN_Identity;
+	ForbiddenTACs_t	 forbiddenTACs;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ForbiddenTAs_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ForbiddenTAs_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_ForbiddenTAs_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_ForbiddenTAs_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ForbiddenTAs_Item_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ForbiddenTAs.h b/src/s1ap/asn1c/asnGenFiles/ForbiddenTAs.h
new file mode 100644
index 0000000..5a3f227
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ForbiddenTAs.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ForbiddenTAs_H_
+#define	_ForbiddenTAs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ForbiddenTAs_Item;
+
+/* ForbiddenTAs */
+typedef struct ForbiddenTAs {
+	A_SEQUENCE_OF(struct ForbiddenTAs_Item) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ForbiddenTAs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ForbiddenTAs;
+extern asn_SET_OF_specifics_t asn_SPC_ForbiddenTAs_specs_1;
+extern asn_TYPE_member_t asn_MBR_ForbiddenTAs_1[1];
+extern asn_per_constraints_t asn_PER_type_ForbiddenTAs_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ForbiddenTAs_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/GBR-QosInformation.h b/src/s1ap/asn1c/asnGenFiles/GBR-QosInformation.h
new file mode 100644
index 0000000..5ba95a3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/GBR-QosInformation.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_GBR_QosInformation_H_
+#define	_GBR_QosInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "BitRate.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* GBR-QosInformation */
+typedef struct GBR_QosInformation {
+	BitRate_t	 e_RAB_MaximumBitrateDL;
+	BitRate_t	 e_RAB_MaximumBitrateUL;
+	BitRate_t	 e_RAB_GuaranteedBitrateDL;
+	BitRate_t	 e_RAB_GuaranteedBitrateUL;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} GBR_QosInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_GBR_QosInformation;
+extern asn_SEQUENCE_specifics_t asn_SPC_GBR_QosInformation_specs_1;
+extern asn_TYPE_member_t asn_MBR_GBR_QosInformation_1[5];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _GBR_QosInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/GERAN-Cell-ID.h b/src/s1ap/asn1c/asnGenFiles/GERAN-Cell-ID.h
new file mode 100644
index 0000000..376ba70
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/GERAN-Cell-ID.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_GERAN_Cell_ID_H_
+#define	_GERAN_Cell_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "LAI.h"
+#include "RAC.h"
+#include "CI.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* GERAN-Cell-ID */
+typedef struct GERAN_Cell_ID {
+	LAI_t	 lAI;
+	RAC_t	 rAC;
+	CI_t	 cI;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} GERAN_Cell_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_GERAN_Cell_ID;
+extern asn_SEQUENCE_specifics_t asn_SPC_GERAN_Cell_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_GERAN_Cell_ID_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _GERAN_Cell_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/GNB-ID.h b/src/s1ap/asn1c/asnGenFiles/GNB-ID.h
new file mode 100644
index 0000000..dd7f3eb
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/GNB-ID.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_GNB_ID_H_
+#define	_GNB_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* GNB-ID */
+typedef BIT_STRING_t	 GNB_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_GNB_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_GNB_ID;
+asn_struct_free_f GNB_ID_free;
+asn_struct_print_f GNB_ID_print;
+asn_constr_check_f GNB_ID_constraint;
+ber_type_decoder_f GNB_ID_decode_ber;
+der_type_encoder_f GNB_ID_encode_der;
+xer_type_decoder_f GNB_ID_decode_xer;
+xer_type_encoder_f GNB_ID_encode_xer;
+oer_type_decoder_f GNB_ID_decode_oer;
+oer_type_encoder_f GNB_ID_encode_oer;
+per_type_decoder_f GNB_ID_decode_uper;
+per_type_encoder_f GNB_ID_encode_uper;
+per_type_decoder_f GNB_ID_decode_aper;
+per_type_encoder_f GNB_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _GNB_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/GNB-Identity.h b/src/s1ap/asn1c/asnGenFiles/GNB-Identity.h
new file mode 100644
index 0000000..8c7d05d
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/GNB-Identity.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_GNB_Identity_H_
+#define	_GNB_Identity_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "GNB-ID.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum GNB_Identity_PR {
+	GNB_Identity_PR_NOTHING,	/* No components present */
+	GNB_Identity_PR_gNB_ID
+	/* Extensions may appear below */
+	
+} GNB_Identity_PR;
+
+/* GNB-Identity */
+typedef struct GNB_Identity {
+	GNB_Identity_PR present;
+	union GNB_Identity_u {
+		GNB_ID_t	 gNB_ID;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} GNB_Identity_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_GNB_Identity;
+extern asn_CHOICE_specifics_t asn_SPC_GNB_Identity_specs_1;
+extern asn_TYPE_member_t asn_MBR_GNB_Identity_1[1];
+extern asn_per_constraints_t asn_PER_type_GNB_Identity_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _GNB_Identity_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/GNB.h b/src/s1ap/asn1c/asnGenFiles/GNB.h
new file mode 100644
index 0000000..8250e06
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/GNB.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_GNB_H_
+#define	_GNB_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "Global-GNB-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* GNB */
+typedef struct GNB {
+	Global_GNB_ID_t	 global_gNB_ID;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} GNB_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_GNB;
+extern asn_SEQUENCE_specifics_t asn_SPC_GNB_specs_1;
+extern asn_TYPE_member_t asn_MBR_GNB_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _GNB_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/GTP-TEID.h b/src/s1ap/asn1c/asnGenFiles/GTP-TEID.h
new file mode 100644
index 0000000..df5c619
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/GTP-TEID.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_GTP_TEID_H_
+#define	_GTP_TEID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* GTP-TEID */
+typedef OCTET_STRING_t	 GTP_TEID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_GTP_TEID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_GTP_TEID;
+asn_struct_free_f GTP_TEID_free;
+asn_struct_print_f GTP_TEID_print;
+asn_constr_check_f GTP_TEID_constraint;
+ber_type_decoder_f GTP_TEID_decode_ber;
+der_type_encoder_f GTP_TEID_encode_der;
+xer_type_decoder_f GTP_TEID_decode_xer;
+xer_type_encoder_f GTP_TEID_encode_xer;
+oer_type_decoder_f GTP_TEID_decode_oer;
+oer_type_encoder_f GTP_TEID_encode_oer;
+per_type_decoder_f GTP_TEID_decode_uper;
+per_type_encoder_f GTP_TEID_encode_uper;
+per_type_decoder_f GTP_TEID_decode_aper;
+per_type_encoder_f GTP_TEID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _GTP_TEID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/GUMMEI.h b/src/s1ap/asn1c/asnGenFiles/GUMMEI.h
new file mode 100644
index 0000000..8d6e6e5
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/GUMMEI.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_GUMMEI_H_
+#define	_GUMMEI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PLMNidentity.h"
+#include "MME-Group-ID.h"
+#include "MME-Code.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* GUMMEI */
+typedef struct GUMMEI {
+	PLMNidentity_t	 pLMN_Identity;
+	MME_Group_ID_t	 mME_Group_ID;
+	MME_Code_t	 mME_Code;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} GUMMEI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_GUMMEI;
+extern asn_SEQUENCE_specifics_t asn_SPC_GUMMEI_specs_1;
+extern asn_TYPE_member_t asn_MBR_GUMMEI_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _GUMMEI_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/GUMMEIList.h b/src/s1ap/asn1c/asnGenFiles/GUMMEIList.h
new file mode 100644
index 0000000..c62176d
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/GUMMEIList.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_GUMMEIList_H_
+#define	_GUMMEIList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct GUMMEI;
+
+/* GUMMEIList */
+typedef struct GUMMEIList {
+	A_SEQUENCE_OF(struct GUMMEI) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} GUMMEIList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_GUMMEIList;
+extern asn_SET_OF_specifics_t asn_SPC_GUMMEIList_specs_1;
+extern asn_TYPE_member_t asn_MBR_GUMMEIList_1[1];
+extern asn_per_constraints_t asn_PER_type_GUMMEIList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _GUMMEIList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/GUMMEIType.h b/src/s1ap/asn1c/asnGenFiles/GUMMEIType.h
new file mode 100644
index 0000000..801decf
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/GUMMEIType.h
@@ -0,0 +1,57 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_GUMMEIType_H_
+#define	_GUMMEIType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum GUMMEIType {
+	GUMMEIType_native	= 0,
+	GUMMEIType_mapped	= 1,
+	/*
+	 * Enumeration is extensible
+	 */
+	GUMMEIType_mappedFrom5G	= 2
+} e_GUMMEIType;
+
+/* GUMMEIType */
+typedef long	 GUMMEIType_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_GUMMEIType_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_GUMMEIType;
+extern const asn_INTEGER_specifics_t asn_SPC_GUMMEIType_specs_1;
+asn_struct_free_f GUMMEIType_free;
+asn_struct_print_f GUMMEIType_print;
+asn_constr_check_f GUMMEIType_constraint;
+ber_type_decoder_f GUMMEIType_decode_ber;
+der_type_encoder_f GUMMEIType_encode_der;
+xer_type_decoder_f GUMMEIType_decode_xer;
+xer_type_encoder_f GUMMEIType_encode_xer;
+oer_type_decoder_f GUMMEIType_decode_oer;
+oer_type_encoder_f GUMMEIType_encode_oer;
+per_type_decoder_f GUMMEIType_decode_uper;
+per_type_encoder_f GUMMEIType_encode_uper;
+per_type_decoder_f GUMMEIType_decode_aper;
+per_type_encoder_f GUMMEIType_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _GUMMEIType_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/GWContextReleaseIndication.h b/src/s1ap/asn1c/asnGenFiles/GWContextReleaseIndication.h
new file mode 100644
index 0000000..4d81440
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/GWContextReleaseIndication.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_GWContextReleaseIndication_H_
+#define	_GWContextReleaseIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum GWContextReleaseIndication {
+	GWContextReleaseIndication_true	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_GWContextReleaseIndication;
+
+/* GWContextReleaseIndication */
+typedef long	 GWContextReleaseIndication_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_GWContextReleaseIndication_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_GWContextReleaseIndication;
+extern const asn_INTEGER_specifics_t asn_SPC_GWContextReleaseIndication_specs_1;
+asn_struct_free_f GWContextReleaseIndication_free;
+asn_struct_print_f GWContextReleaseIndication_print;
+asn_constr_check_f GWContextReleaseIndication_constraint;
+ber_type_decoder_f GWContextReleaseIndication_decode_ber;
+der_type_encoder_f GWContextReleaseIndication_encode_der;
+xer_type_decoder_f GWContextReleaseIndication_decode_xer;
+xer_type_encoder_f GWContextReleaseIndication_encode_xer;
+oer_type_decoder_f GWContextReleaseIndication_decode_oer;
+oer_type_encoder_f GWContextReleaseIndication_encode_oer;
+per_type_decoder_f GWContextReleaseIndication_decode_uper;
+per_type_encoder_f GWContextReleaseIndication_encode_uper;
+per_type_decoder_f GWContextReleaseIndication_decode_aper;
+per_type_encoder_f GWContextReleaseIndication_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _GWContextReleaseIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Global-ENB-ID.h b/src/s1ap/asn1c/asnGenFiles/Global-ENB-ID.h
new file mode 100644
index 0000000..3c40574
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Global-ENB-ID.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Global_ENB_ID_H_
+#define	_Global_ENB_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PLMNidentity.h"
+#include "ENB-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* Global-ENB-ID */
+typedef struct Global_ENB_ID {
+	PLMNidentity_t	 pLMNidentity;
+	ENB_ID_t	 eNB_ID;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} Global_ENB_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Global_ENB_ID;
+extern asn_SEQUENCE_specifics_t asn_SPC_Global_ENB_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_Global_ENB_ID_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Global_ENB_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Global-GNB-ID.h b/src/s1ap/asn1c/asnGenFiles/Global-GNB-ID.h
new file mode 100644
index 0000000..c67bca8
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Global-GNB-ID.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Global_GNB_ID_H_
+#define	_Global_GNB_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PLMNidentity.h"
+#include "GNB-Identity.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* Global-GNB-ID */
+typedef struct Global_GNB_ID {
+	PLMNidentity_t	 pLMN_Identity;
+	GNB_Identity_t	 gNB_ID;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} Global_GNB_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Global_GNB_ID;
+extern asn_SEQUENCE_specifics_t asn_SPC_Global_GNB_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_Global_GNB_ID_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Global_GNB_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Global-RAN-NODE-ID.h b/src/s1ap/asn1c/asnGenFiles/Global-RAN-NODE-ID.h
new file mode 100644
index 0000000..d54ed34
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Global-RAN-NODE-ID.h
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Global_RAN_NODE_ID_H_
+#define	_Global_RAN_NODE_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum Global_RAN_NODE_ID_PR {
+	Global_RAN_NODE_ID_PR_NOTHING,	/* No components present */
+	Global_RAN_NODE_ID_PR_gNB,
+	Global_RAN_NODE_ID_PR_ng_eNB
+	/* Extensions may appear below */
+	
+} Global_RAN_NODE_ID_PR;
+
+/* Forward declarations */
+struct GNB;
+struct NG_eNB;
+
+/* Global-RAN-NODE-ID */
+typedef struct Global_RAN_NODE_ID {
+	Global_RAN_NODE_ID_PR present;
+	union Global_RAN_NODE_ID_u {
+		struct GNB	*gNB;
+		struct NG_eNB	*ng_eNB;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} Global_RAN_NODE_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Global_RAN_NODE_ID;
+extern asn_CHOICE_specifics_t asn_SPC_Global_RAN_NODE_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_Global_RAN_NODE_ID_1[2];
+extern asn_per_constraints_t asn_PER_type_Global_RAN_NODE_ID_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Global_RAN_NODE_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Global-en-gNB-ID.h b/src/s1ap/asn1c/asnGenFiles/Global-en-gNB-ID.h
new file mode 100644
index 0000000..860bb38
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Global-en-gNB-ID.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Global_en_gNB_ID_H_
+#define	_Global_en_gNB_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PLMNidentity.h"
+#include "En-gNB-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* Global-en-gNB-ID */
+typedef struct Global_en_gNB_ID {
+	PLMNidentity_t	 pLMNidentity;
+	En_gNB_ID_t	 en_gNB_ID;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} Global_en_gNB_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Global_en_gNB_ID;
+extern asn_SEQUENCE_specifics_t asn_SPC_Global_en_gNB_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_Global_en_gNB_ID_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Global_en_gNB_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/GraphicString.h b/src/s1ap/asn1c/asnGenFiles/GraphicString.h
new file mode 100644
index 0000000..19cac68
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/GraphicString.h
@@ -0,0 +1,36 @@
+/*-
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	_GraphicString_H_
+#define	_GraphicString_H_
+
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef OCTET_STRING_t GraphicString_t;	/* Implemented via OCTET STRING */
+
+extern asn_TYPE_descriptor_t asn_DEF_GraphicString;
+extern asn_TYPE_operation_t asn_OP_GraphicString;
+
+#define GraphicString_free          OCTET_STRING_free
+#define GraphicString_print         OCTET_STRING_print
+#define GraphicString_compare       OCTET_STRING_compare
+#define GraphicString_constraint    asn_generic_unknown_constraint
+#define GraphicString_decode_ber    OCTET_STRING_decode_ber
+#define GraphicString_encode_der    OCTET_STRING_encode_der
+#define GraphicString_decode_xer    OCTET_STRING_decode_xer_hex
+#define GraphicString_encode_xer    OCTET_STRING_encode_xer
+#define GraphicString_decode_uper   OCTET_STRING_decode_uper
+#define GraphicString_encode_uper   OCTET_STRING_encode_uper
+#define GraphicString_decode_aper   OCTET_STRING_decode_aper
+#define GraphicString_encode_aper   OCTET_STRING_encode_aper
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _GraphicString_H_ */
diff --git a/src/s1ap/asn1c/asnGenFiles/HFN.h b/src/s1ap/asn1c/asnGenFiles/HFN.h
new file mode 100644
index 0000000..ec20ce7
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/HFN.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_HFN_H_
+#define	_HFN_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* HFN */
+typedef long	 HFN_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_HFN_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_HFN;
+asn_struct_free_f HFN_free;
+asn_struct_print_f HFN_print;
+asn_constr_check_f HFN_constraint;
+ber_type_decoder_f HFN_decode_ber;
+der_type_encoder_f HFN_encode_der;
+xer_type_decoder_f HFN_decode_xer;
+xer_type_encoder_f HFN_encode_xer;
+oer_type_decoder_f HFN_decode_oer;
+oer_type_encoder_f HFN_encode_oer;
+per_type_decoder_f HFN_decode_uper;
+per_type_encoder_f HFN_encode_uper;
+per_type_decoder_f HFN_decode_aper;
+per_type_encoder_f HFN_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _HFN_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/HFNModified.h b/src/s1ap/asn1c/asnGenFiles/HFNModified.h
new file mode 100644
index 0000000..4f4b13c
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/HFNModified.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_HFNModified_H_
+#define	_HFNModified_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* HFNModified */
+typedef long	 HFNModified_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_HFNModified_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_HFNModified;
+asn_struct_free_f HFNModified_free;
+asn_struct_print_f HFNModified_print;
+asn_constr_check_f HFNModified_constraint;
+ber_type_decoder_f HFNModified_decode_ber;
+der_type_encoder_f HFNModified_encode_der;
+xer_type_decoder_f HFNModified_decode_xer;
+xer_type_encoder_f HFNModified_encode_xer;
+oer_type_decoder_f HFNModified_decode_oer;
+oer_type_encoder_f HFNModified_encode_oer;
+per_type_decoder_f HFNModified_decode_uper;
+per_type_encoder_f HFNModified_encode_uper;
+per_type_decoder_f HFNModified_decode_aper;
+per_type_encoder_f HFNModified_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _HFNModified_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/HFNforPDCP-SNlength18.h b/src/s1ap/asn1c/asnGenFiles/HFNforPDCP-SNlength18.h
new file mode 100644
index 0000000..79cc2c4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/HFNforPDCP-SNlength18.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_HFNforPDCP_SNlength18_H_
+#define	_HFNforPDCP_SNlength18_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* HFNforPDCP-SNlength18 */
+typedef long	 HFNforPDCP_SNlength18_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_HFNforPDCP_SNlength18_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_HFNforPDCP_SNlength18;
+asn_struct_free_f HFNforPDCP_SNlength18_free;
+asn_struct_print_f HFNforPDCP_SNlength18_print;
+asn_constr_check_f HFNforPDCP_SNlength18_constraint;
+ber_type_decoder_f HFNforPDCP_SNlength18_decode_ber;
+der_type_encoder_f HFNforPDCP_SNlength18_encode_der;
+xer_type_decoder_f HFNforPDCP_SNlength18_decode_xer;
+xer_type_encoder_f HFNforPDCP_SNlength18_encode_xer;
+oer_type_decoder_f HFNforPDCP_SNlength18_decode_oer;
+oer_type_encoder_f HFNforPDCP_SNlength18_encode_oer;
+per_type_decoder_f HFNforPDCP_SNlength18_decode_uper;
+per_type_encoder_f HFNforPDCP_SNlength18_encode_uper;
+per_type_decoder_f HFNforPDCP_SNlength18_decode_aper;
+per_type_encoder_f HFNforPDCP_SNlength18_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _HFNforPDCP_SNlength18_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/HandoverCancel.h b/src/s1ap/asn1c/asnGenFiles/HandoverCancel.h
new file mode 100644
index 0000000..08928fc
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/HandoverCancel.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_HandoverCancel_H_
+#define	_HandoverCancel_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* HandoverCancel */
+typedef struct HandoverCancel {
+	ProtocolIE_Container_129P10_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} HandoverCancel_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_HandoverCancel;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _HandoverCancel_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/HandoverCancelAcknowledge.h b/src/s1ap/asn1c/asnGenFiles/HandoverCancelAcknowledge.h
new file mode 100644
index 0000000..ecc04b4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/HandoverCancelAcknowledge.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_HandoverCancelAcknowledge_H_
+#define	_HandoverCancelAcknowledge_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* HandoverCancelAcknowledge */
+typedef struct HandoverCancelAcknowledge {
+	ProtocolIE_Container_129P11_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} HandoverCancelAcknowledge_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_HandoverCancelAcknowledge;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _HandoverCancelAcknowledge_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/HandoverCommand.h b/src/s1ap/asn1c/asnGenFiles/HandoverCommand.h
new file mode 100644
index 0000000..95ecff7
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/HandoverCommand.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_HandoverCommand_H_
+#define	_HandoverCommand_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* HandoverCommand */
+typedef struct HandoverCommand {
+	ProtocolIE_Container_129P1_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} HandoverCommand_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_HandoverCommand;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _HandoverCommand_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/HandoverFailure.h b/src/s1ap/asn1c/asnGenFiles/HandoverFailure.h
new file mode 100644
index 0000000..7b53d8b
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/HandoverFailure.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_HandoverFailure_H_
+#define	_HandoverFailure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* HandoverFailure */
+typedef struct HandoverFailure {
+	ProtocolIE_Container_129P5_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} HandoverFailure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_HandoverFailure;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _HandoverFailure_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/HandoverFlag.h b/src/s1ap/asn1c/asnGenFiles/HandoverFlag.h
new file mode 100644
index 0000000..17fd34e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/HandoverFlag.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_HandoverFlag_H_
+#define	_HandoverFlag_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum HandoverFlag {
+	HandoverFlag_handoverPreparation	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_HandoverFlag;
+
+/* HandoverFlag */
+typedef long	 HandoverFlag_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_HandoverFlag_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_HandoverFlag;
+extern const asn_INTEGER_specifics_t asn_SPC_HandoverFlag_specs_1;
+asn_struct_free_f HandoverFlag_free;
+asn_struct_print_f HandoverFlag_print;
+asn_constr_check_f HandoverFlag_constraint;
+ber_type_decoder_f HandoverFlag_decode_ber;
+der_type_encoder_f HandoverFlag_encode_der;
+xer_type_decoder_f HandoverFlag_decode_xer;
+xer_type_encoder_f HandoverFlag_encode_xer;
+oer_type_decoder_f HandoverFlag_decode_oer;
+oer_type_encoder_f HandoverFlag_encode_oer;
+per_type_decoder_f HandoverFlag_decode_uper;
+per_type_encoder_f HandoverFlag_encode_uper;
+per_type_decoder_f HandoverFlag_decode_aper;
+per_type_encoder_f HandoverFlag_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _HandoverFlag_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/HandoverNotify.h b/src/s1ap/asn1c/asnGenFiles/HandoverNotify.h
new file mode 100644
index 0000000..65655c2
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/HandoverNotify.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_HandoverNotify_H_
+#define	_HandoverNotify_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* HandoverNotify */
+typedef struct HandoverNotify {
+	ProtocolIE_Container_129P6_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} HandoverNotify_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_HandoverNotify;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _HandoverNotify_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/HandoverPreparationFailure.h b/src/s1ap/asn1c/asnGenFiles/HandoverPreparationFailure.h
new file mode 100644
index 0000000..84e88ee
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/HandoverPreparationFailure.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_HandoverPreparationFailure_H_
+#define	_HandoverPreparationFailure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* HandoverPreparationFailure */
+typedef struct HandoverPreparationFailure {
+	ProtocolIE_Container_129P2_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} HandoverPreparationFailure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_HandoverPreparationFailure;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _HandoverPreparationFailure_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/HandoverRequest.h b/src/s1ap/asn1c/asnGenFiles/HandoverRequest.h
new file mode 100644
index 0000000..49e8338
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/HandoverRequest.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_HandoverRequest_H_
+#define	_HandoverRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* HandoverRequest */
+typedef struct HandoverRequest {
+	ProtocolIE_Container_129P3_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} HandoverRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_HandoverRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _HandoverRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/HandoverRequestAcknowledge.h b/src/s1ap/asn1c/asnGenFiles/HandoverRequestAcknowledge.h
new file mode 100644
index 0000000..cc55db8
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/HandoverRequestAcknowledge.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_HandoverRequestAcknowledge_H_
+#define	_HandoverRequestAcknowledge_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* HandoverRequestAcknowledge */
+typedef struct HandoverRequestAcknowledge {
+	ProtocolIE_Container_129P4_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} HandoverRequestAcknowledge_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_HandoverRequestAcknowledge;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _HandoverRequestAcknowledge_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/HandoverRequired.h b/src/s1ap/asn1c/asnGenFiles/HandoverRequired.h
new file mode 100644
index 0000000..eea8253
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/HandoverRequired.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_HandoverRequired_H_
+#define	_HandoverRequired_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* HandoverRequired */
+typedef struct HandoverRequired {
+	ProtocolIE_Container_129P0_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} HandoverRequired_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_HandoverRequired;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _HandoverRequired_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/HandoverRestrictionList.h b/src/s1ap/asn1c/asnGenFiles/HandoverRestrictionList.h
new file mode 100644
index 0000000..a5f2231
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/HandoverRestrictionList.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_HandoverRestrictionList_H_
+#define	_HandoverRestrictionList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PLMNidentity.h"
+#include "ForbiddenInterRATs.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct EPLMNs;
+struct ForbiddenTAs;
+struct ForbiddenLAs;
+struct ProtocolExtensionContainer;
+
+/* HandoverRestrictionList */
+typedef struct HandoverRestrictionList {
+	PLMNidentity_t	 servingPLMN;
+	struct EPLMNs	*equivalentPLMNs;	/* OPTIONAL */
+	struct ForbiddenTAs	*forbiddenTAs;	/* OPTIONAL */
+	struct ForbiddenLAs	*forbiddenLAs;	/* OPTIONAL */
+	ForbiddenInterRATs_t	*forbiddenInterRATs;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} HandoverRestrictionList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_HandoverRestrictionList;
+extern asn_SEQUENCE_specifics_t asn_SPC_HandoverRestrictionList_specs_1;
+extern asn_TYPE_member_t asn_MBR_HandoverRestrictionList_1[6];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _HandoverRestrictionList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/HandoverType.h b/src/s1ap/asn1c/asnGenFiles/HandoverType.h
new file mode 100644
index 0000000..324c78e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/HandoverType.h
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_HandoverType_H_
+#define	_HandoverType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum HandoverType {
+	HandoverType_intralte	= 0,
+	HandoverType_ltetoutran	= 1,
+	HandoverType_ltetogeran	= 2,
+	HandoverType_utrantolte	= 3,
+	HandoverType_gerantolte	= 4,
+	/*
+	 * Enumeration is extensible
+	 */
+	HandoverType_eps_to_5gs	= 5,
+	HandoverType_fivegs_to_eps	= 6
+} e_HandoverType;
+
+/* HandoverType */
+typedef long	 HandoverType_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_HandoverType_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_HandoverType;
+extern const asn_INTEGER_specifics_t asn_SPC_HandoverType_specs_1;
+asn_struct_free_f HandoverType_free;
+asn_struct_print_f HandoverType_print;
+asn_constr_check_f HandoverType_constraint;
+ber_type_decoder_f HandoverType_decode_ber;
+der_type_encoder_f HandoverType_encode_der;
+xer_type_decoder_f HandoverType_decode_xer;
+xer_type_encoder_f HandoverType_encode_xer;
+oer_type_decoder_f HandoverType_decode_oer;
+oer_type_encoder_f HandoverType_encode_oer;
+per_type_decoder_f HandoverType_decode_uper;
+per_type_encoder_f HandoverType_encode_uper;
+per_type_decoder_f HandoverType_decode_aper;
+per_type_encoder_f HandoverType_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _HandoverType_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/IMSI.h b/src/s1ap/asn1c/asnGenFiles/IMSI.h
new file mode 100644
index 0000000..3ef1f23
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/IMSI.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_IMSI_H_
+#define	_IMSI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* IMSI */
+typedef OCTET_STRING_t	 IMSI_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_IMSI_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_IMSI;
+asn_struct_free_f IMSI_free;
+asn_struct_print_f IMSI_print;
+asn_constr_check_f IMSI_constraint;
+ber_type_decoder_f IMSI_decode_ber;
+der_type_encoder_f IMSI_encode_der;
+xer_type_decoder_f IMSI_decode_xer;
+xer_type_encoder_f IMSI_encode_xer;
+oer_type_decoder_f IMSI_decode_oer;
+oer_type_encoder_f IMSI_encode_oer;
+per_type_decoder_f IMSI_decode_uper;
+per_type_encoder_f IMSI_encode_uper;
+per_type_decoder_f IMSI_decode_aper;
+per_type_encoder_f IMSI_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _IMSI_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/IMSvoiceEPSfallbackfrom5G.h b/src/s1ap/asn1c/asnGenFiles/IMSvoiceEPSfallbackfrom5G.h
new file mode 100644
index 0000000..597f3ec
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/IMSvoiceEPSfallbackfrom5G.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_IMSvoiceEPSfallbackfrom5G_H_
+#define	_IMSvoiceEPSfallbackfrom5G_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum IMSvoiceEPSfallbackfrom5G {
+	IMSvoiceEPSfallbackfrom5G_true	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_IMSvoiceEPSfallbackfrom5G;
+
+/* IMSvoiceEPSfallbackfrom5G */
+typedef long	 IMSvoiceEPSfallbackfrom5G_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_IMSvoiceEPSfallbackfrom5G_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_IMSvoiceEPSfallbackfrom5G;
+extern const asn_INTEGER_specifics_t asn_SPC_IMSvoiceEPSfallbackfrom5G_specs_1;
+asn_struct_free_f IMSvoiceEPSfallbackfrom5G_free;
+asn_struct_print_f IMSvoiceEPSfallbackfrom5G_print;
+asn_constr_check_f IMSvoiceEPSfallbackfrom5G_constraint;
+ber_type_decoder_f IMSvoiceEPSfallbackfrom5G_decode_ber;
+der_type_encoder_f IMSvoiceEPSfallbackfrom5G_encode_der;
+xer_type_decoder_f IMSvoiceEPSfallbackfrom5G_decode_xer;
+xer_type_encoder_f IMSvoiceEPSfallbackfrom5G_encode_xer;
+oer_type_decoder_f IMSvoiceEPSfallbackfrom5G_decode_oer;
+oer_type_encoder_f IMSvoiceEPSfallbackfrom5G_encode_oer;
+per_type_decoder_f IMSvoiceEPSfallbackfrom5G_decode_uper;
+per_type_encoder_f IMSvoiceEPSfallbackfrom5G_encode_uper;
+per_type_decoder_f IMSvoiceEPSfallbackfrom5G_decode_aper;
+per_type_encoder_f IMSvoiceEPSfallbackfrom5G_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _IMSvoiceEPSfallbackfrom5G_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/INTEGER.h b/src/s1ap/asn1c/asnGenFiles/INTEGER.h
new file mode 100644
index 0000000..f776c07
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/INTEGER.h
@@ -0,0 +1,108 @@
+/*-
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	_INTEGER_H_
+#define	_INTEGER_H_
+
+#include <asn_application.h>
+#include <asn_codecs_prim.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef ASN__PRIMITIVE_TYPE_t INTEGER_t;
+
+extern asn_TYPE_descriptor_t asn_DEF_INTEGER;
+extern asn_TYPE_operation_t asn_OP_INTEGER;
+
+/* Map with <tag> to integer value association */
+typedef struct asn_INTEGER_enum_map_s {
+	long		 nat_value;	/* associated native integer value */
+	size_t		 enum_len;	/* strlen("tag") */
+	const char	*enum_name;	/* "tag" */
+} asn_INTEGER_enum_map_t;
+
+/* This type describes an enumeration for INTEGER and ENUMERATED types */
+typedef struct asn_INTEGER_specifics_s {
+	const asn_INTEGER_enum_map_t *value2enum;	/* N -> "tag"; sorted by N */
+	const unsigned int *enum2value;		/* "tag" => N; sorted by tag */
+	int map_count;				/* Elements in either map */
+	int extension;				/* This map is extensible */
+	int strict_enumeration;			/* Enumeration set is fixed */
+	int field_width;			/* Size of native integer */
+	int field_unsigned;			/* Signed=0, unsigned=1 */
+} asn_INTEGER_specifics_t;
+
+#define INTEGER_free    ASN__PRIMITIVE_TYPE_free
+#define INTEGER_decode_ber	ber_decode_primitive
+#define INTEGER_constraint	asn_generic_no_constraint
+asn_struct_print_f INTEGER_print;
+asn_struct_compare_f INTEGER_compare;
+der_type_encoder_f INTEGER_encode_der;
+xer_type_decoder_f INTEGER_decode_xer;
+xer_type_encoder_f INTEGER_encode_xer;
+oer_type_decoder_f INTEGER_decode_oer;
+oer_type_encoder_f INTEGER_encode_oer;
+per_type_decoder_f INTEGER_decode_uper;
+per_type_encoder_f INTEGER_encode_uper;
+per_type_decoder_f INTEGER_decode_aper;
+per_type_encoder_f INTEGER_encode_aper;
+asn_random_fill_f  INTEGER_random_fill;
+
+/***********************************
+ * Some handy conversion routines. *
+ ***********************************/
+
+/*
+ * Natiwe size-independent conversion of native integers to/from INTEGER.
+ * (l_size) is in bytes.
+ * Returns 0 if it was possible to convert, -1 otherwise.
+ * -1/EINVAL: Mandatory argument missing
+ * -1/ERANGE: Value encoded is out of range for long representation
+ * -1/ENOMEM: Memory allocation failed (in asn_*2INTEGER()).
+ */
+int asn_INTEGER2imax(const INTEGER_t *i, intmax_t *l);
+int asn_INTEGER2umax(const INTEGER_t *i, uintmax_t *l);
+int asn_imax2INTEGER(INTEGER_t *i, intmax_t l);
+int asn_umax2INTEGER(INTEGER_t *i, uintmax_t l);
+
+/*
+ * Size-specific conversion helpers.
+ */
+int asn_INTEGER2long(const INTEGER_t *i, long *l);
+int asn_INTEGER2ulong(const INTEGER_t *i, unsigned long *l);
+int asn_long2INTEGER(INTEGER_t *i, long l);
+int asn_ulong2INTEGER(INTEGER_t *i, unsigned long l);
+int asn_int642INTEGER(INTEGER_t *i, int64_t l);
+int asn_uint642INTEGER(INTEGER_t *i, uint64_t l);
+
+/* A version of strtol/strtoimax(3) with nicer error reporting. */
+enum asn_strtox_result_e {
+    ASN_STRTOX_ERROR_RANGE = -3,  /* Input outside of supported numeric range */
+    ASN_STRTOX_ERROR_INVAL = -2,  /* Invalid data encountered (e.g., "+-") */
+    ASN_STRTOX_EXPECT_MORE = -1,  /* More data expected (e.g. "+") */
+    ASN_STRTOX_OK          =  0,  /* Conversion succeded, number ends at (*end) */
+    ASN_STRTOX_EXTRA_DATA  =  1   /* Conversion succeded, but the string has extra stuff */
+};
+enum asn_strtox_result_e asn_strtol_lim(const char *str, const char **end,
+                                        long *l);
+enum asn_strtox_result_e asn_strtoul_lim(const char *str, const char **end,
+                                         unsigned long *l);
+enum asn_strtox_result_e asn_strtoimax_lim(const char *str, const char **end,
+                                           intmax_t *l);
+enum asn_strtox_result_e asn_strtoumax_lim(const char *str, const char **end,
+                                           uintmax_t *l);
+
+/*
+ * Convert the integer value into the corresponding enumeration map entry.
+ */
+const asn_INTEGER_enum_map_t *INTEGER_map_value2enum(
+    const asn_INTEGER_specifics_t *specs, long value);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _INTEGER_H_ */
diff --git a/src/s1ap/asn1c/asnGenFiles/ImmediateMDT.h b/src/s1ap/asn1c/asnGenFiles/ImmediateMDT.h
new file mode 100644
index 0000000..179637e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ImmediateMDT.h
@@ -0,0 +1,54 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ImmediateMDT_H_
+#define	_ImmediateMDT_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "MeasurementsToActivate.h"
+#include "M1ReportingTrigger.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct M1ThresholdEventA2;
+struct M1PeriodicReporting;
+struct ProtocolExtensionContainer;
+
+/* ImmediateMDT */
+typedef struct ImmediateMDT {
+	MeasurementsToActivate_t	 measurementsToActivate;
+	M1ReportingTrigger_t	 m1reportingTrigger;
+	struct M1ThresholdEventA2	*m1thresholdeventA2;	/* OPTIONAL */
+	struct M1PeriodicReporting	*m1periodicReporting;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ImmediateMDT_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ImmediateMDT;
+extern asn_SEQUENCE_specifics_t asn_SPC_ImmediateMDT_specs_1;
+extern asn_TYPE_member_t asn_MBR_ImmediateMDT_1[5];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ImmediateMDT_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/InformationOnRecommendedCellsAndENBsForPaging.h b/src/s1ap/asn1c/asnGenFiles/InformationOnRecommendedCellsAndENBsForPaging.h
new file mode 100644
index 0000000..36e87e3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/InformationOnRecommendedCellsAndENBsForPaging.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_InformationOnRecommendedCellsAndENBsForPaging_H_
+#define	_InformationOnRecommendedCellsAndENBsForPaging_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RecommendedCellsForPaging.h"
+#include "RecommendedENBsForPaging.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* InformationOnRecommendedCellsAndENBsForPaging */
+typedef struct InformationOnRecommendedCellsAndENBsForPaging {
+	RecommendedCellsForPaging_t	 recommendedCellsForPaging;
+	RecommendedENBsForPaging_t	 recommendENBsForPaging;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} InformationOnRecommendedCellsAndENBsForPaging_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_InformationOnRecommendedCellsAndENBsForPaging;
+extern asn_SEQUENCE_specifics_t asn_SPC_InformationOnRecommendedCellsAndENBsForPaging_specs_1;
+extern asn_TYPE_member_t asn_MBR_InformationOnRecommendedCellsAndENBsForPaging_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _InformationOnRecommendedCellsAndENBsForPaging_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/InitialContextSetupFailure.h b/src/s1ap/asn1c/asnGenFiles/InitialContextSetupFailure.h
new file mode 100644
index 0000000..a5f7ae9
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/InitialContextSetupFailure.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_InitialContextSetupFailure_H_
+#define	_InitialContextSetupFailure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* InitialContextSetupFailure */
+typedef struct InitialContextSetupFailure {
+	ProtocolIE_Container_129P21_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} InitialContextSetupFailure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_InitialContextSetupFailure;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _InitialContextSetupFailure_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/InitialContextSetupRequest.h b/src/s1ap/asn1c/asnGenFiles/InitialContextSetupRequest.h
new file mode 100644
index 0000000..26707c3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/InitialContextSetupRequest.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_InitialContextSetupRequest_H_
+#define	_InitialContextSetupRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* InitialContextSetupRequest */
+typedef struct InitialContextSetupRequest {
+	ProtocolIE_Container_129P19_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} InitialContextSetupRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_InitialContextSetupRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _InitialContextSetupRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/InitialContextSetupResponse.h b/src/s1ap/asn1c/asnGenFiles/InitialContextSetupResponse.h
new file mode 100644
index 0000000..d5b60da
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/InitialContextSetupResponse.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_InitialContextSetupResponse_H_
+#define	_InitialContextSetupResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* InitialContextSetupResponse */
+typedef struct InitialContextSetupResponse {
+	ProtocolIE_Container_129P20_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} InitialContextSetupResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_InitialContextSetupResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _InitialContextSetupResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/InitialUEMessage.h b/src/s1ap/asn1c/asnGenFiles/InitialUEMessage.h
new file mode 100644
index 0000000..0b24259
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/InitialUEMessage.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_InitialUEMessage_H_
+#define	_InitialUEMessage_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* InitialUEMessage */
+typedef struct InitialUEMessage {
+	ProtocolIE_Container_129P32_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} InitialUEMessage_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_InitialUEMessage;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _InitialUEMessage_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/InitiatingMessage.h b/src/s1ap/asn1c/asnGenFiles/InitiatingMessage.h
new file mode 100644
index 0000000..23c7821
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/InitiatingMessage.h
@@ -0,0 +1,278 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Descriptions"
+ * 	found in "./asn1c/S1AP-PDU-Descriptions.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_InitiatingMessage_H_
+#define	_InitiatingMessage_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProcedureCode.h"
+#include "Criticality.h"
+#include <ANY.h>
+#include <asn_ioc.h>
+#include "HandoverRequired.h"
+#include "HandoverCommand.h"
+#include "HandoverPreparationFailure.h"
+#include "HandoverRequest.h"
+#include "HandoverRequestAcknowledge.h"
+#include "HandoverFailure.h"
+#include "PathSwitchRequest.h"
+#include "PathSwitchRequestAcknowledge.h"
+#include "PathSwitchRequestFailure.h"
+#include "E-RABSetupRequest.h"
+#include "E-RABSetupResponse.h"
+#include "E-RABModifyRequest.h"
+#include "E-RABModifyResponse.h"
+#include "E-RABReleaseCommand.h"
+#include "E-RABReleaseResponse.h"
+#include "InitialContextSetupRequest.h"
+#include "InitialContextSetupResponse.h"
+#include "InitialContextSetupFailure.h"
+#include "HandoverCancel.h"
+#include "HandoverCancelAcknowledge.h"
+#include "KillRequest.h"
+#include "KillResponse.h"
+#include "Reset.h"
+#include "ResetAcknowledge.h"
+#include "S1SetupRequest.h"
+#include "S1SetupResponse.h"
+#include "S1SetupFailure.h"
+#include "UEContextModificationRequest.h"
+#include "UEContextModificationResponse.h"
+#include "UEContextModificationFailure.h"
+#include "UEContextReleaseCommand.h"
+#include "UEContextReleaseComplete.h"
+#include "ENBConfigurationUpdate.h"
+#include "ENBConfigurationUpdateAcknowledge.h"
+#include "ENBConfigurationUpdateFailure.h"
+#include "MMEConfigurationUpdate.h"
+#include "MMEConfigurationUpdateAcknowledge.h"
+#include "MMEConfigurationUpdateFailure.h"
+#include "WriteReplaceWarningRequest.h"
+#include "WriteReplaceWarningResponse.h"
+#include "UERadioCapabilityMatchRequest.h"
+#include "UERadioCapabilityMatchResponse.h"
+#include "E-RABModificationIndication.h"
+#include "E-RABModificationConfirm.h"
+#include "UEContextModificationIndication.h"
+#include "UEContextModificationConfirm.h"
+#include "UEContextSuspendRequest.h"
+#include "UEContextSuspendResponse.h"
+#include "UEContextResumeRequest.h"
+#include "UEContextResumeResponse.h"
+#include "UEContextResumeFailure.h"
+#include "HandoverNotify.h"
+#include "E-RABReleaseIndication.h"
+#include "Paging.h"
+#include "DownlinkNASTransport.h"
+#include "InitialUEMessage.h"
+#include "UplinkNASTransport.h"
+#include "ErrorIndication.h"
+#include "NASNonDeliveryIndication.h"
+#include "UEContextReleaseRequest.h"
+#include "DownlinkS1cdma2000tunnelling.h"
+#include "UplinkS1cdma2000tunnelling.h"
+#include "UECapabilityInfoIndication.h"
+#include "ENBStatusTransfer.h"
+#include "MMEStatusTransfer.h"
+#include "DeactivateTrace.h"
+#include "TraceStart.h"
+#include "TraceFailureIndication.h"
+#include "CellTrafficTrace.h"
+#include "LocationReportingControl.h"
+#include "LocationReportingFailureIndication.h"
+#include "LocationReport.h"
+#include "OverloadStart.h"
+#include "OverloadStop.h"
+#include "ENBDirectInformationTransfer.h"
+#include "MMEDirectInformationTransfer.h"
+#include "ENBConfigurationTransfer.h"
+#include "MMEConfigurationTransfer.h"
+#include "PrivateMessage.h"
+#include "DownlinkUEAssociatedLPPaTransport.h"
+#include "UplinkUEAssociatedLPPaTransport.h"
+#include "DownlinkNonUEAssociatedLPPaTransport.h"
+#include "UplinkNonUEAssociatedLPPaTransport.h"
+#include "PWSRestartIndication.h"
+#include "RerouteNASRequest.h"
+#include "PWSFailureIndication.h"
+#include "ConnectionEstablishmentIndication.h"
+#include "NASDeliveryIndication.h"
+#include "RetrieveUEInformation.h"
+#include "UEInformationTransfer.h"
+#include "ENBCPRelocationIndication.h"
+#include "MMECPRelocationIndication.h"
+#include "SecondaryRATDataUsageReport.h"
+#include <OPEN_TYPE.h>
+#include <constr_CHOICE.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum InitiatingMessage__value_PR {
+	InitiatingMessage__value_PR_NOTHING,	/* No components present */
+	InitiatingMessage__value_PR_HandoverRequired,
+	InitiatingMessage__value_PR_HandoverRequest,
+	InitiatingMessage__value_PR_PathSwitchRequest,
+	InitiatingMessage__value_PR_E_RABSetupRequest,
+	InitiatingMessage__value_PR_E_RABModifyRequest,
+	InitiatingMessage__value_PR_E_RABReleaseCommand,
+	InitiatingMessage__value_PR_InitialContextSetupRequest,
+	InitiatingMessage__value_PR_HandoverCancel,
+	InitiatingMessage__value_PR_KillRequest,
+	InitiatingMessage__value_PR_Reset,
+	InitiatingMessage__value_PR_S1SetupRequest,
+	InitiatingMessage__value_PR_UEContextModificationRequest,
+	InitiatingMessage__value_PR_UEContextReleaseCommand,
+	InitiatingMessage__value_PR_ENBConfigurationUpdate,
+	InitiatingMessage__value_PR_MMEConfigurationUpdate,
+	InitiatingMessage__value_PR_WriteReplaceWarningRequest,
+	InitiatingMessage__value_PR_UERadioCapabilityMatchRequest,
+	InitiatingMessage__value_PR_E_RABModificationIndication,
+	InitiatingMessage__value_PR_UEContextModificationIndication,
+	InitiatingMessage__value_PR_UEContextSuspendRequest,
+	InitiatingMessage__value_PR_UEContextResumeRequest,
+	InitiatingMessage__value_PR_HandoverNotify,
+	InitiatingMessage__value_PR_E_RABReleaseIndication,
+	InitiatingMessage__value_PR_Paging,
+	InitiatingMessage__value_PR_DownlinkNASTransport,
+	InitiatingMessage__value_PR_InitialUEMessage,
+	InitiatingMessage__value_PR_UplinkNASTransport,
+	InitiatingMessage__value_PR_ErrorIndication,
+	InitiatingMessage__value_PR_NASNonDeliveryIndication,
+	InitiatingMessage__value_PR_UEContextReleaseRequest,
+	InitiatingMessage__value_PR_DownlinkS1cdma2000tunnelling,
+	InitiatingMessage__value_PR_UplinkS1cdma2000tunnelling,
+	InitiatingMessage__value_PR_UECapabilityInfoIndication,
+	InitiatingMessage__value_PR_ENBStatusTransfer,
+	InitiatingMessage__value_PR_MMEStatusTransfer,
+	InitiatingMessage__value_PR_DeactivateTrace,
+	InitiatingMessage__value_PR_TraceStart,
+	InitiatingMessage__value_PR_TraceFailureIndication,
+	InitiatingMessage__value_PR_CellTrafficTrace,
+	InitiatingMessage__value_PR_LocationReportingControl,
+	InitiatingMessage__value_PR_LocationReportingFailureIndication,
+	InitiatingMessage__value_PR_LocationReport,
+	InitiatingMessage__value_PR_OverloadStart,
+	InitiatingMessage__value_PR_OverloadStop,
+	InitiatingMessage__value_PR_ENBDirectInformationTransfer,
+	InitiatingMessage__value_PR_MMEDirectInformationTransfer,
+	InitiatingMessage__value_PR_ENBConfigurationTransfer,
+	InitiatingMessage__value_PR_MMEConfigurationTransfer,
+	InitiatingMessage__value_PR_PrivateMessage,
+	InitiatingMessage__value_PR_DownlinkUEAssociatedLPPaTransport,
+	InitiatingMessage__value_PR_UplinkUEAssociatedLPPaTransport,
+	InitiatingMessage__value_PR_DownlinkNonUEAssociatedLPPaTransport,
+	InitiatingMessage__value_PR_UplinkNonUEAssociatedLPPaTransport,
+	InitiatingMessage__value_PR_PWSRestartIndication,
+	InitiatingMessage__value_PR_RerouteNASRequest,
+	InitiatingMessage__value_PR_PWSFailureIndication,
+	InitiatingMessage__value_PR_ConnectionEstablishmentIndication,
+	InitiatingMessage__value_PR_NASDeliveryIndication,
+	InitiatingMessage__value_PR_RetrieveUEInformation,
+	InitiatingMessage__value_PR_UEInformationTransfer,
+	InitiatingMessage__value_PR_ENBCPRelocationIndication,
+	InitiatingMessage__value_PR_MMECPRelocationIndication,
+	InitiatingMessage__value_PR_SecondaryRATDataUsageReport
+} InitiatingMessage__value_PR;
+
+/* InitiatingMessage */
+typedef struct InitiatingMessage {
+	ProcedureCode_t	 procedureCode;
+	Criticality_t	 criticality;
+	struct InitiatingMessage__value {
+		InitiatingMessage__value_PR present;
+		union InitiatingMessage__value_u {
+			HandoverRequired_t	 HandoverRequired;
+			HandoverRequest_t	 HandoverRequest;
+			PathSwitchRequest_t	 PathSwitchRequest;
+			E_RABSetupRequest_t	 E_RABSetupRequest;
+			E_RABModifyRequest_t	 E_RABModifyRequest;
+			E_RABReleaseCommand_t	 E_RABReleaseCommand;
+			InitialContextSetupRequest_t	 InitialContextSetupRequest;
+			HandoverCancel_t	 HandoverCancel;
+			KillRequest_t	 KillRequest;
+			Reset_t	 Reset;
+			S1SetupRequest_t	 S1SetupRequest;
+			UEContextModificationRequest_t	 UEContextModificationRequest;
+			UEContextReleaseCommand_t	 UEContextReleaseCommand;
+			ENBConfigurationUpdate_t	 ENBConfigurationUpdate;
+			MMEConfigurationUpdate_t	 MMEConfigurationUpdate;
+			WriteReplaceWarningRequest_t	 WriteReplaceWarningRequest;
+			UERadioCapabilityMatchRequest_t	 UERadioCapabilityMatchRequest;
+			E_RABModificationIndication_t	 E_RABModificationIndication;
+			UEContextModificationIndication_t	 UEContextModificationIndication;
+			UEContextSuspendRequest_t	 UEContextSuspendRequest;
+			UEContextResumeRequest_t	 UEContextResumeRequest;
+			HandoverNotify_t	 HandoverNotify;
+			E_RABReleaseIndication_t	 E_RABReleaseIndication;
+			Paging_t	 Paging;
+			DownlinkNASTransport_t	 DownlinkNASTransport;
+			InitialUEMessage_t	 InitialUEMessage;
+			UplinkNASTransport_t	 UplinkNASTransport;
+			ErrorIndication_t	 ErrorIndication;
+			NASNonDeliveryIndication_t	 NASNonDeliveryIndication;
+			UEContextReleaseRequest_t	 UEContextReleaseRequest;
+			DownlinkS1cdma2000tunnelling_t	 DownlinkS1cdma2000tunnelling;
+			UplinkS1cdma2000tunnelling_t	 UplinkS1cdma2000tunnelling;
+			UECapabilityInfoIndication_t	 UECapabilityInfoIndication;
+			ENBStatusTransfer_t	 ENBStatusTransfer;
+			MMEStatusTransfer_t	 MMEStatusTransfer;
+			DeactivateTrace_t	 DeactivateTrace;
+			TraceStart_t	 TraceStart;
+			TraceFailureIndication_t	 TraceFailureIndication;
+			CellTrafficTrace_t	 CellTrafficTrace;
+			LocationReportingControl_t	 LocationReportingControl;
+			LocationReportingFailureIndication_t	 LocationReportingFailureIndication;
+			LocationReport_t	 LocationReport;
+			OverloadStart_t	 OverloadStart;
+			OverloadStop_t	 OverloadStop;
+			ENBDirectInformationTransfer_t	 ENBDirectInformationTransfer;
+			MMEDirectInformationTransfer_t	 MMEDirectInformationTransfer;
+			ENBConfigurationTransfer_t	 ENBConfigurationTransfer;
+			MMEConfigurationTransfer_t	 MMEConfigurationTransfer;
+			PrivateMessage_t	 PrivateMessage;
+			DownlinkUEAssociatedLPPaTransport_t	 DownlinkUEAssociatedLPPaTransport;
+			UplinkUEAssociatedLPPaTransport_t	 UplinkUEAssociatedLPPaTransport;
+			DownlinkNonUEAssociatedLPPaTransport_t	 DownlinkNonUEAssociatedLPPaTransport;
+			UplinkNonUEAssociatedLPPaTransport_t	 UplinkNonUEAssociatedLPPaTransport;
+			PWSRestartIndication_t	 PWSRestartIndication;
+			RerouteNASRequest_t	 RerouteNASRequest;
+			PWSFailureIndication_t	 PWSFailureIndication;
+			ConnectionEstablishmentIndication_t	 ConnectionEstablishmentIndication;
+			NASDeliveryIndication_t	 NASDeliveryIndication;
+			RetrieveUEInformation_t	 RetrieveUEInformation;
+			UEInformationTransfer_t	 UEInformationTransfer;
+			ENBCPRelocationIndication_t	 ENBCPRelocationIndication;
+			MMECPRelocationIndication_t	 MMECPRelocationIndication;
+			SecondaryRATDataUsageReport_t	 SecondaryRATDataUsageReport;
+		} 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;
+} InitiatingMessage_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_InitiatingMessage;
+extern asn_SEQUENCE_specifics_t asn_SPC_InitiatingMessage_specs_1;
+extern asn_TYPE_member_t asn_MBR_InitiatingMessage_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _InitiatingMessage_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/IntegrityProtectionAlgorithms.h b/src/s1ap/asn1c/asnGenFiles/IntegrityProtectionAlgorithms.h
new file mode 100644
index 0000000..5260538
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/IntegrityProtectionAlgorithms.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_IntegrityProtectionAlgorithms_H_
+#define	_IntegrityProtectionAlgorithms_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* IntegrityProtectionAlgorithms */
+typedef BIT_STRING_t	 IntegrityProtectionAlgorithms_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_IntegrityProtectionAlgorithms_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_IntegrityProtectionAlgorithms;
+asn_struct_free_f IntegrityProtectionAlgorithms_free;
+asn_struct_print_f IntegrityProtectionAlgorithms_print;
+asn_constr_check_f IntegrityProtectionAlgorithms_constraint;
+ber_type_decoder_f IntegrityProtectionAlgorithms_decode_ber;
+der_type_encoder_f IntegrityProtectionAlgorithms_encode_der;
+xer_type_decoder_f IntegrityProtectionAlgorithms_decode_xer;
+xer_type_encoder_f IntegrityProtectionAlgorithms_encode_xer;
+oer_type_decoder_f IntegrityProtectionAlgorithms_decode_oer;
+oer_type_encoder_f IntegrityProtectionAlgorithms_encode_oer;
+per_type_decoder_f IntegrityProtectionAlgorithms_decode_uper;
+per_type_encoder_f IntegrityProtectionAlgorithms_encode_uper;
+per_type_decoder_f IntegrityProtectionAlgorithms_decode_aper;
+per_type_encoder_f IntegrityProtectionAlgorithms_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _IntegrityProtectionAlgorithms_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/IntendedNumberOfPagingAttempts.h b/src/s1ap/asn1c/asnGenFiles/IntendedNumberOfPagingAttempts.h
new file mode 100644
index 0000000..89398c9
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/IntendedNumberOfPagingAttempts.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_IntendedNumberOfPagingAttempts_H_
+#define	_IntendedNumberOfPagingAttempts_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* IntendedNumberOfPagingAttempts */
+typedef long	 IntendedNumberOfPagingAttempts_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_IntendedNumberOfPagingAttempts_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_IntendedNumberOfPagingAttempts;
+asn_struct_free_f IntendedNumberOfPagingAttempts_free;
+asn_struct_print_f IntendedNumberOfPagingAttempts_print;
+asn_constr_check_f IntendedNumberOfPagingAttempts_constraint;
+ber_type_decoder_f IntendedNumberOfPagingAttempts_decode_ber;
+der_type_encoder_f IntendedNumberOfPagingAttempts_encode_der;
+xer_type_decoder_f IntendedNumberOfPagingAttempts_decode_xer;
+xer_type_encoder_f IntendedNumberOfPagingAttempts_encode_xer;
+oer_type_decoder_f IntendedNumberOfPagingAttempts_decode_oer;
+oer_type_encoder_f IntendedNumberOfPagingAttempts_encode_oer;
+per_type_decoder_f IntendedNumberOfPagingAttempts_decode_uper;
+per_type_encoder_f IntendedNumberOfPagingAttempts_encode_uper;
+per_type_decoder_f IntendedNumberOfPagingAttempts_decode_aper;
+per_type_encoder_f IntendedNumberOfPagingAttempts_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _IntendedNumberOfPagingAttempts_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Inter-SystemInformationTransferType.h b/src/s1ap/asn1c/asnGenFiles/Inter-SystemInformationTransferType.h
new file mode 100644
index 0000000..d797d9b
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Inter-SystemInformationTransferType.h
@@ -0,0 +1,58 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Inter_SystemInformationTransferType_H_
+#define	_Inter_SystemInformationTransferType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum Inter_SystemInformationTransferType_PR {
+	Inter_SystemInformationTransferType_PR_NOTHING,	/* No components present */
+	Inter_SystemInformationTransferType_PR_rIMTransfer
+	/* Extensions may appear below */
+	
+} Inter_SystemInformationTransferType_PR;
+
+/* Forward declarations */
+struct RIMTransfer;
+
+/* Inter-SystemInformationTransferType */
+typedef struct Inter_SystemInformationTransferType {
+	Inter_SystemInformationTransferType_PR present;
+	union Inter_SystemInformationTransferType_u {
+		struct RIMTransfer	*rIMTransfer;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} Inter_SystemInformationTransferType_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Inter_SystemInformationTransferType;
+extern asn_CHOICE_specifics_t asn_SPC_Inter_SystemInformationTransferType_specs_1;
+extern asn_TYPE_member_t asn_MBR_Inter_SystemInformationTransferType_1[1];
+extern asn_per_constraints_t asn_PER_type_Inter_SystemInformationTransferType_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Inter_SystemInformationTransferType_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/InterfacesToTrace.h b/src/s1ap/asn1c/asnGenFiles/InterfacesToTrace.h
new file mode 100644
index 0000000..0c609ec
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/InterfacesToTrace.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_InterfacesToTrace_H_
+#define	_InterfacesToTrace_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* InterfacesToTrace */
+typedef BIT_STRING_t	 InterfacesToTrace_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_InterfacesToTrace_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_InterfacesToTrace;
+asn_struct_free_f InterfacesToTrace_free;
+asn_struct_print_f InterfacesToTrace_print;
+asn_constr_check_f InterfacesToTrace_constraint;
+ber_type_decoder_f InterfacesToTrace_decode_ber;
+der_type_encoder_f InterfacesToTrace_encode_der;
+xer_type_decoder_f InterfacesToTrace_decode_xer;
+xer_type_encoder_f InterfacesToTrace_encode_xer;
+oer_type_decoder_f InterfacesToTrace_decode_oer;
+oer_type_encoder_f InterfacesToTrace_encode_oer;
+per_type_decoder_f InterfacesToTrace_decode_uper;
+per_type_encoder_f InterfacesToTrace_encode_uper;
+per_type_decoder_f InterfacesToTrace_decode_aper;
+per_type_encoder_f InterfacesToTrace_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _InterfacesToTrace_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/KillAllWarningMessages.h b/src/s1ap/asn1c/asnGenFiles/KillAllWarningMessages.h
new file mode 100644
index 0000000..bc085f3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/KillAllWarningMessages.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_KillAllWarningMessages_H_
+#define	_KillAllWarningMessages_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum KillAllWarningMessages {
+	KillAllWarningMessages_true	= 0
+} e_KillAllWarningMessages;
+
+/* KillAllWarningMessages */
+typedef long	 KillAllWarningMessages_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_KillAllWarningMessages_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_KillAllWarningMessages;
+extern const asn_INTEGER_specifics_t asn_SPC_KillAllWarningMessages_specs_1;
+asn_struct_free_f KillAllWarningMessages_free;
+asn_struct_print_f KillAllWarningMessages_print;
+asn_constr_check_f KillAllWarningMessages_constraint;
+ber_type_decoder_f KillAllWarningMessages_decode_ber;
+der_type_encoder_f KillAllWarningMessages_encode_der;
+xer_type_decoder_f KillAllWarningMessages_decode_xer;
+xer_type_encoder_f KillAllWarningMessages_encode_xer;
+oer_type_decoder_f KillAllWarningMessages_decode_oer;
+oer_type_encoder_f KillAllWarningMessages_encode_oer;
+per_type_decoder_f KillAllWarningMessages_decode_uper;
+per_type_encoder_f KillAllWarningMessages_encode_uper;
+per_type_decoder_f KillAllWarningMessages_decode_aper;
+per_type_encoder_f KillAllWarningMessages_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _KillAllWarningMessages_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/KillRequest.h b/src/s1ap/asn1c/asnGenFiles/KillRequest.h
new file mode 100644
index 0000000..b71b534
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/KillRequest.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_KillRequest_H_
+#define	_KillRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* KillRequest */
+typedef struct KillRequest {
+	ProtocolIE_Container_129P69_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} KillRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_KillRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _KillRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/KillResponse.h b/src/s1ap/asn1c/asnGenFiles/KillResponse.h
new file mode 100644
index 0000000..b4a623c
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/KillResponse.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_KillResponse_H_
+#define	_KillResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* KillResponse */
+typedef struct KillResponse {
+	ProtocolIE_Container_129P70_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} KillResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_KillResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _KillResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/L3-Information.h b/src/s1ap/asn1c/asnGenFiles/L3-Information.h
new file mode 100644
index 0000000..9650afd
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/L3-Information.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_L3_Information_H_
+#define	_L3_Information_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* L3-Information */
+typedef OCTET_STRING_t	 L3_Information_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_L3_Information;
+asn_struct_free_f L3_Information_free;
+asn_struct_print_f L3_Information_print;
+asn_constr_check_f L3_Information_constraint;
+ber_type_decoder_f L3_Information_decode_ber;
+der_type_encoder_f L3_Information_encode_der;
+xer_type_decoder_f L3_Information_decode_xer;
+xer_type_encoder_f L3_Information_encode_xer;
+oer_type_decoder_f L3_Information_decode_oer;
+oer_type_encoder_f L3_Information_encode_oer;
+per_type_decoder_f L3_Information_decode_uper;
+per_type_encoder_f L3_Information_encode_uper;
+per_type_decoder_f L3_Information_decode_aper;
+per_type_encoder_f L3_Information_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _L3_Information_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/LAC.h b/src/s1ap/asn1c/asnGenFiles/LAC.h
new file mode 100644
index 0000000..32862d7
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/LAC.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_LAC_H_
+#define	_LAC_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* LAC */
+typedef OCTET_STRING_t	 LAC_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_LAC_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_LAC;
+asn_struct_free_f LAC_free;
+asn_struct_print_f LAC_print;
+asn_constr_check_f LAC_constraint;
+ber_type_decoder_f LAC_decode_ber;
+der_type_encoder_f LAC_encode_der;
+xer_type_decoder_f LAC_decode_xer;
+xer_type_encoder_f LAC_encode_xer;
+oer_type_decoder_f LAC_decode_oer;
+oer_type_encoder_f LAC_encode_oer;
+per_type_decoder_f LAC_decode_uper;
+per_type_encoder_f LAC_encode_uper;
+per_type_decoder_f LAC_decode_aper;
+per_type_encoder_f LAC_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _LAC_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/LAI.h b/src/s1ap/asn1c/asnGenFiles/LAI.h
new file mode 100644
index 0000000..632741e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/LAI.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_LAI_H_
+#define	_LAI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PLMNidentity.h"
+#include "LAC.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* LAI */
+typedef struct LAI {
+	PLMNidentity_t	 pLMNidentity;
+	LAC_t	 lAC;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} LAI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_LAI;
+extern asn_SEQUENCE_specifics_t asn_SPC_LAI_specs_1;
+extern asn_TYPE_member_t asn_MBR_LAI_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _LAI_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/LHN-ID.h b/src/s1ap/asn1c/asnGenFiles/LHN-ID.h
new file mode 100644
index 0000000..bf26f7f
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/LHN-ID.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_LHN_ID_H_
+#define	_LHN_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* LHN-ID */
+typedef OCTET_STRING_t	 LHN_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_LHN_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_LHN_ID;
+asn_struct_free_f LHN_ID_free;
+asn_struct_print_f LHN_ID_print;
+asn_constr_check_f LHN_ID_constraint;
+ber_type_decoder_f LHN_ID_decode_ber;
+der_type_encoder_f LHN_ID_encode_der;
+xer_type_decoder_f LHN_ID_decode_xer;
+xer_type_encoder_f LHN_ID_encode_xer;
+oer_type_decoder_f LHN_ID_decode_oer;
+oer_type_encoder_f LHN_ID_encode_oer;
+per_type_decoder_f LHN_ID_decode_uper;
+per_type_encoder_f LHN_ID_encode_uper;
+per_type_decoder_f LHN_ID_decode_aper;
+per_type_encoder_f LHN_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _LHN_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/LPPa-PDU.h b/src/s1ap/asn1c/asnGenFiles/LPPa-PDU.h
new file mode 100644
index 0000000..09ec4c8
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/LPPa-PDU.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_LPPa_PDU_H_
+#define	_LPPa_PDU_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* LPPa-PDU */
+typedef OCTET_STRING_t	 LPPa_PDU_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_LPPa_PDU;
+asn_struct_free_f LPPa_PDU_free;
+asn_struct_print_f LPPa_PDU_print;
+asn_constr_check_f LPPa_PDU_constraint;
+ber_type_decoder_f LPPa_PDU_decode_ber;
+der_type_encoder_f LPPa_PDU_encode_der;
+xer_type_decoder_f LPPa_PDU_decode_xer;
+xer_type_encoder_f LPPa_PDU_encode_xer;
+oer_type_decoder_f LPPa_PDU_decode_oer;
+oer_type_encoder_f LPPa_PDU_encode_oer;
+per_type_decoder_f LPPa_PDU_decode_uper;
+per_type_encoder_f LPPa_PDU_encode_uper;
+per_type_decoder_f LPPa_PDU_decode_aper;
+per_type_encoder_f LPPa_PDU_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _LPPa_PDU_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/LTE-M-Indication.h b/src/s1ap/asn1c/asnGenFiles/LTE-M-Indication.h
new file mode 100644
index 0000000..64f0bd7
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/LTE-M-Indication.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_LTE_M_Indication_H_
+#define	_LTE_M_Indication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum LTE_M_Indication {
+	LTE_M_Indication_lte_m	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_LTE_M_Indication;
+
+/* LTE-M-Indication */
+typedef long	 LTE_M_Indication_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_LTE_M_Indication_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_LTE_M_Indication;
+extern const asn_INTEGER_specifics_t asn_SPC_LTE_M_Indication_specs_1;
+asn_struct_free_f LTE_M_Indication_free;
+asn_struct_print_f LTE_M_Indication_print;
+asn_constr_check_f LTE_M_Indication_constraint;
+ber_type_decoder_f LTE_M_Indication_decode_ber;
+der_type_encoder_f LTE_M_Indication_encode_der;
+xer_type_decoder_f LTE_M_Indication_decode_xer;
+xer_type_encoder_f LTE_M_Indication_encode_xer;
+oer_type_decoder_f LTE_M_Indication_decode_oer;
+oer_type_encoder_f LTE_M_Indication_encode_oer;
+per_type_decoder_f LTE_M_Indication_decode_uper;
+per_type_encoder_f LTE_M_Indication_encode_uper;
+per_type_decoder_f LTE_M_Indication_decode_aper;
+per_type_encoder_f LTE_M_Indication_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _LTE_M_Indication_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/LastVisitedCell-Item.h b/src/s1ap/asn1c/asnGenFiles/LastVisitedCell-Item.h
new file mode 100644
index 0000000..5d90e20
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/LastVisitedCell-Item.h
@@ -0,0 +1,66 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_LastVisitedCell_Item_H_
+#define	_LastVisitedCell_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "LastVisitedUTRANCellInformation.h"
+#include "LastVisitedNGRANCellInformation.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum LastVisitedCell_Item_PR {
+	LastVisitedCell_Item_PR_NOTHING,	/* No components present */
+	LastVisitedCell_Item_PR_e_UTRAN_Cell,
+	LastVisitedCell_Item_PR_uTRAN_Cell,
+	LastVisitedCell_Item_PR_gERAN_Cell,
+	/* Extensions may appear below */
+	LastVisitedCell_Item_PR_nG_RAN_Cell
+} LastVisitedCell_Item_PR;
+
+/* Forward declarations */
+struct LastVisitedEUTRANCellInformation;
+struct LastVisitedGERANCellInformation;
+
+/* LastVisitedCell-Item */
+typedef struct LastVisitedCell_Item {
+	LastVisitedCell_Item_PR present;
+	union LastVisitedCell_Item_u {
+		struct LastVisitedEUTRANCellInformation	*e_UTRAN_Cell;
+		LastVisitedUTRANCellInformation_t	 uTRAN_Cell;
+		struct LastVisitedGERANCellInformation	*gERAN_Cell;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+		LastVisitedNGRANCellInformation_t	 nG_RAN_Cell;
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} LastVisitedCell_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_LastVisitedCell_Item;
+extern asn_CHOICE_specifics_t asn_SPC_LastVisitedCell_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_LastVisitedCell_Item_1[4];
+extern asn_per_constraints_t asn_PER_type_LastVisitedCell_Item_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _LastVisitedCell_Item_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/LastVisitedEUTRANCellInformation.h b/src/s1ap/asn1c/asnGenFiles/LastVisitedEUTRANCellInformation.h
new file mode 100644
index 0000000..6c6804b
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/LastVisitedEUTRANCellInformation.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_LastVisitedEUTRANCellInformation_H_
+#define	_LastVisitedEUTRANCellInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "EUTRAN-CGI.h"
+#include "CellType.h"
+#include "Time-UE-StayedInCell.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* LastVisitedEUTRANCellInformation */
+typedef struct LastVisitedEUTRANCellInformation {
+	EUTRAN_CGI_t	 global_Cell_ID;
+	CellType_t	 cellType;
+	Time_UE_StayedInCell_t	 time_UE_StayedInCell;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} LastVisitedEUTRANCellInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_LastVisitedEUTRANCellInformation;
+extern asn_SEQUENCE_specifics_t asn_SPC_LastVisitedEUTRANCellInformation_specs_1;
+extern asn_TYPE_member_t asn_MBR_LastVisitedEUTRANCellInformation_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _LastVisitedEUTRANCellInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/LastVisitedGERANCellInformation.h b/src/s1ap/asn1c/asnGenFiles/LastVisitedGERANCellInformation.h
new file mode 100644
index 0000000..c4068f1
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/LastVisitedGERANCellInformation.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_LastVisitedGERANCellInformation_H_
+#define	_LastVisitedGERANCellInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NULL.h>
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum LastVisitedGERANCellInformation_PR {
+	LastVisitedGERANCellInformation_PR_NOTHING,	/* No components present */
+	LastVisitedGERANCellInformation_PR_undefined
+	/* Extensions may appear below */
+	
+} LastVisitedGERANCellInformation_PR;
+
+/* LastVisitedGERANCellInformation */
+typedef struct LastVisitedGERANCellInformation {
+	LastVisitedGERANCellInformation_PR present;
+	union LastVisitedGERANCellInformation_u {
+		NULL_t	 undefined;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} LastVisitedGERANCellInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_LastVisitedGERANCellInformation;
+extern asn_CHOICE_specifics_t asn_SPC_LastVisitedGERANCellInformation_specs_1;
+extern asn_TYPE_member_t asn_MBR_LastVisitedGERANCellInformation_1[1];
+extern asn_per_constraints_t asn_PER_type_LastVisitedGERANCellInformation_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _LastVisitedGERANCellInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/LastVisitedNGRANCellInformation.h b/src/s1ap/asn1c/asnGenFiles/LastVisitedNGRANCellInformation.h
new file mode 100644
index 0000000..be12df4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/LastVisitedNGRANCellInformation.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_LastVisitedNGRANCellInformation_H_
+#define	_LastVisitedNGRANCellInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* LastVisitedNGRANCellInformation */
+typedef OCTET_STRING_t	 LastVisitedNGRANCellInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_LastVisitedNGRANCellInformation;
+asn_struct_free_f LastVisitedNGRANCellInformation_free;
+asn_struct_print_f LastVisitedNGRANCellInformation_print;
+asn_constr_check_f LastVisitedNGRANCellInformation_constraint;
+ber_type_decoder_f LastVisitedNGRANCellInformation_decode_ber;
+der_type_encoder_f LastVisitedNGRANCellInformation_encode_der;
+xer_type_decoder_f LastVisitedNGRANCellInformation_decode_xer;
+xer_type_encoder_f LastVisitedNGRANCellInformation_encode_xer;
+oer_type_decoder_f LastVisitedNGRANCellInformation_decode_oer;
+oer_type_encoder_f LastVisitedNGRANCellInformation_encode_oer;
+per_type_decoder_f LastVisitedNGRANCellInformation_decode_uper;
+per_type_encoder_f LastVisitedNGRANCellInformation_encode_uper;
+per_type_decoder_f LastVisitedNGRANCellInformation_decode_aper;
+per_type_encoder_f LastVisitedNGRANCellInformation_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _LastVisitedNGRANCellInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/LastVisitedUTRANCellInformation.h b/src/s1ap/asn1c/asnGenFiles/LastVisitedUTRANCellInformation.h
new file mode 100644
index 0000000..549cc3c
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/LastVisitedUTRANCellInformation.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_LastVisitedUTRANCellInformation_H_
+#define	_LastVisitedUTRANCellInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* LastVisitedUTRANCellInformation */
+typedef OCTET_STRING_t	 LastVisitedUTRANCellInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_LastVisitedUTRANCellInformation;
+asn_struct_free_f LastVisitedUTRANCellInformation_free;
+asn_struct_print_f LastVisitedUTRANCellInformation_print;
+asn_constr_check_f LastVisitedUTRANCellInformation_constraint;
+ber_type_decoder_f LastVisitedUTRANCellInformation_decode_ber;
+der_type_encoder_f LastVisitedUTRANCellInformation_encode_der;
+xer_type_decoder_f LastVisitedUTRANCellInformation_decode_xer;
+xer_type_encoder_f LastVisitedUTRANCellInformation_encode_xer;
+oer_type_decoder_f LastVisitedUTRANCellInformation_decode_oer;
+oer_type_encoder_f LastVisitedUTRANCellInformation_encode_oer;
+per_type_decoder_f LastVisitedUTRANCellInformation_decode_uper;
+per_type_encoder_f LastVisitedUTRANCellInformation_encode_uper;
+per_type_decoder_f LastVisitedUTRANCellInformation_decode_aper;
+per_type_encoder_f LastVisitedUTRANCellInformation_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _LastVisitedUTRANCellInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Links-to-log.h b/src/s1ap/asn1c/asnGenFiles/Links-to-log.h
new file mode 100644
index 0000000..ef19965
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Links-to-log.h
@@ -0,0 +1,57 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Links_to_log_H_
+#define	_Links_to_log_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum Links_to_log {
+	Links_to_log_uplink	= 0,
+	Links_to_log_downlink	= 1,
+	Links_to_log_both_uplink_and_downlink	= 2
+	/*
+	 * Enumeration is extensible
+	 */
+} e_Links_to_log;
+
+/* Links-to-log */
+typedef long	 Links_to_log_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_Links_to_log_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_Links_to_log;
+extern const asn_INTEGER_specifics_t asn_SPC_Links_to_log_specs_1;
+asn_struct_free_f Links_to_log_free;
+asn_struct_print_f Links_to_log_print;
+asn_constr_check_f Links_to_log_constraint;
+ber_type_decoder_f Links_to_log_decode_ber;
+der_type_encoder_f Links_to_log_encode_der;
+xer_type_decoder_f Links_to_log_decode_xer;
+xer_type_encoder_f Links_to_log_encode_xer;
+oer_type_decoder_f Links_to_log_decode_oer;
+oer_type_encoder_f Links_to_log_encode_oer;
+per_type_decoder_f Links_to_log_decode_uper;
+per_type_encoder_f Links_to_log_encode_uper;
+per_type_decoder_f Links_to_log_decode_aper;
+per_type_encoder_f Links_to_log_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Links_to_log_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ListeningSubframePattern.h b/src/s1ap/asn1c/asnGenFiles/ListeningSubframePattern.h
new file mode 100644
index 0000000..bde5142
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ListeningSubframePattern.h
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ListeningSubframePattern_H_
+#define	_ListeningSubframePattern_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+#include <NativeInteger.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum ListeningSubframePattern__pattern_period {
+	ListeningSubframePattern__pattern_period_ms1280	= 0,
+	ListeningSubframePattern__pattern_period_ms2560	= 1,
+	ListeningSubframePattern__pattern_period_ms5120	= 2,
+	ListeningSubframePattern__pattern_period_ms10240	= 3
+	/*
+	 * Enumeration is extensible
+	 */
+} e_ListeningSubframePattern__pattern_period;
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* ListeningSubframePattern */
+typedef struct ListeningSubframePattern {
+	long	 pattern_period;
+	long	 pattern_offset;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ListeningSubframePattern_t;
+
+/* Implementation */
+/* extern asn_TYPE_descriptor_t asn_DEF_pattern_period_2;	// (Use -fall-defs-global to expose) */
+extern asn_TYPE_descriptor_t asn_DEF_ListeningSubframePattern;
+extern asn_SEQUENCE_specifics_t asn_SPC_ListeningSubframePattern_specs_1;
+extern asn_TYPE_member_t asn_MBR_ListeningSubframePattern_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ListeningSubframePattern_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/LocationReport.h b/src/s1ap/asn1c/asnGenFiles/LocationReport.h
new file mode 100644
index 0000000..c551295
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/LocationReport.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_LocationReport_H_
+#define	_LocationReport_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* LocationReport */
+typedef struct LocationReport {
+	ProtocolIE_Container_129P60_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} LocationReport_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_LocationReport;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _LocationReport_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/LocationReportingControl.h b/src/s1ap/asn1c/asnGenFiles/LocationReportingControl.h
new file mode 100644
index 0000000..aa65ea3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/LocationReportingControl.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_LocationReportingControl_H_
+#define	_LocationReportingControl_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* LocationReportingControl */
+typedef struct LocationReportingControl {
+	ProtocolIE_Container_129P58_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} LocationReportingControl_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_LocationReportingControl;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _LocationReportingControl_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/LocationReportingFailureIndication.h b/src/s1ap/asn1c/asnGenFiles/LocationReportingFailureIndication.h
new file mode 100644
index 0000000..83eaf9e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/LocationReportingFailureIndication.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_LocationReportingFailureIndication_H_
+#define	_LocationReportingFailureIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* LocationReportingFailureIndication */
+typedef struct LocationReportingFailureIndication {
+	ProtocolIE_Container_129P59_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} LocationReportingFailureIndication_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_LocationReportingFailureIndication;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _LocationReportingFailureIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/LoggedMBSFNMDT.h b/src/s1ap/asn1c/asnGenFiles/LoggedMBSFNMDT.h
new file mode 100644
index 0000000..bfaaf53
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/LoggedMBSFNMDT.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_LoggedMBSFNMDT_H_
+#define	_LoggedMBSFNMDT_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "LoggingInterval.h"
+#include "LoggingDuration.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct MBSFN_ResultToLog;
+struct ProtocolExtensionContainer;
+
+/* LoggedMBSFNMDT */
+typedef struct LoggedMBSFNMDT {
+	LoggingInterval_t	 loggingInterval;
+	LoggingDuration_t	 loggingDuration;
+	struct MBSFN_ResultToLog	*mBSFN_ResultToLog;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} LoggedMBSFNMDT_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_LoggedMBSFNMDT;
+extern asn_SEQUENCE_specifics_t asn_SPC_LoggedMBSFNMDT_specs_1;
+extern asn_TYPE_member_t asn_MBR_LoggedMBSFNMDT_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _LoggedMBSFNMDT_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/LoggedMDT.h b/src/s1ap/asn1c/asnGenFiles/LoggedMDT.h
new file mode 100644
index 0000000..d65d6c5
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/LoggedMDT.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_LoggedMDT_H_
+#define	_LoggedMDT_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "LoggingInterval.h"
+#include "LoggingDuration.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* LoggedMDT */
+typedef struct LoggedMDT {
+	LoggingInterval_t	 loggingInterval;
+	LoggingDuration_t	 loggingDuration;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} LoggedMDT_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_LoggedMDT;
+extern asn_SEQUENCE_specifics_t asn_SPC_LoggedMDT_specs_1;
+extern asn_TYPE_member_t asn_MBR_LoggedMDT_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _LoggedMDT_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/LoggingDuration.h b/src/s1ap/asn1c/asnGenFiles/LoggingDuration.h
new file mode 100644
index 0000000..c9ed65e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/LoggingDuration.h
@@ -0,0 +1,57 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_LoggingDuration_H_
+#define	_LoggingDuration_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum LoggingDuration {
+	LoggingDuration_m10	= 0,
+	LoggingDuration_m20	= 1,
+	LoggingDuration_m40	= 2,
+	LoggingDuration_m60	= 3,
+	LoggingDuration_m90	= 4,
+	LoggingDuration_m120	= 5
+} e_LoggingDuration;
+
+/* LoggingDuration */
+typedef long	 LoggingDuration_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_LoggingDuration_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_LoggingDuration;
+extern const asn_INTEGER_specifics_t asn_SPC_LoggingDuration_specs_1;
+asn_struct_free_f LoggingDuration_free;
+asn_struct_print_f LoggingDuration_print;
+asn_constr_check_f LoggingDuration_constraint;
+ber_type_decoder_f LoggingDuration_decode_ber;
+der_type_encoder_f LoggingDuration_encode_der;
+xer_type_decoder_f LoggingDuration_decode_xer;
+xer_type_encoder_f LoggingDuration_encode_xer;
+oer_type_decoder_f LoggingDuration_decode_oer;
+oer_type_encoder_f LoggingDuration_encode_oer;
+per_type_decoder_f LoggingDuration_decode_uper;
+per_type_encoder_f LoggingDuration_encode_uper;
+per_type_decoder_f LoggingDuration_decode_aper;
+per_type_encoder_f LoggingDuration_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _LoggingDuration_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/LoggingInterval.h b/src/s1ap/asn1c/asnGenFiles/LoggingInterval.h
new file mode 100644
index 0000000..e1f5149
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/LoggingInterval.h
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_LoggingInterval_H_
+#define	_LoggingInterval_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum LoggingInterval {
+	LoggingInterval_ms128	= 0,
+	LoggingInterval_ms256	= 1,
+	LoggingInterval_ms512	= 2,
+	LoggingInterval_ms1024	= 3,
+	LoggingInterval_ms2048	= 4,
+	LoggingInterval_ms3072	= 5,
+	LoggingInterval_ms4096	= 6,
+	LoggingInterval_ms6144	= 7
+} e_LoggingInterval;
+
+/* LoggingInterval */
+typedef long	 LoggingInterval_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_LoggingInterval_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_LoggingInterval;
+extern const asn_INTEGER_specifics_t asn_SPC_LoggingInterval_specs_1;
+asn_struct_free_f LoggingInterval_free;
+asn_struct_print_f LoggingInterval_print;
+asn_constr_check_f LoggingInterval_constraint;
+ber_type_decoder_f LoggingInterval_decode_ber;
+der_type_encoder_f LoggingInterval_encode_der;
+xer_type_decoder_f LoggingInterval_decode_xer;
+xer_type_encoder_f LoggingInterval_encode_xer;
+oer_type_decoder_f LoggingInterval_decode_oer;
+oer_type_encoder_f LoggingInterval_encode_oer;
+per_type_decoder_f LoggingInterval_decode_uper;
+per_type_encoder_f LoggingInterval_encode_uper;
+per_type_decoder_f LoggingInterval_decode_aper;
+per_type_encoder_f LoggingInterval_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _LoggingInterval_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/M-TMSI.h b/src/s1ap/asn1c/asnGenFiles/M-TMSI.h
new file mode 100644
index 0000000..c4e318f
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/M-TMSI.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_M_TMSI_H_
+#define	_M_TMSI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* M-TMSI */
+typedef OCTET_STRING_t	 M_TMSI_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_M_TMSI_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_M_TMSI;
+asn_struct_free_f M_TMSI_free;
+asn_struct_print_f M_TMSI_print;
+asn_constr_check_f M_TMSI_constraint;
+ber_type_decoder_f M_TMSI_decode_ber;
+der_type_encoder_f M_TMSI_encode_der;
+xer_type_decoder_f M_TMSI_decode_xer;
+xer_type_encoder_f M_TMSI_encode_xer;
+oer_type_decoder_f M_TMSI_decode_oer;
+oer_type_encoder_f M_TMSI_encode_oer;
+per_type_decoder_f M_TMSI_decode_uper;
+per_type_encoder_f M_TMSI_encode_uper;
+per_type_decoder_f M_TMSI_decode_aper;
+per_type_encoder_f M_TMSI_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _M_TMSI_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/M1PeriodicReporting.h b/src/s1ap/asn1c/asnGenFiles/M1PeriodicReporting.h
new file mode 100644
index 0000000..d7fa354
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/M1PeriodicReporting.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_M1PeriodicReporting_H_
+#define	_M1PeriodicReporting_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ReportIntervalMDT.h"
+#include "ReportAmountMDT.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* M1PeriodicReporting */
+typedef struct M1PeriodicReporting {
+	ReportIntervalMDT_t	 reportInterval;
+	ReportAmountMDT_t	 reportAmount;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} M1PeriodicReporting_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_M1PeriodicReporting;
+extern asn_SEQUENCE_specifics_t asn_SPC_M1PeriodicReporting_specs_1;
+extern asn_TYPE_member_t asn_MBR_M1PeriodicReporting_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _M1PeriodicReporting_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/M1ReportingTrigger.h b/src/s1ap/asn1c/asnGenFiles/M1ReportingTrigger.h
new file mode 100644
index 0000000..ecf7d87
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/M1ReportingTrigger.h
@@ -0,0 +1,57 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_M1ReportingTrigger_H_
+#define	_M1ReportingTrigger_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum M1ReportingTrigger {
+	M1ReportingTrigger_periodic	= 0,
+	M1ReportingTrigger_a2eventtriggered	= 1,
+	/*
+	 * Enumeration is extensible
+	 */
+	M1ReportingTrigger_a2eventtriggered_periodic	= 2
+} e_M1ReportingTrigger;
+
+/* M1ReportingTrigger */
+typedef long	 M1ReportingTrigger_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_M1ReportingTrigger_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_M1ReportingTrigger;
+extern const asn_INTEGER_specifics_t asn_SPC_M1ReportingTrigger_specs_1;
+asn_struct_free_f M1ReportingTrigger_free;
+asn_struct_print_f M1ReportingTrigger_print;
+asn_constr_check_f M1ReportingTrigger_constraint;
+ber_type_decoder_f M1ReportingTrigger_decode_ber;
+der_type_encoder_f M1ReportingTrigger_encode_der;
+xer_type_decoder_f M1ReportingTrigger_decode_xer;
+xer_type_encoder_f M1ReportingTrigger_encode_xer;
+oer_type_decoder_f M1ReportingTrigger_decode_oer;
+oer_type_encoder_f M1ReportingTrigger_encode_oer;
+per_type_decoder_f M1ReportingTrigger_decode_uper;
+per_type_encoder_f M1ReportingTrigger_encode_uper;
+per_type_decoder_f M1ReportingTrigger_decode_aper;
+per_type_encoder_f M1ReportingTrigger_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _M1ReportingTrigger_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/M1ThresholdEventA2.h b/src/s1ap/asn1c/asnGenFiles/M1ThresholdEventA2.h
new file mode 100644
index 0000000..765cb15
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/M1ThresholdEventA2.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_M1ThresholdEventA2_H_
+#define	_M1ThresholdEventA2_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "MeasurementThresholdA2.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* M1ThresholdEventA2 */
+typedef struct M1ThresholdEventA2 {
+	MeasurementThresholdA2_t	 measurementThreshold;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} M1ThresholdEventA2_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_M1ThresholdEventA2;
+extern asn_SEQUENCE_specifics_t asn_SPC_M1ThresholdEventA2_specs_1;
+extern asn_TYPE_member_t asn_MBR_M1ThresholdEventA2_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _M1ThresholdEventA2_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/M3Configuration.h b/src/s1ap/asn1c/asnGenFiles/M3Configuration.h
new file mode 100644
index 0000000..6cd43ab
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/M3Configuration.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_M3Configuration_H_
+#define	_M3Configuration_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "M3period.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* M3Configuration */
+typedef struct M3Configuration {
+	M3period_t	 m3period;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} M3Configuration_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_M3Configuration;
+extern asn_SEQUENCE_specifics_t asn_SPC_M3Configuration_specs_1;
+extern asn_TYPE_member_t asn_MBR_M3Configuration_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _M3Configuration_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/M3period.h b/src/s1ap/asn1c/asnGenFiles/M3period.h
new file mode 100644
index 0000000..3dd18cc
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/M3period.h
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_M3period_H_
+#define	_M3period_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum M3period {
+	M3period_ms100	= 0,
+	M3period_ms1000	= 1,
+	M3period_ms10000	= 2,
+	/*
+	 * Enumeration is extensible
+	 */
+	M3period_ms1024	= 3,
+	M3period_ms1280	= 4,
+	M3period_ms2048	= 5,
+	M3period_ms2560	= 6,
+	M3period_ms5120	= 7,
+	M3period_ms10240	= 8,
+	M3period_min1	= 9
+} e_M3period;
+
+/* M3period */
+typedef long	 M3period_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_M3period_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_M3period;
+extern const asn_INTEGER_specifics_t asn_SPC_M3period_specs_1;
+asn_struct_free_f M3period_free;
+asn_struct_print_f M3period_print;
+asn_constr_check_f M3period_constraint;
+ber_type_decoder_f M3period_decode_ber;
+der_type_encoder_f M3period_encode_der;
+xer_type_decoder_f M3period_decode_xer;
+xer_type_encoder_f M3period_encode_xer;
+oer_type_decoder_f M3period_decode_oer;
+oer_type_encoder_f M3period_encode_oer;
+per_type_decoder_f M3period_decode_uper;
+per_type_encoder_f M3period_encode_uper;
+per_type_decoder_f M3period_decode_aper;
+per_type_encoder_f M3period_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _M3period_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/M4Configuration.h b/src/s1ap/asn1c/asnGenFiles/M4Configuration.h
new file mode 100644
index 0000000..e4fc32e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/M4Configuration.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_M4Configuration_H_
+#define	_M4Configuration_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "M4period.h"
+#include "Links-to-log.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* M4Configuration */
+typedef struct M4Configuration {
+	M4period_t	 m4period;
+	Links_to_log_t	 m4_links_to_log;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} M4Configuration_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_M4Configuration;
+extern asn_SEQUENCE_specifics_t asn_SPC_M4Configuration_specs_1;
+extern asn_TYPE_member_t asn_MBR_M4Configuration_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _M4Configuration_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/M4period.h b/src/s1ap/asn1c/asnGenFiles/M4period.h
new file mode 100644
index 0000000..98d8fa6
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/M4period.h
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_M4period_H_
+#define	_M4period_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum M4period {
+	M4period_ms1024	= 0,
+	M4period_ms2048	= 1,
+	M4period_ms5120	= 2,
+	M4period_ms10240	= 3,
+	M4period_min1	= 4
+	/*
+	 * Enumeration is extensible
+	 */
+} e_M4period;
+
+/* M4period */
+typedef long	 M4period_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_M4period_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_M4period;
+extern const asn_INTEGER_specifics_t asn_SPC_M4period_specs_1;
+asn_struct_free_f M4period_free;
+asn_struct_print_f M4period_print;
+asn_constr_check_f M4period_constraint;
+ber_type_decoder_f M4period_decode_ber;
+der_type_encoder_f M4period_encode_der;
+xer_type_decoder_f M4period_decode_xer;
+xer_type_encoder_f M4period_encode_xer;
+oer_type_decoder_f M4period_decode_oer;
+oer_type_encoder_f M4period_encode_oer;
+per_type_decoder_f M4period_decode_uper;
+per_type_encoder_f M4period_encode_uper;
+per_type_decoder_f M4period_decode_aper;
+per_type_encoder_f M4period_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _M4period_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/M5Configuration.h b/src/s1ap/asn1c/asnGenFiles/M5Configuration.h
new file mode 100644
index 0000000..2b916d0
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/M5Configuration.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_M5Configuration_H_
+#define	_M5Configuration_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "M5period.h"
+#include "Links-to-log.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* M5Configuration */
+typedef struct M5Configuration {
+	M5period_t	 m5period;
+	Links_to_log_t	 m5_links_to_log;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} M5Configuration_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_M5Configuration;
+extern asn_SEQUENCE_specifics_t asn_SPC_M5Configuration_specs_1;
+extern asn_TYPE_member_t asn_MBR_M5Configuration_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _M5Configuration_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/M5period.h b/src/s1ap/asn1c/asnGenFiles/M5period.h
new file mode 100644
index 0000000..eb18fbf
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/M5period.h
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_M5period_H_
+#define	_M5period_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum M5period {
+	M5period_ms1024	= 0,
+	M5period_ms2048	= 1,
+	M5period_ms5120	= 2,
+	M5period_ms10240	= 3,
+	M5period_min1	= 4
+	/*
+	 * Enumeration is extensible
+	 */
+} e_M5period;
+
+/* M5period */
+typedef long	 M5period_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_M5period_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_M5period;
+extern const asn_INTEGER_specifics_t asn_SPC_M5period_specs_1;
+asn_struct_free_f M5period_free;
+asn_struct_print_f M5period_print;
+asn_constr_check_f M5period_constraint;
+ber_type_decoder_f M5period_decode_ber;
+der_type_encoder_f M5period_encode_der;
+xer_type_decoder_f M5period_decode_xer;
+xer_type_encoder_f M5period_encode_xer;
+oer_type_decoder_f M5period_decode_oer;
+oer_type_encoder_f M5period_encode_oer;
+per_type_decoder_f M5period_decode_uper;
+per_type_encoder_f M5period_encode_uper;
+per_type_decoder_f M5period_decode_aper;
+per_type_encoder_f M5period_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _M5period_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/M6Configuration.h b/src/s1ap/asn1c/asnGenFiles/M6Configuration.h
new file mode 100644
index 0000000..86bbfd6
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/M6Configuration.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_M6Configuration_H_
+#define	_M6Configuration_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "M6report-Interval.h"
+#include "M6delay-threshold.h"
+#include "Links-to-log.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* M6Configuration */
+typedef struct M6Configuration {
+	M6report_Interval_t	 m6report_Interval;
+	M6delay_threshold_t	*m6delay_threshold;	/* OPTIONAL */
+	Links_to_log_t	 m6_links_to_log;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} M6Configuration_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_M6Configuration;
+extern asn_SEQUENCE_specifics_t asn_SPC_M6Configuration_specs_1;
+extern asn_TYPE_member_t asn_MBR_M6Configuration_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _M6Configuration_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/M6delay-threshold.h b/src/s1ap/asn1c/asnGenFiles/M6delay-threshold.h
new file mode 100644
index 0000000..7caa560
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/M6delay-threshold.h
@@ -0,0 +1,66 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_M6delay_threshold_H_
+#define	_M6delay_threshold_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum M6delay_threshold {
+	M6delay_threshold_ms30	= 0,
+	M6delay_threshold_ms40	= 1,
+	M6delay_threshold_ms50	= 2,
+	M6delay_threshold_ms60	= 3,
+	M6delay_threshold_ms70	= 4,
+	M6delay_threshold_ms80	= 5,
+	M6delay_threshold_ms90	= 6,
+	M6delay_threshold_ms100	= 7,
+	M6delay_threshold_ms150	= 8,
+	M6delay_threshold_ms300	= 9,
+	M6delay_threshold_ms500	= 10,
+	M6delay_threshold_ms750	= 11
+	/*
+	 * Enumeration is extensible
+	 */
+} e_M6delay_threshold;
+
+/* M6delay-threshold */
+typedef long	 M6delay_threshold_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_M6delay_threshold_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_M6delay_threshold;
+extern const asn_INTEGER_specifics_t asn_SPC_M6delay_threshold_specs_1;
+asn_struct_free_f M6delay_threshold_free;
+asn_struct_print_f M6delay_threshold_print;
+asn_constr_check_f M6delay_threshold_constraint;
+ber_type_decoder_f M6delay_threshold_decode_ber;
+der_type_encoder_f M6delay_threshold_encode_der;
+xer_type_decoder_f M6delay_threshold_decode_xer;
+xer_type_encoder_f M6delay_threshold_encode_xer;
+oer_type_decoder_f M6delay_threshold_decode_oer;
+oer_type_encoder_f M6delay_threshold_encode_oer;
+per_type_decoder_f M6delay_threshold_decode_uper;
+per_type_encoder_f M6delay_threshold_encode_uper;
+per_type_decoder_f M6delay_threshold_decode_aper;
+per_type_encoder_f M6delay_threshold_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _M6delay_threshold_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/M6report-Interval.h b/src/s1ap/asn1c/asnGenFiles/M6report-Interval.h
new file mode 100644
index 0000000..af6153e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/M6report-Interval.h
@@ -0,0 +1,58 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_M6report_Interval_H_
+#define	_M6report_Interval_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum M6report_Interval {
+	M6report_Interval_ms1024	= 0,
+	M6report_Interval_ms2048	= 1,
+	M6report_Interval_ms5120	= 2,
+	M6report_Interval_ms10240	= 3
+	/*
+	 * Enumeration is extensible
+	 */
+} e_M6report_Interval;
+
+/* M6report-Interval */
+typedef long	 M6report_Interval_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_M6report_Interval_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_M6report_Interval;
+extern const asn_INTEGER_specifics_t asn_SPC_M6report_Interval_specs_1;
+asn_struct_free_f M6report_Interval_free;
+asn_struct_print_f M6report_Interval_print;
+asn_constr_check_f M6report_Interval_constraint;
+ber_type_decoder_f M6report_Interval_decode_ber;
+der_type_encoder_f M6report_Interval_encode_der;
+xer_type_decoder_f M6report_Interval_decode_xer;
+xer_type_encoder_f M6report_Interval_encode_xer;
+oer_type_decoder_f M6report_Interval_decode_oer;
+oer_type_encoder_f M6report_Interval_encode_oer;
+per_type_decoder_f M6report_Interval_decode_uper;
+per_type_encoder_f M6report_Interval_encode_uper;
+per_type_decoder_f M6report_Interval_decode_aper;
+per_type_encoder_f M6report_Interval_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _M6report_Interval_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/M7Configuration.h b/src/s1ap/asn1c/asnGenFiles/M7Configuration.h
new file mode 100644
index 0000000..96aaef2
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/M7Configuration.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_M7Configuration_H_
+#define	_M7Configuration_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "M7period.h"
+#include "Links-to-log.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* M7Configuration */
+typedef struct M7Configuration {
+	M7period_t	 m7period;
+	Links_to_log_t	 m7_links_to_log;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} M7Configuration_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_M7Configuration;
+extern asn_SEQUENCE_specifics_t asn_SPC_M7Configuration_specs_1;
+extern asn_TYPE_member_t asn_MBR_M7Configuration_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _M7Configuration_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/M7period.h b/src/s1ap/asn1c/asnGenFiles/M7period.h
new file mode 100644
index 0000000..f868ba3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/M7period.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_M7period_H_
+#define	_M7period_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* M7period */
+typedef long	 M7period_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_M7period_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_M7period;
+asn_struct_free_f M7period_free;
+asn_struct_print_f M7period_print;
+asn_constr_check_f M7period_constraint;
+ber_type_decoder_f M7period_decode_ber;
+der_type_encoder_f M7period_encode_der;
+xer_type_decoder_f M7period_decode_xer;
+xer_type_encoder_f M7period_encode_xer;
+oer_type_decoder_f M7period_decode_oer;
+oer_type_encoder_f M7period_encode_oer;
+per_type_decoder_f M7period_decode_uper;
+per_type_encoder_f M7period_encode_uper;
+per_type_decoder_f M7period_decode_aper;
+per_type_encoder_f M7period_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _M7period_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MBSFN-ResultToLog.h b/src/s1ap/asn1c/asnGenFiles/MBSFN-ResultToLog.h
new file mode 100644
index 0000000..ebf87ce
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MBSFN-ResultToLog.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MBSFN_ResultToLog_H_
+#define	_MBSFN_ResultToLog_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct MBSFN_ResultToLogInfo;
+
+/* MBSFN-ResultToLog */
+typedef struct MBSFN_ResultToLog {
+	A_SEQUENCE_OF(struct MBSFN_ResultToLogInfo) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} MBSFN_ResultToLog_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MBSFN_ResultToLog;
+extern asn_SET_OF_specifics_t asn_SPC_MBSFN_ResultToLog_specs_1;
+extern asn_TYPE_member_t asn_MBR_MBSFN_ResultToLog_1[1];
+extern asn_per_constraints_t asn_PER_type_MBSFN_ResultToLog_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MBSFN_ResultToLog_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MBSFN-ResultToLogInfo.h b/src/s1ap/asn1c/asnGenFiles/MBSFN-ResultToLogInfo.h
new file mode 100644
index 0000000..a783c3d
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MBSFN-ResultToLogInfo.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MBSFN_ResultToLogInfo_H_
+#define	_MBSFN_ResultToLogInfo_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+#include "EARFCN.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* MBSFN-ResultToLogInfo */
+typedef struct MBSFN_ResultToLogInfo {
+	long	*mBSFN_AreaId;	/* OPTIONAL */
+	EARFCN_t	 carrierFreq;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} MBSFN_ResultToLogInfo_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MBSFN_ResultToLogInfo;
+extern asn_SEQUENCE_specifics_t asn_SPC_MBSFN_ResultToLogInfo_specs_1;
+extern asn_TYPE_member_t asn_MBR_MBSFN_ResultToLogInfo_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MBSFN_ResultToLogInfo_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MDT-Activation.h b/src/s1ap/asn1c/asnGenFiles/MDT-Activation.h
new file mode 100644
index 0000000..9c39d76
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MDT-Activation.h
@@ -0,0 +1,58 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MDT_Activation_H_
+#define	_MDT_Activation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum MDT_Activation {
+	MDT_Activation_immediate_MDT_only	= 0,
+	MDT_Activation_immediate_MDT_and_Trace	= 1,
+	MDT_Activation_logged_MDT_only	= 2,
+	/*
+	 * Enumeration is extensible
+	 */
+	MDT_Activation_logged_MBSFN_MDT	= 3
+} e_MDT_Activation;
+
+/* MDT-Activation */
+typedef long	 MDT_Activation_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_MDT_Activation_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_MDT_Activation;
+extern const asn_INTEGER_specifics_t asn_SPC_MDT_Activation_specs_1;
+asn_struct_free_f MDT_Activation_free;
+asn_struct_print_f MDT_Activation_print;
+asn_constr_check_f MDT_Activation_constraint;
+ber_type_decoder_f MDT_Activation_decode_ber;
+der_type_encoder_f MDT_Activation_encode_der;
+xer_type_decoder_f MDT_Activation_decode_xer;
+xer_type_encoder_f MDT_Activation_encode_xer;
+oer_type_decoder_f MDT_Activation_decode_oer;
+oer_type_encoder_f MDT_Activation_encode_oer;
+per_type_decoder_f MDT_Activation_decode_uper;
+per_type_encoder_f MDT_Activation_encode_uper;
+per_type_decoder_f MDT_Activation_decode_aper;
+per_type_encoder_f MDT_Activation_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MDT_Activation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MDT-Configuration.h b/src/s1ap/asn1c/asnGenFiles/MDT-Configuration.h
new file mode 100644
index 0000000..fd042ac
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MDT-Configuration.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MDT_Configuration_H_
+#define	_MDT_Configuration_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "MDT-Activation.h"
+#include "AreaScopeOfMDT.h"
+#include "MDTMode.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* MDT-Configuration */
+typedef struct MDT_Configuration {
+	MDT_Activation_t	 mdt_Activation;
+	AreaScopeOfMDT_t	 areaScopeOfMDT;
+	MDTMode_t	 mDTMode;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} MDT_Configuration_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MDT_Configuration;
+extern asn_SEQUENCE_specifics_t asn_SPC_MDT_Configuration_specs_1;
+extern asn_TYPE_member_t asn_MBR_MDT_Configuration_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MDT_Configuration_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MDT-Location-Info.h b/src/s1ap/asn1c/asnGenFiles/MDT-Location-Info.h
new file mode 100644
index 0000000..4a01749
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MDT-Location-Info.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MDT_Location_Info_H_
+#define	_MDT_Location_Info_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MDT-Location-Info */
+typedef BIT_STRING_t	 MDT_Location_Info_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_MDT_Location_Info_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_MDT_Location_Info;
+asn_struct_free_f MDT_Location_Info_free;
+asn_struct_print_f MDT_Location_Info_print;
+asn_constr_check_f MDT_Location_Info_constraint;
+ber_type_decoder_f MDT_Location_Info_decode_ber;
+der_type_encoder_f MDT_Location_Info_encode_der;
+xer_type_decoder_f MDT_Location_Info_decode_xer;
+xer_type_encoder_f MDT_Location_Info_encode_xer;
+oer_type_decoder_f MDT_Location_Info_decode_oer;
+oer_type_encoder_f MDT_Location_Info_encode_oer;
+per_type_decoder_f MDT_Location_Info_decode_uper;
+per_type_encoder_f MDT_Location_Info_encode_uper;
+per_type_decoder_f MDT_Location_Info_decode_aper;
+per_type_encoder_f MDT_Location_Info_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MDT_Location_Info_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MDTMode-Extension.h b/src/s1ap/asn1c/asnGenFiles/MDTMode-Extension.h
new file mode 100644
index 0000000..3dd700e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MDTMode-Extension.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MDTMode_Extension_H_
+#define	_MDTMode_Extension_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-SingleContainer.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MDTMode-Extension */
+typedef ProtocolIE_SingleContainer_132P4_t	 MDTMode_Extension_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MDTMode_Extension;
+asn_struct_free_f MDTMode_Extension_free;
+asn_struct_print_f MDTMode_Extension_print;
+asn_constr_check_f MDTMode_Extension_constraint;
+ber_type_decoder_f MDTMode_Extension_decode_ber;
+der_type_encoder_f MDTMode_Extension_encode_der;
+xer_type_decoder_f MDTMode_Extension_decode_xer;
+xer_type_encoder_f MDTMode_Extension_encode_xer;
+oer_type_decoder_f MDTMode_Extension_decode_oer;
+oer_type_encoder_f MDTMode_Extension_encode_oer;
+per_type_decoder_f MDTMode_Extension_decode_uper;
+per_type_encoder_f MDTMode_Extension_encode_uper;
+per_type_decoder_f MDTMode_Extension_decode_aper;
+per_type_encoder_f MDTMode_Extension_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MDTMode_Extension_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MDTMode.h b/src/s1ap/asn1c/asnGenFiles/MDTMode.h
new file mode 100644
index 0000000..8594543
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MDTMode.h
@@ -0,0 +1,63 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MDTMode_H_
+#define	_MDTMode_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum MDTMode_PR {
+	MDTMode_PR_NOTHING,	/* No components present */
+	MDTMode_PR_immediateMDT,
+	MDTMode_PR_loggedMDT,
+	/* Extensions may appear below */
+	MDTMode_PR_mDTMode_Extension
+} MDTMode_PR;
+
+/* Forward declarations */
+struct ImmediateMDT;
+struct LoggedMDT;
+struct MDTMode_Extension;
+
+/* MDTMode */
+typedef struct MDTMode {
+	MDTMode_PR present;
+	union MDTMode_u {
+		struct ImmediateMDT	*immediateMDT;
+		struct LoggedMDT	*loggedMDT;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+		struct MDTMode_Extension	*mDTMode_Extension;
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} MDTMode_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MDTMode;
+extern asn_CHOICE_specifics_t asn_SPC_MDTMode_specs_1;
+extern asn_TYPE_member_t asn_MBR_MDTMode_1[3];
+extern asn_per_constraints_t asn_PER_type_MDTMode_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MDTMode_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MDTPLMNList.h b/src/s1ap/asn1c/asnGenFiles/MDTPLMNList.h
new file mode 100644
index 0000000..b2d673b
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MDTPLMNList.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MDTPLMNList_H_
+#define	_MDTPLMNList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PLMNidentity.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MDTPLMNList */
+typedef struct MDTPLMNList {
+	A_SEQUENCE_OF(PLMNidentity_t) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} MDTPLMNList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MDTPLMNList;
+extern asn_SET_OF_specifics_t asn_SPC_MDTPLMNList_specs_1;
+extern asn_TYPE_member_t asn_MBR_MDTPLMNList_1[1];
+extern asn_per_constraints_t asn_PER_type_MDTPLMNList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MDTPLMNList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MME-Code.h b/src/s1ap/asn1c/asnGenFiles/MME-Code.h
new file mode 100644
index 0000000..83908a4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MME-Code.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MME_Code_H_
+#define	_MME_Code_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MME-Code */
+typedef OCTET_STRING_t	 MME_Code_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_MME_Code_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_MME_Code;
+asn_struct_free_f MME_Code_free;
+asn_struct_print_f MME_Code_print;
+asn_constr_check_f MME_Code_constraint;
+ber_type_decoder_f MME_Code_decode_ber;
+der_type_encoder_f MME_Code_encode_der;
+xer_type_decoder_f MME_Code_decode_xer;
+xer_type_encoder_f MME_Code_encode_xer;
+oer_type_decoder_f MME_Code_decode_oer;
+oer_type_encoder_f MME_Code_encode_oer;
+per_type_decoder_f MME_Code_decode_uper;
+per_type_encoder_f MME_Code_encode_uper;
+per_type_decoder_f MME_Code_decode_aper;
+per_type_encoder_f MME_Code_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MME_Code_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MME-Group-ID.h b/src/s1ap/asn1c/asnGenFiles/MME-Group-ID.h
new file mode 100644
index 0000000..8766143
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MME-Group-ID.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MME_Group_ID_H_
+#define	_MME_Group_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MME-Group-ID */
+typedef OCTET_STRING_t	 MME_Group_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_MME_Group_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_MME_Group_ID;
+asn_struct_free_f MME_Group_ID_free;
+asn_struct_print_f MME_Group_ID_print;
+asn_constr_check_f MME_Group_ID_constraint;
+ber_type_decoder_f MME_Group_ID_decode_ber;
+der_type_encoder_f MME_Group_ID_encode_der;
+xer_type_decoder_f MME_Group_ID_decode_xer;
+xer_type_encoder_f MME_Group_ID_encode_xer;
+oer_type_decoder_f MME_Group_ID_decode_oer;
+oer_type_encoder_f MME_Group_ID_encode_oer;
+per_type_decoder_f MME_Group_ID_decode_uper;
+per_type_encoder_f MME_Group_ID_encode_uper;
+per_type_decoder_f MME_Group_ID_decode_aper;
+per_type_encoder_f MME_Group_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MME_Group_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MME-UE-S1AP-ID.h b/src/s1ap/asn1c/asnGenFiles/MME-UE-S1AP-ID.h
new file mode 100644
index 0000000..ad56cf8
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MME-UE-S1AP-ID.h
@@ -0,0 +1,47 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MME_UE_S1AP_ID_H_
+#define	_MME_UE_S1AP_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MME-UE-S1AP-ID */
+typedef unsigned long	 MME_UE_S1AP_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_MME_UE_S1AP_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_MME_UE_S1AP_ID;
+extern const asn_INTEGER_specifics_t asn_SPC_MME_UE_S1AP_ID_specs_1;
+asn_struct_free_f MME_UE_S1AP_ID_free;
+asn_struct_print_f MME_UE_S1AP_ID_print;
+asn_constr_check_f MME_UE_S1AP_ID_constraint;
+ber_type_decoder_f MME_UE_S1AP_ID_decode_ber;
+der_type_encoder_f MME_UE_S1AP_ID_encode_der;
+xer_type_decoder_f MME_UE_S1AP_ID_decode_xer;
+xer_type_encoder_f MME_UE_S1AP_ID_encode_xer;
+oer_type_decoder_f MME_UE_S1AP_ID_decode_oer;
+oer_type_encoder_f MME_UE_S1AP_ID_encode_oer;
+per_type_decoder_f MME_UE_S1AP_ID_decode_uper;
+per_type_encoder_f MME_UE_S1AP_ID_encode_uper;
+per_type_decoder_f MME_UE_S1AP_ID_decode_aper;
+per_type_encoder_f MME_UE_S1AP_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MME_UE_S1AP_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MMECPRelocationIndication.h b/src/s1ap/asn1c/asnGenFiles/MMECPRelocationIndication.h
new file mode 100644
index 0000000..d456871
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MMECPRelocationIndication.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MMECPRelocationIndication_H_
+#define	_MMECPRelocationIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MMECPRelocationIndication */
+typedef struct MMECPRelocationIndication {
+	ProtocolIE_Container_129P90_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} MMECPRelocationIndication_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MMECPRelocationIndication;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MMECPRelocationIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MMEConfigurationTransfer.h b/src/s1ap/asn1c/asnGenFiles/MMEConfigurationTransfer.h
new file mode 100644
index 0000000..b6f87cd
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MMEConfigurationTransfer.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MMEConfigurationTransfer_H_
+#define	_MMEConfigurationTransfer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MMEConfigurationTransfer */
+typedef struct MMEConfigurationTransfer {
+	ProtocolIE_Container_129P68_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} MMEConfigurationTransfer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MMEConfigurationTransfer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MMEConfigurationTransfer_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MMEConfigurationUpdate.h b/src/s1ap/asn1c/asnGenFiles/MMEConfigurationUpdate.h
new file mode 100644
index 0000000..0b8cf53
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MMEConfigurationUpdate.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MMEConfigurationUpdate_H_
+#define	_MMEConfigurationUpdate_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MMEConfigurationUpdate */
+typedef struct MMEConfigurationUpdate {
+	ProtocolIE_Container_129P46_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} MMEConfigurationUpdate_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MMEConfigurationUpdate;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MMEConfigurationUpdate_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MMEConfigurationUpdateAcknowledge.h b/src/s1ap/asn1c/asnGenFiles/MMEConfigurationUpdateAcknowledge.h
new file mode 100644
index 0000000..eaf77f3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MMEConfigurationUpdateAcknowledge.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MMEConfigurationUpdateAcknowledge_H_
+#define	_MMEConfigurationUpdateAcknowledge_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MMEConfigurationUpdateAcknowledge */
+typedef struct MMEConfigurationUpdateAcknowledge {
+	ProtocolIE_Container_129P47_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} MMEConfigurationUpdateAcknowledge_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MMEConfigurationUpdateAcknowledge;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MMEConfigurationUpdateAcknowledge_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MMEConfigurationUpdateFailure.h b/src/s1ap/asn1c/asnGenFiles/MMEConfigurationUpdateFailure.h
new file mode 100644
index 0000000..e5ba87c
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MMEConfigurationUpdateFailure.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MMEConfigurationUpdateFailure_H_
+#define	_MMEConfigurationUpdateFailure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MMEConfigurationUpdateFailure */
+typedef struct MMEConfigurationUpdateFailure {
+	ProtocolIE_Container_129P48_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} MMEConfigurationUpdateFailure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MMEConfigurationUpdateFailure;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MMEConfigurationUpdateFailure_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MMEDirectInformationTransfer.h b/src/s1ap/asn1c/asnGenFiles/MMEDirectInformationTransfer.h
new file mode 100644
index 0000000..7a27af5
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MMEDirectInformationTransfer.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MMEDirectInformationTransfer_H_
+#define	_MMEDirectInformationTransfer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MMEDirectInformationTransfer */
+typedef struct MMEDirectInformationTransfer {
+	ProtocolIE_Container_129P66_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} MMEDirectInformationTransfer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MMEDirectInformationTransfer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MMEDirectInformationTransfer_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MMEPagingTarget.h b/src/s1ap/asn1c/asnGenFiles/MMEPagingTarget.h
new file mode 100644
index 0000000..6d1c682
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MMEPagingTarget.h
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MMEPagingTarget_H_
+#define	_MMEPagingTarget_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum MMEPagingTarget_PR {
+	MMEPagingTarget_PR_NOTHING,	/* No components present */
+	MMEPagingTarget_PR_global_ENB_ID,
+	MMEPagingTarget_PR_tAI
+	/* Extensions may appear below */
+	
+} MMEPagingTarget_PR;
+
+/* Forward declarations */
+struct Global_ENB_ID;
+struct S_TAI;
+
+/* MMEPagingTarget */
+typedef struct MMEPagingTarget {
+	MMEPagingTarget_PR present;
+	union MMEPagingTarget_u {
+		struct Global_ENB_ID	*global_ENB_ID;
+		struct S_TAI	*tAI;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} MMEPagingTarget_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MMEPagingTarget;
+extern asn_CHOICE_specifics_t asn_SPC_MMEPagingTarget_specs_1;
+extern asn_TYPE_member_t asn_MBR_MMEPagingTarget_1[2];
+extern asn_per_constraints_t asn_PER_type_MMEPagingTarget_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MMEPagingTarget_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MMERelaySupportIndicator.h b/src/s1ap/asn1c/asnGenFiles/MMERelaySupportIndicator.h
new file mode 100644
index 0000000..acb42e0
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MMERelaySupportIndicator.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MMERelaySupportIndicator_H_
+#define	_MMERelaySupportIndicator_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum MMERelaySupportIndicator {
+	MMERelaySupportIndicator_true	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_MMERelaySupportIndicator;
+
+/* MMERelaySupportIndicator */
+typedef long	 MMERelaySupportIndicator_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_MMERelaySupportIndicator_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_MMERelaySupportIndicator;
+extern const asn_INTEGER_specifics_t asn_SPC_MMERelaySupportIndicator_specs_1;
+asn_struct_free_f MMERelaySupportIndicator_free;
+asn_struct_print_f MMERelaySupportIndicator_print;
+asn_constr_check_f MMERelaySupportIndicator_constraint;
+ber_type_decoder_f MMERelaySupportIndicator_decode_ber;
+der_type_encoder_f MMERelaySupportIndicator_encode_der;
+xer_type_decoder_f MMERelaySupportIndicator_decode_xer;
+xer_type_encoder_f MMERelaySupportIndicator_encode_xer;
+oer_type_decoder_f MMERelaySupportIndicator_decode_oer;
+oer_type_encoder_f MMERelaySupportIndicator_encode_oer;
+per_type_decoder_f MMERelaySupportIndicator_decode_uper;
+per_type_encoder_f MMERelaySupportIndicator_encode_uper;
+per_type_decoder_f MMERelaySupportIndicator_decode_aper;
+per_type_encoder_f MMERelaySupportIndicator_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MMERelaySupportIndicator_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MMEStatusTransfer.h b/src/s1ap/asn1c/asnGenFiles/MMEStatusTransfer.h
new file mode 100644
index 0000000..16a0688
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MMEStatusTransfer.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MMEStatusTransfer_H_
+#define	_MMEStatusTransfer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MMEStatusTransfer */
+typedef struct MMEStatusTransfer {
+	ProtocolIE_Container_129P53_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} MMEStatusTransfer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MMEStatusTransfer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MMEStatusTransfer_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MMEname.h b/src/s1ap/asn1c/asnGenFiles/MMEname.h
new file mode 100644
index 0000000..966a804
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MMEname.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MMEname_H_
+#define	_MMEname_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <PrintableString.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MMEname */
+typedef PrintableString_t	 MMEname_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_MMEname_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_MMEname;
+asn_struct_free_f MMEname_free;
+asn_struct_print_f MMEname_print;
+asn_constr_check_f MMEname_constraint;
+ber_type_decoder_f MMEname_decode_ber;
+der_type_encoder_f MMEname_encode_der;
+xer_type_decoder_f MMEname_decode_xer;
+xer_type_encoder_f MMEname_encode_xer;
+oer_type_decoder_f MMEname_decode_oer;
+oer_type_encoder_f MMEname_encode_oer;
+per_type_decoder_f MMEname_decode_uper;
+per_type_encoder_f MMEname_encode_uper;
+per_type_decoder_f MMEname_decode_aper;
+per_type_encoder_f MMEname_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MMEname_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MSClassmark2.h b/src/s1ap/asn1c/asnGenFiles/MSClassmark2.h
new file mode 100644
index 0000000..ea6827a
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MSClassmark2.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MSClassmark2_H_
+#define	_MSClassmark2_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MSClassmark2 */
+typedef OCTET_STRING_t	 MSClassmark2_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MSClassmark2;
+asn_struct_free_f MSClassmark2_free;
+asn_struct_print_f MSClassmark2_print;
+asn_constr_check_f MSClassmark2_constraint;
+ber_type_decoder_f MSClassmark2_decode_ber;
+der_type_encoder_f MSClassmark2_encode_der;
+xer_type_decoder_f MSClassmark2_decode_xer;
+xer_type_encoder_f MSClassmark2_encode_xer;
+oer_type_decoder_f MSClassmark2_decode_oer;
+oer_type_encoder_f MSClassmark2_encode_oer;
+per_type_decoder_f MSClassmark2_decode_uper;
+per_type_encoder_f MSClassmark2_encode_uper;
+per_type_decoder_f MSClassmark2_decode_aper;
+per_type_encoder_f MSClassmark2_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MSClassmark2_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MSClassmark3.h b/src/s1ap/asn1c/asnGenFiles/MSClassmark3.h
new file mode 100644
index 0000000..1e08564
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MSClassmark3.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MSClassmark3_H_
+#define	_MSClassmark3_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MSClassmark3 */
+typedef OCTET_STRING_t	 MSClassmark3_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MSClassmark3;
+asn_struct_free_f MSClassmark3_free;
+asn_struct_print_f MSClassmark3_print;
+asn_constr_check_f MSClassmark3_constraint;
+ber_type_decoder_f MSClassmark3_decode_ber;
+der_type_encoder_f MSClassmark3_encode_der;
+xer_type_decoder_f MSClassmark3_decode_xer;
+xer_type_encoder_f MSClassmark3_encode_xer;
+oer_type_decoder_f MSClassmark3_decode_oer;
+oer_type_encoder_f MSClassmark3_encode_oer;
+per_type_decoder_f MSClassmark3_decode_uper;
+per_type_encoder_f MSClassmark3_encode_uper;
+per_type_decoder_f MSClassmark3_decode_aper;
+per_type_encoder_f MSClassmark3_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MSClassmark3_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Makefile.am.asn1convert b/src/s1ap/asn1c/asnGenFiles/Makefile.am.asn1convert
new file mode 100644
index 0000000..acb5e59
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Makefile.am.asn1convert
@@ -0,0 +1,13 @@
+include Makefile.am.libasncodec
+
+bin_PROGRAMS += asn1convert
+asn1convert_CFLAGS = $(ASN_MODULE_CFLAGS) -DPDU=S1AP_PDU 
+asn1convert_CPPFLAGS = -I$(top_srcdir)/
+asn1convert_LDADD = libasncodec.la
+asn1convert_SOURCES = \
+	converter-example.c
+regen: regenerate-from-asn1-source
+
+regenerate-from-asn1-source:
+	asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU ./asn1c/S1AP-CommonDataTypes.asn ./asn1c/S1AP-Constants.asn ./asn1c/S1AP-Containers.asn ./asn1c/S1AP-IEs.asn ./asn1c/S1AP-PDU-Contents.asn ./asn1c/S1AP-PDU-Descriptions.asn
+
diff --git a/src/s1ap/asn1c/asnGenFiles/Makefile.am.libasncodec b/src/s1ap/asn1c/asnGenFiles/Makefile.am.libasncodec
new file mode 100644
index 0000000..2c5fb29
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Makefile.am.libasncodec
@@ -0,0 +1,1294 @@
+ASN_MODULE_SRCS=	\
+	Criticality.c	\
+	Presence.c	\
+	PrivateIE-ID.c	\
+	ProcedureCode.c	\
+	ProtocolExtensionID.c	\
+	ProtocolIE-ID.c	\
+	TriggeringMessage.c	\
+	ProtocolIE-Container.c	\
+	ProtocolIE-SingleContainer.c	\
+	ProtocolIE-Field.c	\
+	ProtocolIE-ContainerPair.c	\
+	ProtocolIE-FieldPair.c	\
+	ProtocolIE-ContainerList.c	\
+	ProtocolIE-ContainerPairList.c	\
+	ProtocolExtensionContainer.c	\
+	ProtocolExtensionField.c	\
+	PrivateIE-Container.c	\
+	PrivateIE-Field.c	\
+	Additional-GUTI.c	\
+	AerialUEsubscriptionInformation.c	\
+	AreaScopeOfMDT.c	\
+	AreaScopeOfQMC.c	\
+	AllocationAndRetentionPriority.c	\
+	AssistanceDataForCECapableUEs.c	\
+	AssistanceDataForPaging.c	\
+	AssistanceDataForRecommendedCells.c	\
+	Bearers-SubjectToStatusTransferList.c	\
+	Bearers-SubjectToStatusTransfer-Item.c	\
+	BearerType.c	\
+	BitRate.c	\
+	BluetoothMeasurementConfiguration.c	\
+	BluetoothMeasConfigNameList.c	\
+	BluetoothMeasConfig.c	\
+	BluetoothName.c	\
+	BPLMNs.c	\
+	BroadcastCancelledAreaList.c	\
+	BroadcastCompletedAreaList.c	\
+	CancelledCellinEAI.c	\
+	CancelledCellinEAI-Item.c	\
+	CancelledCellinTAI.c	\
+	CancelledCellinTAI-Item.c	\
+	Cause.c	\
+	CauseMisc.c	\
+	CauseProtocol.c	\
+	CauseRadioNetwork.c	\
+	CauseTransport.c	\
+	CauseNas.c	\
+	CellAccessMode.c	\
+	CellIdentifierAndCELevelForCECapableUEs.c	\
+	CELevel.c	\
+	CE-mode-B-SupportIndicator.c	\
+	CellIdentity.c	\
+	CellID-Broadcast.c	\
+	CellID-Broadcast-Item.c	\
+	CellID-Cancelled.c	\
+	CellID-Cancelled-Item.c	\
+	CellBasedMDT.c	\
+	CellIdListforMDT.c	\
+	CellBasedQMC.c	\
+	CellIdListforQMC.c	\
+	Cdma2000PDU.c	\
+	Cdma2000RATType.c	\
+	Cdma2000SectorID.c	\
+	Cdma2000HOStatus.c	\
+	Cdma2000HORequiredIndication.c	\
+	Cdma2000OneXSRVCCInfo.c	\
+	Cdma2000OneXMEID.c	\
+	Cdma2000OneXMSI.c	\
+	Cdma2000OneXPilot.c	\
+	Cdma2000OneXRAND.c	\
+	Cell-Size.c	\
+	CellType.c	\
+	CGI.c	\
+	CI.c	\
+	CNDomain.c	\
+	CNTypeRestrictions.c	\
+	CNTypeRestrictions-Item.c	\
+	CNType.c	\
+	ConcurrentWarningMessageIndicator.c	\
+	ConnectedengNBList.c	\
+	ConnectedengNBItem.c	\
+	Correlation-ID.c	\
+	CSFallbackIndicator.c	\
+	AdditionalCSFallbackIndicator.c	\
+	CSG-Id.c	\
+	CSG-IdList.c	\
+	CSG-IdList-Item.c	\
+	CSGMembershipStatus.c	\
+	COUNTvalue.c	\
+	COUNTValueExtended.c	\
+	COUNTvaluePDCP-SNlength18.c	\
+	Coverage-Level.c	\
+	CriticalityDiagnostics.c	\
+	CriticalityDiagnostics-IE-List.c	\
+	CriticalityDiagnostics-IE-Item.c	\
+	DataCodingScheme.c	\
+	DCN-ID.c	\
+	ServedDCNs.c	\
+	ServedDCNsItem.c	\
+	DL-CP-SecurityInformation.c	\
+	DL-Forwarding.c	\
+	DL-NAS-MAC.c	\
+	Direct-Forwarding-Path-Availability.c	\
+	Data-Forwarding-Not-Possible.c	\
+	DLNASPDUDeliveryAckRequest.c	\
+	EARFCN.c	\
+	ECGIList.c	\
+	PWSfailedECGIList.c	\
+	EDT-Session.c	\
+	EmergencyAreaIDList.c	\
+	EmergencyAreaID.c	\
+	EmergencyAreaID-Broadcast.c	\
+	EmergencyAreaID-Broadcast-Item.c	\
+	EmergencyAreaID-Cancelled.c	\
+	EmergencyAreaID-Cancelled-Item.c	\
+	CompletedCellinEAI.c	\
+	CompletedCellinEAI-Item.c	\
+	ECGI-List.c	\
+	EmergencyAreaIDListForRestart.c	\
+	ENB-ID.c	\
+	En-gNB-ID.c	\
+	GERAN-Cell-ID.c	\
+	Global-ENB-ID.c	\
+	Global-en-gNB-ID.c	\
+	GUMMEIList.c	\
+	ENB-StatusTransfer-TransparentContainer.c	\
+	ENB-UE-S1AP-ID.c	\
+	ENBname.c	\
+	ENBX2TLAs.c	\
+	EncryptionAlgorithms.c	\
+	EN-DCSONConfigurationTransfer.c	\
+	EN-DCSONTransferType.c	\
+	EN-DCTransferTypeRequest.c	\
+	EN-DCTransferTypeReply.c	\
+	EN-DCSONeNBIdentification.c	\
+	EN-DCSONengNBIdentification.c	\
+	EndIndication.c	\
+	EnhancedCoverageRestricted.c	\
+	CE-ModeBRestricted.c	\
+	EPLMNs.c	\
+	EventType.c	\
+	E-RAB-ID.c	\
+	E-RABInformationList.c	\
+	E-RABInformationListItem.c	\
+	E-RABList.c	\
+	E-RABItem.c	\
+	E-RABLevelQoSParameters.c	\
+	E-RABUsageReportList.c	\
+	E-RABUsageReportItem.c	\
+	EUTRAN-CGI.c	\
+	EUTRANRoundTripDelayEstimationInfo.c	\
+	ExpectedUEBehaviour.c	\
+	ExpectedUEActivityBehaviour.c	\
+	ExpectedActivityPeriod.c	\
+	ExpectedIdlePeriod.c	\
+	SourceOfUEActivityBehaviourInformation.c	\
+	ExpectedHOInterval.c	\
+	ExtendedBitRate.c	\
+	ExtendedRNC-ID.c	\
+	ExtendedRepetitionPeriod.c	\
+	Extended-UEIdentityIndexValue.c	\
+	FiveGSTAC.c	\
+	FiveGSTAI.c	\
+	ForbiddenInterRATs.c	\
+	ForbiddenTAs.c	\
+	ForbiddenTAs-Item.c	\
+	ForbiddenTACs.c	\
+	ForbiddenLAs.c	\
+	ForbiddenLAs-Item.c	\
+	ForbiddenLACs.c	\
+	GBR-QosInformation.c	\
+	GTP-TEID.c	\
+	GUMMEI.c	\
+	GUMMEIType.c	\
+	GWContextReleaseIndication.c	\
+	HandoverFlag.c	\
+	HandoverRestrictionList.c	\
+	HandoverType.c	\
+	HFN.c	\
+	HFNModified.c	\
+	HFNforPDCP-SNlength18.c	\
+	Masked-IMEISV.c	\
+	ImmediateMDT.c	\
+	IMSI.c	\
+	InformationOnRecommendedCellsAndENBsForPaging.c	\
+	IntegrityProtectionAlgorithms.c	\
+	IntendedNumberOfPagingAttempts.c	\
+	InterfacesToTrace.c	\
+	IMSvoiceEPSfallbackfrom5G.c	\
+	KillAllWarningMessages.c	\
+	LAC.c	\
+	LAI.c	\
+	LastVisitedCell-Item.c	\
+	LastVisitedEUTRANCellInformation.c	\
+	LastVisitedNGRANCellInformation.c	\
+	LastVisitedUTRANCellInformation.c	\
+	LastVisitedGERANCellInformation.c	\
+	L3-Information.c	\
+	LPPa-PDU.c	\
+	LHN-ID.c	\
+	Links-to-log.c	\
+	ListeningSubframePattern.c	\
+	LoggedMDT.c	\
+	LoggingInterval.c	\
+	LoggingDuration.c	\
+	LoggedMBSFNMDT.c	\
+	LTE-M-Indication.c	\
+	M3Configuration.c	\
+	M3period.c	\
+	M4Configuration.c	\
+	M4period.c	\
+	M5Configuration.c	\
+	M5period.c	\
+	M6Configuration.c	\
+	M6report-Interval.c	\
+	M6delay-threshold.c	\
+	M7Configuration.c	\
+	M7period.c	\
+	MDT-Activation.c	\
+	MDT-Location-Info.c	\
+	MDT-Configuration.c	\
+	ManagementBasedMDTAllowed.c	\
+	MBSFN-ResultToLog.c	\
+	MBSFN-ResultToLogInfo.c	\
+	MDTPLMNList.c	\
+	PrivacyIndicator.c	\
+	MDTMode.c	\
+	MDTMode-Extension.c	\
+	MeasurementsToActivate.c	\
+	MeasurementThresholdA2.c	\
+	MessageIdentifier.c	\
+	MobilityInformation.c	\
+	MMEname.c	\
+	MMEPagingTarget.c	\
+	MMERelaySupportIndicator.c	\
+	MME-Group-ID.c	\
+	MME-Code.c	\
+	MME-UE-S1AP-ID.c	\
+	M-TMSI.c	\
+	MSClassmark2.c	\
+	MSClassmark3.c	\
+	MutingAvailabilityIndication.c	\
+	MutingPatternInformation.c	\
+	NAS-PDU.c	\
+	NASSecurityParametersfromE-UTRAN.c	\
+	NASSecurityParameterstoE-UTRAN.c	\
+	NB-IoT-DefaultPagingDRX.c	\
+	NB-IoT-Paging-eDRXInformation.c	\
+	NB-IoT-Paging-eDRX-Cycle.c	\
+	NB-IoT-PagingTimeWindow.c	\
+	NB-IoT-UEIdentityIndexValue.c	\
+	NextPagingAreaScope.c	\
+	NRCellIdentity.c	\
+	NR-CGI.c	\
+	NRencryptionAlgorithms.c	\
+	NRintegrityProtectionAlgorithms.c	\
+	NRrestrictioninEPSasSecondaryRAT.c	\
+	NRrestrictionin5GS.c	\
+	NRUESecurityCapabilities.c	\
+	NumberofBroadcastRequest.c	\
+	NumberOfBroadcasts.c	\
+	OldBSS-ToNewBSS-Information.c	\
+	OverloadAction.c	\
+	OverloadResponse.c	\
+	Packet-LossRate.c	\
+	PagingAttemptInformation.c	\
+	PagingAttemptCount.c	\
+	Paging-eDRXInformation.c	\
+	Paging-eDRX-Cycle.c	\
+	PagingTimeWindow.c	\
+	PagingDRX.c	\
+	PagingPriority.c	\
+	PDCP-SN.c	\
+	PDCP-SNExtended.c	\
+	PDCP-SNlength18.c	\
+	PendingDataIndication.c	\
+	M1PeriodicReporting.c	\
+	PLMNidentity.c	\
+	PLMNAreaBasedQMC.c	\
+	PLMNListforQMC.c	\
+	Port-Number.c	\
+	Pre-emptionCapability.c	\
+	Pre-emptionVulnerability.c	\
+	PriorityLevel.c	\
+	ProSeAuthorized.c	\
+	ProSeDirectDiscovery.c	\
+	ProSeUEtoNetworkRelaying.c	\
+	ProSeDirectCommunication.c	\
+	PS-ServiceNotAvailable.c	\
+	PSCellInformation.c	\
+	QCI.c	\
+	ReceiveStatusofULPDCPSDUs.c	\
+	ReceiveStatusOfULPDCPSDUsExtended.c	\
+	ReceiveStatusOfULPDCPSDUsPDCP-SNlength18.c	\
+	RecommendedCellsForPaging.c	\
+	RecommendedCellList.c	\
+	RecommendedCellItem.c	\
+	RecommendedENBsForPaging.c	\
+	RecommendedENBList.c	\
+	RecommendedENBItem.c	\
+	RelativeMMECapacity.c	\
+	RelayNode-Indicator.c	\
+	RAC.c	\
+	RAT-Type.c	\
+	ReportAmountMDT.c	\
+	ReportIntervalMDT.c	\
+	M1ReportingTrigger.c	\
+	RequestType.c	\
+	RequestTypeAdditionalInfo.c	\
+	RIMTransfer.c	\
+	RIMInformation.c	\
+	RIMRoutingAddress.c	\
+	ReportArea.c	\
+	RepetitionPeriod.c	\
+	RLFReportInformation.c	\
+	RNC-ID.c	\
+	RRC-Container.c	\
+	RRC-Establishment-Cause.c	\
+	ECGIListForRestart.c	\
+	Routing-ID.c	\
+	SecurityKey.c	\
+	SecurityContext.c	\
+	SecondaryRATType.c	\
+	SecondaryRATDataUsageRequest.c	\
+	SecondaryRATDataUsageReportList.c	\
+	SecondaryRATDataUsageReportItem.c	\
+	SerialNumber.c	\
+	ServiceType.c	\
+	SONInformation.c	\
+	SONInformation-Extension.c	\
+	SONInformationRequest.c	\
+	SONInformationReply.c	\
+	SONInformationReport.c	\
+	SONConfigurationTransfer.c	\
+	SynchronisationInformation.c	\
+	Source-ToTarget-TransparentContainer.c	\
+	SourceBSS-ToTargetBSS-TransparentContainer.c	\
+	SourceeNB-ID.c	\
+	SRVCCOperationNotPossible.c	\
+	SRVCCOperationPossible.c	\
+	SRVCCHOIndication.c	\
+	SourceeNB-ToTargeteNB-TransparentContainer.c	\
+	SourceRNC-ToTargetRNC-TransparentContainer.c	\
+	SourceNgRanNode-ToTargetNgRanNode-TransparentContainer.c	\
+	ServedGUMMEIs.c	\
+	ServedGUMMEIsItem.c	\
+	ServedGroupIDs.c	\
+	ServedMMECs.c	\
+	ServedPLMNs.c	\
+	SubscriberProfileIDforRFP.c	\
+	Subscription-Based-UE-DifferentiationInfo.c	\
+	ScheduledCommunicationTime.c	\
+	SupportedTAs.c	\
+	SupportedTAs-Item.c	\
+	StratumLevel.c	\
+	SynchronisationStatus.c	\
+	TimeSynchronisationInfo.c	\
+	S-TMSI.c	\
+	TAC.c	\
+	TAIBasedMDT.c	\
+	TAIListforMDT.c	\
+	TAIListforWarning.c	\
+	TAI.c	\
+	TAI-Broadcast.c	\
+	TAI-Broadcast-Item.c	\
+	TAI-Cancelled.c	\
+	TAI-Cancelled-Item.c	\
+	TABasedMDT.c	\
+	TAListforMDT.c	\
+	TABasedQMC.c	\
+	TAListforQMC.c	\
+	TAIBasedQMC.c	\
+	TAIListforQMC.c	\
+	CompletedCellinTAI.c	\
+	CompletedCellinTAI-Item.c	\
+	TBCD-STRING.c	\
+	TargetID.c	\
+	TargeteNB-ID.c	\
+	TargetRNC-ID.c	\
+	TargetNgRanNode-ID.c	\
+	Global-RAN-NODE-ID.c	\
+	GNB.c	\
+	Global-GNB-ID.c	\
+	GNB-Identity.c	\
+	NG-eNB.c	\
+	GNB-ID.c	\
+	TargeteNB-ToSourceeNB-TransparentContainer.c	\
+	Target-ToSource-TransparentContainer.c	\
+	TargetRNC-ToSourceRNC-TransparentContainer.c	\
+	TargetBSS-ToSourceBSS-TransparentContainer.c	\
+	TargetNgRanNode-ToSourceNgRanNode-TransparentContainer.c	\
+	M1ThresholdEventA2.c	\
+	Threshold-RSRP.c	\
+	Threshold-RSRQ.c	\
+	TimeToWait.c	\
+	Time-UE-StayedInCell.c	\
+	Time-UE-StayedInCell-EnhancedGranularity.c	\
+	TimeSinceSecondaryNodeRelease.c	\
+	TransportInformation.c	\
+	TransportLayerAddress.c	\
+	TraceActivation.c	\
+	TraceDepth.c	\
+	E-UTRAN-Trace-ID.c	\
+	TrafficLoadReductionIndication.c	\
+	TunnelInformation.c	\
+	TypeOfError.c	\
+	TAIListForRestart.c	\
+	UEAggregateMaximumBitrate.c	\
+	UEAppLayerMeasConfig.c	\
+	UECapabilityInfoRequest.c	\
+	UE-RetentionInformation.c	\
+	UE-S1AP-IDs.c	\
+	UE-S1AP-ID-pair.c	\
+	UE-associatedLogicalS1-ConnectionItem.c	\
+	UEIdentityIndexValue.c	\
+	UE-HistoryInformation.c	\
+	UE-HistoryInformationFromTheUE.c	\
+	UEPagingID.c	\
+	UERadioCapability.c	\
+	UERadioCapabilityForPaging.c	\
+	UE-RLF-Report-Container.c	\
+	UE-RLF-Report-Container-for-extended-bands.c	\
+	UESecurityCapabilities.c	\
+	UESidelinkAggregateMaximumBitrate.c	\
+	UE-Usage-Type.c	\
+	UL-CP-SecurityInformation.c	\
+	UL-NAS-MAC.c	\
+	UL-NAS-Count.c	\
+	UnlicensedSpectrumRestriction.c	\
+	UserLocationInformation.c	\
+	UEUserPlaneCIoTSupportIndicator.c	\
+	UE-Application-Layer-Measurement-Capability.c	\
+	VoiceSupportMatchIndicator.c	\
+	V2XServicesAuthorized.c	\
+	VehicleUE.c	\
+	PedestrianUE.c	\
+	WarningAreaCoordinates.c	\
+	WarningAreaList.c	\
+	WarningType.c	\
+	WarningSecurityInfo.c	\
+	WarningMessageContents.c	\
+	WLANMeasurementConfiguration.c	\
+	WLANMeasConfigNameList.c	\
+	WLANMeasConfig.c	\
+	WLANName.c	\
+	X2TNLConfigurationInfo.c	\
+	ENBX2ExtTLAs.c	\
+	ENBX2ExtTLA.c	\
+	ENBX2GTPTLAs.c	\
+	ENBIndirectX2TransportLayerAddresses.c	\
+	E-RAB-IE-ContainerList.c	\
+	E-RAB-IE-ContainerPairList.c	\
+	ProtocolError-IE-ContainerList.c	\
+	HandoverRequired.c	\
+	HandoverCommand.c	\
+	E-RABSubjecttoDataForwardingList.c	\
+	E-RABDataForwardingItem.c	\
+	HandoverPreparationFailure.c	\
+	HandoverRequest.c	\
+	E-RABToBeSetupListHOReq.c	\
+	E-RABToBeSetupItemHOReq.c	\
+	HandoverRequestAcknowledge.c	\
+	E-RABAdmittedList.c	\
+	E-RABAdmittedItem.c	\
+	E-RABFailedtoSetupListHOReqAck.c	\
+	E-RABFailedToSetupItemHOReqAck.c	\
+	HandoverFailure.c	\
+	HandoverNotify.c	\
+	PathSwitchRequest.c	\
+	E-RABToBeSwitchedDLList.c	\
+	E-RABToBeSwitchedDLItem.c	\
+	PathSwitchRequestAcknowledge.c	\
+	E-RABToBeSwitchedULList.c	\
+	E-RABToBeSwitchedULItem.c	\
+	PathSwitchRequestFailure.c	\
+	HandoverCancel.c	\
+	HandoverCancelAcknowledge.c	\
+	E-RABSetupRequest.c	\
+	E-RABToBeSetupListBearerSUReq.c	\
+	E-RABToBeSetupItemBearerSUReq.c	\
+	E-RABSetupResponse.c	\
+	E-RABSetupListBearerSURes.c	\
+	E-RABSetupItemBearerSURes.c	\
+	E-RABModifyRequest.c	\
+	E-RABToBeModifiedListBearerModReq.c	\
+	E-RABToBeModifiedItemBearerModReq.c	\
+	E-RABModifyResponse.c	\
+	E-RABModifyListBearerModRes.c	\
+	E-RABModifyItemBearerModRes.c	\
+	E-RABReleaseCommand.c	\
+	E-RABReleaseResponse.c	\
+	E-RABReleaseListBearerRelComp.c	\
+	E-RABReleaseItemBearerRelComp.c	\
+	E-RABReleaseIndication.c	\
+	InitialContextSetupRequest.c	\
+	E-RABToBeSetupListCtxtSUReq.c	\
+	E-RABToBeSetupItemCtxtSUReq.c	\
+	InitialContextSetupResponse.c	\
+	E-RABSetupListCtxtSURes.c	\
+	E-RABSetupItemCtxtSURes.c	\
+	InitialContextSetupFailure.c	\
+	Paging.c	\
+	TAIList.c	\
+	TAIItem.c	\
+	UEContextReleaseRequest.c	\
+	UEContextReleaseCommand.c	\
+	UEContextReleaseComplete.c	\
+	UEContextModificationRequest.c	\
+	UEContextModificationResponse.c	\
+	UEContextModificationFailure.c	\
+	UERadioCapabilityMatchRequest.c	\
+	UERadioCapabilityMatchResponse.c	\
+	DownlinkNASTransport.c	\
+	InitialUEMessage.c	\
+	UplinkNASTransport.c	\
+	NASNonDeliveryIndication.c	\
+	RerouteNASRequest.c	\
+	NASDeliveryIndication.c	\
+	Reset.c	\
+	ResetType.c	\
+	ResetAll.c	\
+	UE-associatedLogicalS1-ConnectionListRes.c	\
+	ResetAcknowledge.c	\
+	UE-associatedLogicalS1-ConnectionListResAck.c	\
+	ErrorIndication.c	\
+	S1SetupRequest.c	\
+	S1SetupResponse.c	\
+	S1SetupFailure.c	\
+	ENBConfigurationUpdate.c	\
+	ENBConfigurationUpdateAcknowledge.c	\
+	ENBConfigurationUpdateFailure.c	\
+	MMEConfigurationUpdate.c	\
+	MMEConfigurationUpdateAcknowledge.c	\
+	MMEConfigurationUpdateFailure.c	\
+	DownlinkS1cdma2000tunnelling.c	\
+	UplinkS1cdma2000tunnelling.c	\
+	UECapabilityInfoIndication.c	\
+	ENBStatusTransfer.c	\
+	MMEStatusTransfer.c	\
+	TraceStart.c	\
+	TraceFailureIndication.c	\
+	DeactivateTrace.c	\
+	CellTrafficTrace.c	\
+	LocationReportingControl.c	\
+	LocationReportingFailureIndication.c	\
+	LocationReport.c	\
+	OverloadStart.c	\
+	OverloadStop.c	\
+	WriteReplaceWarningRequest.c	\
+	WriteReplaceWarningResponse.c	\
+	ENBDirectInformationTransfer.c	\
+	Inter-SystemInformationTransferType.c	\
+	MMEDirectInformationTransfer.c	\
+	ENBConfigurationTransfer.c	\
+	MMEConfigurationTransfer.c	\
+	PrivateMessage.c	\
+	KillRequest.c	\
+	KillResponse.c	\
+	PWSRestartIndication.c	\
+	PWSFailureIndication.c	\
+	DownlinkUEAssociatedLPPaTransport.c	\
+	UplinkUEAssociatedLPPaTransport.c	\
+	DownlinkNonUEAssociatedLPPaTransport.c	\
+	UplinkNonUEAssociatedLPPaTransport.c	\
+	E-RABModificationIndication.c	\
+	E-RABToBeModifiedListBearerModInd.c	\
+	E-RABToBeModifiedItemBearerModInd.c	\
+	E-RABNotToBeModifiedListBearerModInd.c	\
+	E-RABNotToBeModifiedItemBearerModInd.c	\
+	CSGMembershipInfo.c	\
+	E-RABModificationConfirm.c	\
+	E-RABModifyListBearerModConf.c	\
+	E-RABModifyItemBearerModConf.c	\
+	UEContextModificationIndication.c	\
+	UEContextModificationConfirm.c	\
+	UEContextSuspendRequest.c	\
+	UEContextSuspendResponse.c	\
+	UEContextResumeRequest.c	\
+	E-RABFailedToResumeListResumeReq.c	\
+	E-RABFailedToResumeItemResumeReq.c	\
+	UEContextResumeResponse.c	\
+	E-RABFailedToResumeListResumeRes.c	\
+	E-RABFailedToResumeItemResumeRes.c	\
+	UEContextResumeFailure.c	\
+	ConnectionEstablishmentIndication.c	\
+	RetrieveUEInformation.c	\
+	UEInformationTransfer.c	\
+	ENBCPRelocationIndication.c	\
+	MMECPRelocationIndication.c	\
+	SecondaryRATDataUsageReport.c	\
+	S1AP-PDU.c	\
+	InitiatingMessage.c	\
+	SuccessfulOutcome.c	\
+	UnsuccessfulOutcome.c	\
+	EXTERNAL.c
+
+ASN_MODULE_HDRS=	\
+	Criticality.h	\
+	Presence.h	\
+	PrivateIE-ID.h	\
+	ProcedureCode.h	\
+	ProtocolExtensionID.h	\
+	ProtocolIE-ID.h	\
+	TriggeringMessage.h	\
+	ProtocolIE-Container.h	\
+	ProtocolIE-SingleContainer.h	\
+	ProtocolIE-Field.h	\
+	ProtocolIE-ContainerPair.h	\
+	ProtocolIE-FieldPair.h	\
+	ProtocolIE-ContainerList.h	\
+	ProtocolIE-ContainerPairList.h	\
+	ProtocolExtensionContainer.h	\
+	ProtocolExtensionField.h	\
+	PrivateIE-Container.h	\
+	PrivateIE-Field.h	\
+	Additional-GUTI.h	\
+	AerialUEsubscriptionInformation.h	\
+	AreaScopeOfMDT.h	\
+	AreaScopeOfQMC.h	\
+	AllocationAndRetentionPriority.h	\
+	AssistanceDataForCECapableUEs.h	\
+	AssistanceDataForPaging.h	\
+	AssistanceDataForRecommendedCells.h	\
+	Bearers-SubjectToStatusTransferList.h	\
+	Bearers-SubjectToStatusTransfer-Item.h	\
+	BearerType.h	\
+	BitRate.h	\
+	BluetoothMeasurementConfiguration.h	\
+	BluetoothMeasConfigNameList.h	\
+	BluetoothMeasConfig.h	\
+	BluetoothName.h	\
+	BPLMNs.h	\
+	BroadcastCancelledAreaList.h	\
+	BroadcastCompletedAreaList.h	\
+	CancelledCellinEAI.h	\
+	CancelledCellinEAI-Item.h	\
+	CancelledCellinTAI.h	\
+	CancelledCellinTAI-Item.h	\
+	Cause.h	\
+	CauseMisc.h	\
+	CauseProtocol.h	\
+	CauseRadioNetwork.h	\
+	CauseTransport.h	\
+	CauseNas.h	\
+	CellAccessMode.h	\
+	CellIdentifierAndCELevelForCECapableUEs.h	\
+	CELevel.h	\
+	CE-mode-B-SupportIndicator.h	\
+	CellIdentity.h	\
+	CellID-Broadcast.h	\
+	CellID-Broadcast-Item.h	\
+	CellID-Cancelled.h	\
+	CellID-Cancelled-Item.h	\
+	CellBasedMDT.h	\
+	CellIdListforMDT.h	\
+	CellBasedQMC.h	\
+	CellIdListforQMC.h	\
+	Cdma2000PDU.h	\
+	Cdma2000RATType.h	\
+	Cdma2000SectorID.h	\
+	Cdma2000HOStatus.h	\
+	Cdma2000HORequiredIndication.h	\
+	Cdma2000OneXSRVCCInfo.h	\
+	Cdma2000OneXMEID.h	\
+	Cdma2000OneXMSI.h	\
+	Cdma2000OneXPilot.h	\
+	Cdma2000OneXRAND.h	\
+	Cell-Size.h	\
+	CellType.h	\
+	CGI.h	\
+	CI.h	\
+	CNDomain.h	\
+	CNTypeRestrictions.h	\
+	CNTypeRestrictions-Item.h	\
+	CNType.h	\
+	ConcurrentWarningMessageIndicator.h	\
+	ConnectedengNBList.h	\
+	ConnectedengNBItem.h	\
+	Correlation-ID.h	\
+	CSFallbackIndicator.h	\
+	AdditionalCSFallbackIndicator.h	\
+	CSG-Id.h	\
+	CSG-IdList.h	\
+	CSG-IdList-Item.h	\
+	CSGMembershipStatus.h	\
+	COUNTvalue.h	\
+	COUNTValueExtended.h	\
+	COUNTvaluePDCP-SNlength18.h	\
+	Coverage-Level.h	\
+	CriticalityDiagnostics.h	\
+	CriticalityDiagnostics-IE-List.h	\
+	CriticalityDiagnostics-IE-Item.h	\
+	DataCodingScheme.h	\
+	DCN-ID.h	\
+	ServedDCNs.h	\
+	ServedDCNsItem.h	\
+	DL-CP-SecurityInformation.h	\
+	DL-Forwarding.h	\
+	DL-NAS-MAC.h	\
+	Direct-Forwarding-Path-Availability.h	\
+	Data-Forwarding-Not-Possible.h	\
+	DLNASPDUDeliveryAckRequest.h	\
+	EARFCN.h	\
+	ECGIList.h	\
+	PWSfailedECGIList.h	\
+	EDT-Session.h	\
+	EmergencyAreaIDList.h	\
+	EmergencyAreaID.h	\
+	EmergencyAreaID-Broadcast.h	\
+	EmergencyAreaID-Broadcast-Item.h	\
+	EmergencyAreaID-Cancelled.h	\
+	EmergencyAreaID-Cancelled-Item.h	\
+	CompletedCellinEAI.h	\
+	CompletedCellinEAI-Item.h	\
+	ECGI-List.h	\
+	EmergencyAreaIDListForRestart.h	\
+	ENB-ID.h	\
+	En-gNB-ID.h	\
+	GERAN-Cell-ID.h	\
+	Global-ENB-ID.h	\
+	Global-en-gNB-ID.h	\
+	GUMMEIList.h	\
+	ENB-StatusTransfer-TransparentContainer.h	\
+	ENB-UE-S1AP-ID.h	\
+	ENBname.h	\
+	ENBX2TLAs.h	\
+	EncryptionAlgorithms.h	\
+	EN-DCSONConfigurationTransfer.h	\
+	EN-DCSONTransferType.h	\
+	EN-DCTransferTypeRequest.h	\
+	EN-DCTransferTypeReply.h	\
+	EN-DCSONeNBIdentification.h	\
+	EN-DCSONengNBIdentification.h	\
+	EndIndication.h	\
+	EnhancedCoverageRestricted.h	\
+	CE-ModeBRestricted.h	\
+	EPLMNs.h	\
+	EventType.h	\
+	E-RAB-ID.h	\
+	E-RABInformationList.h	\
+	E-RABInformationListItem.h	\
+	E-RABList.h	\
+	E-RABItem.h	\
+	E-RABLevelQoSParameters.h	\
+	E-RABUsageReportList.h	\
+	E-RABUsageReportItem.h	\
+	EUTRAN-CGI.h	\
+	EUTRANRoundTripDelayEstimationInfo.h	\
+	ExpectedUEBehaviour.h	\
+	ExpectedUEActivityBehaviour.h	\
+	ExpectedActivityPeriod.h	\
+	ExpectedIdlePeriod.h	\
+	SourceOfUEActivityBehaviourInformation.h	\
+	ExpectedHOInterval.h	\
+	ExtendedBitRate.h	\
+	ExtendedRNC-ID.h	\
+	ExtendedRepetitionPeriod.h	\
+	Extended-UEIdentityIndexValue.h	\
+	FiveGSTAC.h	\
+	FiveGSTAI.h	\
+	ForbiddenInterRATs.h	\
+	ForbiddenTAs.h	\
+	ForbiddenTAs-Item.h	\
+	ForbiddenTACs.h	\
+	ForbiddenLAs.h	\
+	ForbiddenLAs-Item.h	\
+	ForbiddenLACs.h	\
+	GBR-QosInformation.h	\
+	GTP-TEID.h	\
+	GUMMEI.h	\
+	GUMMEIType.h	\
+	GWContextReleaseIndication.h	\
+	HandoverFlag.h	\
+	HandoverRestrictionList.h	\
+	HandoverType.h	\
+	HFN.h	\
+	HFNModified.h	\
+	HFNforPDCP-SNlength18.h	\
+	Masked-IMEISV.h	\
+	ImmediateMDT.h	\
+	IMSI.h	\
+	InformationOnRecommendedCellsAndENBsForPaging.h	\
+	IntegrityProtectionAlgorithms.h	\
+	IntendedNumberOfPagingAttempts.h	\
+	InterfacesToTrace.h	\
+	IMSvoiceEPSfallbackfrom5G.h	\
+	KillAllWarningMessages.h	\
+	LAC.h	\
+	LAI.h	\
+	LastVisitedCell-Item.h	\
+	LastVisitedEUTRANCellInformation.h	\
+	LastVisitedNGRANCellInformation.h	\
+	LastVisitedUTRANCellInformation.h	\
+	LastVisitedGERANCellInformation.h	\
+	L3-Information.h	\
+	LPPa-PDU.h	\
+	LHN-ID.h	\
+	Links-to-log.h	\
+	ListeningSubframePattern.h	\
+	LoggedMDT.h	\
+	LoggingInterval.h	\
+	LoggingDuration.h	\
+	LoggedMBSFNMDT.h	\
+	LTE-M-Indication.h	\
+	M3Configuration.h	\
+	M3period.h	\
+	M4Configuration.h	\
+	M4period.h	\
+	M5Configuration.h	\
+	M5period.h	\
+	M6Configuration.h	\
+	M6report-Interval.h	\
+	M6delay-threshold.h	\
+	M7Configuration.h	\
+	M7period.h	\
+	MDT-Activation.h	\
+	MDT-Location-Info.h	\
+	MDT-Configuration.h	\
+	ManagementBasedMDTAllowed.h	\
+	MBSFN-ResultToLog.h	\
+	MBSFN-ResultToLogInfo.h	\
+	MDTPLMNList.h	\
+	PrivacyIndicator.h	\
+	MDTMode.h	\
+	MDTMode-Extension.h	\
+	MeasurementsToActivate.h	\
+	MeasurementThresholdA2.h	\
+	MessageIdentifier.h	\
+	MobilityInformation.h	\
+	MMEname.h	\
+	MMEPagingTarget.h	\
+	MMERelaySupportIndicator.h	\
+	MME-Group-ID.h	\
+	MME-Code.h	\
+	MME-UE-S1AP-ID.h	\
+	M-TMSI.h	\
+	MSClassmark2.h	\
+	MSClassmark3.h	\
+	MutingAvailabilityIndication.h	\
+	MutingPatternInformation.h	\
+	NAS-PDU.h	\
+	NASSecurityParametersfromE-UTRAN.h	\
+	NASSecurityParameterstoE-UTRAN.h	\
+	NB-IoT-DefaultPagingDRX.h	\
+	NB-IoT-Paging-eDRXInformation.h	\
+	NB-IoT-Paging-eDRX-Cycle.h	\
+	NB-IoT-PagingTimeWindow.h	\
+	NB-IoT-UEIdentityIndexValue.h	\
+	NextPagingAreaScope.h	\
+	NRCellIdentity.h	\
+	NR-CGI.h	\
+	NRencryptionAlgorithms.h	\
+	NRintegrityProtectionAlgorithms.h	\
+	NRrestrictioninEPSasSecondaryRAT.h	\
+	NRrestrictionin5GS.h	\
+	NRUESecurityCapabilities.h	\
+	NumberofBroadcastRequest.h	\
+	NumberOfBroadcasts.h	\
+	OldBSS-ToNewBSS-Information.h	\
+	OverloadAction.h	\
+	OverloadResponse.h	\
+	Packet-LossRate.h	\
+	PagingAttemptInformation.h	\
+	PagingAttemptCount.h	\
+	Paging-eDRXInformation.h	\
+	Paging-eDRX-Cycle.h	\
+	PagingTimeWindow.h	\
+	PagingDRX.h	\
+	PagingPriority.h	\
+	PDCP-SN.h	\
+	PDCP-SNExtended.h	\
+	PDCP-SNlength18.h	\
+	PendingDataIndication.h	\
+	M1PeriodicReporting.h	\
+	PLMNidentity.h	\
+	PLMNAreaBasedQMC.h	\
+	PLMNListforQMC.h	\
+	Port-Number.h	\
+	Pre-emptionCapability.h	\
+	Pre-emptionVulnerability.h	\
+	PriorityLevel.h	\
+	ProSeAuthorized.h	\
+	ProSeDirectDiscovery.h	\
+	ProSeUEtoNetworkRelaying.h	\
+	ProSeDirectCommunication.h	\
+	PS-ServiceNotAvailable.h	\
+	PSCellInformation.h	\
+	QCI.h	\
+	ReceiveStatusofULPDCPSDUs.h	\
+	ReceiveStatusOfULPDCPSDUsExtended.h	\
+	ReceiveStatusOfULPDCPSDUsPDCP-SNlength18.h	\
+	RecommendedCellsForPaging.h	\
+	RecommendedCellList.h	\
+	RecommendedCellItem.h	\
+	RecommendedENBsForPaging.h	\
+	RecommendedENBList.h	\
+	RecommendedENBItem.h	\
+	RelativeMMECapacity.h	\
+	RelayNode-Indicator.h	\
+	RAC.h	\
+	RAT-Type.h	\
+	ReportAmountMDT.h	\
+	ReportIntervalMDT.h	\
+	M1ReportingTrigger.h	\
+	RequestType.h	\
+	RequestTypeAdditionalInfo.h	\
+	RIMTransfer.h	\
+	RIMInformation.h	\
+	RIMRoutingAddress.h	\
+	ReportArea.h	\
+	RepetitionPeriod.h	\
+	RLFReportInformation.h	\
+	RNC-ID.h	\
+	RRC-Container.h	\
+	RRC-Establishment-Cause.h	\
+	ECGIListForRestart.h	\
+	Routing-ID.h	\
+	SecurityKey.h	\
+	SecurityContext.h	\
+	SecondaryRATType.h	\
+	SecondaryRATDataUsageRequest.h	\
+	SecondaryRATDataUsageReportList.h	\
+	SecondaryRATDataUsageReportItem.h	\
+	SerialNumber.h	\
+	ServiceType.h	\
+	SONInformation.h	\
+	SONInformation-Extension.h	\
+	SONInformationRequest.h	\
+	SONInformationReply.h	\
+	SONInformationReport.h	\
+	SONConfigurationTransfer.h	\
+	SynchronisationInformation.h	\
+	Source-ToTarget-TransparentContainer.h	\
+	SourceBSS-ToTargetBSS-TransparentContainer.h	\
+	SourceeNB-ID.h	\
+	SRVCCOperationNotPossible.h	\
+	SRVCCOperationPossible.h	\
+	SRVCCHOIndication.h	\
+	SourceeNB-ToTargeteNB-TransparentContainer.h	\
+	SourceRNC-ToTargetRNC-TransparentContainer.h	\
+	SourceNgRanNode-ToTargetNgRanNode-TransparentContainer.h	\
+	ServedGUMMEIs.h	\
+	ServedGUMMEIsItem.h	\
+	ServedGroupIDs.h	\
+	ServedMMECs.h	\
+	ServedPLMNs.h	\
+	SubscriberProfileIDforRFP.h	\
+	Subscription-Based-UE-DifferentiationInfo.h	\
+	ScheduledCommunicationTime.h	\
+	SupportedTAs.h	\
+	SupportedTAs-Item.h	\
+	StratumLevel.h	\
+	SynchronisationStatus.h	\
+	TimeSynchronisationInfo.h	\
+	S-TMSI.h	\
+	TAC.h	\
+	TAIBasedMDT.h	\
+	TAIListforMDT.h	\
+	TAIListforWarning.h	\
+	TAI.h	\
+	TAI-Broadcast.h	\
+	TAI-Broadcast-Item.h	\
+	TAI-Cancelled.h	\
+	TAI-Cancelled-Item.h	\
+	TABasedMDT.h	\
+	TAListforMDT.h	\
+	TABasedQMC.h	\
+	TAListforQMC.h	\
+	TAIBasedQMC.h	\
+	TAIListforQMC.h	\
+	CompletedCellinTAI.h	\
+	CompletedCellinTAI-Item.h	\
+	TBCD-STRING.h	\
+	TargetID.h	\
+	TargeteNB-ID.h	\
+	TargetRNC-ID.h	\
+	TargetNgRanNode-ID.h	\
+	Global-RAN-NODE-ID.h	\
+	GNB.h	\
+	Global-GNB-ID.h	\
+	GNB-Identity.h	\
+	NG-eNB.h	\
+	GNB-ID.h	\
+	TargeteNB-ToSourceeNB-TransparentContainer.h	\
+	Target-ToSource-TransparentContainer.h	\
+	TargetRNC-ToSourceRNC-TransparentContainer.h	\
+	TargetBSS-ToSourceBSS-TransparentContainer.h	\
+	TargetNgRanNode-ToSourceNgRanNode-TransparentContainer.h	\
+	M1ThresholdEventA2.h	\
+	Threshold-RSRP.h	\
+	Threshold-RSRQ.h	\
+	TimeToWait.h	\
+	Time-UE-StayedInCell.h	\
+	Time-UE-StayedInCell-EnhancedGranularity.h	\
+	TimeSinceSecondaryNodeRelease.h	\
+	TransportInformation.h	\
+	TransportLayerAddress.h	\
+	TraceActivation.h	\
+	TraceDepth.h	\
+	E-UTRAN-Trace-ID.h	\
+	TrafficLoadReductionIndication.h	\
+	TunnelInformation.h	\
+	TypeOfError.h	\
+	TAIListForRestart.h	\
+	UEAggregateMaximumBitrate.h	\
+	UEAppLayerMeasConfig.h	\
+	UECapabilityInfoRequest.h	\
+	UE-RetentionInformation.h	\
+	UE-S1AP-IDs.h	\
+	UE-S1AP-ID-pair.h	\
+	UE-associatedLogicalS1-ConnectionItem.h	\
+	UEIdentityIndexValue.h	\
+	UE-HistoryInformation.h	\
+	UE-HistoryInformationFromTheUE.h	\
+	UEPagingID.h	\
+	UERadioCapability.h	\
+	UERadioCapabilityForPaging.h	\
+	UE-RLF-Report-Container.h	\
+	UE-RLF-Report-Container-for-extended-bands.h	\
+	UESecurityCapabilities.h	\
+	UESidelinkAggregateMaximumBitrate.h	\
+	UE-Usage-Type.h	\
+	UL-CP-SecurityInformation.h	\
+	UL-NAS-MAC.h	\
+	UL-NAS-Count.h	\
+	UnlicensedSpectrumRestriction.h	\
+	UserLocationInformation.h	\
+	UEUserPlaneCIoTSupportIndicator.h	\
+	UE-Application-Layer-Measurement-Capability.h	\
+	VoiceSupportMatchIndicator.h	\
+	V2XServicesAuthorized.h	\
+	VehicleUE.h	\
+	PedestrianUE.h	\
+	WarningAreaCoordinates.h	\
+	WarningAreaList.h	\
+	WarningType.h	\
+	WarningSecurityInfo.h	\
+	WarningMessageContents.h	\
+	WLANMeasurementConfiguration.h	\
+	WLANMeasConfigNameList.h	\
+	WLANMeasConfig.h	\
+	WLANName.h	\
+	X2TNLConfigurationInfo.h	\
+	ENBX2ExtTLAs.h	\
+	ENBX2ExtTLA.h	\
+	ENBX2GTPTLAs.h	\
+	ENBIndirectX2TransportLayerAddresses.h	\
+	E-RAB-IE-ContainerList.h	\
+	E-RAB-IE-ContainerPairList.h	\
+	ProtocolError-IE-ContainerList.h	\
+	HandoverRequired.h	\
+	HandoverCommand.h	\
+	E-RABSubjecttoDataForwardingList.h	\
+	E-RABDataForwardingItem.h	\
+	HandoverPreparationFailure.h	\
+	HandoverRequest.h	\
+	E-RABToBeSetupListHOReq.h	\
+	E-RABToBeSetupItemHOReq.h	\
+	HandoverRequestAcknowledge.h	\
+	E-RABAdmittedList.h	\
+	E-RABAdmittedItem.h	\
+	E-RABFailedtoSetupListHOReqAck.h	\
+	E-RABFailedToSetupItemHOReqAck.h	\
+	HandoverFailure.h	\
+	HandoverNotify.h	\
+	PathSwitchRequest.h	\
+	E-RABToBeSwitchedDLList.h	\
+	E-RABToBeSwitchedDLItem.h	\
+	PathSwitchRequestAcknowledge.h	\
+	E-RABToBeSwitchedULList.h	\
+	E-RABToBeSwitchedULItem.h	\
+	PathSwitchRequestFailure.h	\
+	HandoverCancel.h	\
+	HandoverCancelAcknowledge.h	\
+	E-RABSetupRequest.h	\
+	E-RABToBeSetupListBearerSUReq.h	\
+	E-RABToBeSetupItemBearerSUReq.h	\
+	E-RABSetupResponse.h	\
+	E-RABSetupListBearerSURes.h	\
+	E-RABSetupItemBearerSURes.h	\
+	E-RABModifyRequest.h	\
+	E-RABToBeModifiedListBearerModReq.h	\
+	E-RABToBeModifiedItemBearerModReq.h	\
+	E-RABModifyResponse.h	\
+	E-RABModifyListBearerModRes.h	\
+	E-RABModifyItemBearerModRes.h	\
+	E-RABReleaseCommand.h	\
+	E-RABReleaseResponse.h	\
+	E-RABReleaseListBearerRelComp.h	\
+	E-RABReleaseItemBearerRelComp.h	\
+	E-RABReleaseIndication.h	\
+	InitialContextSetupRequest.h	\
+	E-RABToBeSetupListCtxtSUReq.h	\
+	E-RABToBeSetupItemCtxtSUReq.h	\
+	InitialContextSetupResponse.h	\
+	E-RABSetupListCtxtSURes.h	\
+	E-RABSetupItemCtxtSURes.h	\
+	InitialContextSetupFailure.h	\
+	Paging.h	\
+	TAIList.h	\
+	TAIItem.h	\
+	UEContextReleaseRequest.h	\
+	UEContextReleaseCommand.h	\
+	UEContextReleaseComplete.h	\
+	UEContextModificationRequest.h	\
+	UEContextModificationResponse.h	\
+	UEContextModificationFailure.h	\
+	UERadioCapabilityMatchRequest.h	\
+	UERadioCapabilityMatchResponse.h	\
+	DownlinkNASTransport.h	\
+	InitialUEMessage.h	\
+	UplinkNASTransport.h	\
+	NASNonDeliveryIndication.h	\
+	RerouteNASRequest.h	\
+	NASDeliveryIndication.h	\
+	Reset.h	\
+	ResetType.h	\
+	ResetAll.h	\
+	UE-associatedLogicalS1-ConnectionListRes.h	\
+	ResetAcknowledge.h	\
+	UE-associatedLogicalS1-ConnectionListResAck.h	\
+	ErrorIndication.h	\
+	S1SetupRequest.h	\
+	S1SetupResponse.h	\
+	S1SetupFailure.h	\
+	ENBConfigurationUpdate.h	\
+	ENBConfigurationUpdateAcknowledge.h	\
+	ENBConfigurationUpdateFailure.h	\
+	MMEConfigurationUpdate.h	\
+	MMEConfigurationUpdateAcknowledge.h	\
+	MMEConfigurationUpdateFailure.h	\
+	DownlinkS1cdma2000tunnelling.h	\
+	UplinkS1cdma2000tunnelling.h	\
+	UECapabilityInfoIndication.h	\
+	ENBStatusTransfer.h	\
+	MMEStatusTransfer.h	\
+	TraceStart.h	\
+	TraceFailureIndication.h	\
+	DeactivateTrace.h	\
+	CellTrafficTrace.h	\
+	LocationReportingControl.h	\
+	LocationReportingFailureIndication.h	\
+	LocationReport.h	\
+	OverloadStart.h	\
+	OverloadStop.h	\
+	WriteReplaceWarningRequest.h	\
+	WriteReplaceWarningResponse.h	\
+	ENBDirectInformationTransfer.h	\
+	Inter-SystemInformationTransferType.h	\
+	MMEDirectInformationTransfer.h	\
+	ENBConfigurationTransfer.h	\
+	MMEConfigurationTransfer.h	\
+	PrivateMessage.h	\
+	KillRequest.h	\
+	KillResponse.h	\
+	PWSRestartIndication.h	\
+	PWSFailureIndication.h	\
+	DownlinkUEAssociatedLPPaTransport.h	\
+	UplinkUEAssociatedLPPaTransport.h	\
+	DownlinkNonUEAssociatedLPPaTransport.h	\
+	UplinkNonUEAssociatedLPPaTransport.h	\
+	E-RABModificationIndication.h	\
+	E-RABToBeModifiedListBearerModInd.h	\
+	E-RABToBeModifiedItemBearerModInd.h	\
+	E-RABNotToBeModifiedListBearerModInd.h	\
+	E-RABNotToBeModifiedItemBearerModInd.h	\
+	CSGMembershipInfo.h	\
+	E-RABModificationConfirm.h	\
+	E-RABModifyListBearerModConf.h	\
+	E-RABModifyItemBearerModConf.h	\
+	UEContextModificationIndication.h	\
+	UEContextModificationConfirm.h	\
+	UEContextSuspendRequest.h	\
+	UEContextSuspendResponse.h	\
+	UEContextResumeRequest.h	\
+	E-RABFailedToResumeListResumeReq.h	\
+	E-RABFailedToResumeItemResumeReq.h	\
+	UEContextResumeResponse.h	\
+	E-RABFailedToResumeListResumeRes.h	\
+	E-RABFailedToResumeItemResumeRes.h	\
+	UEContextResumeFailure.h	\
+	ConnectionEstablishmentIndication.h	\
+	RetrieveUEInformation.h	\
+	UEInformationTransfer.h	\
+	ENBCPRelocationIndication.h	\
+	MMECPRelocationIndication.h	\
+	SecondaryRATDataUsageReport.h	\
+	S1AP-PDU.h	\
+	InitiatingMessage.h	\
+	SuccessfulOutcome.h	\
+	UnsuccessfulOutcome.h	\
+	EXTERNAL.h
+
+ASN_MODULE_HDRS+=ANY.h
+ASN_MODULE_SRCS+=ANY.c
+ASN_MODULE_HDRS+=OCTET_STRING.h
+ASN_MODULE_HDRS+=OPEN_TYPE.h
+ASN_MODULE_SRCS+=OPEN_TYPE.c
+ASN_MODULE_HDRS+=constr_CHOICE.h
+ASN_MODULE_HDRS+=BOOLEAN.h
+ASN_MODULE_SRCS+=BOOLEAN.c
+ASN_MODULE_HDRS+=GraphicString.h
+ASN_MODULE_SRCS+=GraphicString.c
+ASN_MODULE_HDRS+=INTEGER.h
+ASN_MODULE_SRCS+=INTEGER.c
+ASN_MODULE_HDRS+=NULL.h
+ASN_MODULE_SRCS+=NULL.c
+ASN_MODULE_HDRS+=NativeEnumerated.h
+ASN_MODULE_SRCS+=NativeEnumerated.c
+ASN_MODULE_HDRS+=NativeInteger.h
+ASN_MODULE_SRCS+=NativeInteger.c
+ASN_MODULE_HDRS+=OBJECT_IDENTIFIER.h
+ASN_MODULE_SRCS+=OBJECT_IDENTIFIER.c
+ASN_MODULE_HDRS+=ObjectDescriptor.h
+ASN_MODULE_SRCS+=ObjectDescriptor.c
+ASN_MODULE_HDRS+=PrintableString.h
+ASN_MODULE_SRCS+=PrintableString.c
+ASN_MODULE_HDRS+=asn_SEQUENCE_OF.h
+ASN_MODULE_SRCS+=asn_SEQUENCE_OF.c
+ASN_MODULE_HDRS+=asn_SET_OF.h
+ASN_MODULE_SRCS+=asn_SET_OF.c
+ASN_MODULE_SRCS+=constr_CHOICE.c
+ASN_MODULE_HDRS+=constr_SEQUENCE.h
+ASN_MODULE_SRCS+=constr_SEQUENCE.c
+ASN_MODULE_HDRS+=constr_SEQUENCE_OF.h
+ASN_MODULE_SRCS+=constr_SEQUENCE_OF.c
+ASN_MODULE_HDRS+=constr_SET_OF.h
+ASN_MODULE_SRCS+=constr_SET_OF.c
+ASN_MODULE_HDRS+=asn_application.h
+ASN_MODULE_SRCS+=asn_application.c
+ASN_MODULE_HDRS+=asn_ioc.h
+ASN_MODULE_HDRS+=asn_system.h
+ASN_MODULE_HDRS+=asn_codecs.h
+ASN_MODULE_HDRS+=asn_internal.h
+ASN_MODULE_SRCS+=asn_internal.c
+ASN_MODULE_HDRS+=asn_random_fill.h
+ASN_MODULE_SRCS+=asn_random_fill.c
+ASN_MODULE_HDRS+=asn_bit_data.h
+ASN_MODULE_SRCS+=asn_bit_data.c
+ASN_MODULE_SRCS+=OCTET_STRING.c
+ASN_MODULE_HDRS+=BIT_STRING.h
+ASN_MODULE_SRCS+=BIT_STRING.c
+ASN_MODULE_SRCS+=asn_codecs_prim.c
+ASN_MODULE_HDRS+=asn_codecs_prim.h
+ASN_MODULE_HDRS+=ber_tlv_length.h
+ASN_MODULE_SRCS+=ber_tlv_length.c
+ASN_MODULE_HDRS+=ber_tlv_tag.h
+ASN_MODULE_SRCS+=ber_tlv_tag.c
+ASN_MODULE_HDRS+=ber_decoder.h
+ASN_MODULE_SRCS+=ber_decoder.c
+ASN_MODULE_HDRS+=der_encoder.h
+ASN_MODULE_SRCS+=der_encoder.c
+ASN_MODULE_HDRS+=constr_TYPE.h
+ASN_MODULE_SRCS+=constr_TYPE.c
+ASN_MODULE_HDRS+=constraints.h
+ASN_MODULE_SRCS+=constraints.c
+ASN_MODULE_HDRS+=xer_support.h
+ASN_MODULE_SRCS+=xer_support.c
+ASN_MODULE_HDRS+=xer_decoder.h
+ASN_MODULE_SRCS+=xer_decoder.c
+ASN_MODULE_HDRS+=xer_encoder.h
+ASN_MODULE_SRCS+=xer_encoder.c
+ASN_MODULE_HDRS+=per_support.h
+ASN_MODULE_SRCS+=per_support.c
+ASN_MODULE_HDRS+=per_decoder.h
+ASN_MODULE_SRCS+=per_decoder.c
+ASN_MODULE_HDRS+=per_encoder.h
+ASN_MODULE_SRCS+=per_encoder.c
+ASN_MODULE_HDRS+=per_opentype.h
+ASN_MODULE_SRCS+=per_opentype.c
+ASN_MODULE_HDRS+=oer_decoder.h
+ASN_MODULE_HDRS+=oer_encoder.h
+ASN_MODULE_HDRS+=oer_support.h
+ASN_MODULE_SRCS+=oer_decoder.c
+ASN_MODULE_SRCS+=oer_encoder.c
+ASN_MODULE_SRCS+=oer_support.c
+ASN_MODULE_SRCS+=OPEN_TYPE_oer.c
+ASN_MODULE_SRCS+=INTEGER_oer.c
+ASN_MODULE_SRCS+=BIT_STRING_oer.c
+ASN_MODULE_SRCS+=OCTET_STRING_oer.c
+ASN_MODULE_SRCS+=NativeInteger_oer.c
+ASN_MODULE_SRCS+=NativeEnumerated_oer.c
+ASN_MODULE_SRCS+=constr_CHOICE_oer.c
+ASN_MODULE_SRCS+=constr_SEQUENCE_oer.c
+ASN_MODULE_SRCS+=constr_SET_OF_oer.c
+
+ASN_MODULE_CFLAGS=
+
+lib_LTLIBRARIES+=libasncodec.la
+libasncodec_la_SOURCES=$(ASN_MODULE_SRCS) $(ASN_MODULE_HDRS)
+libasncodec_la_CPPFLAGS=-I$(top_srcdir)/
+libasncodec_la_CFLAGS=$(ASN_MODULE_CFLAGS)
+libasncodec_la_LDFLAGS=-lm
diff --git a/src/s1ap/asn1c/asnGenFiles/ManagementBasedMDTAllowed.h b/src/s1ap/asn1c/asnGenFiles/ManagementBasedMDTAllowed.h
new file mode 100644
index 0000000..94271fb
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ManagementBasedMDTAllowed.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ManagementBasedMDTAllowed_H_
+#define	_ManagementBasedMDTAllowed_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum ManagementBasedMDTAllowed {
+	ManagementBasedMDTAllowed_allowed	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_ManagementBasedMDTAllowed;
+
+/* ManagementBasedMDTAllowed */
+typedef long	 ManagementBasedMDTAllowed_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ManagementBasedMDTAllowed_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ManagementBasedMDTAllowed;
+extern const asn_INTEGER_specifics_t asn_SPC_ManagementBasedMDTAllowed_specs_1;
+asn_struct_free_f ManagementBasedMDTAllowed_free;
+asn_struct_print_f ManagementBasedMDTAllowed_print;
+asn_constr_check_f ManagementBasedMDTAllowed_constraint;
+ber_type_decoder_f ManagementBasedMDTAllowed_decode_ber;
+der_type_encoder_f ManagementBasedMDTAllowed_encode_der;
+xer_type_decoder_f ManagementBasedMDTAllowed_decode_xer;
+xer_type_encoder_f ManagementBasedMDTAllowed_encode_xer;
+oer_type_decoder_f ManagementBasedMDTAllowed_decode_oer;
+oer_type_encoder_f ManagementBasedMDTAllowed_encode_oer;
+per_type_decoder_f ManagementBasedMDTAllowed_decode_uper;
+per_type_encoder_f ManagementBasedMDTAllowed_encode_uper;
+per_type_decoder_f ManagementBasedMDTAllowed_decode_aper;
+per_type_encoder_f ManagementBasedMDTAllowed_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ManagementBasedMDTAllowed_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Masked-IMEISV.h b/src/s1ap/asn1c/asnGenFiles/Masked-IMEISV.h
new file mode 100644
index 0000000..16d4e19
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Masked-IMEISV.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Masked_IMEISV_H_
+#define	_Masked_IMEISV_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Masked-IMEISV */
+typedef BIT_STRING_t	 Masked_IMEISV_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_Masked_IMEISV_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_Masked_IMEISV;
+asn_struct_free_f Masked_IMEISV_free;
+asn_struct_print_f Masked_IMEISV_print;
+asn_constr_check_f Masked_IMEISV_constraint;
+ber_type_decoder_f Masked_IMEISV_decode_ber;
+der_type_encoder_f Masked_IMEISV_encode_der;
+xer_type_decoder_f Masked_IMEISV_decode_xer;
+xer_type_encoder_f Masked_IMEISV_encode_xer;
+oer_type_decoder_f Masked_IMEISV_decode_oer;
+oer_type_encoder_f Masked_IMEISV_encode_oer;
+per_type_decoder_f Masked_IMEISV_decode_uper;
+per_type_encoder_f Masked_IMEISV_encode_uper;
+per_type_decoder_f Masked_IMEISV_decode_aper;
+per_type_encoder_f Masked_IMEISV_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Masked_IMEISV_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MeasurementThresholdA2.h b/src/s1ap/asn1c/asnGenFiles/MeasurementThresholdA2.h
new file mode 100644
index 0000000..b5f41b6
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MeasurementThresholdA2.h
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MeasurementThresholdA2_H_
+#define	_MeasurementThresholdA2_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "Threshold-RSRP.h"
+#include "Threshold-RSRQ.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum MeasurementThresholdA2_PR {
+	MeasurementThresholdA2_PR_NOTHING,	/* No components present */
+	MeasurementThresholdA2_PR_threshold_RSRP,
+	MeasurementThresholdA2_PR_threshold_RSRQ
+	/* Extensions may appear below */
+	
+} MeasurementThresholdA2_PR;
+
+/* MeasurementThresholdA2 */
+typedef struct MeasurementThresholdA2 {
+	MeasurementThresholdA2_PR present;
+	union MeasurementThresholdA2_u {
+		Threshold_RSRP_t	 threshold_RSRP;
+		Threshold_RSRQ_t	 threshold_RSRQ;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} MeasurementThresholdA2_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MeasurementThresholdA2;
+extern asn_CHOICE_specifics_t asn_SPC_MeasurementThresholdA2_specs_1;
+extern asn_TYPE_member_t asn_MBR_MeasurementThresholdA2_1[2];
+extern asn_per_constraints_t asn_PER_type_MeasurementThresholdA2_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MeasurementThresholdA2_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MeasurementsToActivate.h b/src/s1ap/asn1c/asnGenFiles/MeasurementsToActivate.h
new file mode 100644
index 0000000..0b039d5
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MeasurementsToActivate.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MeasurementsToActivate_H_
+#define	_MeasurementsToActivate_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MeasurementsToActivate */
+typedef BIT_STRING_t	 MeasurementsToActivate_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_MeasurementsToActivate_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_MeasurementsToActivate;
+asn_struct_free_f MeasurementsToActivate_free;
+asn_struct_print_f MeasurementsToActivate_print;
+asn_constr_check_f MeasurementsToActivate_constraint;
+ber_type_decoder_f MeasurementsToActivate_decode_ber;
+der_type_encoder_f MeasurementsToActivate_encode_der;
+xer_type_decoder_f MeasurementsToActivate_decode_xer;
+xer_type_encoder_f MeasurementsToActivate_encode_xer;
+oer_type_decoder_f MeasurementsToActivate_decode_oer;
+oer_type_encoder_f MeasurementsToActivate_encode_oer;
+per_type_decoder_f MeasurementsToActivate_decode_uper;
+per_type_encoder_f MeasurementsToActivate_encode_uper;
+per_type_decoder_f MeasurementsToActivate_decode_aper;
+per_type_encoder_f MeasurementsToActivate_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MeasurementsToActivate_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MessageIdentifier.h b/src/s1ap/asn1c/asnGenFiles/MessageIdentifier.h
new file mode 100644
index 0000000..599d8a1
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MessageIdentifier.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MessageIdentifier_H_
+#define	_MessageIdentifier_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MessageIdentifier */
+typedef BIT_STRING_t	 MessageIdentifier_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_MessageIdentifier_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_MessageIdentifier;
+asn_struct_free_f MessageIdentifier_free;
+asn_struct_print_f MessageIdentifier_print;
+asn_constr_check_f MessageIdentifier_constraint;
+ber_type_decoder_f MessageIdentifier_decode_ber;
+der_type_encoder_f MessageIdentifier_encode_der;
+xer_type_decoder_f MessageIdentifier_decode_xer;
+xer_type_encoder_f MessageIdentifier_encode_xer;
+oer_type_decoder_f MessageIdentifier_decode_oer;
+oer_type_encoder_f MessageIdentifier_encode_oer;
+per_type_decoder_f MessageIdentifier_decode_uper;
+per_type_encoder_f MessageIdentifier_encode_uper;
+per_type_decoder_f MessageIdentifier_decode_aper;
+per_type_encoder_f MessageIdentifier_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MessageIdentifier_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MobilityInformation.h b/src/s1ap/asn1c/asnGenFiles/MobilityInformation.h
new file mode 100644
index 0000000..773b2bd
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MobilityInformation.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MobilityInformation_H_
+#define	_MobilityInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* MobilityInformation */
+typedef BIT_STRING_t	 MobilityInformation_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_MobilityInformation_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_MobilityInformation;
+asn_struct_free_f MobilityInformation_free;
+asn_struct_print_f MobilityInformation_print;
+asn_constr_check_f MobilityInformation_constraint;
+ber_type_decoder_f MobilityInformation_decode_ber;
+der_type_encoder_f MobilityInformation_encode_der;
+xer_type_decoder_f MobilityInformation_decode_xer;
+xer_type_encoder_f MobilityInformation_encode_xer;
+oer_type_decoder_f MobilityInformation_decode_oer;
+oer_type_encoder_f MobilityInformation_encode_oer;
+per_type_decoder_f MobilityInformation_decode_uper;
+per_type_encoder_f MobilityInformation_encode_uper;
+per_type_decoder_f MobilityInformation_decode_aper;
+per_type_encoder_f MobilityInformation_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MobilityInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MutingAvailabilityIndication.h b/src/s1ap/asn1c/asnGenFiles/MutingAvailabilityIndication.h
new file mode 100644
index 0000000..4a1cc87
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MutingAvailabilityIndication.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MutingAvailabilityIndication_H_
+#define	_MutingAvailabilityIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum MutingAvailabilityIndication {
+	MutingAvailabilityIndication_available	= 0,
+	MutingAvailabilityIndication_unavailable	= 1
+	/*
+	 * Enumeration is extensible
+	 */
+} e_MutingAvailabilityIndication;
+
+/* MutingAvailabilityIndication */
+typedef long	 MutingAvailabilityIndication_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_MutingAvailabilityIndication_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_MutingAvailabilityIndication;
+extern const asn_INTEGER_specifics_t asn_SPC_MutingAvailabilityIndication_specs_1;
+asn_struct_free_f MutingAvailabilityIndication_free;
+asn_struct_print_f MutingAvailabilityIndication_print;
+asn_constr_check_f MutingAvailabilityIndication_constraint;
+ber_type_decoder_f MutingAvailabilityIndication_decode_ber;
+der_type_encoder_f MutingAvailabilityIndication_encode_der;
+xer_type_decoder_f MutingAvailabilityIndication_decode_xer;
+xer_type_encoder_f MutingAvailabilityIndication_encode_xer;
+oer_type_decoder_f MutingAvailabilityIndication_decode_oer;
+oer_type_encoder_f MutingAvailabilityIndication_encode_oer;
+per_type_decoder_f MutingAvailabilityIndication_decode_uper;
+per_type_encoder_f MutingAvailabilityIndication_encode_uper;
+per_type_decoder_f MutingAvailabilityIndication_decode_aper;
+per_type_encoder_f MutingAvailabilityIndication_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MutingAvailabilityIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/MutingPatternInformation.h b/src/s1ap/asn1c/asnGenFiles/MutingPatternInformation.h
new file mode 100644
index 0000000..01498e5
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MutingPatternInformation.h
@@ -0,0 +1,63 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MutingPatternInformation_H_
+#define	_MutingPatternInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+#include <NativeInteger.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum MutingPatternInformation__muting_pattern_period {
+	MutingPatternInformation__muting_pattern_period_ms0	= 0,
+	MutingPatternInformation__muting_pattern_period_ms1280	= 1,
+	MutingPatternInformation__muting_pattern_period_ms2560	= 2,
+	MutingPatternInformation__muting_pattern_period_ms5120	= 3,
+	MutingPatternInformation__muting_pattern_period_ms10240	= 4
+	/*
+	 * Enumeration is extensible
+	 */
+} e_MutingPatternInformation__muting_pattern_period;
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* MutingPatternInformation */
+typedef struct MutingPatternInformation {
+	long	 muting_pattern_period;
+	long	*muting_pattern_offset;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} MutingPatternInformation_t;
+
+/* Implementation */
+/* extern asn_TYPE_descriptor_t asn_DEF_muting_pattern_period_2;	// (Use -fall-defs-global to expose) */
+extern asn_TYPE_descriptor_t asn_DEF_MutingPatternInformation;
+extern asn_SEQUENCE_specifics_t asn_SPC_MutingPatternInformation_specs_1;
+extern asn_TYPE_member_t asn_MBR_MutingPatternInformation_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MutingPatternInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/NAS-PDU.h b/src/s1ap/asn1c/asnGenFiles/NAS-PDU.h
new file mode 100644
index 0000000..a7d8f88
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/NAS-PDU.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_NAS_PDU_H_
+#define	_NAS_PDU_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* NAS-PDU */
+typedef OCTET_STRING_t	 NAS_PDU_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_NAS_PDU;
+asn_struct_free_f NAS_PDU_free;
+asn_struct_print_f NAS_PDU_print;
+asn_constr_check_f NAS_PDU_constraint;
+ber_type_decoder_f NAS_PDU_decode_ber;
+der_type_encoder_f NAS_PDU_encode_der;
+xer_type_decoder_f NAS_PDU_decode_xer;
+xer_type_encoder_f NAS_PDU_encode_xer;
+oer_type_decoder_f NAS_PDU_decode_oer;
+oer_type_encoder_f NAS_PDU_encode_oer;
+per_type_decoder_f NAS_PDU_decode_uper;
+per_type_encoder_f NAS_PDU_encode_uper;
+per_type_decoder_f NAS_PDU_decode_aper;
+per_type_encoder_f NAS_PDU_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _NAS_PDU_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/NASDeliveryIndication.h b/src/s1ap/asn1c/asnGenFiles/NASDeliveryIndication.h
new file mode 100644
index 0000000..81cbf85
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/NASDeliveryIndication.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_NASDeliveryIndication_H_
+#define	_NASDeliveryIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* NASDeliveryIndication */
+typedef struct NASDeliveryIndication {
+	ProtocolIE_Container_129P36_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} NASDeliveryIndication_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_NASDeliveryIndication;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _NASDeliveryIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/NASNonDeliveryIndication.h b/src/s1ap/asn1c/asnGenFiles/NASNonDeliveryIndication.h
new file mode 100644
index 0000000..d00543b
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/NASNonDeliveryIndication.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_NASNonDeliveryIndication_H_
+#define	_NASNonDeliveryIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* NASNonDeliveryIndication */
+typedef struct NASNonDeliveryIndication {
+	ProtocolIE_Container_129P34_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} NASNonDeliveryIndication_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_NASNonDeliveryIndication;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _NASNonDeliveryIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/NASSecurityParametersfromE-UTRAN.h b/src/s1ap/asn1c/asnGenFiles/NASSecurityParametersfromE-UTRAN.h
new file mode 100644
index 0000000..1cee507
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/NASSecurityParametersfromE-UTRAN.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_NASSecurityParametersfromE_UTRAN_H_
+#define	_NASSecurityParametersfromE_UTRAN_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* NASSecurityParametersfromE-UTRAN */
+typedef OCTET_STRING_t	 NASSecurityParametersfromE_UTRAN_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_NASSecurityParametersfromE_UTRAN;
+asn_struct_free_f NASSecurityParametersfromE_UTRAN_free;
+asn_struct_print_f NASSecurityParametersfromE_UTRAN_print;
+asn_constr_check_f NASSecurityParametersfromE_UTRAN_constraint;
+ber_type_decoder_f NASSecurityParametersfromE_UTRAN_decode_ber;
+der_type_encoder_f NASSecurityParametersfromE_UTRAN_encode_der;
+xer_type_decoder_f NASSecurityParametersfromE_UTRAN_decode_xer;
+xer_type_encoder_f NASSecurityParametersfromE_UTRAN_encode_xer;
+oer_type_decoder_f NASSecurityParametersfromE_UTRAN_decode_oer;
+oer_type_encoder_f NASSecurityParametersfromE_UTRAN_encode_oer;
+per_type_decoder_f NASSecurityParametersfromE_UTRAN_decode_uper;
+per_type_encoder_f NASSecurityParametersfromE_UTRAN_encode_uper;
+per_type_decoder_f NASSecurityParametersfromE_UTRAN_decode_aper;
+per_type_encoder_f NASSecurityParametersfromE_UTRAN_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _NASSecurityParametersfromE_UTRAN_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/NASSecurityParameterstoE-UTRAN.h b/src/s1ap/asn1c/asnGenFiles/NASSecurityParameterstoE-UTRAN.h
new file mode 100644
index 0000000..28f388e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/NASSecurityParameterstoE-UTRAN.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_NASSecurityParameterstoE_UTRAN_H_
+#define	_NASSecurityParameterstoE_UTRAN_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* NASSecurityParameterstoE-UTRAN */
+typedef OCTET_STRING_t	 NASSecurityParameterstoE_UTRAN_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_NASSecurityParameterstoE_UTRAN;
+asn_struct_free_f NASSecurityParameterstoE_UTRAN_free;
+asn_struct_print_f NASSecurityParameterstoE_UTRAN_print;
+asn_constr_check_f NASSecurityParameterstoE_UTRAN_constraint;
+ber_type_decoder_f NASSecurityParameterstoE_UTRAN_decode_ber;
+der_type_encoder_f NASSecurityParameterstoE_UTRAN_encode_der;
+xer_type_decoder_f NASSecurityParameterstoE_UTRAN_decode_xer;
+xer_type_encoder_f NASSecurityParameterstoE_UTRAN_encode_xer;
+oer_type_decoder_f NASSecurityParameterstoE_UTRAN_decode_oer;
+oer_type_encoder_f NASSecurityParameterstoE_UTRAN_encode_oer;
+per_type_decoder_f NASSecurityParameterstoE_UTRAN_decode_uper;
+per_type_encoder_f NASSecurityParameterstoE_UTRAN_encode_uper;
+per_type_decoder_f NASSecurityParameterstoE_UTRAN_decode_aper;
+per_type_encoder_f NASSecurityParameterstoE_UTRAN_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _NASSecurityParameterstoE_UTRAN_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/NB-IoT-DefaultPagingDRX.h b/src/s1ap/asn1c/asnGenFiles/NB-IoT-DefaultPagingDRX.h
new file mode 100644
index 0000000..5f46965
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/NB-IoT-DefaultPagingDRX.h
@@ -0,0 +1,58 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_NB_IoT_DefaultPagingDRX_H_
+#define	_NB_IoT_DefaultPagingDRX_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum NB_IoT_DefaultPagingDRX {
+	NB_IoT_DefaultPagingDRX_v128	= 0,
+	NB_IoT_DefaultPagingDRX_v256	= 1,
+	NB_IoT_DefaultPagingDRX_v512	= 2,
+	NB_IoT_DefaultPagingDRX_v1024	= 3
+	/*
+	 * Enumeration is extensible
+	 */
+} e_NB_IoT_DefaultPagingDRX;
+
+/* NB-IoT-DefaultPagingDRX */
+typedef long	 NB_IoT_DefaultPagingDRX_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_NB_IoT_DefaultPagingDRX_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_NB_IoT_DefaultPagingDRX;
+extern const asn_INTEGER_specifics_t asn_SPC_NB_IoT_DefaultPagingDRX_specs_1;
+asn_struct_free_f NB_IoT_DefaultPagingDRX_free;
+asn_struct_print_f NB_IoT_DefaultPagingDRX_print;
+asn_constr_check_f NB_IoT_DefaultPagingDRX_constraint;
+ber_type_decoder_f NB_IoT_DefaultPagingDRX_decode_ber;
+der_type_encoder_f NB_IoT_DefaultPagingDRX_encode_der;
+xer_type_decoder_f NB_IoT_DefaultPagingDRX_decode_xer;
+xer_type_encoder_f NB_IoT_DefaultPagingDRX_encode_xer;
+oer_type_decoder_f NB_IoT_DefaultPagingDRX_decode_oer;
+oer_type_encoder_f NB_IoT_DefaultPagingDRX_encode_oer;
+per_type_decoder_f NB_IoT_DefaultPagingDRX_decode_uper;
+per_type_encoder_f NB_IoT_DefaultPagingDRX_encode_uper;
+per_type_decoder_f NB_IoT_DefaultPagingDRX_decode_aper;
+per_type_encoder_f NB_IoT_DefaultPagingDRX_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _NB_IoT_DefaultPagingDRX_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/NB-IoT-Paging-eDRX-Cycle.h b/src/s1ap/asn1c/asnGenFiles/NB-IoT-Paging-eDRX-Cycle.h
new file mode 100644
index 0000000..b9ccac7
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/NB-IoT-Paging-eDRX-Cycle.h
@@ -0,0 +1,68 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_NB_IoT_Paging_eDRX_Cycle_H_
+#define	_NB_IoT_Paging_eDRX_Cycle_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum NB_IoT_Paging_eDRX_Cycle {
+	NB_IoT_Paging_eDRX_Cycle_hf2	= 0,
+	NB_IoT_Paging_eDRX_Cycle_hf4	= 1,
+	NB_IoT_Paging_eDRX_Cycle_hf6	= 2,
+	NB_IoT_Paging_eDRX_Cycle_hf8	= 3,
+	NB_IoT_Paging_eDRX_Cycle_hf10	= 4,
+	NB_IoT_Paging_eDRX_Cycle_hf12	= 5,
+	NB_IoT_Paging_eDRX_Cycle_hf14	= 6,
+	NB_IoT_Paging_eDRX_Cycle_hf16	= 7,
+	NB_IoT_Paging_eDRX_Cycle_hf32	= 8,
+	NB_IoT_Paging_eDRX_Cycle_hf64	= 9,
+	NB_IoT_Paging_eDRX_Cycle_hf128	= 10,
+	NB_IoT_Paging_eDRX_Cycle_hf256	= 11,
+	NB_IoT_Paging_eDRX_Cycle_hf512	= 12,
+	NB_IoT_Paging_eDRX_Cycle_hf1024	= 13
+	/*
+	 * Enumeration is extensible
+	 */
+} e_NB_IoT_Paging_eDRX_Cycle;
+
+/* NB-IoT-Paging-eDRX-Cycle */
+typedef long	 NB_IoT_Paging_eDRX_Cycle_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_NB_IoT_Paging_eDRX_Cycle_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_NB_IoT_Paging_eDRX_Cycle;
+extern const asn_INTEGER_specifics_t asn_SPC_NB_IoT_Paging_eDRX_Cycle_specs_1;
+asn_struct_free_f NB_IoT_Paging_eDRX_Cycle_free;
+asn_struct_print_f NB_IoT_Paging_eDRX_Cycle_print;
+asn_constr_check_f NB_IoT_Paging_eDRX_Cycle_constraint;
+ber_type_decoder_f NB_IoT_Paging_eDRX_Cycle_decode_ber;
+der_type_encoder_f NB_IoT_Paging_eDRX_Cycle_encode_der;
+xer_type_decoder_f NB_IoT_Paging_eDRX_Cycle_decode_xer;
+xer_type_encoder_f NB_IoT_Paging_eDRX_Cycle_encode_xer;
+oer_type_decoder_f NB_IoT_Paging_eDRX_Cycle_decode_oer;
+oer_type_encoder_f NB_IoT_Paging_eDRX_Cycle_encode_oer;
+per_type_decoder_f NB_IoT_Paging_eDRX_Cycle_decode_uper;
+per_type_encoder_f NB_IoT_Paging_eDRX_Cycle_encode_uper;
+per_type_decoder_f NB_IoT_Paging_eDRX_Cycle_decode_aper;
+per_type_encoder_f NB_IoT_Paging_eDRX_Cycle_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _NB_IoT_Paging_eDRX_Cycle_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/NB-IoT-Paging-eDRXInformation.h b/src/s1ap/asn1c/asnGenFiles/NB-IoT-Paging-eDRXInformation.h
new file mode 100644
index 0000000..50731c3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/NB-IoT-Paging-eDRXInformation.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_NB_IoT_Paging_eDRXInformation_H_
+#define	_NB_IoT_Paging_eDRXInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "NB-IoT-Paging-eDRX-Cycle.h"
+#include "NB-IoT-PagingTimeWindow.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* NB-IoT-Paging-eDRXInformation */
+typedef struct NB_IoT_Paging_eDRXInformation {
+	NB_IoT_Paging_eDRX_Cycle_t	 nB_IoT_paging_eDRX_Cycle;
+	NB_IoT_PagingTimeWindow_t	*nB_IoT_pagingTimeWindow;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} NB_IoT_Paging_eDRXInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_NB_IoT_Paging_eDRXInformation;
+extern asn_SEQUENCE_specifics_t asn_SPC_NB_IoT_Paging_eDRXInformation_specs_1;
+extern asn_TYPE_member_t asn_MBR_NB_IoT_Paging_eDRXInformation_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _NB_IoT_Paging_eDRXInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/NB-IoT-PagingTimeWindow.h b/src/s1ap/asn1c/asnGenFiles/NB-IoT-PagingTimeWindow.h
new file mode 100644
index 0000000..6fdb6e2
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/NB-IoT-PagingTimeWindow.h
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_NB_IoT_PagingTimeWindow_H_
+#define	_NB_IoT_PagingTimeWindow_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum NB_IoT_PagingTimeWindow {
+	NB_IoT_PagingTimeWindow_s1	= 0,
+	NB_IoT_PagingTimeWindow_s2	= 1,
+	NB_IoT_PagingTimeWindow_s3	= 2,
+	NB_IoT_PagingTimeWindow_s4	= 3,
+	NB_IoT_PagingTimeWindow_s5	= 4,
+	NB_IoT_PagingTimeWindow_s6	= 5,
+	NB_IoT_PagingTimeWindow_s7	= 6,
+	NB_IoT_PagingTimeWindow_s8	= 7,
+	NB_IoT_PagingTimeWindow_s9	= 8,
+	NB_IoT_PagingTimeWindow_s10	= 9,
+	NB_IoT_PagingTimeWindow_s11	= 10,
+	NB_IoT_PagingTimeWindow_s12	= 11,
+	NB_IoT_PagingTimeWindow_s13	= 12,
+	NB_IoT_PagingTimeWindow_s14	= 13,
+	NB_IoT_PagingTimeWindow_s15	= 14,
+	NB_IoT_PagingTimeWindow_s16	= 15
+	/*
+	 * Enumeration is extensible
+	 */
+} e_NB_IoT_PagingTimeWindow;
+
+/* NB-IoT-PagingTimeWindow */
+typedef long	 NB_IoT_PagingTimeWindow_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_NB_IoT_PagingTimeWindow_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_NB_IoT_PagingTimeWindow;
+extern const asn_INTEGER_specifics_t asn_SPC_NB_IoT_PagingTimeWindow_specs_1;
+asn_struct_free_f NB_IoT_PagingTimeWindow_free;
+asn_struct_print_f NB_IoT_PagingTimeWindow_print;
+asn_constr_check_f NB_IoT_PagingTimeWindow_constraint;
+ber_type_decoder_f NB_IoT_PagingTimeWindow_decode_ber;
+der_type_encoder_f NB_IoT_PagingTimeWindow_encode_der;
+xer_type_decoder_f NB_IoT_PagingTimeWindow_decode_xer;
+xer_type_encoder_f NB_IoT_PagingTimeWindow_encode_xer;
+oer_type_decoder_f NB_IoT_PagingTimeWindow_decode_oer;
+oer_type_encoder_f NB_IoT_PagingTimeWindow_encode_oer;
+per_type_decoder_f NB_IoT_PagingTimeWindow_decode_uper;
+per_type_encoder_f NB_IoT_PagingTimeWindow_encode_uper;
+per_type_decoder_f NB_IoT_PagingTimeWindow_decode_aper;
+per_type_encoder_f NB_IoT_PagingTimeWindow_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _NB_IoT_PagingTimeWindow_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/NB-IoT-UEIdentityIndexValue.h b/src/s1ap/asn1c/asnGenFiles/NB-IoT-UEIdentityIndexValue.h
new file mode 100644
index 0000000..9c29703
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/NB-IoT-UEIdentityIndexValue.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_NB_IoT_UEIdentityIndexValue_H_
+#define	_NB_IoT_UEIdentityIndexValue_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* NB-IoT-UEIdentityIndexValue */
+typedef BIT_STRING_t	 NB_IoT_UEIdentityIndexValue_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_NB_IoT_UEIdentityIndexValue_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_NB_IoT_UEIdentityIndexValue;
+asn_struct_free_f NB_IoT_UEIdentityIndexValue_free;
+asn_struct_print_f NB_IoT_UEIdentityIndexValue_print;
+asn_constr_check_f NB_IoT_UEIdentityIndexValue_constraint;
+ber_type_decoder_f NB_IoT_UEIdentityIndexValue_decode_ber;
+der_type_encoder_f NB_IoT_UEIdentityIndexValue_encode_der;
+xer_type_decoder_f NB_IoT_UEIdentityIndexValue_decode_xer;
+xer_type_encoder_f NB_IoT_UEIdentityIndexValue_encode_xer;
+oer_type_decoder_f NB_IoT_UEIdentityIndexValue_decode_oer;
+oer_type_encoder_f NB_IoT_UEIdentityIndexValue_encode_oer;
+per_type_decoder_f NB_IoT_UEIdentityIndexValue_decode_uper;
+per_type_encoder_f NB_IoT_UEIdentityIndexValue_encode_uper;
+per_type_decoder_f NB_IoT_UEIdentityIndexValue_decode_aper;
+per_type_encoder_f NB_IoT_UEIdentityIndexValue_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _NB_IoT_UEIdentityIndexValue_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/NG-eNB.h b/src/s1ap/asn1c/asnGenFiles/NG-eNB.h
new file mode 100644
index 0000000..77f7f70
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/NG-eNB.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_NG_eNB_H_
+#define	_NG_eNB_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "Global-ENB-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* NG-eNB */
+typedef struct NG_eNB {
+	Global_ENB_ID_t	 global_ng_eNB_ID;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} NG_eNB_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_NG_eNB;
+extern asn_SEQUENCE_specifics_t asn_SPC_NG_eNB_specs_1;
+extern asn_TYPE_member_t asn_MBR_NG_eNB_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _NG_eNB_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/NR-CGI.h b/src/s1ap/asn1c/asnGenFiles/NR-CGI.h
new file mode 100644
index 0000000..3288408
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/NR-CGI.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_NR_CGI_H_
+#define	_NR_CGI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PLMNidentity.h"
+#include "NRCellIdentity.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* NR-CGI */
+typedef struct NR_CGI {
+	PLMNidentity_t	 pLMNIdentity;
+	NRCellIdentity_t	 nRCellIdentity;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} NR_CGI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_NR_CGI;
+extern asn_SEQUENCE_specifics_t asn_SPC_NR_CGI_specs_1;
+extern asn_TYPE_member_t asn_MBR_NR_CGI_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _NR_CGI_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/NRCellIdentity.h b/src/s1ap/asn1c/asnGenFiles/NRCellIdentity.h
new file mode 100644
index 0000000..bb55c69
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/NRCellIdentity.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_NRCellIdentity_H_
+#define	_NRCellIdentity_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* NRCellIdentity */
+typedef BIT_STRING_t	 NRCellIdentity_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_NRCellIdentity_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_NRCellIdentity;
+asn_struct_free_f NRCellIdentity_free;
+asn_struct_print_f NRCellIdentity_print;
+asn_constr_check_f NRCellIdentity_constraint;
+ber_type_decoder_f NRCellIdentity_decode_ber;
+der_type_encoder_f NRCellIdentity_encode_der;
+xer_type_decoder_f NRCellIdentity_decode_xer;
+xer_type_encoder_f NRCellIdentity_encode_xer;
+oer_type_decoder_f NRCellIdentity_decode_oer;
+oer_type_encoder_f NRCellIdentity_encode_oer;
+per_type_decoder_f NRCellIdentity_decode_uper;
+per_type_encoder_f NRCellIdentity_encode_uper;
+per_type_decoder_f NRCellIdentity_decode_aper;
+per_type_encoder_f NRCellIdentity_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _NRCellIdentity_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/NRUESecurityCapabilities.h b/src/s1ap/asn1c/asnGenFiles/NRUESecurityCapabilities.h
new file mode 100644
index 0000000..e70b5cd
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/NRUESecurityCapabilities.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_NRUESecurityCapabilities_H_
+#define	_NRUESecurityCapabilities_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "NRencryptionAlgorithms.h"
+#include "NRintegrityProtectionAlgorithms.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* NRUESecurityCapabilities */
+typedef struct NRUESecurityCapabilities {
+	NRencryptionAlgorithms_t	 nRencryptionAlgorithms;
+	NRintegrityProtectionAlgorithms_t	 nRintegrityProtectionAlgorithms;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} NRUESecurityCapabilities_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_NRUESecurityCapabilities;
+extern asn_SEQUENCE_specifics_t asn_SPC_NRUESecurityCapabilities_specs_1;
+extern asn_TYPE_member_t asn_MBR_NRUESecurityCapabilities_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _NRUESecurityCapabilities_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/NRencryptionAlgorithms.h b/src/s1ap/asn1c/asnGenFiles/NRencryptionAlgorithms.h
new file mode 100644
index 0000000..e67c5d4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/NRencryptionAlgorithms.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_NRencryptionAlgorithms_H_
+#define	_NRencryptionAlgorithms_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* NRencryptionAlgorithms */
+typedef BIT_STRING_t	 NRencryptionAlgorithms_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_NRencryptionAlgorithms_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_NRencryptionAlgorithms;
+asn_struct_free_f NRencryptionAlgorithms_free;
+asn_struct_print_f NRencryptionAlgorithms_print;
+asn_constr_check_f NRencryptionAlgorithms_constraint;
+ber_type_decoder_f NRencryptionAlgorithms_decode_ber;
+der_type_encoder_f NRencryptionAlgorithms_encode_der;
+xer_type_decoder_f NRencryptionAlgorithms_decode_xer;
+xer_type_encoder_f NRencryptionAlgorithms_encode_xer;
+oer_type_decoder_f NRencryptionAlgorithms_decode_oer;
+oer_type_encoder_f NRencryptionAlgorithms_encode_oer;
+per_type_decoder_f NRencryptionAlgorithms_decode_uper;
+per_type_encoder_f NRencryptionAlgorithms_encode_uper;
+per_type_decoder_f NRencryptionAlgorithms_decode_aper;
+per_type_encoder_f NRencryptionAlgorithms_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _NRencryptionAlgorithms_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/NRintegrityProtectionAlgorithms.h b/src/s1ap/asn1c/asnGenFiles/NRintegrityProtectionAlgorithms.h
new file mode 100644
index 0000000..c9a988a
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/NRintegrityProtectionAlgorithms.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_NRintegrityProtectionAlgorithms_H_
+#define	_NRintegrityProtectionAlgorithms_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* NRintegrityProtectionAlgorithms */
+typedef BIT_STRING_t	 NRintegrityProtectionAlgorithms_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_NRintegrityProtectionAlgorithms_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_NRintegrityProtectionAlgorithms;
+asn_struct_free_f NRintegrityProtectionAlgorithms_free;
+asn_struct_print_f NRintegrityProtectionAlgorithms_print;
+asn_constr_check_f NRintegrityProtectionAlgorithms_constraint;
+ber_type_decoder_f NRintegrityProtectionAlgorithms_decode_ber;
+der_type_encoder_f NRintegrityProtectionAlgorithms_encode_der;
+xer_type_decoder_f NRintegrityProtectionAlgorithms_decode_xer;
+xer_type_encoder_f NRintegrityProtectionAlgorithms_encode_xer;
+oer_type_decoder_f NRintegrityProtectionAlgorithms_decode_oer;
+oer_type_encoder_f NRintegrityProtectionAlgorithms_encode_oer;
+per_type_decoder_f NRintegrityProtectionAlgorithms_decode_uper;
+per_type_encoder_f NRintegrityProtectionAlgorithms_encode_uper;
+per_type_decoder_f NRintegrityProtectionAlgorithms_decode_aper;
+per_type_encoder_f NRintegrityProtectionAlgorithms_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _NRintegrityProtectionAlgorithms_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/NRrestrictionin5GS.h b/src/s1ap/asn1c/asnGenFiles/NRrestrictionin5GS.h
new file mode 100644
index 0000000..88957d4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/NRrestrictionin5GS.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_NRrestrictionin5GS_H_
+#define	_NRrestrictionin5GS_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum NRrestrictionin5GS {
+	NRrestrictionin5GS_nRrestrictedin5GS	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_NRrestrictionin5GS;
+
+/* NRrestrictionin5GS */
+typedef long	 NRrestrictionin5GS_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_NRrestrictionin5GS_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_NRrestrictionin5GS;
+extern const asn_INTEGER_specifics_t asn_SPC_NRrestrictionin5GS_specs_1;
+asn_struct_free_f NRrestrictionin5GS_free;
+asn_struct_print_f NRrestrictionin5GS_print;
+asn_constr_check_f NRrestrictionin5GS_constraint;
+ber_type_decoder_f NRrestrictionin5GS_decode_ber;
+der_type_encoder_f NRrestrictionin5GS_encode_der;
+xer_type_decoder_f NRrestrictionin5GS_decode_xer;
+xer_type_encoder_f NRrestrictionin5GS_encode_xer;
+oer_type_decoder_f NRrestrictionin5GS_decode_oer;
+oer_type_encoder_f NRrestrictionin5GS_encode_oer;
+per_type_decoder_f NRrestrictionin5GS_decode_uper;
+per_type_encoder_f NRrestrictionin5GS_encode_uper;
+per_type_decoder_f NRrestrictionin5GS_decode_aper;
+per_type_encoder_f NRrestrictionin5GS_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _NRrestrictionin5GS_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/NRrestrictioninEPSasSecondaryRAT.h b/src/s1ap/asn1c/asnGenFiles/NRrestrictioninEPSasSecondaryRAT.h
new file mode 100644
index 0000000..c30adbd
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/NRrestrictioninEPSasSecondaryRAT.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_NRrestrictioninEPSasSecondaryRAT_H_
+#define	_NRrestrictioninEPSasSecondaryRAT_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum NRrestrictioninEPSasSecondaryRAT {
+	NRrestrictioninEPSasSecondaryRAT_nRrestrictedinEPSasSecondaryRAT	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_NRrestrictioninEPSasSecondaryRAT;
+
+/* NRrestrictioninEPSasSecondaryRAT */
+typedef long	 NRrestrictioninEPSasSecondaryRAT_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_NRrestrictioninEPSasSecondaryRAT_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_NRrestrictioninEPSasSecondaryRAT;
+extern const asn_INTEGER_specifics_t asn_SPC_NRrestrictioninEPSasSecondaryRAT_specs_1;
+asn_struct_free_f NRrestrictioninEPSasSecondaryRAT_free;
+asn_struct_print_f NRrestrictioninEPSasSecondaryRAT_print;
+asn_constr_check_f NRrestrictioninEPSasSecondaryRAT_constraint;
+ber_type_decoder_f NRrestrictioninEPSasSecondaryRAT_decode_ber;
+der_type_encoder_f NRrestrictioninEPSasSecondaryRAT_encode_der;
+xer_type_decoder_f NRrestrictioninEPSasSecondaryRAT_decode_xer;
+xer_type_encoder_f NRrestrictioninEPSasSecondaryRAT_encode_xer;
+oer_type_decoder_f NRrestrictioninEPSasSecondaryRAT_decode_oer;
+oer_type_encoder_f NRrestrictioninEPSasSecondaryRAT_encode_oer;
+per_type_decoder_f NRrestrictioninEPSasSecondaryRAT_decode_uper;
+per_type_encoder_f NRrestrictioninEPSasSecondaryRAT_encode_uper;
+per_type_decoder_f NRrestrictioninEPSasSecondaryRAT_decode_aper;
+per_type_encoder_f NRrestrictioninEPSasSecondaryRAT_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _NRrestrictioninEPSasSecondaryRAT_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/NULL.h b/src/s1ap/asn1c/asnGenFiles/NULL.h
new file mode 100644
index 0000000..802d12c
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/NULL.h
@@ -0,0 +1,45 @@
+/*-
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	ASN_TYPE_NULL_H
+#define	ASN_TYPE_NULL_H
+
+#include <asn_application.h>
+#include <BOOLEAN.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * The value of the NULL type is meaningless: see BOOLEAN if you want to
+ * carry true/false semantics.
+ */
+typedef int NULL_t;
+
+extern asn_TYPE_descriptor_t asn_DEF_NULL;
+extern asn_TYPE_operation_t asn_OP_NULL;
+
+asn_struct_print_f NULL_print;
+asn_struct_compare_f NULL_compare;
+der_type_encoder_f NULL_encode_der;
+xer_type_decoder_f NULL_decode_xer;
+xer_type_encoder_f NULL_encode_xer;
+oer_type_decoder_f NULL_decode_oer;
+oer_type_encoder_f NULL_encode_oer;
+per_type_decoder_f NULL_decode_uper;
+per_type_encoder_f NULL_encode_uper;
+per_type_decoder_f NULL_decode_aper;
+per_type_encoder_f NULL_encode_aper;
+asn_random_fill_f  NULL_random_fill;
+
+#define NULL_free	BOOLEAN_free
+#define NULL_decode_ber	BOOLEAN_decode_ber
+#define NULL_constraint	asn_generic_no_constraint
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* NULL_H */
diff --git a/src/s1ap/asn1c/asnGenFiles/NativeEnumerated.h b/src/s1ap/asn1c/asnGenFiles/NativeEnumerated.h
new file mode 100644
index 0000000..459f0e6
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/NativeEnumerated.h
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2004-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+/*
+ * This type differs from the standard ENUMERATED in that it is modelled using
+ * the fixed machine type (long, int, short), so it can hold only values of
+ * limited length. There is no type (i.e., NativeEnumerated_t, any integer type
+ * will do).
+ * This type may be used when integer range is limited by subtype constraints.
+ */
+#ifndef	_NativeEnumerated_H_
+#define	_NativeEnumerated_H_
+
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern asn_TYPE_descriptor_t asn_DEF_NativeEnumerated;
+extern asn_TYPE_operation_t asn_OP_NativeEnumerated;
+
+xer_type_encoder_f NativeEnumerated_encode_xer;
+oer_type_decoder_f NativeEnumerated_decode_oer;
+oer_type_encoder_f NativeEnumerated_encode_oer;
+per_type_decoder_f NativeEnumerated_decode_uper;
+per_type_encoder_f NativeEnumerated_encode_uper;
+per_type_decoder_f NativeEnumerated_decode_aper;
+per_type_encoder_f NativeEnumerated_encode_aper;
+
+#define NativeEnumerated_free       NativeInteger_free
+#define NativeEnumerated_print      NativeInteger_print
+#define NativeEnumerated_compare    NativeInteger_compare
+#define NativeEnumerated_random_fill NativeInteger_random_fill
+#define NativeEnumerated_constraint asn_generic_no_constraint
+#define NativeEnumerated_decode_ber NativeInteger_decode_ber
+#define NativeEnumerated_encode_der NativeInteger_encode_der
+#define NativeEnumerated_decode_xer NativeInteger_decode_xer
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _NativeEnumerated_H_ */
diff --git a/src/s1ap/asn1c/asnGenFiles/NativeInteger.h b/src/s1ap/asn1c/asnGenFiles/NativeInteger.h
new file mode 100644
index 0000000..c74406a
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/NativeInteger.h
@@ -0,0 +1,46 @@
+/*-
+ * Copyright (c) 2004-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+/*
+ * This type differs from the standard INTEGER in that it is modelled using
+ * the fixed machine type (long, int, short), so it can hold only values of
+ * limited length. There is no type (i.e., NativeInteger_t, any integer type
+ * will do).
+ * This type may be used when integer range is limited by subtype constraints.
+ */
+#ifndef	_NativeInteger_H_
+#define	_NativeInteger_H_
+
+#include <asn_application.h>
+#include <INTEGER.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern asn_TYPE_descriptor_t asn_DEF_NativeInteger;
+extern asn_TYPE_operation_t asn_OP_NativeInteger;
+
+asn_struct_free_f  NativeInteger_free;
+asn_struct_print_f NativeInteger_print;
+asn_struct_compare_f NativeInteger_compare;
+ber_type_decoder_f NativeInteger_decode_ber;
+der_type_encoder_f NativeInteger_encode_der;
+xer_type_decoder_f NativeInteger_decode_xer;
+xer_type_encoder_f NativeInteger_encode_xer;
+oer_type_decoder_f NativeInteger_decode_oer;
+oer_type_encoder_f NativeInteger_encode_oer;
+per_type_decoder_f NativeInteger_decode_uper;
+per_type_encoder_f NativeInteger_encode_uper;
+per_type_decoder_f NativeInteger_decode_aper;
+per_type_encoder_f NativeInteger_encode_aper;
+asn_random_fill_f  NativeInteger_random_fill;
+
+#define NativeInteger_constraint  asn_generic_no_constraint
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _NativeInteger_H_ */
diff --git a/src/s1ap/asn1c/asnGenFiles/NextPagingAreaScope.h b/src/s1ap/asn1c/asnGenFiles/NextPagingAreaScope.h
new file mode 100644
index 0000000..d1d1c6d
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/NextPagingAreaScope.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_NextPagingAreaScope_H_
+#define	_NextPagingAreaScope_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum NextPagingAreaScope {
+	NextPagingAreaScope_same	= 0,
+	NextPagingAreaScope_changed	= 1
+	/*
+	 * Enumeration is extensible
+	 */
+} e_NextPagingAreaScope;
+
+/* NextPagingAreaScope */
+typedef long	 NextPagingAreaScope_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_NextPagingAreaScope_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_NextPagingAreaScope;
+extern const asn_INTEGER_specifics_t asn_SPC_NextPagingAreaScope_specs_1;
+asn_struct_free_f NextPagingAreaScope_free;
+asn_struct_print_f NextPagingAreaScope_print;
+asn_constr_check_f NextPagingAreaScope_constraint;
+ber_type_decoder_f NextPagingAreaScope_decode_ber;
+der_type_encoder_f NextPagingAreaScope_encode_der;
+xer_type_decoder_f NextPagingAreaScope_decode_xer;
+xer_type_encoder_f NextPagingAreaScope_encode_xer;
+oer_type_decoder_f NextPagingAreaScope_decode_oer;
+oer_type_encoder_f NextPagingAreaScope_encode_oer;
+per_type_decoder_f NextPagingAreaScope_decode_uper;
+per_type_encoder_f NextPagingAreaScope_encode_uper;
+per_type_decoder_f NextPagingAreaScope_decode_aper;
+per_type_encoder_f NextPagingAreaScope_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _NextPagingAreaScope_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/NumberOfBroadcasts.h b/src/s1ap/asn1c/asnGenFiles/NumberOfBroadcasts.h
new file mode 100644
index 0000000..ec5e9cb
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/NumberOfBroadcasts.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_NumberOfBroadcasts_H_
+#define	_NumberOfBroadcasts_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* NumberOfBroadcasts */
+typedef long	 NumberOfBroadcasts_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_NumberOfBroadcasts_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_NumberOfBroadcasts;
+asn_struct_free_f NumberOfBroadcasts_free;
+asn_struct_print_f NumberOfBroadcasts_print;
+asn_constr_check_f NumberOfBroadcasts_constraint;
+ber_type_decoder_f NumberOfBroadcasts_decode_ber;
+der_type_encoder_f NumberOfBroadcasts_encode_der;
+xer_type_decoder_f NumberOfBroadcasts_decode_xer;
+xer_type_encoder_f NumberOfBroadcasts_encode_xer;
+oer_type_decoder_f NumberOfBroadcasts_decode_oer;
+oer_type_encoder_f NumberOfBroadcasts_encode_oer;
+per_type_decoder_f NumberOfBroadcasts_decode_uper;
+per_type_encoder_f NumberOfBroadcasts_encode_uper;
+per_type_decoder_f NumberOfBroadcasts_decode_aper;
+per_type_encoder_f NumberOfBroadcasts_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _NumberOfBroadcasts_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/NumberofBroadcastRequest.h b/src/s1ap/asn1c/asnGenFiles/NumberofBroadcastRequest.h
new file mode 100644
index 0000000..54fd539
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/NumberofBroadcastRequest.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_NumberofBroadcastRequest_H_
+#define	_NumberofBroadcastRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* NumberofBroadcastRequest */
+typedef long	 NumberofBroadcastRequest_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_NumberofBroadcastRequest_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_NumberofBroadcastRequest;
+asn_struct_free_f NumberofBroadcastRequest_free;
+asn_struct_print_f NumberofBroadcastRequest_print;
+asn_constr_check_f NumberofBroadcastRequest_constraint;
+ber_type_decoder_f NumberofBroadcastRequest_decode_ber;
+der_type_encoder_f NumberofBroadcastRequest_encode_der;
+xer_type_decoder_f NumberofBroadcastRequest_decode_xer;
+xer_type_encoder_f NumberofBroadcastRequest_encode_xer;
+oer_type_decoder_f NumberofBroadcastRequest_decode_oer;
+oer_type_encoder_f NumberofBroadcastRequest_encode_oer;
+per_type_decoder_f NumberofBroadcastRequest_decode_uper;
+per_type_encoder_f NumberofBroadcastRequest_encode_uper;
+per_type_decoder_f NumberofBroadcastRequest_decode_aper;
+per_type_encoder_f NumberofBroadcastRequest_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _NumberofBroadcastRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/OBJECT_IDENTIFIER.h b/src/s1ap/asn1c/asnGenFiles/OBJECT_IDENTIFIER.h
new file mode 100644
index 0000000..087c6fd
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/OBJECT_IDENTIFIER.h
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	_OBJECT_IDENTIFIER_H_
+#define	_OBJECT_IDENTIFIER_H_
+
+#include <asn_application.h>
+#include <asn_codecs_prim.h>
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef uint32_t asn_oid_arc_t;
+#define ASN_OID_ARC_MAX (~((asn_oid_arc_t)0))
+
+typedef ASN__PRIMITIVE_TYPE_t OBJECT_IDENTIFIER_t;
+
+extern asn_TYPE_descriptor_t asn_DEF_OBJECT_IDENTIFIER;
+extern asn_TYPE_operation_t asn_OP_OBJECT_IDENTIFIER;
+
+asn_struct_print_f OBJECT_IDENTIFIER_print;
+asn_constr_check_f OBJECT_IDENTIFIER_constraint;
+der_type_encoder_f OBJECT_IDENTIFIER_encode_der;
+xer_type_decoder_f OBJECT_IDENTIFIER_decode_xer;
+xer_type_encoder_f OBJECT_IDENTIFIER_encode_xer;
+asn_random_fill_f  OBJECT_IDENTIFIER_random_fill;
+
+#define OBJECT_IDENTIFIER_free           ASN__PRIMITIVE_TYPE_free
+#define OBJECT_IDENTIFIER_compare        OCTET_STRING_compare
+#define OBJECT_IDENTIFIER_decode_ber     ber_decode_primitive
+#define OBJECT_IDENTIFIER_encode_der     der_encode_primitive
+#define OBJECT_IDENTIFIER_decode_oer     oer_decode_primitive
+#define OBJECT_IDENTIFIER_encode_oer     oer_encode_primitive
+#define OBJECT_IDENTIFIER_decode_uper    OCTET_STRING_decode_uper
+#define OBJECT_IDENTIFIER_encode_uper    OCTET_STRING_encode_uper
+#define OBJECT_IDENTIFIER_decode_aper    OCTET_STRING_decode_aper
+#define OBJECT_IDENTIFIER_encode_aper    OCTET_STRING_encode_aper
+
+/**********************************
+ * Some handy conversion routines *
+ **********************************/
+
+/*
+ * This function fills an (arcs) array with OBJECT IDENTIFIER arcs
+ * up to specified (arc_slots) elements.
+ *
+ * EXAMPLE:
+ * 	void print_arcs(OBJECT_IDENTIFIER_t *oid) {
+ * 		asn_oid_arc_t fixed_arcs[10];	// Try with fixed space first
+ * 		asn_oid_arc_t *arcs = fixed_arcs;
+ * 		size_t arc_slots = sizeof(fixed_arcs)/sizeof(fixed_arcs[0]); // 10
+ * 		ssize_t count;	// Real number of arcs.
+ * 		int i;
+ *
+ * 		count = OBJECT_IDENTIFIER_get_arcs(oid, arcs, arc_slots);
+ * 		// If necessary, reallocate arcs array and try again.
+ * 		if(count > arc_slots) {
+ * 			arc_slots = count;
+ * 			arcs = malloc(sizeof(asn_oid_arc_t) * arc_slots);
+ * 			if(!arcs) return;
+ * 			count = OBJECT_IDENTIFIER_get_arcs(oid, arcs, arc_slots);
+ * 			assert(count == arc_slots);
+ * 		}
+ *
+ * 		// Print the contents of the arcs array.
+ * 		for(i = 0; i < count; i++)
+ * 			printf("%"PRIu32"\n", arcs[i]);
+ *
+ * 		// Avoid memory leak.
+ * 		if(arcs != fixed_arcs) free(arcs);
+ * 	}
+ *
+ * RETURN VALUES:
+ * -1/EINVAL:	Invalid arguments (oid is missing)
+ * -1/ERANGE:	One or more arcs have value out of array cell type range.
+ * >=0:		Number of arcs contained in the OBJECT IDENTIFIER
+ *
+ * WARNING: The function always returns the actual number of arcs,
+ * even if there is no sufficient (arc_slots) provided.
+ */
+ssize_t OBJECT_IDENTIFIER_get_arcs(const OBJECT_IDENTIFIER_t *oid,
+                                   asn_oid_arc_t *arcs, size_t arc_slots);
+
+/*
+ * This functions initializes the OBJECT IDENTIFIER object with
+ * the given set of arcs.
+ * The minimum of two arcs must be present; some restrictions apply.
+ * RETURN VALUES:
+ * -1/EINVAL:	Invalid arguments
+ * -1/ERANGE:	The first two arcs do not conform to ASN.1 restrictions.
+ * -1/ENOMEM:	Memory allocation failed
+ * 0:		The object was initialized with new arcs.
+ */
+int OBJECT_IDENTIFIER_set_arcs(OBJECT_IDENTIFIER_t *oid,
+                               const asn_oid_arc_t *arcs, size_t arcs_count);
+
+
+/*
+ * Parse the OBJECT IDENTIFIER textual representation ("1.3.6.1.4.1.9363").
+ * No arc can exceed the (0..ASN_OID_ARC_MAX, which is the same as UINT32_MAX).
+ * This function is not specific to OBJECT IDENTIFIER, it may be used to parse
+ * the RELATIVE-OID data, or any other data consisting of dot-separated
+ * series of numeric values.
+ *
+ * If (oid_txt_length == -1), the strlen() will be invoked to determine the
+ * size of the (oid_text) string.
+ * 
+ * After return, the optional (opt_oid_text_end) is set to the character after
+ * the last parsed one. (opt_oid_text_end) is never less than (oid_text).
+ * 
+ * RETURN VALUES:
+ *   -1:	Parse error.
+ * >= 0:	Number of arcs contained in the OBJECT IDENTIFIER.
+ * 
+ * WARNING: The function always returns the real number of arcs,
+ * even if there is no sufficient (arc_slots) provided.
+ * This is useful for (arc_slots) value estimation.
+ */
+ssize_t OBJECT_IDENTIFIER_parse_arcs(const char *oid_text,
+                                     ssize_t oid_txt_length,
+                                     asn_oid_arc_t *arcs, size_t arcs_count,
+                                     const char **opt_oid_text_end);
+
+/*
+ * Internal functions.
+ * Used by RELATIVE-OID implementation in particular.
+ */
+
+/*
+ * Retrieve a single arc of size from the (arcbuf) buffer.
+ * RETURN VALUES:
+ *  -1: Failed to retrieve the value from the (arcbuf).
+ *  >0: Number of bytes consumed from the (arcbuf), <= (arcbuf_len).
+ */
+ssize_t OBJECT_IDENTIFIER_get_single_arc(const uint8_t *arcbuf,
+                                         size_t arcbuf_len,
+                                         asn_oid_arc_t *ret_value);
+
+/*
+ * Write the unterminated arc value into the (arcbuf) which has the size at
+ * least (arcbuf_len).
+ * RETURN VALUES:
+ *   -1: (arcbuf_len) size is not sufficient to write the value.
+ *  <n>: Number of bytes appended to the arcbuf (<= arcbuf_len).
+ */
+ssize_t OBJECT_IDENTIFIER_set_single_arc(uint8_t *arcbuf, size_t arcbuf_len,
+                                         asn_oid_arc_t arc_value);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _OBJECT_IDENTIFIER_H_ */
diff --git a/src/s1ap/asn1c/asnGenFiles/OCTET_STRING.h b/src/s1ap/asn1c/asnGenFiles/OCTET_STRING.h
new file mode 100644
index 0000000..c2f8bae
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/OCTET_STRING.h
@@ -0,0 +1,102 @@
+/*-
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	_OCTET_STRING_H_
+#define	_OCTET_STRING_H_
+
+#include <asn_application.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct OCTET_STRING {
+	uint8_t *buf;	/* Buffer with consecutive OCTET_STRING bits */
+	size_t size;	/* Size of the buffer */
+
+	asn_struct_ctx_t _asn_ctx;	/* Parsing across buffer boundaries */
+} OCTET_STRING_t;
+
+extern asn_TYPE_descriptor_t asn_DEF_OCTET_STRING;
+extern asn_TYPE_operation_t asn_OP_OCTET_STRING;
+
+asn_struct_free_f OCTET_STRING_free;
+asn_struct_print_f OCTET_STRING_print;
+asn_struct_print_f OCTET_STRING_print_utf8;
+asn_struct_compare_f OCTET_STRING_compare;
+ber_type_decoder_f OCTET_STRING_decode_ber;
+der_type_encoder_f OCTET_STRING_encode_der;
+xer_type_decoder_f OCTET_STRING_decode_xer_hex;		/* Hexadecimal */
+xer_type_decoder_f OCTET_STRING_decode_xer_binary;	/* 01010111010 */
+xer_type_decoder_f OCTET_STRING_decode_xer_utf8;	/* ASCII/UTF-8 */
+xer_type_encoder_f OCTET_STRING_encode_xer;
+xer_type_encoder_f OCTET_STRING_encode_xer_utf8;
+oer_type_decoder_f OCTET_STRING_decode_oer;
+oer_type_encoder_f OCTET_STRING_encode_oer;
+per_type_decoder_f OCTET_STRING_decode_uper;
+per_type_encoder_f OCTET_STRING_encode_uper;
+per_type_decoder_f OCTET_STRING_decode_aper;
+per_type_encoder_f OCTET_STRING_encode_aper;
+asn_random_fill_f  OCTET_STRING_random_fill;
+
+#define OCTET_STRING_constraint  asn_generic_no_constraint
+#define OCTET_STRING_decode_xer  OCTET_STRING_decode_xer_hex
+
+/******************************
+ * Handy conversion routines. *
+ ******************************/
+
+/*
+ * This function clears the previous value of the OCTET STRING (if any)
+ * and then allocates a new memory with the specified content (str/size).
+ * If size = -1, the size of the original string will be determined
+ * using strlen(str).
+ * If str equals to NULL, the function will silently clear the
+ * current contents of the OCTET STRING.
+ * Returns 0 if it was possible to perform operation, -1 otherwise.
+ */
+int OCTET_STRING_fromBuf(OCTET_STRING_t *s, const char *str, int size);
+
+/* Handy conversion from the C string into the OCTET STRING. */
+#define	OCTET_STRING_fromString(s, str)	OCTET_STRING_fromBuf(s, str, -1)
+
+/*
+ * Allocate and fill the new OCTET STRING and return a pointer to the newly
+ * allocated object. NULL is permitted in str: the function will just allocate
+ * empty OCTET STRING.
+ */
+OCTET_STRING_t *OCTET_STRING_new_fromBuf(const asn_TYPE_descriptor_t *td,
+                                         const char *str, int size);
+
+/****************************
+ * Internally useful stuff. *
+ ****************************/
+
+typedef struct asn_OCTET_STRING_specifics_s {
+    /*
+     * Target structure description.
+     */
+    unsigned struct_size;   /* Size of the structure */
+    unsigned ctx_offset;    /* Offset of the asn_struct_ctx_t member */
+
+    enum asn_OS_Subvariant {
+        ASN_OSUBV_ANY, /* The open type (ANY) */
+        ASN_OSUBV_BIT, /* BIT STRING */
+        ASN_OSUBV_STR, /* String types, not {BMP,Universal}String  */
+        ASN_OSUBV_U16, /* 16-bit character (BMPString) */
+        ASN_OSUBV_U32  /* 32-bit character (UniversalString) */
+    } subvariant;
+} asn_OCTET_STRING_specifics_t;
+
+extern asn_OCTET_STRING_specifics_t asn_SPC_OCTET_STRING_specs;
+
+size_t OCTET_STRING_random_length_constrained(
+    const asn_TYPE_descriptor_t *, const asn_encoding_constraints_t *,
+    size_t max_length);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _OCTET_STRING_H_ */
diff --git a/src/s1ap/asn1c/asnGenFiles/OPEN_TYPE.h b/src/s1ap/asn1c/asnGenFiles/OPEN_TYPE.h
new file mode 100644
index 0000000..b0d023c
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/OPEN_TYPE.h
@@ -0,0 +1,77 @@
+/*-
+ * Copyright (c) 2017-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef ASN_OPEN_TYPE_H
+#define ASN_OPEN_TYPE_H
+
+#include <asn_application.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define OPEN_TYPE_free CHOICE_free
+#define OPEN_TYPE_print CHOICE_print
+#define OPEN_TYPE_compare CHOICE_compare
+#define OPEN_TYPE_constraint CHOICE_constraint
+#define OPEN_TYPE_decode_ber NULL
+#define OPEN_TYPE_encode_der CHOICE_encode_der
+#define OPEN_TYPE_decode_xer NULL
+#define OPEN_TYPE_encode_xer CHOICE_encode_xer
+#define OPEN_TYPE_decode_oer NULL
+#define OPEN_TYPE_encode_oer CHOICE_encode_oer
+#define OPEN_TYPE_decode_uper NULL
+#define OPEN_TYPE_decode_aper NULL
+
+extern asn_TYPE_operation_t asn_OP_OPEN_TYPE;
+
+/*
+ * Decode an Open Type which is potentially constraiend
+ * by the other members of the parent structure.
+ */
+asn_dec_rval_t OPEN_TYPE_ber_get(const asn_codec_ctx_t *opt_codec_ctx,
+                                 const asn_TYPE_descriptor_t *parent_type,
+                                 void *parent_structure,
+                                 const asn_TYPE_member_t *element,
+                                 const void *ptr, size_t size);
+
+asn_dec_rval_t OPEN_TYPE_xer_get(const asn_codec_ctx_t *opt_codec_ctx,
+                                 const asn_TYPE_descriptor_t *parent_type,
+                                 void *parent_structure,
+                                 const asn_TYPE_member_t *element,
+                                 const void *ptr, size_t size);
+
+asn_dec_rval_t OPEN_TYPE_oer_get(const asn_codec_ctx_t *opt_codec_ctx,
+                                 const asn_TYPE_descriptor_t *parent_type,
+                                 void *parent_structure,
+                                 asn_TYPE_member_t *element, const void *ptr,
+                                 size_t size);
+
+asn_dec_rval_t OPEN_TYPE_uper_get(const asn_codec_ctx_t *opt_codec_ctx,
+                                  const asn_TYPE_descriptor_t *parent_type,
+                                  void *parent_structure,
+                                  const asn_TYPE_member_t *element,
+                                  asn_per_data_t *pd);
+
+asn_dec_rval_t OPEN_TYPE_aper_get(const asn_codec_ctx_t *opt_codec_ctx,
+                                  const asn_TYPE_descriptor_t *parent_type,
+                                  void *parent_structure,
+                                  const asn_TYPE_member_t *element,
+                                  asn_per_data_t *pd);
+
+asn_enc_rval_t OPEN_TYPE_encode_uper(
+    const asn_TYPE_descriptor_t *type_descriptor,
+    const asn_per_constraints_t *constraints, const void *struct_ptr,
+    asn_per_outp_t *per_output);
+
+asn_enc_rval_t OPEN_TYPE_encode_aper(
+    const asn_TYPE_descriptor_t *type_descriptor,
+    const asn_per_constraints_t *constraints, const void *struct_ptr,
+    asn_per_outp_t *per_output);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* ASN_OPEN_TYPE_H */
diff --git a/src/s1ap/asn1c/asnGenFiles/ObjectDescriptor.h b/src/s1ap/asn1c/asnGenFiles/ObjectDescriptor.h
new file mode 100644
index 0000000..fa1c1fc
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ObjectDescriptor.h
@@ -0,0 +1,35 @@
+/*-
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	_ObjectDescriptor_H_
+#define	_ObjectDescriptor_H_
+
+#include <GraphicString.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef GraphicString_t ObjectDescriptor_t;  /* Implemented via GraphicString */
+
+extern asn_TYPE_descriptor_t asn_DEF_ObjectDescriptor;
+extern asn_TYPE_operation_t asn_OP_ObjectDescriptor;
+
+#define ObjectDescriptor_free         OCTET_STRING_free
+#define ObjectDescriptor_print        OCTET_STRING_print_utf8
+#define ObjectDescriptor_constraint   asn_generic_unknown_constraint
+#define ObjectDescriptor_decode_ber   OCTET_STRING_decode_ber
+#define ObjectDescriptor_encode_der   OCTET_STRING_encode_der
+#define ObjectDescriptor_decode_xer   OCTET_STRING_decode_xer_utf8
+#define ObjectDescriptor_encode_xer   OCTET_STRING_encode_xer_utf8
+#define ObjectDescriptor_decode_uper  OCTET_STRING_decode_uper
+#define ObjectDescriptor_encode_uper  OCTET_STRING_encode_uper
+#define ObjectDescriptor_decode_aper  OCTET_STRING_decode_aper
+#define ObjectDescriptor_encode_aper  OCTET_STRING_encode_aper
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ObjectDescriptor_H_ */
diff --git a/src/s1ap/asn1c/asnGenFiles/OldBSS-ToNewBSS-Information.h b/src/s1ap/asn1c/asnGenFiles/OldBSS-ToNewBSS-Information.h
new file mode 100644
index 0000000..6c3b2c0
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/OldBSS-ToNewBSS-Information.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_OldBSS_ToNewBSS_Information_H_
+#define	_OldBSS_ToNewBSS_Information_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* OldBSS-ToNewBSS-Information */
+typedef OCTET_STRING_t	 OldBSS_ToNewBSS_Information_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_OldBSS_ToNewBSS_Information;
+asn_struct_free_f OldBSS_ToNewBSS_Information_free;
+asn_struct_print_f OldBSS_ToNewBSS_Information_print;
+asn_constr_check_f OldBSS_ToNewBSS_Information_constraint;
+ber_type_decoder_f OldBSS_ToNewBSS_Information_decode_ber;
+der_type_encoder_f OldBSS_ToNewBSS_Information_encode_der;
+xer_type_decoder_f OldBSS_ToNewBSS_Information_decode_xer;
+xer_type_encoder_f OldBSS_ToNewBSS_Information_encode_xer;
+oer_type_decoder_f OldBSS_ToNewBSS_Information_decode_oer;
+oer_type_encoder_f OldBSS_ToNewBSS_Information_encode_oer;
+per_type_decoder_f OldBSS_ToNewBSS_Information_decode_uper;
+per_type_encoder_f OldBSS_ToNewBSS_Information_encode_uper;
+per_type_decoder_f OldBSS_ToNewBSS_Information_decode_aper;
+per_type_encoder_f OldBSS_ToNewBSS_Information_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _OldBSS_ToNewBSS_Information_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/OverloadAction.h b/src/s1ap/asn1c/asnGenFiles/OverloadAction.h
new file mode 100644
index 0000000..de7abd5
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/OverloadAction.h
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_OverloadAction_H_
+#define	_OverloadAction_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum OverloadAction {
+	OverloadAction_reject_non_emergency_mo_dt	= 0,
+	OverloadAction_reject_rrc_cr_signalling	= 1,
+	OverloadAction_permit_emergency_sessions_and_mobile_terminated_services_only	= 2,
+	/*
+	 * Enumeration is extensible
+	 */
+	OverloadAction_permit_high_priority_sessions_and_mobile_terminated_services_only	= 3,
+	OverloadAction_reject_delay_tolerant_access	= 4,
+	OverloadAction_permit_high_priority_sessions_and_exception_reporting_and_mobile_terminated_services_only	= 5,
+	OverloadAction_not_accept_mo_data_or_delay_tolerant_access_from_CP_CIoT	= 6
+} e_OverloadAction;
+
+/* OverloadAction */
+typedef long	 OverloadAction_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_OverloadAction_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_OverloadAction;
+extern const asn_INTEGER_specifics_t asn_SPC_OverloadAction_specs_1;
+asn_struct_free_f OverloadAction_free;
+asn_struct_print_f OverloadAction_print;
+asn_constr_check_f OverloadAction_constraint;
+ber_type_decoder_f OverloadAction_decode_ber;
+der_type_encoder_f OverloadAction_encode_der;
+xer_type_decoder_f OverloadAction_decode_xer;
+xer_type_encoder_f OverloadAction_encode_xer;
+oer_type_decoder_f OverloadAction_decode_oer;
+oer_type_encoder_f OverloadAction_encode_oer;
+per_type_decoder_f OverloadAction_decode_uper;
+per_type_encoder_f OverloadAction_encode_uper;
+per_type_decoder_f OverloadAction_decode_aper;
+per_type_encoder_f OverloadAction_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _OverloadAction_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/OverloadResponse.h b/src/s1ap/asn1c/asnGenFiles/OverloadResponse.h
new file mode 100644
index 0000000..fbb09cd
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/OverloadResponse.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_OverloadResponse_H_
+#define	_OverloadResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "OverloadAction.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum OverloadResponse_PR {
+	OverloadResponse_PR_NOTHING,	/* No components present */
+	OverloadResponse_PR_overloadAction
+	/* Extensions may appear below */
+	
+} OverloadResponse_PR;
+
+/* OverloadResponse */
+typedef struct OverloadResponse {
+	OverloadResponse_PR present;
+	union OverloadResponse_u {
+		OverloadAction_t	 overloadAction;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} OverloadResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_OverloadResponse;
+extern asn_CHOICE_specifics_t asn_SPC_OverloadResponse_specs_1;
+extern asn_TYPE_member_t asn_MBR_OverloadResponse_1[1];
+extern asn_per_constraints_t asn_PER_type_OverloadResponse_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _OverloadResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/OverloadStart.h b/src/s1ap/asn1c/asnGenFiles/OverloadStart.h
new file mode 100644
index 0000000..3b99027
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/OverloadStart.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_OverloadStart_H_
+#define	_OverloadStart_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* OverloadStart */
+typedef struct OverloadStart {
+	ProtocolIE_Container_129P61_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} OverloadStart_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_OverloadStart;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _OverloadStart_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/OverloadStop.h b/src/s1ap/asn1c/asnGenFiles/OverloadStop.h
new file mode 100644
index 0000000..af9fd67
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/OverloadStop.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_OverloadStop_H_
+#define	_OverloadStop_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* OverloadStop */
+typedef struct OverloadStop {
+	ProtocolIE_Container_129P62_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} OverloadStop_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_OverloadStop;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _OverloadStop_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PDCP-SN.h b/src/s1ap/asn1c/asnGenFiles/PDCP-SN.h
new file mode 100644
index 0000000..62dd773
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PDCP-SN.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PDCP_SN_H_
+#define	_PDCP_SN_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* PDCP-SN */
+typedef long	 PDCP_SN_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_PDCP_SN_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_PDCP_SN;
+asn_struct_free_f PDCP_SN_free;
+asn_struct_print_f PDCP_SN_print;
+asn_constr_check_f PDCP_SN_constraint;
+ber_type_decoder_f PDCP_SN_decode_ber;
+der_type_encoder_f PDCP_SN_encode_der;
+xer_type_decoder_f PDCP_SN_decode_xer;
+xer_type_encoder_f PDCP_SN_encode_xer;
+oer_type_decoder_f PDCP_SN_decode_oer;
+oer_type_encoder_f PDCP_SN_encode_oer;
+per_type_decoder_f PDCP_SN_decode_uper;
+per_type_encoder_f PDCP_SN_encode_uper;
+per_type_decoder_f PDCP_SN_decode_aper;
+per_type_encoder_f PDCP_SN_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PDCP_SN_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PDCP-SNExtended.h b/src/s1ap/asn1c/asnGenFiles/PDCP-SNExtended.h
new file mode 100644
index 0000000..912acf5
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PDCP-SNExtended.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PDCP_SNExtended_H_
+#define	_PDCP_SNExtended_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* PDCP-SNExtended */
+typedef long	 PDCP_SNExtended_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_PDCP_SNExtended_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_PDCP_SNExtended;
+asn_struct_free_f PDCP_SNExtended_free;
+asn_struct_print_f PDCP_SNExtended_print;
+asn_constr_check_f PDCP_SNExtended_constraint;
+ber_type_decoder_f PDCP_SNExtended_decode_ber;
+der_type_encoder_f PDCP_SNExtended_encode_der;
+xer_type_decoder_f PDCP_SNExtended_decode_xer;
+xer_type_encoder_f PDCP_SNExtended_encode_xer;
+oer_type_decoder_f PDCP_SNExtended_decode_oer;
+oer_type_encoder_f PDCP_SNExtended_encode_oer;
+per_type_decoder_f PDCP_SNExtended_decode_uper;
+per_type_encoder_f PDCP_SNExtended_encode_uper;
+per_type_decoder_f PDCP_SNExtended_decode_aper;
+per_type_encoder_f PDCP_SNExtended_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PDCP_SNExtended_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PDCP-SNlength18.h b/src/s1ap/asn1c/asnGenFiles/PDCP-SNlength18.h
new file mode 100644
index 0000000..5f3b656
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PDCP-SNlength18.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PDCP_SNlength18_H_
+#define	_PDCP_SNlength18_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* PDCP-SNlength18 */
+typedef long	 PDCP_SNlength18_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_PDCP_SNlength18_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_PDCP_SNlength18;
+asn_struct_free_f PDCP_SNlength18_free;
+asn_struct_print_f PDCP_SNlength18_print;
+asn_constr_check_f PDCP_SNlength18_constraint;
+ber_type_decoder_f PDCP_SNlength18_decode_ber;
+der_type_encoder_f PDCP_SNlength18_encode_der;
+xer_type_decoder_f PDCP_SNlength18_decode_xer;
+xer_type_encoder_f PDCP_SNlength18_encode_xer;
+oer_type_decoder_f PDCP_SNlength18_decode_oer;
+oer_type_encoder_f PDCP_SNlength18_encode_oer;
+per_type_decoder_f PDCP_SNlength18_decode_uper;
+per_type_encoder_f PDCP_SNlength18_encode_uper;
+per_type_decoder_f PDCP_SNlength18_decode_aper;
+per_type_encoder_f PDCP_SNlength18_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PDCP_SNlength18_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PLMNAreaBasedQMC.h b/src/s1ap/asn1c/asnGenFiles/PLMNAreaBasedQMC.h
new file mode 100644
index 0000000..8c6baf3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PLMNAreaBasedQMC.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PLMNAreaBasedQMC_H_
+#define	_PLMNAreaBasedQMC_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PLMNListforQMC.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* PLMNAreaBasedQMC */
+typedef struct PLMNAreaBasedQMC {
+	PLMNListforQMC_t	 plmnListforQMC;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} PLMNAreaBasedQMC_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_PLMNAreaBasedQMC;
+extern asn_SEQUENCE_specifics_t asn_SPC_PLMNAreaBasedQMC_specs_1;
+extern asn_TYPE_member_t asn_MBR_PLMNAreaBasedQMC_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PLMNAreaBasedQMC_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PLMNListforQMC.h b/src/s1ap/asn1c/asnGenFiles/PLMNListforQMC.h
new file mode 100644
index 0000000..4eb8f6e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PLMNListforQMC.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PLMNListforQMC_H_
+#define	_PLMNListforQMC_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PLMNidentity.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* PLMNListforQMC */
+typedef struct PLMNListforQMC {
+	A_SEQUENCE_OF(PLMNidentity_t) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} PLMNListforQMC_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_PLMNListforQMC;
+extern asn_SET_OF_specifics_t asn_SPC_PLMNListforQMC_specs_1;
+extern asn_TYPE_member_t asn_MBR_PLMNListforQMC_1[1];
+extern asn_per_constraints_t asn_PER_type_PLMNListforQMC_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PLMNListforQMC_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PLMNidentity.h b/src/s1ap/asn1c/asnGenFiles/PLMNidentity.h
new file mode 100644
index 0000000..ab1603e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PLMNidentity.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PLMNidentity_H_
+#define	_PLMNidentity_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TBCD-STRING.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* PLMNidentity */
+typedef TBCD_STRING_t	 PLMNidentity_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_PLMNidentity_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_PLMNidentity;
+asn_struct_free_f PLMNidentity_free;
+asn_struct_print_f PLMNidentity_print;
+asn_constr_check_f PLMNidentity_constraint;
+ber_type_decoder_f PLMNidentity_decode_ber;
+der_type_encoder_f PLMNidentity_encode_der;
+xer_type_decoder_f PLMNidentity_decode_xer;
+xer_type_encoder_f PLMNidentity_encode_xer;
+oer_type_decoder_f PLMNidentity_decode_oer;
+oer_type_encoder_f PLMNidentity_encode_oer;
+per_type_decoder_f PLMNidentity_decode_uper;
+per_type_encoder_f PLMNidentity_encode_uper;
+per_type_decoder_f PLMNidentity_decode_aper;
+per_type_encoder_f PLMNidentity_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PLMNidentity_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PS-ServiceNotAvailable.h b/src/s1ap/asn1c/asnGenFiles/PS-ServiceNotAvailable.h
new file mode 100644
index 0000000..64a6ee5
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PS-ServiceNotAvailable.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PS_ServiceNotAvailable_H_
+#define	_PS_ServiceNotAvailable_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum PS_ServiceNotAvailable {
+	PS_ServiceNotAvailable_ps_service_not_available	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_PS_ServiceNotAvailable;
+
+/* PS-ServiceNotAvailable */
+typedef long	 PS_ServiceNotAvailable_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_PS_ServiceNotAvailable_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_PS_ServiceNotAvailable;
+extern const asn_INTEGER_specifics_t asn_SPC_PS_ServiceNotAvailable_specs_1;
+asn_struct_free_f PS_ServiceNotAvailable_free;
+asn_struct_print_f PS_ServiceNotAvailable_print;
+asn_constr_check_f PS_ServiceNotAvailable_constraint;
+ber_type_decoder_f PS_ServiceNotAvailable_decode_ber;
+der_type_encoder_f PS_ServiceNotAvailable_encode_der;
+xer_type_decoder_f PS_ServiceNotAvailable_decode_xer;
+xer_type_encoder_f PS_ServiceNotAvailable_encode_xer;
+oer_type_decoder_f PS_ServiceNotAvailable_decode_oer;
+oer_type_encoder_f PS_ServiceNotAvailable_encode_oer;
+per_type_decoder_f PS_ServiceNotAvailable_decode_uper;
+per_type_encoder_f PS_ServiceNotAvailable_encode_uper;
+per_type_decoder_f PS_ServiceNotAvailable_decode_aper;
+per_type_encoder_f PS_ServiceNotAvailable_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PS_ServiceNotAvailable_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PSCellInformation.h b/src/s1ap/asn1c/asnGenFiles/PSCellInformation.h
new file mode 100644
index 0000000..961b090
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PSCellInformation.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PSCellInformation_H_
+#define	_PSCellInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "NR-CGI.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* PSCellInformation */
+typedef struct PSCellInformation {
+	NR_CGI_t	 nCGI;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} PSCellInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_PSCellInformation;
+extern asn_SEQUENCE_specifics_t asn_SPC_PSCellInformation_specs_1;
+extern asn_TYPE_member_t asn_MBR_PSCellInformation_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PSCellInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PWSFailureIndication.h b/src/s1ap/asn1c/asnGenFiles/PWSFailureIndication.h
new file mode 100644
index 0000000..cfe9392
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PWSFailureIndication.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PWSFailureIndication_H_
+#define	_PWSFailureIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* PWSFailureIndication */
+typedef struct PWSFailureIndication {
+	ProtocolIE_Container_129P72_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} PWSFailureIndication_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_PWSFailureIndication;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PWSFailureIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PWSRestartIndication.h b/src/s1ap/asn1c/asnGenFiles/PWSRestartIndication.h
new file mode 100644
index 0000000..4a5e2c0
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PWSRestartIndication.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PWSRestartIndication_H_
+#define	_PWSRestartIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* PWSRestartIndication */
+typedef struct PWSRestartIndication {
+	ProtocolIE_Container_129P71_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} PWSRestartIndication_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_PWSRestartIndication;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PWSRestartIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PWSfailedECGIList.h b/src/s1ap/asn1c/asnGenFiles/PWSfailedECGIList.h
new file mode 100644
index 0000000..760a309
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PWSfailedECGIList.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PWSfailedECGIList_H_
+#define	_PWSfailedECGIList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct EUTRAN_CGI;
+
+/* PWSfailedECGIList */
+typedef struct PWSfailedECGIList {
+	A_SEQUENCE_OF(struct EUTRAN_CGI) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} PWSfailedECGIList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_PWSfailedECGIList;
+extern asn_SET_OF_specifics_t asn_SPC_PWSfailedECGIList_specs_1;
+extern asn_TYPE_member_t asn_MBR_PWSfailedECGIList_1[1];
+extern asn_per_constraints_t asn_PER_type_PWSfailedECGIList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PWSfailedECGIList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Packet-LossRate.h b/src/s1ap/asn1c/asnGenFiles/Packet-LossRate.h
new file mode 100644
index 0000000..3644bf2
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Packet-LossRate.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Packet_LossRate_H_
+#define	_Packet_LossRate_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Packet-LossRate */
+typedef long	 Packet_LossRate_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_Packet_LossRate_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_Packet_LossRate;
+asn_struct_free_f Packet_LossRate_free;
+asn_struct_print_f Packet_LossRate_print;
+asn_constr_check_f Packet_LossRate_constraint;
+ber_type_decoder_f Packet_LossRate_decode_ber;
+der_type_encoder_f Packet_LossRate_encode_der;
+xer_type_decoder_f Packet_LossRate_decode_xer;
+xer_type_encoder_f Packet_LossRate_encode_xer;
+oer_type_decoder_f Packet_LossRate_decode_oer;
+oer_type_encoder_f Packet_LossRate_encode_oer;
+per_type_decoder_f Packet_LossRate_decode_uper;
+per_type_encoder_f Packet_LossRate_encode_uper;
+per_type_decoder_f Packet_LossRate_decode_aper;
+per_type_encoder_f Packet_LossRate_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Packet_LossRate_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Paging-eDRX-Cycle.h b/src/s1ap/asn1c/asnGenFiles/Paging-eDRX-Cycle.h
new file mode 100644
index 0000000..9a325f8
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Paging-eDRX-Cycle.h
@@ -0,0 +1,68 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Paging_eDRX_Cycle_H_
+#define	_Paging_eDRX_Cycle_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum Paging_eDRX_Cycle {
+	Paging_eDRX_Cycle_hfhalf	= 0,
+	Paging_eDRX_Cycle_hf1	= 1,
+	Paging_eDRX_Cycle_hf2	= 2,
+	Paging_eDRX_Cycle_hf4	= 3,
+	Paging_eDRX_Cycle_hf6	= 4,
+	Paging_eDRX_Cycle_hf8	= 5,
+	Paging_eDRX_Cycle_hf10	= 6,
+	Paging_eDRX_Cycle_hf12	= 7,
+	Paging_eDRX_Cycle_hf14	= 8,
+	Paging_eDRX_Cycle_hf16	= 9,
+	Paging_eDRX_Cycle_hf32	= 10,
+	Paging_eDRX_Cycle_hf64	= 11,
+	Paging_eDRX_Cycle_hf128	= 12,
+	Paging_eDRX_Cycle_hf256	= 13
+	/*
+	 * Enumeration is extensible
+	 */
+} e_Paging_eDRX_Cycle;
+
+/* Paging-eDRX-Cycle */
+typedef long	 Paging_eDRX_Cycle_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_Paging_eDRX_Cycle_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_Paging_eDRX_Cycle;
+extern const asn_INTEGER_specifics_t asn_SPC_Paging_eDRX_Cycle_specs_1;
+asn_struct_free_f Paging_eDRX_Cycle_free;
+asn_struct_print_f Paging_eDRX_Cycle_print;
+asn_constr_check_f Paging_eDRX_Cycle_constraint;
+ber_type_decoder_f Paging_eDRX_Cycle_decode_ber;
+der_type_encoder_f Paging_eDRX_Cycle_encode_der;
+xer_type_decoder_f Paging_eDRX_Cycle_decode_xer;
+xer_type_encoder_f Paging_eDRX_Cycle_encode_xer;
+oer_type_decoder_f Paging_eDRX_Cycle_decode_oer;
+oer_type_encoder_f Paging_eDRX_Cycle_encode_oer;
+per_type_decoder_f Paging_eDRX_Cycle_decode_uper;
+per_type_encoder_f Paging_eDRX_Cycle_encode_uper;
+per_type_decoder_f Paging_eDRX_Cycle_decode_aper;
+per_type_encoder_f Paging_eDRX_Cycle_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Paging_eDRX_Cycle_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Paging-eDRXInformation.h b/src/s1ap/asn1c/asnGenFiles/Paging-eDRXInformation.h
new file mode 100644
index 0000000..e4a0e5d
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Paging-eDRXInformation.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Paging_eDRXInformation_H_
+#define	_Paging_eDRXInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "Paging-eDRX-Cycle.h"
+#include "PagingTimeWindow.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* Paging-eDRXInformation */
+typedef struct Paging_eDRXInformation {
+	Paging_eDRX_Cycle_t	 paging_eDRX_Cycle;
+	PagingTimeWindow_t	*pagingTimeWindow;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} Paging_eDRXInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Paging_eDRXInformation;
+extern asn_SEQUENCE_specifics_t asn_SPC_Paging_eDRXInformation_specs_1;
+extern asn_TYPE_member_t asn_MBR_Paging_eDRXInformation_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Paging_eDRXInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Paging.h b/src/s1ap/asn1c/asnGenFiles/Paging.h
new file mode 100644
index 0000000..f2f2b2f
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Paging.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Paging_H_
+#define	_Paging_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Paging */
+typedef struct Paging {
+	ProtocolIE_Container_129P22_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} Paging_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Paging;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Paging_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PagingAttemptCount.h b/src/s1ap/asn1c/asnGenFiles/PagingAttemptCount.h
new file mode 100644
index 0000000..5c0dd0e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PagingAttemptCount.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PagingAttemptCount_H_
+#define	_PagingAttemptCount_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* PagingAttemptCount */
+typedef long	 PagingAttemptCount_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_PagingAttemptCount_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_PagingAttemptCount;
+asn_struct_free_f PagingAttemptCount_free;
+asn_struct_print_f PagingAttemptCount_print;
+asn_constr_check_f PagingAttemptCount_constraint;
+ber_type_decoder_f PagingAttemptCount_decode_ber;
+der_type_encoder_f PagingAttemptCount_encode_der;
+xer_type_decoder_f PagingAttemptCount_decode_xer;
+xer_type_encoder_f PagingAttemptCount_encode_xer;
+oer_type_decoder_f PagingAttemptCount_decode_oer;
+oer_type_encoder_f PagingAttemptCount_encode_oer;
+per_type_decoder_f PagingAttemptCount_decode_uper;
+per_type_encoder_f PagingAttemptCount_encode_uper;
+per_type_decoder_f PagingAttemptCount_decode_aper;
+per_type_encoder_f PagingAttemptCount_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PagingAttemptCount_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PagingAttemptInformation.h b/src/s1ap/asn1c/asnGenFiles/PagingAttemptInformation.h
new file mode 100644
index 0000000..7bf54ec
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PagingAttemptInformation.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PagingAttemptInformation_H_
+#define	_PagingAttemptInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PagingAttemptCount.h"
+#include "IntendedNumberOfPagingAttempts.h"
+#include "NextPagingAreaScope.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* PagingAttemptInformation */
+typedef struct PagingAttemptInformation {
+	PagingAttemptCount_t	 pagingAttemptCount;
+	IntendedNumberOfPagingAttempts_t	 intendedNumberOfPagingAttempts;
+	NextPagingAreaScope_t	*nextPagingAreaScope;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} PagingAttemptInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_PagingAttemptInformation;
+extern asn_SEQUENCE_specifics_t asn_SPC_PagingAttemptInformation_specs_1;
+extern asn_TYPE_member_t asn_MBR_PagingAttemptInformation_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PagingAttemptInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PagingDRX.h b/src/s1ap/asn1c/asnGenFiles/PagingDRX.h
new file mode 100644
index 0000000..b8e668f
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PagingDRX.h
@@ -0,0 +1,58 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PagingDRX_H_
+#define	_PagingDRX_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum PagingDRX {
+	PagingDRX_v32	= 0,
+	PagingDRX_v64	= 1,
+	PagingDRX_v128	= 2,
+	PagingDRX_v256	= 3
+	/*
+	 * Enumeration is extensible
+	 */
+} e_PagingDRX;
+
+/* PagingDRX */
+typedef long	 PagingDRX_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_PagingDRX_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_PagingDRX;
+extern const asn_INTEGER_specifics_t asn_SPC_PagingDRX_specs_1;
+asn_struct_free_f PagingDRX_free;
+asn_struct_print_f PagingDRX_print;
+asn_constr_check_f PagingDRX_constraint;
+ber_type_decoder_f PagingDRX_decode_ber;
+der_type_encoder_f PagingDRX_encode_der;
+xer_type_decoder_f PagingDRX_decode_xer;
+xer_type_encoder_f PagingDRX_encode_xer;
+oer_type_decoder_f PagingDRX_decode_oer;
+oer_type_encoder_f PagingDRX_encode_oer;
+per_type_decoder_f PagingDRX_decode_uper;
+per_type_encoder_f PagingDRX_encode_uper;
+per_type_decoder_f PagingDRX_decode_aper;
+per_type_encoder_f PagingDRX_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PagingDRX_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PagingPriority.h b/src/s1ap/asn1c/asnGenFiles/PagingPriority.h
new file mode 100644
index 0000000..0b02bc9
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PagingPriority.h
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PagingPriority_H_
+#define	_PagingPriority_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum PagingPriority {
+	PagingPriority_priolevel1	= 0,
+	PagingPriority_priolevel2	= 1,
+	PagingPriority_priolevel3	= 2,
+	PagingPriority_priolevel4	= 3,
+	PagingPriority_priolevel5	= 4,
+	PagingPriority_priolevel6	= 5,
+	PagingPriority_priolevel7	= 6,
+	PagingPriority_priolevel8	= 7
+	/*
+	 * Enumeration is extensible
+	 */
+} e_PagingPriority;
+
+/* PagingPriority */
+typedef long	 PagingPriority_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_PagingPriority_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_PagingPriority;
+extern const asn_INTEGER_specifics_t asn_SPC_PagingPriority_specs_1;
+asn_struct_free_f PagingPriority_free;
+asn_struct_print_f PagingPriority_print;
+asn_constr_check_f PagingPriority_constraint;
+ber_type_decoder_f PagingPriority_decode_ber;
+der_type_encoder_f PagingPriority_encode_der;
+xer_type_decoder_f PagingPriority_decode_xer;
+xer_type_encoder_f PagingPriority_encode_xer;
+oer_type_decoder_f PagingPriority_decode_oer;
+oer_type_encoder_f PagingPriority_encode_oer;
+per_type_decoder_f PagingPriority_decode_uper;
+per_type_encoder_f PagingPriority_encode_uper;
+per_type_decoder_f PagingPriority_decode_aper;
+per_type_encoder_f PagingPriority_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PagingPriority_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PagingTimeWindow.h b/src/s1ap/asn1c/asnGenFiles/PagingTimeWindow.h
new file mode 100644
index 0000000..d3e8b87
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PagingTimeWindow.h
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PagingTimeWindow_H_
+#define	_PagingTimeWindow_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum PagingTimeWindow {
+	PagingTimeWindow_s1	= 0,
+	PagingTimeWindow_s2	= 1,
+	PagingTimeWindow_s3	= 2,
+	PagingTimeWindow_s4	= 3,
+	PagingTimeWindow_s5	= 4,
+	PagingTimeWindow_s6	= 5,
+	PagingTimeWindow_s7	= 6,
+	PagingTimeWindow_s8	= 7,
+	PagingTimeWindow_s9	= 8,
+	PagingTimeWindow_s10	= 9,
+	PagingTimeWindow_s11	= 10,
+	PagingTimeWindow_s12	= 11,
+	PagingTimeWindow_s13	= 12,
+	PagingTimeWindow_s14	= 13,
+	PagingTimeWindow_s15	= 14,
+	PagingTimeWindow_s16	= 15
+	/*
+	 * Enumeration is extensible
+	 */
+} e_PagingTimeWindow;
+
+/* PagingTimeWindow */
+typedef long	 PagingTimeWindow_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_PagingTimeWindow_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_PagingTimeWindow;
+extern const asn_INTEGER_specifics_t asn_SPC_PagingTimeWindow_specs_1;
+asn_struct_free_f PagingTimeWindow_free;
+asn_struct_print_f PagingTimeWindow_print;
+asn_constr_check_f PagingTimeWindow_constraint;
+ber_type_decoder_f PagingTimeWindow_decode_ber;
+der_type_encoder_f PagingTimeWindow_encode_der;
+xer_type_decoder_f PagingTimeWindow_decode_xer;
+xer_type_encoder_f PagingTimeWindow_encode_xer;
+oer_type_decoder_f PagingTimeWindow_decode_oer;
+oer_type_encoder_f PagingTimeWindow_encode_oer;
+per_type_decoder_f PagingTimeWindow_decode_uper;
+per_type_encoder_f PagingTimeWindow_encode_uper;
+per_type_decoder_f PagingTimeWindow_decode_aper;
+per_type_encoder_f PagingTimeWindow_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PagingTimeWindow_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PathSwitchRequest.h b/src/s1ap/asn1c/asnGenFiles/PathSwitchRequest.h
new file mode 100644
index 0000000..9fd53d1
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PathSwitchRequest.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PathSwitchRequest_H_
+#define	_PathSwitchRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* PathSwitchRequest */
+typedef struct PathSwitchRequest {
+	ProtocolIE_Container_129P7_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} PathSwitchRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_PathSwitchRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PathSwitchRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PathSwitchRequestAcknowledge.h b/src/s1ap/asn1c/asnGenFiles/PathSwitchRequestAcknowledge.h
new file mode 100644
index 0000000..c07b94f
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PathSwitchRequestAcknowledge.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PathSwitchRequestAcknowledge_H_
+#define	_PathSwitchRequestAcknowledge_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* PathSwitchRequestAcknowledge */
+typedef struct PathSwitchRequestAcknowledge {
+	ProtocolIE_Container_129P8_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} PathSwitchRequestAcknowledge_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_PathSwitchRequestAcknowledge;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PathSwitchRequestAcknowledge_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PathSwitchRequestFailure.h b/src/s1ap/asn1c/asnGenFiles/PathSwitchRequestFailure.h
new file mode 100644
index 0000000..532c7ee
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PathSwitchRequestFailure.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PathSwitchRequestFailure_H_
+#define	_PathSwitchRequestFailure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* PathSwitchRequestFailure */
+typedef struct PathSwitchRequestFailure {
+	ProtocolIE_Container_129P9_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} PathSwitchRequestFailure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_PathSwitchRequestFailure;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PathSwitchRequestFailure_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PedestrianUE.h b/src/s1ap/asn1c/asnGenFiles/PedestrianUE.h
new file mode 100644
index 0000000..60cc0a7
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PedestrianUE.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PedestrianUE_H_
+#define	_PedestrianUE_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum PedestrianUE {
+	PedestrianUE_authorized	= 0,
+	PedestrianUE_not_authorized	= 1
+	/*
+	 * Enumeration is extensible
+	 */
+} e_PedestrianUE;
+
+/* PedestrianUE */
+typedef long	 PedestrianUE_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_PedestrianUE_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_PedestrianUE;
+extern const asn_INTEGER_specifics_t asn_SPC_PedestrianUE_specs_1;
+asn_struct_free_f PedestrianUE_free;
+asn_struct_print_f PedestrianUE_print;
+asn_constr_check_f PedestrianUE_constraint;
+ber_type_decoder_f PedestrianUE_decode_ber;
+der_type_encoder_f PedestrianUE_encode_der;
+xer_type_decoder_f PedestrianUE_decode_xer;
+xer_type_encoder_f PedestrianUE_encode_xer;
+oer_type_decoder_f PedestrianUE_decode_oer;
+oer_type_encoder_f PedestrianUE_encode_oer;
+per_type_decoder_f PedestrianUE_decode_uper;
+per_type_encoder_f PedestrianUE_encode_uper;
+per_type_decoder_f PedestrianUE_decode_aper;
+per_type_encoder_f PedestrianUE_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PedestrianUE_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PendingDataIndication.h b/src/s1ap/asn1c/asnGenFiles/PendingDataIndication.h
new file mode 100644
index 0000000..495a08c
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PendingDataIndication.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PendingDataIndication_H_
+#define	_PendingDataIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum PendingDataIndication {
+	PendingDataIndication_true	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_PendingDataIndication;
+
+/* PendingDataIndication */
+typedef long	 PendingDataIndication_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_PendingDataIndication_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_PendingDataIndication;
+extern const asn_INTEGER_specifics_t asn_SPC_PendingDataIndication_specs_1;
+asn_struct_free_f PendingDataIndication_free;
+asn_struct_print_f PendingDataIndication_print;
+asn_constr_check_f PendingDataIndication_constraint;
+ber_type_decoder_f PendingDataIndication_decode_ber;
+der_type_encoder_f PendingDataIndication_encode_der;
+xer_type_decoder_f PendingDataIndication_decode_xer;
+xer_type_encoder_f PendingDataIndication_encode_xer;
+oer_type_decoder_f PendingDataIndication_decode_oer;
+oer_type_encoder_f PendingDataIndication_encode_oer;
+per_type_decoder_f PendingDataIndication_decode_uper;
+per_type_encoder_f PendingDataIndication_encode_uper;
+per_type_decoder_f PendingDataIndication_decode_aper;
+per_type_encoder_f PendingDataIndication_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PendingDataIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Port-Number.h b/src/s1ap/asn1c/asnGenFiles/Port-Number.h
new file mode 100644
index 0000000..d73e5f5
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Port-Number.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Port_Number_H_
+#define	_Port_Number_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Port-Number */
+typedef OCTET_STRING_t	 Port_Number_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_Port_Number_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_Port_Number;
+asn_struct_free_f Port_Number_free;
+asn_struct_print_f Port_Number_print;
+asn_constr_check_f Port_Number_constraint;
+ber_type_decoder_f Port_Number_decode_ber;
+der_type_encoder_f Port_Number_encode_der;
+xer_type_decoder_f Port_Number_decode_xer;
+xer_type_encoder_f Port_Number_encode_xer;
+oer_type_decoder_f Port_Number_decode_oer;
+oer_type_encoder_f Port_Number_encode_oer;
+per_type_decoder_f Port_Number_decode_uper;
+per_type_encoder_f Port_Number_encode_uper;
+per_type_decoder_f Port_Number_decode_aper;
+per_type_encoder_f Port_Number_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Port_Number_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Pre-emptionCapability.h b/src/s1ap/asn1c/asnGenFiles/Pre-emptionCapability.h
new file mode 100644
index 0000000..58d81c4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Pre-emptionCapability.h
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Pre_emptionCapability_H_
+#define	_Pre_emptionCapability_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum Pre_emptionCapability {
+	Pre_emptionCapability_shall_not_trigger_pre_emption	= 0,
+	Pre_emptionCapability_may_trigger_pre_emption	= 1
+} e_Pre_emptionCapability;
+
+/* Pre-emptionCapability */
+typedef long	 Pre_emptionCapability_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_Pre_emptionCapability_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_Pre_emptionCapability;
+extern const asn_INTEGER_specifics_t asn_SPC_Pre_emptionCapability_specs_1;
+asn_struct_free_f Pre_emptionCapability_free;
+asn_struct_print_f Pre_emptionCapability_print;
+asn_constr_check_f Pre_emptionCapability_constraint;
+ber_type_decoder_f Pre_emptionCapability_decode_ber;
+der_type_encoder_f Pre_emptionCapability_encode_der;
+xer_type_decoder_f Pre_emptionCapability_decode_xer;
+xer_type_encoder_f Pre_emptionCapability_encode_xer;
+oer_type_decoder_f Pre_emptionCapability_decode_oer;
+oer_type_encoder_f Pre_emptionCapability_encode_oer;
+per_type_decoder_f Pre_emptionCapability_decode_uper;
+per_type_encoder_f Pre_emptionCapability_encode_uper;
+per_type_decoder_f Pre_emptionCapability_decode_aper;
+per_type_encoder_f Pre_emptionCapability_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Pre_emptionCapability_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Pre-emptionVulnerability.h b/src/s1ap/asn1c/asnGenFiles/Pre-emptionVulnerability.h
new file mode 100644
index 0000000..66b7524
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Pre-emptionVulnerability.h
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Pre_emptionVulnerability_H_
+#define	_Pre_emptionVulnerability_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum Pre_emptionVulnerability {
+	Pre_emptionVulnerability_not_pre_emptable	= 0,
+	Pre_emptionVulnerability_pre_emptable	= 1
+} e_Pre_emptionVulnerability;
+
+/* Pre-emptionVulnerability */
+typedef long	 Pre_emptionVulnerability_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_Pre_emptionVulnerability_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_Pre_emptionVulnerability;
+extern const asn_INTEGER_specifics_t asn_SPC_Pre_emptionVulnerability_specs_1;
+asn_struct_free_f Pre_emptionVulnerability_free;
+asn_struct_print_f Pre_emptionVulnerability_print;
+asn_constr_check_f Pre_emptionVulnerability_constraint;
+ber_type_decoder_f Pre_emptionVulnerability_decode_ber;
+der_type_encoder_f Pre_emptionVulnerability_encode_der;
+xer_type_decoder_f Pre_emptionVulnerability_decode_xer;
+xer_type_encoder_f Pre_emptionVulnerability_encode_xer;
+oer_type_decoder_f Pre_emptionVulnerability_decode_oer;
+oer_type_encoder_f Pre_emptionVulnerability_encode_oer;
+per_type_decoder_f Pre_emptionVulnerability_decode_uper;
+per_type_encoder_f Pre_emptionVulnerability_encode_uper;
+per_type_decoder_f Pre_emptionVulnerability_decode_aper;
+per_type_encoder_f Pre_emptionVulnerability_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Pre_emptionVulnerability_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Presence.h b/src/s1ap/asn1c/asnGenFiles/Presence.h
new file mode 100644
index 0000000..15becd5
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Presence.h
@@ -0,0 +1,54 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-CommonDataTypes"
+ * 	found in "./asn1c/S1AP-CommonDataTypes.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Presence_H_
+#define	_Presence_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum Presence {
+	Presence_optional	= 0,
+	Presence_conditional	= 1,
+	Presence_mandatory	= 2
+} e_Presence;
+
+/* Presence */
+typedef long	 Presence_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_Presence_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_Presence;
+extern const asn_INTEGER_specifics_t asn_SPC_Presence_specs_1;
+asn_struct_free_f Presence_free;
+asn_struct_print_f Presence_print;
+asn_constr_check_f Presence_constraint;
+ber_type_decoder_f Presence_decode_ber;
+der_type_encoder_f Presence_encode_der;
+xer_type_decoder_f Presence_decode_xer;
+xer_type_encoder_f Presence_encode_xer;
+oer_type_decoder_f Presence_decode_oer;
+oer_type_encoder_f Presence_encode_oer;
+per_type_decoder_f Presence_decode_uper;
+per_type_encoder_f Presence_encode_uper;
+per_type_decoder_f Presence_decode_aper;
+per_type_encoder_f Presence_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Presence_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PrintableString.h b/src/s1ap/asn1c/asnGenFiles/PrintableString.h
new file mode 100644
index 0000000..8c2b61a
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PrintableString.h
@@ -0,0 +1,37 @@
+/*-
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	_PrintableString_H_
+#define	_PrintableString_H_
+
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef OCTET_STRING_t PrintableString_t;  /* Implemented via OCTET STRING */
+
+extern asn_TYPE_descriptor_t asn_DEF_PrintableString;
+extern asn_TYPE_operation_t asn_OP_PrintableString;
+
+asn_constr_check_f PrintableString_constraint;
+
+#define PrintableString_free            OCTET_STRING_free
+#define PrintableString_print           OCTET_STRING_print_utf8
+#define PrintableString_compare         OCTET_STRING_compare
+#define PrintableString_decode_ber      OCTET_STRING_decode_ber
+#define PrintableString_encode_der      OCTET_STRING_encode_der
+#define PrintableString_decode_xer      OCTET_STRING_decode_xer_utf8
+#define PrintableString_encode_xer      OCTET_STRING_encode_xer_utf8
+#define PrintableString_decode_uper     OCTET_STRING_decode_uper
+#define PrintableString_encode_uper     OCTET_STRING_encode_uper
+#define PrintableString_decode_aper     OCTET_STRING_decode_aper
+#define PrintableString_encode_aper     OCTET_STRING_encode_aper
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PrintableString_H_ */
diff --git a/src/s1ap/asn1c/asnGenFiles/PriorityLevel.h b/src/s1ap/asn1c/asnGenFiles/PriorityLevel.h
new file mode 100644
index 0000000..7182f48
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PriorityLevel.h
@@ -0,0 +1,54 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PriorityLevel_H_
+#define	_PriorityLevel_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum PriorityLevel {
+	PriorityLevel_spare	= 0,
+	PriorityLevel_highest	= 1,
+	PriorityLevel_lowest	= 14,
+	PriorityLevel_no_priority	= 15
+} e_PriorityLevel;
+
+/* PriorityLevel */
+typedef long	 PriorityLevel_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_PriorityLevel_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_PriorityLevel;
+asn_struct_free_f PriorityLevel_free;
+asn_struct_print_f PriorityLevel_print;
+asn_constr_check_f PriorityLevel_constraint;
+ber_type_decoder_f PriorityLevel_decode_ber;
+der_type_encoder_f PriorityLevel_encode_der;
+xer_type_decoder_f PriorityLevel_decode_xer;
+xer_type_encoder_f PriorityLevel_encode_xer;
+oer_type_decoder_f PriorityLevel_decode_oer;
+oer_type_encoder_f PriorityLevel_encode_oer;
+per_type_decoder_f PriorityLevel_decode_uper;
+per_type_encoder_f PriorityLevel_encode_uper;
+per_type_decoder_f PriorityLevel_decode_aper;
+per_type_encoder_f PriorityLevel_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PriorityLevel_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PrivacyIndicator.h b/src/s1ap/asn1c/asnGenFiles/PrivacyIndicator.h
new file mode 100644
index 0000000..e94c58e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PrivacyIndicator.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PrivacyIndicator_H_
+#define	_PrivacyIndicator_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum PrivacyIndicator {
+	PrivacyIndicator_immediate_MDT	= 0,
+	PrivacyIndicator_logged_MDT	= 1
+	/*
+	 * Enumeration is extensible
+	 */
+} e_PrivacyIndicator;
+
+/* PrivacyIndicator */
+typedef long	 PrivacyIndicator_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_PrivacyIndicator_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_PrivacyIndicator;
+extern const asn_INTEGER_specifics_t asn_SPC_PrivacyIndicator_specs_1;
+asn_struct_free_f PrivacyIndicator_free;
+asn_struct_print_f PrivacyIndicator_print;
+asn_constr_check_f PrivacyIndicator_constraint;
+ber_type_decoder_f PrivacyIndicator_decode_ber;
+der_type_encoder_f PrivacyIndicator_encode_der;
+xer_type_decoder_f PrivacyIndicator_decode_xer;
+xer_type_encoder_f PrivacyIndicator_encode_xer;
+oer_type_decoder_f PrivacyIndicator_decode_oer;
+oer_type_encoder_f PrivacyIndicator_encode_oer;
+per_type_decoder_f PrivacyIndicator_decode_uper;
+per_type_encoder_f PrivacyIndicator_encode_uper;
+per_type_decoder_f PrivacyIndicator_decode_aper;
+per_type_encoder_f PrivacyIndicator_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PrivacyIndicator_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PrivateIE-Container.h b/src/s1ap/asn1c/asnGenFiles/PrivateIE-Container.h
new file mode 100644
index 0000000..91a0be4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PrivateIE-Container.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-Containers"
+ * 	found in "./asn1c/S1AP-Containers.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PrivateIE_Container_H_
+#define	_PrivateIE_Container_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct PrivateMessageIEs;
+
+/* PrivateIE-Container */
+typedef struct PrivateIE_Container_196P0 {
+	A_SEQUENCE_OF(struct PrivateMessageIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} PrivateIE_Container_196P0_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_PrivateIE_Container_196P0;
+extern asn_SET_OF_specifics_t asn_SPC_PrivateIE_Container_196P0_specs_1;
+extern asn_TYPE_member_t asn_MBR_PrivateIE_Container_196P0_1[1];
+extern asn_per_constraints_t asn_PER_type_PrivateIE_Container_196P0_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PrivateIE_Container_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PrivateIE-Field.h b/src/s1ap/asn1c/asnGenFiles/PrivateIE-Field.h
new file mode 100644
index 0000000..6381ac6
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PrivateIE-Field.h
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-Containers"
+ * 	found in "./asn1c/S1AP-Containers.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PrivateIE_Field_H_
+#define	_PrivateIE_Field_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PrivateIE-ID.h"
+#include "Criticality.h"
+#include <ANY.h>
+#include <asn_ioc.h>
+#include <OPEN_TYPE.h>
+#include <constr_CHOICE.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum PrivateMessageIEs__value_PR {
+	PrivateMessageIEs__value_PR_NOTHING	/* No components present */
+	
+} PrivateMessageIEs__value_PR;
+
+/* PrivateIE-Field */
+typedef struct PrivateMessageIEs {
+	PrivateIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct PrivateMessageIEs__value {
+		PrivateMessageIEs__value_PR present;
+		union PrivateMessageIEs__value_u {
+		} 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;
+} PrivateMessageIEs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_PrivateMessageIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_PrivateMessageIEs_specs_1;
+extern asn_TYPE_member_t asn_MBR_PrivateMessageIEs_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PrivateIE_Field_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PrivateIE-ID.h b/src/s1ap/asn1c/asnGenFiles/PrivateIE-ID.h
new file mode 100644
index 0000000..6aa07c0
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PrivateIE-ID.h
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-CommonDataTypes"
+ * 	found in "./asn1c/S1AP-CommonDataTypes.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PrivateIE_ID_H_
+#define	_PrivateIE_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+#include <OBJECT_IDENTIFIER.h>
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum PrivateIE_ID_PR {
+	PrivateIE_ID_PR_NOTHING,	/* No components present */
+	PrivateIE_ID_PR_local,
+	PrivateIE_ID_PR_global
+} PrivateIE_ID_PR;
+
+/* PrivateIE-ID */
+typedef struct PrivateIE_ID {
+	PrivateIE_ID_PR present;
+	union PrivateIE_ID_u {
+		long	 local;
+		OBJECT_IDENTIFIER_t	 global;
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} PrivateIE_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_PrivateIE_ID;
+extern asn_CHOICE_specifics_t asn_SPC_PrivateIE_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_PrivateIE_ID_1[2];
+extern asn_per_constraints_t asn_PER_type_PrivateIE_ID_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PrivateIE_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/PrivateMessage.h b/src/s1ap/asn1c/asnGenFiles/PrivateMessage.h
new file mode 100644
index 0000000..9bd22bf
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/PrivateMessage.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_PrivateMessage_H_
+#define	_PrivateMessage_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PrivateIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* PrivateMessage */
+typedef struct PrivateMessage {
+	PrivateIE_Container_196P0_t	 privateIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} PrivateMessage_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_PrivateMessage;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PrivateMessage_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ProSeAuthorized.h b/src/s1ap/asn1c/asnGenFiles/ProSeAuthorized.h
new file mode 100644
index 0000000..9ab2216
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ProSeAuthorized.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ProSeAuthorized_H_
+#define	_ProSeAuthorized_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProSeDirectDiscovery.h"
+#include "ProSeDirectCommunication.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* ProSeAuthorized */
+typedef struct ProSeAuthorized {
+	ProSeDirectDiscovery_t	*proSeDirectDiscovery;	/* OPTIONAL */
+	ProSeDirectCommunication_t	*proSeDirectCommunication;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProSeAuthorized_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ProSeAuthorized;
+extern asn_SEQUENCE_specifics_t asn_SPC_ProSeAuthorized_specs_1;
+extern asn_TYPE_member_t asn_MBR_ProSeAuthorized_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ProSeAuthorized_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ProSeDirectCommunication.h b/src/s1ap/asn1c/asnGenFiles/ProSeDirectCommunication.h
new file mode 100644
index 0000000..6c8980e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ProSeDirectCommunication.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ProSeDirectCommunication_H_
+#define	_ProSeDirectCommunication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum ProSeDirectCommunication {
+	ProSeDirectCommunication_authorized	= 0,
+	ProSeDirectCommunication_not_authorized	= 1
+	/*
+	 * Enumeration is extensible
+	 */
+} e_ProSeDirectCommunication;
+
+/* ProSeDirectCommunication */
+typedef long	 ProSeDirectCommunication_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ProSeDirectCommunication_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ProSeDirectCommunication;
+extern const asn_INTEGER_specifics_t asn_SPC_ProSeDirectCommunication_specs_1;
+asn_struct_free_f ProSeDirectCommunication_free;
+asn_struct_print_f ProSeDirectCommunication_print;
+asn_constr_check_f ProSeDirectCommunication_constraint;
+ber_type_decoder_f ProSeDirectCommunication_decode_ber;
+der_type_encoder_f ProSeDirectCommunication_encode_der;
+xer_type_decoder_f ProSeDirectCommunication_decode_xer;
+xer_type_encoder_f ProSeDirectCommunication_encode_xer;
+oer_type_decoder_f ProSeDirectCommunication_decode_oer;
+oer_type_encoder_f ProSeDirectCommunication_encode_oer;
+per_type_decoder_f ProSeDirectCommunication_decode_uper;
+per_type_encoder_f ProSeDirectCommunication_encode_uper;
+per_type_decoder_f ProSeDirectCommunication_decode_aper;
+per_type_encoder_f ProSeDirectCommunication_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ProSeDirectCommunication_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ProSeDirectDiscovery.h b/src/s1ap/asn1c/asnGenFiles/ProSeDirectDiscovery.h
new file mode 100644
index 0000000..d6f11f5
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ProSeDirectDiscovery.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ProSeDirectDiscovery_H_
+#define	_ProSeDirectDiscovery_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum ProSeDirectDiscovery {
+	ProSeDirectDiscovery_authorized	= 0,
+	ProSeDirectDiscovery_not_authorized	= 1
+	/*
+	 * Enumeration is extensible
+	 */
+} e_ProSeDirectDiscovery;
+
+/* ProSeDirectDiscovery */
+typedef long	 ProSeDirectDiscovery_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ProSeDirectDiscovery_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ProSeDirectDiscovery;
+extern const asn_INTEGER_specifics_t asn_SPC_ProSeDirectDiscovery_specs_1;
+asn_struct_free_f ProSeDirectDiscovery_free;
+asn_struct_print_f ProSeDirectDiscovery_print;
+asn_constr_check_f ProSeDirectDiscovery_constraint;
+ber_type_decoder_f ProSeDirectDiscovery_decode_ber;
+der_type_encoder_f ProSeDirectDiscovery_encode_der;
+xer_type_decoder_f ProSeDirectDiscovery_decode_xer;
+xer_type_encoder_f ProSeDirectDiscovery_encode_xer;
+oer_type_decoder_f ProSeDirectDiscovery_decode_oer;
+oer_type_encoder_f ProSeDirectDiscovery_encode_oer;
+per_type_decoder_f ProSeDirectDiscovery_decode_uper;
+per_type_encoder_f ProSeDirectDiscovery_encode_uper;
+per_type_decoder_f ProSeDirectDiscovery_decode_aper;
+per_type_encoder_f ProSeDirectDiscovery_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ProSeDirectDiscovery_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ProSeUEtoNetworkRelaying.h b/src/s1ap/asn1c/asnGenFiles/ProSeUEtoNetworkRelaying.h
new file mode 100644
index 0000000..162a954
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ProSeUEtoNetworkRelaying.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ProSeUEtoNetworkRelaying_H_
+#define	_ProSeUEtoNetworkRelaying_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum ProSeUEtoNetworkRelaying {
+	ProSeUEtoNetworkRelaying_authorized	= 0,
+	ProSeUEtoNetworkRelaying_not_authorized	= 1
+	/*
+	 * Enumeration is extensible
+	 */
+} e_ProSeUEtoNetworkRelaying;
+
+/* ProSeUEtoNetworkRelaying */
+typedef long	 ProSeUEtoNetworkRelaying_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ProSeUEtoNetworkRelaying_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ProSeUEtoNetworkRelaying;
+extern const asn_INTEGER_specifics_t asn_SPC_ProSeUEtoNetworkRelaying_specs_1;
+asn_struct_free_f ProSeUEtoNetworkRelaying_free;
+asn_struct_print_f ProSeUEtoNetworkRelaying_print;
+asn_constr_check_f ProSeUEtoNetworkRelaying_constraint;
+ber_type_decoder_f ProSeUEtoNetworkRelaying_decode_ber;
+der_type_encoder_f ProSeUEtoNetworkRelaying_encode_der;
+xer_type_decoder_f ProSeUEtoNetworkRelaying_decode_xer;
+xer_type_encoder_f ProSeUEtoNetworkRelaying_encode_xer;
+oer_type_decoder_f ProSeUEtoNetworkRelaying_decode_oer;
+oer_type_encoder_f ProSeUEtoNetworkRelaying_encode_oer;
+per_type_decoder_f ProSeUEtoNetworkRelaying_decode_uper;
+per_type_encoder_f ProSeUEtoNetworkRelaying_encode_uper;
+per_type_decoder_f ProSeUEtoNetworkRelaying_decode_aper;
+per_type_encoder_f ProSeUEtoNetworkRelaying_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ProSeUEtoNetworkRelaying_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ProcedureCode.h b/src/s1ap/asn1c/asnGenFiles/ProcedureCode.h
new file mode 100644
index 0000000..ef453e0
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ProcedureCode.h
@@ -0,0 +1,109 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-CommonDataTypes"
+ * 	found in "./asn1c/S1AP-CommonDataTypes.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ProcedureCode_H_
+#define	_ProcedureCode_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ProcedureCode */
+typedef long	 ProcedureCode_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ProcedureCode_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ProcedureCode;
+asn_struct_free_f ProcedureCode_free;
+asn_struct_print_f ProcedureCode_print;
+asn_constr_check_f ProcedureCode_constraint;
+ber_type_decoder_f ProcedureCode_decode_ber;
+der_type_encoder_f ProcedureCode_encode_der;
+xer_type_decoder_f ProcedureCode_decode_xer;
+xer_type_encoder_f ProcedureCode_encode_xer;
+oer_type_decoder_f ProcedureCode_decode_oer;
+oer_type_encoder_f ProcedureCode_encode_oer;
+per_type_decoder_f ProcedureCode_decode_uper;
+per_type_encoder_f ProcedureCode_encode_uper;
+per_type_decoder_f ProcedureCode_decode_aper;
+per_type_encoder_f ProcedureCode_encode_aper;
+#define ProcedureCode_id_HandoverPreparation	((ProcedureCode_t)0)
+#define ProcedureCode_id_HandoverResourceAllocation	((ProcedureCode_t)1)
+#define ProcedureCode_id_HandoverNotification	((ProcedureCode_t)2)
+#define ProcedureCode_id_PathSwitchRequest	((ProcedureCode_t)3)
+#define ProcedureCode_id_HandoverCancel	((ProcedureCode_t)4)
+#define ProcedureCode_id_E_RABSetup	((ProcedureCode_t)5)
+#define ProcedureCode_id_E_RABModify	((ProcedureCode_t)6)
+#define ProcedureCode_id_E_RABRelease	((ProcedureCode_t)7)
+#define ProcedureCode_id_E_RABReleaseIndication	((ProcedureCode_t)8)
+#define ProcedureCode_id_InitialContextSetup	((ProcedureCode_t)9)
+#define ProcedureCode_id_Paging	((ProcedureCode_t)10)
+#define ProcedureCode_id_downlinkNASTransport	((ProcedureCode_t)11)
+#define ProcedureCode_id_initialUEMessage	((ProcedureCode_t)12)
+#define ProcedureCode_id_uplinkNASTransport	((ProcedureCode_t)13)
+#define ProcedureCode_id_Reset	((ProcedureCode_t)14)
+#define ProcedureCode_id_ErrorIndication	((ProcedureCode_t)15)
+#define ProcedureCode_id_NASNonDeliveryIndication	((ProcedureCode_t)16)
+#define ProcedureCode_id_S1Setup	((ProcedureCode_t)17)
+#define ProcedureCode_id_UEContextReleaseRequest	((ProcedureCode_t)18)
+#define ProcedureCode_id_DownlinkS1cdma2000tunnelling	((ProcedureCode_t)19)
+#define ProcedureCode_id_UplinkS1cdma2000tunnelling	((ProcedureCode_t)20)
+#define ProcedureCode_id_UEContextModification	((ProcedureCode_t)21)
+#define ProcedureCode_id_UECapabilityInfoIndication	((ProcedureCode_t)22)
+#define ProcedureCode_id_UEContextRelease	((ProcedureCode_t)23)
+#define ProcedureCode_id_eNBStatusTransfer	((ProcedureCode_t)24)
+#define ProcedureCode_id_MMEStatusTransfer	((ProcedureCode_t)25)
+#define ProcedureCode_id_DeactivateTrace	((ProcedureCode_t)26)
+#define ProcedureCode_id_TraceStart	((ProcedureCode_t)27)
+#define ProcedureCode_id_TraceFailureIndication	((ProcedureCode_t)28)
+#define ProcedureCode_id_ENBConfigurationUpdate	((ProcedureCode_t)29)
+#define ProcedureCode_id_MMEConfigurationUpdate	((ProcedureCode_t)30)
+#define ProcedureCode_id_LocationReportingControl	((ProcedureCode_t)31)
+#define ProcedureCode_id_LocationReportingFailureIndication	((ProcedureCode_t)32)
+#define ProcedureCode_id_LocationReport	((ProcedureCode_t)33)
+#define ProcedureCode_id_OverloadStart	((ProcedureCode_t)34)
+#define ProcedureCode_id_OverloadStop	((ProcedureCode_t)35)
+#define ProcedureCode_id_WriteReplaceWarning	((ProcedureCode_t)36)
+#define ProcedureCode_id_eNBDirectInformationTransfer	((ProcedureCode_t)37)
+#define ProcedureCode_id_MMEDirectInformationTransfer	((ProcedureCode_t)38)
+#define ProcedureCode_id_PrivateMessage	((ProcedureCode_t)39)
+#define ProcedureCode_id_eNBConfigurationTransfer	((ProcedureCode_t)40)
+#define ProcedureCode_id_MMEConfigurationTransfer	((ProcedureCode_t)41)
+#define ProcedureCode_id_CellTrafficTrace	((ProcedureCode_t)42)
+#define ProcedureCode_id_Kill	((ProcedureCode_t)43)
+#define ProcedureCode_id_downlinkUEAssociatedLPPaTransport	((ProcedureCode_t)44)
+#define ProcedureCode_id_uplinkUEAssociatedLPPaTransport	((ProcedureCode_t)45)
+#define ProcedureCode_id_downlinkNonUEAssociatedLPPaTransport	((ProcedureCode_t)46)
+#define ProcedureCode_id_uplinkNonUEAssociatedLPPaTransport	((ProcedureCode_t)47)
+#define ProcedureCode_id_UERadioCapabilityMatch	((ProcedureCode_t)48)
+#define ProcedureCode_id_PWSRestartIndication	((ProcedureCode_t)49)
+#define ProcedureCode_id_E_RABModificationIndication	((ProcedureCode_t)50)
+#define ProcedureCode_id_PWSFailureIndication	((ProcedureCode_t)51)
+#define ProcedureCode_id_RerouteNASRequest	((ProcedureCode_t)52)
+#define ProcedureCode_id_UEContextModificationIndication	((ProcedureCode_t)53)
+#define ProcedureCode_id_ConnectionEstablishmentIndication	((ProcedureCode_t)54)
+#define ProcedureCode_id_UEContextSuspend	((ProcedureCode_t)55)
+#define ProcedureCode_id_UEContextResume	((ProcedureCode_t)56)
+#define ProcedureCode_id_NASDeliveryIndication	((ProcedureCode_t)57)
+#define ProcedureCode_id_RetrieveUEInformation	((ProcedureCode_t)58)
+#define ProcedureCode_id_UEInformationTransfer	((ProcedureCode_t)59)
+#define ProcedureCode_id_eNBCPRelocationIndication	((ProcedureCode_t)60)
+#define ProcedureCode_id_MMECPRelocationIndication	((ProcedureCode_t)61)
+#define ProcedureCode_id_SecondaryRATDataUsageReport	((ProcedureCode_t)62)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ProcedureCode_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ProtocolError-IE-ContainerList.h b/src/s1ap/asn1c/asnGenFiles/ProtocolError-IE-ContainerList.h
new file mode 100644
index 0000000..dc08575
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ProtocolError-IE-ContainerList.h
@@ -0,0 +1,23 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ProtocolError_IE_ContainerList_H_
+#define	_ProtocolError_IE_ContainerList_H_
+
+
+#include <asn_application.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ProtocolError_IE_ContainerList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ProtocolExtensionContainer.h b/src/s1ap/asn1c/asnGenFiles/ProtocolExtensionContainer.h
new file mode 100644
index 0000000..681ae55
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ProtocolExtensionContainer.h
@@ -0,0 +1,1639 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-Containers"
+ * 	found in "./asn1c/S1AP-Containers.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ProtocolExtensionContainer_H_
+#define	_ProtocolExtensionContainer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct Additional_GUTI_ExtIEs;
+struct AllocationAndRetentionPriority_ExtIEs;
+struct InformationForCECapableUEs_ExtIEs;
+struct AssistanceDataForPaging_ExtIEs;
+struct AssistanceDataForRecommendedCells_ExtIEs;
+struct Bearers_SubjectToStatusTransfer_ItemExtIEs;
+struct BluetoothMeasurementConfiguration_ExtIEs;
+struct CancelledCellinEAI_Item_ExtIEs;
+struct CancelledCellinTAI_Item_ExtIEs;
+struct CellIdentifierAndCELevelForCECapableUEs_ExtIEs;
+struct CellID_Broadcast_Item_ExtIEs;
+struct CellID_Cancelled_Item_ExtIEs;
+struct CellBasedMDT_ExtIEs;
+struct CellBasedQMC_ExtIEs;
+struct Cdma2000OneXSRVCCInfo_ExtIEs;
+struct CellType_ExtIEs;
+struct CGI_ExtIEs;
+struct CNTypeRestrictions_Item_ExtIEs;
+struct ConnectedengNBItem_ExtIEs;
+struct CSG_IdList_Item_ExtIEs;
+struct COUNTvalue_ExtIEs;
+struct COUNTValueExtended_ExtIEs;
+struct COUNTvaluePDCP_SNlength18_ExtIEs;
+struct CriticalityDiagnostics_ExtIEs;
+struct CriticalityDiagnostics_IE_Item_ExtIEs;
+struct ServedDCNsItem_ExtIEs;
+struct DL_CP_SecurityInformation_ExtIEs;
+struct EmergencyAreaID_Broadcast_Item_ExtIEs;
+struct EmergencyAreaID_Cancelled_Item_ExtIEs;
+struct CompletedCellinEAI_Item_ExtIEs;
+struct GERAN_Cell_ID_ExtIEs;
+struct GlobalENB_ID_ExtIEs;
+struct Global_en_gNB_ID_ExtIEs;
+struct ENB_StatusTransfer_TransparentContainer_ExtIEs;
+struct EN_DCSONConfigurationTransfer_ExtIEs;
+struct EN_DCTransferTypeRequest_ExtIEs;
+struct EN_DCTransferTypeReply_ExtIEs;
+struct EN_DCSONeNBIdentification_ExtIEs;
+struct EN_DCSONengNBIdentification_ExtIEs;
+struct E_RABInformationListItem_ExtIEs;
+struct E_RABItem_ExtIEs;
+struct E_RABQoSParameters_ExtIEs;
+struct E_RABUsageReportItem_ExtIEs;
+struct EUTRAN_CGI_ExtIEs;
+struct ExpectedUEBehaviour_ExtIEs;
+struct ExpectedUEActivityBehaviour_ExtIEs;
+struct FiveGSTAI_ExtIEs;
+struct ForbiddenTAs_Item_ExtIEs;
+struct ForbiddenLAs_Item_ExtIEs;
+struct GBR_QosInformation_ExtIEs;
+struct GUMMEI_ExtIEs;
+struct HandoverRestrictionList_ExtIEs;
+struct ImmediateMDT_ExtIEs;
+struct InformationOnRecommendedCellsAndENBsForPaging_ExtIEs;
+struct LAI_ExtIEs;
+struct LastVisitedEUTRANCellInformation_ExtIEs;
+struct ListeningSubframePattern_ExtIEs;
+struct LoggedMDT_ExtIEs;
+struct LoggedMBSFNMDT_ExtIEs;
+struct M3Configuration_ExtIEs;
+struct M4Configuration_ExtIEs;
+struct M5Configuration_ExtIEs;
+struct M6Configuration_ExtIEs;
+struct M7Configuration_ExtIEs;
+struct MDT_Configuration_ExtIEs;
+struct MBSFN_ResultToLogInfo_ExtIEs;
+struct MutingPatternInformation_ExtIEs;
+struct NB_IoT_Paging_eDRXInformation_ExtIEs;
+struct NR_CGI_ExtIEs;
+struct NRUESecurityCapabilities_ExtIEs;
+struct PagingAttemptInformation_ExtIEs;
+struct Paging_eDRXInformation_ExtIEs;
+struct M1PeriodicReporting_ExtIEs;
+struct PLMNAreaBasedQMC_ExtIEs;
+struct ProSeAuthorized_ExtIEs;
+struct PSCellInformation_ExtIEs;
+struct RecommendedCellsForPaging_ExtIEs;
+struct RecommendedCellsForPagingItem_ExtIEs;
+struct RecommendedENBsForPaging_ExtIEs;
+struct RecommendedENBItem_ExtIEs;
+struct RequestType_ExtIEs;
+struct RIMTransfer_ExtIEs;
+struct RLFReportInformation_ExtIEs;
+struct SecurityContext_ExtIEs;
+struct SecondaryRATDataUsageReportItem_ExtIEs;
+struct SONInformationReply_ExtIEs;
+struct SONConfigurationTransfer_ExtIEs;
+struct SynchronisationInformation_ExtIEs;
+struct SourceeNB_ID_ExtIEs;
+struct SourceeNB_ToTargeteNB_TransparentContainer_ExtIEs;
+struct ServedGUMMEIsItem_ExtIEs;
+struct Subscription_Based_UE_DifferentiationInfo_ExtIEs;
+struct ScheduledCommunicationTime_ExtIEs;
+struct SupportedTAs_Item_ExtIEs;
+struct TimeSynchronisationInfo_ExtIEs;
+struct S_TMSI_ExtIEs;
+struct TAIBasedMDT_ExtIEs;
+struct TAI_ExtIEs;
+struct TAI_Broadcast_Item_ExtIEs;
+struct TAI_Cancelled_Item_ExtIEs;
+struct TABasedMDT_ExtIEs;
+struct TABasedQMC_ExtIEs;
+struct TAIBasedQMC_ExtIEs;
+struct CompletedCellinTAI_Item_ExtIEs;
+struct TargeteNB_ID_ExtIEs;
+struct TargetRNC_ID_ExtIEs;
+struct TargetNgRanNode_ID_ExtIEs;
+struct GNB_ExtIEs;
+struct Global_GNB_ID_ExtIEs;
+struct NG_eNB_ExtIEs;
+struct TargeteNB_ToSourceeNB_TransparentContainer_ExtIEs;
+struct M1ThresholdEventA2_ExtIEs;
+struct TraceActivation_ExtIEs;
+struct Tunnel_Information_ExtIEs;
+struct UEAggregate_MaximumBitrates_ExtIEs;
+struct UEAppLayerMeasConfig_ExtIEs;
+struct UE_S1AP_ID_pair_ExtIEs;
+struct UE_associatedLogicalS1_ConnectionItemExtIEs;
+struct UESecurityCapabilities_ExtIEs;
+struct UE_Sidelink_Aggregate_MaximumBitrates_ExtIEs;
+struct UL_CP_SecurityInformation_ExtIEs;
+struct UserLocationInformation_ExtIEs;
+struct V2XServicesAuthorized_ExtIEs;
+struct WLANMeasurementConfiguration_ExtIEs;
+struct X2TNLConfigurationInfo_ExtIEs;
+struct ENBX2ExtTLA_ExtIEs;
+struct E_RABDataForwardingItem_ExtIEs;
+struct E_RABToBeSetupItemHOReq_ExtIEs;
+struct E_RABAdmittedItem_ExtIEs;
+struct E_RABFailedToSetupItemHOReqAckExtIEs;
+struct E_RABToBeSwitchedDLItem_ExtIEs;
+struct E_RABToBeSwitchedULItem_ExtIEs;
+struct E_RABToBeSetupItemBearerSUReqExtIEs;
+struct E_RABSetupItemBearerSUResExtIEs;
+struct E_RABToBeModifyItemBearerModReqExtIEs;
+struct E_RABModifyItemBearerModResExtIEs;
+struct E_RABReleaseItemBearerRelCompExtIEs;
+struct E_RABToBeSetupItemCtxtSUReqExtIEs;
+struct E_RABSetupItemCtxtSUResExtIEs;
+struct TAIItemExtIEs;
+struct E_RABToBeModifiedItemBearerModInd_ExtIEs;
+struct E_RABNotToBeModifiedItemBearerModInd_ExtIEs;
+struct CSGMembershipInfo_ExtIEs;
+struct E_RABModifyItemBearerModConfExtIEs;
+struct E_RABFailedToResumeItemResumeReq_ExtIEs;
+struct E_RABFailedToResumeItemResumeRes_ExtIEs;
+
+/* ProtocolExtensionContainer */
+typedef struct ProtocolExtensionContainer_180P0 {
+	A_SEQUENCE_OF(struct Additional_GUTI_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P0_t;
+typedef struct ProtocolExtensionContainer_180P1 {
+	A_SEQUENCE_OF(struct AllocationAndRetentionPriority_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P1_t;
+typedef struct ProtocolExtensionContainer_180P2 {
+	A_SEQUENCE_OF(struct InformationForCECapableUEs_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P2_t;
+typedef struct ProtocolExtensionContainer_180P3 {
+	A_SEQUENCE_OF(struct AssistanceDataForPaging_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P3_t;
+typedef struct ProtocolExtensionContainer_180P4 {
+	A_SEQUENCE_OF(struct AssistanceDataForRecommendedCells_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P4_t;
+typedef struct ProtocolExtensionContainer_180P5 {
+	A_SEQUENCE_OF(struct Bearers_SubjectToStatusTransfer_ItemExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P5_t;
+typedef struct ProtocolExtensionContainer_180P6 {
+	A_SEQUENCE_OF(struct BluetoothMeasurementConfiguration_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P6_t;
+typedef struct ProtocolExtensionContainer_180P7 {
+	A_SEQUENCE_OF(struct CancelledCellinEAI_Item_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P7_t;
+typedef struct ProtocolExtensionContainer_180P8 {
+	A_SEQUENCE_OF(struct CancelledCellinTAI_Item_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P8_t;
+typedef struct ProtocolExtensionContainer_180P9 {
+	A_SEQUENCE_OF(struct CellIdentifierAndCELevelForCECapableUEs_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P9_t;
+typedef struct ProtocolExtensionContainer_180P10 {
+	A_SEQUENCE_OF(struct CellID_Broadcast_Item_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P10_t;
+typedef struct ProtocolExtensionContainer_180P11 {
+	A_SEQUENCE_OF(struct CellID_Cancelled_Item_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P11_t;
+typedef struct ProtocolExtensionContainer_180P12 {
+	A_SEQUENCE_OF(struct CellBasedMDT_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P12_t;
+typedef struct ProtocolExtensionContainer_180P13 {
+	A_SEQUENCE_OF(struct CellBasedQMC_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P13_t;
+typedef struct ProtocolExtensionContainer_180P14 {
+	A_SEQUENCE_OF(struct Cdma2000OneXSRVCCInfo_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P14_t;
+typedef struct ProtocolExtensionContainer_180P15 {
+	A_SEQUENCE_OF(struct CellType_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P15_t;
+typedef struct ProtocolExtensionContainer_180P16 {
+	A_SEQUENCE_OF(struct CGI_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P16_t;
+typedef struct ProtocolExtensionContainer_180P17 {
+	A_SEQUENCE_OF(struct CNTypeRestrictions_Item_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P17_t;
+typedef struct ProtocolExtensionContainer_180P18 {
+	A_SEQUENCE_OF(struct ConnectedengNBItem_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P18_t;
+typedef struct ProtocolExtensionContainer_180P19 {
+	A_SEQUENCE_OF(struct CSG_IdList_Item_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P19_t;
+typedef struct ProtocolExtensionContainer_180P20 {
+	A_SEQUENCE_OF(struct COUNTvalue_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P20_t;
+typedef struct ProtocolExtensionContainer_180P21 {
+	A_SEQUENCE_OF(struct COUNTValueExtended_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P21_t;
+typedef struct ProtocolExtensionContainer_180P22 {
+	A_SEQUENCE_OF(struct COUNTvaluePDCP_SNlength18_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P22_t;
+typedef struct ProtocolExtensionContainer_180P23 {
+	A_SEQUENCE_OF(struct CriticalityDiagnostics_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P23_t;
+typedef struct ProtocolExtensionContainer_180P24 {
+	A_SEQUENCE_OF(struct CriticalityDiagnostics_IE_Item_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P24_t;
+typedef struct ProtocolExtensionContainer_180P25 {
+	A_SEQUENCE_OF(struct ServedDCNsItem_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P25_t;
+typedef struct ProtocolExtensionContainer_180P26 {
+	A_SEQUENCE_OF(struct DL_CP_SecurityInformation_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P26_t;
+typedef struct ProtocolExtensionContainer_180P27 {
+	A_SEQUENCE_OF(struct EmergencyAreaID_Broadcast_Item_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P27_t;
+typedef struct ProtocolExtensionContainer_180P28 {
+	A_SEQUENCE_OF(struct EmergencyAreaID_Cancelled_Item_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P28_t;
+typedef struct ProtocolExtensionContainer_180P29 {
+	A_SEQUENCE_OF(struct CompletedCellinEAI_Item_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P29_t;
+typedef struct ProtocolExtensionContainer_180P30 {
+	A_SEQUENCE_OF(struct GERAN_Cell_ID_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P30_t;
+typedef struct ProtocolExtensionContainer_180P31 {
+	A_SEQUENCE_OF(struct GlobalENB_ID_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P31_t;
+typedef struct ProtocolExtensionContainer_180P32 {
+	A_SEQUENCE_OF(struct Global_en_gNB_ID_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P32_t;
+typedef struct ProtocolExtensionContainer_180P33 {
+	A_SEQUENCE_OF(struct ENB_StatusTransfer_TransparentContainer_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P33_t;
+typedef struct ProtocolExtensionContainer_180P34 {
+	A_SEQUENCE_OF(struct EN_DCSONConfigurationTransfer_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P34_t;
+typedef struct ProtocolExtensionContainer_180P35 {
+	A_SEQUENCE_OF(struct EN_DCTransferTypeRequest_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P35_t;
+typedef struct ProtocolExtensionContainer_180P36 {
+	A_SEQUENCE_OF(struct EN_DCTransferTypeReply_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P36_t;
+typedef struct ProtocolExtensionContainer_180P37 {
+	A_SEQUENCE_OF(struct EN_DCSONeNBIdentification_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P37_t;
+typedef struct ProtocolExtensionContainer_180P38 {
+	A_SEQUENCE_OF(struct EN_DCSONengNBIdentification_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P38_t;
+typedef struct ProtocolExtensionContainer_180P39 {
+	A_SEQUENCE_OF(struct E_RABInformationListItem_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P39_t;
+typedef struct ProtocolExtensionContainer_180P40 {
+	A_SEQUENCE_OF(struct E_RABItem_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P40_t;
+typedef struct ProtocolExtensionContainer_180P41 {
+	A_SEQUENCE_OF(struct E_RABQoSParameters_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P41_t;
+typedef struct ProtocolExtensionContainer_180P42 {
+	A_SEQUENCE_OF(struct E_RABUsageReportItem_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P42_t;
+typedef struct ProtocolExtensionContainer_180P43 {
+	A_SEQUENCE_OF(struct EUTRAN_CGI_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P43_t;
+typedef struct ProtocolExtensionContainer_180P44 {
+	A_SEQUENCE_OF(struct ExpectedUEBehaviour_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P44_t;
+typedef struct ProtocolExtensionContainer_180P45 {
+	A_SEQUENCE_OF(struct ExpectedUEActivityBehaviour_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P45_t;
+typedef struct ProtocolExtensionContainer_180P46 {
+	A_SEQUENCE_OF(struct FiveGSTAI_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P46_t;
+typedef struct ProtocolExtensionContainer_180P47 {
+	A_SEQUENCE_OF(struct ForbiddenTAs_Item_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P47_t;
+typedef struct ProtocolExtensionContainer_180P48 {
+	A_SEQUENCE_OF(struct ForbiddenLAs_Item_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P48_t;
+typedef struct ProtocolExtensionContainer_180P49 {
+	A_SEQUENCE_OF(struct GBR_QosInformation_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P49_t;
+typedef struct ProtocolExtensionContainer_180P50 {
+	A_SEQUENCE_OF(struct GUMMEI_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P50_t;
+typedef struct ProtocolExtensionContainer_180P51 {
+	A_SEQUENCE_OF(struct HandoverRestrictionList_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P51_t;
+typedef struct ProtocolExtensionContainer_180P52 {
+	A_SEQUENCE_OF(struct ImmediateMDT_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P52_t;
+typedef struct ProtocolExtensionContainer_180P53 {
+	A_SEQUENCE_OF(struct InformationOnRecommendedCellsAndENBsForPaging_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P53_t;
+typedef struct ProtocolExtensionContainer_180P54 {
+	A_SEQUENCE_OF(struct LAI_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P54_t;
+typedef struct ProtocolExtensionContainer_180P55 {
+	A_SEQUENCE_OF(struct LastVisitedEUTRANCellInformation_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P55_t;
+typedef struct ProtocolExtensionContainer_180P56 {
+	A_SEQUENCE_OF(struct ListeningSubframePattern_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P56_t;
+typedef struct ProtocolExtensionContainer_180P57 {
+	A_SEQUENCE_OF(struct LoggedMDT_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P57_t;
+typedef struct ProtocolExtensionContainer_180P58 {
+	A_SEQUENCE_OF(struct LoggedMBSFNMDT_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P58_t;
+typedef struct ProtocolExtensionContainer_180P59 {
+	A_SEQUENCE_OF(struct M3Configuration_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P59_t;
+typedef struct ProtocolExtensionContainer_180P60 {
+	A_SEQUENCE_OF(struct M4Configuration_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P60_t;
+typedef struct ProtocolExtensionContainer_180P61 {
+	A_SEQUENCE_OF(struct M5Configuration_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P61_t;
+typedef struct ProtocolExtensionContainer_180P62 {
+	A_SEQUENCE_OF(struct M6Configuration_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P62_t;
+typedef struct ProtocolExtensionContainer_180P63 {
+	A_SEQUENCE_OF(struct M7Configuration_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P63_t;
+typedef struct ProtocolExtensionContainer_180P64 {
+	A_SEQUENCE_OF(struct MDT_Configuration_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P64_t;
+typedef struct ProtocolExtensionContainer_180P65 {
+	A_SEQUENCE_OF(struct MBSFN_ResultToLogInfo_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P65_t;
+typedef struct ProtocolExtensionContainer_180P66 {
+	A_SEQUENCE_OF(struct MutingPatternInformation_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P66_t;
+typedef struct ProtocolExtensionContainer_180P67 {
+	A_SEQUENCE_OF(struct NB_IoT_Paging_eDRXInformation_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P67_t;
+typedef struct ProtocolExtensionContainer_180P68 {
+	A_SEQUENCE_OF(struct NR_CGI_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P68_t;
+typedef struct ProtocolExtensionContainer_180P69 {
+	A_SEQUENCE_OF(struct NRUESecurityCapabilities_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P69_t;
+typedef struct ProtocolExtensionContainer_180P70 {
+	A_SEQUENCE_OF(struct PagingAttemptInformation_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P70_t;
+typedef struct ProtocolExtensionContainer_180P71 {
+	A_SEQUENCE_OF(struct Paging_eDRXInformation_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P71_t;
+typedef struct ProtocolExtensionContainer_180P72 {
+	A_SEQUENCE_OF(struct M1PeriodicReporting_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P72_t;
+typedef struct ProtocolExtensionContainer_180P73 {
+	A_SEQUENCE_OF(struct PLMNAreaBasedQMC_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P73_t;
+typedef struct ProtocolExtensionContainer_180P74 {
+	A_SEQUENCE_OF(struct ProSeAuthorized_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P74_t;
+typedef struct ProtocolExtensionContainer_180P75 {
+	A_SEQUENCE_OF(struct PSCellInformation_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P75_t;
+typedef struct ProtocolExtensionContainer_180P76 {
+	A_SEQUENCE_OF(struct RecommendedCellsForPaging_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P76_t;
+typedef struct ProtocolExtensionContainer_180P77 {
+	A_SEQUENCE_OF(struct RecommendedCellsForPagingItem_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P77_t;
+typedef struct ProtocolExtensionContainer_180P78 {
+	A_SEQUENCE_OF(struct RecommendedENBsForPaging_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P78_t;
+typedef struct ProtocolExtensionContainer_180P79 {
+	A_SEQUENCE_OF(struct RecommendedENBItem_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P79_t;
+typedef struct ProtocolExtensionContainer_180P80 {
+	A_SEQUENCE_OF(struct RequestType_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P80_t;
+typedef struct ProtocolExtensionContainer_180P81 {
+	A_SEQUENCE_OF(struct RIMTransfer_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P81_t;
+typedef struct ProtocolExtensionContainer_180P82 {
+	A_SEQUENCE_OF(struct RLFReportInformation_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P82_t;
+typedef struct ProtocolExtensionContainer_180P83 {
+	A_SEQUENCE_OF(struct SecurityContext_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P83_t;
+typedef struct ProtocolExtensionContainer_180P84 {
+	A_SEQUENCE_OF(struct SecondaryRATDataUsageReportItem_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P84_t;
+typedef struct ProtocolExtensionContainer_180P85 {
+	A_SEQUENCE_OF(struct SONInformationReply_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P85_t;
+typedef struct ProtocolExtensionContainer_180P86 {
+	A_SEQUENCE_OF(struct SONConfigurationTransfer_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P86_t;
+typedef struct ProtocolExtensionContainer_180P87 {
+	A_SEQUENCE_OF(struct SynchronisationInformation_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P87_t;
+typedef struct ProtocolExtensionContainer_180P88 {
+	A_SEQUENCE_OF(struct SourceeNB_ID_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P88_t;
+typedef struct ProtocolExtensionContainer_180P89 {
+	A_SEQUENCE_OF(struct SourceeNB_ToTargeteNB_TransparentContainer_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P89_t;
+typedef struct ProtocolExtensionContainer_180P90 {
+	A_SEQUENCE_OF(struct ServedGUMMEIsItem_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P90_t;
+typedef struct ProtocolExtensionContainer_180P91 {
+	A_SEQUENCE_OF(struct Subscription_Based_UE_DifferentiationInfo_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P91_t;
+typedef struct ProtocolExtensionContainer_180P92 {
+	A_SEQUENCE_OF(struct ScheduledCommunicationTime_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P92_t;
+typedef struct ProtocolExtensionContainer_180P93 {
+	A_SEQUENCE_OF(struct SupportedTAs_Item_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P93_t;
+typedef struct ProtocolExtensionContainer_180P94 {
+	A_SEQUENCE_OF(struct TimeSynchronisationInfo_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P94_t;
+typedef struct ProtocolExtensionContainer_180P95 {
+	A_SEQUENCE_OF(struct S_TMSI_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P95_t;
+typedef struct ProtocolExtensionContainer_180P96 {
+	A_SEQUENCE_OF(struct TAIBasedMDT_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P96_t;
+typedef struct ProtocolExtensionContainer_180P97 {
+	A_SEQUENCE_OF(struct TAI_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P97_t;
+typedef struct ProtocolExtensionContainer_180P98 {
+	A_SEQUENCE_OF(struct TAI_Broadcast_Item_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P98_t;
+typedef struct ProtocolExtensionContainer_180P99 {
+	A_SEQUENCE_OF(struct TAI_Cancelled_Item_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P99_t;
+typedef struct ProtocolExtensionContainer_180P100 {
+	A_SEQUENCE_OF(struct TABasedMDT_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P100_t;
+typedef struct ProtocolExtensionContainer_180P101 {
+	A_SEQUENCE_OF(struct TABasedQMC_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P101_t;
+typedef struct ProtocolExtensionContainer_180P102 {
+	A_SEQUENCE_OF(struct TAIBasedQMC_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P102_t;
+typedef struct ProtocolExtensionContainer_180P103 {
+	A_SEQUENCE_OF(struct CompletedCellinTAI_Item_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P103_t;
+typedef struct ProtocolExtensionContainer_180P104 {
+	A_SEQUENCE_OF(struct TargeteNB_ID_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P104_t;
+typedef struct ProtocolExtensionContainer_180P105 {
+	A_SEQUENCE_OF(struct TargetRNC_ID_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P105_t;
+typedef struct ProtocolExtensionContainer_180P106 {
+	A_SEQUENCE_OF(struct TargetNgRanNode_ID_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P106_t;
+typedef struct ProtocolExtensionContainer_180P107 {
+	A_SEQUENCE_OF(struct GNB_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P107_t;
+typedef struct ProtocolExtensionContainer_180P108 {
+	A_SEQUENCE_OF(struct Global_GNB_ID_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P108_t;
+typedef struct ProtocolExtensionContainer_180P109 {
+	A_SEQUENCE_OF(struct NG_eNB_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P109_t;
+typedef struct ProtocolExtensionContainer_180P110 {
+	A_SEQUENCE_OF(struct TargeteNB_ToSourceeNB_TransparentContainer_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P110_t;
+typedef struct ProtocolExtensionContainer_180P111 {
+	A_SEQUENCE_OF(struct M1ThresholdEventA2_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P111_t;
+typedef struct ProtocolExtensionContainer_180P112 {
+	A_SEQUENCE_OF(struct TraceActivation_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P112_t;
+typedef struct ProtocolExtensionContainer_180P113 {
+	A_SEQUENCE_OF(struct Tunnel_Information_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P113_t;
+typedef struct ProtocolExtensionContainer_180P114 {
+	A_SEQUENCE_OF(struct UEAggregate_MaximumBitrates_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P114_t;
+typedef struct ProtocolExtensionContainer_180P115 {
+	A_SEQUENCE_OF(struct UEAppLayerMeasConfig_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P115_t;
+typedef struct ProtocolExtensionContainer_180P116 {
+	A_SEQUENCE_OF(struct UE_S1AP_ID_pair_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P116_t;
+typedef struct ProtocolExtensionContainer_180P117 {
+	A_SEQUENCE_OF(struct UE_associatedLogicalS1_ConnectionItemExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P117_t;
+typedef struct ProtocolExtensionContainer_180P118 {
+	A_SEQUENCE_OF(struct UESecurityCapabilities_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P118_t;
+typedef struct ProtocolExtensionContainer_180P119 {
+	A_SEQUENCE_OF(struct UE_Sidelink_Aggregate_MaximumBitrates_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P119_t;
+typedef struct ProtocolExtensionContainer_180P120 {
+	A_SEQUENCE_OF(struct UL_CP_SecurityInformation_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P120_t;
+typedef struct ProtocolExtensionContainer_180P121 {
+	A_SEQUENCE_OF(struct UserLocationInformation_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P121_t;
+typedef struct ProtocolExtensionContainer_180P122 {
+	A_SEQUENCE_OF(struct V2XServicesAuthorized_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P122_t;
+typedef struct ProtocolExtensionContainer_180P123 {
+	A_SEQUENCE_OF(struct WLANMeasurementConfiguration_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P123_t;
+typedef struct ProtocolExtensionContainer_180P124 {
+	A_SEQUENCE_OF(struct X2TNLConfigurationInfo_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P124_t;
+typedef struct ProtocolExtensionContainer_180P125 {
+	A_SEQUENCE_OF(struct ENBX2ExtTLA_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P125_t;
+typedef struct ProtocolExtensionContainer_180P126 {
+	A_SEQUENCE_OF(struct E_RABDataForwardingItem_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P126_t;
+typedef struct ProtocolExtensionContainer_180P127 {
+	A_SEQUENCE_OF(struct E_RABToBeSetupItemHOReq_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P127_t;
+typedef struct ProtocolExtensionContainer_180P128 {
+	A_SEQUENCE_OF(struct E_RABAdmittedItem_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P128_t;
+typedef struct ProtocolExtensionContainer_180P129 {
+	A_SEQUENCE_OF(struct E_RABFailedToSetupItemHOReqAckExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P129_t;
+typedef struct ProtocolExtensionContainer_180P130 {
+	A_SEQUENCE_OF(struct E_RABToBeSwitchedDLItem_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P130_t;
+typedef struct ProtocolExtensionContainer_180P131 {
+	A_SEQUENCE_OF(struct E_RABToBeSwitchedULItem_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P131_t;
+typedef struct ProtocolExtensionContainer_180P132 {
+	A_SEQUENCE_OF(struct E_RABToBeSetupItemBearerSUReqExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P132_t;
+typedef struct ProtocolExtensionContainer_180P133 {
+	A_SEQUENCE_OF(struct E_RABSetupItemBearerSUResExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P133_t;
+typedef struct ProtocolExtensionContainer_180P134 {
+	A_SEQUENCE_OF(struct E_RABToBeModifyItemBearerModReqExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P134_t;
+typedef struct ProtocolExtensionContainer_180P135 {
+	A_SEQUENCE_OF(struct E_RABModifyItemBearerModResExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P135_t;
+typedef struct ProtocolExtensionContainer_180P136 {
+	A_SEQUENCE_OF(struct E_RABReleaseItemBearerRelCompExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P136_t;
+typedef struct ProtocolExtensionContainer_180P137 {
+	A_SEQUENCE_OF(struct E_RABToBeSetupItemCtxtSUReqExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P137_t;
+typedef struct ProtocolExtensionContainer_180P138 {
+	A_SEQUENCE_OF(struct E_RABSetupItemCtxtSUResExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P138_t;
+typedef struct ProtocolExtensionContainer_180P139 {
+	A_SEQUENCE_OF(struct TAIItemExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P139_t;
+typedef struct ProtocolExtensionContainer_180P140 {
+	A_SEQUENCE_OF(struct E_RABToBeModifiedItemBearerModInd_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P140_t;
+typedef struct ProtocolExtensionContainer_180P141 {
+	A_SEQUENCE_OF(struct E_RABNotToBeModifiedItemBearerModInd_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P141_t;
+typedef struct ProtocolExtensionContainer_180P142 {
+	A_SEQUENCE_OF(struct CSGMembershipInfo_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P142_t;
+typedef struct ProtocolExtensionContainer_180P143 {
+	A_SEQUENCE_OF(struct E_RABModifyItemBearerModConfExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P143_t;
+typedef struct ProtocolExtensionContainer_180P144 {
+	A_SEQUENCE_OF(struct E_RABFailedToResumeItemResumeReq_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P144_t;
+typedef struct ProtocolExtensionContainer_180P145 {
+	A_SEQUENCE_OF(struct E_RABFailedToResumeItemResumeRes_ExtIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolExtensionContainer_180P145_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P0;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P0_specs_1;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P0_1[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P0_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P1;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P1_specs_3;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P1_3[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P1_constr_3;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P2;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P2_specs_5;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P2_5[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P2_constr_5;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P3;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P3_specs_7;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P3_7[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P3_constr_7;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P4;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P4_specs_9;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P4_9[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P4_constr_9;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P5;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P5_specs_11;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P5_11[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P5_constr_11;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P6;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P6_specs_13;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P6_13[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P6_constr_13;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P7;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P7_specs_15;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P7_15[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P7_constr_15;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P8;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P8_specs_17;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P8_17[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P8_constr_17;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P9;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P9_specs_19;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P9_19[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P9_constr_19;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P10;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P10_specs_21;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P10_21[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P10_constr_21;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P11;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P11_specs_23;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P11_23[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P11_constr_23;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P12;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P12_specs_25;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P12_25[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P12_constr_25;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P13;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P13_specs_27;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P13_27[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P13_constr_27;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P14;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P14_specs_29;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P14_29[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P14_constr_29;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P15;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P15_specs_31;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P15_31[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P15_constr_31;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P16;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P16_specs_33;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P16_33[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P16_constr_33;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P17;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P17_specs_35;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P17_35[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P17_constr_35;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P18;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P18_specs_37;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P18_37[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P18_constr_37;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P19;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P19_specs_39;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P19_39[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P19_constr_39;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P20;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P20_specs_41;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P20_41[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P20_constr_41;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P21;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P21_specs_43;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P21_43[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P21_constr_43;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P22;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P22_specs_45;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P22_45[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P22_constr_45;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P23;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P23_specs_47;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P23_47[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P23_constr_47;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P24;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P24_specs_49;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P24_49[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P24_constr_49;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P25;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P25_specs_51;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P25_51[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P25_constr_51;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P26;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P26_specs_53;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P26_53[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P26_constr_53;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P27;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P27_specs_55;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P27_55[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P27_constr_55;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P28;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P28_specs_57;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P28_57[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P28_constr_57;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P29;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P29_specs_59;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P29_59[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P29_constr_59;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P30;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P30_specs_61;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P30_61[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P30_constr_61;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P31;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P31_specs_63;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P31_63[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P31_constr_63;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P32;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P32_specs_65;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P32_65[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P32_constr_65;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P33;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P33_specs_67;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P33_67[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P33_constr_67;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P34;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P34_specs_69;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P34_69[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P34_constr_69;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P35;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P35_specs_71;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P35_71[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P35_constr_71;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P36;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P36_specs_73;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P36_73[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P36_constr_73;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P37;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P37_specs_75;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P37_75[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P37_constr_75;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P38;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P38_specs_77;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P38_77[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P38_constr_77;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P39;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P39_specs_79;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P39_79[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P39_constr_79;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P40;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P40_specs_81;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P40_81[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P40_constr_81;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P41;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P41_specs_83;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P41_83[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P41_constr_83;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P42;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P42_specs_85;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P42_85[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P42_constr_85;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P43;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P43_specs_87;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P43_87[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P43_constr_87;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P44;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P44_specs_89;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P44_89[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P44_constr_89;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P45;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P45_specs_91;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P45_91[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P45_constr_91;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P46;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P46_specs_93;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P46_93[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P46_constr_93;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P47;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P47_specs_95;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P47_95[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P47_constr_95;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P48;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P48_specs_97;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P48_97[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P48_constr_97;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P49;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P49_specs_99;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P49_99[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P49_constr_99;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P50;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P50_specs_101;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P50_101[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P50_constr_101;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P51;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P51_specs_103;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P51_103[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P51_constr_103;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P52;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P52_specs_105;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P52_105[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P52_constr_105;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P53;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P53_specs_107;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P53_107[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P53_constr_107;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P54;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P54_specs_109;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P54_109[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P54_constr_109;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P55;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P55_specs_111;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P55_111[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P55_constr_111;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P56;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P56_specs_113;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P56_113[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P56_constr_113;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P57;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P57_specs_115;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P57_115[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P57_constr_115;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P58;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P58_specs_117;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P58_117[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P58_constr_117;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P59;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P59_specs_119;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P59_119[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P59_constr_119;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P60;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P60_specs_121;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P60_121[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P60_constr_121;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P61;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P61_specs_123;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P61_123[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P61_constr_123;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P62;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P62_specs_125;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P62_125[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P62_constr_125;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P63;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P63_specs_127;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P63_127[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P63_constr_127;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P64;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P64_specs_129;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P64_129[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P64_constr_129;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P65;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P65_specs_131;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P65_131[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P65_constr_131;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P66;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P66_specs_133;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P66_133[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P66_constr_133;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P67;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P67_specs_135;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P67_135[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P67_constr_135;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P68;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P68_specs_137;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P68_137[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P68_constr_137;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P69;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P69_specs_139;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P69_139[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P69_constr_139;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P70;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P70_specs_141;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P70_141[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P70_constr_141;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P71;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P71_specs_143;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P71_143[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P71_constr_143;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P72;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P72_specs_145;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P72_145[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P72_constr_145;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P73;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P73_specs_147;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P73_147[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P73_constr_147;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P74;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P74_specs_149;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P74_149[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P74_constr_149;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P75;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P75_specs_151;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P75_151[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P75_constr_151;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P76;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P76_specs_153;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P76_153[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P76_constr_153;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P77;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P77_specs_155;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P77_155[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P77_constr_155;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P78;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P78_specs_157;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P78_157[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P78_constr_157;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P79;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P79_specs_159;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P79_159[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P79_constr_159;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P80;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P80_specs_161;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P80_161[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P80_constr_161;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P81;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P81_specs_163;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P81_163[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P81_constr_163;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P82;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P82_specs_165;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P82_165[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P82_constr_165;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P83;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P83_specs_167;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P83_167[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P83_constr_167;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P84;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P84_specs_169;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P84_169[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P84_constr_169;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P85;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P85_specs_171;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P85_171[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P85_constr_171;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P86;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P86_specs_173;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P86_173[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P86_constr_173;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P87;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P87_specs_175;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P87_175[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P87_constr_175;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P88;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P88_specs_177;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P88_177[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P88_constr_177;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P89;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P89_specs_179;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P89_179[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P89_constr_179;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P90;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P90_specs_181;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P90_181[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P90_constr_181;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P91;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P91_specs_183;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P91_183[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P91_constr_183;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P92;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P92_specs_185;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P92_185[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P92_constr_185;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P93;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P93_specs_187;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P93_187[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P93_constr_187;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P94;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P94_specs_189;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P94_189[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P94_constr_189;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P95;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P95_specs_191;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P95_191[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P95_constr_191;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P96;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P96_specs_193;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P96_193[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P96_constr_193;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P97;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P97_specs_195;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P97_195[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P97_constr_195;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P98;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P98_specs_197;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P98_197[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P98_constr_197;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P99;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P99_specs_199;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P99_199[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P99_constr_199;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P100;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P100_specs_201;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P100_201[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P100_constr_201;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P101;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P101_specs_203;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P101_203[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P101_constr_203;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P102;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P102_specs_205;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P102_205[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P102_constr_205;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P103;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P103_specs_207;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P103_207[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P103_constr_207;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P104;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P104_specs_209;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P104_209[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P104_constr_209;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P105;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P105_specs_211;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P105_211[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P105_constr_211;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P106;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P106_specs_213;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P106_213[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P106_constr_213;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P107;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P107_specs_215;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P107_215[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P107_constr_215;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P108;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P108_specs_217;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P108_217[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P108_constr_217;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P109;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P109_specs_219;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P109_219[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P109_constr_219;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P110;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P110_specs_221;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P110_221[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P110_constr_221;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P111;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P111_specs_223;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P111_223[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P111_constr_223;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P112;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P112_specs_225;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P112_225[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P112_constr_225;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P113;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P113_specs_227;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P113_227[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P113_constr_227;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P114;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P114_specs_229;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P114_229[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P114_constr_229;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P115;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P115_specs_231;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P115_231[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P115_constr_231;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P116;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P116_specs_233;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P116_233[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P116_constr_233;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P117;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P117_specs_235;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P117_235[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P117_constr_235;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P118;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P118_specs_237;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P118_237[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P118_constr_237;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P119;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P119_specs_239;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P119_239[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P119_constr_239;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P120;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P120_specs_241;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P120_241[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P120_constr_241;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P121;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P121_specs_243;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P121_243[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P121_constr_243;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P122;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P122_specs_245;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P122_245[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P122_constr_245;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P123;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P123_specs_247;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P123_247[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P123_constr_247;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P124;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P124_specs_249;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P124_249[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P124_constr_249;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P125;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P125_specs_251;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P125_251[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P125_constr_251;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P126;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P126_specs_253;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P126_253[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P126_constr_253;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P127;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P127_specs_255;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P127_255[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P127_constr_255;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P128;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P128_specs_257;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P128_257[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P128_constr_257;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P129;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P129_specs_259;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P129_259[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P129_constr_259;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P130;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P130_specs_261;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P130_261[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P130_constr_261;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P131;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P131_specs_263;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P131_263[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P131_constr_263;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P132;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P132_specs_265;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P132_265[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P132_constr_265;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P133;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P133_specs_267;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P133_267[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P133_constr_267;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P134;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P134_specs_269;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P134_269[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P134_constr_269;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P135;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P135_specs_271;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P135_271[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P135_constr_271;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P136;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P136_specs_273;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P136_273[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P136_constr_273;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P137;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P137_specs_275;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P137_275[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P137_constr_275;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P138;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P138_specs_277;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P138_277[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P138_constr_277;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P139;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P139_specs_279;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P139_279[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P139_constr_279;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P140;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P140_specs_281;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P140_281[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P140_constr_281;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P141;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P141_specs_283;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P141_283[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P141_constr_283;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P142;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P142_specs_285;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P142_285[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P142_constr_285;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P143;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P143_specs_287;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P143_287[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P143_constr_287;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P144;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P144_specs_289;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P144_289[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P144_constr_289;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_180P145;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_180P145_specs_291;
+extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_180P145_291[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_180P145_constr_291;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ProtocolExtensionContainer_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ProtocolExtensionField.h b/src/s1ap/asn1c/asnGenFiles/ProtocolExtensionField.h
new file mode 100644
index 0000000..bc54276
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ProtocolExtensionField.h
@@ -0,0 +1,3386 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-Containers"
+ * 	found in "./asn1c/S1AP-Containers.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ProtocolExtensionField_H_
+#define	_ProtocolExtensionField_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolExtensionID.h"
+#include "Criticality.h"
+#include <ANY.h>
+#include <asn_ioc.h>
+#include <OPEN_TYPE.h>
+#include <constr_CHOICE.h>
+#include <constr_SEQUENCE.h>
+#include "COUNTValueExtended.h"
+#include "Presence.h"
+#include "ReceiveStatusOfULPDCPSDUsExtended.h"
+#include "COUNTvaluePDCP-SNlength18.h"
+#include "ReceiveStatusOfULPDCPSDUsPDCP-SNlength18.h"
+#include "Packet-LossRate.h"
+#include "ExtendedBitRate.h"
+#include "NRrestrictioninEPSasSecondaryRAT.h"
+#include "UnlicensedSpectrumRestriction.h"
+#include "CNTypeRestrictions.h"
+#include "NRrestrictionin5GS.h"
+#include "PLMNidentity.h"
+#include "M3Configuration.h"
+#include "M4Configuration.h"
+#include "M5Configuration.h"
+#include "MDT-Location-Info.h"
+#include "M6Configuration.h"
+#include "M7Configuration.h"
+#include "BluetoothMeasurementConfiguration.h"
+#include "WLANMeasurementConfiguration.h"
+#include "Time-UE-StayedInCell-EnhancedGranularity.h"
+#include "Cause.h"
+#include "MDTPLMNList.h"
+#include "ProSeUEtoNetworkRelaying.h"
+#include "RequestTypeAdditionalInfo.h"
+#include "TimeSynchronisationInfo.h"
+#include "MutingPatternInformation.h"
+#include "X2TNLConfigurationInfo.h"
+#include "SynchronisationInformation.h"
+#include "MobilityInformation.h"
+#include "UE-HistoryInformationFromTheUE.h"
+#include "IMSvoiceEPSfallbackfrom5G.h"
+#include "RAT-Type.h"
+#include "MutingAvailabilityIndication.h"
+#include "MDT-Configuration.h"
+#include "UEAppLayerMeasConfig.h"
+#include "ServiceType.h"
+#include "PSCellInformation.h"
+#include "ENBX2ExtTLAs.h"
+#include "ENBIndirectX2TransportLayerAddresses.h"
+#include "Data-Forwarding-Not-Possible.h"
+#include "BearerType.h"
+#include "Correlation-ID.h"
+#include "TransportInformation.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum Additional_GUTI_ExtIEs__extensionValue_PR {
+	Additional_GUTI_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} Additional_GUTI_ExtIEs__extensionValue_PR;
+typedef enum AllocationAndRetentionPriority_ExtIEs__extensionValue_PR {
+	AllocationAndRetentionPriority_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} AllocationAndRetentionPriority_ExtIEs__extensionValue_PR;
+typedef enum InformationForCECapableUEs_ExtIEs__extensionValue_PR {
+	InformationForCECapableUEs_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} InformationForCECapableUEs_ExtIEs__extensionValue_PR;
+typedef enum AssistanceDataForPaging_ExtIEs__extensionValue_PR {
+	AssistanceDataForPaging_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} AssistanceDataForPaging_ExtIEs__extensionValue_PR;
+typedef enum AssistanceDataForRecommendedCells_ExtIEs__extensionValue_PR {
+	AssistanceDataForRecommendedCells_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} AssistanceDataForRecommendedCells_ExtIEs__extensionValue_PR;
+typedef enum Bearers_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR {
+	Bearers_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR_NOTHING,	/* No components present */
+	Bearers_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR_COUNTValueExtended,
+	Bearers_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR_COUNTValueExtended_1,
+	Bearers_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR_ReceiveStatusOfULPDCPSDUsExtended,
+	Bearers_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR_COUNTvaluePDCP_SNlength18,
+	Bearers_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR_COUNTvaluePDCP_SNlength18_1,
+	Bearers_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18
+} Bearers_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR;
+typedef enum BluetoothMeasurementConfiguration_ExtIEs__extensionValue_PR {
+	BluetoothMeasurementConfiguration_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} BluetoothMeasurementConfiguration_ExtIEs__extensionValue_PR;
+typedef enum CancelledCellinEAI_Item_ExtIEs__extensionValue_PR {
+	CancelledCellinEAI_Item_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} CancelledCellinEAI_Item_ExtIEs__extensionValue_PR;
+typedef enum CancelledCellinTAI_Item_ExtIEs__extensionValue_PR {
+	CancelledCellinTAI_Item_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} CancelledCellinTAI_Item_ExtIEs__extensionValue_PR;
+typedef enum CellIdentifierAndCELevelForCECapableUEs_ExtIEs__extensionValue_PR {
+	CellIdentifierAndCELevelForCECapableUEs_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} CellIdentifierAndCELevelForCECapableUEs_ExtIEs__extensionValue_PR;
+typedef enum CellID_Broadcast_Item_ExtIEs__extensionValue_PR {
+	CellID_Broadcast_Item_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} CellID_Broadcast_Item_ExtIEs__extensionValue_PR;
+typedef enum CellID_Cancelled_Item_ExtIEs__extensionValue_PR {
+	CellID_Cancelled_Item_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} CellID_Cancelled_Item_ExtIEs__extensionValue_PR;
+typedef enum CellBasedMDT_ExtIEs__extensionValue_PR {
+	CellBasedMDT_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} CellBasedMDT_ExtIEs__extensionValue_PR;
+typedef enum CellBasedQMC_ExtIEs__extensionValue_PR {
+	CellBasedQMC_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} CellBasedQMC_ExtIEs__extensionValue_PR;
+typedef enum Cdma2000OneXSRVCCInfo_ExtIEs__extensionValue_PR {
+	Cdma2000OneXSRVCCInfo_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} Cdma2000OneXSRVCCInfo_ExtIEs__extensionValue_PR;
+typedef enum CellType_ExtIEs__extensionValue_PR {
+	CellType_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} CellType_ExtIEs__extensionValue_PR;
+typedef enum CGI_ExtIEs__extensionValue_PR {
+	CGI_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} CGI_ExtIEs__extensionValue_PR;
+typedef enum CNTypeRestrictions_Item_ExtIEs__extensionValue_PR {
+	CNTypeRestrictions_Item_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} CNTypeRestrictions_Item_ExtIEs__extensionValue_PR;
+typedef enum ConnectedengNBItem_ExtIEs__extensionValue_PR {
+	ConnectedengNBItem_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} ConnectedengNBItem_ExtIEs__extensionValue_PR;
+typedef enum CSG_IdList_Item_ExtIEs__extensionValue_PR {
+	CSG_IdList_Item_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} CSG_IdList_Item_ExtIEs__extensionValue_PR;
+typedef enum COUNTvalue_ExtIEs__extensionValue_PR {
+	COUNTvalue_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} COUNTvalue_ExtIEs__extensionValue_PR;
+typedef enum COUNTValueExtended_ExtIEs__extensionValue_PR {
+	COUNTValueExtended_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} COUNTValueExtended_ExtIEs__extensionValue_PR;
+typedef enum COUNTvaluePDCP_SNlength18_ExtIEs__extensionValue_PR {
+	COUNTvaluePDCP_SNlength18_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} COUNTvaluePDCP_SNlength18_ExtIEs__extensionValue_PR;
+typedef enum CriticalityDiagnostics_ExtIEs__extensionValue_PR {
+	CriticalityDiagnostics_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} CriticalityDiagnostics_ExtIEs__extensionValue_PR;
+typedef enum CriticalityDiagnostics_IE_Item_ExtIEs__extensionValue_PR {
+	CriticalityDiagnostics_IE_Item_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} CriticalityDiagnostics_IE_Item_ExtIEs__extensionValue_PR;
+typedef enum ServedDCNsItem_ExtIEs__extensionValue_PR {
+	ServedDCNsItem_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} ServedDCNsItem_ExtIEs__extensionValue_PR;
+typedef enum DL_CP_SecurityInformation_ExtIEs__extensionValue_PR {
+	DL_CP_SecurityInformation_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} DL_CP_SecurityInformation_ExtIEs__extensionValue_PR;
+typedef enum EmergencyAreaID_Broadcast_Item_ExtIEs__extensionValue_PR {
+	EmergencyAreaID_Broadcast_Item_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} EmergencyAreaID_Broadcast_Item_ExtIEs__extensionValue_PR;
+typedef enum EmergencyAreaID_Cancelled_Item_ExtIEs__extensionValue_PR {
+	EmergencyAreaID_Cancelled_Item_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} EmergencyAreaID_Cancelled_Item_ExtIEs__extensionValue_PR;
+typedef enum CompletedCellinEAI_Item_ExtIEs__extensionValue_PR {
+	CompletedCellinEAI_Item_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} CompletedCellinEAI_Item_ExtIEs__extensionValue_PR;
+typedef enum GERAN_Cell_ID_ExtIEs__extensionValue_PR {
+	GERAN_Cell_ID_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} GERAN_Cell_ID_ExtIEs__extensionValue_PR;
+typedef enum GlobalENB_ID_ExtIEs__extensionValue_PR {
+	GlobalENB_ID_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} GlobalENB_ID_ExtIEs__extensionValue_PR;
+typedef enum Global_en_gNB_ID_ExtIEs__extensionValue_PR {
+	Global_en_gNB_ID_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} Global_en_gNB_ID_ExtIEs__extensionValue_PR;
+typedef enum ENB_StatusTransfer_TransparentContainer_ExtIEs__extensionValue_PR {
+	ENB_StatusTransfer_TransparentContainer_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} ENB_StatusTransfer_TransparentContainer_ExtIEs__extensionValue_PR;
+typedef enum EN_DCSONConfigurationTransfer_ExtIEs__extensionValue_PR {
+	EN_DCSONConfigurationTransfer_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} EN_DCSONConfigurationTransfer_ExtIEs__extensionValue_PR;
+typedef enum EN_DCTransferTypeRequest_ExtIEs__extensionValue_PR {
+	EN_DCTransferTypeRequest_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} EN_DCTransferTypeRequest_ExtIEs__extensionValue_PR;
+typedef enum EN_DCTransferTypeReply_ExtIEs__extensionValue_PR {
+	EN_DCTransferTypeReply_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} EN_DCTransferTypeReply_ExtIEs__extensionValue_PR;
+typedef enum EN_DCSONeNBIdentification_ExtIEs__extensionValue_PR {
+	EN_DCSONeNBIdentification_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} EN_DCSONeNBIdentification_ExtIEs__extensionValue_PR;
+typedef enum EN_DCSONengNBIdentification_ExtIEs__extensionValue_PR {
+	EN_DCSONengNBIdentification_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} EN_DCSONengNBIdentification_ExtIEs__extensionValue_PR;
+typedef enum E_RABInformationListItem_ExtIEs__extensionValue_PR {
+	E_RABInformationListItem_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} E_RABInformationListItem_ExtIEs__extensionValue_PR;
+typedef enum E_RABItem_ExtIEs__extensionValue_PR {
+	E_RABItem_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} E_RABItem_ExtIEs__extensionValue_PR;
+typedef enum E_RABQoSParameters_ExtIEs__extensionValue_PR {
+	E_RABQoSParameters_ExtIEs__extensionValue_PR_NOTHING,	/* No components present */
+	E_RABQoSParameters_ExtIEs__extensionValue_PR_Packet_LossRate,
+	E_RABQoSParameters_ExtIEs__extensionValue_PR_Packet_LossRate_1
+} E_RABQoSParameters_ExtIEs__extensionValue_PR;
+typedef enum E_RABUsageReportItem_ExtIEs__extensionValue_PR {
+	E_RABUsageReportItem_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} E_RABUsageReportItem_ExtIEs__extensionValue_PR;
+typedef enum EUTRAN_CGI_ExtIEs__extensionValue_PR {
+	EUTRAN_CGI_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} EUTRAN_CGI_ExtIEs__extensionValue_PR;
+typedef enum ExpectedUEBehaviour_ExtIEs__extensionValue_PR {
+	ExpectedUEBehaviour_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} ExpectedUEBehaviour_ExtIEs__extensionValue_PR;
+typedef enum ExpectedUEActivityBehaviour_ExtIEs__extensionValue_PR {
+	ExpectedUEActivityBehaviour_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} ExpectedUEActivityBehaviour_ExtIEs__extensionValue_PR;
+typedef enum FiveGSTAI_ExtIEs__extensionValue_PR {
+	FiveGSTAI_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} FiveGSTAI_ExtIEs__extensionValue_PR;
+typedef enum ForbiddenTAs_Item_ExtIEs__extensionValue_PR {
+	ForbiddenTAs_Item_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} ForbiddenTAs_Item_ExtIEs__extensionValue_PR;
+typedef enum ForbiddenLAs_Item_ExtIEs__extensionValue_PR {
+	ForbiddenLAs_Item_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} ForbiddenLAs_Item_ExtIEs__extensionValue_PR;
+typedef enum GBR_QosInformation_ExtIEs__extensionValue_PR {
+	GBR_QosInformation_ExtIEs__extensionValue_PR_NOTHING,	/* No components present */
+	GBR_QosInformation_ExtIEs__extensionValue_PR_ExtendedBitRate,
+	GBR_QosInformation_ExtIEs__extensionValue_PR_ExtendedBitRate_1,
+	GBR_QosInformation_ExtIEs__extensionValue_PR_ExtendedBitRate_2,
+	GBR_QosInformation_ExtIEs__extensionValue_PR_ExtendedBitRate_3
+} GBR_QosInformation_ExtIEs__extensionValue_PR;
+typedef enum GUMMEI_ExtIEs__extensionValue_PR {
+	GUMMEI_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} GUMMEI_ExtIEs__extensionValue_PR;
+typedef enum HandoverRestrictionList_ExtIEs__extensionValue_PR {
+	HandoverRestrictionList_ExtIEs__extensionValue_PR_NOTHING,	/* No components present */
+	HandoverRestrictionList_ExtIEs__extensionValue_PR_NRrestrictioninEPSasSecondaryRAT,
+	HandoverRestrictionList_ExtIEs__extensionValue_PR_UnlicensedSpectrumRestriction,
+	HandoverRestrictionList_ExtIEs__extensionValue_PR_CNTypeRestrictions,
+	HandoverRestrictionList_ExtIEs__extensionValue_PR_NRrestrictionin5GS,
+	HandoverRestrictionList_ExtIEs__extensionValue_PR_PLMNidentity
+} HandoverRestrictionList_ExtIEs__extensionValue_PR;
+typedef enum ImmediateMDT_ExtIEs__extensionValue_PR {
+	ImmediateMDT_ExtIEs__extensionValue_PR_NOTHING,	/* No components present */
+	ImmediateMDT_ExtIEs__extensionValue_PR_M3Configuration,
+	ImmediateMDT_ExtIEs__extensionValue_PR_M4Configuration,
+	ImmediateMDT_ExtIEs__extensionValue_PR_M5Configuration,
+	ImmediateMDT_ExtIEs__extensionValue_PR_MDT_Location_Info,
+	ImmediateMDT_ExtIEs__extensionValue_PR_M6Configuration,
+	ImmediateMDT_ExtIEs__extensionValue_PR_M7Configuration,
+	ImmediateMDT_ExtIEs__extensionValue_PR_BluetoothMeasurementConfiguration,
+	ImmediateMDT_ExtIEs__extensionValue_PR_WLANMeasurementConfiguration
+} ImmediateMDT_ExtIEs__extensionValue_PR;
+typedef enum InformationOnRecommendedCellsAndENBsForPaging_ExtIEs__extensionValue_PR {
+	InformationOnRecommendedCellsAndENBsForPaging_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} InformationOnRecommendedCellsAndENBsForPaging_ExtIEs__extensionValue_PR;
+typedef enum LAI_ExtIEs__extensionValue_PR {
+	LAI_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} LAI_ExtIEs__extensionValue_PR;
+typedef enum LastVisitedEUTRANCellInformation_ExtIEs__extensionValue_PR {
+	LastVisitedEUTRANCellInformation_ExtIEs__extensionValue_PR_NOTHING,	/* No components present */
+	LastVisitedEUTRANCellInformation_ExtIEs__extensionValue_PR_Time_UE_StayedInCell_EnhancedGranularity,
+	LastVisitedEUTRANCellInformation_ExtIEs__extensionValue_PR_Cause
+} LastVisitedEUTRANCellInformation_ExtIEs__extensionValue_PR;
+typedef enum ListeningSubframePattern_ExtIEs__extensionValue_PR {
+	ListeningSubframePattern_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} ListeningSubframePattern_ExtIEs__extensionValue_PR;
+typedef enum LoggedMDT_ExtIEs__extensionValue_PR {
+	LoggedMDT_ExtIEs__extensionValue_PR_NOTHING,	/* No components present */
+	LoggedMDT_ExtIEs__extensionValue_PR_BluetoothMeasurementConfiguration,
+	LoggedMDT_ExtIEs__extensionValue_PR_WLANMeasurementConfiguration
+} LoggedMDT_ExtIEs__extensionValue_PR;
+typedef enum LoggedMBSFNMDT_ExtIEs__extensionValue_PR {
+	LoggedMBSFNMDT_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} LoggedMBSFNMDT_ExtIEs__extensionValue_PR;
+typedef enum M3Configuration_ExtIEs__extensionValue_PR {
+	M3Configuration_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} M3Configuration_ExtIEs__extensionValue_PR;
+typedef enum M4Configuration_ExtIEs__extensionValue_PR {
+	M4Configuration_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} M4Configuration_ExtIEs__extensionValue_PR;
+typedef enum M5Configuration_ExtIEs__extensionValue_PR {
+	M5Configuration_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} M5Configuration_ExtIEs__extensionValue_PR;
+typedef enum M6Configuration_ExtIEs__extensionValue_PR {
+	M6Configuration_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} M6Configuration_ExtIEs__extensionValue_PR;
+typedef enum M7Configuration_ExtIEs__extensionValue_PR {
+	M7Configuration_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} M7Configuration_ExtIEs__extensionValue_PR;
+typedef enum MDT_Configuration_ExtIEs__extensionValue_PR {
+	MDT_Configuration_ExtIEs__extensionValue_PR_NOTHING,	/* No components present */
+	MDT_Configuration_ExtIEs__extensionValue_PR_MDTPLMNList
+} MDT_Configuration_ExtIEs__extensionValue_PR;
+typedef enum MBSFN_ResultToLogInfo_ExtIEs__extensionValue_PR {
+	MBSFN_ResultToLogInfo_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} MBSFN_ResultToLogInfo_ExtIEs__extensionValue_PR;
+typedef enum MutingPatternInformation_ExtIEs__extensionValue_PR {
+	MutingPatternInformation_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} MutingPatternInformation_ExtIEs__extensionValue_PR;
+typedef enum NB_IoT_Paging_eDRXInformation_ExtIEs__extensionValue_PR {
+	NB_IoT_Paging_eDRXInformation_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} NB_IoT_Paging_eDRXInformation_ExtIEs__extensionValue_PR;
+typedef enum NR_CGI_ExtIEs__extensionValue_PR {
+	NR_CGI_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} NR_CGI_ExtIEs__extensionValue_PR;
+typedef enum NRUESecurityCapabilities_ExtIEs__extensionValue_PR {
+	NRUESecurityCapabilities_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} NRUESecurityCapabilities_ExtIEs__extensionValue_PR;
+typedef enum PagingAttemptInformation_ExtIEs__extensionValue_PR {
+	PagingAttemptInformation_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} PagingAttemptInformation_ExtIEs__extensionValue_PR;
+typedef enum Paging_eDRXInformation_ExtIEs__extensionValue_PR {
+	Paging_eDRXInformation_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} Paging_eDRXInformation_ExtIEs__extensionValue_PR;
+typedef enum M1PeriodicReporting_ExtIEs__extensionValue_PR {
+	M1PeriodicReporting_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} M1PeriodicReporting_ExtIEs__extensionValue_PR;
+typedef enum PLMNAreaBasedQMC_ExtIEs__extensionValue_PR {
+	PLMNAreaBasedQMC_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} PLMNAreaBasedQMC_ExtIEs__extensionValue_PR;
+typedef enum ProSeAuthorized_ExtIEs__extensionValue_PR {
+	ProSeAuthorized_ExtIEs__extensionValue_PR_NOTHING,	/* No components present */
+	ProSeAuthorized_ExtIEs__extensionValue_PR_ProSeUEtoNetworkRelaying
+} ProSeAuthorized_ExtIEs__extensionValue_PR;
+typedef enum PSCellInformation_ExtIEs__extensionValue_PR {
+	PSCellInformation_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} PSCellInformation_ExtIEs__extensionValue_PR;
+typedef enum RecommendedCellsForPaging_ExtIEs__extensionValue_PR {
+	RecommendedCellsForPaging_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} RecommendedCellsForPaging_ExtIEs__extensionValue_PR;
+typedef enum RecommendedCellsForPagingItem_ExtIEs__extensionValue_PR {
+	RecommendedCellsForPagingItem_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} RecommendedCellsForPagingItem_ExtIEs__extensionValue_PR;
+typedef enum RecommendedENBsForPaging_ExtIEs__extensionValue_PR {
+	RecommendedENBsForPaging_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} RecommendedENBsForPaging_ExtIEs__extensionValue_PR;
+typedef enum RecommendedENBItem_ExtIEs__extensionValue_PR {
+	RecommendedENBItem_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} RecommendedENBItem_ExtIEs__extensionValue_PR;
+typedef enum RequestType_ExtIEs__extensionValue_PR {
+	RequestType_ExtIEs__extensionValue_PR_NOTHING,	/* No components present */
+	RequestType_ExtIEs__extensionValue_PR_RequestTypeAdditionalInfo
+} RequestType_ExtIEs__extensionValue_PR;
+typedef enum RIMTransfer_ExtIEs__extensionValue_PR {
+	RIMTransfer_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} RIMTransfer_ExtIEs__extensionValue_PR;
+typedef enum RLFReportInformation_ExtIEs__extensionValue_PR {
+	RLFReportInformation_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} RLFReportInformation_ExtIEs__extensionValue_PR;
+typedef enum SecurityContext_ExtIEs__extensionValue_PR {
+	SecurityContext_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} SecurityContext_ExtIEs__extensionValue_PR;
+typedef enum SecondaryRATDataUsageReportItem_ExtIEs__extensionValue_PR {
+	SecondaryRATDataUsageReportItem_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} SecondaryRATDataUsageReportItem_ExtIEs__extensionValue_PR;
+typedef enum SONInformationReply_ExtIEs__extensionValue_PR {
+	SONInformationReply_ExtIEs__extensionValue_PR_NOTHING,	/* No components present */
+	SONInformationReply_ExtIEs__extensionValue_PR_TimeSynchronisationInfo,
+	SONInformationReply_ExtIEs__extensionValue_PR_MutingPatternInformation
+} SONInformationReply_ExtIEs__extensionValue_PR;
+typedef enum SONConfigurationTransfer_ExtIEs__extensionValue_PR {
+	SONConfigurationTransfer_ExtIEs__extensionValue_PR_NOTHING,	/* No components present */
+	SONConfigurationTransfer_ExtIEs__extensionValue_PR_X2TNLConfigurationInfo,
+	SONConfigurationTransfer_ExtIEs__extensionValue_PR_SynchronisationInformation
+} SONConfigurationTransfer_ExtIEs__extensionValue_PR;
+typedef enum SynchronisationInformation_ExtIEs__extensionValue_PR {
+	SynchronisationInformation_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} SynchronisationInformation_ExtIEs__extensionValue_PR;
+typedef enum SourceeNB_ID_ExtIEs__extensionValue_PR {
+	SourceeNB_ID_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} SourceeNB_ID_ExtIEs__extensionValue_PR;
+typedef enum SourceeNB_ToTargeteNB_TransparentContainer_ExtIEs__extensionValue_PR {
+	SourceeNB_ToTargeteNB_TransparentContainer_ExtIEs__extensionValue_PR_NOTHING,	/* No components present */
+	SourceeNB_ToTargeteNB_TransparentContainer_ExtIEs__extensionValue_PR_MobilityInformation,
+	SourceeNB_ToTargeteNB_TransparentContainer_ExtIEs__extensionValue_PR_UE_HistoryInformationFromTheUE,
+	SourceeNB_ToTargeteNB_TransparentContainer_ExtIEs__extensionValue_PR_IMSvoiceEPSfallbackfrom5G
+} SourceeNB_ToTargeteNB_TransparentContainer_ExtIEs__extensionValue_PR;
+typedef enum ServedGUMMEIsItem_ExtIEs__extensionValue_PR {
+	ServedGUMMEIsItem_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} ServedGUMMEIsItem_ExtIEs__extensionValue_PR;
+typedef enum Subscription_Based_UE_DifferentiationInfo_ExtIEs__extensionValue_PR {
+	Subscription_Based_UE_DifferentiationInfo_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} Subscription_Based_UE_DifferentiationInfo_ExtIEs__extensionValue_PR;
+typedef enum ScheduledCommunicationTime_ExtIEs__extensionValue_PR {
+	ScheduledCommunicationTime_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} ScheduledCommunicationTime_ExtIEs__extensionValue_PR;
+typedef enum SupportedTAs_Item_ExtIEs__extensionValue_PR {
+	SupportedTAs_Item_ExtIEs__extensionValue_PR_NOTHING,	/* No components present */
+	SupportedTAs_Item_ExtIEs__extensionValue_PR_RAT_Type
+} SupportedTAs_Item_ExtIEs__extensionValue_PR;
+typedef enum TimeSynchronisationInfo_ExtIEs__extensionValue_PR {
+	TimeSynchronisationInfo_ExtIEs__extensionValue_PR_NOTHING,	/* No components present */
+	TimeSynchronisationInfo_ExtIEs__extensionValue_PR_MutingAvailabilityIndication
+} TimeSynchronisationInfo_ExtIEs__extensionValue_PR;
+typedef enum S_TMSI_ExtIEs__extensionValue_PR {
+	S_TMSI_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} S_TMSI_ExtIEs__extensionValue_PR;
+typedef enum TAIBasedMDT_ExtIEs__extensionValue_PR {
+	TAIBasedMDT_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} TAIBasedMDT_ExtIEs__extensionValue_PR;
+typedef enum TAI_ExtIEs__extensionValue_PR {
+	TAI_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} TAI_ExtIEs__extensionValue_PR;
+typedef enum TAI_Broadcast_Item_ExtIEs__extensionValue_PR {
+	TAI_Broadcast_Item_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} TAI_Broadcast_Item_ExtIEs__extensionValue_PR;
+typedef enum TAI_Cancelled_Item_ExtIEs__extensionValue_PR {
+	TAI_Cancelled_Item_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} TAI_Cancelled_Item_ExtIEs__extensionValue_PR;
+typedef enum TABasedMDT_ExtIEs__extensionValue_PR {
+	TABasedMDT_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} TABasedMDT_ExtIEs__extensionValue_PR;
+typedef enum TABasedQMC_ExtIEs__extensionValue_PR {
+	TABasedQMC_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} TABasedQMC_ExtIEs__extensionValue_PR;
+typedef enum TAIBasedQMC_ExtIEs__extensionValue_PR {
+	TAIBasedQMC_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} TAIBasedQMC_ExtIEs__extensionValue_PR;
+typedef enum CompletedCellinTAI_Item_ExtIEs__extensionValue_PR {
+	CompletedCellinTAI_Item_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} CompletedCellinTAI_Item_ExtIEs__extensionValue_PR;
+typedef enum TargeteNB_ID_ExtIEs__extensionValue_PR {
+	TargeteNB_ID_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} TargeteNB_ID_ExtIEs__extensionValue_PR;
+typedef enum TargetRNC_ID_ExtIEs__extensionValue_PR {
+	TargetRNC_ID_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} TargetRNC_ID_ExtIEs__extensionValue_PR;
+typedef enum TargetNgRanNode_ID_ExtIEs__extensionValue_PR {
+	TargetNgRanNode_ID_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} TargetNgRanNode_ID_ExtIEs__extensionValue_PR;
+typedef enum GNB_ExtIEs__extensionValue_PR {
+	GNB_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} GNB_ExtIEs__extensionValue_PR;
+typedef enum Global_GNB_ID_ExtIEs__extensionValue_PR {
+	Global_GNB_ID_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} Global_GNB_ID_ExtIEs__extensionValue_PR;
+typedef enum NG_eNB_ExtIEs__extensionValue_PR {
+	NG_eNB_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} NG_eNB_ExtIEs__extensionValue_PR;
+typedef enum TargeteNB_ToSourceeNB_TransparentContainer_ExtIEs__extensionValue_PR {
+	TargeteNB_ToSourceeNB_TransparentContainer_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} TargeteNB_ToSourceeNB_TransparentContainer_ExtIEs__extensionValue_PR;
+typedef enum M1ThresholdEventA2_ExtIEs__extensionValue_PR {
+	M1ThresholdEventA2_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} M1ThresholdEventA2_ExtIEs__extensionValue_PR;
+typedef enum TraceActivation_ExtIEs__extensionValue_PR {
+	TraceActivation_ExtIEs__extensionValue_PR_NOTHING,	/* No components present */
+	TraceActivation_ExtIEs__extensionValue_PR_MDT_Configuration,
+	TraceActivation_ExtIEs__extensionValue_PR_UEAppLayerMeasConfig
+} TraceActivation_ExtIEs__extensionValue_PR;
+typedef enum Tunnel_Information_ExtIEs__extensionValue_PR {
+	Tunnel_Information_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} Tunnel_Information_ExtIEs__extensionValue_PR;
+typedef enum UEAggregate_MaximumBitrates_ExtIEs__extensionValue_PR {
+	UEAggregate_MaximumBitrates_ExtIEs__extensionValue_PR_NOTHING,	/* No components present */
+	UEAggregate_MaximumBitrates_ExtIEs__extensionValue_PR_ExtendedBitRate,
+	UEAggregate_MaximumBitrates_ExtIEs__extensionValue_PR_ExtendedBitRate_1
+} UEAggregate_MaximumBitrates_ExtIEs__extensionValue_PR;
+typedef enum UEAppLayerMeasConfig_ExtIEs__extensionValue_PR {
+	UEAppLayerMeasConfig_ExtIEs__extensionValue_PR_NOTHING,	/* No components present */
+	UEAppLayerMeasConfig_ExtIEs__extensionValue_PR_ServiceType
+} UEAppLayerMeasConfig_ExtIEs__extensionValue_PR;
+typedef enum UE_S1AP_ID_pair_ExtIEs__extensionValue_PR {
+	UE_S1AP_ID_pair_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} UE_S1AP_ID_pair_ExtIEs__extensionValue_PR;
+typedef enum UE_associatedLogicalS1_ConnectionItemExtIEs__extensionValue_PR {
+	UE_associatedLogicalS1_ConnectionItemExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} UE_associatedLogicalS1_ConnectionItemExtIEs__extensionValue_PR;
+typedef enum UESecurityCapabilities_ExtIEs__extensionValue_PR {
+	UESecurityCapabilities_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} UESecurityCapabilities_ExtIEs__extensionValue_PR;
+typedef enum UE_Sidelink_Aggregate_MaximumBitrates_ExtIEs__extensionValue_PR {
+	UE_Sidelink_Aggregate_MaximumBitrates_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} UE_Sidelink_Aggregate_MaximumBitrates_ExtIEs__extensionValue_PR;
+typedef enum UL_CP_SecurityInformation_ExtIEs__extensionValue_PR {
+	UL_CP_SecurityInformation_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} UL_CP_SecurityInformation_ExtIEs__extensionValue_PR;
+typedef enum UserLocationInformation_ExtIEs__extensionValue_PR {
+	UserLocationInformation_ExtIEs__extensionValue_PR_NOTHING,	/* No components present */
+	UserLocationInformation_ExtIEs__extensionValue_PR_PSCellInformation
+} UserLocationInformation_ExtIEs__extensionValue_PR;
+typedef enum V2XServicesAuthorized_ExtIEs__extensionValue_PR {
+	V2XServicesAuthorized_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} V2XServicesAuthorized_ExtIEs__extensionValue_PR;
+typedef enum WLANMeasurementConfiguration_ExtIEs__extensionValue_PR {
+	WLANMeasurementConfiguration_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} WLANMeasurementConfiguration_ExtIEs__extensionValue_PR;
+typedef enum X2TNLConfigurationInfo_ExtIEs__extensionValue_PR {
+	X2TNLConfigurationInfo_ExtIEs__extensionValue_PR_NOTHING,	/* No components present */
+	X2TNLConfigurationInfo_ExtIEs__extensionValue_PR_ENBX2ExtTLAs,
+	X2TNLConfigurationInfo_ExtIEs__extensionValue_PR_ENBIndirectX2TransportLayerAddresses
+} X2TNLConfigurationInfo_ExtIEs__extensionValue_PR;
+typedef enum ENBX2ExtTLA_ExtIEs__extensionValue_PR {
+	ENBX2ExtTLA_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} ENBX2ExtTLA_ExtIEs__extensionValue_PR;
+typedef enum E_RABDataForwardingItem_ExtIEs__extensionValue_PR {
+	E_RABDataForwardingItem_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} E_RABDataForwardingItem_ExtIEs__extensionValue_PR;
+typedef enum E_RABToBeSetupItemHOReq_ExtIEs__extensionValue_PR {
+	E_RABToBeSetupItemHOReq_ExtIEs__extensionValue_PR_NOTHING,	/* No components present */
+	E_RABToBeSetupItemHOReq_ExtIEs__extensionValue_PR_Data_Forwarding_Not_Possible,
+	E_RABToBeSetupItemHOReq_ExtIEs__extensionValue_PR_BearerType
+} E_RABToBeSetupItemHOReq_ExtIEs__extensionValue_PR;
+typedef enum E_RABAdmittedItem_ExtIEs__extensionValue_PR {
+	E_RABAdmittedItem_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} E_RABAdmittedItem_ExtIEs__extensionValue_PR;
+typedef enum E_RABFailedToSetupItemHOReqAckExtIEs__extensionValue_PR {
+	E_RABFailedToSetupItemHOReqAckExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} E_RABFailedToSetupItemHOReqAckExtIEs__extensionValue_PR;
+typedef enum E_RABToBeSwitchedDLItem_ExtIEs__extensionValue_PR {
+	E_RABToBeSwitchedDLItem_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} E_RABToBeSwitchedDLItem_ExtIEs__extensionValue_PR;
+typedef enum E_RABToBeSwitchedULItem_ExtIEs__extensionValue_PR {
+	E_RABToBeSwitchedULItem_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} E_RABToBeSwitchedULItem_ExtIEs__extensionValue_PR;
+typedef enum E_RABToBeSetupItemBearerSUReqExtIEs__extensionValue_PR {
+	E_RABToBeSetupItemBearerSUReqExtIEs__extensionValue_PR_NOTHING,	/* No components present */
+	E_RABToBeSetupItemBearerSUReqExtIEs__extensionValue_PR_Correlation_ID,
+	E_RABToBeSetupItemBearerSUReqExtIEs__extensionValue_PR_Correlation_ID_1,
+	E_RABToBeSetupItemBearerSUReqExtIEs__extensionValue_PR_BearerType
+} E_RABToBeSetupItemBearerSUReqExtIEs__extensionValue_PR;
+typedef enum E_RABSetupItemBearerSUResExtIEs__extensionValue_PR {
+	E_RABSetupItemBearerSUResExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} E_RABSetupItemBearerSUResExtIEs__extensionValue_PR;
+typedef enum E_RABToBeModifyItemBearerModReqExtIEs__extensionValue_PR {
+	E_RABToBeModifyItemBearerModReqExtIEs__extensionValue_PR_NOTHING,	/* No components present */
+	E_RABToBeModifyItemBearerModReqExtIEs__extensionValue_PR_TransportInformation
+} E_RABToBeModifyItemBearerModReqExtIEs__extensionValue_PR;
+typedef enum E_RABModifyItemBearerModResExtIEs__extensionValue_PR {
+	E_RABModifyItemBearerModResExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} E_RABModifyItemBearerModResExtIEs__extensionValue_PR;
+typedef enum E_RABReleaseItemBearerRelCompExtIEs__extensionValue_PR {
+	E_RABReleaseItemBearerRelCompExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} E_RABReleaseItemBearerRelCompExtIEs__extensionValue_PR;
+typedef enum E_RABToBeSetupItemCtxtSUReqExtIEs__extensionValue_PR {
+	E_RABToBeSetupItemCtxtSUReqExtIEs__extensionValue_PR_NOTHING,	/* No components present */
+	E_RABToBeSetupItemCtxtSUReqExtIEs__extensionValue_PR_Correlation_ID,
+	E_RABToBeSetupItemCtxtSUReqExtIEs__extensionValue_PR_Correlation_ID_1,
+	E_RABToBeSetupItemCtxtSUReqExtIEs__extensionValue_PR_BearerType
+} E_RABToBeSetupItemCtxtSUReqExtIEs__extensionValue_PR;
+typedef enum E_RABSetupItemCtxtSUResExtIEs__extensionValue_PR {
+	E_RABSetupItemCtxtSUResExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} E_RABSetupItemCtxtSUResExtIEs__extensionValue_PR;
+typedef enum TAIItemExtIEs__extensionValue_PR {
+	TAIItemExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} TAIItemExtIEs__extensionValue_PR;
+typedef enum E_RABToBeModifiedItemBearerModInd_ExtIEs__extensionValue_PR {
+	E_RABToBeModifiedItemBearerModInd_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} E_RABToBeModifiedItemBearerModInd_ExtIEs__extensionValue_PR;
+typedef enum E_RABNotToBeModifiedItemBearerModInd_ExtIEs__extensionValue_PR {
+	E_RABNotToBeModifiedItemBearerModInd_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} E_RABNotToBeModifiedItemBearerModInd_ExtIEs__extensionValue_PR;
+typedef enum CSGMembershipInfo_ExtIEs__extensionValue_PR {
+	CSGMembershipInfo_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} CSGMembershipInfo_ExtIEs__extensionValue_PR;
+typedef enum E_RABModifyItemBearerModConfExtIEs__extensionValue_PR {
+	E_RABModifyItemBearerModConfExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} E_RABModifyItemBearerModConfExtIEs__extensionValue_PR;
+typedef enum E_RABFailedToResumeItemResumeReq_ExtIEs__extensionValue_PR {
+	E_RABFailedToResumeItemResumeReq_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} E_RABFailedToResumeItemResumeReq_ExtIEs__extensionValue_PR;
+typedef enum E_RABFailedToResumeItemResumeRes_ExtIEs__extensionValue_PR {
+	E_RABFailedToResumeItemResumeRes_ExtIEs__extensionValue_PR_NOTHING	/* No components present */
+	
+} E_RABFailedToResumeItemResumeRes_ExtIEs__extensionValue_PR;
+
+/* ProtocolExtensionField */
+typedef struct Additional_GUTI_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct Additional_GUTI_ExtIEs__extensionValue {
+		Additional_GUTI_ExtIEs__extensionValue_PR present;
+		union Additional_GUTI_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} Additional_GUTI_ExtIEs_t;
+typedef struct AllocationAndRetentionPriority_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct AllocationAndRetentionPriority_ExtIEs__extensionValue {
+		AllocationAndRetentionPriority_ExtIEs__extensionValue_PR present;
+		union AllocationAndRetentionPriority_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} AllocationAndRetentionPriority_ExtIEs_t;
+typedef struct InformationForCECapableUEs_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct InformationForCECapableUEs_ExtIEs__extensionValue {
+		InformationForCECapableUEs_ExtIEs__extensionValue_PR present;
+		union InformationForCECapableUEs_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} InformationForCECapableUEs_ExtIEs_t;
+typedef struct AssistanceDataForPaging_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct AssistanceDataForPaging_ExtIEs__extensionValue {
+		AssistanceDataForPaging_ExtIEs__extensionValue_PR present;
+		union AssistanceDataForPaging_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} AssistanceDataForPaging_ExtIEs_t;
+typedef struct AssistanceDataForRecommendedCells_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct AssistanceDataForRecommendedCells_ExtIEs__extensionValue {
+		AssistanceDataForRecommendedCells_ExtIEs__extensionValue_PR present;
+		union AssistanceDataForRecommendedCells_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} AssistanceDataForRecommendedCells_ExtIEs_t;
+typedef struct Bearers_SubjectToStatusTransfer_ItemExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct Bearers_SubjectToStatusTransfer_ItemExtIEs__extensionValue {
+		Bearers_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR present;
+		union Bearers_SubjectToStatusTransfer_ItemExtIEs__extensionValue_u {
+			COUNTValueExtended_t	 COUNTValueExtended;
+			COUNTValueExtended_t	 COUNTValueExtended_1;
+			ReceiveStatusOfULPDCPSDUsExtended_t	 ReceiveStatusOfULPDCPSDUsExtended;
+			COUNTvaluePDCP_SNlength18_t	 COUNTvaluePDCP_SNlength18;
+			COUNTvaluePDCP_SNlength18_t	 COUNTvaluePDCP_SNlength18_1;
+			ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_t	 ReceiveStatusOfULPDCPSDUsPDCP_SNlength18;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} Bearers_SubjectToStatusTransfer_ItemExtIEs_t;
+typedef struct BluetoothMeasurementConfiguration_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct BluetoothMeasurementConfiguration_ExtIEs__extensionValue {
+		BluetoothMeasurementConfiguration_ExtIEs__extensionValue_PR present;
+		union BluetoothMeasurementConfiguration_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} BluetoothMeasurementConfiguration_ExtIEs_t;
+typedef struct CancelledCellinEAI_Item_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct CancelledCellinEAI_Item_ExtIEs__extensionValue {
+		CancelledCellinEAI_Item_ExtIEs__extensionValue_PR present;
+		union CancelledCellinEAI_Item_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CancelledCellinEAI_Item_ExtIEs_t;
+typedef struct CancelledCellinTAI_Item_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct CancelledCellinTAI_Item_ExtIEs__extensionValue {
+		CancelledCellinTAI_Item_ExtIEs__extensionValue_PR present;
+		union CancelledCellinTAI_Item_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CancelledCellinTAI_Item_ExtIEs_t;
+typedef struct CellIdentifierAndCELevelForCECapableUEs_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct CellIdentifierAndCELevelForCECapableUEs_ExtIEs__extensionValue {
+		CellIdentifierAndCELevelForCECapableUEs_ExtIEs__extensionValue_PR present;
+		union CellIdentifierAndCELevelForCECapableUEs_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CellIdentifierAndCELevelForCECapableUEs_ExtIEs_t;
+typedef struct CellID_Broadcast_Item_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct CellID_Broadcast_Item_ExtIEs__extensionValue {
+		CellID_Broadcast_Item_ExtIEs__extensionValue_PR present;
+		union CellID_Broadcast_Item_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CellID_Broadcast_Item_ExtIEs_t;
+typedef struct CellID_Cancelled_Item_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct CellID_Cancelled_Item_ExtIEs__extensionValue {
+		CellID_Cancelled_Item_ExtIEs__extensionValue_PR present;
+		union CellID_Cancelled_Item_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CellID_Cancelled_Item_ExtIEs_t;
+typedef struct CellBasedMDT_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct CellBasedMDT_ExtIEs__extensionValue {
+		CellBasedMDT_ExtIEs__extensionValue_PR present;
+		union CellBasedMDT_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CellBasedMDT_ExtIEs_t;
+typedef struct CellBasedQMC_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct CellBasedQMC_ExtIEs__extensionValue {
+		CellBasedQMC_ExtIEs__extensionValue_PR present;
+		union CellBasedQMC_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CellBasedQMC_ExtIEs_t;
+typedef struct Cdma2000OneXSRVCCInfo_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct Cdma2000OneXSRVCCInfo_ExtIEs__extensionValue {
+		Cdma2000OneXSRVCCInfo_ExtIEs__extensionValue_PR present;
+		union Cdma2000OneXSRVCCInfo_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} Cdma2000OneXSRVCCInfo_ExtIEs_t;
+typedef struct CellType_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct CellType_ExtIEs__extensionValue {
+		CellType_ExtIEs__extensionValue_PR present;
+		union CellType_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CellType_ExtIEs_t;
+typedef struct CGI_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct CGI_ExtIEs__extensionValue {
+		CGI_ExtIEs__extensionValue_PR present;
+		union CGI_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CGI_ExtIEs_t;
+typedef struct CNTypeRestrictions_Item_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct CNTypeRestrictions_Item_ExtIEs__extensionValue {
+		CNTypeRestrictions_Item_ExtIEs__extensionValue_PR present;
+		union CNTypeRestrictions_Item_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CNTypeRestrictions_Item_ExtIEs_t;
+typedef struct ConnectedengNBItem_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct ConnectedengNBItem_ExtIEs__extensionValue {
+		ConnectedengNBItem_ExtIEs__extensionValue_PR present;
+		union ConnectedengNBItem_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ConnectedengNBItem_ExtIEs_t;
+typedef struct CSG_IdList_Item_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct CSG_IdList_Item_ExtIEs__extensionValue {
+		CSG_IdList_Item_ExtIEs__extensionValue_PR present;
+		union CSG_IdList_Item_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CSG_IdList_Item_ExtIEs_t;
+typedef struct COUNTvalue_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct COUNTvalue_ExtIEs__extensionValue {
+		COUNTvalue_ExtIEs__extensionValue_PR present;
+		union COUNTvalue_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} COUNTvalue_ExtIEs_t;
+typedef struct COUNTValueExtended_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct COUNTValueExtended_ExtIEs__extensionValue {
+		COUNTValueExtended_ExtIEs__extensionValue_PR present;
+		union COUNTValueExtended_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} COUNTValueExtended_ExtIEs_t;
+typedef struct COUNTvaluePDCP_SNlength18_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct COUNTvaluePDCP_SNlength18_ExtIEs__extensionValue {
+		COUNTvaluePDCP_SNlength18_ExtIEs__extensionValue_PR present;
+		union COUNTvaluePDCP_SNlength18_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} COUNTvaluePDCP_SNlength18_ExtIEs_t;
+typedef struct CriticalityDiagnostics_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct CriticalityDiagnostics_ExtIEs__extensionValue {
+		CriticalityDiagnostics_ExtIEs__extensionValue_PR present;
+		union CriticalityDiagnostics_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CriticalityDiagnostics_ExtIEs_t;
+typedef struct CriticalityDiagnostics_IE_Item_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct CriticalityDiagnostics_IE_Item_ExtIEs__extensionValue {
+		CriticalityDiagnostics_IE_Item_ExtIEs__extensionValue_PR present;
+		union CriticalityDiagnostics_IE_Item_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CriticalityDiagnostics_IE_Item_ExtIEs_t;
+typedef struct ServedDCNsItem_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct ServedDCNsItem_ExtIEs__extensionValue {
+		ServedDCNsItem_ExtIEs__extensionValue_PR present;
+		union ServedDCNsItem_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ServedDCNsItem_ExtIEs_t;
+typedef struct DL_CP_SecurityInformation_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct DL_CP_SecurityInformation_ExtIEs__extensionValue {
+		DL_CP_SecurityInformation_ExtIEs__extensionValue_PR present;
+		union DL_CP_SecurityInformation_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} DL_CP_SecurityInformation_ExtIEs_t;
+typedef struct EmergencyAreaID_Broadcast_Item_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct EmergencyAreaID_Broadcast_Item_ExtIEs__extensionValue {
+		EmergencyAreaID_Broadcast_Item_ExtIEs__extensionValue_PR present;
+		union EmergencyAreaID_Broadcast_Item_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} EmergencyAreaID_Broadcast_Item_ExtIEs_t;
+typedef struct EmergencyAreaID_Cancelled_Item_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct EmergencyAreaID_Cancelled_Item_ExtIEs__extensionValue {
+		EmergencyAreaID_Cancelled_Item_ExtIEs__extensionValue_PR present;
+		union EmergencyAreaID_Cancelled_Item_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} EmergencyAreaID_Cancelled_Item_ExtIEs_t;
+typedef struct CompletedCellinEAI_Item_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct CompletedCellinEAI_Item_ExtIEs__extensionValue {
+		CompletedCellinEAI_Item_ExtIEs__extensionValue_PR present;
+		union CompletedCellinEAI_Item_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CompletedCellinEAI_Item_ExtIEs_t;
+typedef struct GERAN_Cell_ID_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct GERAN_Cell_ID_ExtIEs__extensionValue {
+		GERAN_Cell_ID_ExtIEs__extensionValue_PR present;
+		union GERAN_Cell_ID_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} GERAN_Cell_ID_ExtIEs_t;
+typedef struct GlobalENB_ID_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct GlobalENB_ID_ExtIEs__extensionValue {
+		GlobalENB_ID_ExtIEs__extensionValue_PR present;
+		union GlobalENB_ID_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} GlobalENB_ID_ExtIEs_t;
+typedef struct Global_en_gNB_ID_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct Global_en_gNB_ID_ExtIEs__extensionValue {
+		Global_en_gNB_ID_ExtIEs__extensionValue_PR present;
+		union Global_en_gNB_ID_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} Global_en_gNB_ID_ExtIEs_t;
+typedef struct ENB_StatusTransfer_TransparentContainer_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct ENB_StatusTransfer_TransparentContainer_ExtIEs__extensionValue {
+		ENB_StatusTransfer_TransparentContainer_ExtIEs__extensionValue_PR present;
+		union ENB_StatusTransfer_TransparentContainer_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ENB_StatusTransfer_TransparentContainer_ExtIEs_t;
+typedef struct EN_DCSONConfigurationTransfer_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct EN_DCSONConfigurationTransfer_ExtIEs__extensionValue {
+		EN_DCSONConfigurationTransfer_ExtIEs__extensionValue_PR present;
+		union EN_DCSONConfigurationTransfer_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} EN_DCSONConfigurationTransfer_ExtIEs_t;
+typedef struct EN_DCTransferTypeRequest_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct EN_DCTransferTypeRequest_ExtIEs__extensionValue {
+		EN_DCTransferTypeRequest_ExtIEs__extensionValue_PR present;
+		union EN_DCTransferTypeRequest_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} EN_DCTransferTypeRequest_ExtIEs_t;
+typedef struct EN_DCTransferTypeReply_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct EN_DCTransferTypeReply_ExtIEs__extensionValue {
+		EN_DCTransferTypeReply_ExtIEs__extensionValue_PR present;
+		union EN_DCTransferTypeReply_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} EN_DCTransferTypeReply_ExtIEs_t;
+typedef struct EN_DCSONeNBIdentification_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct EN_DCSONeNBIdentification_ExtIEs__extensionValue {
+		EN_DCSONeNBIdentification_ExtIEs__extensionValue_PR present;
+		union EN_DCSONeNBIdentification_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} EN_DCSONeNBIdentification_ExtIEs_t;
+typedef struct EN_DCSONengNBIdentification_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct EN_DCSONengNBIdentification_ExtIEs__extensionValue {
+		EN_DCSONengNBIdentification_ExtIEs__extensionValue_PR present;
+		union EN_DCSONengNBIdentification_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} EN_DCSONengNBIdentification_ExtIEs_t;
+typedef struct E_RABInformationListItem_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABInformationListItem_ExtIEs__extensionValue {
+		E_RABInformationListItem_ExtIEs__extensionValue_PR present;
+		union E_RABInformationListItem_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABInformationListItem_ExtIEs_t;
+typedef struct E_RABItem_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABItem_ExtIEs__extensionValue {
+		E_RABItem_ExtIEs__extensionValue_PR present;
+		union E_RABItem_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABItem_ExtIEs_t;
+typedef struct E_RABQoSParameters_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABQoSParameters_ExtIEs__extensionValue {
+		E_RABQoSParameters_ExtIEs__extensionValue_PR present;
+		union E_RABQoSParameters_ExtIEs__extensionValue_u {
+			Packet_LossRate_t	 Packet_LossRate;
+			Packet_LossRate_t	 Packet_LossRate_1;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABQoSParameters_ExtIEs_t;
+typedef struct E_RABUsageReportItem_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABUsageReportItem_ExtIEs__extensionValue {
+		E_RABUsageReportItem_ExtIEs__extensionValue_PR present;
+		union E_RABUsageReportItem_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABUsageReportItem_ExtIEs_t;
+typedef struct EUTRAN_CGI_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct EUTRAN_CGI_ExtIEs__extensionValue {
+		EUTRAN_CGI_ExtIEs__extensionValue_PR present;
+		union EUTRAN_CGI_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} EUTRAN_CGI_ExtIEs_t;
+typedef struct ExpectedUEBehaviour_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct ExpectedUEBehaviour_ExtIEs__extensionValue {
+		ExpectedUEBehaviour_ExtIEs__extensionValue_PR present;
+		union ExpectedUEBehaviour_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ExpectedUEBehaviour_ExtIEs_t;
+typedef struct ExpectedUEActivityBehaviour_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct ExpectedUEActivityBehaviour_ExtIEs__extensionValue {
+		ExpectedUEActivityBehaviour_ExtIEs__extensionValue_PR present;
+		union ExpectedUEActivityBehaviour_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ExpectedUEActivityBehaviour_ExtIEs_t;
+typedef struct FiveGSTAI_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct FiveGSTAI_ExtIEs__extensionValue {
+		FiveGSTAI_ExtIEs__extensionValue_PR present;
+		union FiveGSTAI_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} FiveGSTAI_ExtIEs_t;
+typedef struct ForbiddenTAs_Item_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct ForbiddenTAs_Item_ExtIEs__extensionValue {
+		ForbiddenTAs_Item_ExtIEs__extensionValue_PR present;
+		union ForbiddenTAs_Item_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ForbiddenTAs_Item_ExtIEs_t;
+typedef struct ForbiddenLAs_Item_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct ForbiddenLAs_Item_ExtIEs__extensionValue {
+		ForbiddenLAs_Item_ExtIEs__extensionValue_PR present;
+		union ForbiddenLAs_Item_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ForbiddenLAs_Item_ExtIEs_t;
+typedef struct GBR_QosInformation_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct GBR_QosInformation_ExtIEs__extensionValue {
+		GBR_QosInformation_ExtIEs__extensionValue_PR present;
+		union GBR_QosInformation_ExtIEs__extensionValue_u {
+			ExtendedBitRate_t	 ExtendedBitRate;
+			ExtendedBitRate_t	 ExtendedBitRate_1;
+			ExtendedBitRate_t	 ExtendedBitRate_2;
+			ExtendedBitRate_t	 ExtendedBitRate_3;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} GBR_QosInformation_ExtIEs_t;
+typedef struct GUMMEI_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct GUMMEI_ExtIEs__extensionValue {
+		GUMMEI_ExtIEs__extensionValue_PR present;
+		union GUMMEI_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} GUMMEI_ExtIEs_t;
+typedef struct HandoverRestrictionList_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct HandoverRestrictionList_ExtIEs__extensionValue {
+		HandoverRestrictionList_ExtIEs__extensionValue_PR present;
+		union HandoverRestrictionList_ExtIEs__extensionValue_u {
+			NRrestrictioninEPSasSecondaryRAT_t	 NRrestrictioninEPSasSecondaryRAT;
+			UnlicensedSpectrumRestriction_t	 UnlicensedSpectrumRestriction;
+			CNTypeRestrictions_t	 CNTypeRestrictions;
+			NRrestrictionin5GS_t	 NRrestrictionin5GS;
+			PLMNidentity_t	 PLMNidentity;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} HandoverRestrictionList_ExtIEs_t;
+typedef struct ImmediateMDT_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct ImmediateMDT_ExtIEs__extensionValue {
+		ImmediateMDT_ExtIEs__extensionValue_PR present;
+		union ImmediateMDT_ExtIEs__extensionValue_u {
+			M3Configuration_t	 M3Configuration;
+			M4Configuration_t	 M4Configuration;
+			M5Configuration_t	 M5Configuration;
+			MDT_Location_Info_t	 MDT_Location_Info;
+			M6Configuration_t	 M6Configuration;
+			M7Configuration_t	 M7Configuration;
+			BluetoothMeasurementConfiguration_t	 BluetoothMeasurementConfiguration;
+			WLANMeasurementConfiguration_t	 WLANMeasurementConfiguration;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ImmediateMDT_ExtIEs_t;
+typedef struct InformationOnRecommendedCellsAndENBsForPaging_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct InformationOnRecommendedCellsAndENBsForPaging_ExtIEs__extensionValue {
+		InformationOnRecommendedCellsAndENBsForPaging_ExtIEs__extensionValue_PR present;
+		union InformationOnRecommendedCellsAndENBsForPaging_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} InformationOnRecommendedCellsAndENBsForPaging_ExtIEs_t;
+typedef struct LAI_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct LAI_ExtIEs__extensionValue {
+		LAI_ExtIEs__extensionValue_PR present;
+		union LAI_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} LAI_ExtIEs_t;
+typedef struct LastVisitedEUTRANCellInformation_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct LastVisitedEUTRANCellInformation_ExtIEs__extensionValue {
+		LastVisitedEUTRANCellInformation_ExtIEs__extensionValue_PR present;
+		union LastVisitedEUTRANCellInformation_ExtIEs__extensionValue_u {
+			Time_UE_StayedInCell_EnhancedGranularity_t	 Time_UE_StayedInCell_EnhancedGranularity;
+			Cause_t	 Cause;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} LastVisitedEUTRANCellInformation_ExtIEs_t;
+typedef struct ListeningSubframePattern_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct ListeningSubframePattern_ExtIEs__extensionValue {
+		ListeningSubframePattern_ExtIEs__extensionValue_PR present;
+		union ListeningSubframePattern_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ListeningSubframePattern_ExtIEs_t;
+typedef struct LoggedMDT_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct LoggedMDT_ExtIEs__extensionValue {
+		LoggedMDT_ExtIEs__extensionValue_PR present;
+		union LoggedMDT_ExtIEs__extensionValue_u {
+			BluetoothMeasurementConfiguration_t	 BluetoothMeasurementConfiguration;
+			WLANMeasurementConfiguration_t	 WLANMeasurementConfiguration;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} LoggedMDT_ExtIEs_t;
+typedef struct LoggedMBSFNMDT_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct LoggedMBSFNMDT_ExtIEs__extensionValue {
+		LoggedMBSFNMDT_ExtIEs__extensionValue_PR present;
+		union LoggedMBSFNMDT_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} LoggedMBSFNMDT_ExtIEs_t;
+typedef struct M3Configuration_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct M3Configuration_ExtIEs__extensionValue {
+		M3Configuration_ExtIEs__extensionValue_PR present;
+		union M3Configuration_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} M3Configuration_ExtIEs_t;
+typedef struct M4Configuration_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct M4Configuration_ExtIEs__extensionValue {
+		M4Configuration_ExtIEs__extensionValue_PR present;
+		union M4Configuration_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} M4Configuration_ExtIEs_t;
+typedef struct M5Configuration_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct M5Configuration_ExtIEs__extensionValue {
+		M5Configuration_ExtIEs__extensionValue_PR present;
+		union M5Configuration_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} M5Configuration_ExtIEs_t;
+typedef struct M6Configuration_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct M6Configuration_ExtIEs__extensionValue {
+		M6Configuration_ExtIEs__extensionValue_PR present;
+		union M6Configuration_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} M6Configuration_ExtIEs_t;
+typedef struct M7Configuration_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct M7Configuration_ExtIEs__extensionValue {
+		M7Configuration_ExtIEs__extensionValue_PR present;
+		union M7Configuration_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} M7Configuration_ExtIEs_t;
+typedef struct MDT_Configuration_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct MDT_Configuration_ExtIEs__extensionValue {
+		MDT_Configuration_ExtIEs__extensionValue_PR present;
+		union MDT_Configuration_ExtIEs__extensionValue_u {
+			MDTPLMNList_t	 MDTPLMNList;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} MDT_Configuration_ExtIEs_t;
+typedef struct MBSFN_ResultToLogInfo_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct MBSFN_ResultToLogInfo_ExtIEs__extensionValue {
+		MBSFN_ResultToLogInfo_ExtIEs__extensionValue_PR present;
+		union MBSFN_ResultToLogInfo_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} MBSFN_ResultToLogInfo_ExtIEs_t;
+typedef struct MutingPatternInformation_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct MutingPatternInformation_ExtIEs__extensionValue {
+		MutingPatternInformation_ExtIEs__extensionValue_PR present;
+		union MutingPatternInformation_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} MutingPatternInformation_ExtIEs_t;
+typedef struct NB_IoT_Paging_eDRXInformation_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct NB_IoT_Paging_eDRXInformation_ExtIEs__extensionValue {
+		NB_IoT_Paging_eDRXInformation_ExtIEs__extensionValue_PR present;
+		union NB_IoT_Paging_eDRXInformation_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} NB_IoT_Paging_eDRXInformation_ExtIEs_t;
+typedef struct NR_CGI_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct NR_CGI_ExtIEs__extensionValue {
+		NR_CGI_ExtIEs__extensionValue_PR present;
+		union NR_CGI_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} NR_CGI_ExtIEs_t;
+typedef struct NRUESecurityCapabilities_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct NRUESecurityCapabilities_ExtIEs__extensionValue {
+		NRUESecurityCapabilities_ExtIEs__extensionValue_PR present;
+		union NRUESecurityCapabilities_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} NRUESecurityCapabilities_ExtIEs_t;
+typedef struct PagingAttemptInformation_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct PagingAttemptInformation_ExtIEs__extensionValue {
+		PagingAttemptInformation_ExtIEs__extensionValue_PR present;
+		union PagingAttemptInformation_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} PagingAttemptInformation_ExtIEs_t;
+typedef struct Paging_eDRXInformation_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct Paging_eDRXInformation_ExtIEs__extensionValue {
+		Paging_eDRXInformation_ExtIEs__extensionValue_PR present;
+		union Paging_eDRXInformation_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} Paging_eDRXInformation_ExtIEs_t;
+typedef struct M1PeriodicReporting_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct M1PeriodicReporting_ExtIEs__extensionValue {
+		M1PeriodicReporting_ExtIEs__extensionValue_PR present;
+		union M1PeriodicReporting_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} M1PeriodicReporting_ExtIEs_t;
+typedef struct PLMNAreaBasedQMC_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct PLMNAreaBasedQMC_ExtIEs__extensionValue {
+		PLMNAreaBasedQMC_ExtIEs__extensionValue_PR present;
+		union PLMNAreaBasedQMC_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} PLMNAreaBasedQMC_ExtIEs_t;
+typedef struct ProSeAuthorized_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct ProSeAuthorized_ExtIEs__extensionValue {
+		ProSeAuthorized_ExtIEs__extensionValue_PR present;
+		union ProSeAuthorized_ExtIEs__extensionValue_u {
+			ProSeUEtoNetworkRelaying_t	 ProSeUEtoNetworkRelaying;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProSeAuthorized_ExtIEs_t;
+typedef struct PSCellInformation_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct PSCellInformation_ExtIEs__extensionValue {
+		PSCellInformation_ExtIEs__extensionValue_PR present;
+		union PSCellInformation_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} PSCellInformation_ExtIEs_t;
+typedef struct RecommendedCellsForPaging_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct RecommendedCellsForPaging_ExtIEs__extensionValue {
+		RecommendedCellsForPaging_ExtIEs__extensionValue_PR present;
+		union RecommendedCellsForPaging_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RecommendedCellsForPaging_ExtIEs_t;
+typedef struct RecommendedCellsForPagingItem_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct RecommendedCellsForPagingItem_ExtIEs__extensionValue {
+		RecommendedCellsForPagingItem_ExtIEs__extensionValue_PR present;
+		union RecommendedCellsForPagingItem_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RecommendedCellsForPagingItem_ExtIEs_t;
+typedef struct RecommendedENBsForPaging_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct RecommendedENBsForPaging_ExtIEs__extensionValue {
+		RecommendedENBsForPaging_ExtIEs__extensionValue_PR present;
+		union RecommendedENBsForPaging_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RecommendedENBsForPaging_ExtIEs_t;
+typedef struct RecommendedENBItem_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct RecommendedENBItem_ExtIEs__extensionValue {
+		RecommendedENBItem_ExtIEs__extensionValue_PR present;
+		union RecommendedENBItem_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RecommendedENBItem_ExtIEs_t;
+typedef struct RequestType_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct RequestType_ExtIEs__extensionValue {
+		RequestType_ExtIEs__extensionValue_PR present;
+		union RequestType_ExtIEs__extensionValue_u {
+			RequestTypeAdditionalInfo_t	 RequestTypeAdditionalInfo;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RequestType_ExtIEs_t;
+typedef struct RIMTransfer_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct RIMTransfer_ExtIEs__extensionValue {
+		RIMTransfer_ExtIEs__extensionValue_PR present;
+		union RIMTransfer_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RIMTransfer_ExtIEs_t;
+typedef struct RLFReportInformation_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct RLFReportInformation_ExtIEs__extensionValue {
+		RLFReportInformation_ExtIEs__extensionValue_PR present;
+		union RLFReportInformation_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RLFReportInformation_ExtIEs_t;
+typedef struct SecurityContext_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct SecurityContext_ExtIEs__extensionValue {
+		SecurityContext_ExtIEs__extensionValue_PR present;
+		union SecurityContext_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} SecurityContext_ExtIEs_t;
+typedef struct SecondaryRATDataUsageReportItem_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct SecondaryRATDataUsageReportItem_ExtIEs__extensionValue {
+		SecondaryRATDataUsageReportItem_ExtIEs__extensionValue_PR present;
+		union SecondaryRATDataUsageReportItem_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} SecondaryRATDataUsageReportItem_ExtIEs_t;
+typedef struct SONInformationReply_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct SONInformationReply_ExtIEs__extensionValue {
+		SONInformationReply_ExtIEs__extensionValue_PR present;
+		union SONInformationReply_ExtIEs__extensionValue_u {
+			TimeSynchronisationInfo_t	 TimeSynchronisationInfo;
+			MutingPatternInformation_t	 MutingPatternInformation;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} SONInformationReply_ExtIEs_t;
+typedef struct SONConfigurationTransfer_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct SONConfigurationTransfer_ExtIEs__extensionValue {
+		SONConfigurationTransfer_ExtIEs__extensionValue_PR present;
+		union SONConfigurationTransfer_ExtIEs__extensionValue_u {
+			X2TNLConfigurationInfo_t	 X2TNLConfigurationInfo;
+			SynchronisationInformation_t	 SynchronisationInformation;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} SONConfigurationTransfer_ExtIEs_t;
+typedef struct SynchronisationInformation_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct SynchronisationInformation_ExtIEs__extensionValue {
+		SynchronisationInformation_ExtIEs__extensionValue_PR present;
+		union SynchronisationInformation_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} SynchronisationInformation_ExtIEs_t;
+typedef struct SourceeNB_ID_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct SourceeNB_ID_ExtIEs__extensionValue {
+		SourceeNB_ID_ExtIEs__extensionValue_PR present;
+		union SourceeNB_ID_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} SourceeNB_ID_ExtIEs_t;
+typedef struct SourceeNB_ToTargeteNB_TransparentContainer_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct SourceeNB_ToTargeteNB_TransparentContainer_ExtIEs__extensionValue {
+		SourceeNB_ToTargeteNB_TransparentContainer_ExtIEs__extensionValue_PR present;
+		union SourceeNB_ToTargeteNB_TransparentContainer_ExtIEs__extensionValue_u {
+			MobilityInformation_t	 MobilityInformation;
+			UE_HistoryInformationFromTheUE_t	 UE_HistoryInformationFromTheUE;
+			IMSvoiceEPSfallbackfrom5G_t	 IMSvoiceEPSfallbackfrom5G;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} SourceeNB_ToTargeteNB_TransparentContainer_ExtIEs_t;
+typedef struct ServedGUMMEIsItem_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct ServedGUMMEIsItem_ExtIEs__extensionValue {
+		ServedGUMMEIsItem_ExtIEs__extensionValue_PR present;
+		union ServedGUMMEIsItem_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ServedGUMMEIsItem_ExtIEs_t;
+typedef struct Subscription_Based_UE_DifferentiationInfo_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct Subscription_Based_UE_DifferentiationInfo_ExtIEs__extensionValue {
+		Subscription_Based_UE_DifferentiationInfo_ExtIEs__extensionValue_PR present;
+		union Subscription_Based_UE_DifferentiationInfo_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} Subscription_Based_UE_DifferentiationInfo_ExtIEs_t;
+typedef struct ScheduledCommunicationTime_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct ScheduledCommunicationTime_ExtIEs__extensionValue {
+		ScheduledCommunicationTime_ExtIEs__extensionValue_PR present;
+		union ScheduledCommunicationTime_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ScheduledCommunicationTime_ExtIEs_t;
+typedef struct SupportedTAs_Item_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct SupportedTAs_Item_ExtIEs__extensionValue {
+		SupportedTAs_Item_ExtIEs__extensionValue_PR present;
+		union SupportedTAs_Item_ExtIEs__extensionValue_u {
+			RAT_Type_t	 RAT_Type;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} SupportedTAs_Item_ExtIEs_t;
+typedef struct TimeSynchronisationInfo_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct TimeSynchronisationInfo_ExtIEs__extensionValue {
+		TimeSynchronisationInfo_ExtIEs__extensionValue_PR present;
+		union TimeSynchronisationInfo_ExtIEs__extensionValue_u {
+			MutingAvailabilityIndication_t	 MutingAvailabilityIndication;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TimeSynchronisationInfo_ExtIEs_t;
+typedef struct S_TMSI_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct S_TMSI_ExtIEs__extensionValue {
+		S_TMSI_ExtIEs__extensionValue_PR present;
+		union S_TMSI_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} S_TMSI_ExtIEs_t;
+typedef struct TAIBasedMDT_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct TAIBasedMDT_ExtIEs__extensionValue {
+		TAIBasedMDT_ExtIEs__extensionValue_PR present;
+		union TAIBasedMDT_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TAIBasedMDT_ExtIEs_t;
+typedef struct TAI_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct TAI_ExtIEs__extensionValue {
+		TAI_ExtIEs__extensionValue_PR present;
+		union TAI_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TAI_ExtIEs_t;
+typedef struct TAI_Broadcast_Item_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct TAI_Broadcast_Item_ExtIEs__extensionValue {
+		TAI_Broadcast_Item_ExtIEs__extensionValue_PR present;
+		union TAI_Broadcast_Item_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TAI_Broadcast_Item_ExtIEs_t;
+typedef struct TAI_Cancelled_Item_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct TAI_Cancelled_Item_ExtIEs__extensionValue {
+		TAI_Cancelled_Item_ExtIEs__extensionValue_PR present;
+		union TAI_Cancelled_Item_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TAI_Cancelled_Item_ExtIEs_t;
+typedef struct TABasedMDT_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct TABasedMDT_ExtIEs__extensionValue {
+		TABasedMDT_ExtIEs__extensionValue_PR present;
+		union TABasedMDT_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TABasedMDT_ExtIEs_t;
+typedef struct TABasedQMC_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct TABasedQMC_ExtIEs__extensionValue {
+		TABasedQMC_ExtIEs__extensionValue_PR present;
+		union TABasedQMC_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TABasedQMC_ExtIEs_t;
+typedef struct TAIBasedQMC_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct TAIBasedQMC_ExtIEs__extensionValue {
+		TAIBasedQMC_ExtIEs__extensionValue_PR present;
+		union TAIBasedQMC_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TAIBasedQMC_ExtIEs_t;
+typedef struct CompletedCellinTAI_Item_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct CompletedCellinTAI_Item_ExtIEs__extensionValue {
+		CompletedCellinTAI_Item_ExtIEs__extensionValue_PR present;
+		union CompletedCellinTAI_Item_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CompletedCellinTAI_Item_ExtIEs_t;
+typedef struct TargeteNB_ID_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct TargeteNB_ID_ExtIEs__extensionValue {
+		TargeteNB_ID_ExtIEs__extensionValue_PR present;
+		union TargeteNB_ID_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TargeteNB_ID_ExtIEs_t;
+typedef struct TargetRNC_ID_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct TargetRNC_ID_ExtIEs__extensionValue {
+		TargetRNC_ID_ExtIEs__extensionValue_PR present;
+		union TargetRNC_ID_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TargetRNC_ID_ExtIEs_t;
+typedef struct TargetNgRanNode_ID_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct TargetNgRanNode_ID_ExtIEs__extensionValue {
+		TargetNgRanNode_ID_ExtIEs__extensionValue_PR present;
+		union TargetNgRanNode_ID_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TargetNgRanNode_ID_ExtIEs_t;
+typedef struct GNB_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct GNB_ExtIEs__extensionValue {
+		GNB_ExtIEs__extensionValue_PR present;
+		union GNB_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} GNB_ExtIEs_t;
+typedef struct Global_GNB_ID_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct Global_GNB_ID_ExtIEs__extensionValue {
+		Global_GNB_ID_ExtIEs__extensionValue_PR present;
+		union Global_GNB_ID_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} Global_GNB_ID_ExtIEs_t;
+typedef struct NG_eNB_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct NG_eNB_ExtIEs__extensionValue {
+		NG_eNB_ExtIEs__extensionValue_PR present;
+		union NG_eNB_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} NG_eNB_ExtIEs_t;
+typedef struct TargeteNB_ToSourceeNB_TransparentContainer_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct TargeteNB_ToSourceeNB_TransparentContainer_ExtIEs__extensionValue {
+		TargeteNB_ToSourceeNB_TransparentContainer_ExtIEs__extensionValue_PR present;
+		union TargeteNB_ToSourceeNB_TransparentContainer_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TargeteNB_ToSourceeNB_TransparentContainer_ExtIEs_t;
+typedef struct M1ThresholdEventA2_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct M1ThresholdEventA2_ExtIEs__extensionValue {
+		M1ThresholdEventA2_ExtIEs__extensionValue_PR present;
+		union M1ThresholdEventA2_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} M1ThresholdEventA2_ExtIEs_t;
+typedef struct TraceActivation_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct TraceActivation_ExtIEs__extensionValue {
+		TraceActivation_ExtIEs__extensionValue_PR present;
+		union TraceActivation_ExtIEs__extensionValue_u {
+			MDT_Configuration_t	 MDT_Configuration;
+			UEAppLayerMeasConfig_t	 UEAppLayerMeasConfig;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TraceActivation_ExtIEs_t;
+typedef struct Tunnel_Information_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct Tunnel_Information_ExtIEs__extensionValue {
+		Tunnel_Information_ExtIEs__extensionValue_PR present;
+		union Tunnel_Information_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} Tunnel_Information_ExtIEs_t;
+typedef struct UEAggregate_MaximumBitrates_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct UEAggregate_MaximumBitrates_ExtIEs__extensionValue {
+		UEAggregate_MaximumBitrates_ExtIEs__extensionValue_PR present;
+		union UEAggregate_MaximumBitrates_ExtIEs__extensionValue_u {
+			ExtendedBitRate_t	 ExtendedBitRate;
+			ExtendedBitRate_t	 ExtendedBitRate_1;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UEAggregate_MaximumBitrates_ExtIEs_t;
+typedef struct UEAppLayerMeasConfig_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct UEAppLayerMeasConfig_ExtIEs__extensionValue {
+		UEAppLayerMeasConfig_ExtIEs__extensionValue_PR present;
+		union UEAppLayerMeasConfig_ExtIEs__extensionValue_u {
+			ServiceType_t	 ServiceType;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UEAppLayerMeasConfig_ExtIEs_t;
+typedef struct UE_S1AP_ID_pair_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct UE_S1AP_ID_pair_ExtIEs__extensionValue {
+		UE_S1AP_ID_pair_ExtIEs__extensionValue_PR present;
+		union UE_S1AP_ID_pair_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UE_S1AP_ID_pair_ExtIEs_t;
+typedef struct UE_associatedLogicalS1_ConnectionItemExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct UE_associatedLogicalS1_ConnectionItemExtIEs__extensionValue {
+		UE_associatedLogicalS1_ConnectionItemExtIEs__extensionValue_PR present;
+		union UE_associatedLogicalS1_ConnectionItemExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UE_associatedLogicalS1_ConnectionItemExtIEs_t;
+typedef struct UESecurityCapabilities_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct UESecurityCapabilities_ExtIEs__extensionValue {
+		UESecurityCapabilities_ExtIEs__extensionValue_PR present;
+		union UESecurityCapabilities_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UESecurityCapabilities_ExtIEs_t;
+typedef struct UE_Sidelink_Aggregate_MaximumBitrates_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct UE_Sidelink_Aggregate_MaximumBitrates_ExtIEs__extensionValue {
+		UE_Sidelink_Aggregate_MaximumBitrates_ExtIEs__extensionValue_PR present;
+		union UE_Sidelink_Aggregate_MaximumBitrates_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UE_Sidelink_Aggregate_MaximumBitrates_ExtIEs_t;
+typedef struct UL_CP_SecurityInformation_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct UL_CP_SecurityInformation_ExtIEs__extensionValue {
+		UL_CP_SecurityInformation_ExtIEs__extensionValue_PR present;
+		union UL_CP_SecurityInformation_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UL_CP_SecurityInformation_ExtIEs_t;
+typedef struct UserLocationInformation_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct UserLocationInformation_ExtIEs__extensionValue {
+		UserLocationInformation_ExtIEs__extensionValue_PR present;
+		union UserLocationInformation_ExtIEs__extensionValue_u {
+			PSCellInformation_t	 PSCellInformation;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UserLocationInformation_ExtIEs_t;
+typedef struct V2XServicesAuthorized_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct V2XServicesAuthorized_ExtIEs__extensionValue {
+		V2XServicesAuthorized_ExtIEs__extensionValue_PR present;
+		union V2XServicesAuthorized_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} V2XServicesAuthorized_ExtIEs_t;
+typedef struct WLANMeasurementConfiguration_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct WLANMeasurementConfiguration_ExtIEs__extensionValue {
+		WLANMeasurementConfiguration_ExtIEs__extensionValue_PR present;
+		union WLANMeasurementConfiguration_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} WLANMeasurementConfiguration_ExtIEs_t;
+typedef struct X2TNLConfigurationInfo_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct X2TNLConfigurationInfo_ExtIEs__extensionValue {
+		X2TNLConfigurationInfo_ExtIEs__extensionValue_PR present;
+		union X2TNLConfigurationInfo_ExtIEs__extensionValue_u {
+			ENBX2ExtTLAs_t	 ENBX2ExtTLAs;
+			ENBIndirectX2TransportLayerAddresses_t	 ENBIndirectX2TransportLayerAddresses;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} X2TNLConfigurationInfo_ExtIEs_t;
+typedef struct ENBX2ExtTLA_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct ENBX2ExtTLA_ExtIEs__extensionValue {
+		ENBX2ExtTLA_ExtIEs__extensionValue_PR present;
+		union ENBX2ExtTLA_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ENBX2ExtTLA_ExtIEs_t;
+typedef struct E_RABDataForwardingItem_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABDataForwardingItem_ExtIEs__extensionValue {
+		E_RABDataForwardingItem_ExtIEs__extensionValue_PR present;
+		union E_RABDataForwardingItem_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABDataForwardingItem_ExtIEs_t;
+typedef struct E_RABToBeSetupItemHOReq_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABToBeSetupItemHOReq_ExtIEs__extensionValue {
+		E_RABToBeSetupItemHOReq_ExtIEs__extensionValue_PR present;
+		union E_RABToBeSetupItemHOReq_ExtIEs__extensionValue_u {
+			Data_Forwarding_Not_Possible_t	 Data_Forwarding_Not_Possible;
+			BearerType_t	 BearerType;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABToBeSetupItemHOReq_ExtIEs_t;
+typedef struct E_RABAdmittedItem_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABAdmittedItem_ExtIEs__extensionValue {
+		E_RABAdmittedItem_ExtIEs__extensionValue_PR present;
+		union E_RABAdmittedItem_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABAdmittedItem_ExtIEs_t;
+typedef struct E_RABFailedToSetupItemHOReqAckExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABFailedToSetupItemHOReqAckExtIEs__extensionValue {
+		E_RABFailedToSetupItemHOReqAckExtIEs__extensionValue_PR present;
+		union E_RABFailedToSetupItemHOReqAckExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABFailedToSetupItemHOReqAckExtIEs_t;
+typedef struct E_RABToBeSwitchedDLItem_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABToBeSwitchedDLItem_ExtIEs__extensionValue {
+		E_RABToBeSwitchedDLItem_ExtIEs__extensionValue_PR present;
+		union E_RABToBeSwitchedDLItem_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABToBeSwitchedDLItem_ExtIEs_t;
+typedef struct E_RABToBeSwitchedULItem_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABToBeSwitchedULItem_ExtIEs__extensionValue {
+		E_RABToBeSwitchedULItem_ExtIEs__extensionValue_PR present;
+		union E_RABToBeSwitchedULItem_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABToBeSwitchedULItem_ExtIEs_t;
+typedef struct E_RABToBeSetupItemBearerSUReqExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABToBeSetupItemBearerSUReqExtIEs__extensionValue {
+		E_RABToBeSetupItemBearerSUReqExtIEs__extensionValue_PR present;
+		union E_RABToBeSetupItemBearerSUReqExtIEs__extensionValue_u {
+			Correlation_ID_t	 Correlation_ID;
+			Correlation_ID_t	 Correlation_ID_1;
+			BearerType_t	 BearerType;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABToBeSetupItemBearerSUReqExtIEs_t;
+typedef struct E_RABSetupItemBearerSUResExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABSetupItemBearerSUResExtIEs__extensionValue {
+		E_RABSetupItemBearerSUResExtIEs__extensionValue_PR present;
+		union E_RABSetupItemBearerSUResExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABSetupItemBearerSUResExtIEs_t;
+typedef struct E_RABToBeModifyItemBearerModReqExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABToBeModifyItemBearerModReqExtIEs__extensionValue {
+		E_RABToBeModifyItemBearerModReqExtIEs__extensionValue_PR present;
+		union E_RABToBeModifyItemBearerModReqExtIEs__extensionValue_u {
+			TransportInformation_t	 TransportInformation;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABToBeModifyItemBearerModReqExtIEs_t;
+typedef struct E_RABModifyItemBearerModResExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABModifyItemBearerModResExtIEs__extensionValue {
+		E_RABModifyItemBearerModResExtIEs__extensionValue_PR present;
+		union E_RABModifyItemBearerModResExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABModifyItemBearerModResExtIEs_t;
+typedef struct E_RABReleaseItemBearerRelCompExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABReleaseItemBearerRelCompExtIEs__extensionValue {
+		E_RABReleaseItemBearerRelCompExtIEs__extensionValue_PR present;
+		union E_RABReleaseItemBearerRelCompExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABReleaseItemBearerRelCompExtIEs_t;
+typedef struct E_RABToBeSetupItemCtxtSUReqExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABToBeSetupItemCtxtSUReqExtIEs__extensionValue {
+		E_RABToBeSetupItemCtxtSUReqExtIEs__extensionValue_PR present;
+		union E_RABToBeSetupItemCtxtSUReqExtIEs__extensionValue_u {
+			Correlation_ID_t	 Correlation_ID;
+			Correlation_ID_t	 Correlation_ID_1;
+			BearerType_t	 BearerType;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABToBeSetupItemCtxtSUReqExtIEs_t;
+typedef struct E_RABSetupItemCtxtSUResExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABSetupItemCtxtSUResExtIEs__extensionValue {
+		E_RABSetupItemCtxtSUResExtIEs__extensionValue_PR present;
+		union E_RABSetupItemCtxtSUResExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABSetupItemCtxtSUResExtIEs_t;
+typedef struct TAIItemExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct TAIItemExtIEs__extensionValue {
+		TAIItemExtIEs__extensionValue_PR present;
+		union TAIItemExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TAIItemExtIEs_t;
+typedef struct E_RABToBeModifiedItemBearerModInd_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABToBeModifiedItemBearerModInd_ExtIEs__extensionValue {
+		E_RABToBeModifiedItemBearerModInd_ExtIEs__extensionValue_PR present;
+		union E_RABToBeModifiedItemBearerModInd_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABToBeModifiedItemBearerModInd_ExtIEs_t;
+typedef struct E_RABNotToBeModifiedItemBearerModInd_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABNotToBeModifiedItemBearerModInd_ExtIEs__extensionValue {
+		E_RABNotToBeModifiedItemBearerModInd_ExtIEs__extensionValue_PR present;
+		union E_RABNotToBeModifiedItemBearerModInd_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABNotToBeModifiedItemBearerModInd_ExtIEs_t;
+typedef struct CSGMembershipInfo_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct CSGMembershipInfo_ExtIEs__extensionValue {
+		CSGMembershipInfo_ExtIEs__extensionValue_PR present;
+		union CSGMembershipInfo_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} CSGMembershipInfo_ExtIEs_t;
+typedef struct E_RABModifyItemBearerModConfExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABModifyItemBearerModConfExtIEs__extensionValue {
+		E_RABModifyItemBearerModConfExtIEs__extensionValue_PR present;
+		union E_RABModifyItemBearerModConfExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABModifyItemBearerModConfExtIEs_t;
+typedef struct E_RABFailedToResumeItemResumeReq_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABFailedToResumeItemResumeReq_ExtIEs__extensionValue {
+		E_RABFailedToResumeItemResumeReq_ExtIEs__extensionValue_PR present;
+		union E_RABFailedToResumeItemResumeReq_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABFailedToResumeItemResumeReq_ExtIEs_t;
+typedef struct E_RABFailedToResumeItemResumeRes_ExtIEs {
+	ProtocolExtensionID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABFailedToResumeItemResumeRes_ExtIEs__extensionValue {
+		E_RABFailedToResumeItemResumeRes_ExtIEs__extensionValue_PR present;
+		union E_RABFailedToResumeItemResumeRes_ExtIEs__extensionValue_u {
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} extensionValue;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} E_RABFailedToResumeItemResumeRes_ExtIEs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Additional_GUTI_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_Additional_GUTI_ExtIEs_specs_1;
+extern asn_TYPE_member_t asn_MBR_Additional_GUTI_ExtIEs_1[3];
+extern asn_TYPE_descriptor_t asn_DEF_AllocationAndRetentionPriority_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_AllocationAndRetentionPriority_ExtIEs_specs_5;
+extern asn_TYPE_member_t asn_MBR_AllocationAndRetentionPriority_ExtIEs_5[3];
+extern asn_TYPE_descriptor_t asn_DEF_InformationForCECapableUEs_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_InformationForCECapableUEs_ExtIEs_specs_9;
+extern asn_TYPE_member_t asn_MBR_InformationForCECapableUEs_ExtIEs_9[3];
+extern asn_TYPE_descriptor_t asn_DEF_AssistanceDataForPaging_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_AssistanceDataForPaging_ExtIEs_specs_13;
+extern asn_TYPE_member_t asn_MBR_AssistanceDataForPaging_ExtIEs_13[3];
+extern asn_TYPE_descriptor_t asn_DEF_AssistanceDataForRecommendedCells_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_AssistanceDataForRecommendedCells_ExtIEs_specs_17;
+extern asn_TYPE_member_t asn_MBR_AssistanceDataForRecommendedCells_ExtIEs_17[3];
+extern asn_TYPE_descriptor_t asn_DEF_Bearers_SubjectToStatusTransfer_ItemExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_Bearers_SubjectToStatusTransfer_ItemExtIEs_specs_21;
+extern asn_TYPE_member_t asn_MBR_Bearers_SubjectToStatusTransfer_ItemExtIEs_21[3];
+extern asn_TYPE_descriptor_t asn_DEF_BluetoothMeasurementConfiguration_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_BluetoothMeasurementConfiguration_ExtIEs_specs_25;
+extern asn_TYPE_member_t asn_MBR_BluetoothMeasurementConfiguration_ExtIEs_25[3];
+extern asn_TYPE_descriptor_t asn_DEF_CancelledCellinEAI_Item_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_CancelledCellinEAI_Item_ExtIEs_specs_29;
+extern asn_TYPE_member_t asn_MBR_CancelledCellinEAI_Item_ExtIEs_29[3];
+extern asn_TYPE_descriptor_t asn_DEF_CancelledCellinTAI_Item_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_CancelledCellinTAI_Item_ExtIEs_specs_33;
+extern asn_TYPE_member_t asn_MBR_CancelledCellinTAI_Item_ExtIEs_33[3];
+extern asn_TYPE_descriptor_t asn_DEF_CellIdentifierAndCELevelForCECapableUEs_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_CellIdentifierAndCELevelForCECapableUEs_ExtIEs_specs_37;
+extern asn_TYPE_member_t asn_MBR_CellIdentifierAndCELevelForCECapableUEs_ExtIEs_37[3];
+extern asn_TYPE_descriptor_t asn_DEF_CellID_Broadcast_Item_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_CellID_Broadcast_Item_ExtIEs_specs_41;
+extern asn_TYPE_member_t asn_MBR_CellID_Broadcast_Item_ExtIEs_41[3];
+extern asn_TYPE_descriptor_t asn_DEF_CellID_Cancelled_Item_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_CellID_Cancelled_Item_ExtIEs_specs_45;
+extern asn_TYPE_member_t asn_MBR_CellID_Cancelled_Item_ExtIEs_45[3];
+extern asn_TYPE_descriptor_t asn_DEF_CellBasedMDT_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_CellBasedMDT_ExtIEs_specs_49;
+extern asn_TYPE_member_t asn_MBR_CellBasedMDT_ExtIEs_49[3];
+extern asn_TYPE_descriptor_t asn_DEF_CellBasedQMC_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_CellBasedQMC_ExtIEs_specs_53;
+extern asn_TYPE_member_t asn_MBR_CellBasedQMC_ExtIEs_53[3];
+extern asn_TYPE_descriptor_t asn_DEF_Cdma2000OneXSRVCCInfo_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_Cdma2000OneXSRVCCInfo_ExtIEs_specs_57;
+extern asn_TYPE_member_t asn_MBR_Cdma2000OneXSRVCCInfo_ExtIEs_57[3];
+extern asn_TYPE_descriptor_t asn_DEF_CellType_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_CellType_ExtIEs_specs_61;
+extern asn_TYPE_member_t asn_MBR_CellType_ExtIEs_61[3];
+extern asn_TYPE_descriptor_t asn_DEF_CGI_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_CGI_ExtIEs_specs_65;
+extern asn_TYPE_member_t asn_MBR_CGI_ExtIEs_65[3];
+extern asn_TYPE_descriptor_t asn_DEF_CNTypeRestrictions_Item_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_CNTypeRestrictions_Item_ExtIEs_specs_69;
+extern asn_TYPE_member_t asn_MBR_CNTypeRestrictions_Item_ExtIEs_69[3];
+extern asn_TYPE_descriptor_t asn_DEF_ConnectedengNBItem_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ConnectedengNBItem_ExtIEs_specs_73;
+extern asn_TYPE_member_t asn_MBR_ConnectedengNBItem_ExtIEs_73[3];
+extern asn_TYPE_descriptor_t asn_DEF_CSG_IdList_Item_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_CSG_IdList_Item_ExtIEs_specs_77;
+extern asn_TYPE_member_t asn_MBR_CSG_IdList_Item_ExtIEs_77[3];
+extern asn_TYPE_descriptor_t asn_DEF_COUNTvalue_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_COUNTvalue_ExtIEs_specs_81;
+extern asn_TYPE_member_t asn_MBR_COUNTvalue_ExtIEs_81[3];
+extern asn_TYPE_descriptor_t asn_DEF_COUNTValueExtended_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_COUNTValueExtended_ExtIEs_specs_85;
+extern asn_TYPE_member_t asn_MBR_COUNTValueExtended_ExtIEs_85[3];
+extern asn_TYPE_descriptor_t asn_DEF_COUNTvaluePDCP_SNlength18_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_COUNTvaluePDCP_SNlength18_ExtIEs_specs_89;
+extern asn_TYPE_member_t asn_MBR_COUNTvaluePDCP_SNlength18_ExtIEs_89[3];
+extern asn_TYPE_descriptor_t asn_DEF_CriticalityDiagnostics_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_CriticalityDiagnostics_ExtIEs_specs_93;
+extern asn_TYPE_member_t asn_MBR_CriticalityDiagnostics_ExtIEs_93[3];
+extern asn_TYPE_descriptor_t asn_DEF_CriticalityDiagnostics_IE_Item_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_CriticalityDiagnostics_IE_Item_ExtIEs_specs_97;
+extern asn_TYPE_member_t asn_MBR_CriticalityDiagnostics_IE_Item_ExtIEs_97[3];
+extern asn_TYPE_descriptor_t asn_DEF_ServedDCNsItem_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ServedDCNsItem_ExtIEs_specs_101;
+extern asn_TYPE_member_t asn_MBR_ServedDCNsItem_ExtIEs_101[3];
+extern asn_TYPE_descriptor_t asn_DEF_DL_CP_SecurityInformation_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_DL_CP_SecurityInformation_ExtIEs_specs_105;
+extern asn_TYPE_member_t asn_MBR_DL_CP_SecurityInformation_ExtIEs_105[3];
+extern asn_TYPE_descriptor_t asn_DEF_EmergencyAreaID_Broadcast_Item_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_EmergencyAreaID_Broadcast_Item_ExtIEs_specs_109;
+extern asn_TYPE_member_t asn_MBR_EmergencyAreaID_Broadcast_Item_ExtIEs_109[3];
+extern asn_TYPE_descriptor_t asn_DEF_EmergencyAreaID_Cancelled_Item_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_EmergencyAreaID_Cancelled_Item_ExtIEs_specs_113;
+extern asn_TYPE_member_t asn_MBR_EmergencyAreaID_Cancelled_Item_ExtIEs_113[3];
+extern asn_TYPE_descriptor_t asn_DEF_CompletedCellinEAI_Item_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_CompletedCellinEAI_Item_ExtIEs_specs_117;
+extern asn_TYPE_member_t asn_MBR_CompletedCellinEAI_Item_ExtIEs_117[3];
+extern asn_TYPE_descriptor_t asn_DEF_GERAN_Cell_ID_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_GERAN_Cell_ID_ExtIEs_specs_121;
+extern asn_TYPE_member_t asn_MBR_GERAN_Cell_ID_ExtIEs_121[3];
+extern asn_TYPE_descriptor_t asn_DEF_GlobalENB_ID_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_GlobalENB_ID_ExtIEs_specs_125;
+extern asn_TYPE_member_t asn_MBR_GlobalENB_ID_ExtIEs_125[3];
+extern asn_TYPE_descriptor_t asn_DEF_Global_en_gNB_ID_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_Global_en_gNB_ID_ExtIEs_specs_129;
+extern asn_TYPE_member_t asn_MBR_Global_en_gNB_ID_ExtIEs_129[3];
+extern asn_TYPE_descriptor_t asn_DEF_ENB_StatusTransfer_TransparentContainer_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ENB_StatusTransfer_TransparentContainer_ExtIEs_specs_133;
+extern asn_TYPE_member_t asn_MBR_ENB_StatusTransfer_TransparentContainer_ExtIEs_133[3];
+extern asn_TYPE_descriptor_t asn_DEF_EN_DCSONConfigurationTransfer_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_EN_DCSONConfigurationTransfer_ExtIEs_specs_137;
+extern asn_TYPE_member_t asn_MBR_EN_DCSONConfigurationTransfer_ExtIEs_137[3];
+extern asn_TYPE_descriptor_t asn_DEF_EN_DCTransferTypeRequest_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_EN_DCTransferTypeRequest_ExtIEs_specs_141;
+extern asn_TYPE_member_t asn_MBR_EN_DCTransferTypeRequest_ExtIEs_141[3];
+extern asn_TYPE_descriptor_t asn_DEF_EN_DCTransferTypeReply_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_EN_DCTransferTypeReply_ExtIEs_specs_145;
+extern asn_TYPE_member_t asn_MBR_EN_DCTransferTypeReply_ExtIEs_145[3];
+extern asn_TYPE_descriptor_t asn_DEF_EN_DCSONeNBIdentification_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_EN_DCSONeNBIdentification_ExtIEs_specs_149;
+extern asn_TYPE_member_t asn_MBR_EN_DCSONeNBIdentification_ExtIEs_149[3];
+extern asn_TYPE_descriptor_t asn_DEF_EN_DCSONengNBIdentification_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_EN_DCSONengNBIdentification_ExtIEs_specs_153;
+extern asn_TYPE_member_t asn_MBR_EN_DCSONengNBIdentification_ExtIEs_153[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABInformationListItem_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABInformationListItem_ExtIEs_specs_157;
+extern asn_TYPE_member_t asn_MBR_E_RABInformationListItem_ExtIEs_157[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABItem_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABItem_ExtIEs_specs_161;
+extern asn_TYPE_member_t asn_MBR_E_RABItem_ExtIEs_161[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABQoSParameters_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABQoSParameters_ExtIEs_specs_165;
+extern asn_TYPE_member_t asn_MBR_E_RABQoSParameters_ExtIEs_165[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABUsageReportItem_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABUsageReportItem_ExtIEs_specs_169;
+extern asn_TYPE_member_t asn_MBR_E_RABUsageReportItem_ExtIEs_169[3];
+extern asn_TYPE_descriptor_t asn_DEF_EUTRAN_CGI_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_EUTRAN_CGI_ExtIEs_specs_173;
+extern asn_TYPE_member_t asn_MBR_EUTRAN_CGI_ExtIEs_173[3];
+extern asn_TYPE_descriptor_t asn_DEF_ExpectedUEBehaviour_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ExpectedUEBehaviour_ExtIEs_specs_177;
+extern asn_TYPE_member_t asn_MBR_ExpectedUEBehaviour_ExtIEs_177[3];
+extern asn_TYPE_descriptor_t asn_DEF_ExpectedUEActivityBehaviour_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ExpectedUEActivityBehaviour_ExtIEs_specs_181;
+extern asn_TYPE_member_t asn_MBR_ExpectedUEActivityBehaviour_ExtIEs_181[3];
+extern asn_TYPE_descriptor_t asn_DEF_FiveGSTAI_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_FiveGSTAI_ExtIEs_specs_185;
+extern asn_TYPE_member_t asn_MBR_FiveGSTAI_ExtIEs_185[3];
+extern asn_TYPE_descriptor_t asn_DEF_ForbiddenTAs_Item_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ForbiddenTAs_Item_ExtIEs_specs_189;
+extern asn_TYPE_member_t asn_MBR_ForbiddenTAs_Item_ExtIEs_189[3];
+extern asn_TYPE_descriptor_t asn_DEF_ForbiddenLAs_Item_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ForbiddenLAs_Item_ExtIEs_specs_193;
+extern asn_TYPE_member_t asn_MBR_ForbiddenLAs_Item_ExtIEs_193[3];
+extern asn_TYPE_descriptor_t asn_DEF_GBR_QosInformation_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_GBR_QosInformation_ExtIEs_specs_197;
+extern asn_TYPE_member_t asn_MBR_GBR_QosInformation_ExtIEs_197[3];
+extern asn_TYPE_descriptor_t asn_DEF_GUMMEI_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_GUMMEI_ExtIEs_specs_201;
+extern asn_TYPE_member_t asn_MBR_GUMMEI_ExtIEs_201[3];
+extern asn_TYPE_descriptor_t asn_DEF_HandoverRestrictionList_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_HandoverRestrictionList_ExtIEs_specs_205;
+extern asn_TYPE_member_t asn_MBR_HandoverRestrictionList_ExtIEs_205[3];
+extern asn_TYPE_descriptor_t asn_DEF_ImmediateMDT_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ImmediateMDT_ExtIEs_specs_209;
+extern asn_TYPE_member_t asn_MBR_ImmediateMDT_ExtIEs_209[3];
+extern asn_TYPE_descriptor_t asn_DEF_InformationOnRecommendedCellsAndENBsForPaging_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_InformationOnRecommendedCellsAndENBsForPaging_ExtIEs_specs_213;
+extern asn_TYPE_member_t asn_MBR_InformationOnRecommendedCellsAndENBsForPaging_ExtIEs_213[3];
+extern asn_TYPE_descriptor_t asn_DEF_LAI_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_LAI_ExtIEs_specs_217;
+extern asn_TYPE_member_t asn_MBR_LAI_ExtIEs_217[3];
+extern asn_TYPE_descriptor_t asn_DEF_LastVisitedEUTRANCellInformation_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_LastVisitedEUTRANCellInformation_ExtIEs_specs_221;
+extern asn_TYPE_member_t asn_MBR_LastVisitedEUTRANCellInformation_ExtIEs_221[3];
+extern asn_TYPE_descriptor_t asn_DEF_ListeningSubframePattern_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ListeningSubframePattern_ExtIEs_specs_225;
+extern asn_TYPE_member_t asn_MBR_ListeningSubframePattern_ExtIEs_225[3];
+extern asn_TYPE_descriptor_t asn_DEF_LoggedMDT_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_LoggedMDT_ExtIEs_specs_229;
+extern asn_TYPE_member_t asn_MBR_LoggedMDT_ExtIEs_229[3];
+extern asn_TYPE_descriptor_t asn_DEF_LoggedMBSFNMDT_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_LoggedMBSFNMDT_ExtIEs_specs_233;
+extern asn_TYPE_member_t asn_MBR_LoggedMBSFNMDT_ExtIEs_233[3];
+extern asn_TYPE_descriptor_t asn_DEF_M3Configuration_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_M3Configuration_ExtIEs_specs_237;
+extern asn_TYPE_member_t asn_MBR_M3Configuration_ExtIEs_237[3];
+extern asn_TYPE_descriptor_t asn_DEF_M4Configuration_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_M4Configuration_ExtIEs_specs_241;
+extern asn_TYPE_member_t asn_MBR_M4Configuration_ExtIEs_241[3];
+extern asn_TYPE_descriptor_t asn_DEF_M5Configuration_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_M5Configuration_ExtIEs_specs_245;
+extern asn_TYPE_member_t asn_MBR_M5Configuration_ExtIEs_245[3];
+extern asn_TYPE_descriptor_t asn_DEF_M6Configuration_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_M6Configuration_ExtIEs_specs_249;
+extern asn_TYPE_member_t asn_MBR_M6Configuration_ExtIEs_249[3];
+extern asn_TYPE_descriptor_t asn_DEF_M7Configuration_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_M7Configuration_ExtIEs_specs_253;
+extern asn_TYPE_member_t asn_MBR_M7Configuration_ExtIEs_253[3];
+extern asn_TYPE_descriptor_t asn_DEF_MDT_Configuration_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_MDT_Configuration_ExtIEs_specs_257;
+extern asn_TYPE_member_t asn_MBR_MDT_Configuration_ExtIEs_257[3];
+extern asn_TYPE_descriptor_t asn_DEF_MBSFN_ResultToLogInfo_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_MBSFN_ResultToLogInfo_ExtIEs_specs_261;
+extern asn_TYPE_member_t asn_MBR_MBSFN_ResultToLogInfo_ExtIEs_261[3];
+extern asn_TYPE_descriptor_t asn_DEF_MutingPatternInformation_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_MutingPatternInformation_ExtIEs_specs_265;
+extern asn_TYPE_member_t asn_MBR_MutingPatternInformation_ExtIEs_265[3];
+extern asn_TYPE_descriptor_t asn_DEF_NB_IoT_Paging_eDRXInformation_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_NB_IoT_Paging_eDRXInformation_ExtIEs_specs_269;
+extern asn_TYPE_member_t asn_MBR_NB_IoT_Paging_eDRXInformation_ExtIEs_269[3];
+extern asn_TYPE_descriptor_t asn_DEF_NR_CGI_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_NR_CGI_ExtIEs_specs_273;
+extern asn_TYPE_member_t asn_MBR_NR_CGI_ExtIEs_273[3];
+extern asn_TYPE_descriptor_t asn_DEF_NRUESecurityCapabilities_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_NRUESecurityCapabilities_ExtIEs_specs_277;
+extern asn_TYPE_member_t asn_MBR_NRUESecurityCapabilities_ExtIEs_277[3];
+extern asn_TYPE_descriptor_t asn_DEF_PagingAttemptInformation_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_PagingAttemptInformation_ExtIEs_specs_281;
+extern asn_TYPE_member_t asn_MBR_PagingAttemptInformation_ExtIEs_281[3];
+extern asn_TYPE_descriptor_t asn_DEF_Paging_eDRXInformation_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_Paging_eDRXInformation_ExtIEs_specs_285;
+extern asn_TYPE_member_t asn_MBR_Paging_eDRXInformation_ExtIEs_285[3];
+extern asn_TYPE_descriptor_t asn_DEF_M1PeriodicReporting_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_M1PeriodicReporting_ExtIEs_specs_289;
+extern asn_TYPE_member_t asn_MBR_M1PeriodicReporting_ExtIEs_289[3];
+extern asn_TYPE_descriptor_t asn_DEF_PLMNAreaBasedQMC_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_PLMNAreaBasedQMC_ExtIEs_specs_293;
+extern asn_TYPE_member_t asn_MBR_PLMNAreaBasedQMC_ExtIEs_293[3];
+extern asn_TYPE_descriptor_t asn_DEF_ProSeAuthorized_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ProSeAuthorized_ExtIEs_specs_297;
+extern asn_TYPE_member_t asn_MBR_ProSeAuthorized_ExtIEs_297[3];
+extern asn_TYPE_descriptor_t asn_DEF_PSCellInformation_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_PSCellInformation_ExtIEs_specs_301;
+extern asn_TYPE_member_t asn_MBR_PSCellInformation_ExtIEs_301[3];
+extern asn_TYPE_descriptor_t asn_DEF_RecommendedCellsForPaging_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RecommendedCellsForPaging_ExtIEs_specs_305;
+extern asn_TYPE_member_t asn_MBR_RecommendedCellsForPaging_ExtIEs_305[3];
+extern asn_TYPE_descriptor_t asn_DEF_RecommendedCellsForPagingItem_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RecommendedCellsForPagingItem_ExtIEs_specs_309;
+extern asn_TYPE_member_t asn_MBR_RecommendedCellsForPagingItem_ExtIEs_309[3];
+extern asn_TYPE_descriptor_t asn_DEF_RecommendedENBsForPaging_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RecommendedENBsForPaging_ExtIEs_specs_313;
+extern asn_TYPE_member_t asn_MBR_RecommendedENBsForPaging_ExtIEs_313[3];
+extern asn_TYPE_descriptor_t asn_DEF_RecommendedENBItem_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RecommendedENBItem_ExtIEs_specs_317;
+extern asn_TYPE_member_t asn_MBR_RecommendedENBItem_ExtIEs_317[3];
+extern asn_TYPE_descriptor_t asn_DEF_RequestType_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RequestType_ExtIEs_specs_321;
+extern asn_TYPE_member_t asn_MBR_RequestType_ExtIEs_321[3];
+extern asn_TYPE_descriptor_t asn_DEF_RIMTransfer_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RIMTransfer_ExtIEs_specs_325;
+extern asn_TYPE_member_t asn_MBR_RIMTransfer_ExtIEs_325[3];
+extern asn_TYPE_descriptor_t asn_DEF_RLFReportInformation_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RLFReportInformation_ExtIEs_specs_329;
+extern asn_TYPE_member_t asn_MBR_RLFReportInformation_ExtIEs_329[3];
+extern asn_TYPE_descriptor_t asn_DEF_SecurityContext_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_SecurityContext_ExtIEs_specs_333;
+extern asn_TYPE_member_t asn_MBR_SecurityContext_ExtIEs_333[3];
+extern asn_TYPE_descriptor_t asn_DEF_SecondaryRATDataUsageReportItem_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_SecondaryRATDataUsageReportItem_ExtIEs_specs_337;
+extern asn_TYPE_member_t asn_MBR_SecondaryRATDataUsageReportItem_ExtIEs_337[3];
+extern asn_TYPE_descriptor_t asn_DEF_SONInformationReply_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_SONInformationReply_ExtIEs_specs_341;
+extern asn_TYPE_member_t asn_MBR_SONInformationReply_ExtIEs_341[3];
+extern asn_TYPE_descriptor_t asn_DEF_SONConfigurationTransfer_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_SONConfigurationTransfer_ExtIEs_specs_345;
+extern asn_TYPE_member_t asn_MBR_SONConfigurationTransfer_ExtIEs_345[3];
+extern asn_TYPE_descriptor_t asn_DEF_SynchronisationInformation_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_SynchronisationInformation_ExtIEs_specs_349;
+extern asn_TYPE_member_t asn_MBR_SynchronisationInformation_ExtIEs_349[3];
+extern asn_TYPE_descriptor_t asn_DEF_SourceeNB_ID_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_SourceeNB_ID_ExtIEs_specs_353;
+extern asn_TYPE_member_t asn_MBR_SourceeNB_ID_ExtIEs_353[3];
+extern asn_TYPE_descriptor_t asn_DEF_SourceeNB_ToTargeteNB_TransparentContainer_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_SourceeNB_ToTargeteNB_TransparentContainer_ExtIEs_specs_357;
+extern asn_TYPE_member_t asn_MBR_SourceeNB_ToTargeteNB_TransparentContainer_ExtIEs_357[3];
+extern asn_TYPE_descriptor_t asn_DEF_ServedGUMMEIsItem_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ServedGUMMEIsItem_ExtIEs_specs_361;
+extern asn_TYPE_member_t asn_MBR_ServedGUMMEIsItem_ExtIEs_361[3];
+extern asn_TYPE_descriptor_t asn_DEF_Subscription_Based_UE_DifferentiationInfo_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_Subscription_Based_UE_DifferentiationInfo_ExtIEs_specs_365;
+extern asn_TYPE_member_t asn_MBR_Subscription_Based_UE_DifferentiationInfo_ExtIEs_365[3];
+extern asn_TYPE_descriptor_t asn_DEF_ScheduledCommunicationTime_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ScheduledCommunicationTime_ExtIEs_specs_369;
+extern asn_TYPE_member_t asn_MBR_ScheduledCommunicationTime_ExtIEs_369[3];
+extern asn_TYPE_descriptor_t asn_DEF_SupportedTAs_Item_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_SupportedTAs_Item_ExtIEs_specs_373;
+extern asn_TYPE_member_t asn_MBR_SupportedTAs_Item_ExtIEs_373[3];
+extern asn_TYPE_descriptor_t asn_DEF_TimeSynchronisationInfo_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_TimeSynchronisationInfo_ExtIEs_specs_377;
+extern asn_TYPE_member_t asn_MBR_TimeSynchronisationInfo_ExtIEs_377[3];
+extern asn_TYPE_descriptor_t asn_DEF_S_TMSI_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_S_TMSI_ExtIEs_specs_381;
+extern asn_TYPE_member_t asn_MBR_S_TMSI_ExtIEs_381[3];
+extern asn_TYPE_descriptor_t asn_DEF_TAIBasedMDT_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_TAIBasedMDT_ExtIEs_specs_385;
+extern asn_TYPE_member_t asn_MBR_TAIBasedMDT_ExtIEs_385[3];
+extern asn_TYPE_descriptor_t asn_DEF_TAI_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_TAI_ExtIEs_specs_389;
+extern asn_TYPE_member_t asn_MBR_TAI_ExtIEs_389[3];
+extern asn_TYPE_descriptor_t asn_DEF_TAI_Broadcast_Item_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_TAI_Broadcast_Item_ExtIEs_specs_393;
+extern asn_TYPE_member_t asn_MBR_TAI_Broadcast_Item_ExtIEs_393[3];
+extern asn_TYPE_descriptor_t asn_DEF_TAI_Cancelled_Item_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_TAI_Cancelled_Item_ExtIEs_specs_397;
+extern asn_TYPE_member_t asn_MBR_TAI_Cancelled_Item_ExtIEs_397[3];
+extern asn_TYPE_descriptor_t asn_DEF_TABasedMDT_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_TABasedMDT_ExtIEs_specs_401;
+extern asn_TYPE_member_t asn_MBR_TABasedMDT_ExtIEs_401[3];
+extern asn_TYPE_descriptor_t asn_DEF_TABasedQMC_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_TABasedQMC_ExtIEs_specs_405;
+extern asn_TYPE_member_t asn_MBR_TABasedQMC_ExtIEs_405[3];
+extern asn_TYPE_descriptor_t asn_DEF_TAIBasedQMC_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_TAIBasedQMC_ExtIEs_specs_409;
+extern asn_TYPE_member_t asn_MBR_TAIBasedQMC_ExtIEs_409[3];
+extern asn_TYPE_descriptor_t asn_DEF_CompletedCellinTAI_Item_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_CompletedCellinTAI_Item_ExtIEs_specs_413;
+extern asn_TYPE_member_t asn_MBR_CompletedCellinTAI_Item_ExtIEs_413[3];
+extern asn_TYPE_descriptor_t asn_DEF_TargeteNB_ID_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_TargeteNB_ID_ExtIEs_specs_417;
+extern asn_TYPE_member_t asn_MBR_TargeteNB_ID_ExtIEs_417[3];
+extern asn_TYPE_descriptor_t asn_DEF_TargetRNC_ID_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_TargetRNC_ID_ExtIEs_specs_421;
+extern asn_TYPE_member_t asn_MBR_TargetRNC_ID_ExtIEs_421[3];
+extern asn_TYPE_descriptor_t asn_DEF_TargetNgRanNode_ID_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_TargetNgRanNode_ID_ExtIEs_specs_425;
+extern asn_TYPE_member_t asn_MBR_TargetNgRanNode_ID_ExtIEs_425[3];
+extern asn_TYPE_descriptor_t asn_DEF_GNB_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_GNB_ExtIEs_specs_429;
+extern asn_TYPE_member_t asn_MBR_GNB_ExtIEs_429[3];
+extern asn_TYPE_descriptor_t asn_DEF_Global_GNB_ID_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_Global_GNB_ID_ExtIEs_specs_433;
+extern asn_TYPE_member_t asn_MBR_Global_GNB_ID_ExtIEs_433[3];
+extern asn_TYPE_descriptor_t asn_DEF_NG_eNB_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_NG_eNB_ExtIEs_specs_437;
+extern asn_TYPE_member_t asn_MBR_NG_eNB_ExtIEs_437[3];
+extern asn_TYPE_descriptor_t asn_DEF_TargeteNB_ToSourceeNB_TransparentContainer_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_TargeteNB_ToSourceeNB_TransparentContainer_ExtIEs_specs_441;
+extern asn_TYPE_member_t asn_MBR_TargeteNB_ToSourceeNB_TransparentContainer_ExtIEs_441[3];
+extern asn_TYPE_descriptor_t asn_DEF_M1ThresholdEventA2_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_M1ThresholdEventA2_ExtIEs_specs_445;
+extern asn_TYPE_member_t asn_MBR_M1ThresholdEventA2_ExtIEs_445[3];
+extern asn_TYPE_descriptor_t asn_DEF_TraceActivation_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_TraceActivation_ExtIEs_specs_449;
+extern asn_TYPE_member_t asn_MBR_TraceActivation_ExtIEs_449[3];
+extern asn_TYPE_descriptor_t asn_DEF_Tunnel_Information_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_Tunnel_Information_ExtIEs_specs_453;
+extern asn_TYPE_member_t asn_MBR_Tunnel_Information_ExtIEs_453[3];
+extern asn_TYPE_descriptor_t asn_DEF_UEAggregate_MaximumBitrates_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEAggregate_MaximumBitrates_ExtIEs_specs_457;
+extern asn_TYPE_member_t asn_MBR_UEAggregate_MaximumBitrates_ExtIEs_457[3];
+extern asn_TYPE_descriptor_t asn_DEF_UEAppLayerMeasConfig_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEAppLayerMeasConfig_ExtIEs_specs_461;
+extern asn_TYPE_member_t asn_MBR_UEAppLayerMeasConfig_ExtIEs_461[3];
+extern asn_TYPE_descriptor_t asn_DEF_UE_S1AP_ID_pair_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UE_S1AP_ID_pair_ExtIEs_specs_465;
+extern asn_TYPE_member_t asn_MBR_UE_S1AP_ID_pair_ExtIEs_465[3];
+extern asn_TYPE_descriptor_t asn_DEF_UE_associatedLogicalS1_ConnectionItemExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UE_associatedLogicalS1_ConnectionItemExtIEs_specs_469;
+extern asn_TYPE_member_t asn_MBR_UE_associatedLogicalS1_ConnectionItemExtIEs_469[3];
+extern asn_TYPE_descriptor_t asn_DEF_UESecurityCapabilities_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UESecurityCapabilities_ExtIEs_specs_473;
+extern asn_TYPE_member_t asn_MBR_UESecurityCapabilities_ExtIEs_473[3];
+extern asn_TYPE_descriptor_t asn_DEF_UE_Sidelink_Aggregate_MaximumBitrates_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UE_Sidelink_Aggregate_MaximumBitrates_ExtIEs_specs_477;
+extern asn_TYPE_member_t asn_MBR_UE_Sidelink_Aggregate_MaximumBitrates_ExtIEs_477[3];
+extern asn_TYPE_descriptor_t asn_DEF_UL_CP_SecurityInformation_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UL_CP_SecurityInformation_ExtIEs_specs_481;
+extern asn_TYPE_member_t asn_MBR_UL_CP_SecurityInformation_ExtIEs_481[3];
+extern asn_TYPE_descriptor_t asn_DEF_UserLocationInformation_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UserLocationInformation_ExtIEs_specs_485;
+extern asn_TYPE_member_t asn_MBR_UserLocationInformation_ExtIEs_485[3];
+extern asn_TYPE_descriptor_t asn_DEF_V2XServicesAuthorized_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_V2XServicesAuthorized_ExtIEs_specs_489;
+extern asn_TYPE_member_t asn_MBR_V2XServicesAuthorized_ExtIEs_489[3];
+extern asn_TYPE_descriptor_t asn_DEF_WLANMeasurementConfiguration_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_WLANMeasurementConfiguration_ExtIEs_specs_493;
+extern asn_TYPE_member_t asn_MBR_WLANMeasurementConfiguration_ExtIEs_493[3];
+extern asn_TYPE_descriptor_t asn_DEF_X2TNLConfigurationInfo_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_X2TNLConfigurationInfo_ExtIEs_specs_497;
+extern asn_TYPE_member_t asn_MBR_X2TNLConfigurationInfo_ExtIEs_497[3];
+extern asn_TYPE_descriptor_t asn_DEF_ENBX2ExtTLA_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ENBX2ExtTLA_ExtIEs_specs_501;
+extern asn_TYPE_member_t asn_MBR_ENBX2ExtTLA_ExtIEs_501[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABDataForwardingItem_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABDataForwardingItem_ExtIEs_specs_505;
+extern asn_TYPE_member_t asn_MBR_E_RABDataForwardingItem_ExtIEs_505[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeSetupItemHOReq_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABToBeSetupItemHOReq_ExtIEs_specs_509;
+extern asn_TYPE_member_t asn_MBR_E_RABToBeSetupItemHOReq_ExtIEs_509[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABAdmittedItem_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABAdmittedItem_ExtIEs_specs_513;
+extern asn_TYPE_member_t asn_MBR_E_RABAdmittedItem_ExtIEs_513[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABFailedToSetupItemHOReqAckExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABFailedToSetupItemHOReqAckExtIEs_specs_517;
+extern asn_TYPE_member_t asn_MBR_E_RABFailedToSetupItemHOReqAckExtIEs_517[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeSwitchedDLItem_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABToBeSwitchedDLItem_ExtIEs_specs_521;
+extern asn_TYPE_member_t asn_MBR_E_RABToBeSwitchedDLItem_ExtIEs_521[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeSwitchedULItem_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABToBeSwitchedULItem_ExtIEs_specs_525;
+extern asn_TYPE_member_t asn_MBR_E_RABToBeSwitchedULItem_ExtIEs_525[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeSetupItemBearerSUReqExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABToBeSetupItemBearerSUReqExtIEs_specs_529;
+extern asn_TYPE_member_t asn_MBR_E_RABToBeSetupItemBearerSUReqExtIEs_529[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABSetupItemBearerSUResExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABSetupItemBearerSUResExtIEs_specs_533;
+extern asn_TYPE_member_t asn_MBR_E_RABSetupItemBearerSUResExtIEs_533[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeModifyItemBearerModReqExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABToBeModifyItemBearerModReqExtIEs_specs_537;
+extern asn_TYPE_member_t asn_MBR_E_RABToBeModifyItemBearerModReqExtIEs_537[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABModifyItemBearerModResExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABModifyItemBearerModResExtIEs_specs_541;
+extern asn_TYPE_member_t asn_MBR_E_RABModifyItemBearerModResExtIEs_541[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABReleaseItemBearerRelCompExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABReleaseItemBearerRelCompExtIEs_specs_545;
+extern asn_TYPE_member_t asn_MBR_E_RABReleaseItemBearerRelCompExtIEs_545[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeSetupItemCtxtSUReqExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABToBeSetupItemCtxtSUReqExtIEs_specs_549;
+extern asn_TYPE_member_t asn_MBR_E_RABToBeSetupItemCtxtSUReqExtIEs_549[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABSetupItemCtxtSUResExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABSetupItemCtxtSUResExtIEs_specs_553;
+extern asn_TYPE_member_t asn_MBR_E_RABSetupItemCtxtSUResExtIEs_553[3];
+extern asn_TYPE_descriptor_t asn_DEF_TAIItemExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_TAIItemExtIEs_specs_557;
+extern asn_TYPE_member_t asn_MBR_TAIItemExtIEs_557[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeModifiedItemBearerModInd_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABToBeModifiedItemBearerModInd_ExtIEs_specs_561;
+extern asn_TYPE_member_t asn_MBR_E_RABToBeModifiedItemBearerModInd_ExtIEs_561[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABNotToBeModifiedItemBearerModInd_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABNotToBeModifiedItemBearerModInd_ExtIEs_specs_565;
+extern asn_TYPE_member_t asn_MBR_E_RABNotToBeModifiedItemBearerModInd_ExtIEs_565[3];
+extern asn_TYPE_descriptor_t asn_DEF_CSGMembershipInfo_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_CSGMembershipInfo_ExtIEs_specs_569;
+extern asn_TYPE_member_t asn_MBR_CSGMembershipInfo_ExtIEs_569[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABModifyItemBearerModConfExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABModifyItemBearerModConfExtIEs_specs_573;
+extern asn_TYPE_member_t asn_MBR_E_RABModifyItemBearerModConfExtIEs_573[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABFailedToResumeItemResumeReq_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABFailedToResumeItemResumeReq_ExtIEs_specs_577;
+extern asn_TYPE_member_t asn_MBR_E_RABFailedToResumeItemResumeReq_ExtIEs_577[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABFailedToResumeItemResumeRes_ExtIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABFailedToResumeItemResumeRes_ExtIEs_specs_581;
+extern asn_TYPE_member_t asn_MBR_E_RABFailedToResumeItemResumeRes_ExtIEs_581[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ProtocolExtensionField_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ProtocolExtensionID.h b/src/s1ap/asn1c/asnGenFiles/ProtocolExtensionID.h
new file mode 100644
index 0000000..77833f1
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ProtocolExtensionID.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-CommonDataTypes"
+ * 	found in "./asn1c/S1AP-CommonDataTypes.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ProtocolExtensionID_H_
+#define	_ProtocolExtensionID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ProtocolExtensionID */
+typedef long	 ProtocolExtensionID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ProtocolExtensionID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionID;
+asn_struct_free_f ProtocolExtensionID_free;
+asn_struct_print_f ProtocolExtensionID_print;
+asn_constr_check_f ProtocolExtensionID_constraint;
+ber_type_decoder_f ProtocolExtensionID_decode_ber;
+der_type_encoder_f ProtocolExtensionID_encode_der;
+xer_type_decoder_f ProtocolExtensionID_decode_xer;
+xer_type_encoder_f ProtocolExtensionID_encode_xer;
+oer_type_decoder_f ProtocolExtensionID_decode_oer;
+oer_type_encoder_f ProtocolExtensionID_encode_oer;
+per_type_decoder_f ProtocolExtensionID_decode_uper;
+per_type_encoder_f ProtocolExtensionID_encode_uper;
+per_type_decoder_f ProtocolExtensionID_decode_aper;
+per_type_encoder_f ProtocolExtensionID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ProtocolExtensionID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ProtocolIE-Container.h b/src/s1ap/asn1c/asnGenFiles/ProtocolIE-Container.h
new file mode 100644
index 0000000..f5fabbd
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ProtocolIE-Container.h
@@ -0,0 +1,1045 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-Containers"
+ * 	found in "./asn1c/S1AP-Containers.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ProtocolIE_Container_H_
+#define	_ProtocolIE_Container_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct HandoverRequiredIEs;
+struct HandoverCommandIEs;
+struct HandoverPreparationFailureIEs;
+struct HandoverRequestIEs;
+struct HandoverRequestAcknowledgeIEs;
+struct HandoverFailureIEs;
+struct HandoverNotifyIEs;
+struct PathSwitchRequestIEs;
+struct PathSwitchRequestAcknowledgeIEs;
+struct PathSwitchRequestFailureIEs;
+struct HandoverCancelIEs;
+struct HandoverCancelAcknowledgeIEs;
+struct E_RABSetupRequestIEs;
+struct E_RABSetupResponseIEs;
+struct E_RABModifyRequestIEs;
+struct E_RABModifyResponseIEs;
+struct E_RABReleaseCommandIEs;
+struct E_RABReleaseResponseIEs;
+struct E_RABReleaseIndicationIEs;
+struct InitialContextSetupRequestIEs;
+struct InitialContextSetupResponseIEs;
+struct InitialContextSetupFailureIEs;
+struct PagingIEs;
+struct UEContextReleaseRequest_IEs;
+struct UEContextReleaseCommand_IEs;
+struct UEContextReleaseComplete_IEs;
+struct UEContextModificationRequestIEs;
+struct UEContextModificationResponseIEs;
+struct UEContextModificationFailureIEs;
+struct UERadioCapabilityMatchRequestIEs;
+struct UERadioCapabilityMatchResponseIEs;
+struct DownlinkNASTransport_IEs;
+struct InitialUEMessage_IEs;
+struct UplinkNASTransport_IEs;
+struct NASNonDeliveryIndication_IEs;
+struct RerouteNASRequest_IEs;
+struct NASDeliveryIndicationIEs;
+struct ResetIEs;
+struct ResetAcknowledgeIEs;
+struct ErrorIndicationIEs;
+struct S1SetupRequestIEs;
+struct S1SetupResponseIEs;
+struct S1SetupFailureIEs;
+struct ENBConfigurationUpdateIEs;
+struct ENBConfigurationUpdateAcknowledgeIEs;
+struct ENBConfigurationUpdateFailureIEs;
+struct MMEConfigurationUpdateIEs;
+struct MMEConfigurationUpdateAcknowledgeIEs;
+struct MMEConfigurationUpdateFailureIEs;
+struct DownlinkS1cdma2000tunnellingIEs;
+struct UplinkS1cdma2000tunnellingIEs;
+struct UECapabilityInfoIndicationIEs;
+struct ENBStatusTransferIEs;
+struct MMEStatusTransferIEs;
+struct TraceStartIEs;
+struct TraceFailureIndicationIEs;
+struct DeactivateTraceIEs;
+struct CellTrafficTraceIEs;
+struct LocationReportingControlIEs;
+struct LocationReportingFailureIndicationIEs;
+struct LocationReportIEs;
+struct OverloadStartIEs;
+struct OverloadStopIEs;
+struct WriteReplaceWarningRequestIEs;
+struct WriteReplaceWarningResponseIEs;
+struct ENBDirectInformationTransferIEs;
+struct MMEDirectInformationTransferIEs;
+struct ENBConfigurationTransferIEs;
+struct MMEConfigurationTransferIEs;
+struct KillRequestIEs;
+struct KillResponseIEs;
+struct PWSRestartIndicationIEs;
+struct PWSFailureIndicationIEs;
+struct DownlinkUEAssociatedLPPaTransport_IEs;
+struct UplinkUEAssociatedLPPaTransport_IEs;
+struct DownlinkNonUEAssociatedLPPaTransport_IEs;
+struct UplinkNonUEAssociatedLPPaTransport_IEs;
+struct E_RABModificationIndicationIEs;
+struct E_RABModificationConfirmIEs;
+struct UEContextModificationIndicationIEs;
+struct UEContextModificationConfirmIEs;
+struct UEContextSuspendRequestIEs;
+struct UEContextSuspendResponseIEs;
+struct UEContextResumeRequestIEs;
+struct UEContextResumeResponseIEs;
+struct UEContextResumeFailureIEs;
+struct ConnectionEstablishmentIndicationIEs;
+struct RetrieveUEInformationIEs;
+struct UEInformationTransferIEs;
+struct ENBCPRelocationIndicationIEs;
+struct MMECPRelocationIndicationIEs;
+struct SecondaryRATDataUsageReportIEs;
+
+/* ProtocolIE-Container */
+typedef struct ProtocolIE_Container_129P0 {
+	A_SEQUENCE_OF(struct HandoverRequiredIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P0_t;
+typedef struct ProtocolIE_Container_129P1 {
+	A_SEQUENCE_OF(struct HandoverCommandIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P1_t;
+typedef struct ProtocolIE_Container_129P2 {
+	A_SEQUENCE_OF(struct HandoverPreparationFailureIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P2_t;
+typedef struct ProtocolIE_Container_129P3 {
+	A_SEQUENCE_OF(struct HandoverRequestIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P3_t;
+typedef struct ProtocolIE_Container_129P4 {
+	A_SEQUENCE_OF(struct HandoverRequestAcknowledgeIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P4_t;
+typedef struct ProtocolIE_Container_129P5 {
+	A_SEQUENCE_OF(struct HandoverFailureIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P5_t;
+typedef struct ProtocolIE_Container_129P6 {
+	A_SEQUENCE_OF(struct HandoverNotifyIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P6_t;
+typedef struct ProtocolIE_Container_129P7 {
+	A_SEQUENCE_OF(struct PathSwitchRequestIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P7_t;
+typedef struct ProtocolIE_Container_129P8 {
+	A_SEQUENCE_OF(struct PathSwitchRequestAcknowledgeIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P8_t;
+typedef struct ProtocolIE_Container_129P9 {
+	A_SEQUENCE_OF(struct PathSwitchRequestFailureIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P9_t;
+typedef struct ProtocolIE_Container_129P10 {
+	A_SEQUENCE_OF(struct HandoverCancelIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P10_t;
+typedef struct ProtocolIE_Container_129P11 {
+	A_SEQUENCE_OF(struct HandoverCancelAcknowledgeIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P11_t;
+typedef struct ProtocolIE_Container_129P12 {
+	A_SEQUENCE_OF(struct E_RABSetupRequestIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P12_t;
+typedef struct ProtocolIE_Container_129P13 {
+	A_SEQUENCE_OF(struct E_RABSetupResponseIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P13_t;
+typedef struct ProtocolIE_Container_129P14 {
+	A_SEQUENCE_OF(struct E_RABModifyRequestIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P14_t;
+typedef struct ProtocolIE_Container_129P15 {
+	A_SEQUENCE_OF(struct E_RABModifyResponseIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P15_t;
+typedef struct ProtocolIE_Container_129P16 {
+	A_SEQUENCE_OF(struct E_RABReleaseCommandIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P16_t;
+typedef struct ProtocolIE_Container_129P17 {
+	A_SEQUENCE_OF(struct E_RABReleaseResponseIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P17_t;
+typedef struct ProtocolIE_Container_129P18 {
+	A_SEQUENCE_OF(struct E_RABReleaseIndicationIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P18_t;
+typedef struct ProtocolIE_Container_129P19 {
+	A_SEQUENCE_OF(struct InitialContextSetupRequestIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P19_t;
+typedef struct ProtocolIE_Container_129P20 {
+	A_SEQUENCE_OF(struct InitialContextSetupResponseIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P20_t;
+typedef struct ProtocolIE_Container_129P21 {
+	A_SEQUENCE_OF(struct InitialContextSetupFailureIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P21_t;
+typedef struct ProtocolIE_Container_129P22 {
+	A_SEQUENCE_OF(struct PagingIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P22_t;
+typedef struct ProtocolIE_Container_129P23 {
+	A_SEQUENCE_OF(struct UEContextReleaseRequest_IEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P23_t;
+typedef struct ProtocolIE_Container_129P24 {
+	A_SEQUENCE_OF(struct UEContextReleaseCommand_IEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P24_t;
+typedef struct ProtocolIE_Container_129P25 {
+	A_SEQUENCE_OF(struct UEContextReleaseComplete_IEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P25_t;
+typedef struct ProtocolIE_Container_129P26 {
+	A_SEQUENCE_OF(struct UEContextModificationRequestIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P26_t;
+typedef struct ProtocolIE_Container_129P27 {
+	A_SEQUENCE_OF(struct UEContextModificationResponseIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P27_t;
+typedef struct ProtocolIE_Container_129P28 {
+	A_SEQUENCE_OF(struct UEContextModificationFailureIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P28_t;
+typedef struct ProtocolIE_Container_129P29 {
+	A_SEQUENCE_OF(struct UERadioCapabilityMatchRequestIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P29_t;
+typedef struct ProtocolIE_Container_129P30 {
+	A_SEQUENCE_OF(struct UERadioCapabilityMatchResponseIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P30_t;
+typedef struct ProtocolIE_Container_129P31 {
+	A_SEQUENCE_OF(struct DownlinkNASTransport_IEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P31_t;
+typedef struct ProtocolIE_Container_129P32 {
+	A_SEQUENCE_OF(struct InitialUEMessage_IEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P32_t;
+typedef struct ProtocolIE_Container_129P33 {
+	A_SEQUENCE_OF(struct UplinkNASTransport_IEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P33_t;
+typedef struct ProtocolIE_Container_129P34 {
+	A_SEQUENCE_OF(struct NASNonDeliveryIndication_IEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P34_t;
+typedef struct ProtocolIE_Container_129P35 {
+	A_SEQUENCE_OF(struct RerouteNASRequest_IEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P35_t;
+typedef struct ProtocolIE_Container_129P36 {
+	A_SEQUENCE_OF(struct NASDeliveryIndicationIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P36_t;
+typedef struct ProtocolIE_Container_129P37 {
+	A_SEQUENCE_OF(struct ResetIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P37_t;
+typedef struct ProtocolIE_Container_129P38 {
+	A_SEQUENCE_OF(struct ResetAcknowledgeIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P38_t;
+typedef struct ProtocolIE_Container_129P39 {
+	A_SEQUENCE_OF(struct ErrorIndicationIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P39_t;
+typedef struct ProtocolIE_Container_129P40 {
+	A_SEQUENCE_OF(struct S1SetupRequestIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P40_t;
+typedef struct ProtocolIE_Container_129P41 {
+	A_SEQUENCE_OF(struct S1SetupResponseIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P41_t;
+typedef struct ProtocolIE_Container_129P42 {
+	A_SEQUENCE_OF(struct S1SetupFailureIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P42_t;
+typedef struct ProtocolIE_Container_129P43 {
+	A_SEQUENCE_OF(struct ENBConfigurationUpdateIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P43_t;
+typedef struct ProtocolIE_Container_129P44 {
+	A_SEQUENCE_OF(struct ENBConfigurationUpdateAcknowledgeIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P44_t;
+typedef struct ProtocolIE_Container_129P45 {
+	A_SEQUENCE_OF(struct ENBConfigurationUpdateFailureIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P45_t;
+typedef struct ProtocolIE_Container_129P46 {
+	A_SEQUENCE_OF(struct MMEConfigurationUpdateIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P46_t;
+typedef struct ProtocolIE_Container_129P47 {
+	A_SEQUENCE_OF(struct MMEConfigurationUpdateAcknowledgeIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P47_t;
+typedef struct ProtocolIE_Container_129P48 {
+	A_SEQUENCE_OF(struct MMEConfigurationUpdateFailureIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P48_t;
+typedef struct ProtocolIE_Container_129P49 {
+	A_SEQUENCE_OF(struct DownlinkS1cdma2000tunnellingIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P49_t;
+typedef struct ProtocolIE_Container_129P50 {
+	A_SEQUENCE_OF(struct UplinkS1cdma2000tunnellingIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P50_t;
+typedef struct ProtocolIE_Container_129P51 {
+	A_SEQUENCE_OF(struct UECapabilityInfoIndicationIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P51_t;
+typedef struct ProtocolIE_Container_129P52 {
+	A_SEQUENCE_OF(struct ENBStatusTransferIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P52_t;
+typedef struct ProtocolIE_Container_129P53 {
+	A_SEQUENCE_OF(struct MMEStatusTransferIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P53_t;
+typedef struct ProtocolIE_Container_129P54 {
+	A_SEQUENCE_OF(struct TraceStartIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P54_t;
+typedef struct ProtocolIE_Container_129P55 {
+	A_SEQUENCE_OF(struct TraceFailureIndicationIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P55_t;
+typedef struct ProtocolIE_Container_129P56 {
+	A_SEQUENCE_OF(struct DeactivateTraceIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P56_t;
+typedef struct ProtocolIE_Container_129P57 {
+	A_SEQUENCE_OF(struct CellTrafficTraceIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P57_t;
+typedef struct ProtocolIE_Container_129P58 {
+	A_SEQUENCE_OF(struct LocationReportingControlIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P58_t;
+typedef struct ProtocolIE_Container_129P59 {
+	A_SEQUENCE_OF(struct LocationReportingFailureIndicationIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P59_t;
+typedef struct ProtocolIE_Container_129P60 {
+	A_SEQUENCE_OF(struct LocationReportIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P60_t;
+typedef struct ProtocolIE_Container_129P61 {
+	A_SEQUENCE_OF(struct OverloadStartIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P61_t;
+typedef struct ProtocolIE_Container_129P62 {
+	A_SEQUENCE_OF(struct OverloadStopIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P62_t;
+typedef struct ProtocolIE_Container_129P63 {
+	A_SEQUENCE_OF(struct WriteReplaceWarningRequestIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P63_t;
+typedef struct ProtocolIE_Container_129P64 {
+	A_SEQUENCE_OF(struct WriteReplaceWarningResponseIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P64_t;
+typedef struct ProtocolIE_Container_129P65 {
+	A_SEQUENCE_OF(struct ENBDirectInformationTransferIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P65_t;
+typedef struct ProtocolIE_Container_129P66 {
+	A_SEQUENCE_OF(struct MMEDirectInformationTransferIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P66_t;
+typedef struct ProtocolIE_Container_129P67 {
+	A_SEQUENCE_OF(struct ENBConfigurationTransferIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P67_t;
+typedef struct ProtocolIE_Container_129P68 {
+	A_SEQUENCE_OF(struct MMEConfigurationTransferIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P68_t;
+typedef struct ProtocolIE_Container_129P69 {
+	A_SEQUENCE_OF(struct KillRequestIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P69_t;
+typedef struct ProtocolIE_Container_129P70 {
+	A_SEQUENCE_OF(struct KillResponseIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P70_t;
+typedef struct ProtocolIE_Container_129P71 {
+	A_SEQUENCE_OF(struct PWSRestartIndicationIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P71_t;
+typedef struct ProtocolIE_Container_129P72 {
+	A_SEQUENCE_OF(struct PWSFailureIndicationIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P72_t;
+typedef struct ProtocolIE_Container_129P73 {
+	A_SEQUENCE_OF(struct DownlinkUEAssociatedLPPaTransport_IEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P73_t;
+typedef struct ProtocolIE_Container_129P74 {
+	A_SEQUENCE_OF(struct UplinkUEAssociatedLPPaTransport_IEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P74_t;
+typedef struct ProtocolIE_Container_129P75 {
+	A_SEQUENCE_OF(struct DownlinkNonUEAssociatedLPPaTransport_IEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P75_t;
+typedef struct ProtocolIE_Container_129P76 {
+	A_SEQUENCE_OF(struct UplinkNonUEAssociatedLPPaTransport_IEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P76_t;
+typedef struct ProtocolIE_Container_129P77 {
+	A_SEQUENCE_OF(struct E_RABModificationIndicationIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P77_t;
+typedef struct ProtocolIE_Container_129P78 {
+	A_SEQUENCE_OF(struct E_RABModificationConfirmIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P78_t;
+typedef struct ProtocolIE_Container_129P79 {
+	A_SEQUENCE_OF(struct UEContextModificationIndicationIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P79_t;
+typedef struct ProtocolIE_Container_129P80 {
+	A_SEQUENCE_OF(struct UEContextModificationConfirmIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P80_t;
+typedef struct ProtocolIE_Container_129P81 {
+	A_SEQUENCE_OF(struct UEContextSuspendRequestIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P81_t;
+typedef struct ProtocolIE_Container_129P82 {
+	A_SEQUENCE_OF(struct UEContextSuspendResponseIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P82_t;
+typedef struct ProtocolIE_Container_129P83 {
+	A_SEQUENCE_OF(struct UEContextResumeRequestIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P83_t;
+typedef struct ProtocolIE_Container_129P84 {
+	A_SEQUENCE_OF(struct UEContextResumeResponseIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P84_t;
+typedef struct ProtocolIE_Container_129P85 {
+	A_SEQUENCE_OF(struct UEContextResumeFailureIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P85_t;
+typedef struct ProtocolIE_Container_129P86 {
+	A_SEQUENCE_OF(struct ConnectionEstablishmentIndicationIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P86_t;
+typedef struct ProtocolIE_Container_129P87 {
+	A_SEQUENCE_OF(struct RetrieveUEInformationIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P87_t;
+typedef struct ProtocolIE_Container_129P88 {
+	A_SEQUENCE_OF(struct UEInformationTransferIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P88_t;
+typedef struct ProtocolIE_Container_129P89 {
+	A_SEQUENCE_OF(struct ENBCPRelocationIndicationIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P89_t;
+typedef struct ProtocolIE_Container_129P90 {
+	A_SEQUENCE_OF(struct MMECPRelocationIndicationIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P90_t;
+typedef struct ProtocolIE_Container_129P91 {
+	A_SEQUENCE_OF(struct SecondaryRATDataUsageReportIEs) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_Container_129P91_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P0;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P0_specs_1;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P0_1[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P0_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P1;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P1_specs_3;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P1_3[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P1_constr_3;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P2;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P2_specs_5;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P2_5[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P2_constr_5;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P3;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P3_specs_7;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P3_7[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P3_constr_7;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P4;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P4_specs_9;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P4_9[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P4_constr_9;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P5;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P5_specs_11;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P5_11[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P5_constr_11;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P6;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P6_specs_13;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P6_13[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P6_constr_13;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P7;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P7_specs_15;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P7_15[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P7_constr_15;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P8;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P8_specs_17;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P8_17[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P8_constr_17;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P9;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P9_specs_19;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P9_19[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P9_constr_19;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P10;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P10_specs_21;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P10_21[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P10_constr_21;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P11;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P11_specs_23;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P11_23[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P11_constr_23;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P12;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P12_specs_25;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P12_25[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P12_constr_25;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P13;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P13_specs_27;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P13_27[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P13_constr_27;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P14;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P14_specs_29;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P14_29[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P14_constr_29;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P15;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P15_specs_31;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P15_31[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P15_constr_31;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P16;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P16_specs_33;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P16_33[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P16_constr_33;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P17;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P17_specs_35;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P17_35[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P17_constr_35;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P18;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P18_specs_37;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P18_37[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P18_constr_37;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P19;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P19_specs_39;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P19_39[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P19_constr_39;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P20;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P20_specs_41;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P20_41[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P20_constr_41;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P21;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P21_specs_43;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P21_43[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P21_constr_43;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P22;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P22_specs_45;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P22_45[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P22_constr_45;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P23;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P23_specs_47;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P23_47[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P23_constr_47;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P24;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P24_specs_49;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P24_49[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P24_constr_49;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P25;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P25_specs_51;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P25_51[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P25_constr_51;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P26;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P26_specs_53;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P26_53[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P26_constr_53;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P27;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P27_specs_55;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P27_55[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P27_constr_55;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P28;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P28_specs_57;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P28_57[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P28_constr_57;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P29;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P29_specs_59;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P29_59[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P29_constr_59;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P30;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P30_specs_61;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P30_61[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P30_constr_61;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P31;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P31_specs_63;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P31_63[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P31_constr_63;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P32;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P32_specs_65;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P32_65[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P32_constr_65;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P33;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P33_specs_67;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P33_67[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P33_constr_67;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P34;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P34_specs_69;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P34_69[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P34_constr_69;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P35;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P35_specs_71;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P35_71[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P35_constr_71;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P36;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P36_specs_73;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P36_73[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P36_constr_73;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P37;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P37_specs_75;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P37_75[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P37_constr_75;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P38;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P38_specs_77;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P38_77[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P38_constr_77;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P39;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P39_specs_79;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P39_79[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P39_constr_79;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P40;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P40_specs_81;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P40_81[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P40_constr_81;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P41;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P41_specs_83;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P41_83[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P41_constr_83;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P42;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P42_specs_85;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P42_85[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P42_constr_85;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P43;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P43_specs_87;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P43_87[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P43_constr_87;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P44;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P44_specs_89;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P44_89[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P44_constr_89;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P45;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P45_specs_91;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P45_91[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P45_constr_91;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P46;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P46_specs_93;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P46_93[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P46_constr_93;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P47;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P47_specs_95;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P47_95[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P47_constr_95;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P48;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P48_specs_97;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P48_97[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P48_constr_97;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P49;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P49_specs_99;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P49_99[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P49_constr_99;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P50;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P50_specs_101;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P50_101[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P50_constr_101;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P51;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P51_specs_103;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P51_103[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P51_constr_103;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P52;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P52_specs_105;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P52_105[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P52_constr_105;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P53;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P53_specs_107;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P53_107[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P53_constr_107;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P54;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P54_specs_109;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P54_109[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P54_constr_109;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P55;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P55_specs_111;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P55_111[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P55_constr_111;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P56;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P56_specs_113;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P56_113[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P56_constr_113;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P57;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P57_specs_115;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P57_115[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P57_constr_115;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P58;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P58_specs_117;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P58_117[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P58_constr_117;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P59;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P59_specs_119;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P59_119[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P59_constr_119;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P60;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P60_specs_121;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P60_121[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P60_constr_121;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P61;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P61_specs_123;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P61_123[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P61_constr_123;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P62;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P62_specs_125;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P62_125[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P62_constr_125;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P63;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P63_specs_127;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P63_127[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P63_constr_127;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P64;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P64_specs_129;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P64_129[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P64_constr_129;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P65;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P65_specs_131;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P65_131[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P65_constr_131;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P66;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P66_specs_133;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P66_133[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P66_constr_133;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P67;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P67_specs_135;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P67_135[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P67_constr_135;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P68;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P68_specs_137;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P68_137[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P68_constr_137;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P69;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P69_specs_139;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P69_139[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P69_constr_139;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P70;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P70_specs_141;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P70_141[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P70_constr_141;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P71;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P71_specs_143;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P71_143[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P71_constr_143;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P72;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P72_specs_145;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P72_145[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P72_constr_145;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P73;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P73_specs_147;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P73_147[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P73_constr_147;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P74;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P74_specs_149;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P74_149[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P74_constr_149;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P75;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P75_specs_151;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P75_151[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P75_constr_151;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P76;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P76_specs_153;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P76_153[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P76_constr_153;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P77;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P77_specs_155;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P77_155[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P77_constr_155;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P78;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P78_specs_157;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P78_157[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P78_constr_157;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P79;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P79_specs_159;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P79_159[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P79_constr_159;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P80;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P80_specs_161;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P80_161[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P80_constr_161;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P81;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P81_specs_163;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P81_163[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P81_constr_163;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P82;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P82_specs_165;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P82_165[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P82_constr_165;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P83;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P83_specs_167;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P83_167[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P83_constr_167;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P84;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P84_specs_169;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P84_169[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P84_constr_169;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P85;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P85_specs_171;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P85_171[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P85_constr_171;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P86;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P86_specs_173;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P86_173[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P86_constr_173;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P87;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P87_specs_175;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P87_175[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P87_constr_175;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P88;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P88_specs_177;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P88_177[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P88_constr_177;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P89;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P89_specs_179;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P89_179[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P89_constr_179;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P90;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P90_specs_181;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P90_181[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P90_constr_181;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_Container_129P91;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_Container_129P91_specs_183;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_Container_129P91_183[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_Container_129P91_constr_183;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ProtocolIE_Container_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ProtocolIE-ContainerList.h b/src/s1ap/asn1c/asnGenFiles/ProtocolIE-ContainerList.h
new file mode 100644
index 0000000..e5341b2
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ProtocolIE-ContainerList.h
@@ -0,0 +1,134 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-Containers"
+ * 	found in "./asn1c/S1AP-Containers.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ProtocolIE_ContainerList_H_
+#define	_ProtocolIE_ContainerList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* ProtocolIE-ContainerList */
+typedef struct ProtocolIE_ContainerList_166P0 {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_ContainerList_166P0_t;
+typedef struct ProtocolIE_ContainerList_166P1 {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_ContainerList_166P1_t;
+typedef struct ProtocolIE_ContainerList_166P2 {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_ContainerList_166P2_t;
+typedef struct ProtocolIE_ContainerList_166P3 {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_ContainerList_166P3_t;
+typedef struct ProtocolIE_ContainerList_166P4 {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_ContainerList_166P4_t;
+typedef struct ProtocolIE_ContainerList_166P5 {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_ContainerList_166P5_t;
+typedef struct ProtocolIE_ContainerList_166P6 {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_ContainerList_166P6_t;
+typedef struct ProtocolIE_ContainerList_166P7 {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_ContainerList_166P7_t;
+typedef struct ProtocolIE_ContainerList_166P8 {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_ContainerList_166P8_t;
+typedef struct ProtocolIE_ContainerList_166P9 {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ProtocolIE_ContainerList_166P9_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerList_166P0;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerList_166P0_specs_1;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerList_166P0_1[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerList_166P0_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerList_166P1;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerList_166P1_specs_3;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerList_166P1_3[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerList_166P1_constr_3;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerList_166P2;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerList_166P2_specs_5;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerList_166P2_5[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerList_166P2_constr_5;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerList_166P3;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerList_166P3_specs_7;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerList_166P3_7[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerList_166P3_constr_7;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerList_166P4;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerList_166P4_specs_9;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerList_166P4_9[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerList_166P4_constr_9;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerList_166P5;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerList_166P5_specs_11;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerList_166P5_11[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerList_166P5_constr_11;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerList_166P6;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerList_166P6_specs_13;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerList_166P6_13[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerList_166P6_constr_13;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerList_166P7;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerList_166P7_specs_15;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerList_166P7_15[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerList_166P7_constr_15;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerList_166P8;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerList_166P8_specs_17;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerList_166P8_17[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerList_166P8_constr_17;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ContainerList_166P9;
+extern asn_SET_OF_specifics_t asn_SPC_ProtocolIE_ContainerList_166P9_specs_19;
+extern asn_TYPE_member_t asn_MBR_ProtocolIE_ContainerList_166P9_19[1];
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ContainerList_166P9_constr_19;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ProtocolIE_ContainerList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ProtocolIE-ContainerPair.h b/src/s1ap/asn1c/asnGenFiles/ProtocolIE-ContainerPair.h
new file mode 100644
index 0000000..2ac7db9
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ProtocolIE-ContainerPair.h
@@ -0,0 +1,23 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-Containers"
+ * 	found in "./asn1c/S1AP-Containers.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ProtocolIE_ContainerPair_H_
+#define	_ProtocolIE_ContainerPair_H_
+
+
+#include <asn_application.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ProtocolIE_ContainerPair_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ProtocolIE-ContainerPairList.h b/src/s1ap/asn1c/asnGenFiles/ProtocolIE-ContainerPairList.h
new file mode 100644
index 0000000..ba4354e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ProtocolIE-ContainerPairList.h
@@ -0,0 +1,23 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-Containers"
+ * 	found in "./asn1c/S1AP-Containers.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ProtocolIE_ContainerPairList_H_
+#define	_ProtocolIE_ContainerPairList_H_
+
+
+#include <asn_application.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ProtocolIE_ContainerPairList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ProtocolIE-Field.h b/src/s1ap/asn1c/asnGenFiles/ProtocolIE-Field.h
new file mode 100644
index 0000000..a77e4da
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ProtocolIE-Field.h
@@ -0,0 +1,3943 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-Containers"
+ * 	found in "./asn1c/S1AP-Containers.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice`
+ */
+
+#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 "Bearers-SubjectToStatusTransfer-Item.h"
+#include "Presence.h"
+#include <OPEN_TYPE.h>
+#include <constr_CHOICE.h>
+#include <constr_SEQUENCE.h>
+#include "E-RABInformationListItem.h"
+#include "E-RABItem.h"
+#include "E-RABUsageReportItem.h"
+#include "LoggedMBSFNMDT.h"
+#include "RecommendedCellItem.h"
+#include "RecommendedENBItem.h"
+#include "SecondaryRATDataUsageReportItem.h"
+#include "SONInformationReport.h"
+#include "E-RABToBeSetupItemBearerSUReq.h"
+#include "E-RABSetupItemBearerSURes.h"
+#include "E-RABToBeModifiedItemBearerModReq.h"
+#include "E-RABModifyItemBearerModRes.h"
+#include "E-RABReleaseItemBearerRelComp.h"
+#include "E-RABToBeSetupItemCtxtSUReq.h"
+#include "E-RABSetupItemCtxtSURes.h"
+#include "TAIItem.h"
+#include "UE-associatedLogicalS1-ConnectionItem.h"
+#include "E-RABModifyItemBearerModConf.h"
+#include "MME-UE-S1AP-ID.h"
+#include "ENB-UE-S1AP-ID.h"
+#include "HandoverType.h"
+#include "Cause.h"
+#include "TargetID.h"
+#include "Direct-Forwarding-Path-Availability.h"
+#include "SRVCCHOIndication.h"
+#include "Source-ToTarget-TransparentContainer.h"
+#include "MSClassmark2.h"
+#include "MSClassmark3.h"
+#include "CSG-Id.h"
+#include "CellAccessMode.h"
+#include "PS-ServiceNotAvailable.h"
+#include "NASSecurityParametersfromE-UTRAN.h"
+#include "E-RABSubjecttoDataForwardingList.h"
+#include "E-RABList.h"
+#include "Target-ToSource-TransparentContainer.h"
+#include "CriticalityDiagnostics.h"
+#include "UEAggregateMaximumBitrate.h"
+#include "E-RABToBeSetupListHOReq.h"
+#include "UESecurityCapabilities.h"
+#include "HandoverRestrictionList.h"
+#include "TraceActivation.h"
+#include "RequestType.h"
+#include "SRVCCOperationPossible.h"
+#include "SecurityContext.h"
+#include "NASSecurityParameterstoE-UTRAN.h"
+#include "CSGMembershipStatus.h"
+#include "GUMMEI.h"
+#include "ManagementBasedMDTAllowed.h"
+#include "MDTPLMNList.h"
+#include "Masked-IMEISV.h"
+#include "ExpectedUEBehaviour.h"
+#include "ProSeAuthorized.h"
+#include "UEUserPlaneCIoTSupportIndicator.h"
+#include "V2XServicesAuthorized.h"
+#include "UESidelinkAggregateMaximumBitrate.h"
+#include "EnhancedCoverageRestricted.h"
+#include "NRUESecurityCapabilities.h"
+#include "CE-ModeBRestricted.h"
+#include "AerialUEsubscriptionInformation.h"
+#include "PendingDataIndication.h"
+#include "Subscription-Based-UE-DifferentiationInfo.h"
+#include "E-RABAdmittedList.h"
+#include "E-RABFailedtoSetupListHOReqAck.h"
+#include "CE-mode-B-SupportIndicator.h"
+#include "EUTRAN-CGI.h"
+#include "TAI.h"
+#include "TunnelInformation.h"
+#include "LHN-ID.h"
+#include "PSCellInformation.h"
+#include "E-RABToBeSwitchedDLList.h"
+#include "RRC-Establishment-Cause.h"
+#include "E-RABToBeSwitchedULList.h"
+#include "E-RABToBeSetupListBearerSUReq.h"
+#include "E-RABSetupListBearerSURes.h"
+#include "E-RABToBeModifiedListBearerModReq.h"
+#include "SecondaryRATDataUsageRequest.h"
+#include "E-RABModifyListBearerModRes.h"
+#include "SecondaryRATDataUsageReportList.h"
+#include "NAS-PDU.h"
+#include "E-RABReleaseListBearerRelComp.h"
+#include "UserLocationInformation.h"
+#include "E-RABToBeSetupListCtxtSUReq.h"
+#include "SecurityKey.h"
+#include "UERadioCapability.h"
+#include "SubscriberProfileIDforRFP.h"
+#include "CSFallbackIndicator.h"
+#include "LAI.h"
+#include "AdditionalCSFallbackIndicator.h"
+#include "E-RABSetupListCtxtSURes.h"
+#include "UEIdentityIndexValue.h"
+#include "UEPagingID.h"
+#include "PagingDRX.h"
+#include "CNDomain.h"
+#include "TAIList.h"
+#include "CSG-IdList.h"
+#include "PagingPriority.h"
+#include "UERadioCapabilityForPaging.h"
+#include "AssistanceDataForPaging.h"
+#include "Paging-eDRXInformation.h"
+#include "Extended-UEIdentityIndexValue.h"
+#include "NB-IoT-Paging-eDRXInformation.h"
+#include "NB-IoT-UEIdentityIndexValue.h"
+#include "GWContextReleaseIndication.h"
+#include "UE-S1AP-IDs.h"
+#include "InformationOnRecommendedCellsAndENBsForPaging.h"
+#include "CellIdentifierAndCELevelForCECapableUEs.h"
+#include "TimeSinceSecondaryNodeRelease.h"
+#include "SRVCCOperationNotPossible.h"
+#include "VoiceSupportMatchIndicator.h"
+#include "DLNASPDUDeliveryAckRequest.h"
+#include "UECapabilityInfoRequest.h"
+#include "EndIndication.h"
+#include "S-TMSI.h"
+#include "TransportLayerAddress.h"
+#include "RelayNode-Indicator.h"
+#include "GUMMEIType.h"
+#include "MME-Group-ID.h"
+#include "UE-Usage-Type.h"
+#include "DCN-ID.h"
+#include "Coverage-Level.h"
+#include "UE-Application-Layer-Measurement-Capability.h"
+#include "EDT-Session.h"
+#include <OCTET_STRING.h>
+#include "Additional-GUTI.h"
+#include "ResetType.h"
+#include "UE-associatedLogicalS1-ConnectionListResAck.h"
+#include "Global-ENB-ID.h"
+#include "ENBname.h"
+#include "SupportedTAs.h"
+#include "UE-RetentionInformation.h"
+#include "NB-IoT-DefaultPagingDRX.h"
+#include "ConnectedengNBList.h"
+#include "MMEname.h"
+#include "ServedGUMMEIs.h"
+#include "RelativeMMECapacity.h"
+#include "MMERelaySupportIndicator.h"
+#include "ServedDCNs.h"
+#include "TimeToWait.h"
+#include "Cdma2000HOStatus.h"
+#include "Cdma2000RATType.h"
+#include "Cdma2000PDU.h"
+#include "Cdma2000SectorID.h"
+#include "Cdma2000HORequiredIndication.h"
+#include "Cdma2000OneXSRVCCInfo.h"
+#include "Cdma2000OneXRAND.h"
+#include "EUTRANRoundTripDelayEstimationInfo.h"
+#include "LTE-M-Indication.h"
+#include "ENB-StatusTransfer-TransparentContainer.h"
+#include "E-UTRAN-Trace-ID.h"
+#include "PrivacyIndicator.h"
+#include "OverloadResponse.h"
+#include "GUMMEIList.h"
+#include "TrafficLoadReductionIndication.h"
+#include "MessageIdentifier.h"
+#include "SerialNumber.h"
+#include "WarningAreaList.h"
+#include "RepetitionPeriod.h"
+#include "ExtendedRepetitionPeriod.h"
+#include "NumberofBroadcastRequest.h"
+#include "WarningType.h"
+#include "WarningSecurityInfo.h"
+#include "DataCodingScheme.h"
+#include "WarningMessageContents.h"
+#include "ConcurrentWarningMessageIndicator.h"
+#include "WarningAreaCoordinates.h"
+#include "BroadcastCompletedAreaList.h"
+#include "Inter-SystemInformationTransferType.h"
+#include "SONConfigurationTransfer.h"
+#include "EN-DCSONConfigurationTransfer.h"
+#include "KillAllWarningMessages.h"
+#include "BroadcastCancelledAreaList.h"
+#include "ECGIListForRestart.h"
+#include "TAIListForRestart.h"
+#include "EmergencyAreaIDListForRestart.h"
+#include "PWSfailedECGIList.h"
+#include "Routing-ID.h"
+#include "LPPa-PDU.h"
+#include "E-RABToBeModifiedListBearerModInd.h"
+#include "E-RABNotToBeModifiedListBearerModInd.h"
+#include "CSGMembershipInfo.h"
+#include "E-RABModifyListBearerModConf.h"
+#include "E-RABFailedToResumeListResumeReq.h"
+#include "E-RABFailedToResumeListResumeRes.h"
+#include "DL-CP-SecurityInformation.h"
+#include "E-RABLevelQoSParameters.h"
+#include "UL-CP-SecurityInformation.h"
+#include "HandoverFlag.h"
+#include "E-RABDataForwardingItem.h"
+#include "E-RABToBeSetupItemHOReq.h"
+#include "E-RABAdmittedItem.h"
+#include "E-RABFailedToSetupItemHOReqAck.h"
+#include "E-RABToBeSwitchedDLItem.h"
+#include "E-RABToBeSwitchedULItem.h"
+#include "E-RABToBeModifiedItemBearerModInd.h"
+#include "E-RABNotToBeModifiedItemBearerModInd.h"
+#include "E-RABFailedToResumeItemResumeReq.h"
+#include "E-RABFailedToResumeItemResumeRes.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum Bearers_SubjectToStatusTransfer_ItemIEs__value_PR {
+	Bearers_SubjectToStatusTransfer_ItemIEs__value_PR_NOTHING,	/* No components present */
+	Bearers_SubjectToStatusTransfer_ItemIEs__value_PR_Bearers_SubjectToStatusTransfer_Item
+} Bearers_SubjectToStatusTransfer_ItemIEs__value_PR;
+typedef enum E_RABInformationListIEs__value_PR {
+	E_RABInformationListIEs__value_PR_NOTHING,	/* No components present */
+	E_RABInformationListIEs__value_PR_E_RABInformationListItem
+} E_RABInformationListIEs__value_PR;
+typedef enum E_RABItemIEs__value_PR {
+	E_RABItemIEs__value_PR_NOTHING,	/* No components present */
+	E_RABItemIEs__value_PR_E_RABItem
+} E_RABItemIEs__value_PR;
+typedef enum E_RABUsageReportItemIEs__value_PR {
+	E_RABUsageReportItemIEs__value_PR_NOTHING,	/* No components present */
+	E_RABUsageReportItemIEs__value_PR_E_RABUsageReportItem
+} E_RABUsageReportItemIEs__value_PR;
+typedef enum MDTMode_ExtensionIE__value_PR {
+	MDTMode_ExtensionIE__value_PR_NOTHING,	/* No components present */
+	MDTMode_ExtensionIE__value_PR_LoggedMBSFNMDT
+} MDTMode_ExtensionIE__value_PR;
+typedef enum RecommendedCellItemIEs__value_PR {
+	RecommendedCellItemIEs__value_PR_NOTHING,	/* No components present */
+	RecommendedCellItemIEs__value_PR_RecommendedCellItem
+} RecommendedCellItemIEs__value_PR;
+typedef enum RecommendedENBItemIEs__value_PR {
+	RecommendedENBItemIEs__value_PR_NOTHING,	/* No components present */
+	RecommendedENBItemIEs__value_PR_RecommendedENBItem
+} RecommendedENBItemIEs__value_PR;
+typedef enum SecondaryRATDataUsageReportItemIEs__value_PR {
+	SecondaryRATDataUsageReportItemIEs__value_PR_NOTHING,	/* No components present */
+	SecondaryRATDataUsageReportItemIEs__value_PR_SecondaryRATDataUsageReportItem
+} SecondaryRATDataUsageReportItemIEs__value_PR;
+typedef enum SONInformation_ExtensionIE__value_PR {
+	SONInformation_ExtensionIE__value_PR_NOTHING,	/* No components present */
+	SONInformation_ExtensionIE__value_PR_SONInformationReport
+} SONInformation_ExtensionIE__value_PR;
+typedef enum E_RABToBeSetupItemBearerSUReqIEs__value_PR {
+	E_RABToBeSetupItemBearerSUReqIEs__value_PR_NOTHING,	/* No components present */
+	E_RABToBeSetupItemBearerSUReqIEs__value_PR_E_RABToBeSetupItemBearerSUReq
+} E_RABToBeSetupItemBearerSUReqIEs__value_PR;
+typedef enum E_RABSetupItemBearerSUResIEs__value_PR {
+	E_RABSetupItemBearerSUResIEs__value_PR_NOTHING,	/* No components present */
+	E_RABSetupItemBearerSUResIEs__value_PR_E_RABSetupItemBearerSURes
+} E_RABSetupItemBearerSUResIEs__value_PR;
+typedef enum E_RABToBeModifiedItemBearerModReqIEs__value_PR {
+	E_RABToBeModifiedItemBearerModReqIEs__value_PR_NOTHING,	/* No components present */
+	E_RABToBeModifiedItemBearerModReqIEs__value_PR_E_RABToBeModifiedItemBearerModReq
+} E_RABToBeModifiedItemBearerModReqIEs__value_PR;
+typedef enum E_RABModifyItemBearerModResIEs__value_PR {
+	E_RABModifyItemBearerModResIEs__value_PR_NOTHING,	/* No components present */
+	E_RABModifyItemBearerModResIEs__value_PR_E_RABModifyItemBearerModRes
+} E_RABModifyItemBearerModResIEs__value_PR;
+typedef enum E_RABReleaseItemBearerRelCompIEs__value_PR {
+	E_RABReleaseItemBearerRelCompIEs__value_PR_NOTHING,	/* No components present */
+	E_RABReleaseItemBearerRelCompIEs__value_PR_E_RABReleaseItemBearerRelComp
+} E_RABReleaseItemBearerRelCompIEs__value_PR;
+typedef enum E_RABToBeSetupItemCtxtSUReqIEs__value_PR {
+	E_RABToBeSetupItemCtxtSUReqIEs__value_PR_NOTHING,	/* No components present */
+	E_RABToBeSetupItemCtxtSUReqIEs__value_PR_E_RABToBeSetupItemCtxtSUReq
+} E_RABToBeSetupItemCtxtSUReqIEs__value_PR;
+typedef enum E_RABSetupItemCtxtSUResIEs__value_PR {
+	E_RABSetupItemCtxtSUResIEs__value_PR_NOTHING,	/* No components present */
+	E_RABSetupItemCtxtSUResIEs__value_PR_E_RABSetupItemCtxtSURes
+} E_RABSetupItemCtxtSUResIEs__value_PR;
+typedef enum TAIItemIEs__value_PR {
+	TAIItemIEs__value_PR_NOTHING,	/* No components present */
+	TAIItemIEs__value_PR_TAIItem
+} TAIItemIEs__value_PR;
+typedef enum UE_associatedLogicalS1_ConnectionItemRes__value_PR {
+	UE_associatedLogicalS1_ConnectionItemRes__value_PR_NOTHING,	/* No components present */
+	UE_associatedLogicalS1_ConnectionItemRes__value_PR_UE_associatedLogicalS1_ConnectionItem
+} UE_associatedLogicalS1_ConnectionItemRes__value_PR;
+typedef enum UE_associatedLogicalS1_ConnectionItemResAck__value_PR {
+	UE_associatedLogicalS1_ConnectionItemResAck__value_PR_NOTHING,	/* No components present */
+	UE_associatedLogicalS1_ConnectionItemResAck__value_PR_UE_associatedLogicalS1_ConnectionItem
+} UE_associatedLogicalS1_ConnectionItemResAck__value_PR;
+typedef enum E_RABModifyItemBearerModConfIEs__value_PR {
+	E_RABModifyItemBearerModConfIEs__value_PR_NOTHING,	/* No components present */
+	E_RABModifyItemBearerModConfIEs__value_PR_E_RABModifyItemBearerModConf
+} E_RABModifyItemBearerModConfIEs__value_PR;
+typedef enum HandoverRequiredIEs__value_PR {
+	HandoverRequiredIEs__value_PR_NOTHING,	/* No components present */
+	HandoverRequiredIEs__value_PR_MME_UE_S1AP_ID,
+	HandoverRequiredIEs__value_PR_ENB_UE_S1AP_ID,
+	HandoverRequiredIEs__value_PR_HandoverType,
+	HandoverRequiredIEs__value_PR_Cause,
+	HandoverRequiredIEs__value_PR_TargetID,
+	HandoverRequiredIEs__value_PR_Direct_Forwarding_Path_Availability,
+	HandoverRequiredIEs__value_PR_SRVCCHOIndication,
+	HandoverRequiredIEs__value_PR_Source_ToTarget_TransparentContainer,
+	HandoverRequiredIEs__value_PR_Source_ToTarget_TransparentContainer_1,
+	HandoverRequiredIEs__value_PR_MSClassmark2,
+	HandoverRequiredIEs__value_PR_MSClassmark3,
+	HandoverRequiredIEs__value_PR_CSG_Id,
+	HandoverRequiredIEs__value_PR_CellAccessMode,
+	HandoverRequiredIEs__value_PR_PS_ServiceNotAvailable
+} HandoverRequiredIEs__value_PR;
+typedef enum HandoverCommandIEs__value_PR {
+	HandoverCommandIEs__value_PR_NOTHING,	/* No components present */
+	HandoverCommandIEs__value_PR_MME_UE_S1AP_ID,
+	HandoverCommandIEs__value_PR_ENB_UE_S1AP_ID,
+	HandoverCommandIEs__value_PR_HandoverType,
+	HandoverCommandIEs__value_PR_NASSecurityParametersfromE_UTRAN,
+	HandoverCommandIEs__value_PR_E_RABSubjecttoDataForwardingList,
+	HandoverCommandIEs__value_PR_E_RABList,
+	HandoverCommandIEs__value_PR_Target_ToSource_TransparentContainer,
+	HandoverCommandIEs__value_PR_Target_ToSource_TransparentContainer_1,
+	HandoverCommandIEs__value_PR_CriticalityDiagnostics
+} HandoverCommandIEs__value_PR;
+typedef enum HandoverPreparationFailureIEs__value_PR {
+	HandoverPreparationFailureIEs__value_PR_NOTHING,	/* No components present */
+	HandoverPreparationFailureIEs__value_PR_MME_UE_S1AP_ID,
+	HandoverPreparationFailureIEs__value_PR_ENB_UE_S1AP_ID,
+	HandoverPreparationFailureIEs__value_PR_Cause,
+	HandoverPreparationFailureIEs__value_PR_CriticalityDiagnostics
+} HandoverPreparationFailureIEs__value_PR;
+typedef enum HandoverRequestIEs__value_PR {
+	HandoverRequestIEs__value_PR_NOTHING,	/* No components present */
+	HandoverRequestIEs__value_PR_MME_UE_S1AP_ID,
+	HandoverRequestIEs__value_PR_HandoverType,
+	HandoverRequestIEs__value_PR_Cause,
+	HandoverRequestIEs__value_PR_UEAggregateMaximumBitrate,
+	HandoverRequestIEs__value_PR_E_RABToBeSetupListHOReq,
+	HandoverRequestIEs__value_PR_Source_ToTarget_TransparentContainer,
+	HandoverRequestIEs__value_PR_UESecurityCapabilities,
+	HandoverRequestIEs__value_PR_HandoverRestrictionList,
+	HandoverRequestIEs__value_PR_TraceActivation,
+	HandoverRequestIEs__value_PR_RequestType,
+	HandoverRequestIEs__value_PR_SRVCCOperationPossible,
+	HandoverRequestIEs__value_PR_SecurityContext,
+	HandoverRequestIEs__value_PR_NASSecurityParameterstoE_UTRAN,
+	HandoverRequestIEs__value_PR_CSG_Id,
+	HandoverRequestIEs__value_PR_CSGMembershipStatus,
+	HandoverRequestIEs__value_PR_GUMMEI,
+	HandoverRequestIEs__value_PR_MME_UE_S1AP_ID_1,
+	HandoverRequestIEs__value_PR_ManagementBasedMDTAllowed,
+	HandoverRequestIEs__value_PR_MDTPLMNList,
+	HandoverRequestIEs__value_PR_Masked_IMEISV,
+	HandoverRequestIEs__value_PR_ExpectedUEBehaviour,
+	HandoverRequestIEs__value_PR_ProSeAuthorized,
+	HandoverRequestIEs__value_PR_UEUserPlaneCIoTSupportIndicator,
+	HandoverRequestIEs__value_PR_V2XServicesAuthorized,
+	HandoverRequestIEs__value_PR_UESidelinkAggregateMaximumBitrate,
+	HandoverRequestIEs__value_PR_EnhancedCoverageRestricted,
+	HandoverRequestIEs__value_PR_NRUESecurityCapabilities,
+	HandoverRequestIEs__value_PR_CE_ModeBRestricted,
+	HandoverRequestIEs__value_PR_AerialUEsubscriptionInformation,
+	HandoverRequestIEs__value_PR_PendingDataIndication,
+	HandoverRequestIEs__value_PR_Subscription_Based_UE_DifferentiationInfo
+} HandoverRequestIEs__value_PR;
+typedef enum HandoverRequestAcknowledgeIEs__value_PR {
+	HandoverRequestAcknowledgeIEs__value_PR_NOTHING,	/* No components present */
+	HandoverRequestAcknowledgeIEs__value_PR_MME_UE_S1AP_ID,
+	HandoverRequestAcknowledgeIEs__value_PR_ENB_UE_S1AP_ID,
+	HandoverRequestAcknowledgeIEs__value_PR_E_RABAdmittedList,
+	HandoverRequestAcknowledgeIEs__value_PR_E_RABFailedtoSetupListHOReqAck,
+	HandoverRequestAcknowledgeIEs__value_PR_Target_ToSource_TransparentContainer,
+	HandoverRequestAcknowledgeIEs__value_PR_CSG_Id,
+	HandoverRequestAcknowledgeIEs__value_PR_CriticalityDiagnostics,
+	HandoverRequestAcknowledgeIEs__value_PR_CellAccessMode,
+	HandoverRequestAcknowledgeIEs__value_PR_CE_mode_B_SupportIndicator
+} HandoverRequestAcknowledgeIEs__value_PR;
+typedef enum HandoverFailureIEs__value_PR {
+	HandoverFailureIEs__value_PR_NOTHING,	/* No components present */
+	HandoverFailureIEs__value_PR_MME_UE_S1AP_ID,
+	HandoverFailureIEs__value_PR_Cause,
+	HandoverFailureIEs__value_PR_CriticalityDiagnostics
+} HandoverFailureIEs__value_PR;
+typedef enum HandoverNotifyIEs__value_PR {
+	HandoverNotifyIEs__value_PR_NOTHING,	/* No components present */
+	HandoverNotifyIEs__value_PR_MME_UE_S1AP_ID,
+	HandoverNotifyIEs__value_PR_ENB_UE_S1AP_ID,
+	HandoverNotifyIEs__value_PR_EUTRAN_CGI,
+	HandoverNotifyIEs__value_PR_TAI,
+	HandoverNotifyIEs__value_PR_TunnelInformation,
+	HandoverNotifyIEs__value_PR_LHN_ID,
+	HandoverNotifyIEs__value_PR_PSCellInformation
+} HandoverNotifyIEs__value_PR;
+typedef enum PathSwitchRequestIEs__value_PR {
+	PathSwitchRequestIEs__value_PR_NOTHING,	/* No components present */
+	PathSwitchRequestIEs__value_PR_ENB_UE_S1AP_ID,
+	PathSwitchRequestIEs__value_PR_E_RABToBeSwitchedDLList,
+	PathSwitchRequestIEs__value_PR_MME_UE_S1AP_ID,
+	PathSwitchRequestIEs__value_PR_EUTRAN_CGI,
+	PathSwitchRequestIEs__value_PR_TAI,
+	PathSwitchRequestIEs__value_PR_UESecurityCapabilities,
+	PathSwitchRequestIEs__value_PR_CSG_Id,
+	PathSwitchRequestIEs__value_PR_CellAccessMode,
+	PathSwitchRequestIEs__value_PR_GUMMEI,
+	PathSwitchRequestIEs__value_PR_CSGMembershipStatus,
+	PathSwitchRequestIEs__value_PR_TunnelInformation,
+	PathSwitchRequestIEs__value_PR_LHN_ID,
+	PathSwitchRequestIEs__value_PR_RRC_Establishment_Cause,
+	PathSwitchRequestIEs__value_PR_NRUESecurityCapabilities,
+	PathSwitchRequestIEs__value_PR_PSCellInformation
+} PathSwitchRequestIEs__value_PR;
+typedef enum PathSwitchRequestAcknowledgeIEs__value_PR {
+	PathSwitchRequestAcknowledgeIEs__value_PR_NOTHING,	/* No components present */
+	PathSwitchRequestAcknowledgeIEs__value_PR_MME_UE_S1AP_ID,
+	PathSwitchRequestAcknowledgeIEs__value_PR_ENB_UE_S1AP_ID,
+	PathSwitchRequestAcknowledgeIEs__value_PR_UEAggregateMaximumBitrate,
+	PathSwitchRequestAcknowledgeIEs__value_PR_E_RABToBeSwitchedULList,
+	PathSwitchRequestAcknowledgeIEs__value_PR_E_RABList,
+	PathSwitchRequestAcknowledgeIEs__value_PR_SecurityContext,
+	PathSwitchRequestAcknowledgeIEs__value_PR_CriticalityDiagnostics,
+	PathSwitchRequestAcknowledgeIEs__value_PR_MME_UE_S1AP_ID_1,
+	PathSwitchRequestAcknowledgeIEs__value_PR_CSGMembershipStatus,
+	PathSwitchRequestAcknowledgeIEs__value_PR_ProSeAuthorized,
+	PathSwitchRequestAcknowledgeIEs__value_PR_UEUserPlaneCIoTSupportIndicator,
+	PathSwitchRequestAcknowledgeIEs__value_PR_V2XServicesAuthorized,
+	PathSwitchRequestAcknowledgeIEs__value_PR_UESidelinkAggregateMaximumBitrate,
+	PathSwitchRequestAcknowledgeIEs__value_PR_EnhancedCoverageRestricted,
+	PathSwitchRequestAcknowledgeIEs__value_PR_NRUESecurityCapabilities,
+	PathSwitchRequestAcknowledgeIEs__value_PR_CE_ModeBRestricted,
+	PathSwitchRequestAcknowledgeIEs__value_PR_AerialUEsubscriptionInformation,
+	PathSwitchRequestAcknowledgeIEs__value_PR_PendingDataIndication,
+	PathSwitchRequestAcknowledgeIEs__value_PR_Subscription_Based_UE_DifferentiationInfo
+} PathSwitchRequestAcknowledgeIEs__value_PR;
+typedef enum PathSwitchRequestFailureIEs__value_PR {
+	PathSwitchRequestFailureIEs__value_PR_NOTHING,	/* No components present */
+	PathSwitchRequestFailureIEs__value_PR_MME_UE_S1AP_ID,
+	PathSwitchRequestFailureIEs__value_PR_ENB_UE_S1AP_ID,
+	PathSwitchRequestFailureIEs__value_PR_Cause,
+	PathSwitchRequestFailureIEs__value_PR_CriticalityDiagnostics
+} PathSwitchRequestFailureIEs__value_PR;
+typedef enum HandoverCancelIEs__value_PR {
+	HandoverCancelIEs__value_PR_NOTHING,	/* No components present */
+	HandoverCancelIEs__value_PR_MME_UE_S1AP_ID,
+	HandoverCancelIEs__value_PR_ENB_UE_S1AP_ID,
+	HandoverCancelIEs__value_PR_Cause
+} HandoverCancelIEs__value_PR;
+typedef enum HandoverCancelAcknowledgeIEs__value_PR {
+	HandoverCancelAcknowledgeIEs__value_PR_NOTHING,	/* No components present */
+	HandoverCancelAcknowledgeIEs__value_PR_MME_UE_S1AP_ID,
+	HandoverCancelAcknowledgeIEs__value_PR_ENB_UE_S1AP_ID,
+	HandoverCancelAcknowledgeIEs__value_PR_CriticalityDiagnostics
+} HandoverCancelAcknowledgeIEs__value_PR;
+typedef enum E_RABSetupRequestIEs__value_PR {
+	E_RABSetupRequestIEs__value_PR_NOTHING,	/* No components present */
+	E_RABSetupRequestIEs__value_PR_MME_UE_S1AP_ID,
+	E_RABSetupRequestIEs__value_PR_ENB_UE_S1AP_ID,
+	E_RABSetupRequestIEs__value_PR_UEAggregateMaximumBitrate,
+	E_RABSetupRequestIEs__value_PR_E_RABToBeSetupListBearerSUReq
+} E_RABSetupRequestIEs__value_PR;
+typedef enum E_RABSetupResponseIEs__value_PR {
+	E_RABSetupResponseIEs__value_PR_NOTHING,	/* No components present */
+	E_RABSetupResponseIEs__value_PR_MME_UE_S1AP_ID,
+	E_RABSetupResponseIEs__value_PR_ENB_UE_S1AP_ID,
+	E_RABSetupResponseIEs__value_PR_E_RABSetupListBearerSURes,
+	E_RABSetupResponseIEs__value_PR_E_RABList,
+	E_RABSetupResponseIEs__value_PR_CriticalityDiagnostics
+} E_RABSetupResponseIEs__value_PR;
+typedef enum E_RABModifyRequestIEs__value_PR {
+	E_RABModifyRequestIEs__value_PR_NOTHING,	/* No components present */
+	E_RABModifyRequestIEs__value_PR_MME_UE_S1AP_ID,
+	E_RABModifyRequestIEs__value_PR_ENB_UE_S1AP_ID,
+	E_RABModifyRequestIEs__value_PR_UEAggregateMaximumBitrate,
+	E_RABModifyRequestIEs__value_PR_E_RABToBeModifiedListBearerModReq,
+	E_RABModifyRequestIEs__value_PR_SecondaryRATDataUsageRequest
+} E_RABModifyRequestIEs__value_PR;
+typedef enum E_RABModifyResponseIEs__value_PR {
+	E_RABModifyResponseIEs__value_PR_NOTHING,	/* No components present */
+	E_RABModifyResponseIEs__value_PR_MME_UE_S1AP_ID,
+	E_RABModifyResponseIEs__value_PR_ENB_UE_S1AP_ID,
+	E_RABModifyResponseIEs__value_PR_E_RABModifyListBearerModRes,
+	E_RABModifyResponseIEs__value_PR_E_RABList,
+	E_RABModifyResponseIEs__value_PR_CriticalityDiagnostics,
+	E_RABModifyResponseIEs__value_PR_SecondaryRATDataUsageReportList
+} E_RABModifyResponseIEs__value_PR;
+typedef enum E_RABReleaseCommandIEs__value_PR {
+	E_RABReleaseCommandIEs__value_PR_NOTHING,	/* No components present */
+	E_RABReleaseCommandIEs__value_PR_MME_UE_S1AP_ID,
+	E_RABReleaseCommandIEs__value_PR_ENB_UE_S1AP_ID,
+	E_RABReleaseCommandIEs__value_PR_UEAggregateMaximumBitrate,
+	E_RABReleaseCommandIEs__value_PR_E_RABList,
+	E_RABReleaseCommandIEs__value_PR_NAS_PDU
+} E_RABReleaseCommandIEs__value_PR;
+typedef enum E_RABReleaseResponseIEs__value_PR {
+	E_RABReleaseResponseIEs__value_PR_NOTHING,	/* No components present */
+	E_RABReleaseResponseIEs__value_PR_MME_UE_S1AP_ID,
+	E_RABReleaseResponseIEs__value_PR_ENB_UE_S1AP_ID,
+	E_RABReleaseResponseIEs__value_PR_E_RABReleaseListBearerRelComp,
+	E_RABReleaseResponseIEs__value_PR_E_RABList,
+	E_RABReleaseResponseIEs__value_PR_CriticalityDiagnostics,
+	E_RABReleaseResponseIEs__value_PR_UserLocationInformation,
+	E_RABReleaseResponseIEs__value_PR_SecondaryRATDataUsageReportList
+} E_RABReleaseResponseIEs__value_PR;
+typedef enum E_RABReleaseIndicationIEs__value_PR {
+	E_RABReleaseIndicationIEs__value_PR_NOTHING,	/* No components present */
+	E_RABReleaseIndicationIEs__value_PR_MME_UE_S1AP_ID,
+	E_RABReleaseIndicationIEs__value_PR_ENB_UE_S1AP_ID,
+	E_RABReleaseIndicationIEs__value_PR_E_RABList,
+	E_RABReleaseIndicationIEs__value_PR_UserLocationInformation,
+	E_RABReleaseIndicationIEs__value_PR_SecondaryRATDataUsageReportList
+} E_RABReleaseIndicationIEs__value_PR;
+typedef enum InitialContextSetupRequestIEs__value_PR {
+	InitialContextSetupRequestIEs__value_PR_NOTHING,	/* No components present */
+	InitialContextSetupRequestIEs__value_PR_MME_UE_S1AP_ID,
+	InitialContextSetupRequestIEs__value_PR_ENB_UE_S1AP_ID,
+	InitialContextSetupRequestIEs__value_PR_UEAggregateMaximumBitrate,
+	InitialContextSetupRequestIEs__value_PR_E_RABToBeSetupListCtxtSUReq,
+	InitialContextSetupRequestIEs__value_PR_UESecurityCapabilities,
+	InitialContextSetupRequestIEs__value_PR_SecurityKey,
+	InitialContextSetupRequestIEs__value_PR_TraceActivation,
+	InitialContextSetupRequestIEs__value_PR_HandoverRestrictionList,
+	InitialContextSetupRequestIEs__value_PR_UERadioCapability,
+	InitialContextSetupRequestIEs__value_PR_SubscriberProfileIDforRFP,
+	InitialContextSetupRequestIEs__value_PR_CSFallbackIndicator,
+	InitialContextSetupRequestIEs__value_PR_SRVCCOperationPossible,
+	InitialContextSetupRequestIEs__value_PR_CSGMembershipStatus,
+	InitialContextSetupRequestIEs__value_PR_LAI,
+	InitialContextSetupRequestIEs__value_PR_GUMMEI,
+	InitialContextSetupRequestIEs__value_PR_MME_UE_S1AP_ID_1,
+	InitialContextSetupRequestIEs__value_PR_ManagementBasedMDTAllowed,
+	InitialContextSetupRequestIEs__value_PR_MDTPLMNList,
+	InitialContextSetupRequestIEs__value_PR_AdditionalCSFallbackIndicator,
+	InitialContextSetupRequestIEs__value_PR_Masked_IMEISV,
+	InitialContextSetupRequestIEs__value_PR_ExpectedUEBehaviour,
+	InitialContextSetupRequestIEs__value_PR_ProSeAuthorized,
+	InitialContextSetupRequestIEs__value_PR_UEUserPlaneCIoTSupportIndicator,
+	InitialContextSetupRequestIEs__value_PR_V2XServicesAuthorized,
+	InitialContextSetupRequestIEs__value_PR_UESidelinkAggregateMaximumBitrate,
+	InitialContextSetupRequestIEs__value_PR_EnhancedCoverageRestricted,
+	InitialContextSetupRequestIEs__value_PR_NRUESecurityCapabilities,
+	InitialContextSetupRequestIEs__value_PR_CE_ModeBRestricted,
+	InitialContextSetupRequestIEs__value_PR_AerialUEsubscriptionInformation,
+	InitialContextSetupRequestIEs__value_PR_PendingDataIndication,
+	InitialContextSetupRequestIEs__value_PR_Subscription_Based_UE_DifferentiationInfo
+} InitialContextSetupRequestIEs__value_PR;
+typedef enum InitialContextSetupResponseIEs__value_PR {
+	InitialContextSetupResponseIEs__value_PR_NOTHING,	/* No components present */
+	InitialContextSetupResponseIEs__value_PR_MME_UE_S1AP_ID,
+	InitialContextSetupResponseIEs__value_PR_ENB_UE_S1AP_ID,
+	InitialContextSetupResponseIEs__value_PR_E_RABSetupListCtxtSURes,
+	InitialContextSetupResponseIEs__value_PR_E_RABList,
+	InitialContextSetupResponseIEs__value_PR_CriticalityDiagnostics
+} InitialContextSetupResponseIEs__value_PR;
+typedef enum InitialContextSetupFailureIEs__value_PR {
+	InitialContextSetupFailureIEs__value_PR_NOTHING,	/* No components present */
+	InitialContextSetupFailureIEs__value_PR_MME_UE_S1AP_ID,
+	InitialContextSetupFailureIEs__value_PR_ENB_UE_S1AP_ID,
+	InitialContextSetupFailureIEs__value_PR_Cause,
+	InitialContextSetupFailureIEs__value_PR_CriticalityDiagnostics
+} InitialContextSetupFailureIEs__value_PR;
+typedef enum PagingIEs__value_PR {
+	PagingIEs__value_PR_NOTHING,	/* No components present */
+	PagingIEs__value_PR_UEIdentityIndexValue,
+	PagingIEs__value_PR_UEPagingID,
+	PagingIEs__value_PR_PagingDRX,
+	PagingIEs__value_PR_CNDomain,
+	PagingIEs__value_PR_TAIList,
+	PagingIEs__value_PR_CSG_IdList,
+	PagingIEs__value_PR_PagingPriority,
+	PagingIEs__value_PR_UERadioCapabilityForPaging,
+	PagingIEs__value_PR_AssistanceDataForPaging,
+	PagingIEs__value_PR_Paging_eDRXInformation,
+	PagingIEs__value_PR_Extended_UEIdentityIndexValue,
+	PagingIEs__value_PR_NB_IoT_Paging_eDRXInformation,
+	PagingIEs__value_PR_NB_IoT_UEIdentityIndexValue,
+	PagingIEs__value_PR_EnhancedCoverageRestricted,
+	PagingIEs__value_PR_CE_ModeBRestricted
+} PagingIEs__value_PR;
+typedef enum UEContextReleaseRequest_IEs__value_PR {
+	UEContextReleaseRequest_IEs__value_PR_NOTHING,	/* No components present */
+	UEContextReleaseRequest_IEs__value_PR_MME_UE_S1AP_ID,
+	UEContextReleaseRequest_IEs__value_PR_ENB_UE_S1AP_ID,
+	UEContextReleaseRequest_IEs__value_PR_Cause,
+	UEContextReleaseRequest_IEs__value_PR_GWContextReleaseIndication,
+	UEContextReleaseRequest_IEs__value_PR_SecondaryRATDataUsageReportList
+} UEContextReleaseRequest_IEs__value_PR;
+typedef enum UEContextReleaseCommand_IEs__value_PR {
+	UEContextReleaseCommand_IEs__value_PR_NOTHING,	/* No components present */
+	UEContextReleaseCommand_IEs__value_PR_UE_S1AP_IDs,
+	UEContextReleaseCommand_IEs__value_PR_Cause
+} UEContextReleaseCommand_IEs__value_PR;
+typedef enum UEContextReleaseComplete_IEs__value_PR {
+	UEContextReleaseComplete_IEs__value_PR_NOTHING,	/* No components present */
+	UEContextReleaseComplete_IEs__value_PR_MME_UE_S1AP_ID,
+	UEContextReleaseComplete_IEs__value_PR_ENB_UE_S1AP_ID,
+	UEContextReleaseComplete_IEs__value_PR_CriticalityDiagnostics,
+	UEContextReleaseComplete_IEs__value_PR_UserLocationInformation,
+	UEContextReleaseComplete_IEs__value_PR_InformationOnRecommendedCellsAndENBsForPaging,
+	UEContextReleaseComplete_IEs__value_PR_CellIdentifierAndCELevelForCECapableUEs,
+	UEContextReleaseComplete_IEs__value_PR_SecondaryRATDataUsageReportList,
+	UEContextReleaseComplete_IEs__value_PR_TimeSinceSecondaryNodeRelease
+} UEContextReleaseComplete_IEs__value_PR;
+typedef enum UEContextModificationRequestIEs__value_PR {
+	UEContextModificationRequestIEs__value_PR_NOTHING,	/* No components present */
+	UEContextModificationRequestIEs__value_PR_MME_UE_S1AP_ID,
+	UEContextModificationRequestIEs__value_PR_ENB_UE_S1AP_ID,
+	UEContextModificationRequestIEs__value_PR_SecurityKey,
+	UEContextModificationRequestIEs__value_PR_SubscriberProfileIDforRFP,
+	UEContextModificationRequestIEs__value_PR_UEAggregateMaximumBitrate,
+	UEContextModificationRequestIEs__value_PR_CSFallbackIndicator,
+	UEContextModificationRequestIEs__value_PR_UESecurityCapabilities,
+	UEContextModificationRequestIEs__value_PR_CSGMembershipStatus,
+	UEContextModificationRequestIEs__value_PR_LAI,
+	UEContextModificationRequestIEs__value_PR_AdditionalCSFallbackIndicator,
+	UEContextModificationRequestIEs__value_PR_ProSeAuthorized,
+	UEContextModificationRequestIEs__value_PR_SRVCCOperationPossible,
+	UEContextModificationRequestIEs__value_PR_SRVCCOperationNotPossible,
+	UEContextModificationRequestIEs__value_PR_V2XServicesAuthorized,
+	UEContextModificationRequestIEs__value_PR_UESidelinkAggregateMaximumBitrate,
+	UEContextModificationRequestIEs__value_PR_NRUESecurityCapabilities,
+	UEContextModificationRequestIEs__value_PR_AerialUEsubscriptionInformation
+} UEContextModificationRequestIEs__value_PR;
+typedef enum UEContextModificationResponseIEs__value_PR {
+	UEContextModificationResponseIEs__value_PR_NOTHING,	/* No components present */
+	UEContextModificationResponseIEs__value_PR_MME_UE_S1AP_ID,
+	UEContextModificationResponseIEs__value_PR_ENB_UE_S1AP_ID,
+	UEContextModificationResponseIEs__value_PR_CriticalityDiagnostics
+} UEContextModificationResponseIEs__value_PR;
+typedef enum UEContextModificationFailureIEs__value_PR {
+	UEContextModificationFailureIEs__value_PR_NOTHING,	/* No components present */
+	UEContextModificationFailureIEs__value_PR_MME_UE_S1AP_ID,
+	UEContextModificationFailureIEs__value_PR_ENB_UE_S1AP_ID,
+	UEContextModificationFailureIEs__value_PR_Cause,
+	UEContextModificationFailureIEs__value_PR_CriticalityDiagnostics
+} UEContextModificationFailureIEs__value_PR;
+typedef enum UERadioCapabilityMatchRequestIEs__value_PR {
+	UERadioCapabilityMatchRequestIEs__value_PR_NOTHING,	/* No components present */
+	UERadioCapabilityMatchRequestIEs__value_PR_MME_UE_S1AP_ID,
+	UERadioCapabilityMatchRequestIEs__value_PR_ENB_UE_S1AP_ID,
+	UERadioCapabilityMatchRequestIEs__value_PR_UERadioCapability
+} UERadioCapabilityMatchRequestIEs__value_PR;
+typedef enum UERadioCapabilityMatchResponseIEs__value_PR {
+	UERadioCapabilityMatchResponseIEs__value_PR_NOTHING,	/* No components present */
+	UERadioCapabilityMatchResponseIEs__value_PR_MME_UE_S1AP_ID,
+	UERadioCapabilityMatchResponseIEs__value_PR_ENB_UE_S1AP_ID,
+	UERadioCapabilityMatchResponseIEs__value_PR_VoiceSupportMatchIndicator,
+	UERadioCapabilityMatchResponseIEs__value_PR_CriticalityDiagnostics
+} UERadioCapabilityMatchResponseIEs__value_PR;
+typedef enum DownlinkNASTransport_IEs__value_PR {
+	DownlinkNASTransport_IEs__value_PR_NOTHING,	/* No components present */
+	DownlinkNASTransport_IEs__value_PR_MME_UE_S1AP_ID,
+	DownlinkNASTransport_IEs__value_PR_ENB_UE_S1AP_ID,
+	DownlinkNASTransport_IEs__value_PR_NAS_PDU,
+	DownlinkNASTransport_IEs__value_PR_HandoverRestrictionList,
+	DownlinkNASTransport_IEs__value_PR_SubscriberProfileIDforRFP,
+	DownlinkNASTransport_IEs__value_PR_SRVCCOperationPossible,
+	DownlinkNASTransport_IEs__value_PR_UERadioCapability,
+	DownlinkNASTransport_IEs__value_PR_DLNASPDUDeliveryAckRequest,
+	DownlinkNASTransport_IEs__value_PR_EnhancedCoverageRestricted,
+	DownlinkNASTransport_IEs__value_PR_NRUESecurityCapabilities,
+	DownlinkNASTransport_IEs__value_PR_CE_ModeBRestricted,
+	DownlinkNASTransport_IEs__value_PR_UECapabilityInfoRequest,
+	DownlinkNASTransport_IEs__value_PR_EndIndication,
+	DownlinkNASTransport_IEs__value_PR_PendingDataIndication,
+	DownlinkNASTransport_IEs__value_PR_Subscription_Based_UE_DifferentiationInfo
+} DownlinkNASTransport_IEs__value_PR;
+typedef enum InitialUEMessage_IEs__value_PR {
+	InitialUEMessage_IEs__value_PR_NOTHING,	/* No components present */
+	InitialUEMessage_IEs__value_PR_ENB_UE_S1AP_ID,
+	InitialUEMessage_IEs__value_PR_NAS_PDU,
+	InitialUEMessage_IEs__value_PR_TAI,
+	InitialUEMessage_IEs__value_PR_EUTRAN_CGI,
+	InitialUEMessage_IEs__value_PR_RRC_Establishment_Cause,
+	InitialUEMessage_IEs__value_PR_S_TMSI,
+	InitialUEMessage_IEs__value_PR_CSG_Id,
+	InitialUEMessage_IEs__value_PR_GUMMEI,
+	InitialUEMessage_IEs__value_PR_CellAccessMode,
+	InitialUEMessage_IEs__value_PR_TransportLayerAddress,
+	InitialUEMessage_IEs__value_PR_RelayNode_Indicator,
+	InitialUEMessage_IEs__value_PR_GUMMEIType,
+	InitialUEMessage_IEs__value_PR_TunnelInformation,
+	InitialUEMessage_IEs__value_PR_TransportLayerAddress_1,
+	InitialUEMessage_IEs__value_PR_LHN_ID,
+	InitialUEMessage_IEs__value_PR_MME_Group_ID,
+	InitialUEMessage_IEs__value_PR_UE_Usage_Type,
+	InitialUEMessage_IEs__value_PR_CE_mode_B_SupportIndicator,
+	InitialUEMessage_IEs__value_PR_DCN_ID,
+	InitialUEMessage_IEs__value_PR_Coverage_Level,
+	InitialUEMessage_IEs__value_PR_UE_Application_Layer_Measurement_Capability,
+	InitialUEMessage_IEs__value_PR_EDT_Session
+} InitialUEMessage_IEs__value_PR;
+typedef enum UplinkNASTransport_IEs__value_PR {
+	UplinkNASTransport_IEs__value_PR_NOTHING,	/* No components present */
+	UplinkNASTransport_IEs__value_PR_MME_UE_S1AP_ID,
+	UplinkNASTransport_IEs__value_PR_ENB_UE_S1AP_ID,
+	UplinkNASTransport_IEs__value_PR_NAS_PDU,
+	UplinkNASTransport_IEs__value_PR_EUTRAN_CGI,
+	UplinkNASTransport_IEs__value_PR_TAI,
+	UplinkNASTransport_IEs__value_PR_TransportLayerAddress,
+	UplinkNASTransport_IEs__value_PR_TransportLayerAddress_1,
+	UplinkNASTransport_IEs__value_PR_LHN_ID,
+	UplinkNASTransport_IEs__value_PR_PSCellInformation
+} UplinkNASTransport_IEs__value_PR;
+typedef enum NASNonDeliveryIndication_IEs__value_PR {
+	NASNonDeliveryIndication_IEs__value_PR_NOTHING,	/* No components present */
+	NASNonDeliveryIndication_IEs__value_PR_MME_UE_S1AP_ID,
+	NASNonDeliveryIndication_IEs__value_PR_ENB_UE_S1AP_ID,
+	NASNonDeliveryIndication_IEs__value_PR_NAS_PDU,
+	NASNonDeliveryIndication_IEs__value_PR_Cause
+} NASNonDeliveryIndication_IEs__value_PR;
+typedef enum RerouteNASRequest_IEs__value_PR {
+	RerouteNASRequest_IEs__value_PR_NOTHING,	/* No components present */
+	RerouteNASRequest_IEs__value_PR_ENB_UE_S1AP_ID,
+	RerouteNASRequest_IEs__value_PR_MME_UE_S1AP_ID,
+	RerouteNASRequest_IEs__value_PR_OCTET_STRING,
+	RerouteNASRequest_IEs__value_PR_MME_Group_ID,
+	RerouteNASRequest_IEs__value_PR_Additional_GUTI,
+	RerouteNASRequest_IEs__value_PR_UE_Usage_Type
+} RerouteNASRequest_IEs__value_PR;
+typedef enum NASDeliveryIndicationIEs__value_PR {
+	NASDeliveryIndicationIEs__value_PR_NOTHING,	/* No components present */
+	NASDeliveryIndicationIEs__value_PR_MME_UE_S1AP_ID,
+	NASDeliveryIndicationIEs__value_PR_ENB_UE_S1AP_ID
+} NASDeliveryIndicationIEs__value_PR;
+typedef enum ResetIEs__value_PR {
+	ResetIEs__value_PR_NOTHING,	/* No components present */
+	ResetIEs__value_PR_Cause,
+	ResetIEs__value_PR_ResetType
+} ResetIEs__value_PR;
+typedef enum ResetAcknowledgeIEs__value_PR {
+	ResetAcknowledgeIEs__value_PR_NOTHING,	/* No components present */
+	ResetAcknowledgeIEs__value_PR_UE_associatedLogicalS1_ConnectionListResAck,
+	ResetAcknowledgeIEs__value_PR_CriticalityDiagnostics
+} ResetAcknowledgeIEs__value_PR;
+typedef enum ErrorIndicationIEs__value_PR {
+	ErrorIndicationIEs__value_PR_NOTHING,	/* No components present */
+	ErrorIndicationIEs__value_PR_MME_UE_S1AP_ID,
+	ErrorIndicationIEs__value_PR_ENB_UE_S1AP_ID,
+	ErrorIndicationIEs__value_PR_Cause,
+	ErrorIndicationIEs__value_PR_CriticalityDiagnostics
+} ErrorIndicationIEs__value_PR;
+typedef enum S1SetupRequestIEs__value_PR {
+	S1SetupRequestIEs__value_PR_NOTHING,	/* No components present */
+	S1SetupRequestIEs__value_PR_Global_ENB_ID,
+	S1SetupRequestIEs__value_PR_ENBname,
+	S1SetupRequestIEs__value_PR_SupportedTAs,
+	S1SetupRequestIEs__value_PR_PagingDRX,
+	S1SetupRequestIEs__value_PR_CSG_IdList,
+	S1SetupRequestIEs__value_PR_UE_RetentionInformation,
+	S1SetupRequestIEs__value_PR_NB_IoT_DefaultPagingDRX,
+	S1SetupRequestIEs__value_PR_ConnectedengNBList
+} S1SetupRequestIEs__value_PR;
+typedef enum S1SetupResponseIEs__value_PR {
+	S1SetupResponseIEs__value_PR_NOTHING,	/* No components present */
+	S1SetupResponseIEs__value_PR_MMEname,
+	S1SetupResponseIEs__value_PR_ServedGUMMEIs,
+	S1SetupResponseIEs__value_PR_RelativeMMECapacity,
+	S1SetupResponseIEs__value_PR_MMERelaySupportIndicator,
+	S1SetupResponseIEs__value_PR_CriticalityDiagnostics,
+	S1SetupResponseIEs__value_PR_UE_RetentionInformation,
+	S1SetupResponseIEs__value_PR_ServedDCNs
+} S1SetupResponseIEs__value_PR;
+typedef enum S1SetupFailureIEs__value_PR {
+	S1SetupFailureIEs__value_PR_NOTHING,	/* No components present */
+	S1SetupFailureIEs__value_PR_Cause,
+	S1SetupFailureIEs__value_PR_TimeToWait,
+	S1SetupFailureIEs__value_PR_CriticalityDiagnostics
+} S1SetupFailureIEs__value_PR;
+typedef enum ENBConfigurationUpdateIEs__value_PR {
+	ENBConfigurationUpdateIEs__value_PR_NOTHING,	/* No components present */
+	ENBConfigurationUpdateIEs__value_PR_ENBname,
+	ENBConfigurationUpdateIEs__value_PR_SupportedTAs,
+	ENBConfigurationUpdateIEs__value_PR_CSG_IdList,
+	ENBConfigurationUpdateIEs__value_PR_PagingDRX,
+	ENBConfigurationUpdateIEs__value_PR_NB_IoT_DefaultPagingDRX,
+	ENBConfigurationUpdateIEs__value_PR_ConnectedengNBList,
+	ENBConfigurationUpdateIEs__value_PR_ConnectedengNBList_1
+} ENBConfigurationUpdateIEs__value_PR;
+typedef enum ENBConfigurationUpdateAcknowledgeIEs__value_PR {
+	ENBConfigurationUpdateAcknowledgeIEs__value_PR_NOTHING,	/* No components present */
+	ENBConfigurationUpdateAcknowledgeIEs__value_PR_CriticalityDiagnostics
+} ENBConfigurationUpdateAcknowledgeIEs__value_PR;
+typedef enum ENBConfigurationUpdateFailureIEs__value_PR {
+	ENBConfigurationUpdateFailureIEs__value_PR_NOTHING,	/* No components present */
+	ENBConfigurationUpdateFailureIEs__value_PR_Cause,
+	ENBConfigurationUpdateFailureIEs__value_PR_TimeToWait,
+	ENBConfigurationUpdateFailureIEs__value_PR_CriticalityDiagnostics
+} ENBConfigurationUpdateFailureIEs__value_PR;
+typedef enum MMEConfigurationUpdateIEs__value_PR {
+	MMEConfigurationUpdateIEs__value_PR_NOTHING,	/* No components present */
+	MMEConfigurationUpdateIEs__value_PR_MMEname,
+	MMEConfigurationUpdateIEs__value_PR_ServedGUMMEIs,
+	MMEConfigurationUpdateIEs__value_PR_RelativeMMECapacity,
+	MMEConfigurationUpdateIEs__value_PR_ServedDCNs
+} MMEConfigurationUpdateIEs__value_PR;
+typedef enum MMEConfigurationUpdateAcknowledgeIEs__value_PR {
+	MMEConfigurationUpdateAcknowledgeIEs__value_PR_NOTHING,	/* No components present */
+	MMEConfigurationUpdateAcknowledgeIEs__value_PR_CriticalityDiagnostics
+} MMEConfigurationUpdateAcknowledgeIEs__value_PR;
+typedef enum MMEConfigurationUpdateFailureIEs__value_PR {
+	MMEConfigurationUpdateFailureIEs__value_PR_NOTHING,	/* No components present */
+	MMEConfigurationUpdateFailureIEs__value_PR_Cause,
+	MMEConfigurationUpdateFailureIEs__value_PR_TimeToWait,
+	MMEConfigurationUpdateFailureIEs__value_PR_CriticalityDiagnostics
+} MMEConfigurationUpdateFailureIEs__value_PR;
+typedef enum DownlinkS1cdma2000tunnellingIEs__value_PR {
+	DownlinkS1cdma2000tunnellingIEs__value_PR_NOTHING,	/* No components present */
+	DownlinkS1cdma2000tunnellingIEs__value_PR_MME_UE_S1AP_ID,
+	DownlinkS1cdma2000tunnellingIEs__value_PR_ENB_UE_S1AP_ID,
+	DownlinkS1cdma2000tunnellingIEs__value_PR_E_RABSubjecttoDataForwardingList,
+	DownlinkS1cdma2000tunnellingIEs__value_PR_Cdma2000HOStatus,
+	DownlinkS1cdma2000tunnellingIEs__value_PR_Cdma2000RATType,
+	DownlinkS1cdma2000tunnellingIEs__value_PR_Cdma2000PDU
+} DownlinkS1cdma2000tunnellingIEs__value_PR;
+typedef enum UplinkS1cdma2000tunnellingIEs__value_PR {
+	UplinkS1cdma2000tunnellingIEs__value_PR_NOTHING,	/* No components present */
+	UplinkS1cdma2000tunnellingIEs__value_PR_MME_UE_S1AP_ID,
+	UplinkS1cdma2000tunnellingIEs__value_PR_ENB_UE_S1AP_ID,
+	UplinkS1cdma2000tunnellingIEs__value_PR_Cdma2000RATType,
+	UplinkS1cdma2000tunnellingIEs__value_PR_Cdma2000SectorID,
+	UplinkS1cdma2000tunnellingIEs__value_PR_Cdma2000HORequiredIndication,
+	UplinkS1cdma2000tunnellingIEs__value_PR_Cdma2000OneXSRVCCInfo,
+	UplinkS1cdma2000tunnellingIEs__value_PR_Cdma2000OneXRAND,
+	UplinkS1cdma2000tunnellingIEs__value_PR_Cdma2000PDU,
+	UplinkS1cdma2000tunnellingIEs__value_PR_EUTRANRoundTripDelayEstimationInfo
+} UplinkS1cdma2000tunnellingIEs__value_PR;
+typedef enum UECapabilityInfoIndicationIEs__value_PR {
+	UECapabilityInfoIndicationIEs__value_PR_NOTHING,	/* No components present */
+	UECapabilityInfoIndicationIEs__value_PR_MME_UE_S1AP_ID,
+	UECapabilityInfoIndicationIEs__value_PR_ENB_UE_S1AP_ID,
+	UECapabilityInfoIndicationIEs__value_PR_UERadioCapability,
+	UECapabilityInfoIndicationIEs__value_PR_UERadioCapabilityForPaging,
+	UECapabilityInfoIndicationIEs__value_PR_UE_Application_Layer_Measurement_Capability,
+	UECapabilityInfoIndicationIEs__value_PR_LTE_M_Indication
+} UECapabilityInfoIndicationIEs__value_PR;
+typedef enum ENBStatusTransferIEs__value_PR {
+	ENBStatusTransferIEs__value_PR_NOTHING,	/* No components present */
+	ENBStatusTransferIEs__value_PR_MME_UE_S1AP_ID,
+	ENBStatusTransferIEs__value_PR_ENB_UE_S1AP_ID,
+	ENBStatusTransferIEs__value_PR_ENB_StatusTransfer_TransparentContainer
+} ENBStatusTransferIEs__value_PR;
+typedef enum MMEStatusTransferIEs__value_PR {
+	MMEStatusTransferIEs__value_PR_NOTHING,	/* No components present */
+	MMEStatusTransferIEs__value_PR_MME_UE_S1AP_ID,
+	MMEStatusTransferIEs__value_PR_ENB_UE_S1AP_ID,
+	MMEStatusTransferIEs__value_PR_ENB_StatusTransfer_TransparentContainer
+} MMEStatusTransferIEs__value_PR;
+typedef enum TraceStartIEs__value_PR {
+	TraceStartIEs__value_PR_NOTHING,	/* No components present */
+	TraceStartIEs__value_PR_MME_UE_S1AP_ID,
+	TraceStartIEs__value_PR_ENB_UE_S1AP_ID,
+	TraceStartIEs__value_PR_TraceActivation
+} TraceStartIEs__value_PR;
+typedef enum TraceFailureIndicationIEs__value_PR {
+	TraceFailureIndicationIEs__value_PR_NOTHING,	/* No components present */
+	TraceFailureIndicationIEs__value_PR_MME_UE_S1AP_ID,
+	TraceFailureIndicationIEs__value_PR_ENB_UE_S1AP_ID,
+	TraceFailureIndicationIEs__value_PR_E_UTRAN_Trace_ID,
+	TraceFailureIndicationIEs__value_PR_Cause
+} TraceFailureIndicationIEs__value_PR;
+typedef enum DeactivateTraceIEs__value_PR {
+	DeactivateTraceIEs__value_PR_NOTHING,	/* No components present */
+	DeactivateTraceIEs__value_PR_MME_UE_S1AP_ID,
+	DeactivateTraceIEs__value_PR_ENB_UE_S1AP_ID,
+	DeactivateTraceIEs__value_PR_E_UTRAN_Trace_ID
+} DeactivateTraceIEs__value_PR;
+typedef enum CellTrafficTraceIEs__value_PR {
+	CellTrafficTraceIEs__value_PR_NOTHING,	/* No components present */
+	CellTrafficTraceIEs__value_PR_MME_UE_S1AP_ID,
+	CellTrafficTraceIEs__value_PR_ENB_UE_S1AP_ID,
+	CellTrafficTraceIEs__value_PR_E_UTRAN_Trace_ID,
+	CellTrafficTraceIEs__value_PR_EUTRAN_CGI,
+	CellTrafficTraceIEs__value_PR_TransportLayerAddress,
+	CellTrafficTraceIEs__value_PR_PrivacyIndicator
+} CellTrafficTraceIEs__value_PR;
+typedef enum LocationReportingControlIEs__value_PR {
+	LocationReportingControlIEs__value_PR_NOTHING,	/* No components present */
+	LocationReportingControlIEs__value_PR_MME_UE_S1AP_ID,
+	LocationReportingControlIEs__value_PR_ENB_UE_S1AP_ID,
+	LocationReportingControlIEs__value_PR_RequestType
+} LocationReportingControlIEs__value_PR;
+typedef enum LocationReportingFailureIndicationIEs__value_PR {
+	LocationReportingFailureIndicationIEs__value_PR_NOTHING,	/* No components present */
+	LocationReportingFailureIndicationIEs__value_PR_MME_UE_S1AP_ID,
+	LocationReportingFailureIndicationIEs__value_PR_ENB_UE_S1AP_ID,
+	LocationReportingFailureIndicationIEs__value_PR_Cause
+} LocationReportingFailureIndicationIEs__value_PR;
+typedef enum LocationReportIEs__value_PR {
+	LocationReportIEs__value_PR_NOTHING,	/* No components present */
+	LocationReportIEs__value_PR_MME_UE_S1AP_ID,
+	LocationReportIEs__value_PR_ENB_UE_S1AP_ID,
+	LocationReportIEs__value_PR_EUTRAN_CGI,
+	LocationReportIEs__value_PR_TAI,
+	LocationReportIEs__value_PR_RequestType,
+	LocationReportIEs__value_PR_PSCellInformation
+} LocationReportIEs__value_PR;
+typedef enum OverloadStartIEs__value_PR {
+	OverloadStartIEs__value_PR_NOTHING,	/* No components present */
+	OverloadStartIEs__value_PR_OverloadResponse,
+	OverloadStartIEs__value_PR_GUMMEIList,
+	OverloadStartIEs__value_PR_TrafficLoadReductionIndication
+} OverloadStartIEs__value_PR;
+typedef enum OverloadStopIEs__value_PR {
+	OverloadStopIEs__value_PR_NOTHING,	/* No components present */
+	OverloadStopIEs__value_PR_GUMMEIList
+} OverloadStopIEs__value_PR;
+typedef enum WriteReplaceWarningRequestIEs__value_PR {
+	WriteReplaceWarningRequestIEs__value_PR_NOTHING,	/* No components present */
+	WriteReplaceWarningRequestIEs__value_PR_MessageIdentifier,
+	WriteReplaceWarningRequestIEs__value_PR_SerialNumber,
+	WriteReplaceWarningRequestIEs__value_PR_WarningAreaList,
+	WriteReplaceWarningRequestIEs__value_PR_RepetitionPeriod,
+	WriteReplaceWarningRequestIEs__value_PR_ExtendedRepetitionPeriod,
+	WriteReplaceWarningRequestIEs__value_PR_NumberofBroadcastRequest,
+	WriteReplaceWarningRequestIEs__value_PR_WarningType,
+	WriteReplaceWarningRequestIEs__value_PR_WarningSecurityInfo,
+	WriteReplaceWarningRequestIEs__value_PR_DataCodingScheme,
+	WriteReplaceWarningRequestIEs__value_PR_WarningMessageContents,
+	WriteReplaceWarningRequestIEs__value_PR_ConcurrentWarningMessageIndicator,
+	WriteReplaceWarningRequestIEs__value_PR_WarningAreaCoordinates
+} WriteReplaceWarningRequestIEs__value_PR;
+typedef enum WriteReplaceWarningResponseIEs__value_PR {
+	WriteReplaceWarningResponseIEs__value_PR_NOTHING,	/* No components present */
+	WriteReplaceWarningResponseIEs__value_PR_MessageIdentifier,
+	WriteReplaceWarningResponseIEs__value_PR_SerialNumber,
+	WriteReplaceWarningResponseIEs__value_PR_BroadcastCompletedAreaList,
+	WriteReplaceWarningResponseIEs__value_PR_CriticalityDiagnostics
+} WriteReplaceWarningResponseIEs__value_PR;
+typedef enum ENBDirectInformationTransferIEs__value_PR {
+	ENBDirectInformationTransferIEs__value_PR_NOTHING,	/* No components present */
+	ENBDirectInformationTransferIEs__value_PR_Inter_SystemInformationTransferType
+} ENBDirectInformationTransferIEs__value_PR;
+typedef enum MMEDirectInformationTransferIEs__value_PR {
+	MMEDirectInformationTransferIEs__value_PR_NOTHING,	/* No components present */
+	MMEDirectInformationTransferIEs__value_PR_Inter_SystemInformationTransferType
+} MMEDirectInformationTransferIEs__value_PR;
+typedef enum ENBConfigurationTransferIEs__value_PR {
+	ENBConfigurationTransferIEs__value_PR_NOTHING,	/* No components present */
+	ENBConfigurationTransferIEs__value_PR_SONConfigurationTransfer,
+	ENBConfigurationTransferIEs__value_PR_EN_DCSONConfigurationTransfer
+} ENBConfigurationTransferIEs__value_PR;
+typedef enum MMEConfigurationTransferIEs__value_PR {
+	MMEConfigurationTransferIEs__value_PR_NOTHING,	/* No components present */
+	MMEConfigurationTransferIEs__value_PR_SONConfigurationTransfer,
+	MMEConfigurationTransferIEs__value_PR_EN_DCSONConfigurationTransfer
+} MMEConfigurationTransferIEs__value_PR;
+typedef enum KillRequestIEs__value_PR {
+	KillRequestIEs__value_PR_NOTHING,	/* No components present */
+	KillRequestIEs__value_PR_MessageIdentifier,
+	KillRequestIEs__value_PR_SerialNumber,
+	KillRequestIEs__value_PR_WarningAreaList,
+	KillRequestIEs__value_PR_KillAllWarningMessages
+} KillRequestIEs__value_PR;
+typedef enum KillResponseIEs__value_PR {
+	KillResponseIEs__value_PR_NOTHING,	/* No components present */
+	KillResponseIEs__value_PR_MessageIdentifier,
+	KillResponseIEs__value_PR_SerialNumber,
+	KillResponseIEs__value_PR_BroadcastCancelledAreaList,
+	KillResponseIEs__value_PR_CriticalityDiagnostics
+} KillResponseIEs__value_PR;
+typedef enum PWSRestartIndicationIEs__value_PR {
+	PWSRestartIndicationIEs__value_PR_NOTHING,	/* No components present */
+	PWSRestartIndicationIEs__value_PR_ECGIListForRestart,
+	PWSRestartIndicationIEs__value_PR_Global_ENB_ID,
+	PWSRestartIndicationIEs__value_PR_TAIListForRestart,
+	PWSRestartIndicationIEs__value_PR_EmergencyAreaIDListForRestart
+} PWSRestartIndicationIEs__value_PR;
+typedef enum PWSFailureIndicationIEs__value_PR {
+	PWSFailureIndicationIEs__value_PR_NOTHING,	/* No components present */
+	PWSFailureIndicationIEs__value_PR_PWSfailedECGIList,
+	PWSFailureIndicationIEs__value_PR_Global_ENB_ID
+} PWSFailureIndicationIEs__value_PR;
+typedef enum DownlinkUEAssociatedLPPaTransport_IEs__value_PR {
+	DownlinkUEAssociatedLPPaTransport_IEs__value_PR_NOTHING,	/* No components present */
+	DownlinkUEAssociatedLPPaTransport_IEs__value_PR_MME_UE_S1AP_ID,
+	DownlinkUEAssociatedLPPaTransport_IEs__value_PR_ENB_UE_S1AP_ID,
+	DownlinkUEAssociatedLPPaTransport_IEs__value_PR_Routing_ID,
+	DownlinkUEAssociatedLPPaTransport_IEs__value_PR_LPPa_PDU
+} DownlinkUEAssociatedLPPaTransport_IEs__value_PR;
+typedef enum UplinkUEAssociatedLPPaTransport_IEs__value_PR {
+	UplinkUEAssociatedLPPaTransport_IEs__value_PR_NOTHING,	/* No components present */
+	UplinkUEAssociatedLPPaTransport_IEs__value_PR_MME_UE_S1AP_ID,
+	UplinkUEAssociatedLPPaTransport_IEs__value_PR_ENB_UE_S1AP_ID,
+	UplinkUEAssociatedLPPaTransport_IEs__value_PR_Routing_ID,
+	UplinkUEAssociatedLPPaTransport_IEs__value_PR_LPPa_PDU
+} UplinkUEAssociatedLPPaTransport_IEs__value_PR;
+typedef enum DownlinkNonUEAssociatedLPPaTransport_IEs__value_PR {
+	DownlinkNonUEAssociatedLPPaTransport_IEs__value_PR_NOTHING,	/* No components present */
+	DownlinkNonUEAssociatedLPPaTransport_IEs__value_PR_Routing_ID,
+	DownlinkNonUEAssociatedLPPaTransport_IEs__value_PR_LPPa_PDU
+} DownlinkNonUEAssociatedLPPaTransport_IEs__value_PR;
+typedef enum UplinkNonUEAssociatedLPPaTransport_IEs__value_PR {
+	UplinkNonUEAssociatedLPPaTransport_IEs__value_PR_NOTHING,	/* No components present */
+	UplinkNonUEAssociatedLPPaTransport_IEs__value_PR_Routing_ID,
+	UplinkNonUEAssociatedLPPaTransport_IEs__value_PR_LPPa_PDU
+} UplinkNonUEAssociatedLPPaTransport_IEs__value_PR;
+typedef enum E_RABModificationIndicationIEs__value_PR {
+	E_RABModificationIndicationIEs__value_PR_NOTHING,	/* No components present */
+	E_RABModificationIndicationIEs__value_PR_MME_UE_S1AP_ID,
+	E_RABModificationIndicationIEs__value_PR_ENB_UE_S1AP_ID,
+	E_RABModificationIndicationIEs__value_PR_E_RABToBeModifiedListBearerModInd,
+	E_RABModificationIndicationIEs__value_PR_E_RABNotToBeModifiedListBearerModInd,
+	E_RABModificationIndicationIEs__value_PR_CSGMembershipInfo,
+	E_RABModificationIndicationIEs__value_PR_TunnelInformation,
+	E_RABModificationIndicationIEs__value_PR_SecondaryRATDataUsageReportList
+} E_RABModificationIndicationIEs__value_PR;
+typedef enum E_RABModificationConfirmIEs__value_PR {
+	E_RABModificationConfirmIEs__value_PR_NOTHING,	/* No components present */
+	E_RABModificationConfirmIEs__value_PR_MME_UE_S1AP_ID,
+	E_RABModificationConfirmIEs__value_PR_ENB_UE_S1AP_ID,
+	E_RABModificationConfirmIEs__value_PR_E_RABModifyListBearerModConf,
+	E_RABModificationConfirmIEs__value_PR_E_RABList,
+	E_RABModificationConfirmIEs__value_PR_E_RABList_1,
+	E_RABModificationConfirmIEs__value_PR_CriticalityDiagnostics,
+	E_RABModificationConfirmIEs__value_PR_CSGMembershipStatus
+} E_RABModificationConfirmIEs__value_PR;
+typedef enum UEContextModificationIndicationIEs__value_PR {
+	UEContextModificationIndicationIEs__value_PR_NOTHING,	/* No components present */
+	UEContextModificationIndicationIEs__value_PR_MME_UE_S1AP_ID,
+	UEContextModificationIndicationIEs__value_PR_ENB_UE_S1AP_ID,
+	UEContextModificationIndicationIEs__value_PR_CSGMembershipInfo
+} UEContextModificationIndicationIEs__value_PR;
+typedef enum UEContextModificationConfirmIEs__value_PR {
+	UEContextModificationConfirmIEs__value_PR_NOTHING,	/* No components present */
+	UEContextModificationConfirmIEs__value_PR_MME_UE_S1AP_ID,
+	UEContextModificationConfirmIEs__value_PR_ENB_UE_S1AP_ID,
+	UEContextModificationConfirmIEs__value_PR_CSGMembershipStatus,
+	UEContextModificationConfirmIEs__value_PR_CriticalityDiagnostics
+} UEContextModificationConfirmIEs__value_PR;
+typedef enum UEContextSuspendRequestIEs__value_PR {
+	UEContextSuspendRequestIEs__value_PR_NOTHING,	/* No components present */
+	UEContextSuspendRequestIEs__value_PR_MME_UE_S1AP_ID,
+	UEContextSuspendRequestIEs__value_PR_ENB_UE_S1AP_ID,
+	UEContextSuspendRequestIEs__value_PR_InformationOnRecommendedCellsAndENBsForPaging,
+	UEContextSuspendRequestIEs__value_PR_CellIdentifierAndCELevelForCECapableUEs,
+	UEContextSuspendRequestIEs__value_PR_SecondaryRATDataUsageReportList,
+	UEContextSuspendRequestIEs__value_PR_UserLocationInformation,
+	UEContextSuspendRequestIEs__value_PR_TimeSinceSecondaryNodeRelease
+} UEContextSuspendRequestIEs__value_PR;
+typedef enum UEContextSuspendResponseIEs__value_PR {
+	UEContextSuspendResponseIEs__value_PR_NOTHING,	/* No components present */
+	UEContextSuspendResponseIEs__value_PR_MME_UE_S1AP_ID,
+	UEContextSuspendResponseIEs__value_PR_ENB_UE_S1AP_ID,
+	UEContextSuspendResponseIEs__value_PR_CriticalityDiagnostics,
+	UEContextSuspendResponseIEs__value_PR_SecurityContext
+} UEContextSuspendResponseIEs__value_PR;
+typedef enum UEContextResumeRequestIEs__value_PR {
+	UEContextResumeRequestIEs__value_PR_NOTHING,	/* No components present */
+	UEContextResumeRequestIEs__value_PR_MME_UE_S1AP_ID,
+	UEContextResumeRequestIEs__value_PR_ENB_UE_S1AP_ID,
+	UEContextResumeRequestIEs__value_PR_E_RABFailedToResumeListResumeReq,
+	UEContextResumeRequestIEs__value_PR_RRC_Establishment_Cause
+} UEContextResumeRequestIEs__value_PR;
+typedef enum UEContextResumeResponseIEs__value_PR {
+	UEContextResumeResponseIEs__value_PR_NOTHING,	/* No components present */
+	UEContextResumeResponseIEs__value_PR_MME_UE_S1AP_ID,
+	UEContextResumeResponseIEs__value_PR_ENB_UE_S1AP_ID,
+	UEContextResumeResponseIEs__value_PR_E_RABFailedToResumeListResumeRes,
+	UEContextResumeResponseIEs__value_PR_CriticalityDiagnostics,
+	UEContextResumeResponseIEs__value_PR_SecurityContext,
+	UEContextResumeResponseIEs__value_PR_PendingDataIndication
+} UEContextResumeResponseIEs__value_PR;
+typedef enum UEContextResumeFailureIEs__value_PR {
+	UEContextResumeFailureIEs__value_PR_NOTHING,	/* No components present */
+	UEContextResumeFailureIEs__value_PR_MME_UE_S1AP_ID,
+	UEContextResumeFailureIEs__value_PR_ENB_UE_S1AP_ID,
+	UEContextResumeFailureIEs__value_PR_Cause,
+	UEContextResumeFailureIEs__value_PR_CriticalityDiagnostics
+} UEContextResumeFailureIEs__value_PR;
+typedef enum ConnectionEstablishmentIndicationIEs__value_PR {
+	ConnectionEstablishmentIndicationIEs__value_PR_NOTHING,	/* No components present */
+	ConnectionEstablishmentIndicationIEs__value_PR_MME_UE_S1AP_ID,
+	ConnectionEstablishmentIndicationIEs__value_PR_ENB_UE_S1AP_ID,
+	ConnectionEstablishmentIndicationIEs__value_PR_UERadioCapability,
+	ConnectionEstablishmentIndicationIEs__value_PR_EnhancedCoverageRestricted,
+	ConnectionEstablishmentIndicationIEs__value_PR_DL_CP_SecurityInformation,
+	ConnectionEstablishmentIndicationIEs__value_PR_CE_ModeBRestricted,
+	ConnectionEstablishmentIndicationIEs__value_PR_EndIndication,
+	ConnectionEstablishmentIndicationIEs__value_PR_Subscription_Based_UE_DifferentiationInfo
+} ConnectionEstablishmentIndicationIEs__value_PR;
+typedef enum RetrieveUEInformationIEs__value_PR {
+	RetrieveUEInformationIEs__value_PR_NOTHING,	/* No components present */
+	RetrieveUEInformationIEs__value_PR_S_TMSI
+} RetrieveUEInformationIEs__value_PR;
+typedef enum UEInformationTransferIEs__value_PR {
+	UEInformationTransferIEs__value_PR_NOTHING,	/* No components present */
+	UEInformationTransferIEs__value_PR_S_TMSI,
+	UEInformationTransferIEs__value_PR_E_RABLevelQoSParameters,
+	UEInformationTransferIEs__value_PR_UERadioCapability,
+	UEInformationTransferIEs__value_PR_Subscription_Based_UE_DifferentiationInfo,
+	UEInformationTransferIEs__value_PR_PendingDataIndication
+} UEInformationTransferIEs__value_PR;
+typedef enum ENBCPRelocationIndicationIEs__value_PR {
+	ENBCPRelocationIndicationIEs__value_PR_NOTHING,	/* No components present */
+	ENBCPRelocationIndicationIEs__value_PR_ENB_UE_S1AP_ID,
+	ENBCPRelocationIndicationIEs__value_PR_S_TMSI,
+	ENBCPRelocationIndicationIEs__value_PR_EUTRAN_CGI,
+	ENBCPRelocationIndicationIEs__value_PR_TAI,
+	ENBCPRelocationIndicationIEs__value_PR_UL_CP_SecurityInformation
+} ENBCPRelocationIndicationIEs__value_PR;
+typedef enum MMECPRelocationIndicationIEs__value_PR {
+	MMECPRelocationIndicationIEs__value_PR_NOTHING,	/* No components present */
+	MMECPRelocationIndicationIEs__value_PR_MME_UE_S1AP_ID,
+	MMECPRelocationIndicationIEs__value_PR_ENB_UE_S1AP_ID
+} MMECPRelocationIndicationIEs__value_PR;
+typedef enum SecondaryRATDataUsageReportIEs__value_PR {
+	SecondaryRATDataUsageReportIEs__value_PR_NOTHING,	/* No components present */
+	SecondaryRATDataUsageReportIEs__value_PR_MME_UE_S1AP_ID,
+	SecondaryRATDataUsageReportIEs__value_PR_ENB_UE_S1AP_ID,
+	SecondaryRATDataUsageReportIEs__value_PR_SecondaryRATDataUsageReportList,
+	SecondaryRATDataUsageReportIEs__value_PR_HandoverFlag,
+	SecondaryRATDataUsageReportIEs__value_PR_UserLocationInformation,
+	SecondaryRATDataUsageReportIEs__value_PR_TimeSinceSecondaryNodeRelease
+} SecondaryRATDataUsageReportIEs__value_PR;
+typedef enum E_RABDataForwardingItemIEs__value_PR {
+	E_RABDataForwardingItemIEs__value_PR_NOTHING,	/* No components present */
+	E_RABDataForwardingItemIEs__value_PR_E_RABDataForwardingItem
+} E_RABDataForwardingItemIEs__value_PR;
+typedef enum E_RABToBeSetupItemHOReqIEs__value_PR {
+	E_RABToBeSetupItemHOReqIEs__value_PR_NOTHING,	/* No components present */
+	E_RABToBeSetupItemHOReqIEs__value_PR_E_RABToBeSetupItemHOReq
+} E_RABToBeSetupItemHOReqIEs__value_PR;
+typedef enum E_RABAdmittedItemIEs__value_PR {
+	E_RABAdmittedItemIEs__value_PR_NOTHING,	/* No components present */
+	E_RABAdmittedItemIEs__value_PR_E_RABAdmittedItem
+} E_RABAdmittedItemIEs__value_PR;
+typedef enum E_RABFailedtoSetupItemHOReqAckIEs__value_PR {
+	E_RABFailedtoSetupItemHOReqAckIEs__value_PR_NOTHING,	/* No components present */
+	E_RABFailedtoSetupItemHOReqAckIEs__value_PR_E_RABFailedToSetupItemHOReqAck
+} E_RABFailedtoSetupItemHOReqAckIEs__value_PR;
+typedef enum E_RABToBeSwitchedDLItemIEs__value_PR {
+	E_RABToBeSwitchedDLItemIEs__value_PR_NOTHING,	/* No components present */
+	E_RABToBeSwitchedDLItemIEs__value_PR_E_RABToBeSwitchedDLItem
+} E_RABToBeSwitchedDLItemIEs__value_PR;
+typedef enum E_RABToBeSwitchedULItemIEs__value_PR {
+	E_RABToBeSwitchedULItemIEs__value_PR_NOTHING,	/* No components present */
+	E_RABToBeSwitchedULItemIEs__value_PR_E_RABToBeSwitchedULItem
+} E_RABToBeSwitchedULItemIEs__value_PR;
+typedef enum E_RABToBeModifiedItemBearerModIndIEs__value_PR {
+	E_RABToBeModifiedItemBearerModIndIEs__value_PR_NOTHING,	/* No components present */
+	E_RABToBeModifiedItemBearerModIndIEs__value_PR_E_RABToBeModifiedItemBearerModInd
+} E_RABToBeModifiedItemBearerModIndIEs__value_PR;
+typedef enum E_RABNotToBeModifiedItemBearerModIndIEs__value_PR {
+	E_RABNotToBeModifiedItemBearerModIndIEs__value_PR_NOTHING,	/* No components present */
+	E_RABNotToBeModifiedItemBearerModIndIEs__value_PR_E_RABNotToBeModifiedItemBearerModInd
+} E_RABNotToBeModifiedItemBearerModIndIEs__value_PR;
+typedef enum E_RABFailedToResumeItemResumeReqIEs__value_PR {
+	E_RABFailedToResumeItemResumeReqIEs__value_PR_NOTHING,	/* No components present */
+	E_RABFailedToResumeItemResumeReqIEs__value_PR_E_RABFailedToResumeItemResumeReq
+} E_RABFailedToResumeItemResumeReqIEs__value_PR;
+typedef enum E_RABFailedToResumeItemResumeResIEs__value_PR {
+	E_RABFailedToResumeItemResumeResIEs__value_PR_NOTHING,	/* No components present */
+	E_RABFailedToResumeItemResumeResIEs__value_PR_E_RABFailedToResumeItemResumeRes
+} E_RABFailedToResumeItemResumeResIEs__value_PR;
+
+/* ProtocolIE-Field */
+typedef struct Bearers_SubjectToStatusTransfer_ItemIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct Bearers_SubjectToStatusTransfer_ItemIEs__value {
+		Bearers_SubjectToStatusTransfer_ItemIEs__value_PR present;
+		union Bearers_SubjectToStatusTransfer_ItemIEs__value_u {
+			Bearers_SubjectToStatusTransfer_Item_t	 Bearers_SubjectToStatusTransfer_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;
+} Bearers_SubjectToStatusTransfer_ItemIEs_t;
+typedef struct E_RABInformationListIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABInformationListIEs__value {
+		E_RABInformationListIEs__value_PR present;
+		union E_RABInformationListIEs__value_u {
+			E_RABInformationListItem_t	 E_RABInformationListItem;
+		} 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;
+} E_RABInformationListIEs_t;
+typedef struct E_RABItemIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABItemIEs__value {
+		E_RABItemIEs__value_PR present;
+		union E_RABItemIEs__value_u {
+			E_RABItem_t	 E_RABItem;
+		} 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;
+} E_RABItemIEs_t;
+typedef struct E_RABUsageReportItemIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABUsageReportItemIEs__value {
+		E_RABUsageReportItemIEs__value_PR present;
+		union E_RABUsageReportItemIEs__value_u {
+			E_RABUsageReportItem_t	 E_RABUsageReportItem;
+		} 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;
+} E_RABUsageReportItemIEs_t;
+typedef struct MDTMode_ExtensionIE {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct MDTMode_ExtensionIE__value {
+		MDTMode_ExtensionIE__value_PR present;
+		union MDTMode_ExtensionIE__value_u {
+			LoggedMBSFNMDT_t	 LoggedMBSFNMDT;
+		} 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;
+} MDTMode_ExtensionIE_t;
+typedef struct RecommendedCellItemIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct RecommendedCellItemIEs__value {
+		RecommendedCellItemIEs__value_PR present;
+		union RecommendedCellItemIEs__value_u {
+			RecommendedCellItem_t	 RecommendedCellItem;
+		} 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;
+} RecommendedCellItemIEs_t;
+typedef struct RecommendedENBItemIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct RecommendedENBItemIEs__value {
+		RecommendedENBItemIEs__value_PR present;
+		union RecommendedENBItemIEs__value_u {
+			RecommendedENBItem_t	 RecommendedENBItem;
+		} 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;
+} RecommendedENBItemIEs_t;
+typedef struct SecondaryRATDataUsageReportItemIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct SecondaryRATDataUsageReportItemIEs__value {
+		SecondaryRATDataUsageReportItemIEs__value_PR present;
+		union SecondaryRATDataUsageReportItemIEs__value_u {
+			SecondaryRATDataUsageReportItem_t	 SecondaryRATDataUsageReportItem;
+		} 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;
+} SecondaryRATDataUsageReportItemIEs_t;
+typedef struct SONInformation_ExtensionIE {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct SONInformation_ExtensionIE__value {
+		SONInformation_ExtensionIE__value_PR present;
+		union SONInformation_ExtensionIE__value_u {
+			SONInformationReport_t	 SONInformationReport;
+		} 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;
+} SONInformation_ExtensionIE_t;
+typedef struct E_RABToBeSetupItemBearerSUReqIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABToBeSetupItemBearerSUReqIEs__value {
+		E_RABToBeSetupItemBearerSUReqIEs__value_PR present;
+		union E_RABToBeSetupItemBearerSUReqIEs__value_u {
+			E_RABToBeSetupItemBearerSUReq_t	 E_RABToBeSetupItemBearerSUReq;
+		} 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;
+} E_RABToBeSetupItemBearerSUReqIEs_t;
+typedef struct E_RABSetupItemBearerSUResIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABSetupItemBearerSUResIEs__value {
+		E_RABSetupItemBearerSUResIEs__value_PR present;
+		union E_RABSetupItemBearerSUResIEs__value_u {
+			E_RABSetupItemBearerSURes_t	 E_RABSetupItemBearerSURes;
+		} 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;
+} E_RABSetupItemBearerSUResIEs_t;
+typedef struct E_RABToBeModifiedItemBearerModReqIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABToBeModifiedItemBearerModReqIEs__value {
+		E_RABToBeModifiedItemBearerModReqIEs__value_PR present;
+		union E_RABToBeModifiedItemBearerModReqIEs__value_u {
+			E_RABToBeModifiedItemBearerModReq_t	 E_RABToBeModifiedItemBearerModReq;
+		} 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;
+} E_RABToBeModifiedItemBearerModReqIEs_t;
+typedef struct E_RABModifyItemBearerModResIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABModifyItemBearerModResIEs__value {
+		E_RABModifyItemBearerModResIEs__value_PR present;
+		union E_RABModifyItemBearerModResIEs__value_u {
+			E_RABModifyItemBearerModRes_t	 E_RABModifyItemBearerModRes;
+		} 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;
+} E_RABModifyItemBearerModResIEs_t;
+typedef struct E_RABReleaseItemBearerRelCompIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABReleaseItemBearerRelCompIEs__value {
+		E_RABReleaseItemBearerRelCompIEs__value_PR present;
+		union E_RABReleaseItemBearerRelCompIEs__value_u {
+			E_RABReleaseItemBearerRelComp_t	 E_RABReleaseItemBearerRelComp;
+		} 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;
+} E_RABReleaseItemBearerRelCompIEs_t;
+typedef struct E_RABToBeSetupItemCtxtSUReqIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABToBeSetupItemCtxtSUReqIEs__value {
+		E_RABToBeSetupItemCtxtSUReqIEs__value_PR present;
+		union E_RABToBeSetupItemCtxtSUReqIEs__value_u {
+			E_RABToBeSetupItemCtxtSUReq_t	 E_RABToBeSetupItemCtxtSUReq;
+		} 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;
+} E_RABToBeSetupItemCtxtSUReqIEs_t;
+typedef struct E_RABSetupItemCtxtSUResIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABSetupItemCtxtSUResIEs__value {
+		E_RABSetupItemCtxtSUResIEs__value_PR present;
+		union E_RABSetupItemCtxtSUResIEs__value_u {
+			E_RABSetupItemCtxtSURes_t	 E_RABSetupItemCtxtSURes;
+		} 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;
+} E_RABSetupItemCtxtSUResIEs_t;
+typedef struct TAIItemIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct TAIItemIEs__value {
+		TAIItemIEs__value_PR present;
+		union TAIItemIEs__value_u {
+			TAIItem_t	 TAIItem;
+		} 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;
+} TAIItemIEs_t;
+typedef struct UE_associatedLogicalS1_ConnectionItemRes {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct UE_associatedLogicalS1_ConnectionItemRes__value {
+		UE_associatedLogicalS1_ConnectionItemRes__value_PR present;
+		union UE_associatedLogicalS1_ConnectionItemRes__value_u {
+			UE_associatedLogicalS1_ConnectionItem_t	 UE_associatedLogicalS1_ConnectionItem;
+		} 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;
+} UE_associatedLogicalS1_ConnectionItemRes_t;
+typedef struct UE_associatedLogicalS1_ConnectionItemResAck {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct UE_associatedLogicalS1_ConnectionItemResAck__value {
+		UE_associatedLogicalS1_ConnectionItemResAck__value_PR present;
+		union UE_associatedLogicalS1_ConnectionItemResAck__value_u {
+			UE_associatedLogicalS1_ConnectionItem_t	 UE_associatedLogicalS1_ConnectionItem;
+		} 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;
+} UE_associatedLogicalS1_ConnectionItemResAck_t;
+typedef struct E_RABModifyItemBearerModConfIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABModifyItemBearerModConfIEs__value {
+		E_RABModifyItemBearerModConfIEs__value_PR present;
+		union E_RABModifyItemBearerModConfIEs__value_u {
+			E_RABModifyItemBearerModConf_t	 E_RABModifyItemBearerModConf;
+		} 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;
+} E_RABModifyItemBearerModConfIEs_t;
+typedef struct HandoverRequiredIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct HandoverRequiredIEs__value {
+		HandoverRequiredIEs__value_PR present;
+		union HandoverRequiredIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			HandoverType_t	 HandoverType;
+			Cause_t	 Cause;
+			TargetID_t	 TargetID;
+			Direct_Forwarding_Path_Availability_t	 Direct_Forwarding_Path_Availability;
+			SRVCCHOIndication_t	 SRVCCHOIndication;
+			Source_ToTarget_TransparentContainer_t	 Source_ToTarget_TransparentContainer;
+			Source_ToTarget_TransparentContainer_t	 Source_ToTarget_TransparentContainer_1;
+			MSClassmark2_t	 MSClassmark2;
+			MSClassmark3_t	 MSClassmark3;
+			CSG_Id_t	 CSG_Id;
+			CellAccessMode_t	 CellAccessMode;
+			PS_ServiceNotAvailable_t	 PS_ServiceNotAvailable;
+		} 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;
+} HandoverRequiredIEs_t;
+typedef struct HandoverCommandIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct HandoverCommandIEs__value {
+		HandoverCommandIEs__value_PR present;
+		union HandoverCommandIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			HandoverType_t	 HandoverType;
+			NASSecurityParametersfromE_UTRAN_t	 NASSecurityParametersfromE_UTRAN;
+			E_RABSubjecttoDataForwardingList_t	 E_RABSubjecttoDataForwardingList;
+			E_RABList_t	 E_RABList;
+			Target_ToSource_TransparentContainer_t	 Target_ToSource_TransparentContainer;
+			Target_ToSource_TransparentContainer_t	 Target_ToSource_TransparentContainer_1;
+			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;
+} HandoverCommandIEs_t;
+typedef struct HandoverPreparationFailureIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct HandoverPreparationFailureIEs__value {
+		HandoverPreparationFailureIEs__value_PR present;
+		union HandoverPreparationFailureIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			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;
+} HandoverPreparationFailureIEs_t;
+typedef struct HandoverRequestIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct HandoverRequestIEs__value {
+		HandoverRequestIEs__value_PR present;
+		union HandoverRequestIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			HandoverType_t	 HandoverType;
+			Cause_t	 Cause;
+			UEAggregateMaximumBitrate_t	 UEAggregateMaximumBitrate;
+			E_RABToBeSetupListHOReq_t	 E_RABToBeSetupListHOReq;
+			Source_ToTarget_TransparentContainer_t	 Source_ToTarget_TransparentContainer;
+			UESecurityCapabilities_t	 UESecurityCapabilities;
+			HandoverRestrictionList_t	 HandoverRestrictionList;
+			TraceActivation_t	 TraceActivation;
+			RequestType_t	 RequestType;
+			SRVCCOperationPossible_t	 SRVCCOperationPossible;
+			SecurityContext_t	 SecurityContext;
+			NASSecurityParameterstoE_UTRAN_t	 NASSecurityParameterstoE_UTRAN;
+			CSG_Id_t	 CSG_Id;
+			CSGMembershipStatus_t	 CSGMembershipStatus;
+			GUMMEI_t	 GUMMEI;
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID_1;
+			ManagementBasedMDTAllowed_t	 ManagementBasedMDTAllowed;
+			MDTPLMNList_t	 MDTPLMNList;
+			Masked_IMEISV_t	 Masked_IMEISV;
+			ExpectedUEBehaviour_t	 ExpectedUEBehaviour;
+			ProSeAuthorized_t	 ProSeAuthorized;
+			UEUserPlaneCIoTSupportIndicator_t	 UEUserPlaneCIoTSupportIndicator;
+			V2XServicesAuthorized_t	 V2XServicesAuthorized;
+			UESidelinkAggregateMaximumBitrate_t	 UESidelinkAggregateMaximumBitrate;
+			EnhancedCoverageRestricted_t	 EnhancedCoverageRestricted;
+			NRUESecurityCapabilities_t	 NRUESecurityCapabilities;
+			CE_ModeBRestricted_t	 CE_ModeBRestricted;
+			AerialUEsubscriptionInformation_t	 AerialUEsubscriptionInformation;
+			PendingDataIndication_t	 PendingDataIndication;
+			Subscription_Based_UE_DifferentiationInfo_t	 Subscription_Based_UE_DifferentiationInfo;
+		} 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;
+} HandoverRequestIEs_t;
+typedef struct HandoverRequestAcknowledgeIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct HandoverRequestAcknowledgeIEs__value {
+		HandoverRequestAcknowledgeIEs__value_PR present;
+		union HandoverRequestAcknowledgeIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			E_RABAdmittedList_t	 E_RABAdmittedList;
+			E_RABFailedtoSetupListHOReqAck_t	 E_RABFailedtoSetupListHOReqAck;
+			Target_ToSource_TransparentContainer_t	 Target_ToSource_TransparentContainer;
+			CSG_Id_t	 CSG_Id;
+			CriticalityDiagnostics_t	 CriticalityDiagnostics;
+			CellAccessMode_t	 CellAccessMode;
+			CE_mode_B_SupportIndicator_t	 CE_mode_B_SupportIndicator;
+		} 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;
+} HandoverRequestAcknowledgeIEs_t;
+typedef struct HandoverFailureIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct HandoverFailureIEs__value {
+		HandoverFailureIEs__value_PR present;
+		union HandoverFailureIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			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;
+} HandoverFailureIEs_t;
+typedef struct HandoverNotifyIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct HandoverNotifyIEs__value {
+		HandoverNotifyIEs__value_PR present;
+		union HandoverNotifyIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			EUTRAN_CGI_t	 EUTRAN_CGI;
+			TAI_t	 TAI;
+			TunnelInformation_t	 TunnelInformation;
+			LHN_ID_t	 LHN_ID;
+			PSCellInformation_t	 PSCellInformation;
+		} 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;
+} HandoverNotifyIEs_t;
+typedef struct PathSwitchRequestIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct PathSwitchRequestIEs__value {
+		PathSwitchRequestIEs__value_PR present;
+		union PathSwitchRequestIEs__value_u {
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			E_RABToBeSwitchedDLList_t	 E_RABToBeSwitchedDLList;
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			EUTRAN_CGI_t	 EUTRAN_CGI;
+			TAI_t	 TAI;
+			UESecurityCapabilities_t	 UESecurityCapabilities;
+			CSG_Id_t	 CSG_Id;
+			CellAccessMode_t	 CellAccessMode;
+			GUMMEI_t	 GUMMEI;
+			CSGMembershipStatus_t	 CSGMembershipStatus;
+			TunnelInformation_t	 TunnelInformation;
+			LHN_ID_t	 LHN_ID;
+			RRC_Establishment_Cause_t	 RRC_Establishment_Cause;
+			NRUESecurityCapabilities_t	 NRUESecurityCapabilities;
+			PSCellInformation_t	 PSCellInformation;
+		} 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;
+} PathSwitchRequestIEs_t;
+typedef struct PathSwitchRequestAcknowledgeIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct PathSwitchRequestAcknowledgeIEs__value {
+		PathSwitchRequestAcknowledgeIEs__value_PR present;
+		union PathSwitchRequestAcknowledgeIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			UEAggregateMaximumBitrate_t	 UEAggregateMaximumBitrate;
+			E_RABToBeSwitchedULList_t	 E_RABToBeSwitchedULList;
+			E_RABList_t	 E_RABList;
+			SecurityContext_t	 SecurityContext;
+			CriticalityDiagnostics_t	 CriticalityDiagnostics;
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID_1;
+			CSGMembershipStatus_t	 CSGMembershipStatus;
+			ProSeAuthorized_t	 ProSeAuthorized;
+			UEUserPlaneCIoTSupportIndicator_t	 UEUserPlaneCIoTSupportIndicator;
+			V2XServicesAuthorized_t	 V2XServicesAuthorized;
+			UESidelinkAggregateMaximumBitrate_t	 UESidelinkAggregateMaximumBitrate;
+			EnhancedCoverageRestricted_t	 EnhancedCoverageRestricted;
+			NRUESecurityCapabilities_t	 NRUESecurityCapabilities;
+			CE_ModeBRestricted_t	 CE_ModeBRestricted;
+			AerialUEsubscriptionInformation_t	 AerialUEsubscriptionInformation;
+			PendingDataIndication_t	 PendingDataIndication;
+			Subscription_Based_UE_DifferentiationInfo_t	 Subscription_Based_UE_DifferentiationInfo;
+		} 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;
+} PathSwitchRequestAcknowledgeIEs_t;
+typedef struct PathSwitchRequestFailureIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct PathSwitchRequestFailureIEs__value {
+		PathSwitchRequestFailureIEs__value_PR present;
+		union PathSwitchRequestFailureIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			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;
+} PathSwitchRequestFailureIEs_t;
+typedef struct HandoverCancelIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct HandoverCancelIEs__value {
+		HandoverCancelIEs__value_PR present;
+		union HandoverCancelIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			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;
+} HandoverCancelIEs_t;
+typedef struct HandoverCancelAcknowledgeIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct HandoverCancelAcknowledgeIEs__value {
+		HandoverCancelAcknowledgeIEs__value_PR present;
+		union HandoverCancelAcknowledgeIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			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;
+} HandoverCancelAcknowledgeIEs_t;
+typedef struct E_RABSetupRequestIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABSetupRequestIEs__value {
+		E_RABSetupRequestIEs__value_PR present;
+		union E_RABSetupRequestIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			UEAggregateMaximumBitrate_t	 UEAggregateMaximumBitrate;
+			E_RABToBeSetupListBearerSUReq_t	 E_RABToBeSetupListBearerSUReq;
+		} 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;
+} E_RABSetupRequestIEs_t;
+typedef struct E_RABSetupResponseIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABSetupResponseIEs__value {
+		E_RABSetupResponseIEs__value_PR present;
+		union E_RABSetupResponseIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			E_RABSetupListBearerSURes_t	 E_RABSetupListBearerSURes;
+			E_RABList_t	 E_RABList;
+			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;
+} E_RABSetupResponseIEs_t;
+typedef struct E_RABModifyRequestIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABModifyRequestIEs__value {
+		E_RABModifyRequestIEs__value_PR present;
+		union E_RABModifyRequestIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			UEAggregateMaximumBitrate_t	 UEAggregateMaximumBitrate;
+			E_RABToBeModifiedListBearerModReq_t	 E_RABToBeModifiedListBearerModReq;
+			SecondaryRATDataUsageRequest_t	 SecondaryRATDataUsageRequest;
+		} 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;
+} E_RABModifyRequestIEs_t;
+typedef struct E_RABModifyResponseIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABModifyResponseIEs__value {
+		E_RABModifyResponseIEs__value_PR present;
+		union E_RABModifyResponseIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			E_RABModifyListBearerModRes_t	 E_RABModifyListBearerModRes;
+			E_RABList_t	 E_RABList;
+			CriticalityDiagnostics_t	 CriticalityDiagnostics;
+			SecondaryRATDataUsageReportList_t	 SecondaryRATDataUsageReportList;
+		} 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;
+} E_RABModifyResponseIEs_t;
+typedef struct E_RABReleaseCommandIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABReleaseCommandIEs__value {
+		E_RABReleaseCommandIEs__value_PR present;
+		union E_RABReleaseCommandIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			UEAggregateMaximumBitrate_t	 UEAggregateMaximumBitrate;
+			E_RABList_t	 E_RABList;
+			NAS_PDU_t	 NAS_PDU;
+		} 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;
+} E_RABReleaseCommandIEs_t;
+typedef struct E_RABReleaseResponseIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABReleaseResponseIEs__value {
+		E_RABReleaseResponseIEs__value_PR present;
+		union E_RABReleaseResponseIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			E_RABReleaseListBearerRelComp_t	 E_RABReleaseListBearerRelComp;
+			E_RABList_t	 E_RABList;
+			CriticalityDiagnostics_t	 CriticalityDiagnostics;
+			UserLocationInformation_t	 UserLocationInformation;
+			SecondaryRATDataUsageReportList_t	 SecondaryRATDataUsageReportList;
+		} 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;
+} E_RABReleaseResponseIEs_t;
+typedef struct E_RABReleaseIndicationIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABReleaseIndicationIEs__value {
+		E_RABReleaseIndicationIEs__value_PR present;
+		union E_RABReleaseIndicationIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			E_RABList_t	 E_RABList;
+			UserLocationInformation_t	 UserLocationInformation;
+			SecondaryRATDataUsageReportList_t	 SecondaryRATDataUsageReportList;
+		} 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;
+} E_RABReleaseIndicationIEs_t;
+typedef struct InitialContextSetupRequestIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct InitialContextSetupRequestIEs__value {
+		InitialContextSetupRequestIEs__value_PR present;
+		union InitialContextSetupRequestIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			UEAggregateMaximumBitrate_t	 UEAggregateMaximumBitrate;
+			E_RABToBeSetupListCtxtSUReq_t	 E_RABToBeSetupListCtxtSUReq;
+			UESecurityCapabilities_t	 UESecurityCapabilities;
+			SecurityKey_t	 SecurityKey;
+			TraceActivation_t	 TraceActivation;
+			HandoverRestrictionList_t	 HandoverRestrictionList;
+			UERadioCapability_t	 UERadioCapability;
+			SubscriberProfileIDforRFP_t	 SubscriberProfileIDforRFP;
+			CSFallbackIndicator_t	 CSFallbackIndicator;
+			SRVCCOperationPossible_t	 SRVCCOperationPossible;
+			CSGMembershipStatus_t	 CSGMembershipStatus;
+			LAI_t	 LAI;
+			GUMMEI_t	 GUMMEI;
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID_1;
+			ManagementBasedMDTAllowed_t	 ManagementBasedMDTAllowed;
+			MDTPLMNList_t	 MDTPLMNList;
+			AdditionalCSFallbackIndicator_t	 AdditionalCSFallbackIndicator;
+			Masked_IMEISV_t	 Masked_IMEISV;
+			ExpectedUEBehaviour_t	 ExpectedUEBehaviour;
+			ProSeAuthorized_t	 ProSeAuthorized;
+			UEUserPlaneCIoTSupportIndicator_t	 UEUserPlaneCIoTSupportIndicator;
+			V2XServicesAuthorized_t	 V2XServicesAuthorized;
+			UESidelinkAggregateMaximumBitrate_t	 UESidelinkAggregateMaximumBitrate;
+			EnhancedCoverageRestricted_t	 EnhancedCoverageRestricted;
+			NRUESecurityCapabilities_t	 NRUESecurityCapabilities;
+			CE_ModeBRestricted_t	 CE_ModeBRestricted;
+			AerialUEsubscriptionInformation_t	 AerialUEsubscriptionInformation;
+			PendingDataIndication_t	 PendingDataIndication;
+			Subscription_Based_UE_DifferentiationInfo_t	 Subscription_Based_UE_DifferentiationInfo;
+		} 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;
+} InitialContextSetupRequestIEs_t;
+typedef struct InitialContextSetupResponseIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct InitialContextSetupResponseIEs__value {
+		InitialContextSetupResponseIEs__value_PR present;
+		union InitialContextSetupResponseIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			E_RABSetupListCtxtSURes_t	 E_RABSetupListCtxtSURes;
+			E_RABList_t	 E_RABList;
+			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;
+} InitialContextSetupResponseIEs_t;
+typedef struct InitialContextSetupFailureIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct InitialContextSetupFailureIEs__value {
+		InitialContextSetupFailureIEs__value_PR present;
+		union InitialContextSetupFailureIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			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;
+} InitialContextSetupFailureIEs_t;
+typedef struct PagingIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct PagingIEs__value {
+		PagingIEs__value_PR present;
+		union PagingIEs__value_u {
+			UEIdentityIndexValue_t	 UEIdentityIndexValue;
+			UEPagingID_t	 UEPagingID;
+			PagingDRX_t	 PagingDRX;
+			CNDomain_t	 CNDomain;
+			TAIList_t	 TAIList;
+			CSG_IdList_t	 CSG_IdList;
+			PagingPriority_t	 PagingPriority;
+			UERadioCapabilityForPaging_t	 UERadioCapabilityForPaging;
+			AssistanceDataForPaging_t	 AssistanceDataForPaging;
+			Paging_eDRXInformation_t	 Paging_eDRXInformation;
+			Extended_UEIdentityIndexValue_t	 Extended_UEIdentityIndexValue;
+			NB_IoT_Paging_eDRXInformation_t	 NB_IoT_Paging_eDRXInformation;
+			NB_IoT_UEIdentityIndexValue_t	 NB_IoT_UEIdentityIndexValue;
+			EnhancedCoverageRestricted_t	 EnhancedCoverageRestricted;
+			CE_ModeBRestricted_t	 CE_ModeBRestricted;
+		} 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;
+} PagingIEs_t;
+typedef struct UEContextReleaseRequest_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct UEContextReleaseRequest_IEs__value {
+		UEContextReleaseRequest_IEs__value_PR present;
+		union UEContextReleaseRequest_IEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			Cause_t	 Cause;
+			GWContextReleaseIndication_t	 GWContextReleaseIndication;
+			SecondaryRATDataUsageReportList_t	 SecondaryRATDataUsageReportList;
+		} 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;
+} UEContextReleaseRequest_IEs_t;
+typedef struct UEContextReleaseCommand_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct UEContextReleaseCommand_IEs__value {
+		UEContextReleaseCommand_IEs__value_PR present;
+		union UEContextReleaseCommand_IEs__value_u {
+			UE_S1AP_IDs_t	 UE_S1AP_IDs;
+			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;
+} UEContextReleaseCommand_IEs_t;
+typedef struct UEContextReleaseComplete_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct UEContextReleaseComplete_IEs__value {
+		UEContextReleaseComplete_IEs__value_PR present;
+		union UEContextReleaseComplete_IEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			CriticalityDiagnostics_t	 CriticalityDiagnostics;
+			UserLocationInformation_t	 UserLocationInformation;
+			InformationOnRecommendedCellsAndENBsForPaging_t	 InformationOnRecommendedCellsAndENBsForPaging;
+			CellIdentifierAndCELevelForCECapableUEs_t	 CellIdentifierAndCELevelForCECapableUEs;
+			SecondaryRATDataUsageReportList_t	 SecondaryRATDataUsageReportList;
+			TimeSinceSecondaryNodeRelease_t	 TimeSinceSecondaryNodeRelease;
+		} 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;
+} UEContextReleaseComplete_IEs_t;
+typedef struct UEContextModificationRequestIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct UEContextModificationRequestIEs__value {
+		UEContextModificationRequestIEs__value_PR present;
+		union UEContextModificationRequestIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			SecurityKey_t	 SecurityKey;
+			SubscriberProfileIDforRFP_t	 SubscriberProfileIDforRFP;
+			UEAggregateMaximumBitrate_t	 UEAggregateMaximumBitrate;
+			CSFallbackIndicator_t	 CSFallbackIndicator;
+			UESecurityCapabilities_t	 UESecurityCapabilities;
+			CSGMembershipStatus_t	 CSGMembershipStatus;
+			LAI_t	 LAI;
+			AdditionalCSFallbackIndicator_t	 AdditionalCSFallbackIndicator;
+			ProSeAuthorized_t	 ProSeAuthorized;
+			SRVCCOperationPossible_t	 SRVCCOperationPossible;
+			SRVCCOperationNotPossible_t	 SRVCCOperationNotPossible;
+			V2XServicesAuthorized_t	 V2XServicesAuthorized;
+			UESidelinkAggregateMaximumBitrate_t	 UESidelinkAggregateMaximumBitrate;
+			NRUESecurityCapabilities_t	 NRUESecurityCapabilities;
+			AerialUEsubscriptionInformation_t	 AerialUEsubscriptionInformation;
+		} 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;
+} UEContextModificationRequestIEs_t;
+typedef struct UEContextModificationResponseIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct UEContextModificationResponseIEs__value {
+		UEContextModificationResponseIEs__value_PR present;
+		union UEContextModificationResponseIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			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;
+} UEContextModificationResponseIEs_t;
+typedef struct UEContextModificationFailureIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct UEContextModificationFailureIEs__value {
+		UEContextModificationFailureIEs__value_PR present;
+		union UEContextModificationFailureIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			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;
+} UEContextModificationFailureIEs_t;
+typedef struct UERadioCapabilityMatchRequestIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct UERadioCapabilityMatchRequestIEs__value {
+		UERadioCapabilityMatchRequestIEs__value_PR present;
+		union UERadioCapabilityMatchRequestIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			UERadioCapability_t	 UERadioCapability;
+		} 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;
+} UERadioCapabilityMatchRequestIEs_t;
+typedef struct UERadioCapabilityMatchResponseIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct UERadioCapabilityMatchResponseIEs__value {
+		UERadioCapabilityMatchResponseIEs__value_PR present;
+		union UERadioCapabilityMatchResponseIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			VoiceSupportMatchIndicator_t	 VoiceSupportMatchIndicator;
+			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;
+} UERadioCapabilityMatchResponseIEs_t;
+typedef struct DownlinkNASTransport_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct DownlinkNASTransport_IEs__value {
+		DownlinkNASTransport_IEs__value_PR present;
+		union DownlinkNASTransport_IEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			NAS_PDU_t	 NAS_PDU;
+			HandoverRestrictionList_t	 HandoverRestrictionList;
+			SubscriberProfileIDforRFP_t	 SubscriberProfileIDforRFP;
+			SRVCCOperationPossible_t	 SRVCCOperationPossible;
+			UERadioCapability_t	 UERadioCapability;
+			DLNASPDUDeliveryAckRequest_t	 DLNASPDUDeliveryAckRequest;
+			EnhancedCoverageRestricted_t	 EnhancedCoverageRestricted;
+			NRUESecurityCapabilities_t	 NRUESecurityCapabilities;
+			CE_ModeBRestricted_t	 CE_ModeBRestricted;
+			UECapabilityInfoRequest_t	 UECapabilityInfoRequest;
+			EndIndication_t	 EndIndication;
+			PendingDataIndication_t	 PendingDataIndication;
+			Subscription_Based_UE_DifferentiationInfo_t	 Subscription_Based_UE_DifferentiationInfo;
+		} 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;
+} DownlinkNASTransport_IEs_t;
+typedef struct InitialUEMessage_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct InitialUEMessage_IEs__value {
+		InitialUEMessage_IEs__value_PR present;
+		union InitialUEMessage_IEs__value_u {
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			NAS_PDU_t	 NAS_PDU;
+			TAI_t	 TAI;
+			EUTRAN_CGI_t	 EUTRAN_CGI;
+			RRC_Establishment_Cause_t	 RRC_Establishment_Cause;
+			S_TMSI_t	 S_TMSI;
+			CSG_Id_t	 CSG_Id;
+			GUMMEI_t	 GUMMEI;
+			CellAccessMode_t	 CellAccessMode;
+			TransportLayerAddress_t	 TransportLayerAddress;
+			RelayNode_Indicator_t	 RelayNode_Indicator;
+			GUMMEIType_t	 GUMMEIType;
+			TunnelInformation_t	 TunnelInformation;
+			TransportLayerAddress_t	 TransportLayerAddress_1;
+			LHN_ID_t	 LHN_ID;
+			MME_Group_ID_t	 MME_Group_ID;
+			UE_Usage_Type_t	 UE_Usage_Type;
+			CE_mode_B_SupportIndicator_t	 CE_mode_B_SupportIndicator;
+			DCN_ID_t	 DCN_ID;
+			Coverage_Level_t	 Coverage_Level;
+			UE_Application_Layer_Measurement_Capability_t	 UE_Application_Layer_Measurement_Capability;
+			EDT_Session_t	 EDT_Session;
+		} 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;
+} InitialUEMessage_IEs_t;
+typedef struct UplinkNASTransport_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct UplinkNASTransport_IEs__value {
+		UplinkNASTransport_IEs__value_PR present;
+		union UplinkNASTransport_IEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			NAS_PDU_t	 NAS_PDU;
+			EUTRAN_CGI_t	 EUTRAN_CGI;
+			TAI_t	 TAI;
+			TransportLayerAddress_t	 TransportLayerAddress;
+			TransportLayerAddress_t	 TransportLayerAddress_1;
+			LHN_ID_t	 LHN_ID;
+			PSCellInformation_t	 PSCellInformation;
+		} 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;
+} UplinkNASTransport_IEs_t;
+typedef struct NASNonDeliveryIndication_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct NASNonDeliveryIndication_IEs__value {
+		NASNonDeliveryIndication_IEs__value_PR present;
+		union NASNonDeliveryIndication_IEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			NAS_PDU_t	 NAS_PDU;
+			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;
+} NASNonDeliveryIndication_IEs_t;
+typedef struct RerouteNASRequest_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct RerouteNASRequest_IEs__value {
+		RerouteNASRequest_IEs__value_PR present;
+		union RerouteNASRequest_IEs__value_u {
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			OCTET_STRING_t	 OCTET_STRING;
+			MME_Group_ID_t	 MME_Group_ID;
+			Additional_GUTI_t	 Additional_GUTI;
+			UE_Usage_Type_t	 UE_Usage_Type;
+		} 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;
+} RerouteNASRequest_IEs_t;
+typedef struct NASDeliveryIndicationIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct NASDeliveryIndicationIEs__value {
+		NASDeliveryIndicationIEs__value_PR present;
+		union NASDeliveryIndicationIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+		} 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;
+} NASDeliveryIndicationIEs_t;
+typedef struct ResetIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct ResetIEs__value {
+		ResetIEs__value_PR present;
+		union ResetIEs__value_u {
+			Cause_t	 Cause;
+			ResetType_t	 ResetType;
+		} 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;
+} ResetIEs_t;
+typedef struct ResetAcknowledgeIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct ResetAcknowledgeIEs__value {
+		ResetAcknowledgeIEs__value_PR present;
+		union ResetAcknowledgeIEs__value_u {
+			UE_associatedLogicalS1_ConnectionListResAck_t	 UE_associatedLogicalS1_ConnectionListResAck;
+			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;
+} ResetAcknowledgeIEs_t;
+typedef struct ErrorIndicationIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct ErrorIndicationIEs__value {
+		ErrorIndicationIEs__value_PR present;
+		union ErrorIndicationIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			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;
+} ErrorIndicationIEs_t;
+typedef struct S1SetupRequestIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct S1SetupRequestIEs__value {
+		S1SetupRequestIEs__value_PR present;
+		union S1SetupRequestIEs__value_u {
+			Global_ENB_ID_t	 Global_ENB_ID;
+			ENBname_t	 ENBname;
+			SupportedTAs_t	 SupportedTAs;
+			PagingDRX_t	 PagingDRX;
+			CSG_IdList_t	 CSG_IdList;
+			UE_RetentionInformation_t	 UE_RetentionInformation;
+			NB_IoT_DefaultPagingDRX_t	 NB_IoT_DefaultPagingDRX;
+			ConnectedengNBList_t	 ConnectedengNBList;
+		} 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;
+} S1SetupRequestIEs_t;
+typedef struct S1SetupResponseIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct S1SetupResponseIEs__value {
+		S1SetupResponseIEs__value_PR present;
+		union S1SetupResponseIEs__value_u {
+			MMEname_t	 MMEname;
+			ServedGUMMEIs_t	 ServedGUMMEIs;
+			RelativeMMECapacity_t	 RelativeMMECapacity;
+			MMERelaySupportIndicator_t	 MMERelaySupportIndicator;
+			CriticalityDiagnostics_t	 CriticalityDiagnostics;
+			UE_RetentionInformation_t	 UE_RetentionInformation;
+			ServedDCNs_t	 ServedDCNs;
+		} 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;
+} S1SetupResponseIEs_t;
+typedef struct S1SetupFailureIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct S1SetupFailureIEs__value {
+		S1SetupFailureIEs__value_PR present;
+		union S1SetupFailureIEs__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;
+} S1SetupFailureIEs_t;
+typedef struct ENBConfigurationUpdateIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct ENBConfigurationUpdateIEs__value {
+		ENBConfigurationUpdateIEs__value_PR present;
+		union ENBConfigurationUpdateIEs__value_u {
+			ENBname_t	 ENBname;
+			SupportedTAs_t	 SupportedTAs;
+			CSG_IdList_t	 CSG_IdList;
+			PagingDRX_t	 PagingDRX;
+			NB_IoT_DefaultPagingDRX_t	 NB_IoT_DefaultPagingDRX;
+			ConnectedengNBList_t	 ConnectedengNBList;
+			ConnectedengNBList_t	 ConnectedengNBList_1;
+		} 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;
+} ENBConfigurationUpdateIEs_t;
+typedef struct ENBConfigurationUpdateAcknowledgeIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct ENBConfigurationUpdateAcknowledgeIEs__value {
+		ENBConfigurationUpdateAcknowledgeIEs__value_PR present;
+		union ENBConfigurationUpdateAcknowledgeIEs__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;
+} ENBConfigurationUpdateAcknowledgeIEs_t;
+typedef struct ENBConfigurationUpdateFailureIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct ENBConfigurationUpdateFailureIEs__value {
+		ENBConfigurationUpdateFailureIEs__value_PR present;
+		union ENBConfigurationUpdateFailureIEs__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;
+} ENBConfigurationUpdateFailureIEs_t;
+typedef struct MMEConfigurationUpdateIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct MMEConfigurationUpdateIEs__value {
+		MMEConfigurationUpdateIEs__value_PR present;
+		union MMEConfigurationUpdateIEs__value_u {
+			MMEname_t	 MMEname;
+			ServedGUMMEIs_t	 ServedGUMMEIs;
+			RelativeMMECapacity_t	 RelativeMMECapacity;
+			ServedDCNs_t	 ServedDCNs;
+		} 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;
+} MMEConfigurationUpdateIEs_t;
+typedef struct MMEConfigurationUpdateAcknowledgeIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct MMEConfigurationUpdateAcknowledgeIEs__value {
+		MMEConfigurationUpdateAcknowledgeIEs__value_PR present;
+		union MMEConfigurationUpdateAcknowledgeIEs__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;
+} MMEConfigurationUpdateAcknowledgeIEs_t;
+typedef struct MMEConfigurationUpdateFailureIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct MMEConfigurationUpdateFailureIEs__value {
+		MMEConfigurationUpdateFailureIEs__value_PR present;
+		union MMEConfigurationUpdateFailureIEs__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;
+} MMEConfigurationUpdateFailureIEs_t;
+typedef struct DownlinkS1cdma2000tunnellingIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct DownlinkS1cdma2000tunnellingIEs__value {
+		DownlinkS1cdma2000tunnellingIEs__value_PR present;
+		union DownlinkS1cdma2000tunnellingIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			E_RABSubjecttoDataForwardingList_t	 E_RABSubjecttoDataForwardingList;
+			Cdma2000HOStatus_t	 Cdma2000HOStatus;
+			Cdma2000RATType_t	 Cdma2000RATType;
+			Cdma2000PDU_t	 Cdma2000PDU;
+		} 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;
+} DownlinkS1cdma2000tunnellingIEs_t;
+typedef struct UplinkS1cdma2000tunnellingIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct UplinkS1cdma2000tunnellingIEs__value {
+		UplinkS1cdma2000tunnellingIEs__value_PR present;
+		union UplinkS1cdma2000tunnellingIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			Cdma2000RATType_t	 Cdma2000RATType;
+			Cdma2000SectorID_t	 Cdma2000SectorID;
+			Cdma2000HORequiredIndication_t	 Cdma2000HORequiredIndication;
+			Cdma2000OneXSRVCCInfo_t	 Cdma2000OneXSRVCCInfo;
+			Cdma2000OneXRAND_t	 Cdma2000OneXRAND;
+			Cdma2000PDU_t	 Cdma2000PDU;
+			EUTRANRoundTripDelayEstimationInfo_t	 EUTRANRoundTripDelayEstimationInfo;
+		} 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;
+} UplinkS1cdma2000tunnellingIEs_t;
+typedef struct UECapabilityInfoIndicationIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct UECapabilityInfoIndicationIEs__value {
+		UECapabilityInfoIndicationIEs__value_PR present;
+		union UECapabilityInfoIndicationIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			UERadioCapability_t	 UERadioCapability;
+			UERadioCapabilityForPaging_t	 UERadioCapabilityForPaging;
+			UE_Application_Layer_Measurement_Capability_t	 UE_Application_Layer_Measurement_Capability;
+			LTE_M_Indication_t	 LTE_M_Indication;
+		} 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;
+} UECapabilityInfoIndicationIEs_t;
+typedef struct ENBStatusTransferIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct ENBStatusTransferIEs__value {
+		ENBStatusTransferIEs__value_PR present;
+		union ENBStatusTransferIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			ENB_StatusTransfer_TransparentContainer_t	 ENB_StatusTransfer_TransparentContainer;
+		} 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;
+} ENBStatusTransferIEs_t;
+typedef struct MMEStatusTransferIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct MMEStatusTransferIEs__value {
+		MMEStatusTransferIEs__value_PR present;
+		union MMEStatusTransferIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			ENB_StatusTransfer_TransparentContainer_t	 ENB_StatusTransfer_TransparentContainer;
+		} 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;
+} MMEStatusTransferIEs_t;
+typedef struct TraceStartIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct TraceStartIEs__value {
+		TraceStartIEs__value_PR present;
+		union TraceStartIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			TraceActivation_t	 TraceActivation;
+		} 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;
+} TraceStartIEs_t;
+typedef struct TraceFailureIndicationIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct TraceFailureIndicationIEs__value {
+		TraceFailureIndicationIEs__value_PR present;
+		union TraceFailureIndicationIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			E_UTRAN_Trace_ID_t	 E_UTRAN_Trace_ID;
+			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;
+} TraceFailureIndicationIEs_t;
+typedef struct DeactivateTraceIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct DeactivateTraceIEs__value {
+		DeactivateTraceIEs__value_PR present;
+		union DeactivateTraceIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			E_UTRAN_Trace_ID_t	 E_UTRAN_Trace_ID;
+		} 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;
+} DeactivateTraceIEs_t;
+typedef struct CellTrafficTraceIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct CellTrafficTraceIEs__value {
+		CellTrafficTraceIEs__value_PR present;
+		union CellTrafficTraceIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			E_UTRAN_Trace_ID_t	 E_UTRAN_Trace_ID;
+			EUTRAN_CGI_t	 EUTRAN_CGI;
+			TransportLayerAddress_t	 TransportLayerAddress;
+			PrivacyIndicator_t	 PrivacyIndicator;
+		} 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;
+} CellTrafficTraceIEs_t;
+typedef struct LocationReportingControlIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct LocationReportingControlIEs__value {
+		LocationReportingControlIEs__value_PR present;
+		union LocationReportingControlIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			RequestType_t	 RequestType;
+		} 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;
+} LocationReportingControlIEs_t;
+typedef struct LocationReportingFailureIndicationIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct LocationReportingFailureIndicationIEs__value {
+		LocationReportingFailureIndicationIEs__value_PR present;
+		union LocationReportingFailureIndicationIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			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;
+} LocationReportingFailureIndicationIEs_t;
+typedef struct LocationReportIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct LocationReportIEs__value {
+		LocationReportIEs__value_PR present;
+		union LocationReportIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			EUTRAN_CGI_t	 EUTRAN_CGI;
+			TAI_t	 TAI;
+			RequestType_t	 RequestType;
+			PSCellInformation_t	 PSCellInformation;
+		} 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;
+} LocationReportIEs_t;
+typedef struct OverloadStartIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct OverloadStartIEs__value {
+		OverloadStartIEs__value_PR present;
+		union OverloadStartIEs__value_u {
+			OverloadResponse_t	 OverloadResponse;
+			GUMMEIList_t	 GUMMEIList;
+			TrafficLoadReductionIndication_t	 TrafficLoadReductionIndication;
+		} 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;
+} OverloadStartIEs_t;
+typedef struct OverloadStopIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct OverloadStopIEs__value {
+		OverloadStopIEs__value_PR present;
+		union OverloadStopIEs__value_u {
+			GUMMEIList_t	 GUMMEIList;
+		} 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;
+} OverloadStopIEs_t;
+typedef struct WriteReplaceWarningRequestIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct WriteReplaceWarningRequestIEs__value {
+		WriteReplaceWarningRequestIEs__value_PR present;
+		union WriteReplaceWarningRequestIEs__value_u {
+			MessageIdentifier_t	 MessageIdentifier;
+			SerialNumber_t	 SerialNumber;
+			WarningAreaList_t	 WarningAreaList;
+			RepetitionPeriod_t	 RepetitionPeriod;
+			ExtendedRepetitionPeriod_t	 ExtendedRepetitionPeriod;
+			NumberofBroadcastRequest_t	 NumberofBroadcastRequest;
+			WarningType_t	 WarningType;
+			WarningSecurityInfo_t	 WarningSecurityInfo;
+			DataCodingScheme_t	 DataCodingScheme;
+			WarningMessageContents_t	 WarningMessageContents;
+			ConcurrentWarningMessageIndicator_t	 ConcurrentWarningMessageIndicator;
+			WarningAreaCoordinates_t	 WarningAreaCoordinates;
+		} 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;
+} WriteReplaceWarningRequestIEs_t;
+typedef struct WriteReplaceWarningResponseIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct WriteReplaceWarningResponseIEs__value {
+		WriteReplaceWarningResponseIEs__value_PR present;
+		union WriteReplaceWarningResponseIEs__value_u {
+			MessageIdentifier_t	 MessageIdentifier;
+			SerialNumber_t	 SerialNumber;
+			BroadcastCompletedAreaList_t	 BroadcastCompletedAreaList;
+			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;
+} WriteReplaceWarningResponseIEs_t;
+typedef struct ENBDirectInformationTransferIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct ENBDirectInformationTransferIEs__value {
+		ENBDirectInformationTransferIEs__value_PR present;
+		union ENBDirectInformationTransferIEs__value_u {
+			Inter_SystemInformationTransferType_t	 Inter_SystemInformationTransferType;
+		} 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;
+} ENBDirectInformationTransferIEs_t;
+typedef struct MMEDirectInformationTransferIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct MMEDirectInformationTransferIEs__value {
+		MMEDirectInformationTransferIEs__value_PR present;
+		union MMEDirectInformationTransferIEs__value_u {
+			Inter_SystemInformationTransferType_t	 Inter_SystemInformationTransferType;
+		} 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;
+} MMEDirectInformationTransferIEs_t;
+typedef struct ENBConfigurationTransferIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct ENBConfigurationTransferIEs__value {
+		ENBConfigurationTransferIEs__value_PR present;
+		union ENBConfigurationTransferIEs__value_u {
+			SONConfigurationTransfer_t	 SONConfigurationTransfer;
+			EN_DCSONConfigurationTransfer_t	 EN_DCSONConfigurationTransfer;
+		} 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;
+} ENBConfigurationTransferIEs_t;
+typedef struct MMEConfigurationTransferIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct MMEConfigurationTransferIEs__value {
+		MMEConfigurationTransferIEs__value_PR present;
+		union MMEConfigurationTransferIEs__value_u {
+			SONConfigurationTransfer_t	 SONConfigurationTransfer;
+			EN_DCSONConfigurationTransfer_t	 EN_DCSONConfigurationTransfer;
+		} 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;
+} MMEConfigurationTransferIEs_t;
+typedef struct KillRequestIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct KillRequestIEs__value {
+		KillRequestIEs__value_PR present;
+		union KillRequestIEs__value_u {
+			MessageIdentifier_t	 MessageIdentifier;
+			SerialNumber_t	 SerialNumber;
+			WarningAreaList_t	 WarningAreaList;
+			KillAllWarningMessages_t	 KillAllWarningMessages;
+		} 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;
+} KillRequestIEs_t;
+typedef struct KillResponseIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct KillResponseIEs__value {
+		KillResponseIEs__value_PR present;
+		union KillResponseIEs__value_u {
+			MessageIdentifier_t	 MessageIdentifier;
+			SerialNumber_t	 SerialNumber;
+			BroadcastCancelledAreaList_t	 BroadcastCancelledAreaList;
+			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;
+} KillResponseIEs_t;
+typedef struct PWSRestartIndicationIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct PWSRestartIndicationIEs__value {
+		PWSRestartIndicationIEs__value_PR present;
+		union PWSRestartIndicationIEs__value_u {
+			ECGIListForRestart_t	 ECGIListForRestart;
+			Global_ENB_ID_t	 Global_ENB_ID;
+			TAIListForRestart_t	 TAIListForRestart;
+			EmergencyAreaIDListForRestart_t	 EmergencyAreaIDListForRestart;
+		} 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;
+} PWSRestartIndicationIEs_t;
+typedef struct PWSFailureIndicationIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct PWSFailureIndicationIEs__value {
+		PWSFailureIndicationIEs__value_PR present;
+		union PWSFailureIndicationIEs__value_u {
+			PWSfailedECGIList_t	 PWSfailedECGIList;
+			Global_ENB_ID_t	 Global_ENB_ID;
+		} 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;
+} PWSFailureIndicationIEs_t;
+typedef struct DownlinkUEAssociatedLPPaTransport_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct DownlinkUEAssociatedLPPaTransport_IEs__value {
+		DownlinkUEAssociatedLPPaTransport_IEs__value_PR present;
+		union DownlinkUEAssociatedLPPaTransport_IEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			Routing_ID_t	 Routing_ID;
+			LPPa_PDU_t	 LPPa_PDU;
+		} 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;
+} DownlinkUEAssociatedLPPaTransport_IEs_t;
+typedef struct UplinkUEAssociatedLPPaTransport_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct UplinkUEAssociatedLPPaTransport_IEs__value {
+		UplinkUEAssociatedLPPaTransport_IEs__value_PR present;
+		union UplinkUEAssociatedLPPaTransport_IEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			Routing_ID_t	 Routing_ID;
+			LPPa_PDU_t	 LPPa_PDU;
+		} 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;
+} UplinkUEAssociatedLPPaTransport_IEs_t;
+typedef struct DownlinkNonUEAssociatedLPPaTransport_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct DownlinkNonUEAssociatedLPPaTransport_IEs__value {
+		DownlinkNonUEAssociatedLPPaTransport_IEs__value_PR present;
+		union DownlinkNonUEAssociatedLPPaTransport_IEs__value_u {
+			Routing_ID_t	 Routing_ID;
+			LPPa_PDU_t	 LPPa_PDU;
+		} 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;
+} DownlinkNonUEAssociatedLPPaTransport_IEs_t;
+typedef struct UplinkNonUEAssociatedLPPaTransport_IEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct UplinkNonUEAssociatedLPPaTransport_IEs__value {
+		UplinkNonUEAssociatedLPPaTransport_IEs__value_PR present;
+		union UplinkNonUEAssociatedLPPaTransport_IEs__value_u {
+			Routing_ID_t	 Routing_ID;
+			LPPa_PDU_t	 LPPa_PDU;
+		} 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;
+} UplinkNonUEAssociatedLPPaTransport_IEs_t;
+typedef struct E_RABModificationIndicationIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABModificationIndicationIEs__value {
+		E_RABModificationIndicationIEs__value_PR present;
+		union E_RABModificationIndicationIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			E_RABToBeModifiedListBearerModInd_t	 E_RABToBeModifiedListBearerModInd;
+			E_RABNotToBeModifiedListBearerModInd_t	 E_RABNotToBeModifiedListBearerModInd;
+			CSGMembershipInfo_t	 CSGMembershipInfo;
+			TunnelInformation_t	 TunnelInformation;
+			SecondaryRATDataUsageReportList_t	 SecondaryRATDataUsageReportList;
+		} 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;
+} E_RABModificationIndicationIEs_t;
+typedef struct E_RABModificationConfirmIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABModificationConfirmIEs__value {
+		E_RABModificationConfirmIEs__value_PR present;
+		union E_RABModificationConfirmIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			E_RABModifyListBearerModConf_t	 E_RABModifyListBearerModConf;
+			E_RABList_t	 E_RABList;
+			E_RABList_t	 E_RABList_1;
+			CriticalityDiagnostics_t	 CriticalityDiagnostics;
+			CSGMembershipStatus_t	 CSGMembershipStatus;
+		} 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;
+} E_RABModificationConfirmIEs_t;
+typedef struct UEContextModificationIndicationIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct UEContextModificationIndicationIEs__value {
+		UEContextModificationIndicationIEs__value_PR present;
+		union UEContextModificationIndicationIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			CSGMembershipInfo_t	 CSGMembershipInfo;
+		} 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;
+} UEContextModificationIndicationIEs_t;
+typedef struct UEContextModificationConfirmIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct UEContextModificationConfirmIEs__value {
+		UEContextModificationConfirmIEs__value_PR present;
+		union UEContextModificationConfirmIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			CSGMembershipStatus_t	 CSGMembershipStatus;
+			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;
+} UEContextModificationConfirmIEs_t;
+typedef struct UEContextSuspendRequestIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct UEContextSuspendRequestIEs__value {
+		UEContextSuspendRequestIEs__value_PR present;
+		union UEContextSuspendRequestIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			InformationOnRecommendedCellsAndENBsForPaging_t	 InformationOnRecommendedCellsAndENBsForPaging;
+			CellIdentifierAndCELevelForCECapableUEs_t	 CellIdentifierAndCELevelForCECapableUEs;
+			SecondaryRATDataUsageReportList_t	 SecondaryRATDataUsageReportList;
+			UserLocationInformation_t	 UserLocationInformation;
+			TimeSinceSecondaryNodeRelease_t	 TimeSinceSecondaryNodeRelease;
+		} 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;
+} UEContextSuspendRequestIEs_t;
+typedef struct UEContextSuspendResponseIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct UEContextSuspendResponseIEs__value {
+		UEContextSuspendResponseIEs__value_PR present;
+		union UEContextSuspendResponseIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			CriticalityDiagnostics_t	 CriticalityDiagnostics;
+			SecurityContext_t	 SecurityContext;
+		} 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;
+} UEContextSuspendResponseIEs_t;
+typedef struct UEContextResumeRequestIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct UEContextResumeRequestIEs__value {
+		UEContextResumeRequestIEs__value_PR present;
+		union UEContextResumeRequestIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			E_RABFailedToResumeListResumeReq_t	 E_RABFailedToResumeListResumeReq;
+			RRC_Establishment_Cause_t	 RRC_Establishment_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;
+} UEContextResumeRequestIEs_t;
+typedef struct UEContextResumeResponseIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct UEContextResumeResponseIEs__value {
+		UEContextResumeResponseIEs__value_PR present;
+		union UEContextResumeResponseIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			E_RABFailedToResumeListResumeRes_t	 E_RABFailedToResumeListResumeRes;
+			CriticalityDiagnostics_t	 CriticalityDiagnostics;
+			SecurityContext_t	 SecurityContext;
+			PendingDataIndication_t	 PendingDataIndication;
+		} 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;
+} UEContextResumeResponseIEs_t;
+typedef struct UEContextResumeFailureIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct UEContextResumeFailureIEs__value {
+		UEContextResumeFailureIEs__value_PR present;
+		union UEContextResumeFailureIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			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;
+} UEContextResumeFailureIEs_t;
+typedef struct ConnectionEstablishmentIndicationIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct ConnectionEstablishmentIndicationIEs__value {
+		ConnectionEstablishmentIndicationIEs__value_PR present;
+		union ConnectionEstablishmentIndicationIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			UERadioCapability_t	 UERadioCapability;
+			EnhancedCoverageRestricted_t	 EnhancedCoverageRestricted;
+			DL_CP_SecurityInformation_t	 DL_CP_SecurityInformation;
+			CE_ModeBRestricted_t	 CE_ModeBRestricted;
+			EndIndication_t	 EndIndication;
+			Subscription_Based_UE_DifferentiationInfo_t	 Subscription_Based_UE_DifferentiationInfo;
+		} 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;
+} ConnectionEstablishmentIndicationIEs_t;
+typedef struct RetrieveUEInformationIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct RetrieveUEInformationIEs__value {
+		RetrieveUEInformationIEs__value_PR present;
+		union RetrieveUEInformationIEs__value_u {
+			S_TMSI_t	 S_TMSI;
+		} 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;
+} RetrieveUEInformationIEs_t;
+typedef struct UEInformationTransferIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct UEInformationTransferIEs__value {
+		UEInformationTransferIEs__value_PR present;
+		union UEInformationTransferIEs__value_u {
+			S_TMSI_t	 S_TMSI;
+			E_RABLevelQoSParameters_t	 E_RABLevelQoSParameters;
+			UERadioCapability_t	 UERadioCapability;
+			Subscription_Based_UE_DifferentiationInfo_t	 Subscription_Based_UE_DifferentiationInfo;
+			PendingDataIndication_t	 PendingDataIndication;
+		} 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;
+} UEInformationTransferIEs_t;
+typedef struct ENBCPRelocationIndicationIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct ENBCPRelocationIndicationIEs__value {
+		ENBCPRelocationIndicationIEs__value_PR present;
+		union ENBCPRelocationIndicationIEs__value_u {
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			S_TMSI_t	 S_TMSI;
+			EUTRAN_CGI_t	 EUTRAN_CGI;
+			TAI_t	 TAI;
+			UL_CP_SecurityInformation_t	 UL_CP_SecurityInformation;
+		} 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;
+} ENBCPRelocationIndicationIEs_t;
+typedef struct MMECPRelocationIndicationIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct MMECPRelocationIndicationIEs__value {
+		MMECPRelocationIndicationIEs__value_PR present;
+		union MMECPRelocationIndicationIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+		} 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;
+} MMECPRelocationIndicationIEs_t;
+typedef struct SecondaryRATDataUsageReportIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct SecondaryRATDataUsageReportIEs__value {
+		SecondaryRATDataUsageReportIEs__value_PR present;
+		union SecondaryRATDataUsageReportIEs__value_u {
+			MME_UE_S1AP_ID_t	 MME_UE_S1AP_ID;
+			ENB_UE_S1AP_ID_t	 ENB_UE_S1AP_ID;
+			SecondaryRATDataUsageReportList_t	 SecondaryRATDataUsageReportList;
+			HandoverFlag_t	 HandoverFlag;
+			UserLocationInformation_t	 UserLocationInformation;
+			TimeSinceSecondaryNodeRelease_t	 TimeSinceSecondaryNodeRelease;
+		} 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;
+} SecondaryRATDataUsageReportIEs_t;
+typedef struct E_RABDataForwardingItemIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABDataForwardingItemIEs__value {
+		E_RABDataForwardingItemIEs__value_PR present;
+		union E_RABDataForwardingItemIEs__value_u {
+			E_RABDataForwardingItem_t	 E_RABDataForwardingItem;
+		} 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;
+} E_RABDataForwardingItemIEs_t;
+typedef struct E_RABToBeSetupItemHOReqIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABToBeSetupItemHOReqIEs__value {
+		E_RABToBeSetupItemHOReqIEs__value_PR present;
+		union E_RABToBeSetupItemHOReqIEs__value_u {
+			E_RABToBeSetupItemHOReq_t	 E_RABToBeSetupItemHOReq;
+		} 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;
+} E_RABToBeSetupItemHOReqIEs_t;
+typedef struct E_RABAdmittedItemIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABAdmittedItemIEs__value {
+		E_RABAdmittedItemIEs__value_PR present;
+		union E_RABAdmittedItemIEs__value_u {
+			E_RABAdmittedItem_t	 E_RABAdmittedItem;
+		} 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;
+} E_RABAdmittedItemIEs_t;
+typedef struct E_RABFailedtoSetupItemHOReqAckIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABFailedtoSetupItemHOReqAckIEs__value {
+		E_RABFailedtoSetupItemHOReqAckIEs__value_PR present;
+		union E_RABFailedtoSetupItemHOReqAckIEs__value_u {
+			E_RABFailedToSetupItemHOReqAck_t	 E_RABFailedToSetupItemHOReqAck;
+		} 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;
+} E_RABFailedtoSetupItemHOReqAckIEs_t;
+typedef struct E_RABToBeSwitchedDLItemIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABToBeSwitchedDLItemIEs__value {
+		E_RABToBeSwitchedDLItemIEs__value_PR present;
+		union E_RABToBeSwitchedDLItemIEs__value_u {
+			E_RABToBeSwitchedDLItem_t	 E_RABToBeSwitchedDLItem;
+		} 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;
+} E_RABToBeSwitchedDLItemIEs_t;
+typedef struct E_RABToBeSwitchedULItemIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABToBeSwitchedULItemIEs__value {
+		E_RABToBeSwitchedULItemIEs__value_PR present;
+		union E_RABToBeSwitchedULItemIEs__value_u {
+			E_RABToBeSwitchedULItem_t	 E_RABToBeSwitchedULItem;
+		} 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;
+} E_RABToBeSwitchedULItemIEs_t;
+typedef struct E_RABToBeModifiedItemBearerModIndIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABToBeModifiedItemBearerModIndIEs__value {
+		E_RABToBeModifiedItemBearerModIndIEs__value_PR present;
+		union E_RABToBeModifiedItemBearerModIndIEs__value_u {
+			E_RABToBeModifiedItemBearerModInd_t	 E_RABToBeModifiedItemBearerModInd;
+		} 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;
+} E_RABToBeModifiedItemBearerModIndIEs_t;
+typedef struct E_RABNotToBeModifiedItemBearerModIndIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABNotToBeModifiedItemBearerModIndIEs__value {
+		E_RABNotToBeModifiedItemBearerModIndIEs__value_PR present;
+		union E_RABNotToBeModifiedItemBearerModIndIEs__value_u {
+			E_RABNotToBeModifiedItemBearerModInd_t	 E_RABNotToBeModifiedItemBearerModInd;
+		} 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;
+} E_RABNotToBeModifiedItemBearerModIndIEs_t;
+typedef struct E_RABFailedToResumeItemResumeReqIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABFailedToResumeItemResumeReqIEs__value {
+		E_RABFailedToResumeItemResumeReqIEs__value_PR present;
+		union E_RABFailedToResumeItemResumeReqIEs__value_u {
+			E_RABFailedToResumeItemResumeReq_t	 E_RABFailedToResumeItemResumeReq;
+		} 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;
+} E_RABFailedToResumeItemResumeReqIEs_t;
+typedef struct E_RABFailedToResumeItemResumeResIEs {
+	ProtocolIE_ID_t	 id;
+	Criticality_t	 criticality;
+	struct E_RABFailedToResumeItemResumeResIEs__value {
+		E_RABFailedToResumeItemResumeResIEs__value_PR present;
+		union E_RABFailedToResumeItemResumeResIEs__value_u {
+			E_RABFailedToResumeItemResumeRes_t	 E_RABFailedToResumeItemResumeRes;
+		} 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;
+} E_RABFailedToResumeItemResumeResIEs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Bearers_SubjectToStatusTransfer_ItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_Bearers_SubjectToStatusTransfer_ItemIEs_specs_1;
+extern asn_TYPE_member_t asn_MBR_Bearers_SubjectToStatusTransfer_ItemIEs_1[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABInformationListIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABInformationListIEs_specs_5;
+extern asn_TYPE_member_t asn_MBR_E_RABInformationListIEs_5[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABItemIEs_specs_9;
+extern asn_TYPE_member_t asn_MBR_E_RABItemIEs_9[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABUsageReportItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABUsageReportItemIEs_specs_13;
+extern asn_TYPE_member_t asn_MBR_E_RABUsageReportItemIEs_13[3];
+extern asn_TYPE_descriptor_t asn_DEF_MDTMode_ExtensionIE;
+extern asn_SEQUENCE_specifics_t asn_SPC_MDTMode_ExtensionIE_specs_17;
+extern asn_TYPE_member_t asn_MBR_MDTMode_ExtensionIE_17[3];
+extern asn_TYPE_descriptor_t asn_DEF_RecommendedCellItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RecommendedCellItemIEs_specs_21;
+extern asn_TYPE_member_t asn_MBR_RecommendedCellItemIEs_21[3];
+extern asn_TYPE_descriptor_t asn_DEF_RecommendedENBItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RecommendedENBItemIEs_specs_25;
+extern asn_TYPE_member_t asn_MBR_RecommendedENBItemIEs_25[3];
+extern asn_TYPE_descriptor_t asn_DEF_SecondaryRATDataUsageReportItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_SecondaryRATDataUsageReportItemIEs_specs_29;
+extern asn_TYPE_member_t asn_MBR_SecondaryRATDataUsageReportItemIEs_29[3];
+extern asn_TYPE_descriptor_t asn_DEF_SONInformation_ExtensionIE;
+extern asn_SEQUENCE_specifics_t asn_SPC_SONInformation_ExtensionIE_specs_33;
+extern asn_TYPE_member_t asn_MBR_SONInformation_ExtensionIE_33[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeSetupItemBearerSUReqIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABToBeSetupItemBearerSUReqIEs_specs_37;
+extern asn_TYPE_member_t asn_MBR_E_RABToBeSetupItemBearerSUReqIEs_37[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABSetupItemBearerSUResIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABSetupItemBearerSUResIEs_specs_41;
+extern asn_TYPE_member_t asn_MBR_E_RABSetupItemBearerSUResIEs_41[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeModifiedItemBearerModReqIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABToBeModifiedItemBearerModReqIEs_specs_45;
+extern asn_TYPE_member_t asn_MBR_E_RABToBeModifiedItemBearerModReqIEs_45[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABModifyItemBearerModResIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABModifyItemBearerModResIEs_specs_49;
+extern asn_TYPE_member_t asn_MBR_E_RABModifyItemBearerModResIEs_49[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABReleaseItemBearerRelCompIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABReleaseItemBearerRelCompIEs_specs_53;
+extern asn_TYPE_member_t asn_MBR_E_RABReleaseItemBearerRelCompIEs_53[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeSetupItemCtxtSUReqIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABToBeSetupItemCtxtSUReqIEs_specs_57;
+extern asn_TYPE_member_t asn_MBR_E_RABToBeSetupItemCtxtSUReqIEs_57[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABSetupItemCtxtSUResIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABSetupItemCtxtSUResIEs_specs_61;
+extern asn_TYPE_member_t asn_MBR_E_RABSetupItemCtxtSUResIEs_61[3];
+extern asn_TYPE_descriptor_t asn_DEF_TAIItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_TAIItemIEs_specs_65;
+extern asn_TYPE_member_t asn_MBR_TAIItemIEs_65[3];
+extern asn_TYPE_descriptor_t asn_DEF_UE_associatedLogicalS1_ConnectionItemRes;
+extern asn_SEQUENCE_specifics_t asn_SPC_UE_associatedLogicalS1_ConnectionItemRes_specs_69;
+extern asn_TYPE_member_t asn_MBR_UE_associatedLogicalS1_ConnectionItemRes_69[3];
+extern asn_TYPE_descriptor_t asn_DEF_UE_associatedLogicalS1_ConnectionItemResAck;
+extern asn_SEQUENCE_specifics_t asn_SPC_UE_associatedLogicalS1_ConnectionItemResAck_specs_73;
+extern asn_TYPE_member_t asn_MBR_UE_associatedLogicalS1_ConnectionItemResAck_73[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABModifyItemBearerModConfIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABModifyItemBearerModConfIEs_specs_77;
+extern asn_TYPE_member_t asn_MBR_E_RABModifyItemBearerModConfIEs_77[3];
+extern asn_TYPE_descriptor_t asn_DEF_HandoverRequiredIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_HandoverRequiredIEs_specs_81;
+extern asn_TYPE_member_t asn_MBR_HandoverRequiredIEs_81[3];
+extern asn_TYPE_descriptor_t asn_DEF_HandoverCommandIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_HandoverCommandIEs_specs_85;
+extern asn_TYPE_member_t asn_MBR_HandoverCommandIEs_85[3];
+extern asn_TYPE_descriptor_t asn_DEF_HandoverPreparationFailureIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_HandoverPreparationFailureIEs_specs_89;
+extern asn_TYPE_member_t asn_MBR_HandoverPreparationFailureIEs_89[3];
+extern asn_TYPE_descriptor_t asn_DEF_HandoverRequestIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_HandoverRequestIEs_specs_93;
+extern asn_TYPE_member_t asn_MBR_HandoverRequestIEs_93[3];
+extern asn_TYPE_descriptor_t asn_DEF_HandoverRequestAcknowledgeIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_HandoverRequestAcknowledgeIEs_specs_97;
+extern asn_TYPE_member_t asn_MBR_HandoverRequestAcknowledgeIEs_97[3];
+extern asn_TYPE_descriptor_t asn_DEF_HandoverFailureIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_HandoverFailureIEs_specs_101;
+extern asn_TYPE_member_t asn_MBR_HandoverFailureIEs_101[3];
+extern asn_TYPE_descriptor_t asn_DEF_HandoverNotifyIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_HandoverNotifyIEs_specs_105;
+extern asn_TYPE_member_t asn_MBR_HandoverNotifyIEs_105[3];
+extern asn_TYPE_descriptor_t asn_DEF_PathSwitchRequestIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_PathSwitchRequestIEs_specs_109;
+extern asn_TYPE_member_t asn_MBR_PathSwitchRequestIEs_109[3];
+extern asn_TYPE_descriptor_t asn_DEF_PathSwitchRequestAcknowledgeIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_PathSwitchRequestAcknowledgeIEs_specs_113;
+extern asn_TYPE_member_t asn_MBR_PathSwitchRequestAcknowledgeIEs_113[3];
+extern asn_TYPE_descriptor_t asn_DEF_PathSwitchRequestFailureIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_PathSwitchRequestFailureIEs_specs_117;
+extern asn_TYPE_member_t asn_MBR_PathSwitchRequestFailureIEs_117[3];
+extern asn_TYPE_descriptor_t asn_DEF_HandoverCancelIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_HandoverCancelIEs_specs_121;
+extern asn_TYPE_member_t asn_MBR_HandoverCancelIEs_121[3];
+extern asn_TYPE_descriptor_t asn_DEF_HandoverCancelAcknowledgeIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_HandoverCancelAcknowledgeIEs_specs_125;
+extern asn_TYPE_member_t asn_MBR_HandoverCancelAcknowledgeIEs_125[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABSetupRequestIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABSetupRequestIEs_specs_129;
+extern asn_TYPE_member_t asn_MBR_E_RABSetupRequestIEs_129[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABSetupResponseIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABSetupResponseIEs_specs_133;
+extern asn_TYPE_member_t asn_MBR_E_RABSetupResponseIEs_133[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABModifyRequestIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABModifyRequestIEs_specs_137;
+extern asn_TYPE_member_t asn_MBR_E_RABModifyRequestIEs_137[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABModifyResponseIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABModifyResponseIEs_specs_141;
+extern asn_TYPE_member_t asn_MBR_E_RABModifyResponseIEs_141[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABReleaseCommandIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABReleaseCommandIEs_specs_145;
+extern asn_TYPE_member_t asn_MBR_E_RABReleaseCommandIEs_145[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABReleaseResponseIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABReleaseResponseIEs_specs_149;
+extern asn_TYPE_member_t asn_MBR_E_RABReleaseResponseIEs_149[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABReleaseIndicationIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABReleaseIndicationIEs_specs_153;
+extern asn_TYPE_member_t asn_MBR_E_RABReleaseIndicationIEs_153[3];
+extern asn_TYPE_descriptor_t asn_DEF_InitialContextSetupRequestIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_InitialContextSetupRequestIEs_specs_157;
+extern asn_TYPE_member_t asn_MBR_InitialContextSetupRequestIEs_157[3];
+extern asn_TYPE_descriptor_t asn_DEF_InitialContextSetupResponseIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_InitialContextSetupResponseIEs_specs_161;
+extern asn_TYPE_member_t asn_MBR_InitialContextSetupResponseIEs_161[3];
+extern asn_TYPE_descriptor_t asn_DEF_InitialContextSetupFailureIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_InitialContextSetupFailureIEs_specs_165;
+extern asn_TYPE_member_t asn_MBR_InitialContextSetupFailureIEs_165[3];
+extern asn_TYPE_descriptor_t asn_DEF_PagingIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_PagingIEs_specs_169;
+extern asn_TYPE_member_t asn_MBR_PagingIEs_169[3];
+extern asn_TYPE_descriptor_t asn_DEF_UEContextReleaseRequest_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEContextReleaseRequest_IEs_specs_173;
+extern asn_TYPE_member_t asn_MBR_UEContextReleaseRequest_IEs_173[3];
+extern asn_TYPE_descriptor_t asn_DEF_UEContextReleaseCommand_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEContextReleaseCommand_IEs_specs_177;
+extern asn_TYPE_member_t asn_MBR_UEContextReleaseCommand_IEs_177[3];
+extern asn_TYPE_descriptor_t asn_DEF_UEContextReleaseComplete_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEContextReleaseComplete_IEs_specs_181;
+extern asn_TYPE_member_t asn_MBR_UEContextReleaseComplete_IEs_181[3];
+extern asn_TYPE_descriptor_t asn_DEF_UEContextModificationRequestIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEContextModificationRequestIEs_specs_185;
+extern asn_TYPE_member_t asn_MBR_UEContextModificationRequestIEs_185[3];
+extern asn_TYPE_descriptor_t asn_DEF_UEContextModificationResponseIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEContextModificationResponseIEs_specs_189;
+extern asn_TYPE_member_t asn_MBR_UEContextModificationResponseIEs_189[3];
+extern asn_TYPE_descriptor_t asn_DEF_UEContextModificationFailureIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEContextModificationFailureIEs_specs_193;
+extern asn_TYPE_member_t asn_MBR_UEContextModificationFailureIEs_193[3];
+extern asn_TYPE_descriptor_t asn_DEF_UERadioCapabilityMatchRequestIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UERadioCapabilityMatchRequestIEs_specs_197;
+extern asn_TYPE_member_t asn_MBR_UERadioCapabilityMatchRequestIEs_197[3];
+extern asn_TYPE_descriptor_t asn_DEF_UERadioCapabilityMatchResponseIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UERadioCapabilityMatchResponseIEs_specs_201;
+extern asn_TYPE_member_t asn_MBR_UERadioCapabilityMatchResponseIEs_201[3];
+extern asn_TYPE_descriptor_t asn_DEF_DownlinkNASTransport_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_DownlinkNASTransport_IEs_specs_205;
+extern asn_TYPE_member_t asn_MBR_DownlinkNASTransport_IEs_205[3];
+extern asn_TYPE_descriptor_t asn_DEF_InitialUEMessage_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_InitialUEMessage_IEs_specs_209;
+extern asn_TYPE_member_t asn_MBR_InitialUEMessage_IEs_209[3];
+extern asn_TYPE_descriptor_t asn_DEF_UplinkNASTransport_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UplinkNASTransport_IEs_specs_213;
+extern asn_TYPE_member_t asn_MBR_UplinkNASTransport_IEs_213[3];
+extern asn_TYPE_descriptor_t asn_DEF_NASNonDeliveryIndication_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_NASNonDeliveryIndication_IEs_specs_217;
+extern asn_TYPE_member_t asn_MBR_NASNonDeliveryIndication_IEs_217[3];
+extern asn_TYPE_descriptor_t asn_DEF_RerouteNASRequest_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RerouteNASRequest_IEs_specs_221;
+extern asn_TYPE_member_t asn_MBR_RerouteNASRequest_IEs_221[3];
+extern asn_TYPE_descriptor_t asn_DEF_NASDeliveryIndicationIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_NASDeliveryIndicationIEs_specs_225;
+extern asn_TYPE_member_t asn_MBR_NASDeliveryIndicationIEs_225[3];
+extern asn_TYPE_descriptor_t asn_DEF_ResetIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ResetIEs_specs_229;
+extern asn_TYPE_member_t asn_MBR_ResetIEs_229[3];
+extern asn_TYPE_descriptor_t asn_DEF_ResetAcknowledgeIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ResetAcknowledgeIEs_specs_233;
+extern asn_TYPE_member_t asn_MBR_ResetAcknowledgeIEs_233[3];
+extern asn_TYPE_descriptor_t asn_DEF_ErrorIndicationIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ErrorIndicationIEs_specs_237;
+extern asn_TYPE_member_t asn_MBR_ErrorIndicationIEs_237[3];
+extern asn_TYPE_descriptor_t asn_DEF_S1SetupRequestIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_S1SetupRequestIEs_specs_241;
+extern asn_TYPE_member_t asn_MBR_S1SetupRequestIEs_241[3];
+extern asn_TYPE_descriptor_t asn_DEF_S1SetupResponseIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_S1SetupResponseIEs_specs_245;
+extern asn_TYPE_member_t asn_MBR_S1SetupResponseIEs_245[3];
+extern asn_TYPE_descriptor_t asn_DEF_S1SetupFailureIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_S1SetupFailureIEs_specs_249;
+extern asn_TYPE_member_t asn_MBR_S1SetupFailureIEs_249[3];
+extern asn_TYPE_descriptor_t asn_DEF_ENBConfigurationUpdateIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ENBConfigurationUpdateIEs_specs_253;
+extern asn_TYPE_member_t asn_MBR_ENBConfigurationUpdateIEs_253[3];
+extern asn_TYPE_descriptor_t asn_DEF_ENBConfigurationUpdateAcknowledgeIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ENBConfigurationUpdateAcknowledgeIEs_specs_257;
+extern asn_TYPE_member_t asn_MBR_ENBConfigurationUpdateAcknowledgeIEs_257[3];
+extern asn_TYPE_descriptor_t asn_DEF_ENBConfigurationUpdateFailureIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ENBConfigurationUpdateFailureIEs_specs_261;
+extern asn_TYPE_member_t asn_MBR_ENBConfigurationUpdateFailureIEs_261[3];
+extern asn_TYPE_descriptor_t asn_DEF_MMEConfigurationUpdateIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_MMEConfigurationUpdateIEs_specs_265;
+extern asn_TYPE_member_t asn_MBR_MMEConfigurationUpdateIEs_265[3];
+extern asn_TYPE_descriptor_t asn_DEF_MMEConfigurationUpdateAcknowledgeIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_MMEConfigurationUpdateAcknowledgeIEs_specs_269;
+extern asn_TYPE_member_t asn_MBR_MMEConfigurationUpdateAcknowledgeIEs_269[3];
+extern asn_TYPE_descriptor_t asn_DEF_MMEConfigurationUpdateFailureIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_MMEConfigurationUpdateFailureIEs_specs_273;
+extern asn_TYPE_member_t asn_MBR_MMEConfigurationUpdateFailureIEs_273[3];
+extern asn_TYPE_descriptor_t asn_DEF_DownlinkS1cdma2000tunnellingIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_DownlinkS1cdma2000tunnellingIEs_specs_277;
+extern asn_TYPE_member_t asn_MBR_DownlinkS1cdma2000tunnellingIEs_277[3];
+extern asn_TYPE_descriptor_t asn_DEF_UplinkS1cdma2000tunnellingIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UplinkS1cdma2000tunnellingIEs_specs_281;
+extern asn_TYPE_member_t asn_MBR_UplinkS1cdma2000tunnellingIEs_281[3];
+extern asn_TYPE_descriptor_t asn_DEF_UECapabilityInfoIndicationIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UECapabilityInfoIndicationIEs_specs_285;
+extern asn_TYPE_member_t asn_MBR_UECapabilityInfoIndicationIEs_285[3];
+extern asn_TYPE_descriptor_t asn_DEF_ENBStatusTransferIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ENBStatusTransferIEs_specs_289;
+extern asn_TYPE_member_t asn_MBR_ENBStatusTransferIEs_289[3];
+extern asn_TYPE_descriptor_t asn_DEF_MMEStatusTransferIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_MMEStatusTransferIEs_specs_293;
+extern asn_TYPE_member_t asn_MBR_MMEStatusTransferIEs_293[3];
+extern asn_TYPE_descriptor_t asn_DEF_TraceStartIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_TraceStartIEs_specs_297;
+extern asn_TYPE_member_t asn_MBR_TraceStartIEs_297[3];
+extern asn_TYPE_descriptor_t asn_DEF_TraceFailureIndicationIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_TraceFailureIndicationIEs_specs_301;
+extern asn_TYPE_member_t asn_MBR_TraceFailureIndicationIEs_301[3];
+extern asn_TYPE_descriptor_t asn_DEF_DeactivateTraceIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_DeactivateTraceIEs_specs_305;
+extern asn_TYPE_member_t asn_MBR_DeactivateTraceIEs_305[3];
+extern asn_TYPE_descriptor_t asn_DEF_CellTrafficTraceIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_CellTrafficTraceIEs_specs_309;
+extern asn_TYPE_member_t asn_MBR_CellTrafficTraceIEs_309[3];
+extern asn_TYPE_descriptor_t asn_DEF_LocationReportingControlIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_LocationReportingControlIEs_specs_313;
+extern asn_TYPE_member_t asn_MBR_LocationReportingControlIEs_313[3];
+extern asn_TYPE_descriptor_t asn_DEF_LocationReportingFailureIndicationIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_LocationReportingFailureIndicationIEs_specs_317;
+extern asn_TYPE_member_t asn_MBR_LocationReportingFailureIndicationIEs_317[3];
+extern asn_TYPE_descriptor_t asn_DEF_LocationReportIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_LocationReportIEs_specs_321;
+extern asn_TYPE_member_t asn_MBR_LocationReportIEs_321[3];
+extern asn_TYPE_descriptor_t asn_DEF_OverloadStartIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_OverloadStartIEs_specs_325;
+extern asn_TYPE_member_t asn_MBR_OverloadStartIEs_325[3];
+extern asn_TYPE_descriptor_t asn_DEF_OverloadStopIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_OverloadStopIEs_specs_329;
+extern asn_TYPE_member_t asn_MBR_OverloadStopIEs_329[3];
+extern asn_TYPE_descriptor_t asn_DEF_WriteReplaceWarningRequestIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_WriteReplaceWarningRequestIEs_specs_333;
+extern asn_TYPE_member_t asn_MBR_WriteReplaceWarningRequestIEs_333[3];
+extern asn_TYPE_descriptor_t asn_DEF_WriteReplaceWarningResponseIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_WriteReplaceWarningResponseIEs_specs_337;
+extern asn_TYPE_member_t asn_MBR_WriteReplaceWarningResponseIEs_337[3];
+extern asn_TYPE_descriptor_t asn_DEF_ENBDirectInformationTransferIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ENBDirectInformationTransferIEs_specs_341;
+extern asn_TYPE_member_t asn_MBR_ENBDirectInformationTransferIEs_341[3];
+extern asn_TYPE_descriptor_t asn_DEF_MMEDirectInformationTransferIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_MMEDirectInformationTransferIEs_specs_345;
+extern asn_TYPE_member_t asn_MBR_MMEDirectInformationTransferIEs_345[3];
+extern asn_TYPE_descriptor_t asn_DEF_ENBConfigurationTransferIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ENBConfigurationTransferIEs_specs_349;
+extern asn_TYPE_member_t asn_MBR_ENBConfigurationTransferIEs_349[3];
+extern asn_TYPE_descriptor_t asn_DEF_MMEConfigurationTransferIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_MMEConfigurationTransferIEs_specs_353;
+extern asn_TYPE_member_t asn_MBR_MMEConfigurationTransferIEs_353[3];
+extern asn_TYPE_descriptor_t asn_DEF_KillRequestIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_KillRequestIEs_specs_357;
+extern asn_TYPE_member_t asn_MBR_KillRequestIEs_357[3];
+extern asn_TYPE_descriptor_t asn_DEF_KillResponseIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_KillResponseIEs_specs_361;
+extern asn_TYPE_member_t asn_MBR_KillResponseIEs_361[3];
+extern asn_TYPE_descriptor_t asn_DEF_PWSRestartIndicationIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_PWSRestartIndicationIEs_specs_365;
+extern asn_TYPE_member_t asn_MBR_PWSRestartIndicationIEs_365[3];
+extern asn_TYPE_descriptor_t asn_DEF_PWSFailureIndicationIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_PWSFailureIndicationIEs_specs_369;
+extern asn_TYPE_member_t asn_MBR_PWSFailureIndicationIEs_369[3];
+extern asn_TYPE_descriptor_t asn_DEF_DownlinkUEAssociatedLPPaTransport_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_DownlinkUEAssociatedLPPaTransport_IEs_specs_373;
+extern asn_TYPE_member_t asn_MBR_DownlinkUEAssociatedLPPaTransport_IEs_373[3];
+extern asn_TYPE_descriptor_t asn_DEF_UplinkUEAssociatedLPPaTransport_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UplinkUEAssociatedLPPaTransport_IEs_specs_377;
+extern asn_TYPE_member_t asn_MBR_UplinkUEAssociatedLPPaTransport_IEs_377[3];
+extern asn_TYPE_descriptor_t asn_DEF_DownlinkNonUEAssociatedLPPaTransport_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_DownlinkNonUEAssociatedLPPaTransport_IEs_specs_381;
+extern asn_TYPE_member_t asn_MBR_DownlinkNonUEAssociatedLPPaTransport_IEs_381[3];
+extern asn_TYPE_descriptor_t asn_DEF_UplinkNonUEAssociatedLPPaTransport_IEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UplinkNonUEAssociatedLPPaTransport_IEs_specs_385;
+extern asn_TYPE_member_t asn_MBR_UplinkNonUEAssociatedLPPaTransport_IEs_385[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABModificationIndicationIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABModificationIndicationIEs_specs_389;
+extern asn_TYPE_member_t asn_MBR_E_RABModificationIndicationIEs_389[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABModificationConfirmIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABModificationConfirmIEs_specs_393;
+extern asn_TYPE_member_t asn_MBR_E_RABModificationConfirmIEs_393[3];
+extern asn_TYPE_descriptor_t asn_DEF_UEContextModificationIndicationIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEContextModificationIndicationIEs_specs_397;
+extern asn_TYPE_member_t asn_MBR_UEContextModificationIndicationIEs_397[3];
+extern asn_TYPE_descriptor_t asn_DEF_UEContextModificationConfirmIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEContextModificationConfirmIEs_specs_401;
+extern asn_TYPE_member_t asn_MBR_UEContextModificationConfirmIEs_401[3];
+extern asn_TYPE_descriptor_t asn_DEF_UEContextSuspendRequestIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEContextSuspendRequestIEs_specs_405;
+extern asn_TYPE_member_t asn_MBR_UEContextSuspendRequestIEs_405[3];
+extern asn_TYPE_descriptor_t asn_DEF_UEContextSuspendResponseIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEContextSuspendResponseIEs_specs_409;
+extern asn_TYPE_member_t asn_MBR_UEContextSuspendResponseIEs_409[3];
+extern asn_TYPE_descriptor_t asn_DEF_UEContextResumeRequestIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEContextResumeRequestIEs_specs_413;
+extern asn_TYPE_member_t asn_MBR_UEContextResumeRequestIEs_413[3];
+extern asn_TYPE_descriptor_t asn_DEF_UEContextResumeResponseIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEContextResumeResponseIEs_specs_417;
+extern asn_TYPE_member_t asn_MBR_UEContextResumeResponseIEs_417[3];
+extern asn_TYPE_descriptor_t asn_DEF_UEContextResumeFailureIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEContextResumeFailureIEs_specs_421;
+extern asn_TYPE_member_t asn_MBR_UEContextResumeFailureIEs_421[3];
+extern asn_TYPE_descriptor_t asn_DEF_ConnectionEstablishmentIndicationIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ConnectionEstablishmentIndicationIEs_specs_425;
+extern asn_TYPE_member_t asn_MBR_ConnectionEstablishmentIndicationIEs_425[3];
+extern asn_TYPE_descriptor_t asn_DEF_RetrieveUEInformationIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_RetrieveUEInformationIEs_specs_429;
+extern asn_TYPE_member_t asn_MBR_RetrieveUEInformationIEs_429[3];
+extern asn_TYPE_descriptor_t asn_DEF_UEInformationTransferIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEInformationTransferIEs_specs_433;
+extern asn_TYPE_member_t asn_MBR_UEInformationTransferIEs_433[3];
+extern asn_TYPE_descriptor_t asn_DEF_ENBCPRelocationIndicationIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_ENBCPRelocationIndicationIEs_specs_437;
+extern asn_TYPE_member_t asn_MBR_ENBCPRelocationIndicationIEs_437[3];
+extern asn_TYPE_descriptor_t asn_DEF_MMECPRelocationIndicationIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_MMECPRelocationIndicationIEs_specs_441;
+extern asn_TYPE_member_t asn_MBR_MMECPRelocationIndicationIEs_441[3];
+extern asn_TYPE_descriptor_t asn_DEF_SecondaryRATDataUsageReportIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_SecondaryRATDataUsageReportIEs_specs_445;
+extern asn_TYPE_member_t asn_MBR_SecondaryRATDataUsageReportIEs_445[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABDataForwardingItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABDataForwardingItemIEs_specs_449;
+extern asn_TYPE_member_t asn_MBR_E_RABDataForwardingItemIEs_449[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeSetupItemHOReqIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABToBeSetupItemHOReqIEs_specs_453;
+extern asn_TYPE_member_t asn_MBR_E_RABToBeSetupItemHOReqIEs_453[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABAdmittedItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABAdmittedItemIEs_specs_457;
+extern asn_TYPE_member_t asn_MBR_E_RABAdmittedItemIEs_457[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABFailedtoSetupItemHOReqAckIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABFailedtoSetupItemHOReqAckIEs_specs_461;
+extern asn_TYPE_member_t asn_MBR_E_RABFailedtoSetupItemHOReqAckIEs_461[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeSwitchedDLItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABToBeSwitchedDLItemIEs_specs_465;
+extern asn_TYPE_member_t asn_MBR_E_RABToBeSwitchedDLItemIEs_465[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeSwitchedULItemIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABToBeSwitchedULItemIEs_specs_469;
+extern asn_TYPE_member_t asn_MBR_E_RABToBeSwitchedULItemIEs_469[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABToBeModifiedItemBearerModIndIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABToBeModifiedItemBearerModIndIEs_specs_473;
+extern asn_TYPE_member_t asn_MBR_E_RABToBeModifiedItemBearerModIndIEs_473[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABNotToBeModifiedItemBearerModIndIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABNotToBeModifiedItemBearerModIndIEs_specs_477;
+extern asn_TYPE_member_t asn_MBR_E_RABNotToBeModifiedItemBearerModIndIEs_477[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABFailedToResumeItemResumeReqIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABFailedToResumeItemResumeReqIEs_specs_481;
+extern asn_TYPE_member_t asn_MBR_E_RABFailedToResumeItemResumeReqIEs_481[3];
+extern asn_TYPE_descriptor_t asn_DEF_E_RABFailedToResumeItemResumeResIEs;
+extern asn_SEQUENCE_specifics_t asn_SPC_E_RABFailedToResumeItemResumeResIEs_specs_485;
+extern asn_TYPE_member_t asn_MBR_E_RABFailedToResumeItemResumeResIEs_485[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ProtocolIE_Field_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ProtocolIE-FieldPair.h b/src/s1ap/asn1c/asnGenFiles/ProtocolIE-FieldPair.h
new file mode 100644
index 0000000..4fb1c6a
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ProtocolIE-FieldPair.h
@@ -0,0 +1,23 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-Containers"
+ * 	found in "./asn1c/S1AP-Containers.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ProtocolIE_FieldPair_H_
+#define	_ProtocolIE_FieldPair_H_
+
+
+#include <asn_application.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ProtocolIE_FieldPair_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ProtocolIE-ID.h b/src/s1ap/asn1c/asnGenFiles/ProtocolIE-ID.h
new file mode 100644
index 0000000..d74696d
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ProtocolIE-ID.h
@@ -0,0 +1,325 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-CommonDataTypes"
+ * 	found in "./asn1c/S1AP-CommonDataTypes.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ProtocolIE_ID_H_
+#define	_ProtocolIE_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ProtocolIE-ID */
+typedef long	 ProtocolIE_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ID;
+asn_struct_free_f ProtocolIE_ID_free;
+asn_struct_print_f ProtocolIE_ID_print;
+asn_constr_check_f ProtocolIE_ID_constraint;
+ber_type_decoder_f ProtocolIE_ID_decode_ber;
+der_type_encoder_f ProtocolIE_ID_encode_der;
+xer_type_decoder_f ProtocolIE_ID_decode_xer;
+xer_type_encoder_f ProtocolIE_ID_encode_xer;
+oer_type_decoder_f ProtocolIE_ID_decode_oer;
+oer_type_encoder_f ProtocolIE_ID_encode_oer;
+per_type_decoder_f ProtocolIE_ID_decode_uper;
+per_type_encoder_f ProtocolIE_ID_encode_uper;
+per_type_decoder_f ProtocolIE_ID_decode_aper;
+per_type_encoder_f ProtocolIE_ID_encode_aper;
+#define ProtocolIE_ID_id_MME_UE_S1AP_ID	((ProtocolIE_ID_t)0)
+#define ProtocolIE_ID_id_HandoverType	((ProtocolIE_ID_t)1)
+#define ProtocolIE_ID_id_Cause	((ProtocolIE_ID_t)2)
+#define ProtocolIE_ID_id_SourceID	((ProtocolIE_ID_t)3)
+#define ProtocolIE_ID_id_TargetID	((ProtocolIE_ID_t)4)
+#define ProtocolIE_ID_id_eNB_UE_S1AP_ID	((ProtocolIE_ID_t)8)
+#define ProtocolIE_ID_id_E_RABSubjecttoDataForwardingList	((ProtocolIE_ID_t)12)
+#define ProtocolIE_ID_id_E_RABtoReleaseListHOCmd	((ProtocolIE_ID_t)13)
+#define ProtocolIE_ID_id_E_RABDataForwardingItem	((ProtocolIE_ID_t)14)
+#define ProtocolIE_ID_id_E_RABReleaseItemBearerRelComp	((ProtocolIE_ID_t)15)
+#define ProtocolIE_ID_id_E_RABToBeSetupListBearerSUReq	((ProtocolIE_ID_t)16)
+#define ProtocolIE_ID_id_E_RABToBeSetupItemBearerSUReq	((ProtocolIE_ID_t)17)
+#define ProtocolIE_ID_id_E_RABAdmittedList	((ProtocolIE_ID_t)18)
+#define ProtocolIE_ID_id_E_RABFailedToSetupListHOReqAck	((ProtocolIE_ID_t)19)
+#define ProtocolIE_ID_id_E_RABAdmittedItem	((ProtocolIE_ID_t)20)
+#define ProtocolIE_ID_id_E_RABFailedtoSetupItemHOReqAck	((ProtocolIE_ID_t)21)
+#define ProtocolIE_ID_id_E_RABToBeSwitchedDLList	((ProtocolIE_ID_t)22)
+#define ProtocolIE_ID_id_E_RABToBeSwitchedDLItem	((ProtocolIE_ID_t)23)
+#define ProtocolIE_ID_id_E_RABToBeSetupListCtxtSUReq	((ProtocolIE_ID_t)24)
+#define ProtocolIE_ID_id_TraceActivation	((ProtocolIE_ID_t)25)
+#define ProtocolIE_ID_id_NAS_PDU	((ProtocolIE_ID_t)26)
+#define ProtocolIE_ID_id_E_RABToBeSetupItemHOReq	((ProtocolIE_ID_t)27)
+#define ProtocolIE_ID_id_E_RABSetupListBearerSURes	((ProtocolIE_ID_t)28)
+#define ProtocolIE_ID_id_E_RABFailedToSetupListBearerSURes	((ProtocolIE_ID_t)29)
+#define ProtocolIE_ID_id_E_RABToBeModifiedListBearerModReq	((ProtocolIE_ID_t)30)
+#define ProtocolIE_ID_id_E_RABModifyListBearerModRes	((ProtocolIE_ID_t)31)
+#define ProtocolIE_ID_id_E_RABFailedToModifyList	((ProtocolIE_ID_t)32)
+#define ProtocolIE_ID_id_E_RABToBeReleasedList	((ProtocolIE_ID_t)33)
+#define ProtocolIE_ID_id_E_RABFailedToReleaseList	((ProtocolIE_ID_t)34)
+#define ProtocolIE_ID_id_E_RABItem	((ProtocolIE_ID_t)35)
+#define ProtocolIE_ID_id_E_RABToBeModifiedItemBearerModReq	((ProtocolIE_ID_t)36)
+#define ProtocolIE_ID_id_E_RABModifyItemBearerModRes	((ProtocolIE_ID_t)37)
+#define ProtocolIE_ID_id_E_RABReleaseItem	((ProtocolIE_ID_t)38)
+#define ProtocolIE_ID_id_E_RABSetupItemBearerSURes	((ProtocolIE_ID_t)39)
+#define ProtocolIE_ID_id_SecurityContext	((ProtocolIE_ID_t)40)
+#define ProtocolIE_ID_id_HandoverRestrictionList	((ProtocolIE_ID_t)41)
+#define ProtocolIE_ID_id_UEPagingID	((ProtocolIE_ID_t)43)
+#define ProtocolIE_ID_id_pagingDRX	((ProtocolIE_ID_t)44)
+#define ProtocolIE_ID_id_TAIList	((ProtocolIE_ID_t)46)
+#define ProtocolIE_ID_id_TAIItem	((ProtocolIE_ID_t)47)
+#define ProtocolIE_ID_id_E_RABFailedToSetupListCtxtSURes	((ProtocolIE_ID_t)48)
+#define ProtocolIE_ID_id_E_RABReleaseItemHOCmd	((ProtocolIE_ID_t)49)
+#define ProtocolIE_ID_id_E_RABSetupItemCtxtSURes	((ProtocolIE_ID_t)50)
+#define ProtocolIE_ID_id_E_RABSetupListCtxtSURes	((ProtocolIE_ID_t)51)
+#define ProtocolIE_ID_id_E_RABToBeSetupItemCtxtSUReq	((ProtocolIE_ID_t)52)
+#define ProtocolIE_ID_id_E_RABToBeSetupListHOReq	((ProtocolIE_ID_t)53)
+#define ProtocolIE_ID_id_GERANtoLTEHOInformationRes	((ProtocolIE_ID_t)55)
+#define ProtocolIE_ID_id_UTRANtoLTEHOInformationRes	((ProtocolIE_ID_t)57)
+#define ProtocolIE_ID_id_CriticalityDiagnostics	((ProtocolIE_ID_t)58)
+#define ProtocolIE_ID_id_Global_ENB_ID	((ProtocolIE_ID_t)59)
+#define ProtocolIE_ID_id_eNBname	((ProtocolIE_ID_t)60)
+#define ProtocolIE_ID_id_MMEname	((ProtocolIE_ID_t)61)
+#define ProtocolIE_ID_id_ServedPLMNs	((ProtocolIE_ID_t)63)
+#define ProtocolIE_ID_id_SupportedTAs	((ProtocolIE_ID_t)64)
+#define ProtocolIE_ID_id_TimeToWait	((ProtocolIE_ID_t)65)
+#define ProtocolIE_ID_id_uEaggregateMaximumBitrate	((ProtocolIE_ID_t)66)
+#define ProtocolIE_ID_id_TAI	((ProtocolIE_ID_t)67)
+#define ProtocolIE_ID_id_E_RABReleaseListBearerRelComp	((ProtocolIE_ID_t)69)
+#define ProtocolIE_ID_id_cdma2000PDU	((ProtocolIE_ID_t)70)
+#define ProtocolIE_ID_id_cdma2000RATType	((ProtocolIE_ID_t)71)
+#define ProtocolIE_ID_id_cdma2000SectorID	((ProtocolIE_ID_t)72)
+#define ProtocolIE_ID_id_SecurityKey	((ProtocolIE_ID_t)73)
+#define ProtocolIE_ID_id_UERadioCapability	((ProtocolIE_ID_t)74)
+#define ProtocolIE_ID_id_GUMMEI_ID	((ProtocolIE_ID_t)75)
+#define ProtocolIE_ID_id_E_RABInformationListItem	((ProtocolIE_ID_t)78)
+#define ProtocolIE_ID_id_Direct_Forwarding_Path_Availability	((ProtocolIE_ID_t)79)
+#define ProtocolIE_ID_id_UEIdentityIndexValue	((ProtocolIE_ID_t)80)
+#define ProtocolIE_ID_id_cdma2000HOStatus	((ProtocolIE_ID_t)83)
+#define ProtocolIE_ID_id_cdma2000HORequiredIndication	((ProtocolIE_ID_t)84)
+#define ProtocolIE_ID_id_E_UTRAN_Trace_ID	((ProtocolIE_ID_t)86)
+#define ProtocolIE_ID_id_RelativeMMECapacity	((ProtocolIE_ID_t)87)
+#define ProtocolIE_ID_id_SourceMME_UE_S1AP_ID	((ProtocolIE_ID_t)88)
+#define ProtocolIE_ID_id_Bearers_SubjectToStatusTransfer_Item	((ProtocolIE_ID_t)89)
+#define ProtocolIE_ID_id_eNB_StatusTransfer_TransparentContainer	((ProtocolIE_ID_t)90)
+#define ProtocolIE_ID_id_UE_associatedLogicalS1_ConnectionItem	((ProtocolIE_ID_t)91)
+#define ProtocolIE_ID_id_ResetType	((ProtocolIE_ID_t)92)
+#define ProtocolIE_ID_id_UE_associatedLogicalS1_ConnectionListResAck	((ProtocolIE_ID_t)93)
+#define ProtocolIE_ID_id_E_RABToBeSwitchedULItem	((ProtocolIE_ID_t)94)
+#define ProtocolIE_ID_id_E_RABToBeSwitchedULList	((ProtocolIE_ID_t)95)
+#define ProtocolIE_ID_id_S_TMSI	((ProtocolIE_ID_t)96)
+#define ProtocolIE_ID_id_cdma2000OneXRAND	((ProtocolIE_ID_t)97)
+#define ProtocolIE_ID_id_RequestType	((ProtocolIE_ID_t)98)
+#define ProtocolIE_ID_id_UE_S1AP_IDs	((ProtocolIE_ID_t)99)
+#define ProtocolIE_ID_id_EUTRAN_CGI	((ProtocolIE_ID_t)100)
+#define ProtocolIE_ID_id_OverloadResponse	((ProtocolIE_ID_t)101)
+#define ProtocolIE_ID_id_cdma2000OneXSRVCCInfo	((ProtocolIE_ID_t)102)
+#define ProtocolIE_ID_id_E_RABFailedToBeReleasedList	((ProtocolIE_ID_t)103)
+#define ProtocolIE_ID_id_Source_ToTarget_TransparentContainer	((ProtocolIE_ID_t)104)
+#define ProtocolIE_ID_id_ServedGUMMEIs	((ProtocolIE_ID_t)105)
+#define ProtocolIE_ID_id_SubscriberProfileIDforRFP	((ProtocolIE_ID_t)106)
+#define ProtocolIE_ID_id_UESecurityCapabilities	((ProtocolIE_ID_t)107)
+#define ProtocolIE_ID_id_CSFallbackIndicator	((ProtocolIE_ID_t)108)
+#define ProtocolIE_ID_id_CNDomain	((ProtocolIE_ID_t)109)
+#define ProtocolIE_ID_id_E_RABReleasedList	((ProtocolIE_ID_t)110)
+#define ProtocolIE_ID_id_MessageIdentifier	((ProtocolIE_ID_t)111)
+#define ProtocolIE_ID_id_SerialNumber	((ProtocolIE_ID_t)112)
+#define ProtocolIE_ID_id_WarningAreaList	((ProtocolIE_ID_t)113)
+#define ProtocolIE_ID_id_RepetitionPeriod	((ProtocolIE_ID_t)114)
+#define ProtocolIE_ID_id_NumberofBroadcastRequest	((ProtocolIE_ID_t)115)
+#define ProtocolIE_ID_id_WarningType	((ProtocolIE_ID_t)116)
+#define ProtocolIE_ID_id_WarningSecurityInfo	((ProtocolIE_ID_t)117)
+#define ProtocolIE_ID_id_DataCodingScheme	((ProtocolIE_ID_t)118)
+#define ProtocolIE_ID_id_WarningMessageContents	((ProtocolIE_ID_t)119)
+#define ProtocolIE_ID_id_BroadcastCompletedAreaList	((ProtocolIE_ID_t)120)
+#define ProtocolIE_ID_id_Inter_SystemInformationTransferTypeEDT	((ProtocolIE_ID_t)121)
+#define ProtocolIE_ID_id_Inter_SystemInformationTransferTypeMDT	((ProtocolIE_ID_t)122)
+#define ProtocolIE_ID_id_Target_ToSource_TransparentContainer	((ProtocolIE_ID_t)123)
+#define ProtocolIE_ID_id_SRVCCOperationPossible	((ProtocolIE_ID_t)124)
+#define ProtocolIE_ID_id_SRVCCHOIndication	((ProtocolIE_ID_t)125)
+#define ProtocolIE_ID_id_NAS_DownlinkCount	((ProtocolIE_ID_t)126)
+#define ProtocolIE_ID_id_CSG_Id	((ProtocolIE_ID_t)127)
+#define ProtocolIE_ID_id_CSG_IdList	((ProtocolIE_ID_t)128)
+#define ProtocolIE_ID_id_SONConfigurationTransferECT	((ProtocolIE_ID_t)129)
+#define ProtocolIE_ID_id_SONConfigurationTransferMCT	((ProtocolIE_ID_t)130)
+#define ProtocolIE_ID_id_TraceCollectionEntityIPAddress	((ProtocolIE_ID_t)131)
+#define ProtocolIE_ID_id_MSClassmark2	((ProtocolIE_ID_t)132)
+#define ProtocolIE_ID_id_MSClassmark3	((ProtocolIE_ID_t)133)
+#define ProtocolIE_ID_id_RRC_Establishment_Cause	((ProtocolIE_ID_t)134)
+#define ProtocolIE_ID_id_NASSecurityParametersfromE_UTRAN	((ProtocolIE_ID_t)135)
+#define ProtocolIE_ID_id_NASSecurityParameterstoE_UTRAN	((ProtocolIE_ID_t)136)
+#define ProtocolIE_ID_id_DefaultPagingDRX	((ProtocolIE_ID_t)137)
+#define ProtocolIE_ID_id_Source_ToTarget_TransparentContainer_Secondary	((ProtocolIE_ID_t)138)
+#define ProtocolIE_ID_id_Target_ToSource_TransparentContainer_Secondary	((ProtocolIE_ID_t)139)
+#define ProtocolIE_ID_id_EUTRANRoundTripDelayEstimationInfo	((ProtocolIE_ID_t)140)
+#define ProtocolIE_ID_id_BroadcastCancelledAreaList	((ProtocolIE_ID_t)141)
+#define ProtocolIE_ID_id_ConcurrentWarningMessageIndicator	((ProtocolIE_ID_t)142)
+#define ProtocolIE_ID_id_Data_Forwarding_Not_Possible	((ProtocolIE_ID_t)143)
+#define ProtocolIE_ID_id_ExtendedRepetitionPeriod	((ProtocolIE_ID_t)144)
+#define ProtocolIE_ID_id_CellAccessMode	((ProtocolIE_ID_t)145)
+#define ProtocolIE_ID_id_CSGMembershipStatus	((ProtocolIE_ID_t)146)
+#define ProtocolIE_ID_id_LPPa_PDU	((ProtocolIE_ID_t)147)
+#define ProtocolIE_ID_id_Routing_ID	((ProtocolIE_ID_t)148)
+#define ProtocolIE_ID_id_Time_Synchronisation_Info	((ProtocolIE_ID_t)149)
+#define ProtocolIE_ID_id_PS_ServiceNotAvailable	((ProtocolIE_ID_t)150)
+#define ProtocolIE_ID_id_PagingPriority	((ProtocolIE_ID_t)151)
+#define ProtocolIE_ID_id_x2TNLConfigurationInfo	((ProtocolIE_ID_t)152)
+#define ProtocolIE_ID_id_eNBX2ExtendedTransportLayerAddresses	((ProtocolIE_ID_t)153)
+#define ProtocolIE_ID_id_GUMMEIList	((ProtocolIE_ID_t)154)
+#define ProtocolIE_ID_id_GW_TransportLayerAddress	((ProtocolIE_ID_t)155)
+#define ProtocolIE_ID_id_Correlation_ID	((ProtocolIE_ID_t)156)
+#define ProtocolIE_ID_id_SourceMME_GUMMEI	((ProtocolIE_ID_t)157)
+#define ProtocolIE_ID_id_MME_UE_S1AP_ID_2	((ProtocolIE_ID_t)158)
+#define ProtocolIE_ID_id_RegisteredLAI	((ProtocolIE_ID_t)159)
+#define ProtocolIE_ID_id_RelayNode_Indicator	((ProtocolIE_ID_t)160)
+#define ProtocolIE_ID_id_TrafficLoadReductionIndication	((ProtocolIE_ID_t)161)
+#define ProtocolIE_ID_id_MDTConfiguration	((ProtocolIE_ID_t)162)
+#define ProtocolIE_ID_id_MMERelaySupportIndicator	((ProtocolIE_ID_t)163)
+#define ProtocolIE_ID_id_GWContextReleaseIndication	((ProtocolIE_ID_t)164)
+#define ProtocolIE_ID_id_ManagementBasedMDTAllowed	((ProtocolIE_ID_t)165)
+#define ProtocolIE_ID_id_PrivacyIndicator	((ProtocolIE_ID_t)166)
+#define ProtocolIE_ID_id_Time_UE_StayedInCell_EnhancedGranularity	((ProtocolIE_ID_t)167)
+#define ProtocolIE_ID_id_HO_Cause	((ProtocolIE_ID_t)168)
+#define ProtocolIE_ID_id_VoiceSupportMatchIndicator	((ProtocolIE_ID_t)169)
+#define ProtocolIE_ID_id_GUMMEIType	((ProtocolIE_ID_t)170)
+#define ProtocolIE_ID_id_M3Configuration	((ProtocolIE_ID_t)171)
+#define ProtocolIE_ID_id_M4Configuration	((ProtocolIE_ID_t)172)
+#define ProtocolIE_ID_id_M5Configuration	((ProtocolIE_ID_t)173)
+#define ProtocolIE_ID_id_MDT_Location_Info	((ProtocolIE_ID_t)174)
+#define ProtocolIE_ID_id_MobilityInformation	((ProtocolIE_ID_t)175)
+#define ProtocolIE_ID_id_Tunnel_Information_for_BBF	((ProtocolIE_ID_t)176)
+#define ProtocolIE_ID_id_ManagementBasedMDTPLMNList	((ProtocolIE_ID_t)177)
+#define ProtocolIE_ID_id_SignallingBasedMDTPLMNList	((ProtocolIE_ID_t)178)
+#define ProtocolIE_ID_id_ULCOUNTValueExtended	((ProtocolIE_ID_t)179)
+#define ProtocolIE_ID_id_DLCOUNTValueExtended	((ProtocolIE_ID_t)180)
+#define ProtocolIE_ID_id_ReceiveStatusOfULPDCPSDUsExtended	((ProtocolIE_ID_t)181)
+#define ProtocolIE_ID_id_ECGIListForRestart	((ProtocolIE_ID_t)182)
+#define ProtocolIE_ID_id_SIPTO_Correlation_ID	((ProtocolIE_ID_t)183)
+#define ProtocolIE_ID_id_SIPTO_L_GW_TransportLayerAddress	((ProtocolIE_ID_t)184)
+#define ProtocolIE_ID_id_TransportInformation	((ProtocolIE_ID_t)185)
+#define ProtocolIE_ID_id_LHN_ID	((ProtocolIE_ID_t)186)
+#define ProtocolIE_ID_id_AdditionalCSFallbackIndicator	((ProtocolIE_ID_t)187)
+#define ProtocolIE_ID_id_TAIListForRestart	((ProtocolIE_ID_t)188)
+#define ProtocolIE_ID_id_UserLocationInformation	((ProtocolIE_ID_t)189)
+#define ProtocolIE_ID_id_EmergencyAreaIDListForRestart	((ProtocolIE_ID_t)190)
+#define ProtocolIE_ID_id_KillAllWarningMessages	((ProtocolIE_ID_t)191)
+#define ProtocolIE_ID_id_Masked_IMEISV	((ProtocolIE_ID_t)192)
+#define ProtocolIE_ID_id_eNBIndirectX2TransportLayerAddresses	((ProtocolIE_ID_t)193)
+#define ProtocolIE_ID_id_uE_HistoryInformationFromTheUE	((ProtocolIE_ID_t)194)
+#define ProtocolIE_ID_id_ProSeAuthorized	((ProtocolIE_ID_t)195)
+#define ProtocolIE_ID_id_ExpectedUEBehaviour	((ProtocolIE_ID_t)196)
+#define ProtocolIE_ID_id_LoggedMBSFNMDT	((ProtocolIE_ID_t)197)
+#define ProtocolIE_ID_id_UERadioCapabilityForPaging	((ProtocolIE_ID_t)198)
+#define ProtocolIE_ID_id_E_RABToBeModifiedListBearerModInd	((ProtocolIE_ID_t)199)
+#define ProtocolIE_ID_id_E_RABToBeModifiedItemBearerModInd	((ProtocolIE_ID_t)200)
+#define ProtocolIE_ID_id_E_RABNotToBeModifiedListBearerModInd	((ProtocolIE_ID_t)201)
+#define ProtocolIE_ID_id_E_RABNotToBeModifiedItemBearerModInd	((ProtocolIE_ID_t)202)
+#define ProtocolIE_ID_id_E_RABModifyListBearerModConf	((ProtocolIE_ID_t)203)
+#define ProtocolIE_ID_id_E_RABModifyItemBearerModConf	((ProtocolIE_ID_t)204)
+#define ProtocolIE_ID_id_E_RABFailedToModifyListBearerModConf	((ProtocolIE_ID_t)205)
+#define ProtocolIE_ID_id_SON_Information_Report	((ProtocolIE_ID_t)206)
+#define ProtocolIE_ID_id_Muting_Availability_Indication	((ProtocolIE_ID_t)207)
+#define ProtocolIE_ID_id_Muting_Pattern_Information	((ProtocolIE_ID_t)208)
+#define ProtocolIE_ID_id_Synchronisation_Information	((ProtocolIE_ID_t)209)
+#define ProtocolIE_ID_id_E_RABToBeReleasedListBearerModConf	((ProtocolIE_ID_t)210)
+#define ProtocolIE_ID_id_AssistanceDataForPaging	((ProtocolIE_ID_t)211)
+#define ProtocolIE_ID_id_CellIdentifierAndCELevelForCECapableUEs	((ProtocolIE_ID_t)212)
+#define ProtocolIE_ID_id_InformationOnRecommendedCellsAndENBsForPaging	((ProtocolIE_ID_t)213)
+#define ProtocolIE_ID_id_RecommendedCellItem	((ProtocolIE_ID_t)214)
+#define ProtocolIE_ID_id_RecommendedENBItem	((ProtocolIE_ID_t)215)
+#define ProtocolIE_ID_id_ProSeUEtoNetworkRelaying	((ProtocolIE_ID_t)216)
+#define ProtocolIE_ID_id_ULCOUNTValuePDCP_SNlength18	((ProtocolIE_ID_t)217)
+#define ProtocolIE_ID_id_DLCOUNTValuePDCP_SNlength18	((ProtocolIE_ID_t)218)
+#define ProtocolIE_ID_id_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18	((ProtocolIE_ID_t)219)
+#define ProtocolIE_ID_id_M6Configuration	((ProtocolIE_ID_t)220)
+#define ProtocolIE_ID_id_M7Configuration	((ProtocolIE_ID_t)221)
+#define ProtocolIE_ID_id_PWSfailedECGIList	((ProtocolIE_ID_t)222)
+#define ProtocolIE_ID_id_MME_Group_ID	((ProtocolIE_ID_t)223)
+#define ProtocolIE_ID_id_Additional_GUTI	((ProtocolIE_ID_t)224)
+#define ProtocolIE_ID_id_S1_Message	((ProtocolIE_ID_t)225)
+#define ProtocolIE_ID_id_CSGMembershipInfo	((ProtocolIE_ID_t)226)
+#define ProtocolIE_ID_id_Paging_eDRXInformation	((ProtocolIE_ID_t)227)
+#define ProtocolIE_ID_id_UE_RetentionInformation	((ProtocolIE_ID_t)228)
+#define ProtocolIE_ID_id_UE_Usage_Type	((ProtocolIE_ID_t)230)
+#define ProtocolIE_ID_id_extended_UEIdentityIndexValue	((ProtocolIE_ID_t)231)
+#define ProtocolIE_ID_id_RAT_Type	((ProtocolIE_ID_t)232)
+#define ProtocolIE_ID_id_BearerType	((ProtocolIE_ID_t)233)
+#define ProtocolIE_ID_id_NB_IoT_DefaultPagingDRX	((ProtocolIE_ID_t)234)
+#define ProtocolIE_ID_id_E_RABFailedToResumeListResumeReq	((ProtocolIE_ID_t)235)
+#define ProtocolIE_ID_id_E_RABFailedToResumeItemResumeReq	((ProtocolIE_ID_t)236)
+#define ProtocolIE_ID_id_E_RABFailedToResumeListResumeRes	((ProtocolIE_ID_t)237)
+#define ProtocolIE_ID_id_E_RABFailedToResumeItemResumeRes	((ProtocolIE_ID_t)238)
+#define ProtocolIE_ID_id_NB_IoT_Paging_eDRXInformation	((ProtocolIE_ID_t)239)
+#define ProtocolIE_ID_id_V2XServicesAuthorized	((ProtocolIE_ID_t)240)
+#define ProtocolIE_ID_id_UEUserPlaneCIoTSupportIndicator	((ProtocolIE_ID_t)241)
+#define ProtocolIE_ID_id_CE_mode_B_SupportIndicator	((ProtocolIE_ID_t)242)
+#define ProtocolIE_ID_id_SRVCCOperationNotPossible	((ProtocolIE_ID_t)243)
+#define ProtocolIE_ID_id_NB_IoT_UEIdentityIndexValue	((ProtocolIE_ID_t)244)
+#define ProtocolIE_ID_id_RRC_Resume_Cause	((ProtocolIE_ID_t)245)
+#define ProtocolIE_ID_id_DCN_ID	((ProtocolIE_ID_t)246)
+#define ProtocolIE_ID_id_ServedDCNs	((ProtocolIE_ID_t)247)
+#define ProtocolIE_ID_id_UESidelinkAggregateMaximumBitrate	((ProtocolIE_ID_t)248)
+#define ProtocolIE_ID_id_DLNASPDUDeliveryAckRequest	((ProtocolIE_ID_t)249)
+#define ProtocolIE_ID_id_Coverage_Level	((ProtocolIE_ID_t)250)
+#define ProtocolIE_ID_id_EnhancedCoverageRestricted	((ProtocolIE_ID_t)251)
+#define ProtocolIE_ID_id_UE_Level_QoS_Parameters	((ProtocolIE_ID_t)252)
+#define ProtocolIE_ID_id_DL_CP_SecurityInformation	((ProtocolIE_ID_t)253)
+#define ProtocolIE_ID_id_UL_CP_SecurityInformation	((ProtocolIE_ID_t)254)
+#define ProtocolIE_ID_id_extended_e_RAB_MaximumBitrateDL	((ProtocolIE_ID_t)255)
+#define ProtocolIE_ID_id_extended_e_RAB_MaximumBitrateUL	((ProtocolIE_ID_t)256)
+#define ProtocolIE_ID_id_extended_e_RAB_GuaranteedBitrateDL	((ProtocolIE_ID_t)257)
+#define ProtocolIE_ID_id_extended_e_RAB_GuaranteedBitrateUL	((ProtocolIE_ID_t)258)
+#define ProtocolIE_ID_id_extended_uEaggregateMaximumBitRateDL	((ProtocolIE_ID_t)259)
+#define ProtocolIE_ID_id_extended_uEaggregateMaximumBitRateUL	((ProtocolIE_ID_t)260)
+#define ProtocolIE_ID_id_NRrestrictioninEPSasSecondaryRAT	((ProtocolIE_ID_t)261)
+#define ProtocolIE_ID_id_UEAppLayerMeasConfig	((ProtocolIE_ID_t)262)
+#define ProtocolIE_ID_id_UE_Application_Layer_Measurement_Capability	((ProtocolIE_ID_t)263)
+#define ProtocolIE_ID_id_SecondaryRATDataUsageReportList	((ProtocolIE_ID_t)264)
+#define ProtocolIE_ID_id_SecondaryRATDataUsageReportItem	((ProtocolIE_ID_t)265)
+#define ProtocolIE_ID_id_HandoverFlag	((ProtocolIE_ID_t)266)
+#define ProtocolIE_ID_id_E_RABUsageReportItem	((ProtocolIE_ID_t)267)
+#define ProtocolIE_ID_id_SecondaryRATDataUsageRequest	((ProtocolIE_ID_t)268)
+#define ProtocolIE_ID_id_NRUESecurityCapabilities	((ProtocolIE_ID_t)269)
+#define ProtocolIE_ID_id_UnlicensedSpectrumRestriction	((ProtocolIE_ID_t)270)
+#define ProtocolIE_ID_id_CE_ModeBRestricted	((ProtocolIE_ID_t)271)
+#define ProtocolIE_ID_id_LTE_M_Indication	((ProtocolIE_ID_t)272)
+#define ProtocolIE_ID_id_DownlinkPacketLossRate	((ProtocolIE_ID_t)273)
+#define ProtocolIE_ID_id_UplinkPacketLossRate	((ProtocolIE_ID_t)274)
+#define ProtocolIE_ID_id_UECapabilityInfoRequest	((ProtocolIE_ID_t)275)
+#define ProtocolIE_ID_id_serviceType	((ProtocolIE_ID_t)276)
+#define ProtocolIE_ID_id_AerialUEsubscriptionInformation	((ProtocolIE_ID_t)277)
+#define ProtocolIE_ID_id_Subscription_Based_UE_DifferentiationInfo	((ProtocolIE_ID_t)278)
+#define ProtocolIE_ID_id_EndIndication	((ProtocolIE_ID_t)280)
+#define ProtocolIE_ID_id_EDT_Session	((ProtocolIE_ID_t)281)
+#define ProtocolIE_ID_id_CNTypeRestrictions	((ProtocolIE_ID_t)282)
+#define ProtocolIE_ID_id_PendingDataIndication	((ProtocolIE_ID_t)283)
+#define ProtocolIE_ID_id_BluetoothMeasurementConfiguration	((ProtocolIE_ID_t)284)
+#define ProtocolIE_ID_id_WLANMeasurementConfiguration	((ProtocolIE_ID_t)285)
+#define ProtocolIE_ID_id_WarningAreaCoordinates	((ProtocolIE_ID_t)286)
+#define ProtocolIE_ID_id_NRrestrictionin5GS	((ProtocolIE_ID_t)287)
+#define ProtocolIE_ID_id_PSCellInformation	((ProtocolIE_ID_t)288)
+#define ProtocolIE_ID_id_LastNG_RANPLMNIdentity	((ProtocolIE_ID_t)290)
+#define ProtocolIE_ID_id_ConnectedengNBList	((ProtocolIE_ID_t)291)
+#define ProtocolIE_ID_id_ConnectedengNBToAddList	((ProtocolIE_ID_t)292)
+#define ProtocolIE_ID_id_ConnectedengNBToRemoveList	((ProtocolIE_ID_t)293)
+#define ProtocolIE_ID_id_EN_DCSONConfigurationTransfer_ECT	((ProtocolIE_ID_t)294)
+#define ProtocolIE_ID_id_EN_DCSONConfigurationTransfer_MCT	((ProtocolIE_ID_t)295)
+#define ProtocolIE_ID_id_IMSvoiceEPSfallbackfrom5G	((ProtocolIE_ID_t)296)
+#define ProtocolIE_ID_id_TimeSinceSecondaryNodeRelease	((ProtocolIE_ID_t)297)
+#define ProtocolIE_ID_id_RequestTypeAdditionalInfo	((ProtocolIE_ID_t)298)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ProtocolIE_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ProtocolIE-SingleContainer.h b/src/s1ap/asn1c/asnGenFiles/ProtocolIE-SingleContainer.h
new file mode 100644
index 0000000..0e081dc
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ProtocolIE-SingleContainer.h
@@ -0,0 +1,480 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-Containers"
+ * 	found in "./asn1c/S1AP-Containers.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ProtocolIE_SingleContainer_H_
+#define	_ProtocolIE_SingleContainer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Field.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ProtocolIE-SingleContainer */
+typedef Bearers_SubjectToStatusTransfer_ItemIEs_t	 ProtocolIE_SingleContainer_132P0_t;
+typedef E_RABInformationListIEs_t	 ProtocolIE_SingleContainer_132P1_t;
+typedef E_RABItemIEs_t	 ProtocolIE_SingleContainer_132P2_t;
+typedef E_RABUsageReportItemIEs_t	 ProtocolIE_SingleContainer_132P3_t;
+typedef MDTMode_ExtensionIE_t	 ProtocolIE_SingleContainer_132P4_t;
+typedef RecommendedCellItemIEs_t	 ProtocolIE_SingleContainer_132P5_t;
+typedef RecommendedENBItemIEs_t	 ProtocolIE_SingleContainer_132P6_t;
+typedef SecondaryRATDataUsageReportItemIEs_t	 ProtocolIE_SingleContainer_132P7_t;
+typedef SONInformation_ExtensionIE_t	 ProtocolIE_SingleContainer_132P8_t;
+typedef E_RABToBeSetupItemBearerSUReqIEs_t	 ProtocolIE_SingleContainer_132P9_t;
+typedef E_RABSetupItemBearerSUResIEs_t	 ProtocolIE_SingleContainer_132P10_t;
+typedef E_RABToBeModifiedItemBearerModReqIEs_t	 ProtocolIE_SingleContainer_132P11_t;
+typedef E_RABModifyItemBearerModResIEs_t	 ProtocolIE_SingleContainer_132P12_t;
+typedef E_RABReleaseItemBearerRelCompIEs_t	 ProtocolIE_SingleContainer_132P13_t;
+typedef E_RABToBeSetupItemCtxtSUReqIEs_t	 ProtocolIE_SingleContainer_132P14_t;
+typedef E_RABSetupItemCtxtSUResIEs_t	 ProtocolIE_SingleContainer_132P15_t;
+typedef TAIItemIEs_t	 ProtocolIE_SingleContainer_132P16_t;
+typedef UE_associatedLogicalS1_ConnectionItemRes_t	 ProtocolIE_SingleContainer_132P17_t;
+typedef UE_associatedLogicalS1_ConnectionItemResAck_t	 ProtocolIE_SingleContainer_132P18_t;
+typedef E_RABModifyItemBearerModConfIEs_t	 ProtocolIE_SingleContainer_132P19_t;
+typedef E_RABDataForwardingItemIEs_t	 ProtocolIE_SingleContainer_132P20_t;
+typedef E_RABToBeSetupItemHOReqIEs_t	 ProtocolIE_SingleContainer_132P21_t;
+typedef E_RABAdmittedItemIEs_t	 ProtocolIE_SingleContainer_132P22_t;
+typedef E_RABFailedtoSetupItemHOReqAckIEs_t	 ProtocolIE_SingleContainer_132P23_t;
+typedef E_RABToBeSwitchedDLItemIEs_t	 ProtocolIE_SingleContainer_132P24_t;
+typedef E_RABToBeSwitchedULItemIEs_t	 ProtocolIE_SingleContainer_132P25_t;
+typedef E_RABToBeModifiedItemBearerModIndIEs_t	 ProtocolIE_SingleContainer_132P26_t;
+typedef E_RABNotToBeModifiedItemBearerModIndIEs_t	 ProtocolIE_SingleContainer_132P27_t;
+typedef E_RABFailedToResumeItemResumeReqIEs_t	 ProtocolIE_SingleContainer_132P28_t;
+typedef E_RABFailedToResumeItemResumeResIEs_t	 ProtocolIE_SingleContainer_132P29_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P0;
+asn_struct_free_f ProtocolIE_SingleContainer_132P0_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P0_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P0_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P0_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P0_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P0_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P0_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P0_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P0_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P0_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P0_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P0_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P0_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P1;
+asn_struct_free_f ProtocolIE_SingleContainer_132P1_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P1_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P1_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P1_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P1_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P1_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P1_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P1_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P1_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P1_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P1_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P1_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P1_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P2;
+asn_struct_free_f ProtocolIE_SingleContainer_132P2_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P2_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P2_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P2_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P2_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P2_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P2_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P2_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P2_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P2_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P2_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P2_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P2_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P3;
+asn_struct_free_f ProtocolIE_SingleContainer_132P3_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P3_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P3_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P3_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P3_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P3_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P3_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P3_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P3_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P3_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P3_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P3_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P3_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P4;
+asn_struct_free_f ProtocolIE_SingleContainer_132P4_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P4_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P4_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P4_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P4_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P4_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P4_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P4_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P4_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P4_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P4_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P4_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P4_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P5;
+asn_struct_free_f ProtocolIE_SingleContainer_132P5_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P5_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P5_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P5_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P5_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P5_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P5_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P5_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P5_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P5_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P5_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P5_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P5_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P6;
+asn_struct_free_f ProtocolIE_SingleContainer_132P6_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P6_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P6_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P6_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P6_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P6_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P6_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P6_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P6_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P6_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P6_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P6_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P6_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P7;
+asn_struct_free_f ProtocolIE_SingleContainer_132P7_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P7_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P7_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P7_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P7_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P7_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P7_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P7_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P7_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P7_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P7_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P7_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P7_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P8;
+asn_struct_free_f ProtocolIE_SingleContainer_132P8_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P8_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P8_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P8_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P8_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P8_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P8_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P8_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P8_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P8_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P8_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P8_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P8_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P9;
+asn_struct_free_f ProtocolIE_SingleContainer_132P9_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P9_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P9_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P9_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P9_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P9_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P9_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P9_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P9_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P9_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P9_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P9_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P9_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P10;
+asn_struct_free_f ProtocolIE_SingleContainer_132P10_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P10_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P10_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P10_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P10_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P10_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P10_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P10_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P10_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P10_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P10_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P10_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P10_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P11;
+asn_struct_free_f ProtocolIE_SingleContainer_132P11_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P11_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P11_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P11_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P11_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P11_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P11_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P11_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P11_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P11_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P11_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P11_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P11_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P12;
+asn_struct_free_f ProtocolIE_SingleContainer_132P12_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P12_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P12_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P12_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P12_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P12_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P12_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P12_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P12_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P12_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P12_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P12_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P12_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P13;
+asn_struct_free_f ProtocolIE_SingleContainer_132P13_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P13_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P13_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P13_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P13_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P13_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P13_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P13_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P13_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P13_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P13_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P13_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P13_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P14;
+asn_struct_free_f ProtocolIE_SingleContainer_132P14_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P14_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P14_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P14_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P14_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P14_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P14_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P14_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P14_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P14_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P14_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P14_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P14_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P15;
+asn_struct_free_f ProtocolIE_SingleContainer_132P15_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P15_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P15_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P15_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P15_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P15_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P15_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P15_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P15_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P15_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P15_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P15_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P15_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P16;
+asn_struct_free_f ProtocolIE_SingleContainer_132P16_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P16_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P16_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P16_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P16_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P16_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P16_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P16_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P16_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P16_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P16_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P16_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P16_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P17;
+asn_struct_free_f ProtocolIE_SingleContainer_132P17_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P17_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P17_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P17_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P17_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P17_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P17_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P17_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P17_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P17_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P17_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P17_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P17_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P18;
+asn_struct_free_f ProtocolIE_SingleContainer_132P18_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P18_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P18_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P18_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P18_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P18_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P18_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P18_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P18_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P18_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P18_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P18_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P18_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P19;
+asn_struct_free_f ProtocolIE_SingleContainer_132P19_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P19_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P19_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P19_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P19_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P19_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P19_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P19_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P19_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P19_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P19_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P19_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P19_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P20;
+asn_struct_free_f ProtocolIE_SingleContainer_132P20_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P20_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P20_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P20_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P20_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P20_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P20_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P20_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P20_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P20_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P20_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P20_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P20_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P21;
+asn_struct_free_f ProtocolIE_SingleContainer_132P21_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P21_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P21_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P21_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P21_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P21_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P21_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P21_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P21_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P21_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P21_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P21_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P21_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P22;
+asn_struct_free_f ProtocolIE_SingleContainer_132P22_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P22_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P22_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P22_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P22_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P22_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P22_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P22_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P22_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P22_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P22_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P22_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P22_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P23;
+asn_struct_free_f ProtocolIE_SingleContainer_132P23_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P23_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P23_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P23_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P23_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P23_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P23_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P23_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P23_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P23_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P23_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P23_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P23_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P24;
+asn_struct_free_f ProtocolIE_SingleContainer_132P24_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P24_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P24_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P24_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P24_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P24_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P24_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P24_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P24_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P24_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P24_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P24_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P24_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P25;
+asn_struct_free_f ProtocolIE_SingleContainer_132P25_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P25_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P25_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P25_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P25_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P25_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P25_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P25_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P25_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P25_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P25_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P25_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P25_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P26;
+asn_struct_free_f ProtocolIE_SingleContainer_132P26_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P26_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P26_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P26_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P26_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P26_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P26_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P26_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P26_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P26_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P26_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P26_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P26_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P27;
+asn_struct_free_f ProtocolIE_SingleContainer_132P27_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P27_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P27_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P27_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P27_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P27_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P27_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P27_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P27_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P27_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P27_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P27_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P27_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P28;
+asn_struct_free_f ProtocolIE_SingleContainer_132P28_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P28_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P28_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P28_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P28_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P28_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P28_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P28_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P28_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P28_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P28_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P28_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P28_encode_aper;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_SingleContainer_132P29;
+asn_struct_free_f ProtocolIE_SingleContainer_132P29_free;
+asn_struct_print_f ProtocolIE_SingleContainer_132P29_print;
+asn_constr_check_f ProtocolIE_SingleContainer_132P29_constraint;
+ber_type_decoder_f ProtocolIE_SingleContainer_132P29_decode_ber;
+der_type_encoder_f ProtocolIE_SingleContainer_132P29_encode_der;
+xer_type_decoder_f ProtocolIE_SingleContainer_132P29_decode_xer;
+xer_type_encoder_f ProtocolIE_SingleContainer_132P29_encode_xer;
+oer_type_decoder_f ProtocolIE_SingleContainer_132P29_decode_oer;
+oer_type_encoder_f ProtocolIE_SingleContainer_132P29_encode_oer;
+per_type_decoder_f ProtocolIE_SingleContainer_132P29_decode_uper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P29_encode_uper;
+per_type_decoder_f ProtocolIE_SingleContainer_132P29_decode_aper;
+per_type_encoder_f ProtocolIE_SingleContainer_132P29_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ProtocolIE_SingleContainer_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/QCI.h b/src/s1ap/asn1c/asnGenFiles/QCI.h
new file mode 100644
index 0000000..f68fad8
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/QCI.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_QCI_H_
+#define	_QCI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* QCI */
+typedef long	 QCI_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_QCI_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_QCI;
+asn_struct_free_f QCI_free;
+asn_struct_print_f QCI_print;
+asn_constr_check_f QCI_constraint;
+ber_type_decoder_f QCI_decode_ber;
+der_type_encoder_f QCI_encode_der;
+xer_type_decoder_f QCI_decode_xer;
+xer_type_encoder_f QCI_encode_xer;
+oer_type_decoder_f QCI_decode_oer;
+oer_type_encoder_f QCI_encode_oer;
+per_type_decoder_f QCI_decode_uper;
+per_type_encoder_f QCI_encode_uper;
+per_type_decoder_f QCI_decode_aper;
+per_type_encoder_f QCI_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _QCI_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/RAC.h b/src/s1ap/asn1c/asnGenFiles/RAC.h
new file mode 100644
index 0000000..de75f7b
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/RAC.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_RAC_H_
+#define	_RAC_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RAC */
+typedef OCTET_STRING_t	 RAC_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RAC_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RAC;
+asn_struct_free_f RAC_free;
+asn_struct_print_f RAC_print;
+asn_constr_check_f RAC_constraint;
+ber_type_decoder_f RAC_decode_ber;
+der_type_encoder_f RAC_encode_der;
+xer_type_decoder_f RAC_decode_xer;
+xer_type_encoder_f RAC_encode_xer;
+oer_type_decoder_f RAC_decode_oer;
+oer_type_encoder_f RAC_encode_oer;
+per_type_decoder_f RAC_decode_uper;
+per_type_encoder_f RAC_encode_uper;
+per_type_decoder_f RAC_decode_aper;
+per_type_encoder_f RAC_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _RAC_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/RAT-Type.h b/src/s1ap/asn1c/asnGenFiles/RAT-Type.h
new file mode 100644
index 0000000..7695423
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/RAT-Type.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_RAT_Type_H_
+#define	_RAT_Type_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RAT_Type {
+	RAT_Type_nbiot	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_RAT_Type;
+
+/* RAT-Type */
+typedef long	 RAT_Type_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RAT_Type_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RAT_Type;
+extern const asn_INTEGER_specifics_t asn_SPC_RAT_Type_specs_1;
+asn_struct_free_f RAT_Type_free;
+asn_struct_print_f RAT_Type_print;
+asn_constr_check_f RAT_Type_constraint;
+ber_type_decoder_f RAT_Type_decode_ber;
+der_type_encoder_f RAT_Type_encode_der;
+xer_type_decoder_f RAT_Type_decode_xer;
+xer_type_encoder_f RAT_Type_encode_xer;
+oer_type_decoder_f RAT_Type_decode_oer;
+oer_type_encoder_f RAT_Type_encode_oer;
+per_type_decoder_f RAT_Type_decode_uper;
+per_type_encoder_f RAT_Type_encode_uper;
+per_type_decoder_f RAT_Type_decode_aper;
+per_type_encoder_f RAT_Type_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _RAT_Type_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/RIMInformation.h b/src/s1ap/asn1c/asnGenFiles/RIMInformation.h
new file mode 100644
index 0000000..9b83c43
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/RIMInformation.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_RIMInformation_H_
+#define	_RIMInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RIMInformation */
+typedef OCTET_STRING_t	 RIMInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RIMInformation;
+asn_struct_free_f RIMInformation_free;
+asn_struct_print_f RIMInformation_print;
+asn_constr_check_f RIMInformation_constraint;
+ber_type_decoder_f RIMInformation_decode_ber;
+der_type_encoder_f RIMInformation_encode_der;
+xer_type_decoder_f RIMInformation_decode_xer;
+xer_type_encoder_f RIMInformation_encode_xer;
+oer_type_decoder_f RIMInformation_decode_oer;
+oer_type_encoder_f RIMInformation_encode_oer;
+per_type_decoder_f RIMInformation_decode_uper;
+per_type_encoder_f RIMInformation_encode_uper;
+per_type_decoder_f RIMInformation_decode_aper;
+per_type_encoder_f RIMInformation_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _RIMInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/RIMRoutingAddress.h b/src/s1ap/asn1c/asnGenFiles/RIMRoutingAddress.h
new file mode 100644
index 0000000..ca09ee3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/RIMRoutingAddress.h
@@ -0,0 +1,63 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_RIMRoutingAddress_H_
+#define	_RIMRoutingAddress_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RIMRoutingAddress_PR {
+	RIMRoutingAddress_PR_NOTHING,	/* No components present */
+	RIMRoutingAddress_PR_gERAN_Cell_ID,
+	/* Extensions may appear below */
+	RIMRoutingAddress_PR_targetRNC_ID,
+	RIMRoutingAddress_PR_eHRPD_Sector_ID
+} RIMRoutingAddress_PR;
+
+/* Forward declarations */
+struct GERAN_Cell_ID;
+struct TargetRNC_ID;
+
+/* RIMRoutingAddress */
+typedef struct RIMRoutingAddress {
+	RIMRoutingAddress_PR present;
+	union RIMRoutingAddress_u {
+		struct GERAN_Cell_ID	*gERAN_Cell_ID;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+		struct TargetRNC_ID	*targetRNC_ID;
+		OCTET_STRING_t	 eHRPD_Sector_ID;
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RIMRoutingAddress_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RIMRoutingAddress;
+extern asn_CHOICE_specifics_t asn_SPC_RIMRoutingAddress_specs_1;
+extern asn_TYPE_member_t asn_MBR_RIMRoutingAddress_1[3];
+extern asn_per_constraints_t asn_PER_type_RIMRoutingAddress_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _RIMRoutingAddress_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/RIMTransfer.h b/src/s1ap/asn1c/asnGenFiles/RIMTransfer.h
new file mode 100644
index 0000000..c0689b1
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/RIMTransfer.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_RIMTransfer_H_
+#define	_RIMTransfer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RIMInformation.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct RIMRoutingAddress;
+struct ProtocolExtensionContainer;
+
+/* RIMTransfer */
+typedef struct RIMTransfer {
+	RIMInformation_t	 rIMInformation;
+	struct RIMRoutingAddress	*rIMRoutingAddress;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RIMTransfer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RIMTransfer;
+extern asn_SEQUENCE_specifics_t asn_SPC_RIMTransfer_specs_1;
+extern asn_TYPE_member_t asn_MBR_RIMTransfer_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _RIMTransfer_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/RLFReportInformation.h b/src/s1ap/asn1c/asnGenFiles/RLFReportInformation.h
new file mode 100644
index 0000000..140423b
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/RLFReportInformation.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_RLFReportInformation_H_
+#define	_RLFReportInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "UE-RLF-Report-Container.h"
+#include "UE-RLF-Report-Container-for-extended-bands.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* RLFReportInformation */
+typedef struct RLFReportInformation {
+	UE_RLF_Report_Container_t	 uE_RLF_Report_Container;
+	UE_RLF_Report_Container_for_extended_bands_t	*uE_RLF_Report_Container_for_extended_bands;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RLFReportInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RLFReportInformation;
+extern asn_SEQUENCE_specifics_t asn_SPC_RLFReportInformation_specs_1;
+extern asn_TYPE_member_t asn_MBR_RLFReportInformation_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _RLFReportInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/RNC-ID.h b/src/s1ap/asn1c/asnGenFiles/RNC-ID.h
new file mode 100644
index 0000000..2b9c814
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/RNC-ID.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_RNC_ID_H_
+#define	_RNC_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RNC-ID */
+typedef long	 RNC_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RNC_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RNC_ID;
+asn_struct_free_f RNC_ID_free;
+asn_struct_print_f RNC_ID_print;
+asn_constr_check_f RNC_ID_constraint;
+ber_type_decoder_f RNC_ID_decode_ber;
+der_type_encoder_f RNC_ID_encode_der;
+xer_type_decoder_f RNC_ID_decode_xer;
+xer_type_encoder_f RNC_ID_encode_xer;
+oer_type_decoder_f RNC_ID_decode_oer;
+oer_type_encoder_f RNC_ID_encode_oer;
+per_type_decoder_f RNC_ID_decode_uper;
+per_type_encoder_f RNC_ID_encode_uper;
+per_type_decoder_f RNC_ID_decode_aper;
+per_type_encoder_f RNC_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _RNC_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/RRC-Container.h b/src/s1ap/asn1c/asnGenFiles/RRC-Container.h
new file mode 100644
index 0000000..8c69421
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/RRC-Container.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_RRC_Container_H_
+#define	_RRC_Container_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RRC-Container */
+typedef OCTET_STRING_t	 RRC_Container_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RRC_Container;
+asn_struct_free_f RRC_Container_free;
+asn_struct_print_f RRC_Container_print;
+asn_constr_check_f RRC_Container_constraint;
+ber_type_decoder_f RRC_Container_decode_ber;
+der_type_encoder_f RRC_Container_encode_der;
+xer_type_decoder_f RRC_Container_decode_xer;
+xer_type_encoder_f RRC_Container_encode_xer;
+oer_type_decoder_f RRC_Container_decode_oer;
+oer_type_encoder_f RRC_Container_encode_oer;
+per_type_decoder_f RRC_Container_decode_uper;
+per_type_encoder_f RRC_Container_encode_uper;
+per_type_decoder_f RRC_Container_decode_aper;
+per_type_encoder_f RRC_Container_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _RRC_Container_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/RRC-Establishment-Cause.h b/src/s1ap/asn1c/asnGenFiles/RRC-Establishment-Cause.h
new file mode 100644
index 0000000..b687ebe
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/RRC-Establishment-Cause.h
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_RRC_Establishment_Cause_H_
+#define	_RRC_Establishment_Cause_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RRC_Establishment_Cause {
+	RRC_Establishment_Cause_emergency	= 0,
+	RRC_Establishment_Cause_highPriorityAccess	= 1,
+	RRC_Establishment_Cause_mt_Access	= 2,
+	RRC_Establishment_Cause_mo_Signalling	= 3,
+	RRC_Establishment_Cause_mo_Data	= 4,
+	/*
+	 * Enumeration is extensible
+	 */
+	RRC_Establishment_Cause_delay_TolerantAccess	= 5,
+	RRC_Establishment_Cause_mo_VoiceCall	= 6,
+	RRC_Establishment_Cause_mo_ExceptionData	= 7
+} e_RRC_Establishment_Cause;
+
+/* RRC-Establishment-Cause */
+typedef long	 RRC_Establishment_Cause_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RRC_Establishment_Cause_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RRC_Establishment_Cause;
+extern const asn_INTEGER_specifics_t asn_SPC_RRC_Establishment_Cause_specs_1;
+asn_struct_free_f RRC_Establishment_Cause_free;
+asn_struct_print_f RRC_Establishment_Cause_print;
+asn_constr_check_f RRC_Establishment_Cause_constraint;
+ber_type_decoder_f RRC_Establishment_Cause_decode_ber;
+der_type_encoder_f RRC_Establishment_Cause_encode_der;
+xer_type_decoder_f RRC_Establishment_Cause_decode_xer;
+xer_type_encoder_f RRC_Establishment_Cause_encode_xer;
+oer_type_decoder_f RRC_Establishment_Cause_decode_oer;
+oer_type_encoder_f RRC_Establishment_Cause_encode_oer;
+per_type_decoder_f RRC_Establishment_Cause_decode_uper;
+per_type_encoder_f RRC_Establishment_Cause_encode_uper;
+per_type_decoder_f RRC_Establishment_Cause_decode_aper;
+per_type_encoder_f RRC_Establishment_Cause_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _RRC_Establishment_Cause_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ReceiveStatusOfULPDCPSDUsExtended.h b/src/s1ap/asn1c/asnGenFiles/ReceiveStatusOfULPDCPSDUsExtended.h
new file mode 100644
index 0000000..498c7ee
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ReceiveStatusOfULPDCPSDUsExtended.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ReceiveStatusOfULPDCPSDUsExtended_H_
+#define	_ReceiveStatusOfULPDCPSDUsExtended_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ReceiveStatusOfULPDCPSDUsExtended */
+typedef BIT_STRING_t	 ReceiveStatusOfULPDCPSDUsExtended_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ReceiveStatusOfULPDCPSDUsExtended_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ReceiveStatusOfULPDCPSDUsExtended;
+asn_struct_free_f ReceiveStatusOfULPDCPSDUsExtended_free;
+asn_struct_print_f ReceiveStatusOfULPDCPSDUsExtended_print;
+asn_constr_check_f ReceiveStatusOfULPDCPSDUsExtended_constraint;
+ber_type_decoder_f ReceiveStatusOfULPDCPSDUsExtended_decode_ber;
+der_type_encoder_f ReceiveStatusOfULPDCPSDUsExtended_encode_der;
+xer_type_decoder_f ReceiveStatusOfULPDCPSDUsExtended_decode_xer;
+xer_type_encoder_f ReceiveStatusOfULPDCPSDUsExtended_encode_xer;
+oer_type_decoder_f ReceiveStatusOfULPDCPSDUsExtended_decode_oer;
+oer_type_encoder_f ReceiveStatusOfULPDCPSDUsExtended_encode_oer;
+per_type_decoder_f ReceiveStatusOfULPDCPSDUsExtended_decode_uper;
+per_type_encoder_f ReceiveStatusOfULPDCPSDUsExtended_encode_uper;
+per_type_decoder_f ReceiveStatusOfULPDCPSDUsExtended_decode_aper;
+per_type_encoder_f ReceiveStatusOfULPDCPSDUsExtended_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ReceiveStatusOfULPDCPSDUsExtended_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ReceiveStatusOfULPDCPSDUsPDCP-SNlength18.h b/src/s1ap/asn1c/asnGenFiles/ReceiveStatusOfULPDCPSDUsPDCP-SNlength18.h
new file mode 100644
index 0000000..ddd731f
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ReceiveStatusOfULPDCPSDUsPDCP-SNlength18.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_H_
+#define	_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ReceiveStatusOfULPDCPSDUsPDCP-SNlength18 */
+typedef BIT_STRING_t	 ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18;
+asn_struct_free_f ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_free;
+asn_struct_print_f ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_print;
+asn_constr_check_f ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_constraint;
+ber_type_decoder_f ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_decode_ber;
+der_type_encoder_f ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_encode_der;
+xer_type_decoder_f ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_decode_xer;
+xer_type_encoder_f ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_encode_xer;
+oer_type_decoder_f ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_decode_oer;
+oer_type_encoder_f ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_encode_oer;
+per_type_decoder_f ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_decode_uper;
+per_type_encoder_f ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_encode_uper;
+per_type_decoder_f ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_decode_aper;
+per_type_encoder_f ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ReceiveStatusofULPDCPSDUs.h b/src/s1ap/asn1c/asnGenFiles/ReceiveStatusofULPDCPSDUs.h
new file mode 100644
index 0000000..5e4893f
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ReceiveStatusofULPDCPSDUs.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ReceiveStatusofULPDCPSDUs_H_
+#define	_ReceiveStatusofULPDCPSDUs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ReceiveStatusofULPDCPSDUs */
+typedef BIT_STRING_t	 ReceiveStatusofULPDCPSDUs_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ReceiveStatusofULPDCPSDUs_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ReceiveStatusofULPDCPSDUs;
+asn_struct_free_f ReceiveStatusofULPDCPSDUs_free;
+asn_struct_print_f ReceiveStatusofULPDCPSDUs_print;
+asn_constr_check_f ReceiveStatusofULPDCPSDUs_constraint;
+ber_type_decoder_f ReceiveStatusofULPDCPSDUs_decode_ber;
+der_type_encoder_f ReceiveStatusofULPDCPSDUs_encode_der;
+xer_type_decoder_f ReceiveStatusofULPDCPSDUs_decode_xer;
+xer_type_encoder_f ReceiveStatusofULPDCPSDUs_encode_xer;
+oer_type_decoder_f ReceiveStatusofULPDCPSDUs_decode_oer;
+oer_type_encoder_f ReceiveStatusofULPDCPSDUs_encode_oer;
+per_type_decoder_f ReceiveStatusofULPDCPSDUs_decode_uper;
+per_type_encoder_f ReceiveStatusofULPDCPSDUs_encode_uper;
+per_type_decoder_f ReceiveStatusofULPDCPSDUs_decode_aper;
+per_type_encoder_f ReceiveStatusofULPDCPSDUs_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ReceiveStatusofULPDCPSDUs_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/RecommendedCellItem.h b/src/s1ap/asn1c/asnGenFiles/RecommendedCellItem.h
new file mode 100644
index 0000000..8577390
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/RecommendedCellItem.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_RecommendedCellItem_H_
+#define	_RecommendedCellItem_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "EUTRAN-CGI.h"
+#include <NativeInteger.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* RecommendedCellItem */
+typedef struct RecommendedCellItem {
+	EUTRAN_CGI_t	 eUTRAN_CGI;
+	long	*timeStayedInCell;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RecommendedCellItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RecommendedCellItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_RecommendedCellItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_RecommendedCellItem_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _RecommendedCellItem_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/RecommendedCellList.h b/src/s1ap/asn1c/asnGenFiles/RecommendedCellList.h
new file mode 100644
index 0000000..a6d7bb7
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/RecommendedCellList.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_RecommendedCellList_H_
+#define	_RecommendedCellList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* RecommendedCellList */
+typedef struct RecommendedCellList {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RecommendedCellList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RecommendedCellList;
+extern asn_SET_OF_specifics_t asn_SPC_RecommendedCellList_specs_1;
+extern asn_TYPE_member_t asn_MBR_RecommendedCellList_1[1];
+extern asn_per_constraints_t asn_PER_type_RecommendedCellList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _RecommendedCellList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/RecommendedCellsForPaging.h b/src/s1ap/asn1c/asnGenFiles/RecommendedCellsForPaging.h
new file mode 100644
index 0000000..fc3f024
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/RecommendedCellsForPaging.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_RecommendedCellsForPaging_H_
+#define	_RecommendedCellsForPaging_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RecommendedCellList.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* RecommendedCellsForPaging */
+typedef struct RecommendedCellsForPaging {
+	RecommendedCellList_t	 recommendedCellList;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RecommendedCellsForPaging_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RecommendedCellsForPaging;
+extern asn_SEQUENCE_specifics_t asn_SPC_RecommendedCellsForPaging_specs_1;
+extern asn_TYPE_member_t asn_MBR_RecommendedCellsForPaging_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _RecommendedCellsForPaging_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/RecommendedENBItem.h b/src/s1ap/asn1c/asnGenFiles/RecommendedENBItem.h
new file mode 100644
index 0000000..03e6105
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/RecommendedENBItem.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_RecommendedENBItem_H_
+#define	_RecommendedENBItem_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "MMEPagingTarget.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* RecommendedENBItem */
+typedef struct RecommendedENBItem {
+	MMEPagingTarget_t	 mMEPagingTarget;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RecommendedENBItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RecommendedENBItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_RecommendedENBItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_RecommendedENBItem_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _RecommendedENBItem_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/RecommendedENBList.h b/src/s1ap/asn1c/asnGenFiles/RecommendedENBList.h
new file mode 100644
index 0000000..4b3da06
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/RecommendedENBList.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_RecommendedENBList_H_
+#define	_RecommendedENBList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* RecommendedENBList */
+typedef struct RecommendedENBList {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RecommendedENBList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RecommendedENBList;
+extern asn_SET_OF_specifics_t asn_SPC_RecommendedENBList_specs_1;
+extern asn_TYPE_member_t asn_MBR_RecommendedENBList_1[1];
+extern asn_per_constraints_t asn_PER_type_RecommendedENBList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _RecommendedENBList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/RecommendedENBsForPaging.h b/src/s1ap/asn1c/asnGenFiles/RecommendedENBsForPaging.h
new file mode 100644
index 0000000..e41664e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/RecommendedENBsForPaging.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_RecommendedENBsForPaging_H_
+#define	_RecommendedENBsForPaging_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RecommendedENBList.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* RecommendedENBsForPaging */
+typedef struct RecommendedENBsForPaging {
+	RecommendedENBList_t	 recommendedENBList;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RecommendedENBsForPaging_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RecommendedENBsForPaging;
+extern asn_SEQUENCE_specifics_t asn_SPC_RecommendedENBsForPaging_specs_1;
+extern asn_TYPE_member_t asn_MBR_RecommendedENBsForPaging_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _RecommendedENBsForPaging_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/RelativeMMECapacity.h b/src/s1ap/asn1c/asnGenFiles/RelativeMMECapacity.h
new file mode 100644
index 0000000..ec49230
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/RelativeMMECapacity.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_RelativeMMECapacity_H_
+#define	_RelativeMMECapacity_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RelativeMMECapacity */
+typedef long	 RelativeMMECapacity_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RelativeMMECapacity_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RelativeMMECapacity;
+asn_struct_free_f RelativeMMECapacity_free;
+asn_struct_print_f RelativeMMECapacity_print;
+asn_constr_check_f RelativeMMECapacity_constraint;
+ber_type_decoder_f RelativeMMECapacity_decode_ber;
+der_type_encoder_f RelativeMMECapacity_encode_der;
+xer_type_decoder_f RelativeMMECapacity_decode_xer;
+xer_type_encoder_f RelativeMMECapacity_encode_xer;
+oer_type_decoder_f RelativeMMECapacity_decode_oer;
+oer_type_encoder_f RelativeMMECapacity_encode_oer;
+per_type_decoder_f RelativeMMECapacity_decode_uper;
+per_type_encoder_f RelativeMMECapacity_encode_uper;
+per_type_decoder_f RelativeMMECapacity_decode_aper;
+per_type_encoder_f RelativeMMECapacity_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _RelativeMMECapacity_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/RelayNode-Indicator.h b/src/s1ap/asn1c/asnGenFiles/RelayNode-Indicator.h
new file mode 100644
index 0000000..35e27aa
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/RelayNode-Indicator.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_RelayNode_Indicator_H_
+#define	_RelayNode_Indicator_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RelayNode_Indicator {
+	RelayNode_Indicator_true	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_RelayNode_Indicator;
+
+/* RelayNode-Indicator */
+typedef long	 RelayNode_Indicator_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RelayNode_Indicator_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RelayNode_Indicator;
+extern const asn_INTEGER_specifics_t asn_SPC_RelayNode_Indicator_specs_1;
+asn_struct_free_f RelayNode_Indicator_free;
+asn_struct_print_f RelayNode_Indicator_print;
+asn_constr_check_f RelayNode_Indicator_constraint;
+ber_type_decoder_f RelayNode_Indicator_decode_ber;
+der_type_encoder_f RelayNode_Indicator_encode_der;
+xer_type_decoder_f RelayNode_Indicator_decode_xer;
+xer_type_encoder_f RelayNode_Indicator_encode_xer;
+oer_type_decoder_f RelayNode_Indicator_decode_oer;
+oer_type_encoder_f RelayNode_Indicator_encode_oer;
+per_type_decoder_f RelayNode_Indicator_decode_uper;
+per_type_encoder_f RelayNode_Indicator_encode_uper;
+per_type_decoder_f RelayNode_Indicator_decode_aper;
+per_type_encoder_f RelayNode_Indicator_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _RelayNode_Indicator_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/RepetitionPeriod.h b/src/s1ap/asn1c/asnGenFiles/RepetitionPeriod.h
new file mode 100644
index 0000000..e10caf8
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/RepetitionPeriod.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_RepetitionPeriod_H_
+#define	_RepetitionPeriod_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RepetitionPeriod */
+typedef long	 RepetitionPeriod_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RepetitionPeriod_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RepetitionPeriod;
+asn_struct_free_f RepetitionPeriod_free;
+asn_struct_print_f RepetitionPeriod_print;
+asn_constr_check_f RepetitionPeriod_constraint;
+ber_type_decoder_f RepetitionPeriod_decode_ber;
+der_type_encoder_f RepetitionPeriod_encode_der;
+xer_type_decoder_f RepetitionPeriod_decode_xer;
+xer_type_encoder_f RepetitionPeriod_encode_xer;
+oer_type_decoder_f RepetitionPeriod_decode_oer;
+oer_type_encoder_f RepetitionPeriod_encode_oer;
+per_type_decoder_f RepetitionPeriod_decode_uper;
+per_type_encoder_f RepetitionPeriod_encode_uper;
+per_type_decoder_f RepetitionPeriod_decode_aper;
+per_type_encoder_f RepetitionPeriod_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _RepetitionPeriod_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ReportAmountMDT.h b/src/s1ap/asn1c/asnGenFiles/ReportAmountMDT.h
new file mode 100644
index 0000000..0a80434
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ReportAmountMDT.h
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ReportAmountMDT_H_
+#define	_ReportAmountMDT_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum ReportAmountMDT {
+	ReportAmountMDT_r1	= 0,
+	ReportAmountMDT_r2	= 1,
+	ReportAmountMDT_r4	= 2,
+	ReportAmountMDT_r8	= 3,
+	ReportAmountMDT_r16	= 4,
+	ReportAmountMDT_r32	= 5,
+	ReportAmountMDT_r64	= 6,
+	ReportAmountMDT_rinfinity	= 7
+} e_ReportAmountMDT;
+
+/* ReportAmountMDT */
+typedef long	 ReportAmountMDT_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ReportAmountMDT_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ReportAmountMDT;
+extern const asn_INTEGER_specifics_t asn_SPC_ReportAmountMDT_specs_1;
+asn_struct_free_f ReportAmountMDT_free;
+asn_struct_print_f ReportAmountMDT_print;
+asn_constr_check_f ReportAmountMDT_constraint;
+ber_type_decoder_f ReportAmountMDT_decode_ber;
+der_type_encoder_f ReportAmountMDT_encode_der;
+xer_type_decoder_f ReportAmountMDT_decode_xer;
+xer_type_encoder_f ReportAmountMDT_encode_xer;
+oer_type_decoder_f ReportAmountMDT_decode_oer;
+oer_type_encoder_f ReportAmountMDT_encode_oer;
+per_type_decoder_f ReportAmountMDT_decode_uper;
+per_type_encoder_f ReportAmountMDT_encode_uper;
+per_type_decoder_f ReportAmountMDT_decode_aper;
+per_type_encoder_f ReportAmountMDT_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ReportAmountMDT_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ReportArea.h b/src/s1ap/asn1c/asnGenFiles/ReportArea.h
new file mode 100644
index 0000000..febf80d
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ReportArea.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ReportArea_H_
+#define	_ReportArea_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum ReportArea {
+	ReportArea_ecgi	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_ReportArea;
+
+/* ReportArea */
+typedef long	 ReportArea_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ReportArea_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ReportArea;
+extern const asn_INTEGER_specifics_t asn_SPC_ReportArea_specs_1;
+asn_struct_free_f ReportArea_free;
+asn_struct_print_f ReportArea_print;
+asn_constr_check_f ReportArea_constraint;
+ber_type_decoder_f ReportArea_decode_ber;
+der_type_encoder_f ReportArea_encode_der;
+xer_type_decoder_f ReportArea_decode_xer;
+xer_type_encoder_f ReportArea_encode_xer;
+oer_type_decoder_f ReportArea_decode_oer;
+oer_type_encoder_f ReportArea_encode_oer;
+per_type_decoder_f ReportArea_decode_uper;
+per_type_encoder_f ReportArea_encode_uper;
+per_type_decoder_f ReportArea_decode_aper;
+per_type_encoder_f ReportArea_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ReportArea_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ReportIntervalMDT.h b/src/s1ap/asn1c/asnGenFiles/ReportIntervalMDT.h
new file mode 100644
index 0000000..b402695
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ReportIntervalMDT.h
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ReportIntervalMDT_H_
+#define	_ReportIntervalMDT_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum ReportIntervalMDT {
+	ReportIntervalMDT_ms120	= 0,
+	ReportIntervalMDT_ms240	= 1,
+	ReportIntervalMDT_ms480	= 2,
+	ReportIntervalMDT_ms640	= 3,
+	ReportIntervalMDT_ms1024	= 4,
+	ReportIntervalMDT_ms2048	= 5,
+	ReportIntervalMDT_ms5120	= 6,
+	ReportIntervalMDT_ms10240	= 7,
+	ReportIntervalMDT_min1	= 8,
+	ReportIntervalMDT_min6	= 9,
+	ReportIntervalMDT_min12	= 10,
+	ReportIntervalMDT_min30	= 11,
+	ReportIntervalMDT_min60	= 12
+} e_ReportIntervalMDT;
+
+/* ReportIntervalMDT */
+typedef long	 ReportIntervalMDT_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ReportIntervalMDT_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ReportIntervalMDT;
+extern const asn_INTEGER_specifics_t asn_SPC_ReportIntervalMDT_specs_1;
+asn_struct_free_f ReportIntervalMDT_free;
+asn_struct_print_f ReportIntervalMDT_print;
+asn_constr_check_f ReportIntervalMDT_constraint;
+ber_type_decoder_f ReportIntervalMDT_decode_ber;
+der_type_encoder_f ReportIntervalMDT_encode_der;
+xer_type_decoder_f ReportIntervalMDT_decode_xer;
+xer_type_encoder_f ReportIntervalMDT_encode_xer;
+oer_type_decoder_f ReportIntervalMDT_decode_oer;
+oer_type_encoder_f ReportIntervalMDT_encode_oer;
+per_type_decoder_f ReportIntervalMDT_decode_uper;
+per_type_encoder_f ReportIntervalMDT_encode_uper;
+per_type_decoder_f ReportIntervalMDT_decode_aper;
+per_type_encoder_f ReportIntervalMDT_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ReportIntervalMDT_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/RequestType.h b/src/s1ap/asn1c/asnGenFiles/RequestType.h
new file mode 100644
index 0000000..5e3b557
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/RequestType.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_RequestType_H_
+#define	_RequestType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "EventType.h"
+#include "ReportArea.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* RequestType */
+typedef struct RequestType {
+	EventType_t	 eventType;
+	ReportArea_t	 reportArea;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RequestType_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RequestType;
+extern asn_SEQUENCE_specifics_t asn_SPC_RequestType_specs_1;
+extern asn_TYPE_member_t asn_MBR_RequestType_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _RequestType_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/RequestTypeAdditionalInfo.h b/src/s1ap/asn1c/asnGenFiles/RequestTypeAdditionalInfo.h
new file mode 100644
index 0000000..9172679
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/RequestTypeAdditionalInfo.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_RequestTypeAdditionalInfo_H_
+#define	_RequestTypeAdditionalInfo_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RequestTypeAdditionalInfo {
+	RequestTypeAdditionalInfo_includePSCell	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_RequestTypeAdditionalInfo;
+
+/* RequestTypeAdditionalInfo */
+typedef long	 RequestTypeAdditionalInfo_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_RequestTypeAdditionalInfo_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_RequestTypeAdditionalInfo;
+extern const asn_INTEGER_specifics_t asn_SPC_RequestTypeAdditionalInfo_specs_1;
+asn_struct_free_f RequestTypeAdditionalInfo_free;
+asn_struct_print_f RequestTypeAdditionalInfo_print;
+asn_constr_check_f RequestTypeAdditionalInfo_constraint;
+ber_type_decoder_f RequestTypeAdditionalInfo_decode_ber;
+der_type_encoder_f RequestTypeAdditionalInfo_encode_der;
+xer_type_decoder_f RequestTypeAdditionalInfo_decode_xer;
+xer_type_encoder_f RequestTypeAdditionalInfo_encode_xer;
+oer_type_decoder_f RequestTypeAdditionalInfo_decode_oer;
+oer_type_encoder_f RequestTypeAdditionalInfo_encode_oer;
+per_type_decoder_f RequestTypeAdditionalInfo_decode_uper;
+per_type_encoder_f RequestTypeAdditionalInfo_encode_uper;
+per_type_decoder_f RequestTypeAdditionalInfo_decode_aper;
+per_type_encoder_f RequestTypeAdditionalInfo_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _RequestTypeAdditionalInfo_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/RerouteNASRequest.h b/src/s1ap/asn1c/asnGenFiles/RerouteNASRequest.h
new file mode 100644
index 0000000..c281a14
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/RerouteNASRequest.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_RerouteNASRequest_H_
+#define	_RerouteNASRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RerouteNASRequest */
+typedef struct RerouteNASRequest {
+	ProtocolIE_Container_129P35_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RerouteNASRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RerouteNASRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _RerouteNASRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Reset.h b/src/s1ap/asn1c/asnGenFiles/Reset.h
new file mode 100644
index 0000000..ea283e4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Reset.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Reset_H_
+#define	_Reset_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Reset */
+typedef struct Reset {
+	ProtocolIE_Container_129P37_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} Reset_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Reset;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Reset_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ResetAcknowledge.h b/src/s1ap/asn1c/asnGenFiles/ResetAcknowledge.h
new file mode 100644
index 0000000..34652a3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ResetAcknowledge.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ResetAcknowledge_H_
+#define	_ResetAcknowledge_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ResetAcknowledge */
+typedef struct ResetAcknowledge {
+	ProtocolIE_Container_129P38_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ResetAcknowledge_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ResetAcknowledge;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ResetAcknowledge_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ResetAll.h b/src/s1ap/asn1c/asnGenFiles/ResetAll.h
new file mode 100644
index 0000000..1e50ef4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ResetAll.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ResetAll_H_
+#define	_ResetAll_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum ResetAll {
+	ResetAll_reset_all	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_ResetAll;
+
+/* ResetAll */
+typedef long	 ResetAll_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ResetAll_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ResetAll;
+extern const asn_INTEGER_specifics_t asn_SPC_ResetAll_specs_1;
+asn_struct_free_f ResetAll_free;
+asn_struct_print_f ResetAll_print;
+asn_constr_check_f ResetAll_constraint;
+ber_type_decoder_f ResetAll_decode_ber;
+der_type_encoder_f ResetAll_encode_der;
+xer_type_decoder_f ResetAll_decode_xer;
+xer_type_encoder_f ResetAll_encode_xer;
+oer_type_decoder_f ResetAll_decode_oer;
+oer_type_encoder_f ResetAll_encode_oer;
+per_type_decoder_f ResetAll_decode_uper;
+per_type_encoder_f ResetAll_encode_uper;
+per_type_decoder_f ResetAll_decode_aper;
+per_type_encoder_f ResetAll_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ResetAll_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ResetType.h b/src/s1ap/asn1c/asnGenFiles/ResetType.h
new file mode 100644
index 0000000..1fe2136
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ResetType.h
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ResetType_H_
+#define	_ResetType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ResetAll.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum ResetType_PR {
+	ResetType_PR_NOTHING,	/* No components present */
+	ResetType_PR_s1_Interface,
+	ResetType_PR_partOfS1_Interface
+	/* Extensions may appear below */
+	
+} ResetType_PR;
+
+/* Forward declarations */
+struct UE_associatedLogicalS1_ConnectionListRes;
+
+/* ResetType */
+typedef struct ResetType {
+	ResetType_PR present;
+	union ResetType_u {
+		ResetAll_t	 s1_Interface;
+		struct UE_associatedLogicalS1_ConnectionListRes	*partOfS1_Interface;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ResetType_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ResetType;
+extern asn_CHOICE_specifics_t asn_SPC_ResetType_specs_1;
+extern asn_TYPE_member_t asn_MBR_ResetType_1[2];
+extern asn_per_constraints_t asn_PER_type_ResetType_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ResetType_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/RetrieveUEInformation.h b/src/s1ap/asn1c/asnGenFiles/RetrieveUEInformation.h
new file mode 100644
index 0000000..03f619a
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/RetrieveUEInformation.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_RetrieveUEInformation_H_
+#define	_RetrieveUEInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RetrieveUEInformation */
+typedef struct RetrieveUEInformation {
+	ProtocolIE_Container_129P87_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RetrieveUEInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RetrieveUEInformation;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _RetrieveUEInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Routing-ID.h b/src/s1ap/asn1c/asnGenFiles/Routing-ID.h
new file mode 100644
index 0000000..34ccd12
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Routing-ID.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Routing_ID_H_
+#define	_Routing_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Routing-ID */
+typedef long	 Routing_ID_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_Routing_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_Routing_ID;
+asn_struct_free_f Routing_ID_free;
+asn_struct_print_f Routing_ID_print;
+asn_constr_check_f Routing_ID_constraint;
+ber_type_decoder_f Routing_ID_decode_ber;
+der_type_encoder_f Routing_ID_encode_der;
+xer_type_decoder_f Routing_ID_decode_xer;
+xer_type_encoder_f Routing_ID_encode_xer;
+oer_type_decoder_f Routing_ID_decode_oer;
+oer_type_encoder_f Routing_ID_encode_oer;
+per_type_decoder_f Routing_ID_decode_uper;
+per_type_encoder_f Routing_ID_encode_uper;
+per_type_decoder_f Routing_ID_decode_aper;
+per_type_encoder_f Routing_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Routing_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/S-TMSI.h b/src/s1ap/asn1c/asnGenFiles/S-TMSI.h
new file mode 100644
index 0000000..32692e8
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/S-TMSI.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_S_TMSI_H_
+#define	_S_TMSI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "MME-Code.h"
+#include "M-TMSI.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* S-TMSI */
+typedef struct S_TMSI {
+	MME_Code_t	 mMEC;
+	M_TMSI_t	 m_TMSI;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} S_TMSI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_S_TMSI;
+extern asn_SEQUENCE_specifics_t asn_SPC_S_TMSI_specs_1;
+extern asn_TYPE_member_t asn_MBR_S_TMSI_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _S_TMSI_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/S1AP-PDU.h b/src/s1ap/asn1c/asnGenFiles/S1AP-PDU.h
new file mode 100644
index 0000000..2d05681
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/S1AP-PDU.h
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Descriptions"
+ * 	found in "./asn1c/S1AP-PDU-Descriptions.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_S1AP_PDU_H_
+#define	_S1AP_PDU_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum S1AP_PDU_PR {
+	S1AP_PDU_PR_NOTHING,	/* No components present */
+	S1AP_PDU_PR_initiatingMessage,
+	S1AP_PDU_PR_successfulOutcome,
+	S1AP_PDU_PR_unsuccessfulOutcome
+	/* Extensions may appear below */
+	
+} S1AP_PDU_PR;
+
+/* Forward declarations */
+struct InitiatingMessage;
+struct SuccessfulOutcome;
+struct UnsuccessfulOutcome;
+
+/* S1AP-PDU */
+typedef struct S1AP_PDU {
+	S1AP_PDU_PR present;
+	union S1AP_PDU_u {
+		struct InitiatingMessage	*initiatingMessage;
+		struct SuccessfulOutcome	*successfulOutcome;
+		struct UnsuccessfulOutcome	*unsuccessfulOutcome;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} S1AP_PDU_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_S1AP_PDU;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _S1AP_PDU_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/S1SetupFailure.h b/src/s1ap/asn1c/asnGenFiles/S1SetupFailure.h
new file mode 100644
index 0000000..1cbe2e6
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/S1SetupFailure.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_S1SetupFailure_H_
+#define	_S1SetupFailure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* S1SetupFailure */
+typedef struct S1SetupFailure {
+	ProtocolIE_Container_129P42_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} S1SetupFailure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_S1SetupFailure;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _S1SetupFailure_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/S1SetupRequest.h b/src/s1ap/asn1c/asnGenFiles/S1SetupRequest.h
new file mode 100644
index 0000000..1d3e084
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/S1SetupRequest.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_S1SetupRequest_H_
+#define	_S1SetupRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* S1SetupRequest */
+typedef struct S1SetupRequest {
+	ProtocolIE_Container_129P40_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} S1SetupRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_S1SetupRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _S1SetupRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/S1SetupResponse.h b/src/s1ap/asn1c/asnGenFiles/S1SetupResponse.h
new file mode 100644
index 0000000..d5c98bf
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/S1SetupResponse.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_S1SetupResponse_H_
+#define	_S1SetupResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* S1SetupResponse */
+typedef struct S1SetupResponse {
+	ProtocolIE_Container_129P41_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} S1SetupResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_S1SetupResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _S1SetupResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SONConfigurationTransfer.h b/src/s1ap/asn1c/asnGenFiles/SONConfigurationTransfer.h
new file mode 100644
index 0000000..9373487
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SONConfigurationTransfer.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SONConfigurationTransfer_H_
+#define	_SONConfigurationTransfer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TargeteNB-ID.h"
+#include "SourceeNB-ID.h"
+#include "SONInformation.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* SONConfigurationTransfer */
+typedef struct SONConfigurationTransfer {
+	TargeteNB_ID_t	 targeteNB_ID;
+	SourceeNB_ID_t	 sourceeNB_ID;
+	SONInformation_t	 sONInformation;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} SONConfigurationTransfer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SONConfigurationTransfer;
+extern asn_SEQUENCE_specifics_t asn_SPC_SONConfigurationTransfer_specs_1;
+extern asn_TYPE_member_t asn_MBR_SONConfigurationTransfer_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SONConfigurationTransfer_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SONInformation-Extension.h b/src/s1ap/asn1c/asnGenFiles/SONInformation-Extension.h
new file mode 100644
index 0000000..aea4e7e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SONInformation-Extension.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SONInformation_Extension_H_
+#define	_SONInformation_Extension_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-SingleContainer.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* SONInformation-Extension */
+typedef ProtocolIE_SingleContainer_132P8_t	 SONInformation_Extension_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SONInformation_Extension;
+asn_struct_free_f SONInformation_Extension_free;
+asn_struct_print_f SONInformation_Extension_print;
+asn_constr_check_f SONInformation_Extension_constraint;
+ber_type_decoder_f SONInformation_Extension_decode_ber;
+der_type_encoder_f SONInformation_Extension_encode_der;
+xer_type_decoder_f SONInformation_Extension_decode_xer;
+xer_type_encoder_f SONInformation_Extension_encode_xer;
+oer_type_decoder_f SONInformation_Extension_decode_oer;
+oer_type_encoder_f SONInformation_Extension_encode_oer;
+per_type_decoder_f SONInformation_Extension_decode_uper;
+per_type_encoder_f SONInformation_Extension_encode_uper;
+per_type_decoder_f SONInformation_Extension_decode_aper;
+per_type_encoder_f SONInformation_Extension_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SONInformation_Extension_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SONInformation.h b/src/s1ap/asn1c/asnGenFiles/SONInformation.h
new file mode 100644
index 0000000..718771d
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SONInformation.h
@@ -0,0 +1,63 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SONInformation_H_
+#define	_SONInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "SONInformationRequest.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum SONInformation_PR {
+	SONInformation_PR_NOTHING,	/* No components present */
+	SONInformation_PR_sONInformationRequest,
+	SONInformation_PR_sONInformationReply,
+	/* Extensions may appear below */
+	SONInformation_PR_sONInformation_Extension
+} SONInformation_PR;
+
+/* Forward declarations */
+struct SONInformationReply;
+struct SONInformation_Extension;
+
+/* SONInformation */
+typedef struct SONInformation {
+	SONInformation_PR present;
+	union SONInformation_u {
+		SONInformationRequest_t	 sONInformationRequest;
+		struct SONInformationReply	*sONInformationReply;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+		struct SONInformation_Extension	*sONInformation_Extension;
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} SONInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SONInformation;
+extern asn_CHOICE_specifics_t asn_SPC_SONInformation_specs_1;
+extern asn_TYPE_member_t asn_MBR_SONInformation_1[3];
+extern asn_per_constraints_t asn_PER_type_SONInformation_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SONInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SONInformationReply.h b/src/s1ap/asn1c/asnGenFiles/SONInformationReply.h
new file mode 100644
index 0000000..ff0f18d
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SONInformationReply.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SONInformationReply_H_
+#define	_SONInformationReply_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct X2TNLConfigurationInfo;
+struct ProtocolExtensionContainer;
+
+/* SONInformationReply */
+typedef struct SONInformationReply {
+	struct X2TNLConfigurationInfo	*x2TNLConfigurationInfo;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} SONInformationReply_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SONInformationReply;
+extern asn_SEQUENCE_specifics_t asn_SPC_SONInformationReply_specs_1;
+extern asn_TYPE_member_t asn_MBR_SONInformationReply_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SONInformationReply_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SONInformationReport.h b/src/s1ap/asn1c/asnGenFiles/SONInformationReport.h
new file mode 100644
index 0000000..8e834ac
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SONInformationReport.h
@@ -0,0 +1,58 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SONInformationReport_H_
+#define	_SONInformationReport_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum SONInformationReport_PR {
+	SONInformationReport_PR_NOTHING,	/* No components present */
+	SONInformationReport_PR_rLFReportInformation
+	/* Extensions may appear below */
+	
+} SONInformationReport_PR;
+
+/* Forward declarations */
+struct RLFReportInformation;
+
+/* SONInformationReport */
+typedef struct SONInformationReport {
+	SONInformationReport_PR present;
+	union SONInformationReport_u {
+		struct RLFReportInformation	*rLFReportInformation;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} SONInformationReport_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SONInformationReport;
+extern asn_CHOICE_specifics_t asn_SPC_SONInformationReport_specs_1;
+extern asn_TYPE_member_t asn_MBR_SONInformationReport_1[1];
+extern asn_per_constraints_t asn_PER_type_SONInformationReport_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SONInformationReport_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SONInformationRequest.h b/src/s1ap/asn1c/asnGenFiles/SONInformationRequest.h
new file mode 100644
index 0000000..19277f3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SONInformationRequest.h
@@ -0,0 +1,58 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SONInformationRequest_H_
+#define	_SONInformationRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum SONInformationRequest {
+	SONInformationRequest_x2TNL_Configuration_Info	= 0,
+	/*
+	 * Enumeration is extensible
+	 */
+	SONInformationRequest_time_Synchronisation_Info	= 1,
+	SONInformationRequest_activate_Muting	= 2,
+	SONInformationRequest_deactivate_Muting	= 3
+} e_SONInformationRequest;
+
+/* SONInformationRequest */
+typedef long	 SONInformationRequest_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_SONInformationRequest_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_SONInformationRequest;
+extern const asn_INTEGER_specifics_t asn_SPC_SONInformationRequest_specs_1;
+asn_struct_free_f SONInformationRequest_free;
+asn_struct_print_f SONInformationRequest_print;
+asn_constr_check_f SONInformationRequest_constraint;
+ber_type_decoder_f SONInformationRequest_decode_ber;
+der_type_encoder_f SONInformationRequest_encode_der;
+xer_type_decoder_f SONInformationRequest_decode_xer;
+xer_type_encoder_f SONInformationRequest_encode_xer;
+oer_type_decoder_f SONInformationRequest_decode_oer;
+oer_type_encoder_f SONInformationRequest_encode_oer;
+per_type_decoder_f SONInformationRequest_decode_uper;
+per_type_encoder_f SONInformationRequest_encode_uper;
+per_type_decoder_f SONInformationRequest_decode_aper;
+per_type_encoder_f SONInformationRequest_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SONInformationRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SRVCCHOIndication.h b/src/s1ap/asn1c/asnGenFiles/SRVCCHOIndication.h
new file mode 100644
index 0000000..5974ebe
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SRVCCHOIndication.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SRVCCHOIndication_H_
+#define	_SRVCCHOIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum SRVCCHOIndication {
+	SRVCCHOIndication_pSandCS	= 0,
+	SRVCCHOIndication_cSonly	= 1
+	/*
+	 * Enumeration is extensible
+	 */
+} e_SRVCCHOIndication;
+
+/* SRVCCHOIndication */
+typedef long	 SRVCCHOIndication_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_SRVCCHOIndication_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_SRVCCHOIndication;
+extern const asn_INTEGER_specifics_t asn_SPC_SRVCCHOIndication_specs_1;
+asn_struct_free_f SRVCCHOIndication_free;
+asn_struct_print_f SRVCCHOIndication_print;
+asn_constr_check_f SRVCCHOIndication_constraint;
+ber_type_decoder_f SRVCCHOIndication_decode_ber;
+der_type_encoder_f SRVCCHOIndication_encode_der;
+xer_type_decoder_f SRVCCHOIndication_decode_xer;
+xer_type_encoder_f SRVCCHOIndication_encode_xer;
+oer_type_decoder_f SRVCCHOIndication_decode_oer;
+oer_type_encoder_f SRVCCHOIndication_encode_oer;
+per_type_decoder_f SRVCCHOIndication_decode_uper;
+per_type_encoder_f SRVCCHOIndication_encode_uper;
+per_type_decoder_f SRVCCHOIndication_decode_aper;
+per_type_encoder_f SRVCCHOIndication_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SRVCCHOIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SRVCCOperationNotPossible.h b/src/s1ap/asn1c/asnGenFiles/SRVCCOperationNotPossible.h
new file mode 100644
index 0000000..33e231a
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SRVCCOperationNotPossible.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SRVCCOperationNotPossible_H_
+#define	_SRVCCOperationNotPossible_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum SRVCCOperationNotPossible {
+	SRVCCOperationNotPossible_notPossible	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_SRVCCOperationNotPossible;
+
+/* SRVCCOperationNotPossible */
+typedef long	 SRVCCOperationNotPossible_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_SRVCCOperationNotPossible_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_SRVCCOperationNotPossible;
+extern const asn_INTEGER_specifics_t asn_SPC_SRVCCOperationNotPossible_specs_1;
+asn_struct_free_f SRVCCOperationNotPossible_free;
+asn_struct_print_f SRVCCOperationNotPossible_print;
+asn_constr_check_f SRVCCOperationNotPossible_constraint;
+ber_type_decoder_f SRVCCOperationNotPossible_decode_ber;
+der_type_encoder_f SRVCCOperationNotPossible_encode_der;
+xer_type_decoder_f SRVCCOperationNotPossible_decode_xer;
+xer_type_encoder_f SRVCCOperationNotPossible_encode_xer;
+oer_type_decoder_f SRVCCOperationNotPossible_decode_oer;
+oer_type_encoder_f SRVCCOperationNotPossible_encode_oer;
+per_type_decoder_f SRVCCOperationNotPossible_decode_uper;
+per_type_encoder_f SRVCCOperationNotPossible_encode_uper;
+per_type_decoder_f SRVCCOperationNotPossible_decode_aper;
+per_type_encoder_f SRVCCOperationNotPossible_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SRVCCOperationNotPossible_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SRVCCOperationPossible.h b/src/s1ap/asn1c/asnGenFiles/SRVCCOperationPossible.h
new file mode 100644
index 0000000..d22751a
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SRVCCOperationPossible.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SRVCCOperationPossible_H_
+#define	_SRVCCOperationPossible_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum SRVCCOperationPossible {
+	SRVCCOperationPossible_possible	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_SRVCCOperationPossible;
+
+/* SRVCCOperationPossible */
+typedef long	 SRVCCOperationPossible_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_SRVCCOperationPossible_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_SRVCCOperationPossible;
+extern const asn_INTEGER_specifics_t asn_SPC_SRVCCOperationPossible_specs_1;
+asn_struct_free_f SRVCCOperationPossible_free;
+asn_struct_print_f SRVCCOperationPossible_print;
+asn_constr_check_f SRVCCOperationPossible_constraint;
+ber_type_decoder_f SRVCCOperationPossible_decode_ber;
+der_type_encoder_f SRVCCOperationPossible_encode_der;
+xer_type_decoder_f SRVCCOperationPossible_decode_xer;
+xer_type_encoder_f SRVCCOperationPossible_encode_xer;
+oer_type_decoder_f SRVCCOperationPossible_decode_oer;
+oer_type_encoder_f SRVCCOperationPossible_encode_oer;
+per_type_decoder_f SRVCCOperationPossible_decode_uper;
+per_type_encoder_f SRVCCOperationPossible_encode_uper;
+per_type_decoder_f SRVCCOperationPossible_decode_aper;
+per_type_encoder_f SRVCCOperationPossible_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SRVCCOperationPossible_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ScheduledCommunicationTime.h b/src/s1ap/asn1c/asnGenFiles/ScheduledCommunicationTime.h
new file mode 100644
index 0000000..ddaf156
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ScheduledCommunicationTime.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ScheduledCommunicationTime_H_
+#define	_ScheduledCommunicationTime_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+#include <NativeInteger.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* ScheduledCommunicationTime */
+typedef struct ScheduledCommunicationTime {
+	BIT_STRING_t	*dayofWeek;	/* OPTIONAL */
+	long	*timeofDayStart;	/* OPTIONAL */
+	long	*timeofDayEnd;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ScheduledCommunicationTime_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ScheduledCommunicationTime;
+extern asn_SEQUENCE_specifics_t asn_SPC_ScheduledCommunicationTime_specs_1;
+extern asn_TYPE_member_t asn_MBR_ScheduledCommunicationTime_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ScheduledCommunicationTime_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SecondaryRATDataUsageReport.h b/src/s1ap/asn1c/asnGenFiles/SecondaryRATDataUsageReport.h
new file mode 100644
index 0000000..692dab0
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SecondaryRATDataUsageReport.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SecondaryRATDataUsageReport_H_
+#define	_SecondaryRATDataUsageReport_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* SecondaryRATDataUsageReport */
+typedef struct SecondaryRATDataUsageReport {
+	ProtocolIE_Container_129P91_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} SecondaryRATDataUsageReport_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SecondaryRATDataUsageReport;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SecondaryRATDataUsageReport_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SecondaryRATDataUsageReportItem.h b/src/s1ap/asn1c/asnGenFiles/SecondaryRATDataUsageReportItem.h
new file mode 100644
index 0000000..2ec4a3a
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SecondaryRATDataUsageReportItem.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SecondaryRATDataUsageReportItem_H_
+#define	_SecondaryRATDataUsageReportItem_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-RAB-ID.h"
+#include "SecondaryRATType.h"
+#include "E-RABUsageReportList.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* SecondaryRATDataUsageReportItem */
+typedef struct SecondaryRATDataUsageReportItem {
+	E_RAB_ID_t	 e_RAB_ID;
+	SecondaryRATType_t	 secondaryRATType;
+	E_RABUsageReportList_t	 e_RABUsageReportList;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} SecondaryRATDataUsageReportItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SecondaryRATDataUsageReportItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_SecondaryRATDataUsageReportItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_SecondaryRATDataUsageReportItem_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SecondaryRATDataUsageReportItem_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SecondaryRATDataUsageReportList.h b/src/s1ap/asn1c/asnGenFiles/SecondaryRATDataUsageReportList.h
new file mode 100644
index 0000000..caefb64
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SecondaryRATDataUsageReportList.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SecondaryRATDataUsageReportList_H_
+#define	_SecondaryRATDataUsageReportList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* SecondaryRATDataUsageReportList */
+typedef struct SecondaryRATDataUsageReportList {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} SecondaryRATDataUsageReportList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SecondaryRATDataUsageReportList;
+extern asn_SET_OF_specifics_t asn_SPC_SecondaryRATDataUsageReportList_specs_1;
+extern asn_TYPE_member_t asn_MBR_SecondaryRATDataUsageReportList_1[1];
+extern asn_per_constraints_t asn_PER_type_SecondaryRATDataUsageReportList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SecondaryRATDataUsageReportList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SecondaryRATDataUsageRequest.h b/src/s1ap/asn1c/asnGenFiles/SecondaryRATDataUsageRequest.h
new file mode 100644
index 0000000..bf5830d
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SecondaryRATDataUsageRequest.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SecondaryRATDataUsageRequest_H_
+#define	_SecondaryRATDataUsageRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum SecondaryRATDataUsageRequest {
+	SecondaryRATDataUsageRequest_requested	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_SecondaryRATDataUsageRequest;
+
+/* SecondaryRATDataUsageRequest */
+typedef long	 SecondaryRATDataUsageRequest_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_SecondaryRATDataUsageRequest_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_SecondaryRATDataUsageRequest;
+extern const asn_INTEGER_specifics_t asn_SPC_SecondaryRATDataUsageRequest_specs_1;
+asn_struct_free_f SecondaryRATDataUsageRequest_free;
+asn_struct_print_f SecondaryRATDataUsageRequest_print;
+asn_constr_check_f SecondaryRATDataUsageRequest_constraint;
+ber_type_decoder_f SecondaryRATDataUsageRequest_decode_ber;
+der_type_encoder_f SecondaryRATDataUsageRequest_encode_der;
+xer_type_decoder_f SecondaryRATDataUsageRequest_decode_xer;
+xer_type_encoder_f SecondaryRATDataUsageRequest_encode_xer;
+oer_type_decoder_f SecondaryRATDataUsageRequest_decode_oer;
+oer_type_encoder_f SecondaryRATDataUsageRequest_encode_oer;
+per_type_decoder_f SecondaryRATDataUsageRequest_decode_uper;
+per_type_encoder_f SecondaryRATDataUsageRequest_encode_uper;
+per_type_decoder_f SecondaryRATDataUsageRequest_decode_aper;
+per_type_encoder_f SecondaryRATDataUsageRequest_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SecondaryRATDataUsageRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SecondaryRATType.h b/src/s1ap/asn1c/asnGenFiles/SecondaryRATType.h
new file mode 100644
index 0000000..30d5ebe
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SecondaryRATType.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SecondaryRATType_H_
+#define	_SecondaryRATType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum SecondaryRATType {
+	SecondaryRATType_nR	= 0,
+	/*
+	 * Enumeration is extensible
+	 */
+	SecondaryRATType_unlicensed	= 1
+} e_SecondaryRATType;
+
+/* SecondaryRATType */
+typedef long	 SecondaryRATType_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_SecondaryRATType_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_SecondaryRATType;
+extern const asn_INTEGER_specifics_t asn_SPC_SecondaryRATType_specs_1;
+asn_struct_free_f SecondaryRATType_free;
+asn_struct_print_f SecondaryRATType_print;
+asn_constr_check_f SecondaryRATType_constraint;
+ber_type_decoder_f SecondaryRATType_decode_ber;
+der_type_encoder_f SecondaryRATType_encode_der;
+xer_type_decoder_f SecondaryRATType_decode_xer;
+xer_type_encoder_f SecondaryRATType_encode_xer;
+oer_type_decoder_f SecondaryRATType_decode_oer;
+oer_type_encoder_f SecondaryRATType_encode_oer;
+per_type_decoder_f SecondaryRATType_decode_uper;
+per_type_encoder_f SecondaryRATType_encode_uper;
+per_type_decoder_f SecondaryRATType_decode_aper;
+per_type_encoder_f SecondaryRATType_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SecondaryRATType_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SecurityContext.h b/src/s1ap/asn1c/asnGenFiles/SecurityContext.h
new file mode 100644
index 0000000..37b759b
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SecurityContext.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SecurityContext_H_
+#define	_SecurityContext_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+#include "SecurityKey.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* SecurityContext */
+typedef struct SecurityContext {
+	long	 nextHopChainingCount;
+	SecurityKey_t	 nextHopParameter;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} SecurityContext_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SecurityContext;
+extern asn_SEQUENCE_specifics_t asn_SPC_SecurityContext_specs_1;
+extern asn_TYPE_member_t asn_MBR_SecurityContext_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SecurityContext_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SecurityKey.h b/src/s1ap/asn1c/asnGenFiles/SecurityKey.h
new file mode 100644
index 0000000..cec9491
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SecurityKey.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SecurityKey_H_
+#define	_SecurityKey_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* SecurityKey */
+typedef BIT_STRING_t	 SecurityKey_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_SecurityKey_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_SecurityKey;
+asn_struct_free_f SecurityKey_free;
+asn_struct_print_f SecurityKey_print;
+asn_constr_check_f SecurityKey_constraint;
+ber_type_decoder_f SecurityKey_decode_ber;
+der_type_encoder_f SecurityKey_encode_der;
+xer_type_decoder_f SecurityKey_decode_xer;
+xer_type_encoder_f SecurityKey_encode_xer;
+oer_type_decoder_f SecurityKey_decode_oer;
+oer_type_encoder_f SecurityKey_encode_oer;
+per_type_decoder_f SecurityKey_decode_uper;
+per_type_encoder_f SecurityKey_encode_uper;
+per_type_decoder_f SecurityKey_decode_aper;
+per_type_encoder_f SecurityKey_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SecurityKey_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SerialNumber.h b/src/s1ap/asn1c/asnGenFiles/SerialNumber.h
new file mode 100644
index 0000000..11260c4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SerialNumber.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SerialNumber_H_
+#define	_SerialNumber_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* SerialNumber */
+typedef BIT_STRING_t	 SerialNumber_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_SerialNumber_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_SerialNumber;
+asn_struct_free_f SerialNumber_free;
+asn_struct_print_f SerialNumber_print;
+asn_constr_check_f SerialNumber_constraint;
+ber_type_decoder_f SerialNumber_decode_ber;
+der_type_encoder_f SerialNumber_encode_der;
+xer_type_decoder_f SerialNumber_decode_xer;
+xer_type_encoder_f SerialNumber_encode_xer;
+oer_type_decoder_f SerialNumber_decode_oer;
+oer_type_encoder_f SerialNumber_encode_oer;
+per_type_decoder_f SerialNumber_decode_uper;
+per_type_encoder_f SerialNumber_encode_uper;
+per_type_decoder_f SerialNumber_decode_aper;
+per_type_encoder_f SerialNumber_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SerialNumber_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ServedDCNs.h b/src/s1ap/asn1c/asnGenFiles/ServedDCNs.h
new file mode 100644
index 0000000..27c539e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ServedDCNs.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ServedDCNs_H_
+#define	_ServedDCNs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ServedDCNsItem;
+
+/* ServedDCNs */
+typedef struct ServedDCNs {
+	A_SEQUENCE_OF(struct ServedDCNsItem) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ServedDCNs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ServedDCNs;
+extern asn_SET_OF_specifics_t asn_SPC_ServedDCNs_specs_1;
+extern asn_TYPE_member_t asn_MBR_ServedDCNs_1[1];
+extern asn_per_constraints_t asn_PER_type_ServedDCNs_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ServedDCNs_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ServedDCNsItem.h b/src/s1ap/asn1c/asnGenFiles/ServedDCNsItem.h
new file mode 100644
index 0000000..cbead31
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ServedDCNsItem.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ServedDCNsItem_H_
+#define	_ServedDCNsItem_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "DCN-ID.h"
+#include "RelativeMMECapacity.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* ServedDCNsItem */
+typedef struct ServedDCNsItem {
+	DCN_ID_t	 dCN_ID;
+	RelativeMMECapacity_t	 relativeDCNCapacity;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ServedDCNsItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ServedDCNsItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_ServedDCNsItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_ServedDCNsItem_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ServedDCNsItem_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ServedGUMMEIs.h b/src/s1ap/asn1c/asnGenFiles/ServedGUMMEIs.h
new file mode 100644
index 0000000..6b1551a
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ServedGUMMEIs.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ServedGUMMEIs_H_
+#define	_ServedGUMMEIs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ServedGUMMEIsItem;
+
+/* ServedGUMMEIs */
+typedef struct ServedGUMMEIs {
+	A_SEQUENCE_OF(struct ServedGUMMEIsItem) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ServedGUMMEIs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ServedGUMMEIs;
+extern asn_SET_OF_specifics_t asn_SPC_ServedGUMMEIs_specs_1;
+extern asn_TYPE_member_t asn_MBR_ServedGUMMEIs_1[1];
+extern asn_per_constraints_t asn_PER_type_ServedGUMMEIs_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ServedGUMMEIs_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ServedGUMMEIsItem.h b/src/s1ap/asn1c/asnGenFiles/ServedGUMMEIsItem.h
new file mode 100644
index 0000000..dece863
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ServedGUMMEIsItem.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ServedGUMMEIsItem_H_
+#define	_ServedGUMMEIsItem_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ServedPLMNs.h"
+#include "ServedGroupIDs.h"
+#include "ServedMMECs.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* ServedGUMMEIsItem */
+typedef struct ServedGUMMEIsItem {
+	ServedPLMNs_t	 servedPLMNs;
+	ServedGroupIDs_t	 servedGroupIDs;
+	ServedMMECs_t	 servedMMECs;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ServedGUMMEIsItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ServedGUMMEIsItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_ServedGUMMEIsItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_ServedGUMMEIsItem_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ServedGUMMEIsItem_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ServedGroupIDs.h b/src/s1ap/asn1c/asnGenFiles/ServedGroupIDs.h
new file mode 100644
index 0000000..5b5cfdc
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ServedGroupIDs.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ServedGroupIDs_H_
+#define	_ServedGroupIDs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "MME-Group-ID.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ServedGroupIDs */
+typedef struct ServedGroupIDs {
+	A_SEQUENCE_OF(MME_Group_ID_t) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ServedGroupIDs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ServedGroupIDs;
+extern asn_SET_OF_specifics_t asn_SPC_ServedGroupIDs_specs_1;
+extern asn_TYPE_member_t asn_MBR_ServedGroupIDs_1[1];
+extern asn_per_constraints_t asn_PER_type_ServedGroupIDs_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ServedGroupIDs_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ServedMMECs.h b/src/s1ap/asn1c/asnGenFiles/ServedMMECs.h
new file mode 100644
index 0000000..17b8f0b
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ServedMMECs.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ServedMMECs_H_
+#define	_ServedMMECs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "MME-Code.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ServedMMECs */
+typedef struct ServedMMECs {
+	A_SEQUENCE_OF(MME_Code_t) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ServedMMECs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ServedMMECs;
+extern asn_SET_OF_specifics_t asn_SPC_ServedMMECs_specs_1;
+extern asn_TYPE_member_t asn_MBR_ServedMMECs_1[1];
+extern asn_per_constraints_t asn_PER_type_ServedMMECs_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ServedMMECs_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ServedPLMNs.h b/src/s1ap/asn1c/asnGenFiles/ServedPLMNs.h
new file mode 100644
index 0000000..1b9f890
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ServedPLMNs.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ServedPLMNs_H_
+#define	_ServedPLMNs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PLMNidentity.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ServedPLMNs */
+typedef struct ServedPLMNs {
+	A_SEQUENCE_OF(PLMNidentity_t) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ServedPLMNs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ServedPLMNs;
+extern asn_SET_OF_specifics_t asn_SPC_ServedPLMNs_specs_1;
+extern asn_TYPE_member_t asn_MBR_ServedPLMNs_1[1];
+extern asn_per_constraints_t asn_PER_type_ServedPLMNs_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ServedPLMNs_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/ServiceType.h b/src/s1ap/asn1c/asnGenFiles/ServiceType.h
new file mode 100644
index 0000000..f1a2210
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ServiceType.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_ServiceType_H_
+#define	_ServiceType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum ServiceType {
+	ServiceType_qMC_for_streaming_service	= 0,
+	ServiceType_qMC_for_MTSI_service	= 1
+	/*
+	 * Enumeration is extensible
+	 */
+} e_ServiceType;
+
+/* ServiceType */
+typedef long	 ServiceType_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_ServiceType_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ServiceType;
+extern const asn_INTEGER_specifics_t asn_SPC_ServiceType_specs_1;
+asn_struct_free_f ServiceType_free;
+asn_struct_print_f ServiceType_print;
+asn_constr_check_f ServiceType_constraint;
+ber_type_decoder_f ServiceType_decode_ber;
+der_type_encoder_f ServiceType_encode_der;
+xer_type_decoder_f ServiceType_decode_xer;
+xer_type_encoder_f ServiceType_encode_xer;
+oer_type_decoder_f ServiceType_decode_oer;
+oer_type_encoder_f ServiceType_encode_oer;
+per_type_decoder_f ServiceType_decode_uper;
+per_type_encoder_f ServiceType_encode_uper;
+per_type_decoder_f ServiceType_decode_aper;
+per_type_encoder_f ServiceType_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ServiceType_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Source-ToTarget-TransparentContainer.h b/src/s1ap/asn1c/asnGenFiles/Source-ToTarget-TransparentContainer.h
new file mode 100644
index 0000000..1822e67
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Source-ToTarget-TransparentContainer.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Source_ToTarget_TransparentContainer_H_
+#define	_Source_ToTarget_TransparentContainer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Source-ToTarget-TransparentContainer */
+typedef OCTET_STRING_t	 Source_ToTarget_TransparentContainer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Source_ToTarget_TransparentContainer;
+asn_struct_free_f Source_ToTarget_TransparentContainer_free;
+asn_struct_print_f Source_ToTarget_TransparentContainer_print;
+asn_constr_check_f Source_ToTarget_TransparentContainer_constraint;
+ber_type_decoder_f Source_ToTarget_TransparentContainer_decode_ber;
+der_type_encoder_f Source_ToTarget_TransparentContainer_encode_der;
+xer_type_decoder_f Source_ToTarget_TransparentContainer_decode_xer;
+xer_type_encoder_f Source_ToTarget_TransparentContainer_encode_xer;
+oer_type_decoder_f Source_ToTarget_TransparentContainer_decode_oer;
+oer_type_encoder_f Source_ToTarget_TransparentContainer_encode_oer;
+per_type_decoder_f Source_ToTarget_TransparentContainer_decode_uper;
+per_type_encoder_f Source_ToTarget_TransparentContainer_encode_uper;
+per_type_decoder_f Source_ToTarget_TransparentContainer_decode_aper;
+per_type_encoder_f Source_ToTarget_TransparentContainer_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Source_ToTarget_TransparentContainer_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SourceBSS-ToTargetBSS-TransparentContainer.h b/src/s1ap/asn1c/asnGenFiles/SourceBSS-ToTargetBSS-TransparentContainer.h
new file mode 100644
index 0000000..17cbebd
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SourceBSS-ToTargetBSS-TransparentContainer.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SourceBSS_ToTargetBSS_TransparentContainer_H_
+#define	_SourceBSS_ToTargetBSS_TransparentContainer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* SourceBSS-ToTargetBSS-TransparentContainer */
+typedef OCTET_STRING_t	 SourceBSS_ToTargetBSS_TransparentContainer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SourceBSS_ToTargetBSS_TransparentContainer;
+asn_struct_free_f SourceBSS_ToTargetBSS_TransparentContainer_free;
+asn_struct_print_f SourceBSS_ToTargetBSS_TransparentContainer_print;
+asn_constr_check_f SourceBSS_ToTargetBSS_TransparentContainer_constraint;
+ber_type_decoder_f SourceBSS_ToTargetBSS_TransparentContainer_decode_ber;
+der_type_encoder_f SourceBSS_ToTargetBSS_TransparentContainer_encode_der;
+xer_type_decoder_f SourceBSS_ToTargetBSS_TransparentContainer_decode_xer;
+xer_type_encoder_f SourceBSS_ToTargetBSS_TransparentContainer_encode_xer;
+oer_type_decoder_f SourceBSS_ToTargetBSS_TransparentContainer_decode_oer;
+oer_type_encoder_f SourceBSS_ToTargetBSS_TransparentContainer_encode_oer;
+per_type_decoder_f SourceBSS_ToTargetBSS_TransparentContainer_decode_uper;
+per_type_encoder_f SourceBSS_ToTargetBSS_TransparentContainer_encode_uper;
+per_type_decoder_f SourceBSS_ToTargetBSS_TransparentContainer_decode_aper;
+per_type_encoder_f SourceBSS_ToTargetBSS_TransparentContainer_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SourceBSS_ToTargetBSS_TransparentContainer_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SourceNgRanNode-ToTargetNgRanNode-TransparentContainer.h b/src/s1ap/asn1c/asnGenFiles/SourceNgRanNode-ToTargetNgRanNode-TransparentContainer.h
new file mode 100644
index 0000000..ce132bf
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SourceNgRanNode-ToTargetNgRanNode-TransparentContainer.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SourceNgRanNode_ToTargetNgRanNode_TransparentContainer_H_
+#define	_SourceNgRanNode_ToTargetNgRanNode_TransparentContainer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* SourceNgRanNode-ToTargetNgRanNode-TransparentContainer */
+typedef OCTET_STRING_t	 SourceNgRanNode_ToTargetNgRanNode_TransparentContainer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SourceNgRanNode_ToTargetNgRanNode_TransparentContainer;
+asn_struct_free_f SourceNgRanNode_ToTargetNgRanNode_TransparentContainer_free;
+asn_struct_print_f SourceNgRanNode_ToTargetNgRanNode_TransparentContainer_print;
+asn_constr_check_f SourceNgRanNode_ToTargetNgRanNode_TransparentContainer_constraint;
+ber_type_decoder_f SourceNgRanNode_ToTargetNgRanNode_TransparentContainer_decode_ber;
+der_type_encoder_f SourceNgRanNode_ToTargetNgRanNode_TransparentContainer_encode_der;
+xer_type_decoder_f SourceNgRanNode_ToTargetNgRanNode_TransparentContainer_decode_xer;
+xer_type_encoder_f SourceNgRanNode_ToTargetNgRanNode_TransparentContainer_encode_xer;
+oer_type_decoder_f SourceNgRanNode_ToTargetNgRanNode_TransparentContainer_decode_oer;
+oer_type_encoder_f SourceNgRanNode_ToTargetNgRanNode_TransparentContainer_encode_oer;
+per_type_decoder_f SourceNgRanNode_ToTargetNgRanNode_TransparentContainer_decode_uper;
+per_type_encoder_f SourceNgRanNode_ToTargetNgRanNode_TransparentContainer_encode_uper;
+per_type_decoder_f SourceNgRanNode_ToTargetNgRanNode_TransparentContainer_decode_aper;
+per_type_encoder_f SourceNgRanNode_ToTargetNgRanNode_TransparentContainer_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SourceNgRanNode_ToTargetNgRanNode_TransparentContainer_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SourceOfUEActivityBehaviourInformation.h b/src/s1ap/asn1c/asnGenFiles/SourceOfUEActivityBehaviourInformation.h
new file mode 100644
index 0000000..9f5ef9e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SourceOfUEActivityBehaviourInformation.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SourceOfUEActivityBehaviourInformation_H_
+#define	_SourceOfUEActivityBehaviourInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum SourceOfUEActivityBehaviourInformation {
+	SourceOfUEActivityBehaviourInformation_subscription_information	= 0,
+	SourceOfUEActivityBehaviourInformation_statistics	= 1
+	/*
+	 * Enumeration is extensible
+	 */
+} e_SourceOfUEActivityBehaviourInformation;
+
+/* SourceOfUEActivityBehaviourInformation */
+typedef long	 SourceOfUEActivityBehaviourInformation_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_SourceOfUEActivityBehaviourInformation_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_SourceOfUEActivityBehaviourInformation;
+extern const asn_INTEGER_specifics_t asn_SPC_SourceOfUEActivityBehaviourInformation_specs_1;
+asn_struct_free_f SourceOfUEActivityBehaviourInformation_free;
+asn_struct_print_f SourceOfUEActivityBehaviourInformation_print;
+asn_constr_check_f SourceOfUEActivityBehaviourInformation_constraint;
+ber_type_decoder_f SourceOfUEActivityBehaviourInformation_decode_ber;
+der_type_encoder_f SourceOfUEActivityBehaviourInformation_encode_der;
+xer_type_decoder_f SourceOfUEActivityBehaviourInformation_decode_xer;
+xer_type_encoder_f SourceOfUEActivityBehaviourInformation_encode_xer;
+oer_type_decoder_f SourceOfUEActivityBehaviourInformation_decode_oer;
+oer_type_encoder_f SourceOfUEActivityBehaviourInformation_encode_oer;
+per_type_decoder_f SourceOfUEActivityBehaviourInformation_decode_uper;
+per_type_encoder_f SourceOfUEActivityBehaviourInformation_encode_uper;
+per_type_decoder_f SourceOfUEActivityBehaviourInformation_decode_aper;
+per_type_encoder_f SourceOfUEActivityBehaviourInformation_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SourceOfUEActivityBehaviourInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SourceRNC-ToTargetRNC-TransparentContainer.h b/src/s1ap/asn1c/asnGenFiles/SourceRNC-ToTargetRNC-TransparentContainer.h
new file mode 100644
index 0000000..090636f
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SourceRNC-ToTargetRNC-TransparentContainer.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SourceRNC_ToTargetRNC_TransparentContainer_H_
+#define	_SourceRNC_ToTargetRNC_TransparentContainer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* SourceRNC-ToTargetRNC-TransparentContainer */
+typedef OCTET_STRING_t	 SourceRNC_ToTargetRNC_TransparentContainer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SourceRNC_ToTargetRNC_TransparentContainer;
+asn_struct_free_f SourceRNC_ToTargetRNC_TransparentContainer_free;
+asn_struct_print_f SourceRNC_ToTargetRNC_TransparentContainer_print;
+asn_constr_check_f SourceRNC_ToTargetRNC_TransparentContainer_constraint;
+ber_type_decoder_f SourceRNC_ToTargetRNC_TransparentContainer_decode_ber;
+der_type_encoder_f SourceRNC_ToTargetRNC_TransparentContainer_encode_der;
+xer_type_decoder_f SourceRNC_ToTargetRNC_TransparentContainer_decode_xer;
+xer_type_encoder_f SourceRNC_ToTargetRNC_TransparentContainer_encode_xer;
+oer_type_decoder_f SourceRNC_ToTargetRNC_TransparentContainer_decode_oer;
+oer_type_encoder_f SourceRNC_ToTargetRNC_TransparentContainer_encode_oer;
+per_type_decoder_f SourceRNC_ToTargetRNC_TransparentContainer_decode_uper;
+per_type_encoder_f SourceRNC_ToTargetRNC_TransparentContainer_encode_uper;
+per_type_decoder_f SourceRNC_ToTargetRNC_TransparentContainer_decode_aper;
+per_type_encoder_f SourceRNC_ToTargetRNC_TransparentContainer_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SourceRNC_ToTargetRNC_TransparentContainer_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SourceeNB-ID.h b/src/s1ap/asn1c/asnGenFiles/SourceeNB-ID.h
new file mode 100644
index 0000000..6508fe4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SourceeNB-ID.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SourceeNB_ID_H_
+#define	_SourceeNB_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "Global-ENB-ID.h"
+#include "TAI.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* SourceeNB-ID */
+typedef struct SourceeNB_ID {
+	Global_ENB_ID_t	 global_ENB_ID;
+	TAI_t	 selected_TAI;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} SourceeNB_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SourceeNB_ID;
+extern asn_SEQUENCE_specifics_t asn_SPC_SourceeNB_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_SourceeNB_ID_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SourceeNB_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SourceeNB-ToTargeteNB-TransparentContainer.h b/src/s1ap/asn1c/asnGenFiles/SourceeNB-ToTargeteNB-TransparentContainer.h
new file mode 100644
index 0000000..b445ff4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SourceeNB-ToTargeteNB-TransparentContainer.h
@@ -0,0 +1,54 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SourceeNB_ToTargeteNB_TransparentContainer_H_
+#define	_SourceeNB_ToTargeteNB_TransparentContainer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RRC-Container.h"
+#include "EUTRAN-CGI.h"
+#include "SubscriberProfileIDforRFP.h"
+#include "UE-HistoryInformation.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct E_RABInformationList;
+struct ProtocolExtensionContainer;
+
+/* SourceeNB-ToTargeteNB-TransparentContainer */
+typedef struct SourceeNB_ToTargeteNB_TransparentContainer {
+	RRC_Container_t	 rRC_Container;
+	struct E_RABInformationList	*e_RABInformationList;	/* OPTIONAL */
+	EUTRAN_CGI_t	 targetCell_ID;
+	SubscriberProfileIDforRFP_t	*subscriberProfileIDforRFP;	/* OPTIONAL */
+	UE_HistoryInformation_t	 uE_HistoryInformation;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} SourceeNB_ToTargeteNB_TransparentContainer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SourceeNB_ToTargeteNB_TransparentContainer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SourceeNB_ToTargeteNB_TransparentContainer_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/StratumLevel.h b/src/s1ap/asn1c/asnGenFiles/StratumLevel.h
new file mode 100644
index 0000000..dfa38f2
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/StratumLevel.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_StratumLevel_H_
+#define	_StratumLevel_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* StratumLevel */
+typedef long	 StratumLevel_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_StratumLevel_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_StratumLevel;
+asn_struct_free_f StratumLevel_free;
+asn_struct_print_f StratumLevel_print;
+asn_constr_check_f StratumLevel_constraint;
+ber_type_decoder_f StratumLevel_decode_ber;
+der_type_encoder_f StratumLevel_encode_der;
+xer_type_decoder_f StratumLevel_decode_xer;
+xer_type_encoder_f StratumLevel_encode_xer;
+oer_type_decoder_f StratumLevel_decode_oer;
+oer_type_encoder_f StratumLevel_encode_oer;
+per_type_decoder_f StratumLevel_decode_uper;
+per_type_encoder_f StratumLevel_encode_uper;
+per_type_decoder_f StratumLevel_decode_aper;
+per_type_encoder_f StratumLevel_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _StratumLevel_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SubscriberProfileIDforRFP.h b/src/s1ap/asn1c/asnGenFiles/SubscriberProfileIDforRFP.h
new file mode 100644
index 0000000..78b5e02
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SubscriberProfileIDforRFP.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SubscriberProfileIDforRFP_H_
+#define	_SubscriberProfileIDforRFP_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* SubscriberProfileIDforRFP */
+typedef long	 SubscriberProfileIDforRFP_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_SubscriberProfileIDforRFP_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_SubscriberProfileIDforRFP;
+asn_struct_free_f SubscriberProfileIDforRFP_free;
+asn_struct_print_f SubscriberProfileIDforRFP_print;
+asn_constr_check_f SubscriberProfileIDforRFP_constraint;
+ber_type_decoder_f SubscriberProfileIDforRFP_decode_ber;
+der_type_encoder_f SubscriberProfileIDforRFP_encode_der;
+xer_type_decoder_f SubscriberProfileIDforRFP_decode_xer;
+xer_type_encoder_f SubscriberProfileIDforRFP_encode_xer;
+oer_type_decoder_f SubscriberProfileIDforRFP_decode_oer;
+oer_type_encoder_f SubscriberProfileIDforRFP_encode_oer;
+per_type_decoder_f SubscriberProfileIDforRFP_decode_uper;
+per_type_encoder_f SubscriberProfileIDforRFP_encode_uper;
+per_type_decoder_f SubscriberProfileIDforRFP_decode_aper;
+per_type_encoder_f SubscriberProfileIDforRFP_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SubscriberProfileIDforRFP_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Subscription-Based-UE-DifferentiationInfo.h b/src/s1ap/asn1c/asnGenFiles/Subscription-Based-UE-DifferentiationInfo.h
new file mode 100644
index 0000000..c2bd2c8
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Subscription-Based-UE-DifferentiationInfo.h
@@ -0,0 +1,91 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Subscription_Based_UE_DifferentiationInfo_H_
+#define	_Subscription_Based_UE_DifferentiationInfo_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+#include <NativeInteger.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum Subscription_Based_UE_DifferentiationInfo__periodicCommunicationIndicator {
+	Subscription_Based_UE_DifferentiationInfo__periodicCommunicationIndicator_periodically	= 0,
+	Subscription_Based_UE_DifferentiationInfo__periodicCommunicationIndicator_ondemand	= 1
+	/*
+	 * Enumeration is extensible
+	 */
+} e_Subscription_Based_UE_DifferentiationInfo__periodicCommunicationIndicator;
+typedef enum Subscription_Based_UE_DifferentiationInfo__stationaryIndication {
+	Subscription_Based_UE_DifferentiationInfo__stationaryIndication_stationary	= 0,
+	Subscription_Based_UE_DifferentiationInfo__stationaryIndication_mobile	= 1
+	/*
+	 * Enumeration is extensible
+	 */
+} e_Subscription_Based_UE_DifferentiationInfo__stationaryIndication;
+typedef enum Subscription_Based_UE_DifferentiationInfo__trafficProfile {
+	Subscription_Based_UE_DifferentiationInfo__trafficProfile_single_packet	= 0,
+	Subscription_Based_UE_DifferentiationInfo__trafficProfile_dual_packets	= 1,
+	Subscription_Based_UE_DifferentiationInfo__trafficProfile_multiple_packets	= 2
+	/*
+	 * Enumeration is extensible
+	 */
+} e_Subscription_Based_UE_DifferentiationInfo__trafficProfile;
+typedef enum Subscription_Based_UE_DifferentiationInfo__batteryIndication {
+	Subscription_Based_UE_DifferentiationInfo__batteryIndication_battery_powered	= 0,
+	Subscription_Based_UE_DifferentiationInfo__batteryIndication_battery_powered_not_rechargeable_or_replaceable	= 1,
+	Subscription_Based_UE_DifferentiationInfo__batteryIndication_not_battery_powered	= 2
+	/*
+	 * Enumeration is extensible
+	 */
+} e_Subscription_Based_UE_DifferentiationInfo__batteryIndication;
+
+/* Forward declarations */
+struct ScheduledCommunicationTime;
+struct ProtocolExtensionContainer;
+
+/* Subscription-Based-UE-DifferentiationInfo */
+typedef struct Subscription_Based_UE_DifferentiationInfo {
+	long	*periodicCommunicationIndicator;	/* OPTIONAL */
+	long	*periodicTime;	/* OPTIONAL */
+	struct ScheduledCommunicationTime	*scheduledCommunicationTime;	/* OPTIONAL */
+	long	*stationaryIndication;	/* OPTIONAL */
+	long	*trafficProfile;	/* OPTIONAL */
+	long	*batteryIndication;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} Subscription_Based_UE_DifferentiationInfo_t;
+
+/* Implementation */
+/* extern asn_TYPE_descriptor_t asn_DEF_periodicCommunicationIndicator_2;	// (Use -fall-defs-global to expose) */
+/* extern asn_TYPE_descriptor_t asn_DEF_stationaryIndication_8;	// (Use -fall-defs-global to expose) */
+/* extern asn_TYPE_descriptor_t asn_DEF_trafficProfile_12;	// (Use -fall-defs-global to expose) */
+/* extern asn_TYPE_descriptor_t asn_DEF_batteryIndication_17;	// (Use -fall-defs-global to expose) */
+extern asn_TYPE_descriptor_t asn_DEF_Subscription_Based_UE_DifferentiationInfo;
+extern asn_SEQUENCE_specifics_t asn_SPC_Subscription_Based_UE_DifferentiationInfo_specs_1;
+extern asn_TYPE_member_t asn_MBR_Subscription_Based_UE_DifferentiationInfo_1[7];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Subscription_Based_UE_DifferentiationInfo_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SuccessfulOutcome.h b/src/s1ap/asn1c/asnGenFiles/SuccessfulOutcome.h
new file mode 100644
index 0000000..08a069d
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SuccessfulOutcome.h
@@ -0,0 +1,194 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Descriptions"
+ * 	found in "./asn1c/S1AP-PDU-Descriptions.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SuccessfulOutcome_H_
+#define	_SuccessfulOutcome_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProcedureCode.h"
+#include "Criticality.h"
+#include <ANY.h>
+#include <asn_ioc.h>
+#include "HandoverRequired.h"
+#include "HandoverCommand.h"
+#include "HandoverPreparationFailure.h"
+#include "HandoverRequest.h"
+#include "HandoverRequestAcknowledge.h"
+#include "HandoverFailure.h"
+#include "PathSwitchRequest.h"
+#include "PathSwitchRequestAcknowledge.h"
+#include "PathSwitchRequestFailure.h"
+#include "E-RABSetupRequest.h"
+#include "E-RABSetupResponse.h"
+#include "E-RABModifyRequest.h"
+#include "E-RABModifyResponse.h"
+#include "E-RABReleaseCommand.h"
+#include "E-RABReleaseResponse.h"
+#include "InitialContextSetupRequest.h"
+#include "InitialContextSetupResponse.h"
+#include "InitialContextSetupFailure.h"
+#include "HandoverCancel.h"
+#include "HandoverCancelAcknowledge.h"
+#include "KillRequest.h"
+#include "KillResponse.h"
+#include "Reset.h"
+#include "ResetAcknowledge.h"
+#include "S1SetupRequest.h"
+#include "S1SetupResponse.h"
+#include "S1SetupFailure.h"
+#include "UEContextModificationRequest.h"
+#include "UEContextModificationResponse.h"
+#include "UEContextModificationFailure.h"
+#include "UEContextReleaseCommand.h"
+#include "UEContextReleaseComplete.h"
+#include "ENBConfigurationUpdate.h"
+#include "ENBConfigurationUpdateAcknowledge.h"
+#include "ENBConfigurationUpdateFailure.h"
+#include "MMEConfigurationUpdate.h"
+#include "MMEConfigurationUpdateAcknowledge.h"
+#include "MMEConfigurationUpdateFailure.h"
+#include "WriteReplaceWarningRequest.h"
+#include "WriteReplaceWarningResponse.h"
+#include "UERadioCapabilityMatchRequest.h"
+#include "UERadioCapabilityMatchResponse.h"
+#include "E-RABModificationIndication.h"
+#include "E-RABModificationConfirm.h"
+#include "UEContextModificationIndication.h"
+#include "UEContextModificationConfirm.h"
+#include "UEContextSuspendRequest.h"
+#include "UEContextSuspendResponse.h"
+#include "UEContextResumeRequest.h"
+#include "UEContextResumeResponse.h"
+#include "UEContextResumeFailure.h"
+#include "HandoverNotify.h"
+#include "E-RABReleaseIndication.h"
+#include "Paging.h"
+#include "DownlinkNASTransport.h"
+#include "InitialUEMessage.h"
+#include "UplinkNASTransport.h"
+#include "ErrorIndication.h"
+#include "NASNonDeliveryIndication.h"
+#include "UEContextReleaseRequest.h"
+#include "DownlinkS1cdma2000tunnelling.h"
+#include "UplinkS1cdma2000tunnelling.h"
+#include "UECapabilityInfoIndication.h"
+#include "ENBStatusTransfer.h"
+#include "MMEStatusTransfer.h"
+#include "DeactivateTrace.h"
+#include "TraceStart.h"
+#include "TraceFailureIndication.h"
+#include "CellTrafficTrace.h"
+#include "LocationReportingControl.h"
+#include "LocationReportingFailureIndication.h"
+#include "LocationReport.h"
+#include "OverloadStart.h"
+#include "OverloadStop.h"
+#include "ENBDirectInformationTransfer.h"
+#include "MMEDirectInformationTransfer.h"
+#include "ENBConfigurationTransfer.h"
+#include "MMEConfigurationTransfer.h"
+#include "PrivateMessage.h"
+#include "DownlinkUEAssociatedLPPaTransport.h"
+#include "UplinkUEAssociatedLPPaTransport.h"
+#include "DownlinkNonUEAssociatedLPPaTransport.h"
+#include "UplinkNonUEAssociatedLPPaTransport.h"
+#include "PWSRestartIndication.h"
+#include "RerouteNASRequest.h"
+#include "PWSFailureIndication.h"
+#include "ConnectionEstablishmentIndication.h"
+#include "NASDeliveryIndication.h"
+#include "RetrieveUEInformation.h"
+#include "UEInformationTransfer.h"
+#include "ENBCPRelocationIndication.h"
+#include "MMECPRelocationIndication.h"
+#include "SecondaryRATDataUsageReport.h"
+#include <OPEN_TYPE.h>
+#include <constr_CHOICE.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum SuccessfulOutcome__value_PR {
+	SuccessfulOutcome__value_PR_NOTHING,	/* No components present */
+	SuccessfulOutcome__value_PR_HandoverCommand,
+	SuccessfulOutcome__value_PR_HandoverRequestAcknowledge,
+	SuccessfulOutcome__value_PR_PathSwitchRequestAcknowledge,
+	SuccessfulOutcome__value_PR_E_RABSetupResponse,
+	SuccessfulOutcome__value_PR_E_RABModifyResponse,
+	SuccessfulOutcome__value_PR_E_RABReleaseResponse,
+	SuccessfulOutcome__value_PR_InitialContextSetupResponse,
+	SuccessfulOutcome__value_PR_HandoverCancelAcknowledge,
+	SuccessfulOutcome__value_PR_KillResponse,
+	SuccessfulOutcome__value_PR_ResetAcknowledge,
+	SuccessfulOutcome__value_PR_S1SetupResponse,
+	SuccessfulOutcome__value_PR_UEContextModificationResponse,
+	SuccessfulOutcome__value_PR_UEContextReleaseComplete,
+	SuccessfulOutcome__value_PR_ENBConfigurationUpdateAcknowledge,
+	SuccessfulOutcome__value_PR_MMEConfigurationUpdateAcknowledge,
+	SuccessfulOutcome__value_PR_WriteReplaceWarningResponse,
+	SuccessfulOutcome__value_PR_UERadioCapabilityMatchResponse,
+	SuccessfulOutcome__value_PR_E_RABModificationConfirm,
+	SuccessfulOutcome__value_PR_UEContextModificationConfirm,
+	SuccessfulOutcome__value_PR_UEContextSuspendResponse,
+	SuccessfulOutcome__value_PR_UEContextResumeResponse
+} SuccessfulOutcome__value_PR;
+
+/* SuccessfulOutcome */
+typedef struct SuccessfulOutcome {
+	ProcedureCode_t	 procedureCode;
+	Criticality_t	 criticality;
+	struct SuccessfulOutcome__value {
+		SuccessfulOutcome__value_PR present;
+		union SuccessfulOutcome__value_u {
+			HandoverCommand_t	 HandoverCommand;
+			HandoverRequestAcknowledge_t	 HandoverRequestAcknowledge;
+			PathSwitchRequestAcknowledge_t	 PathSwitchRequestAcknowledge;
+			E_RABSetupResponse_t	 E_RABSetupResponse;
+			E_RABModifyResponse_t	 E_RABModifyResponse;
+			E_RABReleaseResponse_t	 E_RABReleaseResponse;
+			InitialContextSetupResponse_t	 InitialContextSetupResponse;
+			HandoverCancelAcknowledge_t	 HandoverCancelAcknowledge;
+			KillResponse_t	 KillResponse;
+			ResetAcknowledge_t	 ResetAcknowledge;
+			S1SetupResponse_t	 S1SetupResponse;
+			UEContextModificationResponse_t	 UEContextModificationResponse;
+			UEContextReleaseComplete_t	 UEContextReleaseComplete;
+			ENBConfigurationUpdateAcknowledge_t	 ENBConfigurationUpdateAcknowledge;
+			MMEConfigurationUpdateAcknowledge_t	 MMEConfigurationUpdateAcknowledge;
+			WriteReplaceWarningResponse_t	 WriteReplaceWarningResponse;
+			UERadioCapabilityMatchResponse_t	 UERadioCapabilityMatchResponse;
+			E_RABModificationConfirm_t	 E_RABModificationConfirm;
+			UEContextModificationConfirm_t	 UEContextModificationConfirm;
+			UEContextSuspendResponse_t	 UEContextSuspendResponse;
+			UEContextResumeResponse_t	 UEContextResumeResponse;
+		} 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;
+} SuccessfulOutcome_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SuccessfulOutcome;
+extern asn_SEQUENCE_specifics_t asn_SPC_SuccessfulOutcome_specs_1;
+extern asn_TYPE_member_t asn_MBR_SuccessfulOutcome_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SuccessfulOutcome_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SupportedTAs-Item.h b/src/s1ap/asn1c/asnGenFiles/SupportedTAs-Item.h
new file mode 100644
index 0000000..c38a723
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SupportedTAs-Item.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SupportedTAs_Item_H_
+#define	_SupportedTAs_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TAC.h"
+#include "BPLMNs.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* SupportedTAs-Item */
+typedef struct SupportedTAs_Item {
+	TAC_t	 tAC;
+	BPLMNs_t	 broadcastPLMNs;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} SupportedTAs_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SupportedTAs_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_SupportedTAs_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_SupportedTAs_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SupportedTAs_Item_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SupportedTAs.h b/src/s1ap/asn1c/asnGenFiles/SupportedTAs.h
new file mode 100644
index 0000000..6138b99
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SupportedTAs.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SupportedTAs_H_
+#define	_SupportedTAs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct SupportedTAs_Item;
+
+/* SupportedTAs */
+typedef struct SupportedTAs {
+	A_SEQUENCE_OF(struct SupportedTAs_Item) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} SupportedTAs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SupportedTAs;
+extern asn_SET_OF_specifics_t asn_SPC_SupportedTAs_specs_1;
+extern asn_TYPE_member_t asn_MBR_SupportedTAs_1[1];
+extern asn_per_constraints_t asn_PER_type_SupportedTAs_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SupportedTAs_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SynchronisationInformation.h b/src/s1ap/asn1c/asnGenFiles/SynchronisationInformation.h
new file mode 100644
index 0000000..b6cbd51
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SynchronisationInformation.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SynchronisationInformation_H_
+#define	_SynchronisationInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "StratumLevel.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ListeningSubframePattern;
+struct ECGI_List;
+struct ProtocolExtensionContainer;
+
+/* SynchronisationInformation */
+typedef struct SynchronisationInformation {
+	StratumLevel_t	*sourceStratumLevel;	/* OPTIONAL */
+	struct ListeningSubframePattern	*listeningSubframePattern;	/* OPTIONAL */
+	struct ECGI_List	*aggressoreCGI_List;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} SynchronisationInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SynchronisationInformation;
+extern asn_SEQUENCE_specifics_t asn_SPC_SynchronisationInformation_specs_1;
+extern asn_TYPE_member_t asn_MBR_SynchronisationInformation_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SynchronisationInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/SynchronisationStatus.h b/src/s1ap/asn1c/asnGenFiles/SynchronisationStatus.h
new file mode 100644
index 0000000..1b3751a
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/SynchronisationStatus.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_SynchronisationStatus_H_
+#define	_SynchronisationStatus_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum SynchronisationStatus {
+	SynchronisationStatus_synchronous	= 0,
+	SynchronisationStatus_asynchronous	= 1
+	/*
+	 * Enumeration is extensible
+	 */
+} e_SynchronisationStatus;
+
+/* SynchronisationStatus */
+typedef long	 SynchronisationStatus_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_SynchronisationStatus_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_SynchronisationStatus;
+extern const asn_INTEGER_specifics_t asn_SPC_SynchronisationStatus_specs_1;
+asn_struct_free_f SynchronisationStatus_free;
+asn_struct_print_f SynchronisationStatus_print;
+asn_constr_check_f SynchronisationStatus_constraint;
+ber_type_decoder_f SynchronisationStatus_decode_ber;
+der_type_encoder_f SynchronisationStatus_encode_der;
+xer_type_decoder_f SynchronisationStatus_decode_xer;
+xer_type_encoder_f SynchronisationStatus_encode_xer;
+oer_type_decoder_f SynchronisationStatus_decode_oer;
+oer_type_encoder_f SynchronisationStatus_encode_oer;
+per_type_decoder_f SynchronisationStatus_decode_uper;
+per_type_encoder_f SynchronisationStatus_encode_uper;
+per_type_decoder_f SynchronisationStatus_decode_aper;
+per_type_encoder_f SynchronisationStatus_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _SynchronisationStatus_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TABasedMDT.h b/src/s1ap/asn1c/asnGenFiles/TABasedMDT.h
new file mode 100644
index 0000000..b181a25
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TABasedMDT.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TABasedMDT_H_
+#define	_TABasedMDT_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TAListforMDT.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* TABasedMDT */
+typedef struct TABasedMDT {
+	TAListforMDT_t	 tAListforMDT;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TABasedMDT_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TABasedMDT;
+extern asn_SEQUENCE_specifics_t asn_SPC_TABasedMDT_specs_1;
+extern asn_TYPE_member_t asn_MBR_TABasedMDT_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TABasedMDT_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TABasedQMC.h b/src/s1ap/asn1c/asnGenFiles/TABasedQMC.h
new file mode 100644
index 0000000..db85df7
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TABasedQMC.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TABasedQMC_H_
+#define	_TABasedQMC_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TAListforQMC.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* TABasedQMC */
+typedef struct TABasedQMC {
+	TAListforQMC_t	 tAListforQMC;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TABasedQMC_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TABasedQMC;
+extern asn_SEQUENCE_specifics_t asn_SPC_TABasedQMC_specs_1;
+extern asn_TYPE_member_t asn_MBR_TABasedQMC_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TABasedQMC_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TAC.h b/src/s1ap/asn1c/asnGenFiles/TAC.h
new file mode 100644
index 0000000..492e9ba
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TAC.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TAC_H_
+#define	_TAC_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* TAC */
+typedef OCTET_STRING_t	 TAC_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_TAC_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_TAC;
+asn_struct_free_f TAC_free;
+asn_struct_print_f TAC_print;
+asn_constr_check_f TAC_constraint;
+ber_type_decoder_f TAC_decode_ber;
+der_type_encoder_f TAC_encode_der;
+xer_type_decoder_f TAC_decode_xer;
+xer_type_encoder_f TAC_encode_xer;
+oer_type_decoder_f TAC_decode_oer;
+oer_type_encoder_f TAC_encode_oer;
+per_type_decoder_f TAC_decode_uper;
+per_type_encoder_f TAC_encode_uper;
+per_type_decoder_f TAC_decode_aper;
+per_type_encoder_f TAC_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TAC_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TAI-Broadcast-Item.h b/src/s1ap/asn1c/asnGenFiles/TAI-Broadcast-Item.h
new file mode 100644
index 0000000..57c5c1d
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TAI-Broadcast-Item.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TAI_Broadcast_Item_H_
+#define	_TAI_Broadcast_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TAI.h"
+#include "CompletedCellinTAI.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* TAI-Broadcast-Item */
+typedef struct TAI_Broadcast_Item {
+	TAI_t	 tAI;
+	CompletedCellinTAI_t	 completedCellinTAI;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TAI_Broadcast_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TAI_Broadcast_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_TAI_Broadcast_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_TAI_Broadcast_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TAI_Broadcast_Item_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TAI-Broadcast.h b/src/s1ap/asn1c/asnGenFiles/TAI-Broadcast.h
new file mode 100644
index 0000000..9627c80
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TAI-Broadcast.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TAI_Broadcast_H_
+#define	_TAI_Broadcast_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct TAI_Broadcast_Item;
+
+/* TAI-Broadcast */
+typedef struct TAI_Broadcast {
+	A_SEQUENCE_OF(struct TAI_Broadcast_Item) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TAI_Broadcast_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TAI_Broadcast;
+extern asn_SET_OF_specifics_t asn_SPC_TAI_Broadcast_specs_1;
+extern asn_TYPE_member_t asn_MBR_TAI_Broadcast_1[1];
+extern asn_per_constraints_t asn_PER_type_TAI_Broadcast_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TAI_Broadcast_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TAI-Cancelled-Item.h b/src/s1ap/asn1c/asnGenFiles/TAI-Cancelled-Item.h
new file mode 100644
index 0000000..eca57ea
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TAI-Cancelled-Item.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TAI_Cancelled_Item_H_
+#define	_TAI_Cancelled_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TAI.h"
+#include "CancelledCellinTAI.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* TAI-Cancelled-Item */
+typedef struct TAI_Cancelled_Item {
+	TAI_t	 tAI;
+	CancelledCellinTAI_t	 cancelledCellinTAI;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TAI_Cancelled_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TAI_Cancelled_Item;
+extern asn_SEQUENCE_specifics_t asn_SPC_TAI_Cancelled_Item_specs_1;
+extern asn_TYPE_member_t asn_MBR_TAI_Cancelled_Item_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TAI_Cancelled_Item_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TAI-Cancelled.h b/src/s1ap/asn1c/asnGenFiles/TAI-Cancelled.h
new file mode 100644
index 0000000..d3b42b0
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TAI-Cancelled.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TAI_Cancelled_H_
+#define	_TAI_Cancelled_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct TAI_Cancelled_Item;
+
+/* TAI-Cancelled */
+typedef struct TAI_Cancelled {
+	A_SEQUENCE_OF(struct TAI_Cancelled_Item) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TAI_Cancelled_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TAI_Cancelled;
+extern asn_SET_OF_specifics_t asn_SPC_TAI_Cancelled_specs_1;
+extern asn_TYPE_member_t asn_MBR_TAI_Cancelled_1[1];
+extern asn_per_constraints_t asn_PER_type_TAI_Cancelled_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TAI_Cancelled_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TAI.h b/src/s1ap/asn1c/asnGenFiles/TAI.h
new file mode 100644
index 0000000..e251ec9
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TAI.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TAI_H_
+#define	_TAI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "PLMNidentity.h"
+#include "TAC.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* TAI */
+typedef struct S_TAI {
+	PLMNidentity_t	 pLMNidentity;
+	TAC_t	 tAC;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TAI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TAI;
+extern asn_SEQUENCE_specifics_t asn_SPC_TAI_specs_1;
+extern asn_TYPE_member_t asn_MBR_TAI_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TAI_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TAIBasedMDT.h b/src/s1ap/asn1c/asnGenFiles/TAIBasedMDT.h
new file mode 100644
index 0000000..b8afbeb
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TAIBasedMDT.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TAIBasedMDT_H_
+#define	_TAIBasedMDT_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TAIListforMDT.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* TAIBasedMDT */
+typedef struct TAIBasedMDT {
+	TAIListforMDT_t	 tAIListforMDT;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TAIBasedMDT_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TAIBasedMDT;
+extern asn_SEQUENCE_specifics_t asn_SPC_TAIBasedMDT_specs_1;
+extern asn_TYPE_member_t asn_MBR_TAIBasedMDT_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TAIBasedMDT_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TAIBasedQMC.h b/src/s1ap/asn1c/asnGenFiles/TAIBasedQMC.h
new file mode 100644
index 0000000..5a84fe2
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TAIBasedQMC.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TAIBasedQMC_H_
+#define	_TAIBasedQMC_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TAIListforQMC.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* TAIBasedQMC */
+typedef struct TAIBasedQMC {
+	TAIListforQMC_t	 tAIListforQMC;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TAIBasedQMC_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TAIBasedQMC;
+extern asn_SEQUENCE_specifics_t asn_SPC_TAIBasedQMC_specs_1;
+extern asn_TYPE_member_t asn_MBR_TAIBasedQMC_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TAIBasedQMC_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TAIItem.h b/src/s1ap/asn1c/asnGenFiles/TAIItem.h
new file mode 100644
index 0000000..84f19ce
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TAIItem.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TAIItem_H_
+#define	_TAIItem_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TAI.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* TAIItem */
+typedef struct TAIItem {
+	TAI_t	 tAI;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TAIItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TAIItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_TAIItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_TAIItem_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TAIItem_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TAIList.h b/src/s1ap/asn1c/asnGenFiles/TAIList.h
new file mode 100644
index 0000000..85482cb
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TAIList.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TAIList_H_
+#define	_TAIList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* TAIList */
+typedef struct TAIList {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TAIList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TAIList;
+extern asn_SET_OF_specifics_t asn_SPC_TAIList_specs_1;
+extern asn_TYPE_member_t asn_MBR_TAIList_1[1];
+extern asn_per_constraints_t asn_PER_type_TAIList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TAIList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TAIListForRestart.h b/src/s1ap/asn1c/asnGenFiles/TAIListForRestart.h
new file mode 100644
index 0000000..9a3696d
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TAIListForRestart.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TAIListForRestart_H_
+#define	_TAIListForRestart_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct S_TAI;
+
+/* TAIListForRestart */
+typedef struct TAIListForRestart {
+	A_SEQUENCE_OF(struct S_TAI) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TAIListForRestart_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TAIListForRestart;
+extern asn_SET_OF_specifics_t asn_SPC_TAIListForRestart_specs_1;
+extern asn_TYPE_member_t asn_MBR_TAIListForRestart_1[1];
+extern asn_per_constraints_t asn_PER_type_TAIListForRestart_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TAIListForRestart_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TAIListforMDT.h b/src/s1ap/asn1c/asnGenFiles/TAIListforMDT.h
new file mode 100644
index 0000000..0af4b80
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TAIListforMDT.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TAIListforMDT_H_
+#define	_TAIListforMDT_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct S_TAI;
+
+/* TAIListforMDT */
+typedef struct TAIListforMDT {
+	A_SEQUENCE_OF(struct S_TAI) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TAIListforMDT_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TAIListforMDT;
+extern asn_SET_OF_specifics_t asn_SPC_TAIListforMDT_specs_1;
+extern asn_TYPE_member_t asn_MBR_TAIListforMDT_1[1];
+extern asn_per_constraints_t asn_PER_type_TAIListforMDT_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TAIListforMDT_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TAIListforQMC.h b/src/s1ap/asn1c/asnGenFiles/TAIListforQMC.h
new file mode 100644
index 0000000..173d9f6
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TAIListforQMC.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TAIListforQMC_H_
+#define	_TAIListforQMC_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct S_TAI;
+
+/* TAIListforQMC */
+typedef struct TAIListforQMC {
+	A_SEQUENCE_OF(struct S_TAI) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TAIListforQMC_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TAIListforQMC;
+extern asn_SET_OF_specifics_t asn_SPC_TAIListforQMC_specs_1;
+extern asn_TYPE_member_t asn_MBR_TAIListforQMC_1[1];
+extern asn_per_constraints_t asn_PER_type_TAIListforQMC_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TAIListforQMC_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TAIListforWarning.h b/src/s1ap/asn1c/asnGenFiles/TAIListforWarning.h
new file mode 100644
index 0000000..9f896a8
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TAIListforWarning.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TAIListforWarning_H_
+#define	_TAIListforWarning_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct S_TAI;
+
+/* TAIListforWarning */
+typedef struct TAIListforWarning {
+	A_SEQUENCE_OF(struct S_TAI) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TAIListforWarning_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TAIListforWarning;
+extern asn_SET_OF_specifics_t asn_SPC_TAIListforWarning_specs_1;
+extern asn_TYPE_member_t asn_MBR_TAIListforWarning_1[1];
+extern asn_per_constraints_t asn_PER_type_TAIListforWarning_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TAIListforWarning_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TAListforMDT.h b/src/s1ap/asn1c/asnGenFiles/TAListforMDT.h
new file mode 100644
index 0000000..7702043
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TAListforMDT.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TAListforMDT_H_
+#define	_TAListforMDT_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TAC.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* TAListforMDT */
+typedef struct TAListforMDT {
+	A_SEQUENCE_OF(TAC_t) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TAListforMDT_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TAListforMDT;
+extern asn_SET_OF_specifics_t asn_SPC_TAListforMDT_specs_1;
+extern asn_TYPE_member_t asn_MBR_TAListforMDT_1[1];
+extern asn_per_constraints_t asn_PER_type_TAListforMDT_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TAListforMDT_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TAListforQMC.h b/src/s1ap/asn1c/asnGenFiles/TAListforQMC.h
new file mode 100644
index 0000000..e654901
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TAListforQMC.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TAListforQMC_H_
+#define	_TAListforQMC_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TAC.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* TAListforQMC */
+typedef struct TAListforQMC {
+	A_SEQUENCE_OF(TAC_t) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TAListforQMC_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TAListforQMC;
+extern asn_SET_OF_specifics_t asn_SPC_TAListforQMC_specs_1;
+extern asn_TYPE_member_t asn_MBR_TAListforQMC_1[1];
+extern asn_per_constraints_t asn_PER_type_TAListforQMC_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TAListforQMC_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TBCD-STRING.h b/src/s1ap/asn1c/asnGenFiles/TBCD-STRING.h
new file mode 100644
index 0000000..4e207cf
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TBCD-STRING.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TBCD_STRING_H_
+#define	_TBCD_STRING_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* TBCD-STRING */
+typedef OCTET_STRING_t	 TBCD_STRING_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_TBCD_STRING_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_TBCD_STRING;
+asn_struct_free_f TBCD_STRING_free;
+asn_struct_print_f TBCD_STRING_print;
+asn_constr_check_f TBCD_STRING_constraint;
+ber_type_decoder_f TBCD_STRING_decode_ber;
+der_type_encoder_f TBCD_STRING_encode_der;
+xer_type_decoder_f TBCD_STRING_decode_xer;
+xer_type_encoder_f TBCD_STRING_encode_xer;
+oer_type_decoder_f TBCD_STRING_decode_oer;
+oer_type_encoder_f TBCD_STRING_encode_oer;
+per_type_decoder_f TBCD_STRING_decode_uper;
+per_type_encoder_f TBCD_STRING_encode_uper;
+per_type_decoder_f TBCD_STRING_decode_aper;
+per_type_encoder_f TBCD_STRING_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TBCD_STRING_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Target-ToSource-TransparentContainer.h b/src/s1ap/asn1c/asnGenFiles/Target-ToSource-TransparentContainer.h
new file mode 100644
index 0000000..4ccc5f3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Target-ToSource-TransparentContainer.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Target_ToSource_TransparentContainer_H_
+#define	_Target_ToSource_TransparentContainer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Target-ToSource-TransparentContainer */
+typedef OCTET_STRING_t	 Target_ToSource_TransparentContainer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Target_ToSource_TransparentContainer;
+asn_struct_free_f Target_ToSource_TransparentContainer_free;
+asn_struct_print_f Target_ToSource_TransparentContainer_print;
+asn_constr_check_f Target_ToSource_TransparentContainer_constraint;
+ber_type_decoder_f Target_ToSource_TransparentContainer_decode_ber;
+der_type_encoder_f Target_ToSource_TransparentContainer_encode_der;
+xer_type_decoder_f Target_ToSource_TransparentContainer_decode_xer;
+xer_type_encoder_f Target_ToSource_TransparentContainer_encode_xer;
+oer_type_decoder_f Target_ToSource_TransparentContainer_decode_oer;
+oer_type_encoder_f Target_ToSource_TransparentContainer_encode_oer;
+per_type_decoder_f Target_ToSource_TransparentContainer_decode_uper;
+per_type_encoder_f Target_ToSource_TransparentContainer_encode_uper;
+per_type_decoder_f Target_ToSource_TransparentContainer_decode_aper;
+per_type_encoder_f Target_ToSource_TransparentContainer_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Target_ToSource_TransparentContainer_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TargetBSS-ToSourceBSS-TransparentContainer.h b/src/s1ap/asn1c/asnGenFiles/TargetBSS-ToSourceBSS-TransparentContainer.h
new file mode 100644
index 0000000..727fee9
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TargetBSS-ToSourceBSS-TransparentContainer.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TargetBSS_ToSourceBSS_TransparentContainer_H_
+#define	_TargetBSS_ToSourceBSS_TransparentContainer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* TargetBSS-ToSourceBSS-TransparentContainer */
+typedef OCTET_STRING_t	 TargetBSS_ToSourceBSS_TransparentContainer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TargetBSS_ToSourceBSS_TransparentContainer;
+asn_struct_free_f TargetBSS_ToSourceBSS_TransparentContainer_free;
+asn_struct_print_f TargetBSS_ToSourceBSS_TransparentContainer_print;
+asn_constr_check_f TargetBSS_ToSourceBSS_TransparentContainer_constraint;
+ber_type_decoder_f TargetBSS_ToSourceBSS_TransparentContainer_decode_ber;
+der_type_encoder_f TargetBSS_ToSourceBSS_TransparentContainer_encode_der;
+xer_type_decoder_f TargetBSS_ToSourceBSS_TransparentContainer_decode_xer;
+xer_type_encoder_f TargetBSS_ToSourceBSS_TransparentContainer_encode_xer;
+oer_type_decoder_f TargetBSS_ToSourceBSS_TransparentContainer_decode_oer;
+oer_type_encoder_f TargetBSS_ToSourceBSS_TransparentContainer_encode_oer;
+per_type_decoder_f TargetBSS_ToSourceBSS_TransparentContainer_decode_uper;
+per_type_encoder_f TargetBSS_ToSourceBSS_TransparentContainer_encode_uper;
+per_type_decoder_f TargetBSS_ToSourceBSS_TransparentContainer_decode_aper;
+per_type_encoder_f TargetBSS_ToSourceBSS_TransparentContainer_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TargetBSS_ToSourceBSS_TransparentContainer_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TargetID.h b/src/s1ap/asn1c/asnGenFiles/TargetID.h
new file mode 100644
index 0000000..7ea1e16
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TargetID.h
@@ -0,0 +1,66 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TargetID_H_
+#define	_TargetID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum TargetID_PR {
+	TargetID_PR_NOTHING,	/* No components present */
+	TargetID_PR_targeteNB_ID,
+	TargetID_PR_targetRNC_ID,
+	TargetID_PR_cGI,
+	/* Extensions may appear below */
+	TargetID_PR_targetgNgRanNode_ID
+} TargetID_PR;
+
+/* Forward declarations */
+struct TargeteNB_ID;
+struct TargetRNC_ID;
+struct CGI;
+struct TargetNgRanNode_ID;
+
+/* TargetID */
+typedef struct TargetID {
+	TargetID_PR present;
+	union TargetID_u {
+		struct TargeteNB_ID	*targeteNB_ID;
+		struct TargetRNC_ID	*targetRNC_ID;
+		struct CGI	*cGI;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+		struct TargetNgRanNode_ID	*targetgNgRanNode_ID;
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TargetID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TargetID;
+extern asn_CHOICE_specifics_t asn_SPC_TargetID_specs_1;
+extern asn_TYPE_member_t asn_MBR_TargetID_1[4];
+extern asn_per_constraints_t asn_PER_type_TargetID_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TargetID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TargetNgRanNode-ID.h b/src/s1ap/asn1c/asnGenFiles/TargetNgRanNode-ID.h
new file mode 100644
index 0000000..015fc63
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TargetNgRanNode-ID.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TargetNgRanNode_ID_H_
+#define	_TargetNgRanNode_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "Global-RAN-NODE-ID.h"
+#include "FiveGSTAI.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* TargetNgRanNode-ID */
+typedef struct TargetNgRanNode_ID {
+	Global_RAN_NODE_ID_t	 global_RAN_NODE_ID;
+	FiveGSTAI_t	 selected_TAI;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TargetNgRanNode_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TargetNgRanNode_ID;
+extern asn_SEQUENCE_specifics_t asn_SPC_TargetNgRanNode_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_TargetNgRanNode_ID_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TargetNgRanNode_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TargetNgRanNode-ToSourceNgRanNode-TransparentContainer.h b/src/s1ap/asn1c/asnGenFiles/TargetNgRanNode-ToSourceNgRanNode-TransparentContainer.h
new file mode 100644
index 0000000..e203b9e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TargetNgRanNode-ToSourceNgRanNode-TransparentContainer.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TargetNgRanNode_ToSourceNgRanNode_TransparentContainer_H_
+#define	_TargetNgRanNode_ToSourceNgRanNode_TransparentContainer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* TargetNgRanNode-ToSourceNgRanNode-TransparentContainer */
+typedef OCTET_STRING_t	 TargetNgRanNode_ToSourceNgRanNode_TransparentContainer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TargetNgRanNode_ToSourceNgRanNode_TransparentContainer;
+asn_struct_free_f TargetNgRanNode_ToSourceNgRanNode_TransparentContainer_free;
+asn_struct_print_f TargetNgRanNode_ToSourceNgRanNode_TransparentContainer_print;
+asn_constr_check_f TargetNgRanNode_ToSourceNgRanNode_TransparentContainer_constraint;
+ber_type_decoder_f TargetNgRanNode_ToSourceNgRanNode_TransparentContainer_decode_ber;
+der_type_encoder_f TargetNgRanNode_ToSourceNgRanNode_TransparentContainer_encode_der;
+xer_type_decoder_f TargetNgRanNode_ToSourceNgRanNode_TransparentContainer_decode_xer;
+xer_type_encoder_f TargetNgRanNode_ToSourceNgRanNode_TransparentContainer_encode_xer;
+oer_type_decoder_f TargetNgRanNode_ToSourceNgRanNode_TransparentContainer_decode_oer;
+oer_type_encoder_f TargetNgRanNode_ToSourceNgRanNode_TransparentContainer_encode_oer;
+per_type_decoder_f TargetNgRanNode_ToSourceNgRanNode_TransparentContainer_decode_uper;
+per_type_encoder_f TargetNgRanNode_ToSourceNgRanNode_TransparentContainer_encode_uper;
+per_type_decoder_f TargetNgRanNode_ToSourceNgRanNode_TransparentContainer_decode_aper;
+per_type_encoder_f TargetNgRanNode_ToSourceNgRanNode_TransparentContainer_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TargetNgRanNode_ToSourceNgRanNode_TransparentContainer_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TargetRNC-ID.h b/src/s1ap/asn1c/asnGenFiles/TargetRNC-ID.h
new file mode 100644
index 0000000..e6d0b1e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TargetRNC-ID.h
@@ -0,0 +1,54 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TargetRNC_ID_H_
+#define	_TargetRNC_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "LAI.h"
+#include "RAC.h"
+#include "RNC-ID.h"
+#include "ExtendedRNC-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* TargetRNC-ID */
+typedef struct TargetRNC_ID {
+	LAI_t	 lAI;
+	RAC_t	*rAC;	/* OPTIONAL */
+	RNC_ID_t	 rNC_ID;
+	ExtendedRNC_ID_t	*extendedRNC_ID;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TargetRNC_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TargetRNC_ID;
+extern asn_SEQUENCE_specifics_t asn_SPC_TargetRNC_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_TargetRNC_ID_1[5];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TargetRNC_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TargetRNC-ToSourceRNC-TransparentContainer.h b/src/s1ap/asn1c/asnGenFiles/TargetRNC-ToSourceRNC-TransparentContainer.h
new file mode 100644
index 0000000..387fb2f
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TargetRNC-ToSourceRNC-TransparentContainer.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TargetRNC_ToSourceRNC_TransparentContainer_H_
+#define	_TargetRNC_ToSourceRNC_TransparentContainer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* TargetRNC-ToSourceRNC-TransparentContainer */
+typedef OCTET_STRING_t	 TargetRNC_ToSourceRNC_TransparentContainer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TargetRNC_ToSourceRNC_TransparentContainer;
+asn_struct_free_f TargetRNC_ToSourceRNC_TransparentContainer_free;
+asn_struct_print_f TargetRNC_ToSourceRNC_TransparentContainer_print;
+asn_constr_check_f TargetRNC_ToSourceRNC_TransparentContainer_constraint;
+ber_type_decoder_f TargetRNC_ToSourceRNC_TransparentContainer_decode_ber;
+der_type_encoder_f TargetRNC_ToSourceRNC_TransparentContainer_encode_der;
+xer_type_decoder_f TargetRNC_ToSourceRNC_TransparentContainer_decode_xer;
+xer_type_encoder_f TargetRNC_ToSourceRNC_TransparentContainer_encode_xer;
+oer_type_decoder_f TargetRNC_ToSourceRNC_TransparentContainer_decode_oer;
+oer_type_encoder_f TargetRNC_ToSourceRNC_TransparentContainer_encode_oer;
+per_type_decoder_f TargetRNC_ToSourceRNC_TransparentContainer_decode_uper;
+per_type_encoder_f TargetRNC_ToSourceRNC_TransparentContainer_encode_uper;
+per_type_decoder_f TargetRNC_ToSourceRNC_TransparentContainer_decode_aper;
+per_type_encoder_f TargetRNC_ToSourceRNC_TransparentContainer_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TargetRNC_ToSourceRNC_TransparentContainer_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TargeteNB-ID.h b/src/s1ap/asn1c/asnGenFiles/TargeteNB-ID.h
new file mode 100644
index 0000000..7bcd748
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TargeteNB-ID.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TargeteNB_ID_H_
+#define	_TargeteNB_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "Global-ENB-ID.h"
+#include "TAI.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* TargeteNB-ID */
+typedef struct TargeteNB_ID {
+	Global_ENB_ID_t	 global_ENB_ID;
+	TAI_t	 selected_TAI;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TargeteNB_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TargeteNB_ID;
+extern asn_SEQUENCE_specifics_t asn_SPC_TargeteNB_ID_specs_1;
+extern asn_TYPE_member_t asn_MBR_TargeteNB_ID_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TargeteNB_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TargeteNB-ToSourceeNB-TransparentContainer.h b/src/s1ap/asn1c/asnGenFiles/TargeteNB-ToSourceeNB-TransparentContainer.h
new file mode 100644
index 0000000..f1049fd
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TargeteNB-ToSourceeNB-TransparentContainer.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TargeteNB_ToSourceeNB_TransparentContainer_H_
+#define	_TargeteNB_ToSourceeNB_TransparentContainer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RRC-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* TargeteNB-ToSourceeNB-TransparentContainer */
+typedef struct TargeteNB_ToSourceeNB_TransparentContainer {
+	RRC_Container_t	 rRC_Container;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TargeteNB_ToSourceeNB_TransparentContainer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TargeteNB_ToSourceeNB_TransparentContainer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TargeteNB_ToSourceeNB_TransparentContainer_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Threshold-RSRP.h b/src/s1ap/asn1c/asnGenFiles/Threshold-RSRP.h
new file mode 100644
index 0000000..1778e1f
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Threshold-RSRP.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Threshold_RSRP_H_
+#define	_Threshold_RSRP_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Threshold-RSRP */
+typedef long	 Threshold_RSRP_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_Threshold_RSRP_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_Threshold_RSRP;
+asn_struct_free_f Threshold_RSRP_free;
+asn_struct_print_f Threshold_RSRP_print;
+asn_constr_check_f Threshold_RSRP_constraint;
+ber_type_decoder_f Threshold_RSRP_decode_ber;
+der_type_encoder_f Threshold_RSRP_encode_der;
+xer_type_decoder_f Threshold_RSRP_decode_xer;
+xer_type_encoder_f Threshold_RSRP_encode_xer;
+oer_type_decoder_f Threshold_RSRP_decode_oer;
+oer_type_encoder_f Threshold_RSRP_encode_oer;
+per_type_decoder_f Threshold_RSRP_decode_uper;
+per_type_encoder_f Threshold_RSRP_encode_uper;
+per_type_decoder_f Threshold_RSRP_decode_aper;
+per_type_encoder_f Threshold_RSRP_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Threshold_RSRP_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Threshold-RSRQ.h b/src/s1ap/asn1c/asnGenFiles/Threshold-RSRQ.h
new file mode 100644
index 0000000..98aa8a4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Threshold-RSRQ.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Threshold_RSRQ_H_
+#define	_Threshold_RSRQ_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Threshold-RSRQ */
+typedef long	 Threshold_RSRQ_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_Threshold_RSRQ_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_Threshold_RSRQ;
+asn_struct_free_f Threshold_RSRQ_free;
+asn_struct_print_f Threshold_RSRQ_print;
+asn_constr_check_f Threshold_RSRQ_constraint;
+ber_type_decoder_f Threshold_RSRQ_decode_ber;
+der_type_encoder_f Threshold_RSRQ_encode_der;
+xer_type_decoder_f Threshold_RSRQ_decode_xer;
+xer_type_encoder_f Threshold_RSRQ_encode_xer;
+oer_type_decoder_f Threshold_RSRQ_decode_oer;
+oer_type_encoder_f Threshold_RSRQ_encode_oer;
+per_type_decoder_f Threshold_RSRQ_decode_uper;
+per_type_encoder_f Threshold_RSRQ_encode_uper;
+per_type_decoder_f Threshold_RSRQ_decode_aper;
+per_type_encoder_f Threshold_RSRQ_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Threshold_RSRQ_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Time-UE-StayedInCell-EnhancedGranularity.h b/src/s1ap/asn1c/asnGenFiles/Time-UE-StayedInCell-EnhancedGranularity.h
new file mode 100644
index 0000000..cff7569
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Time-UE-StayedInCell-EnhancedGranularity.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Time_UE_StayedInCell_EnhancedGranularity_H_
+#define	_Time_UE_StayedInCell_EnhancedGranularity_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Time-UE-StayedInCell-EnhancedGranularity */
+typedef long	 Time_UE_StayedInCell_EnhancedGranularity_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_Time_UE_StayedInCell_EnhancedGranularity_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_Time_UE_StayedInCell_EnhancedGranularity;
+asn_struct_free_f Time_UE_StayedInCell_EnhancedGranularity_free;
+asn_struct_print_f Time_UE_StayedInCell_EnhancedGranularity_print;
+asn_constr_check_f Time_UE_StayedInCell_EnhancedGranularity_constraint;
+ber_type_decoder_f Time_UE_StayedInCell_EnhancedGranularity_decode_ber;
+der_type_encoder_f Time_UE_StayedInCell_EnhancedGranularity_encode_der;
+xer_type_decoder_f Time_UE_StayedInCell_EnhancedGranularity_decode_xer;
+xer_type_encoder_f Time_UE_StayedInCell_EnhancedGranularity_encode_xer;
+oer_type_decoder_f Time_UE_StayedInCell_EnhancedGranularity_decode_oer;
+oer_type_encoder_f Time_UE_StayedInCell_EnhancedGranularity_encode_oer;
+per_type_decoder_f Time_UE_StayedInCell_EnhancedGranularity_decode_uper;
+per_type_encoder_f Time_UE_StayedInCell_EnhancedGranularity_encode_uper;
+per_type_decoder_f Time_UE_StayedInCell_EnhancedGranularity_decode_aper;
+per_type_encoder_f Time_UE_StayedInCell_EnhancedGranularity_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Time_UE_StayedInCell_EnhancedGranularity_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/Time-UE-StayedInCell.h b/src/s1ap/asn1c/asnGenFiles/Time-UE-StayedInCell.h
new file mode 100644
index 0000000..490b11c
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/Time-UE-StayedInCell.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_Time_UE_StayedInCell_H_
+#define	_Time_UE_StayedInCell_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Time-UE-StayedInCell */
+typedef long	 Time_UE_StayedInCell_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_Time_UE_StayedInCell_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_Time_UE_StayedInCell;
+asn_struct_free_f Time_UE_StayedInCell_free;
+asn_struct_print_f Time_UE_StayedInCell_print;
+asn_constr_check_f Time_UE_StayedInCell_constraint;
+ber_type_decoder_f Time_UE_StayedInCell_decode_ber;
+der_type_encoder_f Time_UE_StayedInCell_encode_der;
+xer_type_decoder_f Time_UE_StayedInCell_decode_xer;
+xer_type_encoder_f Time_UE_StayedInCell_encode_xer;
+oer_type_decoder_f Time_UE_StayedInCell_decode_oer;
+oer_type_encoder_f Time_UE_StayedInCell_encode_oer;
+per_type_decoder_f Time_UE_StayedInCell_decode_uper;
+per_type_encoder_f Time_UE_StayedInCell_encode_uper;
+per_type_decoder_f Time_UE_StayedInCell_decode_aper;
+per_type_encoder_f Time_UE_StayedInCell_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _Time_UE_StayedInCell_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TimeSinceSecondaryNodeRelease.h b/src/s1ap/asn1c/asnGenFiles/TimeSinceSecondaryNodeRelease.h
new file mode 100644
index 0000000..32be652
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TimeSinceSecondaryNodeRelease.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TimeSinceSecondaryNodeRelease_H_
+#define	_TimeSinceSecondaryNodeRelease_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* TimeSinceSecondaryNodeRelease */
+typedef OCTET_STRING_t	 TimeSinceSecondaryNodeRelease_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_TimeSinceSecondaryNodeRelease_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_TimeSinceSecondaryNodeRelease;
+asn_struct_free_f TimeSinceSecondaryNodeRelease_free;
+asn_struct_print_f TimeSinceSecondaryNodeRelease_print;
+asn_constr_check_f TimeSinceSecondaryNodeRelease_constraint;
+ber_type_decoder_f TimeSinceSecondaryNodeRelease_decode_ber;
+der_type_encoder_f TimeSinceSecondaryNodeRelease_encode_der;
+xer_type_decoder_f TimeSinceSecondaryNodeRelease_decode_xer;
+xer_type_encoder_f TimeSinceSecondaryNodeRelease_encode_xer;
+oer_type_decoder_f TimeSinceSecondaryNodeRelease_decode_oer;
+oer_type_encoder_f TimeSinceSecondaryNodeRelease_encode_oer;
+per_type_decoder_f TimeSinceSecondaryNodeRelease_decode_uper;
+per_type_encoder_f TimeSinceSecondaryNodeRelease_encode_uper;
+per_type_decoder_f TimeSinceSecondaryNodeRelease_decode_aper;
+per_type_encoder_f TimeSinceSecondaryNodeRelease_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TimeSinceSecondaryNodeRelease_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TimeSynchronisationInfo.h b/src/s1ap/asn1c/asnGenFiles/TimeSynchronisationInfo.h
new file mode 100644
index 0000000..69e2c86
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TimeSynchronisationInfo.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TimeSynchronisationInfo_H_
+#define	_TimeSynchronisationInfo_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "StratumLevel.h"
+#include "SynchronisationStatus.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* TimeSynchronisationInfo */
+typedef struct TimeSynchronisationInfo {
+	StratumLevel_t	 stratumLevel;
+	SynchronisationStatus_t	 synchronisationStatus;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TimeSynchronisationInfo_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TimeSynchronisationInfo;
+extern asn_SEQUENCE_specifics_t asn_SPC_TimeSynchronisationInfo_specs_1;
+extern asn_TYPE_member_t asn_MBR_TimeSynchronisationInfo_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TimeSynchronisationInfo_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TimeToWait.h b/src/s1ap/asn1c/asnGenFiles/TimeToWait.h
new file mode 100644
index 0000000..393cd73
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TimeToWait.h
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TimeToWait_H_
+#define	_TimeToWait_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum TimeToWait {
+	TimeToWait_v1s	= 0,
+	TimeToWait_v2s	= 1,
+	TimeToWait_v5s	= 2,
+	TimeToWait_v10s	= 3,
+	TimeToWait_v20s	= 4,
+	TimeToWait_v60s	= 5
+	/*
+	 * Enumeration is extensible
+	 */
+} e_TimeToWait;
+
+/* TimeToWait */
+typedef long	 TimeToWait_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_TimeToWait_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_TimeToWait;
+extern const asn_INTEGER_specifics_t asn_SPC_TimeToWait_specs_1;
+asn_struct_free_f TimeToWait_free;
+asn_struct_print_f TimeToWait_print;
+asn_constr_check_f TimeToWait_constraint;
+ber_type_decoder_f TimeToWait_decode_ber;
+der_type_encoder_f TimeToWait_encode_der;
+xer_type_decoder_f TimeToWait_decode_xer;
+xer_type_encoder_f TimeToWait_encode_xer;
+oer_type_decoder_f TimeToWait_decode_oer;
+oer_type_encoder_f TimeToWait_encode_oer;
+per_type_decoder_f TimeToWait_decode_uper;
+per_type_encoder_f TimeToWait_encode_uper;
+per_type_decoder_f TimeToWait_decode_aper;
+per_type_encoder_f TimeToWait_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TimeToWait_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TraceActivation.h b/src/s1ap/asn1c/asnGenFiles/TraceActivation.h
new file mode 100644
index 0000000..f0587bb
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TraceActivation.h
@@ -0,0 +1,54 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TraceActivation_H_
+#define	_TraceActivation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "E-UTRAN-Trace-ID.h"
+#include "InterfacesToTrace.h"
+#include "TraceDepth.h"
+#include "TransportLayerAddress.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* TraceActivation */
+typedef struct TraceActivation {
+	E_UTRAN_Trace_ID_t	 e_UTRAN_Trace_ID;
+	InterfacesToTrace_t	 interfacesToTrace;
+	TraceDepth_t	 traceDepth;
+	TransportLayerAddress_t	 traceCollectionEntityIPAddress;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TraceActivation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TraceActivation;
+extern asn_SEQUENCE_specifics_t asn_SPC_TraceActivation_specs_1;
+extern asn_TYPE_member_t asn_MBR_TraceActivation_1[5];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TraceActivation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TraceDepth.h b/src/s1ap/asn1c/asnGenFiles/TraceDepth.h
new file mode 100644
index 0000000..1405cb6
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TraceDepth.h
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TraceDepth_H_
+#define	_TraceDepth_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum TraceDepth {
+	TraceDepth_minimum	= 0,
+	TraceDepth_medium	= 1,
+	TraceDepth_maximum	= 2,
+	TraceDepth_minimumWithoutVendorSpecificExtension	= 3,
+	TraceDepth_mediumWithoutVendorSpecificExtension	= 4,
+	TraceDepth_maximumWithoutVendorSpecificExtension	= 5
+	/*
+	 * Enumeration is extensible
+	 */
+} e_TraceDepth;
+
+/* TraceDepth */
+typedef long	 TraceDepth_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_TraceDepth_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_TraceDepth;
+extern const asn_INTEGER_specifics_t asn_SPC_TraceDepth_specs_1;
+asn_struct_free_f TraceDepth_free;
+asn_struct_print_f TraceDepth_print;
+asn_constr_check_f TraceDepth_constraint;
+ber_type_decoder_f TraceDepth_decode_ber;
+der_type_encoder_f TraceDepth_encode_der;
+xer_type_decoder_f TraceDepth_decode_xer;
+xer_type_encoder_f TraceDepth_encode_xer;
+oer_type_decoder_f TraceDepth_decode_oer;
+oer_type_encoder_f TraceDepth_encode_oer;
+per_type_decoder_f TraceDepth_decode_uper;
+per_type_encoder_f TraceDepth_encode_uper;
+per_type_decoder_f TraceDepth_decode_aper;
+per_type_encoder_f TraceDepth_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TraceDepth_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TraceFailureIndication.h b/src/s1ap/asn1c/asnGenFiles/TraceFailureIndication.h
new file mode 100644
index 0000000..094069e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TraceFailureIndication.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TraceFailureIndication_H_
+#define	_TraceFailureIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* TraceFailureIndication */
+typedef struct TraceFailureIndication {
+	ProtocolIE_Container_129P55_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TraceFailureIndication_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TraceFailureIndication;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TraceFailureIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TraceStart.h b/src/s1ap/asn1c/asnGenFiles/TraceStart.h
new file mode 100644
index 0000000..cf8cdc1
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TraceStart.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TraceStart_H_
+#define	_TraceStart_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* TraceStart */
+typedef struct TraceStart {
+	ProtocolIE_Container_129P54_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TraceStart_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TraceStart;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TraceStart_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TrafficLoadReductionIndication.h b/src/s1ap/asn1c/asnGenFiles/TrafficLoadReductionIndication.h
new file mode 100644
index 0000000..2ecfc0c
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TrafficLoadReductionIndication.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TrafficLoadReductionIndication_H_
+#define	_TrafficLoadReductionIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* TrafficLoadReductionIndication */
+typedef long	 TrafficLoadReductionIndication_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_TrafficLoadReductionIndication_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_TrafficLoadReductionIndication;
+asn_struct_free_f TrafficLoadReductionIndication_free;
+asn_struct_print_f TrafficLoadReductionIndication_print;
+asn_constr_check_f TrafficLoadReductionIndication_constraint;
+ber_type_decoder_f TrafficLoadReductionIndication_decode_ber;
+der_type_encoder_f TrafficLoadReductionIndication_encode_der;
+xer_type_decoder_f TrafficLoadReductionIndication_decode_xer;
+xer_type_encoder_f TrafficLoadReductionIndication_encode_xer;
+oer_type_decoder_f TrafficLoadReductionIndication_decode_oer;
+oer_type_encoder_f TrafficLoadReductionIndication_encode_oer;
+per_type_decoder_f TrafficLoadReductionIndication_decode_uper;
+per_type_encoder_f TrafficLoadReductionIndication_encode_uper;
+per_type_decoder_f TrafficLoadReductionIndication_decode_aper;
+per_type_encoder_f TrafficLoadReductionIndication_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TrafficLoadReductionIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TransportInformation.h b/src/s1ap/asn1c/asnGenFiles/TransportInformation.h
new file mode 100644
index 0000000..d2e27aa
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TransportInformation.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TransportInformation_H_
+#define	_TransportInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TransportLayerAddress.h"
+#include "GTP-TEID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* TransportInformation */
+typedef struct TransportInformation {
+	TransportLayerAddress_t	 transportLayerAddress;
+	GTP_TEID_t	 uL_GTP_TEID;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TransportInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TransportInformation;
+extern asn_SEQUENCE_specifics_t asn_SPC_TransportInformation_specs_1;
+extern asn_TYPE_member_t asn_MBR_TransportInformation_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TransportInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TransportLayerAddress.h b/src/s1ap/asn1c/asnGenFiles/TransportLayerAddress.h
new file mode 100644
index 0000000..07a3a18
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TransportLayerAddress.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TransportLayerAddress_H_
+#define	_TransportLayerAddress_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* TransportLayerAddress */
+typedef BIT_STRING_t	 TransportLayerAddress_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_TransportLayerAddress_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_TransportLayerAddress;
+asn_struct_free_f TransportLayerAddress_free;
+asn_struct_print_f TransportLayerAddress_print;
+asn_constr_check_f TransportLayerAddress_constraint;
+ber_type_decoder_f TransportLayerAddress_decode_ber;
+der_type_encoder_f TransportLayerAddress_encode_der;
+xer_type_decoder_f TransportLayerAddress_decode_xer;
+xer_type_encoder_f TransportLayerAddress_encode_xer;
+oer_type_decoder_f TransportLayerAddress_decode_oer;
+oer_type_encoder_f TransportLayerAddress_encode_oer;
+per_type_decoder_f TransportLayerAddress_decode_uper;
+per_type_encoder_f TransportLayerAddress_encode_uper;
+per_type_decoder_f TransportLayerAddress_decode_aper;
+per_type_encoder_f TransportLayerAddress_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TransportLayerAddress_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TriggeringMessage.h b/src/s1ap/asn1c/asnGenFiles/TriggeringMessage.h
new file mode 100644
index 0000000..e12b9b8
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TriggeringMessage.h
@@ -0,0 +1,54 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-CommonDataTypes"
+ * 	found in "./asn1c/S1AP-CommonDataTypes.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TriggeringMessage_H_
+#define	_TriggeringMessage_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum TriggeringMessage {
+	TriggeringMessage_initiating_message	= 0,
+	TriggeringMessage_successful_outcome	= 1,
+	TriggeringMessage_unsuccessfull_outcome	= 2
+} e_TriggeringMessage;
+
+/* TriggeringMessage */
+typedef long	 TriggeringMessage_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_TriggeringMessage_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_TriggeringMessage;
+extern const asn_INTEGER_specifics_t asn_SPC_TriggeringMessage_specs_1;
+asn_struct_free_f TriggeringMessage_free;
+asn_struct_print_f TriggeringMessage_print;
+asn_constr_check_f TriggeringMessage_constraint;
+ber_type_decoder_f TriggeringMessage_decode_ber;
+der_type_encoder_f TriggeringMessage_encode_der;
+xer_type_decoder_f TriggeringMessage_decode_xer;
+xer_type_encoder_f TriggeringMessage_encode_xer;
+oer_type_decoder_f TriggeringMessage_decode_oer;
+oer_type_encoder_f TriggeringMessage_encode_oer;
+per_type_decoder_f TriggeringMessage_decode_uper;
+per_type_encoder_f TriggeringMessage_encode_uper;
+per_type_decoder_f TriggeringMessage_decode_aper;
+per_type_encoder_f TriggeringMessage_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TriggeringMessage_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TunnelInformation.h b/src/s1ap/asn1c/asnGenFiles/TunnelInformation.h
new file mode 100644
index 0000000..8a30551
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TunnelInformation.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TunnelInformation_H_
+#define	_TunnelInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TransportLayerAddress.h"
+#include "Port-Number.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* TunnelInformation */
+typedef struct TunnelInformation {
+	TransportLayerAddress_t	 transportLayerAddress;
+	Port_Number_t	*uDP_Port_Number;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} TunnelInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TunnelInformation;
+extern asn_SEQUENCE_specifics_t asn_SPC_TunnelInformation_specs_1;
+extern asn_TYPE_member_t asn_MBR_TunnelInformation_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TunnelInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/TypeOfError.h b/src/s1ap/asn1c/asnGenFiles/TypeOfError.h
new file mode 100644
index 0000000..5da1c7b
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/TypeOfError.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_TypeOfError_H_
+#define	_TypeOfError_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum TypeOfError {
+	TypeOfError_not_understood	= 0,
+	TypeOfError_missing	= 1
+	/*
+	 * Enumeration is extensible
+	 */
+} e_TypeOfError;
+
+/* TypeOfError */
+typedef long	 TypeOfError_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_TypeOfError_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_TypeOfError;
+extern const asn_INTEGER_specifics_t asn_SPC_TypeOfError_specs_1;
+asn_struct_free_f TypeOfError_free;
+asn_struct_print_f TypeOfError_print;
+asn_constr_check_f TypeOfError_constraint;
+ber_type_decoder_f TypeOfError_decode_ber;
+der_type_encoder_f TypeOfError_encode_der;
+xer_type_decoder_f TypeOfError_decode_xer;
+xer_type_encoder_f TypeOfError_encode_xer;
+oer_type_decoder_f TypeOfError_decode_oer;
+oer_type_encoder_f TypeOfError_encode_oer;
+per_type_decoder_f TypeOfError_decode_uper;
+per_type_encoder_f TypeOfError_encode_uper;
+per_type_decoder_f TypeOfError_decode_aper;
+per_type_encoder_f TypeOfError_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _TypeOfError_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UE-Application-Layer-Measurement-Capability.h b/src/s1ap/asn1c/asnGenFiles/UE-Application-Layer-Measurement-Capability.h
new file mode 100644
index 0000000..f4fe719
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UE-Application-Layer-Measurement-Capability.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UE_Application_Layer_Measurement_Capability_H_
+#define	_UE_Application_Layer_Measurement_Capability_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UE-Application-Layer-Measurement-Capability */
+typedef BIT_STRING_t	 UE_Application_Layer_Measurement_Capability_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_UE_Application_Layer_Measurement_Capability_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_UE_Application_Layer_Measurement_Capability;
+asn_struct_free_f UE_Application_Layer_Measurement_Capability_free;
+asn_struct_print_f UE_Application_Layer_Measurement_Capability_print;
+asn_constr_check_f UE_Application_Layer_Measurement_Capability_constraint;
+ber_type_decoder_f UE_Application_Layer_Measurement_Capability_decode_ber;
+der_type_encoder_f UE_Application_Layer_Measurement_Capability_encode_der;
+xer_type_decoder_f UE_Application_Layer_Measurement_Capability_decode_xer;
+xer_type_encoder_f UE_Application_Layer_Measurement_Capability_encode_xer;
+oer_type_decoder_f UE_Application_Layer_Measurement_Capability_decode_oer;
+oer_type_encoder_f UE_Application_Layer_Measurement_Capability_encode_oer;
+per_type_decoder_f UE_Application_Layer_Measurement_Capability_decode_uper;
+per_type_encoder_f UE_Application_Layer_Measurement_Capability_encode_uper;
+per_type_decoder_f UE_Application_Layer_Measurement_Capability_decode_aper;
+per_type_encoder_f UE_Application_Layer_Measurement_Capability_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UE_Application_Layer_Measurement_Capability_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UE-HistoryInformation.h b/src/s1ap/asn1c/asnGenFiles/UE-HistoryInformation.h
new file mode 100644
index 0000000..ef8877d
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UE-HistoryInformation.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UE_HistoryInformation_H_
+#define	_UE_HistoryInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct LastVisitedCell_Item;
+
+/* UE-HistoryInformation */
+typedef struct UE_HistoryInformation {
+	A_SEQUENCE_OF(struct LastVisitedCell_Item) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UE_HistoryInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UE_HistoryInformation;
+extern asn_SET_OF_specifics_t asn_SPC_UE_HistoryInformation_specs_1;
+extern asn_TYPE_member_t asn_MBR_UE_HistoryInformation_1[1];
+extern asn_per_constraints_t asn_PER_type_UE_HistoryInformation_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UE_HistoryInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UE-HistoryInformationFromTheUE.h b/src/s1ap/asn1c/asnGenFiles/UE-HistoryInformationFromTheUE.h
new file mode 100644
index 0000000..5b2700f
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UE-HistoryInformationFromTheUE.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UE_HistoryInformationFromTheUE_H_
+#define	_UE_HistoryInformationFromTheUE_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UE-HistoryInformationFromTheUE */
+typedef OCTET_STRING_t	 UE_HistoryInformationFromTheUE_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UE_HistoryInformationFromTheUE;
+asn_struct_free_f UE_HistoryInformationFromTheUE_free;
+asn_struct_print_f UE_HistoryInformationFromTheUE_print;
+asn_constr_check_f UE_HistoryInformationFromTheUE_constraint;
+ber_type_decoder_f UE_HistoryInformationFromTheUE_decode_ber;
+der_type_encoder_f UE_HistoryInformationFromTheUE_encode_der;
+xer_type_decoder_f UE_HistoryInformationFromTheUE_decode_xer;
+xer_type_encoder_f UE_HistoryInformationFromTheUE_encode_xer;
+oer_type_decoder_f UE_HistoryInformationFromTheUE_decode_oer;
+oer_type_encoder_f UE_HistoryInformationFromTheUE_encode_oer;
+per_type_decoder_f UE_HistoryInformationFromTheUE_decode_uper;
+per_type_encoder_f UE_HistoryInformationFromTheUE_encode_uper;
+per_type_decoder_f UE_HistoryInformationFromTheUE_decode_aper;
+per_type_encoder_f UE_HistoryInformationFromTheUE_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UE_HistoryInformationFromTheUE_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UE-RLF-Report-Container-for-extended-bands.h b/src/s1ap/asn1c/asnGenFiles/UE-RLF-Report-Container-for-extended-bands.h
new file mode 100644
index 0000000..45aeb54
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UE-RLF-Report-Container-for-extended-bands.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UE_RLF_Report_Container_for_extended_bands_H_
+#define	_UE_RLF_Report_Container_for_extended_bands_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UE-RLF-Report-Container-for-extended-bands */
+typedef OCTET_STRING_t	 UE_RLF_Report_Container_for_extended_bands_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UE_RLF_Report_Container_for_extended_bands;
+asn_struct_free_f UE_RLF_Report_Container_for_extended_bands_free;
+asn_struct_print_f UE_RLF_Report_Container_for_extended_bands_print;
+asn_constr_check_f UE_RLF_Report_Container_for_extended_bands_constraint;
+ber_type_decoder_f UE_RLF_Report_Container_for_extended_bands_decode_ber;
+der_type_encoder_f UE_RLF_Report_Container_for_extended_bands_encode_der;
+xer_type_decoder_f UE_RLF_Report_Container_for_extended_bands_decode_xer;
+xer_type_encoder_f UE_RLF_Report_Container_for_extended_bands_encode_xer;
+oer_type_decoder_f UE_RLF_Report_Container_for_extended_bands_decode_oer;
+oer_type_encoder_f UE_RLF_Report_Container_for_extended_bands_encode_oer;
+per_type_decoder_f UE_RLF_Report_Container_for_extended_bands_decode_uper;
+per_type_encoder_f UE_RLF_Report_Container_for_extended_bands_encode_uper;
+per_type_decoder_f UE_RLF_Report_Container_for_extended_bands_decode_aper;
+per_type_encoder_f UE_RLF_Report_Container_for_extended_bands_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UE_RLF_Report_Container_for_extended_bands_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UE-RLF-Report-Container.h b/src/s1ap/asn1c/asnGenFiles/UE-RLF-Report-Container.h
new file mode 100644
index 0000000..20b0ae4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UE-RLF-Report-Container.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UE_RLF_Report_Container_H_
+#define	_UE_RLF_Report_Container_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UE-RLF-Report-Container */
+typedef OCTET_STRING_t	 UE_RLF_Report_Container_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UE_RLF_Report_Container;
+asn_struct_free_f UE_RLF_Report_Container_free;
+asn_struct_print_f UE_RLF_Report_Container_print;
+asn_constr_check_f UE_RLF_Report_Container_constraint;
+ber_type_decoder_f UE_RLF_Report_Container_decode_ber;
+der_type_encoder_f UE_RLF_Report_Container_encode_der;
+xer_type_decoder_f UE_RLF_Report_Container_decode_xer;
+xer_type_encoder_f UE_RLF_Report_Container_encode_xer;
+oer_type_decoder_f UE_RLF_Report_Container_decode_oer;
+oer_type_encoder_f UE_RLF_Report_Container_encode_oer;
+per_type_decoder_f UE_RLF_Report_Container_decode_uper;
+per_type_encoder_f UE_RLF_Report_Container_encode_uper;
+per_type_decoder_f UE_RLF_Report_Container_decode_aper;
+per_type_encoder_f UE_RLF_Report_Container_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UE_RLF_Report_Container_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UE-RetentionInformation.h b/src/s1ap/asn1c/asnGenFiles/UE-RetentionInformation.h
new file mode 100644
index 0000000..0ec9fb7
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UE-RetentionInformation.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UE_RetentionInformation_H_
+#define	_UE_RetentionInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum UE_RetentionInformation {
+	UE_RetentionInformation_ues_retained	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_UE_RetentionInformation;
+
+/* UE-RetentionInformation */
+typedef long	 UE_RetentionInformation_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_UE_RetentionInformation_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_UE_RetentionInformation;
+extern const asn_INTEGER_specifics_t asn_SPC_UE_RetentionInformation_specs_1;
+asn_struct_free_f UE_RetentionInformation_free;
+asn_struct_print_f UE_RetentionInformation_print;
+asn_constr_check_f UE_RetentionInformation_constraint;
+ber_type_decoder_f UE_RetentionInformation_decode_ber;
+der_type_encoder_f UE_RetentionInformation_encode_der;
+xer_type_decoder_f UE_RetentionInformation_decode_xer;
+xer_type_encoder_f UE_RetentionInformation_encode_xer;
+oer_type_decoder_f UE_RetentionInformation_decode_oer;
+oer_type_encoder_f UE_RetentionInformation_encode_oer;
+per_type_decoder_f UE_RetentionInformation_decode_uper;
+per_type_encoder_f UE_RetentionInformation_encode_uper;
+per_type_decoder_f UE_RetentionInformation_decode_aper;
+per_type_encoder_f UE_RetentionInformation_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UE_RetentionInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UE-S1AP-ID-pair.h b/src/s1ap/asn1c/asnGenFiles/UE-S1AP-ID-pair.h
new file mode 100644
index 0000000..191d8ba
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UE-S1AP-ID-pair.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UE_S1AP_ID_pair_H_
+#define	_UE_S1AP_ID_pair_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "MME-UE-S1AP-ID.h"
+#include "ENB-UE-S1AP-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* UE-S1AP-ID-pair */
+typedef struct UE_S1AP_ID_pair {
+	MME_UE_S1AP_ID_t	 mME_UE_S1AP_ID;
+	ENB_UE_S1AP_ID_t	 eNB_UE_S1AP_ID;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UE_S1AP_ID_pair_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UE_S1AP_ID_pair;
+extern asn_SEQUENCE_specifics_t asn_SPC_UE_S1AP_ID_pair_specs_1;
+extern asn_TYPE_member_t asn_MBR_UE_S1AP_ID_pair_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UE_S1AP_ID_pair_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UE-S1AP-IDs.h b/src/s1ap/asn1c/asnGenFiles/UE-S1AP-IDs.h
new file mode 100644
index 0000000..adc68a8
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UE-S1AP-IDs.h
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UE_S1AP_IDs_H_
+#define	_UE_S1AP_IDs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "MME-UE-S1AP-ID.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum UE_S1AP_IDs_PR {
+	UE_S1AP_IDs_PR_NOTHING,	/* No components present */
+	UE_S1AP_IDs_PR_uE_S1AP_ID_pair,
+	UE_S1AP_IDs_PR_mME_UE_S1AP_ID
+	/* Extensions may appear below */
+	
+} UE_S1AP_IDs_PR;
+
+/* Forward declarations */
+struct UE_S1AP_ID_pair;
+
+/* UE-S1AP-IDs */
+typedef struct UE_S1AP_IDs {
+	UE_S1AP_IDs_PR present;
+	union UE_S1AP_IDs_u {
+		struct UE_S1AP_ID_pair	*uE_S1AP_ID_pair;
+		MME_UE_S1AP_ID_t	 mME_UE_S1AP_ID;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UE_S1AP_IDs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UE_S1AP_IDs;
+extern asn_CHOICE_specifics_t asn_SPC_UE_S1AP_IDs_specs_1;
+extern asn_TYPE_member_t asn_MBR_UE_S1AP_IDs_1[2];
+extern asn_per_constraints_t asn_PER_type_UE_S1AP_IDs_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UE_S1AP_IDs_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UE-Usage-Type.h b/src/s1ap/asn1c/asnGenFiles/UE-Usage-Type.h
new file mode 100644
index 0000000..562d435
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UE-Usage-Type.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UE_Usage_Type_H_
+#define	_UE_Usage_Type_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UE-Usage-Type */
+typedef long	 UE_Usage_Type_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_UE_Usage_Type_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_UE_Usage_Type;
+asn_struct_free_f UE_Usage_Type_free;
+asn_struct_print_f UE_Usage_Type_print;
+asn_constr_check_f UE_Usage_Type_constraint;
+ber_type_decoder_f UE_Usage_Type_decode_ber;
+der_type_encoder_f UE_Usage_Type_encode_der;
+xer_type_decoder_f UE_Usage_Type_decode_xer;
+xer_type_encoder_f UE_Usage_Type_encode_xer;
+oer_type_decoder_f UE_Usage_Type_decode_oer;
+oer_type_encoder_f UE_Usage_Type_encode_oer;
+per_type_decoder_f UE_Usage_Type_decode_uper;
+per_type_encoder_f UE_Usage_Type_encode_uper;
+per_type_decoder_f UE_Usage_Type_decode_aper;
+per_type_encoder_f UE_Usage_Type_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UE_Usage_Type_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UE-associatedLogicalS1-ConnectionItem.h b/src/s1ap/asn1c/asnGenFiles/UE-associatedLogicalS1-ConnectionItem.h
new file mode 100644
index 0000000..1676c62
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UE-associatedLogicalS1-ConnectionItem.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UE_associatedLogicalS1_ConnectionItem_H_
+#define	_UE_associatedLogicalS1_ConnectionItem_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "MME-UE-S1AP-ID.h"
+#include "ENB-UE-S1AP-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* UE-associatedLogicalS1-ConnectionItem */
+typedef struct UE_associatedLogicalS1_ConnectionItem {
+	MME_UE_S1AP_ID_t	*mME_UE_S1AP_ID;	/* OPTIONAL */
+	ENB_UE_S1AP_ID_t	*eNB_UE_S1AP_ID;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UE_associatedLogicalS1_ConnectionItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UE_associatedLogicalS1_ConnectionItem;
+extern asn_SEQUENCE_specifics_t asn_SPC_UE_associatedLogicalS1_ConnectionItem_specs_1;
+extern asn_TYPE_member_t asn_MBR_UE_associatedLogicalS1_ConnectionItem_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UE_associatedLogicalS1_ConnectionItem_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UE-associatedLogicalS1-ConnectionListRes.h b/src/s1ap/asn1c/asnGenFiles/UE-associatedLogicalS1-ConnectionListRes.h
new file mode 100644
index 0000000..9fdb818
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UE-associatedLogicalS1-ConnectionListRes.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UE_associatedLogicalS1_ConnectionListRes_H_
+#define	_UE_associatedLogicalS1_ConnectionListRes_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* UE-associatedLogicalS1-ConnectionListRes */
+typedef struct UE_associatedLogicalS1_ConnectionListRes {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UE_associatedLogicalS1_ConnectionListRes_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UE_associatedLogicalS1_ConnectionListRes;
+extern asn_SET_OF_specifics_t asn_SPC_UE_associatedLogicalS1_ConnectionListRes_specs_1;
+extern asn_TYPE_member_t asn_MBR_UE_associatedLogicalS1_ConnectionListRes_1[1];
+extern asn_per_constraints_t asn_PER_type_UE_associatedLogicalS1_ConnectionListRes_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UE_associatedLogicalS1_ConnectionListRes_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UE-associatedLogicalS1-ConnectionListResAck.h b/src/s1ap/asn1c/asnGenFiles/UE-associatedLogicalS1-ConnectionListResAck.h
new file mode 100644
index 0000000..ddeb17b
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UE-associatedLogicalS1-ConnectionListResAck.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UE_associatedLogicalS1_ConnectionListResAck_H_
+#define	_UE_associatedLogicalS1_ConnectionListResAck_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolIE_SingleContainer;
+
+/* UE-associatedLogicalS1-ConnectionListResAck */
+typedef struct UE_associatedLogicalS1_ConnectionListResAck {
+	A_SEQUENCE_OF(struct ProtocolIE_SingleContainer) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UE_associatedLogicalS1_ConnectionListResAck_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UE_associatedLogicalS1_ConnectionListResAck;
+extern asn_SET_OF_specifics_t asn_SPC_UE_associatedLogicalS1_ConnectionListResAck_specs_1;
+extern asn_TYPE_member_t asn_MBR_UE_associatedLogicalS1_ConnectionListResAck_1[1];
+extern asn_per_constraints_t asn_PER_type_UE_associatedLogicalS1_ConnectionListResAck_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UE_associatedLogicalS1_ConnectionListResAck_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UEAggregateMaximumBitrate.h b/src/s1ap/asn1c/asnGenFiles/UEAggregateMaximumBitrate.h
new file mode 100644
index 0000000..694992c
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UEAggregateMaximumBitrate.h
@@ -0,0 +1,49 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UEAggregateMaximumBitrate_H_
+#define	_UEAggregateMaximumBitrate_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "BitRate.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* UEAggregateMaximumBitrate */
+typedef struct UEAggregateMaximumBitrate {
+	BitRate_t	 uEaggregateMaximumBitRateDL;
+	BitRate_t	 uEaggregateMaximumBitRateUL;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UEAggregateMaximumBitrate_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEAggregateMaximumBitrate;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEAggregateMaximumBitrate_specs_1;
+extern asn_TYPE_member_t asn_MBR_UEAggregateMaximumBitrate_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UEAggregateMaximumBitrate_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UEAppLayerMeasConfig.h b/src/s1ap/asn1c/asnGenFiles/UEAppLayerMeasConfig.h
new file mode 100644
index 0000000..29fbc16
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UEAppLayerMeasConfig.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UEAppLayerMeasConfig_H_
+#define	_UEAppLayerMeasConfig_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+#include "AreaScopeOfQMC.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* UEAppLayerMeasConfig */
+typedef struct UEAppLayerMeasConfig {
+	OCTET_STRING_t	 containerForAppLayerMeasConfig;
+	AreaScopeOfQMC_t	 areaScopeOfQMC;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UEAppLayerMeasConfig_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEAppLayerMeasConfig;
+extern asn_SEQUENCE_specifics_t asn_SPC_UEAppLayerMeasConfig_specs_1;
+extern asn_TYPE_member_t asn_MBR_UEAppLayerMeasConfig_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UEAppLayerMeasConfig_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UECapabilityInfoIndication.h b/src/s1ap/asn1c/asnGenFiles/UECapabilityInfoIndication.h
new file mode 100644
index 0000000..e85c76e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UECapabilityInfoIndication.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UECapabilityInfoIndication_H_
+#define	_UECapabilityInfoIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UECapabilityInfoIndication */
+typedef struct UECapabilityInfoIndication {
+	ProtocolIE_Container_129P51_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UECapabilityInfoIndication_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UECapabilityInfoIndication;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UECapabilityInfoIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UECapabilityInfoRequest.h b/src/s1ap/asn1c/asnGenFiles/UECapabilityInfoRequest.h
new file mode 100644
index 0000000..beccd22
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UECapabilityInfoRequest.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UECapabilityInfoRequest_H_
+#define	_UECapabilityInfoRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum UECapabilityInfoRequest {
+	UECapabilityInfoRequest_requested	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_UECapabilityInfoRequest;
+
+/* UECapabilityInfoRequest */
+typedef long	 UECapabilityInfoRequest_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_UECapabilityInfoRequest_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_UECapabilityInfoRequest;
+extern const asn_INTEGER_specifics_t asn_SPC_UECapabilityInfoRequest_specs_1;
+asn_struct_free_f UECapabilityInfoRequest_free;
+asn_struct_print_f UECapabilityInfoRequest_print;
+asn_constr_check_f UECapabilityInfoRequest_constraint;
+ber_type_decoder_f UECapabilityInfoRequest_decode_ber;
+der_type_encoder_f UECapabilityInfoRequest_encode_der;
+xer_type_decoder_f UECapabilityInfoRequest_decode_xer;
+xer_type_encoder_f UECapabilityInfoRequest_encode_xer;
+oer_type_decoder_f UECapabilityInfoRequest_decode_oer;
+oer_type_encoder_f UECapabilityInfoRequest_encode_oer;
+per_type_decoder_f UECapabilityInfoRequest_decode_uper;
+per_type_encoder_f UECapabilityInfoRequest_encode_uper;
+per_type_decoder_f UECapabilityInfoRequest_decode_aper;
+per_type_encoder_f UECapabilityInfoRequest_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UECapabilityInfoRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UEContextModificationConfirm.h b/src/s1ap/asn1c/asnGenFiles/UEContextModificationConfirm.h
new file mode 100644
index 0000000..4b4b5e3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UEContextModificationConfirm.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UEContextModificationConfirm_H_
+#define	_UEContextModificationConfirm_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UEContextModificationConfirm */
+typedef struct UEContextModificationConfirm {
+	ProtocolIE_Container_129P80_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UEContextModificationConfirm_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEContextModificationConfirm;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UEContextModificationConfirm_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UEContextModificationFailure.h b/src/s1ap/asn1c/asnGenFiles/UEContextModificationFailure.h
new file mode 100644
index 0000000..d42373e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UEContextModificationFailure.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UEContextModificationFailure_H_
+#define	_UEContextModificationFailure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UEContextModificationFailure */
+typedef struct UEContextModificationFailure {
+	ProtocolIE_Container_129P28_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UEContextModificationFailure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEContextModificationFailure;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UEContextModificationFailure_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UEContextModificationIndication.h b/src/s1ap/asn1c/asnGenFiles/UEContextModificationIndication.h
new file mode 100644
index 0000000..0f5e115
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UEContextModificationIndication.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UEContextModificationIndication_H_
+#define	_UEContextModificationIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UEContextModificationIndication */
+typedef struct UEContextModificationIndication {
+	ProtocolIE_Container_129P79_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UEContextModificationIndication_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEContextModificationIndication;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UEContextModificationIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UEContextModificationRequest.h b/src/s1ap/asn1c/asnGenFiles/UEContextModificationRequest.h
new file mode 100644
index 0000000..368d0b3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UEContextModificationRequest.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UEContextModificationRequest_H_
+#define	_UEContextModificationRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UEContextModificationRequest */
+typedef struct UEContextModificationRequest {
+	ProtocolIE_Container_129P26_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UEContextModificationRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEContextModificationRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UEContextModificationRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UEContextModificationResponse.h b/src/s1ap/asn1c/asnGenFiles/UEContextModificationResponse.h
new file mode 100644
index 0000000..59fd258
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UEContextModificationResponse.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UEContextModificationResponse_H_
+#define	_UEContextModificationResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UEContextModificationResponse */
+typedef struct UEContextModificationResponse {
+	ProtocolIE_Container_129P27_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UEContextModificationResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEContextModificationResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UEContextModificationResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UEContextReleaseCommand.h b/src/s1ap/asn1c/asnGenFiles/UEContextReleaseCommand.h
new file mode 100644
index 0000000..251adc8
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UEContextReleaseCommand.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UEContextReleaseCommand_H_
+#define	_UEContextReleaseCommand_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UEContextReleaseCommand */
+typedef struct UEContextReleaseCommand {
+	ProtocolIE_Container_129P24_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UEContextReleaseCommand_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEContextReleaseCommand;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UEContextReleaseCommand_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UEContextReleaseComplete.h b/src/s1ap/asn1c/asnGenFiles/UEContextReleaseComplete.h
new file mode 100644
index 0000000..6ec706c
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UEContextReleaseComplete.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UEContextReleaseComplete_H_
+#define	_UEContextReleaseComplete_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UEContextReleaseComplete */
+typedef struct UEContextReleaseComplete {
+	ProtocolIE_Container_129P25_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UEContextReleaseComplete_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEContextReleaseComplete;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UEContextReleaseComplete_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UEContextReleaseRequest.h b/src/s1ap/asn1c/asnGenFiles/UEContextReleaseRequest.h
new file mode 100644
index 0000000..39bc1a8
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UEContextReleaseRequest.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UEContextReleaseRequest_H_
+#define	_UEContextReleaseRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UEContextReleaseRequest */
+typedef struct UEContextReleaseRequest {
+	ProtocolIE_Container_129P23_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UEContextReleaseRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEContextReleaseRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UEContextReleaseRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UEContextResumeFailure.h b/src/s1ap/asn1c/asnGenFiles/UEContextResumeFailure.h
new file mode 100644
index 0000000..cade135
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UEContextResumeFailure.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UEContextResumeFailure_H_
+#define	_UEContextResumeFailure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UEContextResumeFailure */
+typedef struct UEContextResumeFailure {
+	ProtocolIE_Container_129P85_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UEContextResumeFailure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEContextResumeFailure;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UEContextResumeFailure_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UEContextResumeRequest.h b/src/s1ap/asn1c/asnGenFiles/UEContextResumeRequest.h
new file mode 100644
index 0000000..1f50596
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UEContextResumeRequest.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UEContextResumeRequest_H_
+#define	_UEContextResumeRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UEContextResumeRequest */
+typedef struct UEContextResumeRequest {
+	ProtocolIE_Container_129P83_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UEContextResumeRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEContextResumeRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UEContextResumeRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UEContextResumeResponse.h b/src/s1ap/asn1c/asnGenFiles/UEContextResumeResponse.h
new file mode 100644
index 0000000..000d1c2
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UEContextResumeResponse.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UEContextResumeResponse_H_
+#define	_UEContextResumeResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UEContextResumeResponse */
+typedef struct UEContextResumeResponse {
+	ProtocolIE_Container_129P84_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UEContextResumeResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEContextResumeResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UEContextResumeResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UEContextSuspendRequest.h b/src/s1ap/asn1c/asnGenFiles/UEContextSuspendRequest.h
new file mode 100644
index 0000000..f6bd7ad
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UEContextSuspendRequest.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UEContextSuspendRequest_H_
+#define	_UEContextSuspendRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UEContextSuspendRequest */
+typedef struct UEContextSuspendRequest {
+	ProtocolIE_Container_129P81_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UEContextSuspendRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEContextSuspendRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UEContextSuspendRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UEContextSuspendResponse.h b/src/s1ap/asn1c/asnGenFiles/UEContextSuspendResponse.h
new file mode 100644
index 0000000..cb12344
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UEContextSuspendResponse.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UEContextSuspendResponse_H_
+#define	_UEContextSuspendResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UEContextSuspendResponse */
+typedef struct UEContextSuspendResponse {
+	ProtocolIE_Container_129P82_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UEContextSuspendResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEContextSuspendResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UEContextSuspendResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UEIdentityIndexValue.h b/src/s1ap/asn1c/asnGenFiles/UEIdentityIndexValue.h
new file mode 100644
index 0000000..a38565f
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UEIdentityIndexValue.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UEIdentityIndexValue_H_
+#define	_UEIdentityIndexValue_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UEIdentityIndexValue */
+typedef BIT_STRING_t	 UEIdentityIndexValue_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_UEIdentityIndexValue_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_UEIdentityIndexValue;
+asn_struct_free_f UEIdentityIndexValue_free;
+asn_struct_print_f UEIdentityIndexValue_print;
+asn_constr_check_f UEIdentityIndexValue_constraint;
+ber_type_decoder_f UEIdentityIndexValue_decode_ber;
+der_type_encoder_f UEIdentityIndexValue_encode_der;
+xer_type_decoder_f UEIdentityIndexValue_decode_xer;
+xer_type_encoder_f UEIdentityIndexValue_encode_xer;
+oer_type_decoder_f UEIdentityIndexValue_decode_oer;
+oer_type_encoder_f UEIdentityIndexValue_encode_oer;
+per_type_decoder_f UEIdentityIndexValue_decode_uper;
+per_type_encoder_f UEIdentityIndexValue_encode_uper;
+per_type_decoder_f UEIdentityIndexValue_decode_aper;
+per_type_encoder_f UEIdentityIndexValue_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UEIdentityIndexValue_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UEInformationTransfer.h b/src/s1ap/asn1c/asnGenFiles/UEInformationTransfer.h
new file mode 100644
index 0000000..4850cc4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UEInformationTransfer.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UEInformationTransfer_H_
+#define	_UEInformationTransfer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UEInformationTransfer */
+typedef struct UEInformationTransfer {
+	ProtocolIE_Container_129P88_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UEInformationTransfer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEInformationTransfer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UEInformationTransfer_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UEPagingID.h b/src/s1ap/asn1c/asnGenFiles/UEPagingID.h
new file mode 100644
index 0000000..59d40a4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UEPagingID.h
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UEPagingID_H_
+#define	_UEPagingID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "IMSI.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum UEPagingID_PR {
+	UEPagingID_PR_NOTHING,	/* No components present */
+	UEPagingID_PR_s_TMSI,
+	UEPagingID_PR_iMSI
+	/* Extensions may appear below */
+	
+} UEPagingID_PR;
+
+/* Forward declarations */
+struct S_TMSI;
+
+/* UEPagingID */
+typedef struct UEPagingID {
+	UEPagingID_PR present;
+	union UEPagingID_u {
+		struct S_TMSI	*s_TMSI;
+		IMSI_t	 iMSI;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UEPagingID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UEPagingID;
+extern asn_CHOICE_specifics_t asn_SPC_UEPagingID_specs_1;
+extern asn_TYPE_member_t asn_MBR_UEPagingID_1[2];
+extern asn_per_constraints_t asn_PER_type_UEPagingID_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UEPagingID_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UERadioCapability.h b/src/s1ap/asn1c/asnGenFiles/UERadioCapability.h
new file mode 100644
index 0000000..92a8c4e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UERadioCapability.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UERadioCapability_H_
+#define	_UERadioCapability_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UERadioCapability */
+typedef OCTET_STRING_t	 UERadioCapability_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UERadioCapability;
+asn_struct_free_f UERadioCapability_free;
+asn_struct_print_f UERadioCapability_print;
+asn_constr_check_f UERadioCapability_constraint;
+ber_type_decoder_f UERadioCapability_decode_ber;
+der_type_encoder_f UERadioCapability_encode_der;
+xer_type_decoder_f UERadioCapability_decode_xer;
+xer_type_encoder_f UERadioCapability_encode_xer;
+oer_type_decoder_f UERadioCapability_decode_oer;
+oer_type_encoder_f UERadioCapability_encode_oer;
+per_type_decoder_f UERadioCapability_decode_uper;
+per_type_encoder_f UERadioCapability_encode_uper;
+per_type_decoder_f UERadioCapability_decode_aper;
+per_type_encoder_f UERadioCapability_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UERadioCapability_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UERadioCapabilityForPaging.h b/src/s1ap/asn1c/asnGenFiles/UERadioCapabilityForPaging.h
new file mode 100644
index 0000000..22668d8
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UERadioCapabilityForPaging.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UERadioCapabilityForPaging_H_
+#define	_UERadioCapabilityForPaging_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UERadioCapabilityForPaging */
+typedef OCTET_STRING_t	 UERadioCapabilityForPaging_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UERadioCapabilityForPaging;
+asn_struct_free_f UERadioCapabilityForPaging_free;
+asn_struct_print_f UERadioCapabilityForPaging_print;
+asn_constr_check_f UERadioCapabilityForPaging_constraint;
+ber_type_decoder_f UERadioCapabilityForPaging_decode_ber;
+der_type_encoder_f UERadioCapabilityForPaging_encode_der;
+xer_type_decoder_f UERadioCapabilityForPaging_decode_xer;
+xer_type_encoder_f UERadioCapabilityForPaging_encode_xer;
+oer_type_decoder_f UERadioCapabilityForPaging_decode_oer;
+oer_type_encoder_f UERadioCapabilityForPaging_encode_oer;
+per_type_decoder_f UERadioCapabilityForPaging_decode_uper;
+per_type_encoder_f UERadioCapabilityForPaging_encode_uper;
+per_type_decoder_f UERadioCapabilityForPaging_decode_aper;
+per_type_encoder_f UERadioCapabilityForPaging_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UERadioCapabilityForPaging_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UERadioCapabilityMatchRequest.h b/src/s1ap/asn1c/asnGenFiles/UERadioCapabilityMatchRequest.h
new file mode 100644
index 0000000..47f7af3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UERadioCapabilityMatchRequest.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UERadioCapabilityMatchRequest_H_
+#define	_UERadioCapabilityMatchRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UERadioCapabilityMatchRequest */
+typedef struct UERadioCapabilityMatchRequest {
+	ProtocolIE_Container_129P29_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UERadioCapabilityMatchRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UERadioCapabilityMatchRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UERadioCapabilityMatchRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UERadioCapabilityMatchResponse.h b/src/s1ap/asn1c/asnGenFiles/UERadioCapabilityMatchResponse.h
new file mode 100644
index 0000000..a902253
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UERadioCapabilityMatchResponse.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UERadioCapabilityMatchResponse_H_
+#define	_UERadioCapabilityMatchResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UERadioCapabilityMatchResponse */
+typedef struct UERadioCapabilityMatchResponse {
+	ProtocolIE_Container_129P30_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UERadioCapabilityMatchResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UERadioCapabilityMatchResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UERadioCapabilityMatchResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UESecurityCapabilities.h b/src/s1ap/asn1c/asnGenFiles/UESecurityCapabilities.h
new file mode 100644
index 0000000..94b7465
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UESecurityCapabilities.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UESecurityCapabilities_H_
+#define	_UESecurityCapabilities_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "EncryptionAlgorithms.h"
+#include "IntegrityProtectionAlgorithms.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* UESecurityCapabilities */
+typedef struct UESecurityCapabilities {
+	EncryptionAlgorithms_t	 encryptionAlgorithms;
+	IntegrityProtectionAlgorithms_t	 integrityProtectionAlgorithms;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UESecurityCapabilities_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UESecurityCapabilities;
+extern asn_SEQUENCE_specifics_t asn_SPC_UESecurityCapabilities_specs_1;
+extern asn_TYPE_member_t asn_MBR_UESecurityCapabilities_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UESecurityCapabilities_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UESidelinkAggregateMaximumBitrate.h b/src/s1ap/asn1c/asnGenFiles/UESidelinkAggregateMaximumBitrate.h
new file mode 100644
index 0000000..07121d3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UESidelinkAggregateMaximumBitrate.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UESidelinkAggregateMaximumBitrate_H_
+#define	_UESidelinkAggregateMaximumBitrate_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "BitRate.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* UESidelinkAggregateMaximumBitrate */
+typedef struct UESidelinkAggregateMaximumBitrate {
+	BitRate_t	 uESidelinkAggregateMaximumBitRate;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UESidelinkAggregateMaximumBitrate_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UESidelinkAggregateMaximumBitrate;
+extern asn_SEQUENCE_specifics_t asn_SPC_UESidelinkAggregateMaximumBitrate_specs_1;
+extern asn_TYPE_member_t asn_MBR_UESidelinkAggregateMaximumBitrate_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UESidelinkAggregateMaximumBitrate_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UEUserPlaneCIoTSupportIndicator.h b/src/s1ap/asn1c/asnGenFiles/UEUserPlaneCIoTSupportIndicator.h
new file mode 100644
index 0000000..d088554
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UEUserPlaneCIoTSupportIndicator.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UEUserPlaneCIoTSupportIndicator_H_
+#define	_UEUserPlaneCIoTSupportIndicator_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum UEUserPlaneCIoTSupportIndicator {
+	UEUserPlaneCIoTSupportIndicator_supported	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_UEUserPlaneCIoTSupportIndicator;
+
+/* UEUserPlaneCIoTSupportIndicator */
+typedef long	 UEUserPlaneCIoTSupportIndicator_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_UEUserPlaneCIoTSupportIndicator_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_UEUserPlaneCIoTSupportIndicator;
+extern const asn_INTEGER_specifics_t asn_SPC_UEUserPlaneCIoTSupportIndicator_specs_1;
+asn_struct_free_f UEUserPlaneCIoTSupportIndicator_free;
+asn_struct_print_f UEUserPlaneCIoTSupportIndicator_print;
+asn_constr_check_f UEUserPlaneCIoTSupportIndicator_constraint;
+ber_type_decoder_f UEUserPlaneCIoTSupportIndicator_decode_ber;
+der_type_encoder_f UEUserPlaneCIoTSupportIndicator_encode_der;
+xer_type_decoder_f UEUserPlaneCIoTSupportIndicator_decode_xer;
+xer_type_encoder_f UEUserPlaneCIoTSupportIndicator_encode_xer;
+oer_type_decoder_f UEUserPlaneCIoTSupportIndicator_decode_oer;
+oer_type_encoder_f UEUserPlaneCIoTSupportIndicator_encode_oer;
+per_type_decoder_f UEUserPlaneCIoTSupportIndicator_decode_uper;
+per_type_encoder_f UEUserPlaneCIoTSupportIndicator_encode_uper;
+per_type_decoder_f UEUserPlaneCIoTSupportIndicator_decode_aper;
+per_type_encoder_f UEUserPlaneCIoTSupportIndicator_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UEUserPlaneCIoTSupportIndicator_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UL-CP-SecurityInformation.h b/src/s1ap/asn1c/asnGenFiles/UL-CP-SecurityInformation.h
new file mode 100644
index 0000000..83e6ca5
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UL-CP-SecurityInformation.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UL_CP_SecurityInformation_H_
+#define	_UL_CP_SecurityInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "UL-NAS-MAC.h"
+#include "UL-NAS-Count.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* UL-CP-SecurityInformation */
+typedef struct UL_CP_SecurityInformation {
+	UL_NAS_MAC_t	 ul_NAS_MAC;
+	UL_NAS_Count_t	 ul_NAS_Count;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UL_CP_SecurityInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UL_CP_SecurityInformation;
+extern asn_SEQUENCE_specifics_t asn_SPC_UL_CP_SecurityInformation_specs_1;
+extern asn_TYPE_member_t asn_MBR_UL_CP_SecurityInformation_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UL_CP_SecurityInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UL-NAS-Count.h b/src/s1ap/asn1c/asnGenFiles/UL-NAS-Count.h
new file mode 100644
index 0000000..34af7ab
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UL-NAS-Count.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UL_NAS_Count_H_
+#define	_UL_NAS_Count_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UL-NAS-Count */
+typedef BIT_STRING_t	 UL_NAS_Count_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_UL_NAS_Count_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_UL_NAS_Count;
+asn_struct_free_f UL_NAS_Count_free;
+asn_struct_print_f UL_NAS_Count_print;
+asn_constr_check_f UL_NAS_Count_constraint;
+ber_type_decoder_f UL_NAS_Count_decode_ber;
+der_type_encoder_f UL_NAS_Count_encode_der;
+xer_type_decoder_f UL_NAS_Count_decode_xer;
+xer_type_encoder_f UL_NAS_Count_encode_xer;
+oer_type_decoder_f UL_NAS_Count_decode_oer;
+oer_type_encoder_f UL_NAS_Count_encode_oer;
+per_type_decoder_f UL_NAS_Count_decode_uper;
+per_type_encoder_f UL_NAS_Count_encode_uper;
+per_type_decoder_f UL_NAS_Count_decode_aper;
+per_type_encoder_f UL_NAS_Count_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UL_NAS_Count_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UL-NAS-MAC.h b/src/s1ap/asn1c/asnGenFiles/UL-NAS-MAC.h
new file mode 100644
index 0000000..80b61c3
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UL-NAS-MAC.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UL_NAS_MAC_H_
+#define	_UL_NAS_MAC_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UL-NAS-MAC */
+typedef BIT_STRING_t	 UL_NAS_MAC_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_UL_NAS_MAC_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_UL_NAS_MAC;
+asn_struct_free_f UL_NAS_MAC_free;
+asn_struct_print_f UL_NAS_MAC_print;
+asn_constr_check_f UL_NAS_MAC_constraint;
+ber_type_decoder_f UL_NAS_MAC_decode_ber;
+der_type_encoder_f UL_NAS_MAC_encode_der;
+xer_type_decoder_f UL_NAS_MAC_decode_xer;
+xer_type_encoder_f UL_NAS_MAC_encode_xer;
+oer_type_decoder_f UL_NAS_MAC_decode_oer;
+oer_type_encoder_f UL_NAS_MAC_encode_oer;
+per_type_decoder_f UL_NAS_MAC_decode_uper;
+per_type_encoder_f UL_NAS_MAC_encode_uper;
+per_type_decoder_f UL_NAS_MAC_decode_aper;
+per_type_encoder_f UL_NAS_MAC_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UL_NAS_MAC_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UnlicensedSpectrumRestriction.h b/src/s1ap/asn1c/asnGenFiles/UnlicensedSpectrumRestriction.h
new file mode 100644
index 0000000..d1b593c
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UnlicensedSpectrumRestriction.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UnlicensedSpectrumRestriction_H_
+#define	_UnlicensedSpectrumRestriction_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum UnlicensedSpectrumRestriction {
+	UnlicensedSpectrumRestriction_unlicensed_restricted	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_UnlicensedSpectrumRestriction;
+
+/* UnlicensedSpectrumRestriction */
+typedef long	 UnlicensedSpectrumRestriction_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_UnlicensedSpectrumRestriction_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_UnlicensedSpectrumRestriction;
+extern const asn_INTEGER_specifics_t asn_SPC_UnlicensedSpectrumRestriction_specs_1;
+asn_struct_free_f UnlicensedSpectrumRestriction_free;
+asn_struct_print_f UnlicensedSpectrumRestriction_print;
+asn_constr_check_f UnlicensedSpectrumRestriction_constraint;
+ber_type_decoder_f UnlicensedSpectrumRestriction_decode_ber;
+der_type_encoder_f UnlicensedSpectrumRestriction_encode_der;
+xer_type_decoder_f UnlicensedSpectrumRestriction_decode_xer;
+xer_type_encoder_f UnlicensedSpectrumRestriction_encode_xer;
+oer_type_decoder_f UnlicensedSpectrumRestriction_decode_oer;
+oer_type_encoder_f UnlicensedSpectrumRestriction_encode_oer;
+per_type_decoder_f UnlicensedSpectrumRestriction_decode_uper;
+per_type_encoder_f UnlicensedSpectrumRestriction_encode_uper;
+per_type_decoder_f UnlicensedSpectrumRestriction_decode_aper;
+per_type_encoder_f UnlicensedSpectrumRestriction_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UnlicensedSpectrumRestriction_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UnsuccessfulOutcome.h b/src/s1ap/asn1c/asnGenFiles/UnsuccessfulOutcome.h
new file mode 100644
index 0000000..374f723
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UnsuccessfulOutcome.h
@@ -0,0 +1,170 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Descriptions"
+ * 	found in "./asn1c/S1AP-PDU-Descriptions.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UnsuccessfulOutcome_H_
+#define	_UnsuccessfulOutcome_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProcedureCode.h"
+#include "Criticality.h"
+#include <ANY.h>
+#include <asn_ioc.h>
+#include "HandoverRequired.h"
+#include "HandoverCommand.h"
+#include "HandoverPreparationFailure.h"
+#include "HandoverRequest.h"
+#include "HandoverRequestAcknowledge.h"
+#include "HandoverFailure.h"
+#include "PathSwitchRequest.h"
+#include "PathSwitchRequestAcknowledge.h"
+#include "PathSwitchRequestFailure.h"
+#include "E-RABSetupRequest.h"
+#include "E-RABSetupResponse.h"
+#include "E-RABModifyRequest.h"
+#include "E-RABModifyResponse.h"
+#include "E-RABReleaseCommand.h"
+#include "E-RABReleaseResponse.h"
+#include "InitialContextSetupRequest.h"
+#include "InitialContextSetupResponse.h"
+#include "InitialContextSetupFailure.h"
+#include "HandoverCancel.h"
+#include "HandoverCancelAcknowledge.h"
+#include "KillRequest.h"
+#include "KillResponse.h"
+#include "Reset.h"
+#include "ResetAcknowledge.h"
+#include "S1SetupRequest.h"
+#include "S1SetupResponse.h"
+#include "S1SetupFailure.h"
+#include "UEContextModificationRequest.h"
+#include "UEContextModificationResponse.h"
+#include "UEContextModificationFailure.h"
+#include "UEContextReleaseCommand.h"
+#include "UEContextReleaseComplete.h"
+#include "ENBConfigurationUpdate.h"
+#include "ENBConfigurationUpdateAcknowledge.h"
+#include "ENBConfigurationUpdateFailure.h"
+#include "MMEConfigurationUpdate.h"
+#include "MMEConfigurationUpdateAcknowledge.h"
+#include "MMEConfigurationUpdateFailure.h"
+#include "WriteReplaceWarningRequest.h"
+#include "WriteReplaceWarningResponse.h"
+#include "UERadioCapabilityMatchRequest.h"
+#include "UERadioCapabilityMatchResponse.h"
+#include "E-RABModificationIndication.h"
+#include "E-RABModificationConfirm.h"
+#include "UEContextModificationIndication.h"
+#include "UEContextModificationConfirm.h"
+#include "UEContextSuspendRequest.h"
+#include "UEContextSuspendResponse.h"
+#include "UEContextResumeRequest.h"
+#include "UEContextResumeResponse.h"
+#include "UEContextResumeFailure.h"
+#include "HandoverNotify.h"
+#include "E-RABReleaseIndication.h"
+#include "Paging.h"
+#include "DownlinkNASTransport.h"
+#include "InitialUEMessage.h"
+#include "UplinkNASTransport.h"
+#include "ErrorIndication.h"
+#include "NASNonDeliveryIndication.h"
+#include "UEContextReleaseRequest.h"
+#include "DownlinkS1cdma2000tunnelling.h"
+#include "UplinkS1cdma2000tunnelling.h"
+#include "UECapabilityInfoIndication.h"
+#include "ENBStatusTransfer.h"
+#include "MMEStatusTransfer.h"
+#include "DeactivateTrace.h"
+#include "TraceStart.h"
+#include "TraceFailureIndication.h"
+#include "CellTrafficTrace.h"
+#include "LocationReportingControl.h"
+#include "LocationReportingFailureIndication.h"
+#include "LocationReport.h"
+#include "OverloadStart.h"
+#include "OverloadStop.h"
+#include "ENBDirectInformationTransfer.h"
+#include "MMEDirectInformationTransfer.h"
+#include "ENBConfigurationTransfer.h"
+#include "MMEConfigurationTransfer.h"
+#include "PrivateMessage.h"
+#include "DownlinkUEAssociatedLPPaTransport.h"
+#include "UplinkUEAssociatedLPPaTransport.h"
+#include "DownlinkNonUEAssociatedLPPaTransport.h"
+#include "UplinkNonUEAssociatedLPPaTransport.h"
+#include "PWSRestartIndication.h"
+#include "RerouteNASRequest.h"
+#include "PWSFailureIndication.h"
+#include "ConnectionEstablishmentIndication.h"
+#include "NASDeliveryIndication.h"
+#include "RetrieveUEInformation.h"
+#include "UEInformationTransfer.h"
+#include "ENBCPRelocationIndication.h"
+#include "MMECPRelocationIndication.h"
+#include "SecondaryRATDataUsageReport.h"
+#include <OPEN_TYPE.h>
+#include <constr_CHOICE.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum UnsuccessfulOutcome__value_PR {
+	UnsuccessfulOutcome__value_PR_NOTHING,	/* No components present */
+	UnsuccessfulOutcome__value_PR_HandoverPreparationFailure,
+	UnsuccessfulOutcome__value_PR_HandoverFailure,
+	UnsuccessfulOutcome__value_PR_PathSwitchRequestFailure,
+	UnsuccessfulOutcome__value_PR_InitialContextSetupFailure,
+	UnsuccessfulOutcome__value_PR_S1SetupFailure,
+	UnsuccessfulOutcome__value_PR_UEContextModificationFailure,
+	UnsuccessfulOutcome__value_PR_ENBConfigurationUpdateFailure,
+	UnsuccessfulOutcome__value_PR_MMEConfigurationUpdateFailure,
+	UnsuccessfulOutcome__value_PR_UEContextResumeFailure
+} UnsuccessfulOutcome__value_PR;
+
+/* UnsuccessfulOutcome */
+typedef struct UnsuccessfulOutcome {
+	ProcedureCode_t	 procedureCode;
+	Criticality_t	 criticality;
+	struct UnsuccessfulOutcome__value {
+		UnsuccessfulOutcome__value_PR present;
+		union UnsuccessfulOutcome__value_u {
+			HandoverPreparationFailure_t	 HandoverPreparationFailure;
+			HandoverFailure_t	 HandoverFailure;
+			PathSwitchRequestFailure_t	 PathSwitchRequestFailure;
+			InitialContextSetupFailure_t	 InitialContextSetupFailure;
+			S1SetupFailure_t	 S1SetupFailure;
+			UEContextModificationFailure_t	 UEContextModificationFailure;
+			ENBConfigurationUpdateFailure_t	 ENBConfigurationUpdateFailure;
+			MMEConfigurationUpdateFailure_t	 MMEConfigurationUpdateFailure;
+			UEContextResumeFailure_t	 UEContextResumeFailure;
+		} 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;
+} UnsuccessfulOutcome_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UnsuccessfulOutcome;
+extern asn_SEQUENCE_specifics_t asn_SPC_UnsuccessfulOutcome_specs_1;
+extern asn_TYPE_member_t asn_MBR_UnsuccessfulOutcome_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UnsuccessfulOutcome_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UplinkNASTransport.h b/src/s1ap/asn1c/asnGenFiles/UplinkNASTransport.h
new file mode 100644
index 0000000..6a18a16
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UplinkNASTransport.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UplinkNASTransport_H_
+#define	_UplinkNASTransport_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UplinkNASTransport */
+typedef struct UplinkNASTransport {
+	ProtocolIE_Container_129P33_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UplinkNASTransport_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UplinkNASTransport;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UplinkNASTransport_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UplinkNonUEAssociatedLPPaTransport.h b/src/s1ap/asn1c/asnGenFiles/UplinkNonUEAssociatedLPPaTransport.h
new file mode 100644
index 0000000..2137e4e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UplinkNonUEAssociatedLPPaTransport.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UplinkNonUEAssociatedLPPaTransport_H_
+#define	_UplinkNonUEAssociatedLPPaTransport_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UplinkNonUEAssociatedLPPaTransport */
+typedef struct UplinkNonUEAssociatedLPPaTransport {
+	ProtocolIE_Container_129P76_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UplinkNonUEAssociatedLPPaTransport_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UplinkNonUEAssociatedLPPaTransport;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UplinkNonUEAssociatedLPPaTransport_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UplinkS1cdma2000tunnelling.h b/src/s1ap/asn1c/asnGenFiles/UplinkS1cdma2000tunnelling.h
new file mode 100644
index 0000000..0155ad8
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UplinkS1cdma2000tunnelling.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UplinkS1cdma2000tunnelling_H_
+#define	_UplinkS1cdma2000tunnelling_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UplinkS1cdma2000tunnelling */
+typedef struct UplinkS1cdma2000tunnelling {
+	ProtocolIE_Container_129P50_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UplinkS1cdma2000tunnelling_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UplinkS1cdma2000tunnelling;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UplinkS1cdma2000tunnelling_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UplinkUEAssociatedLPPaTransport.h b/src/s1ap/asn1c/asnGenFiles/UplinkUEAssociatedLPPaTransport.h
new file mode 100644
index 0000000..1ad3d28
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UplinkUEAssociatedLPPaTransport.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UplinkUEAssociatedLPPaTransport_H_
+#define	_UplinkUEAssociatedLPPaTransport_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* UplinkUEAssociatedLPPaTransport */
+typedef struct UplinkUEAssociatedLPPaTransport {
+	ProtocolIE_Container_129P74_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UplinkUEAssociatedLPPaTransport_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UplinkUEAssociatedLPPaTransport;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UplinkUEAssociatedLPPaTransport_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/UserLocationInformation.h b/src/s1ap/asn1c/asnGenFiles/UserLocationInformation.h
new file mode 100644
index 0000000..81ff149
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/UserLocationInformation.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_UserLocationInformation_H_
+#define	_UserLocationInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "EUTRAN-CGI.h"
+#include "TAI.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* UserLocationInformation */
+typedef struct UserLocationInformation {
+	EUTRAN_CGI_t	 eutran_cgi;
+	TAI_t	 tai;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UserLocationInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UserLocationInformation;
+extern asn_SEQUENCE_specifics_t asn_SPC_UserLocationInformation_specs_1;
+extern asn_TYPE_member_t asn_MBR_UserLocationInformation_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UserLocationInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/V2XServicesAuthorized.h b/src/s1ap/asn1c/asnGenFiles/V2XServicesAuthorized.h
new file mode 100644
index 0000000..875b384
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/V2XServicesAuthorized.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_V2XServicesAuthorized_H_
+#define	_V2XServicesAuthorized_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "VehicleUE.h"
+#include "PedestrianUE.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* V2XServicesAuthorized */
+typedef struct V2XServicesAuthorized {
+	VehicleUE_t	*vehicleUE;	/* OPTIONAL */
+	PedestrianUE_t	*pedestrianUE;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} V2XServicesAuthorized_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_V2XServicesAuthorized;
+extern asn_SEQUENCE_specifics_t asn_SPC_V2XServicesAuthorized_specs_1;
+extern asn_TYPE_member_t asn_MBR_V2XServicesAuthorized_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _V2XServicesAuthorized_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/VehicleUE.h b/src/s1ap/asn1c/asnGenFiles/VehicleUE.h
new file mode 100644
index 0000000..bfe3da0
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/VehicleUE.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_VehicleUE_H_
+#define	_VehicleUE_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum VehicleUE {
+	VehicleUE_authorized	= 0,
+	VehicleUE_not_authorized	= 1
+	/*
+	 * Enumeration is extensible
+	 */
+} e_VehicleUE;
+
+/* VehicleUE */
+typedef long	 VehicleUE_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_VehicleUE_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_VehicleUE;
+extern const asn_INTEGER_specifics_t asn_SPC_VehicleUE_specs_1;
+asn_struct_free_f VehicleUE_free;
+asn_struct_print_f VehicleUE_print;
+asn_constr_check_f VehicleUE_constraint;
+ber_type_decoder_f VehicleUE_decode_ber;
+der_type_encoder_f VehicleUE_encode_der;
+xer_type_decoder_f VehicleUE_decode_xer;
+xer_type_encoder_f VehicleUE_encode_xer;
+oer_type_decoder_f VehicleUE_decode_oer;
+oer_type_encoder_f VehicleUE_encode_oer;
+per_type_decoder_f VehicleUE_decode_uper;
+per_type_encoder_f VehicleUE_encode_uper;
+per_type_decoder_f VehicleUE_decode_aper;
+per_type_encoder_f VehicleUE_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _VehicleUE_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/VoiceSupportMatchIndicator.h b/src/s1ap/asn1c/asnGenFiles/VoiceSupportMatchIndicator.h
new file mode 100644
index 0000000..495c4b5
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/VoiceSupportMatchIndicator.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_VoiceSupportMatchIndicator_H_
+#define	_VoiceSupportMatchIndicator_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum VoiceSupportMatchIndicator {
+	VoiceSupportMatchIndicator_supported	= 0,
+	VoiceSupportMatchIndicator_not_supported	= 1
+	/*
+	 * Enumeration is extensible
+	 */
+} e_VoiceSupportMatchIndicator;
+
+/* VoiceSupportMatchIndicator */
+typedef long	 VoiceSupportMatchIndicator_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_VoiceSupportMatchIndicator_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_VoiceSupportMatchIndicator;
+extern const asn_INTEGER_specifics_t asn_SPC_VoiceSupportMatchIndicator_specs_1;
+asn_struct_free_f VoiceSupportMatchIndicator_free;
+asn_struct_print_f VoiceSupportMatchIndicator_print;
+asn_constr_check_f VoiceSupportMatchIndicator_constraint;
+ber_type_decoder_f VoiceSupportMatchIndicator_decode_ber;
+der_type_encoder_f VoiceSupportMatchIndicator_encode_der;
+xer_type_decoder_f VoiceSupportMatchIndicator_decode_xer;
+xer_type_encoder_f VoiceSupportMatchIndicator_encode_xer;
+oer_type_decoder_f VoiceSupportMatchIndicator_decode_oer;
+oer_type_encoder_f VoiceSupportMatchIndicator_encode_oer;
+per_type_decoder_f VoiceSupportMatchIndicator_decode_uper;
+per_type_encoder_f VoiceSupportMatchIndicator_encode_uper;
+per_type_decoder_f VoiceSupportMatchIndicator_decode_aper;
+per_type_encoder_f VoiceSupportMatchIndicator_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _VoiceSupportMatchIndicator_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/WLANMeasConfig.h b/src/s1ap/asn1c/asnGenFiles/WLANMeasConfig.h
new file mode 100644
index 0000000..3bbd352
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/WLANMeasConfig.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_WLANMeasConfig_H_
+#define	_WLANMeasConfig_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum WLANMeasConfig {
+	WLANMeasConfig_setup	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_WLANMeasConfig;
+
+/* WLANMeasConfig */
+typedef long	 WLANMeasConfig_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_WLANMeasConfig_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_WLANMeasConfig;
+extern const asn_INTEGER_specifics_t asn_SPC_WLANMeasConfig_specs_1;
+asn_struct_free_f WLANMeasConfig_free;
+asn_struct_print_f WLANMeasConfig_print;
+asn_constr_check_f WLANMeasConfig_constraint;
+ber_type_decoder_f WLANMeasConfig_decode_ber;
+der_type_encoder_f WLANMeasConfig_encode_der;
+xer_type_decoder_f WLANMeasConfig_decode_xer;
+xer_type_encoder_f WLANMeasConfig_encode_xer;
+oer_type_decoder_f WLANMeasConfig_decode_oer;
+oer_type_encoder_f WLANMeasConfig_encode_oer;
+per_type_decoder_f WLANMeasConfig_decode_uper;
+per_type_encoder_f WLANMeasConfig_encode_uper;
+per_type_decoder_f WLANMeasConfig_decode_aper;
+per_type_encoder_f WLANMeasConfig_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _WLANMeasConfig_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/WLANMeasConfigNameList.h b/src/s1ap/asn1c/asnGenFiles/WLANMeasConfigNameList.h
new file mode 100644
index 0000000..69bf76b
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/WLANMeasConfigNameList.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_WLANMeasConfigNameList_H_
+#define	_WLANMeasConfigNameList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "WLANName.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* WLANMeasConfigNameList */
+typedef struct WLANMeasConfigNameList {
+	A_SEQUENCE_OF(WLANName_t) list;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} WLANMeasConfigNameList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_WLANMeasConfigNameList;
+extern asn_SET_OF_specifics_t asn_SPC_WLANMeasConfigNameList_specs_1;
+extern asn_TYPE_member_t asn_MBR_WLANMeasConfigNameList_1[1];
+extern asn_per_constraints_t asn_PER_type_WLANMeasConfigNameList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _WLANMeasConfigNameList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/WLANMeasurementConfiguration.h b/src/s1ap/asn1c/asnGenFiles/WLANMeasurementConfiguration.h
new file mode 100644
index 0000000..e0d9406
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/WLANMeasurementConfiguration.h
@@ -0,0 +1,69 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_WLANMeasurementConfiguration_H_
+#define	_WLANMeasurementConfiguration_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "WLANMeasConfig.h"
+#include <NativeEnumerated.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum WLANMeasurementConfiguration__wlan_rssi {
+	WLANMeasurementConfiguration__wlan_rssi_true	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_WLANMeasurementConfiguration__wlan_rssi;
+typedef enum WLANMeasurementConfiguration__wlan_rtt {
+	WLANMeasurementConfiguration__wlan_rtt_true	= 0
+	/*
+	 * Enumeration is extensible
+	 */
+} e_WLANMeasurementConfiguration__wlan_rtt;
+
+/* Forward declarations */
+struct WLANMeasConfigNameList;
+struct ProtocolExtensionContainer;
+
+/* WLANMeasurementConfiguration */
+typedef struct WLANMeasurementConfiguration {
+	WLANMeasConfig_t	 wlanMeasConfig;
+	struct WLANMeasConfigNameList	*wlanMeasConfigNameList;	/* OPTIONAL */
+	long	*wlan_rssi;	/* OPTIONAL */
+	long	*wlan_rtt;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} WLANMeasurementConfiguration_t;
+
+/* Implementation */
+/* extern asn_TYPE_descriptor_t asn_DEF_wlan_rssi_4;	// (Use -fall-defs-global to expose) */
+/* extern asn_TYPE_descriptor_t asn_DEF_wlan_rtt_7;	// (Use -fall-defs-global to expose) */
+extern asn_TYPE_descriptor_t asn_DEF_WLANMeasurementConfiguration;
+extern asn_SEQUENCE_specifics_t asn_SPC_WLANMeasurementConfiguration_specs_1;
+extern asn_TYPE_member_t asn_MBR_WLANMeasurementConfiguration_1[5];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _WLANMeasurementConfiguration_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/WLANName.h b/src/s1ap/asn1c/asnGenFiles/WLANName.h
new file mode 100644
index 0000000..d0d7d29
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/WLANName.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_WLANName_H_
+#define	_WLANName_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* WLANName */
+typedef OCTET_STRING_t	 WLANName_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_WLANName_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_WLANName;
+asn_struct_free_f WLANName_free;
+asn_struct_print_f WLANName_print;
+asn_constr_check_f WLANName_constraint;
+ber_type_decoder_f WLANName_decode_ber;
+der_type_encoder_f WLANName_encode_der;
+xer_type_decoder_f WLANName_decode_xer;
+xer_type_encoder_f WLANName_encode_xer;
+oer_type_decoder_f WLANName_decode_oer;
+oer_type_encoder_f WLANName_encode_oer;
+per_type_decoder_f WLANName_decode_uper;
+per_type_encoder_f WLANName_encode_uper;
+per_type_decoder_f WLANName_decode_aper;
+per_type_encoder_f WLANName_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _WLANName_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/WarningAreaCoordinates.h b/src/s1ap/asn1c/asnGenFiles/WarningAreaCoordinates.h
new file mode 100644
index 0000000..5af624a
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/WarningAreaCoordinates.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_WarningAreaCoordinates_H_
+#define	_WarningAreaCoordinates_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* WarningAreaCoordinates */
+typedef OCTET_STRING_t	 WarningAreaCoordinates_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_WarningAreaCoordinates_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_WarningAreaCoordinates;
+asn_struct_free_f WarningAreaCoordinates_free;
+asn_struct_print_f WarningAreaCoordinates_print;
+asn_constr_check_f WarningAreaCoordinates_constraint;
+ber_type_decoder_f WarningAreaCoordinates_decode_ber;
+der_type_encoder_f WarningAreaCoordinates_encode_der;
+xer_type_decoder_f WarningAreaCoordinates_decode_xer;
+xer_type_encoder_f WarningAreaCoordinates_encode_xer;
+oer_type_decoder_f WarningAreaCoordinates_decode_oer;
+oer_type_encoder_f WarningAreaCoordinates_encode_oer;
+per_type_decoder_f WarningAreaCoordinates_decode_uper;
+per_type_encoder_f WarningAreaCoordinates_encode_uper;
+per_type_decoder_f WarningAreaCoordinates_decode_aper;
+per_type_encoder_f WarningAreaCoordinates_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _WarningAreaCoordinates_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/WarningAreaList.h b/src/s1ap/asn1c/asnGenFiles/WarningAreaList.h
new file mode 100644
index 0000000..276a89c
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/WarningAreaList.h
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_WarningAreaList_H_
+#define	_WarningAreaList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum WarningAreaList_PR {
+	WarningAreaList_PR_NOTHING,	/* No components present */
+	WarningAreaList_PR_cellIDList,
+	WarningAreaList_PR_trackingAreaListforWarning,
+	WarningAreaList_PR_emergencyAreaIDList
+	/* Extensions may appear below */
+	
+} WarningAreaList_PR;
+
+/* Forward declarations */
+struct ECGIList;
+struct TAIListforWarning;
+struct EmergencyAreaIDList;
+
+/* WarningAreaList */
+typedef struct WarningAreaList {
+	WarningAreaList_PR present;
+	union WarningAreaList_u {
+		struct ECGIList	*cellIDList;
+		struct TAIListforWarning	*trackingAreaListforWarning;
+		struct EmergencyAreaIDList	*emergencyAreaIDList;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} WarningAreaList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_WarningAreaList;
+extern asn_CHOICE_specifics_t asn_SPC_WarningAreaList_specs_1;
+extern asn_TYPE_member_t asn_MBR_WarningAreaList_1[3];
+extern asn_per_constraints_t asn_PER_type_WarningAreaList_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _WarningAreaList_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/WarningMessageContents.h b/src/s1ap/asn1c/asnGenFiles/WarningMessageContents.h
new file mode 100644
index 0000000..2a6c3e4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/WarningMessageContents.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_WarningMessageContents_H_
+#define	_WarningMessageContents_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* WarningMessageContents */
+typedef OCTET_STRING_t	 WarningMessageContents_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_WarningMessageContents_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_WarningMessageContents;
+asn_struct_free_f WarningMessageContents_free;
+asn_struct_print_f WarningMessageContents_print;
+asn_constr_check_f WarningMessageContents_constraint;
+ber_type_decoder_f WarningMessageContents_decode_ber;
+der_type_encoder_f WarningMessageContents_encode_der;
+xer_type_decoder_f WarningMessageContents_decode_xer;
+xer_type_encoder_f WarningMessageContents_encode_xer;
+oer_type_decoder_f WarningMessageContents_decode_oer;
+oer_type_encoder_f WarningMessageContents_encode_oer;
+per_type_decoder_f WarningMessageContents_decode_uper;
+per_type_encoder_f WarningMessageContents_encode_uper;
+per_type_decoder_f WarningMessageContents_decode_aper;
+per_type_encoder_f WarningMessageContents_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _WarningMessageContents_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/WarningSecurityInfo.h b/src/s1ap/asn1c/asnGenFiles/WarningSecurityInfo.h
new file mode 100644
index 0000000..ec42845
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/WarningSecurityInfo.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_WarningSecurityInfo_H_
+#define	_WarningSecurityInfo_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* WarningSecurityInfo */
+typedef OCTET_STRING_t	 WarningSecurityInfo_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_WarningSecurityInfo_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_WarningSecurityInfo;
+asn_struct_free_f WarningSecurityInfo_free;
+asn_struct_print_f WarningSecurityInfo_print;
+asn_constr_check_f WarningSecurityInfo_constraint;
+ber_type_decoder_f WarningSecurityInfo_decode_ber;
+der_type_encoder_f WarningSecurityInfo_encode_der;
+xer_type_decoder_f WarningSecurityInfo_decode_xer;
+xer_type_encoder_f WarningSecurityInfo_encode_xer;
+oer_type_decoder_f WarningSecurityInfo_decode_oer;
+oer_type_encoder_f WarningSecurityInfo_encode_oer;
+per_type_decoder_f WarningSecurityInfo_decode_uper;
+per_type_encoder_f WarningSecurityInfo_encode_uper;
+per_type_decoder_f WarningSecurityInfo_decode_aper;
+per_type_encoder_f WarningSecurityInfo_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _WarningSecurityInfo_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/WarningType.h b/src/s1ap/asn1c/asnGenFiles/WarningType.h
new file mode 100644
index 0000000..4fe2292
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/WarningType.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_WarningType_H_
+#define	_WarningType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* WarningType */
+typedef OCTET_STRING_t	 WarningType_t;
+
+/* Implementation */
+extern asn_per_constraints_t asn_PER_type_WarningType_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_WarningType;
+asn_struct_free_f WarningType_free;
+asn_struct_print_f WarningType_print;
+asn_constr_check_f WarningType_constraint;
+ber_type_decoder_f WarningType_decode_ber;
+der_type_encoder_f WarningType_encode_der;
+xer_type_decoder_f WarningType_decode_xer;
+xer_type_encoder_f WarningType_encode_xer;
+oer_type_decoder_f WarningType_decode_oer;
+oer_type_encoder_f WarningType_encode_oer;
+per_type_decoder_f WarningType_decode_uper;
+per_type_encoder_f WarningType_encode_uper;
+per_type_decoder_f WarningType_decode_aper;
+per_type_encoder_f WarningType_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _WarningType_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/WriteReplaceWarningRequest.h b/src/s1ap/asn1c/asnGenFiles/WriteReplaceWarningRequest.h
new file mode 100644
index 0000000..fc454df
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/WriteReplaceWarningRequest.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_WriteReplaceWarningRequest_H_
+#define	_WriteReplaceWarningRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* WriteReplaceWarningRequest */
+typedef struct WriteReplaceWarningRequest {
+	ProtocolIE_Container_129P63_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} WriteReplaceWarningRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_WriteReplaceWarningRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _WriteReplaceWarningRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/WriteReplaceWarningResponse.h b/src/s1ap/asn1c/asnGenFiles/WriteReplaceWarningResponse.h
new file mode 100644
index 0000000..5816b20
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/WriteReplaceWarningResponse.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-PDU-Contents"
+ * 	found in "./asn1c/S1AP-PDU-Contents.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_WriteReplaceWarningResponse_H_
+#define	_WriteReplaceWarningResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ProtocolIE-Container.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* WriteReplaceWarningResponse */
+typedef struct WriteReplaceWarningResponse {
+	ProtocolIE_Container_129P64_t	 protocolIEs;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} WriteReplaceWarningResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_WriteReplaceWarningResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _WriteReplaceWarningResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/X2TNLConfigurationInfo.h b/src/s1ap/asn1c/asnGenFiles/X2TNLConfigurationInfo.h
new file mode 100644
index 0000000..0c6cc80
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/X2TNLConfigurationInfo.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_X2TNLConfigurationInfo_H_
+#define	_X2TNLConfigurationInfo_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ENBX2TLAs.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ProtocolExtensionContainer;
+
+/* X2TNLConfigurationInfo */
+typedef struct X2TNLConfigurationInfo {
+	ENBX2TLAs_t	 eNBX2TransportLayerAddresses;
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} X2TNLConfigurationInfo_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_X2TNLConfigurationInfo;
+extern asn_SEQUENCE_specifics_t asn_SPC_X2TNLConfigurationInfo_specs_1;
+extern asn_TYPE_member_t asn_MBR_X2TNLConfigurationInfo_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _X2TNLConfigurationInfo_H_ */
+#include <asn_internal.h>
diff --git a/src/s1ap/asn1c/asnGenFiles/asn1c/S1AP-CommonDataTypes.asn b/src/s1ap/asn1c/asnGenFiles/asn1c/S1AP-CommonDataTypes.asn
new file mode 100644
index 0000000..bd44dff
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/asn1c/S1AP-CommonDataTypes.asn
@@ -0,0 +1,32 @@
+-- **************************************************************
+--
+-- Coommon definitions
+--
+-- **************************************************************
+
+S1AP-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) 
+eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-CommonDataTypes (3) }
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+Criticality        ::= ENUMERATED { reject, ignore, notify }
+
+Presence        ::= ENUMERATED { optional, conditional, mandatory }
+
+PrivateIE-ID    ::= CHOICE {
+    local                INTEGER (0..65535),
+    global                OBJECT IDENTIFIER
+}
+
+ProcedureCode        ::= INTEGER (0..255)
+
+ProtocolExtensionID    ::= INTEGER (0..65535)
+
+ProtocolIE-ID        ::= INTEGER (0..65535)
+
+TriggeringMessage    ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome }
+
+END
diff --git a/src/s1ap/asn1c/asnGenFiles/asn1c/S1AP-Constants.asn b/src/s1ap/asn1c/asnGenFiles/asn1c/S1AP-Constants.asn
new file mode 100644
index 0000000..89a60ec
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/asn1c/S1AP-Constants.asn
@@ -0,0 +1,445 @@
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+S1AP-Constants { 
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) 
+eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Constants (4) } 
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+    ProcedureCode,
+    ProtocolIE-ID
+
+FROM S1AP-CommonDataTypes;
+
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+-- **************************************************************
+
+id-HandoverPreparation                        ProcedureCode ::= 0
+id-HandoverResourceAllocation                ProcedureCode ::= 1
+id-HandoverNotification                        ProcedureCode ::= 2
+id-PathSwitchRequest                        ProcedureCode ::= 3
+id-HandoverCancel                            ProcedureCode ::= 4
+id-E-RABSetup                                ProcedureCode ::= 5
+id-E-RABModify                                ProcedureCode ::= 6
+id-E-RABRelease                                ProcedureCode ::= 7
+id-E-RABReleaseIndication                    ProcedureCode ::= 8
+id-InitialContextSetup                        ProcedureCode ::= 9
+id-Paging                                    ProcedureCode ::= 10
+id-downlinkNASTransport                        ProcedureCode ::= 11
+id-initialUEMessage                            ProcedureCode ::= 12
+id-uplinkNASTransport                        ProcedureCode ::= 13
+id-Reset                                    ProcedureCode ::= 14
+id-ErrorIndication                            ProcedureCode ::= 15
+id-NASNonDeliveryIndication                    ProcedureCode ::= 16
+id-S1Setup                                    ProcedureCode ::= 17
+id-UEContextReleaseRequest                    ProcedureCode ::= 18
+id-DownlinkS1cdma2000tunnelling                ProcedureCode ::= 19
+id-UplinkS1cdma2000tunnelling                ProcedureCode ::= 20
+id-UEContextModification                    ProcedureCode ::= 21
+id-UECapabilityInfoIndication                ProcedureCode ::= 22
+id-UEContextRelease                            ProcedureCode ::= 23
+id-eNBStatusTransfer                        ProcedureCode ::= 24
+id-MMEStatusTransfer                        ProcedureCode ::= 25
+id-DeactivateTrace                            ProcedureCode ::= 26
+id-TraceStart                                ProcedureCode ::= 27
+id-TraceFailureIndication                    ProcedureCode ::= 28
+id-ENBConfigurationUpdate                    ProcedureCode ::= 29
+id-MMEConfigurationUpdate                    ProcedureCode ::= 30
+id-LocationReportingControl                    ProcedureCode ::= 31
+id-LocationReportingFailureIndication        ProcedureCode ::= 32
+id-LocationReport                            ProcedureCode ::= 33
+id-OverloadStart                            ProcedureCode ::= 34
+id-OverloadStop                                ProcedureCode ::= 35
+id-WriteReplaceWarning                        ProcedureCode ::= 36
+id-eNBDirectInformationTransfer                ProcedureCode ::= 37
+id-MMEDirectInformationTransfer                ProcedureCode ::= 38
+id-PrivateMessage                            ProcedureCode ::= 39
+id-eNBConfigurationTransfer                    ProcedureCode ::= 40
+id-MMEConfigurationTransfer                    ProcedureCode ::= 41
+id-CellTrafficTrace                            ProcedureCode ::= 42
+id-Kill                                        ProcedureCode ::= 43
+id-downlinkUEAssociatedLPPaTransport        ProcedureCode ::= 44
+id-uplinkUEAssociatedLPPaTransport            ProcedureCode ::= 45
+id-downlinkNonUEAssociatedLPPaTransport        ProcedureCode ::= 46
+id-uplinkNonUEAssociatedLPPaTransport        ProcedureCode ::= 47
+id-UERadioCapabilityMatch                    ProcedureCode ::= 48
+id-PWSRestartIndication                        ProcedureCode ::= 49
+id-E-RABModificationIndication                ProcedureCode ::= 50
+id-PWSFailureIndication                        ProcedureCode ::= 51
+id-RerouteNASRequest                        ProcedureCode ::= 52
+id-UEContextModificationIndication            ProcedureCode ::= 53
+id-ConnectionEstablishmentIndication        ProcedureCode ::= 54
+id-UEContextSuspend                            ProcedureCode ::= 55
+id-UEContextResume                            ProcedureCode ::= 56
+id-NASDeliveryIndication                    ProcedureCode ::= 57
+id-RetrieveUEInformation                    ProcedureCode ::= 58
+id-UEInformationTransfer                    ProcedureCode ::= 59
+id-eNBCPRelocationIndication                ProcedureCode ::= 60
+id-MMECPRelocationIndication                ProcedureCode ::= 61
+id-SecondaryRATDataUsageReport                ProcedureCode ::= 62
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+maxPrivateIEs                            INTEGER ::= 65535
+maxProtocolExtensions                    INTEGER ::= 65535
+maxProtocolIEs                            INTEGER ::= 65535
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+
+maxnoofCSGs                                INTEGER ::= 256
+maxnoofE-RABs                            INTEGER ::= 256
+maxnoofTAIs                                INTEGER ::= 256
+maxnoofTACs                                INTEGER ::= 256
+maxnoofErrors                            INTEGER ::= 256
+maxnoofBPLMNs                            INTEGER ::= 6
+maxnoofPLMNsPerMME                        INTEGER ::= 32
+maxnoofEPLMNs                            INTEGER ::= 15
+maxnoofEPLMNsPlusOne                    INTEGER ::= 16
+maxnoofForbLACs                            INTEGER ::= 4096
+maxnoofForbTACs                            INTEGER ::= 4096
+maxnoofIndividualS1ConnectionsToReset    INTEGER ::= 256
+maxnoofCellsinUEHistoryInfo                INTEGER ::= 16
+maxnoofCellsineNB                        INTEGER ::= 256
+maxnoofTAIforWarning                    INTEGER ::= 65535 
+maxnoofCellID                            INTEGER ::= 65535 
+maxnoofDCNs                                INTEGER ::= 32 
+maxnoofEmergencyAreaID                    INTEGER ::= 65535 
+maxnoofCellinTAI                        INTEGER ::= 65535 
+maxnoofCellinEAI                        INTEGER ::= 65535 
+maxnoofeNBX2TLAs                        INTEGER ::= 2
+maxnoofeNBX2ExtTLAs                        INTEGER ::= 16
+maxnoofeNBX2GTPTLAs                        INTEGER ::= 16
+maxnoofRATs                                INTEGER ::= 8
+maxnoofGroupIDs                            INTEGER ::= 65535
+maxnoofMMECs                            INTEGER ::= 256
+maxnoofCellIDforMDT                        INTEGER ::= 32
+maxnoofTAforMDT                            INTEGER ::= 8
+maxnoofMDTPLMNs                            INTEGER ::= 16
+maxnoofCellsforRestart                    INTEGER ::= 256
+maxnoofRestartTAIs                        INTEGER ::= 2048
+maxnoofRestartEmergencyAreaIDs            INTEGER ::= 256
+maxEARFCN                                INTEGER ::= 262143
+maxnoofMBSFNAreaMDT                        INTEGER ::= 8
+maxnoofRecommendedCells                    INTEGER ::= 16
+maxnoofRecommendedENBs                    INTEGER ::= 16
+maxnooftimeperiods                        INTEGER ::= 2 
+maxnoofCellIDforQMC                        INTEGER ::= 32
+maxnoofTAforQMC                            INTEGER ::= 8
+maxnoofPLMNforQMC                        INTEGER ::= 16
+maxnoofBluetoothName                    INTEGER ::= 4
+maxnoofWLANName                            INTEGER ::= 4
+maxnoofConnectedengNBs                    INTEGER ::= 256
+
+
+
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+
+id-MME-UE-S1AP-ID                                    ProtocolIE-ID ::= 0
+id-HandoverType                                        ProtocolIE-ID ::= 1
+id-Cause                                            ProtocolIE-ID ::= 2
+id-SourceID                                            ProtocolIE-ID ::= 3
+id-TargetID                                            ProtocolIE-ID ::= 4
+id-eNB-UE-S1AP-ID                                    ProtocolIE-ID ::= 8
+id-E-RABSubjecttoDataForwardingList                    ProtocolIE-ID ::= 12
+id-E-RABtoReleaseListHOCmd                            ProtocolIE-ID ::= 13
+id-E-RABDataForwardingItem                            ProtocolIE-ID ::= 14
+id-E-RABReleaseItemBearerRelComp                    ProtocolIE-ID ::= 15
+id-E-RABToBeSetupListBearerSUReq                    ProtocolIE-ID ::= 16
+id-E-RABToBeSetupItemBearerSUReq                    ProtocolIE-ID ::= 17
+id-E-RABAdmittedList                                ProtocolIE-ID ::= 18
+id-E-RABFailedToSetupListHOReqAck                    ProtocolIE-ID ::= 19
+id-E-RABAdmittedItem                                ProtocolIE-ID ::= 20
+id-E-RABFailedtoSetupItemHOReqAck                    ProtocolIE-ID ::= 21
+id-E-RABToBeSwitchedDLList                            ProtocolIE-ID ::= 22
+id-E-RABToBeSwitchedDLItem                            ProtocolIE-ID ::= 23
+id-E-RABToBeSetupListCtxtSUReq                        ProtocolIE-ID ::= 24
+id-TraceActivation                                    ProtocolIE-ID ::= 25
+id-NAS-PDU                                            ProtocolIE-ID ::= 26
+id-E-RABToBeSetupItemHOReq                            ProtocolIE-ID ::= 27
+id-E-RABSetupListBearerSURes                        ProtocolIE-ID ::= 28
+id-E-RABFailedToSetupListBearerSURes                ProtocolIE-ID ::= 29
+id-E-RABToBeModifiedListBearerModReq                ProtocolIE-ID ::= 30
+id-E-RABModifyListBearerModRes                        ProtocolIE-ID ::= 31
+id-E-RABFailedToModifyList                            ProtocolIE-ID ::= 32
+id-E-RABToBeReleasedList                            ProtocolIE-ID ::= 33
+id-E-RABFailedToReleaseList                            ProtocolIE-ID ::= 34
+id-E-RABItem                                        ProtocolIE-ID ::= 35
+id-E-RABToBeModifiedItemBearerModReq                ProtocolIE-ID ::= 36
+id-E-RABModifyItemBearerModRes                        ProtocolIE-ID ::= 37
+id-E-RABReleaseItem                                    ProtocolIE-ID ::= 38
+id-E-RABSetupItemBearerSURes                        ProtocolIE-ID ::= 39
+id-SecurityContext                                    ProtocolIE-ID ::= 40
+id-HandoverRestrictionList                            ProtocolIE-ID ::= 41
+id-UEPagingID                                        ProtocolIE-ID ::= 43
+id-pagingDRX                                        ProtocolIE-ID ::= 44
+id-TAIList                                            ProtocolIE-ID ::= 46
+id-TAIItem                                            ProtocolIE-ID ::= 47
+id-E-RABFailedToSetupListCtxtSURes                    ProtocolIE-ID ::= 48
+id-E-RABReleaseItemHOCmd                            ProtocolIE-ID ::= 49
+id-E-RABSetupItemCtxtSURes                            ProtocolIE-ID ::= 50
+id-E-RABSetupListCtxtSURes                            ProtocolIE-ID ::= 51
+id-E-RABToBeSetupItemCtxtSUReq                        ProtocolIE-ID ::= 52
+id-E-RABToBeSetupListHOReq                            ProtocolIE-ID ::= 53
+id-GERANtoLTEHOInformationRes                        ProtocolIE-ID ::= 55
+id-UTRANtoLTEHOInformationRes                        ProtocolIE-ID ::= 57
+id-CriticalityDiagnostics                             ProtocolIE-ID ::= 58
+id-Global-ENB-ID                                    ProtocolIE-ID ::= 59
+id-eNBname                                            ProtocolIE-ID ::= 60
+id-MMEname                                            ProtocolIE-ID ::= 61
+id-ServedPLMNs                                        ProtocolIE-ID ::= 63
+id-SupportedTAs                                        ProtocolIE-ID ::= 64
+id-TimeToWait                                        ProtocolIE-ID ::= 65
+id-uEaggregateMaximumBitrate                        ProtocolIE-ID ::= 66
+id-TAI                                                ProtocolIE-ID ::= 67
+id-E-RABReleaseListBearerRelComp                    ProtocolIE-ID ::= 69
+id-cdma2000PDU                                        ProtocolIE-ID ::= 70
+id-cdma2000RATType                                    ProtocolIE-ID ::= 71
+id-cdma2000SectorID                                    ProtocolIE-ID ::= 72
+id-SecurityKey                                        ProtocolIE-ID ::= 73
+id-UERadioCapability                                ProtocolIE-ID ::= 74
+id-GUMMEI-ID                                        ProtocolIE-ID ::= 75
+id-E-RABInformationListItem                            ProtocolIE-ID ::= 78
+id-Direct-Forwarding-Path-Availability                ProtocolIE-ID ::= 79
+id-UEIdentityIndexValue                                ProtocolIE-ID ::= 80
+id-cdma2000HOStatus                                    ProtocolIE-ID ::= 83
+id-cdma2000HORequiredIndication                        ProtocolIE-ID ::= 84
+id-E-UTRAN-Trace-ID                                    ProtocolIE-ID ::= 86
+id-RelativeMMECapacity                                ProtocolIE-ID ::= 87
+id-SourceMME-UE-S1AP-ID                                ProtocolIE-ID ::= 88
+id-Bearers-SubjectToStatusTransfer-Item                ProtocolIE-ID ::= 89
+id-eNB-StatusTransfer-TransparentContainer            ProtocolIE-ID ::= 90
+id-UE-associatedLogicalS1-ConnectionItem            ProtocolIE-ID ::= 91
+id-ResetType                                        ProtocolIE-ID ::= 92
+id-UE-associatedLogicalS1-ConnectionListResAck        ProtocolIE-ID ::= 93
+id-E-RABToBeSwitchedULItem                            ProtocolIE-ID ::= 94
+id-E-RABToBeSwitchedULList                            ProtocolIE-ID ::= 95
+id-S-TMSI                                            ProtocolIE-ID ::= 96
+id-cdma2000OneXRAND                                    ProtocolIE-ID ::= 97
+id-RequestType                                        ProtocolIE-ID ::= 98
+id-UE-S1AP-IDs                                        ProtocolIE-ID ::= 99
+id-EUTRAN-CGI                                        ProtocolIE-ID ::= 100
+id-OverloadResponse                                    ProtocolIE-ID ::= 101
+id-cdma2000OneXSRVCCInfo                            ProtocolIE-ID ::= 102
+id-E-RABFailedToBeReleasedList                        ProtocolIE-ID ::= 103
+id-Source-ToTarget-TransparentContainer                ProtocolIE-ID ::= 104
+id-ServedGUMMEIs                                    ProtocolIE-ID ::= 105
+id-SubscriberProfileIDforRFP                        ProtocolIE-ID ::= 106
+id-UESecurityCapabilities                            ProtocolIE-ID ::= 107
+id-CSFallbackIndicator                                ProtocolIE-ID ::= 108
+id-CNDomain                                            ProtocolIE-ID ::= 109
+id-E-RABReleasedList                                ProtocolIE-ID ::= 110
+id-MessageIdentifier                                ProtocolIE-ID ::= 111
+id-SerialNumber                                        ProtocolIE-ID ::= 112
+id-WarningAreaList                                    ProtocolIE-ID ::= 113
+id-RepetitionPeriod                                    ProtocolIE-ID ::= 114
+id-NumberofBroadcastRequest                            ProtocolIE-ID ::= 115
+id-WarningType                                        ProtocolIE-ID ::= 116
+id-WarningSecurityInfo                                ProtocolIE-ID ::= 117
+id-DataCodingScheme                                    ProtocolIE-ID ::= 118
+id-WarningMessageContents                            ProtocolIE-ID ::= 119
+id-BroadcastCompletedAreaList                        ProtocolIE-ID ::= 120
+id-Inter-SystemInformationTransferTypeEDT            ProtocolIE-ID ::= 121
+id-Inter-SystemInformationTransferTypeMDT            ProtocolIE-ID ::= 122
+id-Target-ToSource-TransparentContainer                ProtocolIE-ID ::= 123
+id-SRVCCOperationPossible                            ProtocolIE-ID ::= 124
+id-SRVCCHOIndication                                ProtocolIE-ID ::= 125
+id-NAS-DownlinkCount                                ProtocolIE-ID ::= 126
+id-CSG-Id                                            ProtocolIE-ID ::= 127
+id-CSG-IdList                                        ProtocolIE-ID ::= 128
+id-SONConfigurationTransferECT                        ProtocolIE-ID ::= 129
+id-SONConfigurationTransferMCT                        ProtocolIE-ID ::= 130
+id-TraceCollectionEntityIPAddress                    ProtocolIE-ID ::= 131
+id-MSClassmark2                                        ProtocolIE-ID ::= 132
+id-MSClassmark3                                        ProtocolIE-ID ::= 133
+id-RRC-Establishment-Cause                            ProtocolIE-ID ::= 134
+id-NASSecurityParametersfromE-UTRAN                    ProtocolIE-ID ::= 135
+id-NASSecurityParameterstoE-UTRAN                    ProtocolIE-ID ::= 136
+id-DefaultPagingDRX                                    ProtocolIE-ID ::= 137
+id-Source-ToTarget-TransparentContainer-Secondary    ProtocolIE-ID ::= 138
+id-Target-ToSource-TransparentContainer-Secondary    ProtocolIE-ID ::= 139
+id-EUTRANRoundTripDelayEstimationInfo                ProtocolIE-ID ::= 140
+id-BroadcastCancelledAreaList                        ProtocolIE-ID ::= 141
+id-ConcurrentWarningMessageIndicator                ProtocolIE-ID ::= 142
+id-Data-Forwarding-Not-Possible                        ProtocolIE-ID ::= 143
+id-ExtendedRepetitionPeriod                            ProtocolIE-ID ::= 144
+id-CellAccessMode                                    ProtocolIE-ID ::= 145
+id-CSGMembershipStatus                                 ProtocolIE-ID ::= 146
+id-LPPa-PDU                                            ProtocolIE-ID ::= 147
+id-Routing-ID                                        ProtocolIE-ID ::= 148
+id-Time-Synchronisation-Info                            ProtocolIE-ID ::= 149
+id-PS-ServiceNotAvailable                            ProtocolIE-ID ::= 150
+id-PagingPriority                                    ProtocolIE-ID ::= 151
+id-x2TNLConfigurationInfo                            ProtocolIE-ID ::= 152
+id-eNBX2ExtendedTransportLayerAddresses                ProtocolIE-ID ::= 153
+id-GUMMEIList                                        ProtocolIE-ID ::= 154
+id-GW-TransportLayerAddress                            ProtocolIE-ID ::= 155
+id-Correlation-ID                                    ProtocolIE-ID ::= 156
+id-SourceMME-GUMMEI                                    ProtocolIE-ID ::= 157
+id-MME-UE-S1AP-ID-2                                    ProtocolIE-ID ::= 158
+id-RegisteredLAI                                    ProtocolIE-ID ::= 159
+id-RelayNode-Indicator                                ProtocolIE-ID ::= 160
+id-TrafficLoadReductionIndication                    ProtocolIE-ID ::= 161
+id-MDTConfiguration                                    ProtocolIE-ID ::= 162
+id-MMERelaySupportIndicator                            ProtocolIE-ID ::= 163
+id-GWContextReleaseIndication                        ProtocolIE-ID ::= 164
+id-ManagementBasedMDTAllowed                        ProtocolIE-ID ::= 165
+id-PrivacyIndicator                                    ProtocolIE-ID ::= 166
+id-Time-UE-StayedInCell-EnhancedGranularity            ProtocolIE-ID ::= 167
+id-HO-Cause                                            ProtocolIE-ID ::= 168
+id-VoiceSupportMatchIndicator                        ProtocolIE-ID ::= 169
+id-GUMMEIType                                        ProtocolIE-ID ::= 170
+id-M3Configuration                                    ProtocolIE-ID ::= 171
+id-M4Configuration                                    ProtocolIE-ID ::= 172
+id-M5Configuration                                    ProtocolIE-ID ::= 173
+id-MDT-Location-Info                                ProtocolIE-ID ::= 174
+id-MobilityInformation                                ProtocolIE-ID ::= 175
+id-Tunnel-Information-for-BBF                        ProtocolIE-ID ::= 176
+id-ManagementBasedMDTPLMNList                        ProtocolIE-ID ::= 177
+id-SignallingBasedMDTPLMNList                        ProtocolIE-ID ::= 178
+id-ULCOUNTValueExtended                                ProtocolIE-ID ::= 179
+id-DLCOUNTValueExtended                                ProtocolIE-ID ::= 180
+id-ReceiveStatusOfULPDCPSDUsExtended                ProtocolIE-ID ::= 181
+id-ECGIListForRestart                                ProtocolIE-ID ::= 182
+id-SIPTO-Correlation-ID                                ProtocolIE-ID ::= 183
+id-SIPTO-L-GW-TransportLayerAddress                    ProtocolIE-ID ::= 184
+id-TransportInformation                                ProtocolIE-ID ::= 185
+id-LHN-ID                                            ProtocolIE-ID ::= 186
+id-AdditionalCSFallbackIndicator                    ProtocolIE-ID ::= 187
+id-TAIListForRestart                                ProtocolIE-ID ::= 188
+id-UserLocationInformation                            ProtocolIE-ID ::= 189
+id-EmergencyAreaIDListForRestart                    ProtocolIE-ID ::= 190
+id-KillAllWarningMessages                            ProtocolIE-ID ::= 191
+id-Masked-IMEISV                                    ProtocolIE-ID ::= 192
+id-eNBIndirectX2TransportLayerAddresses                ProtocolIE-ID ::= 193
+id-uE-HistoryInformationFromTheUE                    ProtocolIE-ID ::= 194
+id-ProSeAuthorized                                    ProtocolIE-ID ::= 195
+id-ExpectedUEBehaviour                                ProtocolIE-ID ::= 196
+id-LoggedMBSFNMDT                                    ProtocolIE-ID ::= 197
+id-UERadioCapabilityForPaging                        ProtocolIE-ID ::= 198
+id-E-RABToBeModifiedListBearerModInd                ProtocolIE-ID ::= 199
+id-E-RABToBeModifiedItemBearerModInd                ProtocolIE-ID ::= 200
+id-E-RABNotToBeModifiedListBearerModInd                ProtocolIE-ID ::= 201
+id-E-RABNotToBeModifiedItemBearerModInd                ProtocolIE-ID ::= 202
+id-E-RABModifyListBearerModConf                        ProtocolIE-ID ::= 203
+id-E-RABModifyItemBearerModConf                        ProtocolIE-ID ::= 204
+id-E-RABFailedToModifyListBearerModConf                ProtocolIE-ID ::= 205
+id-SON-Information-Report                            ProtocolIE-ID ::= 206
+id-Muting-Availability-Indication                    ProtocolIE-ID ::= 207
+id-Muting-Pattern-Information                        ProtocolIE-ID ::= 208
+id-Synchronisation-Information                        ProtocolIE-ID ::= 209
+id-E-RABToBeReleasedListBearerModConf                ProtocolIE-ID ::= 210
+id-AssistanceDataForPaging                            ProtocolIE-ID ::= 211
+id-CellIdentifierAndCELevelForCECapableUEs            ProtocolIE-ID ::= 212
+id-InformationOnRecommendedCellsAndENBsForPaging    ProtocolIE-ID ::= 213
+id-RecommendedCellItem                                ProtocolIE-ID ::= 214
+id-RecommendedENBItem                                ProtocolIE-ID ::= 215
+id-ProSeUEtoNetworkRelaying                            ProtocolIE-ID ::= 216
+id-ULCOUNTValuePDCP-SNlength18                        ProtocolIE-ID ::= 217
+id-DLCOUNTValuePDCP-SNlength18                        ProtocolIE-ID ::= 218
+id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18            ProtocolIE-ID ::= 219
+id-M6Configuration                                    ProtocolIE-ID ::= 220
+id-M7Configuration                                    ProtocolIE-ID ::= 221
+id-PWSfailedECGIList                                ProtocolIE-ID ::= 222
+id-MME-Group-ID                                        ProtocolIE-ID ::= 223
+id-Additional-GUTI                                    ProtocolIE-ID ::= 224
+id-S1-Message                                        ProtocolIE-ID ::= 225
+id-CSGMembershipInfo                                ProtocolIE-ID ::= 226
+id-Paging-eDRXInformation                            ProtocolIE-ID ::= 227
+id-UE-RetentionInformation                            ProtocolIE-ID ::= 228
+id-UE-Usage-Type                                    ProtocolIE-ID ::= 230
+id-extended-UEIdentityIndexValue                    ProtocolIE-ID ::= 231
+id-RAT-Type                                            ProtocolIE-ID ::= 232
+id-BearerType                                        ProtocolIE-ID ::= 233
+id-NB-IoT-DefaultPagingDRX                            ProtocolIE-ID ::= 234
+id-E-RABFailedToResumeListResumeReq                    ProtocolIE-ID ::= 235
+id-E-RABFailedToResumeItemResumeReq                    ProtocolIE-ID ::= 236
+id-E-RABFailedToResumeListResumeRes                    ProtocolIE-ID ::= 237
+id-E-RABFailedToResumeItemResumeRes                    ProtocolIE-ID ::= 238
+id-NB-IoT-Paging-eDRXInformation                    ProtocolIE-ID ::= 239
+id-V2XServicesAuthorized                            ProtocolIE-ID ::= 240
+id-UEUserPlaneCIoTSupportIndicator                     ProtocolIE-ID ::= 241
+id-CE-mode-B-SupportIndicator                         ProtocolIE-ID ::= 242
+id-SRVCCOperationNotPossible                        ProtocolIE-ID ::= 243
+id-NB-IoT-UEIdentityIndexValue                         ProtocolIE-ID ::= 244
+id-RRC-Resume-Cause                                    ProtocolIE-ID ::= 245
+id-DCN-ID                                            ProtocolIE-ID ::= 246
+id-ServedDCNs                                         ProtocolIE-ID ::= 247
+id-UESidelinkAggregateMaximumBitrate                 ProtocolIE-ID ::= 248
+id-DLNASPDUDeliveryAckRequest                        ProtocolIE-ID ::= 249
+id-Coverage-Level                                     ProtocolIE-ID ::= 250
+id-EnhancedCoverageRestricted                        ProtocolIE-ID ::= 251
+id-UE-Level-QoS-Parameters                            ProtocolIE-ID ::= 252
+id-DL-CP-SecurityInformation                        ProtocolIE-ID ::= 253
+id-UL-CP-SecurityInformation                        ProtocolIE-ID ::= 254
+id-extended-e-RAB-MaximumBitrateDL                    ProtocolIE-ID ::= 255
+id-extended-e-RAB-MaximumBitrateUL                    ProtocolIE-ID ::= 256
+id-extended-e-RAB-GuaranteedBitrateDL                ProtocolIE-ID ::= 257
+id-extended-e-RAB-GuaranteedBitrateUL                ProtocolIE-ID ::= 258
+id-extended-uEaggregateMaximumBitRateDL                ProtocolIE-ID ::= 259
+id-extended-uEaggregateMaximumBitRateUL                ProtocolIE-ID ::= 260
+id-NRrestrictioninEPSasSecondaryRAT                    ProtocolIE-ID ::= 261
+id-UEAppLayerMeasConfig                                ProtocolIE-ID ::= 262
+id-UE-Application-Layer-Measurement-Capability        ProtocolIE-ID ::= 263
+id-SecondaryRATDataUsageReportList                    ProtocolIE-ID ::= 264
+id-SecondaryRATDataUsageReportItem                    ProtocolIE-ID ::= 265
+id-HandoverFlag                                        ProtocolIE-ID ::= 266
+id-E-RABUsageReportItem                                ProtocolIE-ID ::= 267
+id-SecondaryRATDataUsageRequest                        ProtocolIE-ID ::= 268
+id-NRUESecurityCapabilities                            ProtocolIE-ID ::= 269
+id-UnlicensedSpectrumRestriction                    ProtocolIE-ID ::= 270
+id-CE-ModeBRestricted                                ProtocolIE-ID ::= 271
+id-LTE-M-Indication                                    ProtocolIE-ID ::= 272
+id-DownlinkPacketLossRate                            ProtocolIE-ID ::= 273
+id-UplinkPacketLossRate                                ProtocolIE-ID ::= 274
+id-UECapabilityInfoRequest                            ProtocolIE-ID ::= 275
+id-serviceType                                        ProtocolIE-ID ::= 276
+id-AerialUEsubscriptionInformation                    ProtocolIE-ID ::= 277
+id-Subscription-Based-UE-DifferentiationInfo        ProtocolIE-ID ::= 278
+id-EndIndication                                    ProtocolIE-ID ::= 280
+id-EDT-Session                                        ProtocolIE-ID ::= 281
+id-CNTypeRestrictions                                ProtocolIE-ID ::= 282
+id-PendingDataIndication                            ProtocolIE-ID ::= 283
+id-BluetoothMeasurementConfiguration                ProtocolIE-ID ::= 284
+id-WLANMeasurementConfiguration                        ProtocolIE-ID ::= 285
+id-WarningAreaCoordinates                            ProtocolIE-ID ::= 286
+id-NRrestrictionin5GS                                ProtocolIE-ID ::= 287
+id-PSCellInformation                                ProtocolIE-ID ::= 288
+id-LastNG-RANPLMNIdentity                            ProtocolIE-ID ::= 290
+id-ConnectedengNBList                                ProtocolIE-ID ::= 291
+id-ConnectedengNBToAddList                            ProtocolIE-ID ::= 292
+id-ConnectedengNBToRemoveList                        ProtocolIE-ID ::= 293
+id-EN-DCSONConfigurationTransfer-ECT                ProtocolIE-ID ::= 294
+id-EN-DCSONConfigurationTransfer-MCT                ProtocolIE-ID ::= 295
+id-IMSvoiceEPSfallbackfrom5G                        ProtocolIE-ID ::= 296
+id-TimeSinceSecondaryNodeRelease                    ProtocolIE-ID ::= 297
+id-RequestTypeAdditionalInfo                        ProtocolIE-ID ::= 298
+
+END
diff --git a/src/s1ap/asn1c/asnGenFiles/asn1c/S1AP-Containers.asn b/src/s1ap/asn1c/asnGenFiles/asn1c/S1AP-Containers.asn
new file mode 100644
index 0000000..23f48e5
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/asn1c/S1AP-Containers.asn
@@ -0,0 +1,204 @@
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+
+S1AP-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) 
+eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Containers (5) }
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+    Criticality,
+    Presence,
+    PrivateIE-ID,
+    ProtocolExtensionID,
+    ProtocolIE-ID
+FROM S1AP-CommonDataTypes
+
+    maxPrivateIEs,
+    maxProtocolExtensions,
+    maxProtocolIEs
+
+FROM S1AP-Constants
+    
+    Criticality,
+    maxnoofE-RABs
+
+FROM S1AP-IEs;
+
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+S1AP-PROTOCOL-IES ::= CLASS {
+    &id                ProtocolIE-ID                     UNIQUE,
+    &criticality    Criticality,
+    &Value,
+    &presence        Presence
+}
+WITH SYNTAX {
+    ID                &id
+    CRITICALITY        &criticality
+    TYPE            &Value
+    PRESENCE        &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+S1AP-PROTOCOL-IES-PAIR ::= CLASS {
+    &id                    ProtocolIE-ID                 UNIQUE,
+    &firstCriticality    Criticality,
+    &FirstValue,
+    &secondCriticality    Criticality,
+    &SecondValue,
+    &presence            Presence
+}
+WITH SYNTAX {
+    ID                &id
+    FIRST CRITICALITY        &firstCriticality
+    FIRST TYPE                &FirstValue
+    SECOND CRITICALITY        &secondCriticality
+    SECOND TYPE                &SecondValue
+    PRESENCE                &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+
+S1AP-PROTOCOL-EXTENSION ::= CLASS {
+    &id                ProtocolExtensionID            UNIQUE,
+    &criticality    Criticality,
+    &Extension,
+    &presence        Presence
+}
+WITH SYNTAX {
+    ID                &id
+    CRITICALITY        &criticality
+    EXTENSION        &Extension
+    PRESENCE        &presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Private IEs
+--
+-- **************************************************************
+
+S1AP-PRIVATE-IES ::= CLASS {
+    &id                PrivateIE-ID,
+    &criticality    Criticality,
+    &Value,
+    &presence        Presence
+}
+WITH SYNTAX {
+    ID                &id
+    CRITICALITY        &criticality
+    TYPE            &Value
+    PRESENCE        &presence
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container {S1AP-PROTOCOL-IES : IEsSetParam} ::= 
+    SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+    ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-SingleContainer {S1AP-PROTOCOL-IES : IEsSetParam} ::= 
+    ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Field {S1AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+    id                S1AP-PROTOCOL-IES.&id                ({IEsSetParam}),
+    criticality        S1AP-PROTOCOL-IES.&criticality        ({IEsSetParam}{@id}),
+    value            S1AP-PROTOCOL-IES.&Value            ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IE Pairs
+--
+-- **************************************************************
+
+ProtocolIE-ContainerPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= 
+    SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+    ProtocolIE-FieldPair {{IEsSetParam}}
+
+ProtocolIE-FieldPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
+    id                    S1AP-PROTOCOL-IES-PAIR.&id                    ({IEsSetParam}),
+    firstCriticality    S1AP-PROTOCOL-IES-PAIR.&firstCriticality    ({IEsSetParam}{@id}),
+    firstValue            S1AP-PROTOCOL-IES-PAIR.&FirstValue            ({IEsSetParam}{@id}),
+    secondCriticality    S1AP-PROTOCOL-IES-PAIR.&secondCriticality    ({IEsSetParam}{@id}),
+    secondValue            S1AP-PROTOCOL-IES-PAIR.&SecondValue        ({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES : IEsSetParam} ::=
+    SEQUENCE (SIZE (lowerBound..upperBound)) OF
+    ProtocolIE-SingleContainer {{IEsSetParam}}
+
+ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+    SEQUENCE (SIZE (lowerBound..upperBound)) OF
+    ProtocolIE-ContainerPair {{IEsSetParam}}
+
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+
+ProtocolExtensionContainer {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= 
+    SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+    ProtocolExtensionField {{ExtensionSetParam}}
+
+ProtocolExtensionField {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+    id                    S1AP-PROTOCOL-EXTENSION.&id                ({ExtensionSetParam}),
+    criticality            S1AP-PROTOCOL-EXTENSION.&criticality    ({ExtensionSetParam}{@id}),
+    extensionValue        S1AP-PROTOCOL-EXTENSION.&Extension        ({ExtensionSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Private IEs
+--
+-- **************************************************************
+
+PrivateIE-Container {S1AP-PRIVATE-IES : IEsSetParam } ::= 
+    SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
+    PrivateIE-Field {{IEsSetParam}}
+
+PrivateIE-Field {S1AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
+    id                    S1AP-PRIVATE-IES.&id                ({IEsSetParam}),
+    criticality            S1AP-PRIVATE-IES.&criticality        ({IEsSetParam}{@id}),
+    value                S1AP-PRIVATE-IES.&Value                ({IEsSetParam}{@id})
+}
+
+END
diff --git a/src/s1ap/asn1c/asnGenFiles/asn1c/S1AP-IEs.asn b/src/s1ap/asn1c/asnGenFiles/asn1c/S1AP-IEs.asn
new file mode 100644
index 0000000..f46e195
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/asn1c/S1AP-IEs.asn
@@ -0,0 +1,2817 @@
+-- **************************************************************
+--
+-- Information Element Definitions
+--
+-- **************************************************************
+
+S1AP-IEs {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) 
+eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-IEs (2) }
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+IMPORTS
+    id-E-RABInformationListItem,
+    id-E-RABItem,
+    id-Bearers-SubjectToStatusTransfer-Item,
+    id-Time-Synchronisation-Info,
+    id-x2TNLConfigurationInfo,
+    id-eNBX2ExtendedTransportLayerAddresses,
+    id-MDTConfiguration,
+    id-Time-UE-StayedInCell-EnhancedGranularity,
+    id-HO-Cause,
+    id-M3Configuration,
+    id-M4Configuration,
+    id-M5Configuration,
+    id-MDT-Location-Info,
+    id-SignallingBasedMDTPLMNList,
+    id-MobilityInformation,
+    id-ULCOUNTValueExtended,
+    id-DLCOUNTValueExtended,
+    id-ReceiveStatusOfULPDCPSDUsExtended,
+    id-eNBIndirectX2TransportLayerAddresses,
+    id-Muting-Availability-Indication,
+    id-Muting-Pattern-Information,
+    id-NRrestrictioninEPSasSecondaryRAT,
+    id-NRrestrictionin5GS,
+    id-Synchronisation-Information,
+    id-uE-HistoryInformationFromTheUE,
+    id-LoggedMBSFNMDT,
+    id-SON-Information-Report,
+    id-RecommendedCellItem,
+    id-RecommendedENBItem,
+    id-ProSeUEtoNetworkRelaying,
+    id-ULCOUNTValuePDCP-SNlength18,
+    id-DLCOUNTValuePDCP-SNlength18,
+    id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18,
+    id-M6Configuration,
+    id-M7Configuration,
+    id-RAT-Type,
+    id-extended-e-RAB-MaximumBitrateDL,
+    id-extended-e-RAB-MaximumBitrateUL,
+    id-extended-e-RAB-GuaranteedBitrateDL,
+    id-extended-e-RAB-GuaranteedBitrateUL,
+    id-extended-uEaggregateMaximumBitRateDL,
+    id-extended-uEaggregateMaximumBitRateUL,
+    id-SecondaryRATDataUsageReportItem,
+    id-E-RABUsageReportItem,
+    id-UEAppLayerMeasConfig,
+    id-serviceType,
+    id-UnlicensedSpectrumRestriction, 
+    id-CNTypeRestrictions,
+    id-DownlinkPacketLossRate,
+    id-UplinkPacketLossRate,
+    id-BluetoothMeasurementConfiguration,
+    id-WLANMeasurementConfiguration,
+    id-LastNG-RANPLMNIdentity,
+    id-PSCellInformation,
+    id-IMSvoiceEPSfallbackfrom5G,
+    id-RequestTypeAdditionalInfo,
+    maxnoofE-RABs,
+    maxnoofCSGs,
+    maxnoofErrors,
+    maxnoofBPLMNs,
+    maxnoofPLMNsPerMME,
+    maxnoofTACs,
+    maxnoofEPLMNs,
+    maxnoofEPLMNsPlusOne,
+    maxnoofForbLACs,
+    maxnoofForbTACs,
+    maxnoofCellsinUEHistoryInfo,
+    maxnoofCellID,
+    maxnoofDCNs,
+    maxnoofEmergencyAreaID,
+    maxnoofTAIforWarning,
+    maxnoofCellinTAI,
+    maxnoofCellinEAI,
+    maxnoofeNBX2TLAs,
+    maxnoofeNBX2ExtTLAs,
+    maxnoofeNBX2GTPTLAs,
+    maxnoofRATs,
+    maxnoofGroupIDs,
+    maxnoofMMECs,
+    maxnoofTAforMDT,
+    maxnoofCellIDforMDT,
+    maxnoofMDTPLMNs,
+    maxnoofCellsforRestart,
+    maxnoofRestartTAIs,
+    maxnoofRestartEmergencyAreaIDs,
+    maxnoofMBSFNAreaMDT,
+    maxEARFCN,
+    maxnoofCellsineNB,
+    maxnoofRecommendedCells,
+    maxnoofRecommendedENBs,
+    maxnooftimeperiods,
+    maxnoofCellIDforQMC,
+    maxnoofTAforQMC,
+    maxnoofPLMNforQMC,
+    maxnoofBluetoothName,
+    maxnoofWLANName,
+    maxnoofConnectedengNBs
+
+
+
+
+FROM S1AP-Constants
+    
+    Criticality,
+    ProcedureCode,
+    ProtocolIE-ID,
+    TriggeringMessage
+FROM S1AP-CommonDataTypes
+
+    ProtocolExtensionContainer{},
+    S1AP-PROTOCOL-EXTENSION,
+    ProtocolIE-SingleContainer{},
+    S1AP-PROTOCOL-IES
+
+FROM S1AP-Containers;    
+
+-- A
+
+Additional-GUTI::= SEQUENCE {
+    gUMMEI                    GUMMEI,
+    m-TMSI                    M-TMSI,
+    iE-Extensions            ProtocolExtensionContainer { {Additional-GUTI-ExtIEs} } OPTIONAL,
+    ...
+}
+
+Additional-GUTI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+AerialUEsubscriptionInformation ::= ENUMERATED { 
+    allowed,
+    not-allowed,
+    ...
+}
+
+AreaScopeOfMDT ::= CHOICE {    
+    cellBased                    CellBasedMDT,
+    tABased                        TABasedMDT,
+    pLMNWide                    NULL,
+    ...,
+    tAIBased                    TAIBasedMDT
+}
+
+
+AreaScopeOfQMC ::= CHOICE {    
+    cellBased                    CellBasedQMC,
+    tABased                        TABasedQMC,
+    tAIBased                        TAIBasedQMC,
+    pLMNAreaBased                PLMNAreaBasedQMC,
+    ...
+}
+
+AllocationAndRetentionPriority ::= SEQUENCE {
+    priorityLevel                PriorityLevel,
+    pre-emptionCapability        Pre-emptionCapability,
+    pre-emptionVulnerability    Pre-emptionVulnerability,
+    iE-Extensions                ProtocolExtensionContainer { {AllocationAndRetentionPriority-ExtIEs} } OPTIONAL,
+    ...
+}
+
+AllocationAndRetentionPriority-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+AssistanceDataForCECapableUEs ::= SEQUENCE {
+    cellIdentifierAndCELevelForCECapableUEs        CellIdentifierAndCELevelForCECapableUEs,
+    iE-Extensions                                ProtocolExtensionContainer { { InformationForCECapableUEs-ExtIEs} } OPTIONAL,
+    ...
+}
+
+InformationForCECapableUEs-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+AssistanceDataForPaging ::= SEQUENCE {
+    assistanceDataForRecommendedCells    AssistanceDataForRecommendedCells        OPTIONAL,
+    assistanceDataForCECapableUEs        AssistanceDataForCECapableUEs            OPTIONAL,
+    pagingAttemptInformation            PagingAttemptInformation                OPTIONAL,
+    iE-Extensions                        ProtocolExtensionContainer { { AssistanceDataForPaging-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+AssistanceDataForPaging-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+AssistanceDataForRecommendedCells ::= SEQUENCE {
+    recommendedCellsForPaging    RecommendedCellsForPaging, 
+    iE-Extensions                ProtocolExtensionContainer { { AssistanceDataForRecommendedCells-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+AssistanceDataForRecommendedCells-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+-- B
+
+Bearers-SubjectToStatusTransferList ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { { Bearers-SubjectToStatusTransfer-ItemIEs } }
+
+Bearers-SubjectToStatusTransfer-ItemIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-Bearers-SubjectToStatusTransfer-Item    CRITICALITY ignore    TYPE Bearers-SubjectToStatusTransfer-Item     PRESENCE mandatory    },
+    ...
+}
+
+Bearers-SubjectToStatusTransfer-Item ::= SEQUENCE {
+    e-RAB-ID                                E-RAB-ID,
+    uL-COUNTvalue                            COUNTvalue,
+    dL-COUNTvalue                            COUNTvalue,
+    receiveStatusofULPDCPSDUs                ReceiveStatusofULPDCPSDUs            OPTIONAL,
+    iE-Extensions                            ProtocolExtensionContainer { {Bearers-SubjectToStatusTransfer-ItemExtIEs} } OPTIONAL,
+    ...
+}
+
+Bearers-SubjectToStatusTransfer-ItemExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    { ID id-ULCOUNTValueExtended                        CRITICALITY ignore    EXTENSION COUNTValueExtended                PRESENCE optional}|
+    { ID id-DLCOUNTValueExtended                        CRITICALITY ignore    EXTENSION COUNTValueExtended                PRESENCE optional}|
+    { ID id-ReceiveStatusOfULPDCPSDUsExtended            CRITICALITY ignore    EXTENSION ReceiveStatusOfULPDCPSDUsExtended        PRESENCE optional}|
+    { ID id-ULCOUNTValuePDCP-SNlength18                    CRITICALITY ignore    EXTENSION COUNTvaluePDCP-SNlength18            PRESENCE optional}|
+    { ID id-DLCOUNTValuePDCP-SNlength18                    CRITICALITY ignore    EXTENSION COUNTvaluePDCP-SNlength18            PRESENCE optional}|
+    { ID id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18    CRITICALITY ignore    EXTENSION ReceiveStatusOfULPDCPSDUsPDCP-SNlength18    PRESENCE optional},
+    ...
+}
+
+BearerType ::= ENUMERATED {
+    non-IP,
+    ...
+}
+
+BitRate    ::= INTEGER (0..10000000000) 
+
+BluetoothMeasurementConfiguration ::= SEQUENCE {
+    bluetoothMeasConfig             BluetoothMeasConfig,
+    bluetoothMeasConfigNameList        BluetoothMeasConfigNameList     OPTIONAL,
+    bt-rssi                         ENUMERATED {true, ...}          OPTIONAL,
+    iE-Extensions        ProtocolExtensionContainer { { BluetoothMeasurementConfiguration-ExtIEs } } OPTIONAL,
+    ...
+}
+
+BluetoothMeasurementConfiguration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+BluetoothMeasConfigNameList ::= SEQUENCE (SIZE(1..maxnoofBluetoothName)) OF BluetoothName
+
+BluetoothMeasConfig::= ENUMERATED {setup,...}
+
+BluetoothName ::= OCTET STRING (SIZE (1..248))
+
+BPLMNs ::= SEQUENCE (SIZE(1.. maxnoofBPLMNs)) OF PLMNidentity
+
+BroadcastCancelledAreaList ::= CHOICE {
+    cellID-Cancelled                CellID-Cancelled,
+    tAI-Cancelled                    TAI-Cancelled,
+    emergencyAreaID-Cancelled        EmergencyAreaID-Cancelled,
+    ...
+}
+
+BroadcastCompletedAreaList ::= CHOICE {
+    cellID-Broadcast                CellID-Broadcast,
+    tAI-Broadcast                    TAI-Broadcast,
+    emergencyAreaID-Broadcast        EmergencyAreaID-Broadcast,
+    ...
+}
+
+
+-- C
+
+CancelledCellinEAI ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CancelledCellinEAI-Item
+
+CancelledCellinEAI-Item ::= SEQUENCE {
+    eCGI                    EUTRAN-CGI,
+    numberOfBroadcasts        NumberOfBroadcasts,
+    iE-Extensions            ProtocolExtensionContainer { {CancelledCellinEAI-Item-ExtIEs} } OPTIONAL,
+    ...
+}
+
+CancelledCellinEAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+CancelledCellinTAI ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CancelledCellinTAI-Item
+
+CancelledCellinTAI-Item ::= SEQUENCE{
+    eCGI                EUTRAN-CGI,
+    numberOfBroadcasts    NumberOfBroadcasts,
+    iE-Extensions        ProtocolExtensionContainer { {CancelledCellinTAI-Item-ExtIEs} } OPTIONAL,
+    ...
+}
+
+CancelledCellinTAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+Cause ::= CHOICE {
+    radioNetwork        CauseRadioNetwork,
+    transport            CauseTransport,
+    nas                    CauseNas,
+    protocol            CauseProtocol,
+    misc                CauseMisc,
+    ...
+}
+
+CauseMisc ::= ENUMERATED {
+    control-processing-overload,
+    not-enough-user-plane-processing-resources,
+    hardware-failure,
+    om-intervention,
+    unspecified,
+    unknown-PLMN,
+...
+}
+
+CauseProtocol ::= ENUMERATED {
+    transfer-syntax-error,
+    abstract-syntax-error-reject,
+    abstract-syntax-error-ignore-and-notify,
+    message-not-compatible-with-receiver-state,
+    semantic-error,
+    abstract-syntax-error-falsely-constructed-message,
+    unspecified,
+    ...
+}
+
+CauseRadioNetwork ::= ENUMERATED {
+    unspecified,
+    tx2relocoverall-expiry,
+    successful-handover,
+    release-due-to-eutran-generated-reason,
+    handover-cancelled,    
+    partial-handover,    
+    ho-failure-in-target-EPC-eNB-or-target-system,
+    ho-target-not-allowed,
+    tS1relocoverall-expiry,
+    tS1relocprep-expiry,
+    cell-not-available,
+    unknown-targetID,
+    no-radio-resources-available-in-target-cell,
+    unknown-mme-ue-s1ap-id,
+    unknown-enb-ue-s1ap-id,
+    unknown-pair-ue-s1ap-id,
+    handover-desirable-for-radio-reason,
+    time-critical-handover,
+    resource-optimisation-handover,
+    reduce-load-in-serving-cell,
+    user-inactivity,
+    radio-connection-with-ue-lost,
+    load-balancing-tau-required,
+    cs-fallback-triggered,
+    ue-not-available-for-ps-service,
+    radio-resources-not-available,
+    failure-in-radio-interface-procedure,
+    invalid-qos-combination,
+    interrat-redirection,
+    interaction-with-other-procedure,
+    unknown-E-RAB-ID,
+    multiple-E-RAB-ID-instances,
+    encryption-and-or-integrity-protection-algorithms-not-supported,
+    s1-intra-system-handover-triggered,
+    s1-inter-system-handover-triggered,
+    x2-handover-triggered,
+    ...,
+    redirection-towards-1xRTT,
+    not-supported-QCI-value,
+    invalid-CSG-Id,
+    release-due-to-pre-emption
+
+}
+
+CauseTransport ::= ENUMERATED {
+    transport-resource-unavailable,
+    unspecified,
+    ...
+}
+
+CauseNas ::= ENUMERATED {
+    normal-release,
+    authentication-failure,
+    detach,
+    unspecified,
+    ...,
+    csg-subscription-expiry
+}
+
+CellAccessMode ::= ENUMERATED {
+    hybrid, 
+    ...
+}
+
+CellIdentifierAndCELevelForCECapableUEs ::= SEQUENCE {
+    global-Cell-ID        EUTRAN-CGI,
+    cELevel                CELevel,
+    iE-Extensions        ProtocolExtensionContainer { { CellIdentifierAndCELevelForCECapableUEs-ExtIEs} } OPTIONAL,
+    ...
+}
+
+CellIdentifierAndCELevelForCECapableUEs-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+-- Coverage Enhancement level encoded according to TS 36.331 [16] --
+CELevel ::= OCTET STRING
+
+CE-mode-B-SupportIndicator ::= ENUMERATED {
+    supported,
+    ...
+}
+
+CellIdentity ::= BIT STRING (SIZE (28))
+
+CellID-Broadcast ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF CellID-Broadcast-Item
+
+CellID-Broadcast-Item ::= SEQUENCE {
+    eCGI                EUTRAN-CGI,
+    iE-Extensions        ProtocolExtensionContainer { {CellID-Broadcast-Item-ExtIEs} } OPTIONAL,
+    ...
+}
+
+CellID-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+CellID-Cancelled::= SEQUENCE (SIZE(1..maxnoofCellID)) OF CellID-Cancelled-Item
+
+CellID-Cancelled-Item ::= SEQUENCE {
+    eCGI                EUTRAN-CGI,
+    numberOfBroadcasts    NumberOfBroadcasts,
+    iE-Extensions        ProtocolExtensionContainer { {CellID-Cancelled-Item-ExtIEs} } OPTIONAL,
+    ...
+}
+
+CellID-Cancelled-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+CellBasedMDT::= SEQUENCE {
+    cellIdListforMDT    CellIdListforMDT,
+    iE-Extensions        ProtocolExtensionContainer { {CellBasedMDT-ExtIEs} } OPTIONAL,
+    ...
+}
+
+CellBasedMDT-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+CellIdListforMDT ::= SEQUENCE (SIZE(1..maxnoofCellIDforMDT)) OF EUTRAN-CGI
+
+CellBasedQMC::= SEQUENCE {
+    cellIdListforQMC        CellIdListforQMC,
+    iE-Extensions        ProtocolExtensionContainer { {CellBasedQMC-ExtIEs} } OPTIONAL,
+    ...
+}
+
+CellBasedQMC-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+CellIdListforQMC ::= SEQUENCE (SIZE(1..maxnoofCellIDforQMC)) OF EUTRAN-CGI
+
+Cdma2000PDU    ::= OCTET STRING
+
+Cdma2000RATType ::= ENUMERATED {
+    hRPD,
+    onexRTT,
+    ...
+}
+
+Cdma2000SectorID ::= OCTET STRING
+
+Cdma2000HOStatus ::= ENUMERATED {
+    hOSuccess,
+    hOFailure,
+    ...
+}
+
+Cdma2000HORequiredIndication ::= ENUMERATED {
+    true,
+    ...
+}
+
+Cdma2000OneXSRVCCInfo ::= SEQUENCE {
+    cdma2000OneXMEID            Cdma2000OneXMEID,
+    cdma2000OneXMSI                Cdma2000OneXMSI,
+    cdma2000OneXPilot            Cdma2000OneXPilot,
+    iE-Extensions                ProtocolExtensionContainer { {Cdma2000OneXSRVCCInfo-ExtIEs} } OPTIONAL,
+    ...
+}
+
+Cdma2000OneXSRVCCInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+Cdma2000OneXMEID ::= OCTET STRING
+
+Cdma2000OneXMSI ::= OCTET STRING
+
+Cdma2000OneXPilot ::= OCTET STRING
+
+Cdma2000OneXRAND ::= OCTET STRING
+
+
+Cell-Size ::= ENUMERATED {verysmall, small, medium, large, ...}
+
+CellType ::= SEQUENCE {
+    cell-Size                Cell-Size,
+    iE-Extensions            ProtocolExtensionContainer { { CellType-ExtIEs}}    OPTIONAL,
+    ...
+}
+
+CellType-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+CGI ::= SEQUENCE {
+    pLMNidentity    PLMNidentity,
+    lAC                LAC,
+    cI                CI,
+    rAC                RAC                                                OPTIONAL,
+    iE-Extensions    ProtocolExtensionContainer { {CGI-ExtIEs} }        OPTIONAL,
+    ...
+    }
+
+CGI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+CI                    ::= OCTET STRING (SIZE (2))
+
+CNDomain ::= ENUMERATED {
+    ps, 
+    cs 
+}
+
+CNTypeRestrictions::= SEQUENCE (SIZE(1.. maxnoofEPLMNsPlusOne)) OF CNTypeRestrictions-Item
+
+CNTypeRestrictions-Item ::= SEQUENCE {
+    pLMN-Identity        PLMNidentity,
+    cNType                CNType,
+    iE-Extensions        ProtocolExtensionContainer { { CNTypeRestrictions-Item-ExtIEs} } OPTIONAL,
+    ...
+}
+
+CNTypeRestrictions-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+CNType ::= ENUMERATED {
+    fiveGCForbidden,
+    ...,
+    epc-Forbiddden
+}
+
+ConcurrentWarningMessageIndicator ::= ENUMERATED {
+    true
+}
+
+ConnectedengNBList ::= SEQUENCE (SIZE(1..maxnoofConnectedengNBs)) OF ConnectedengNBItem
+
+ConnectedengNBItem ::= SEQUENCE {
+    en-gNB-ID        En-gNB-ID,
+    supportedTAs    SupportedTAs,
+    iE-Extensions    ProtocolExtensionContainer { {ConnectedengNBItem-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+ConnectedengNBItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+Correlation-ID        ::= OCTET STRING (SIZE (4))
+
+CSFallbackIndicator ::= ENUMERATED { 
+    cs-fallback-required,
+    ...,
+    cs-fallback-high-priority 
+}
+
+AdditionalCSFallbackIndicator ::= ENUMERATED { 
+    no-restriction,
+    restriction,
+    ...
+}
+
+CSG-Id        ::= BIT STRING (SIZE (27))
+
+
+CSG-IdList ::= SEQUENCE (SIZE (1.. maxnoofCSGs)) OF CSG-IdList-Item
+
+CSG-IdList-Item ::= SEQUENCE {
+    cSG-Id            CSG-Id,
+    iE-Extensions    ProtocolExtensionContainer { {CSG-IdList-Item-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+CSG-IdList-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+CSGMembershipStatus ::= ENUMERATED { 
+    member, 
+    not-member
+}
+
+
+COUNTvalue ::= SEQUENCE {
+    pDCP-SN            PDCP-SN,
+    hFN                HFN,
+    iE-Extensions    ProtocolExtensionContainer { {COUNTvalue-ExtIEs} } OPTIONAL,
+    ...
+}
+COUNTvalue-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+COUNTValueExtended  ::= SEQUENCE {
+    pDCP-SNExtended        PDCP-SNExtended,
+    hFNModified            HFNModified,
+    iE-Extensions        ProtocolExtensionContainer { {COUNTValueExtended-ExtIEs} } OPTIONAL,
+    ...
+}
+
+COUNTValueExtended-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+COUNTvaluePDCP-SNlength18 ::= SEQUENCE {
+    pDCP-SNlength18                PDCP-SNlength18,
+    hFNforPDCP-SNlength18        HFNforPDCP-SNlength18,
+    iE-Extensions                ProtocolExtensionContainer { {COUNTvaluePDCP-SNlength18-ExtIEs} } OPTIONAL,
+    ...
+}
+
+COUNTvaluePDCP-SNlength18-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+Coverage-Level ::= ENUMERATED {
+    extendedcoverage,
+    ...
+}
+
+CriticalityDiagnostics ::= SEQUENCE {
+    procedureCode                    ProcedureCode                                                        OPTIONAL,
+    triggeringMessage                TriggeringMessage                                                    OPTIONAL,
+    procedureCriticality            Criticality                                                            OPTIONAL,
+    iEsCriticalityDiagnostics        CriticalityDiagnostics-IE-List                                        OPTIONAL,
+    iE-Extensions                    ProtocolExtensionContainer {{CriticalityDiagnostics-ExtIEs}}        OPTIONAL,
+    ...
+}
+
+CriticalityDiagnostics-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1.. maxnoofErrors)) OF CriticalityDiagnostics-IE-Item
+
+CriticalityDiagnostics-IE-Item ::= SEQUENCE {
+    iECriticality            Criticality,
+    iE-ID                    ProtocolIE-ID,
+    typeOfError             TypeOfError,
+    iE-Extensions            ProtocolExtensionContainer {{CriticalityDiagnostics-IE-Item-ExtIEs}}    OPTIONAL,
+    ...
+}
+
+CriticalityDiagnostics-IE-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+
+-- D
+
+DataCodingScheme ::= BIT STRING (SIZE (8))
+
+DCN-ID ::= INTEGER (0..65535)
+
+ServedDCNs ::= SEQUENCE (SIZE(0..maxnoofDCNs)) OF ServedDCNsItem
+
+ServedDCNsItem ::= SEQUENCE {
+    dCN-ID                        DCN-ID,
+    relativeDCNCapacity            RelativeMMECapacity,
+    iE-Extensions            ProtocolExtensionContainer { {ServedDCNsItem-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+ServedDCNsItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+DL-CP-SecurityInformation ::= SEQUENCE {
+    dl-NAS-MAC                DL-NAS-MAC,
+    iE-Extensions            ProtocolExtensionContainer { { DL-CP-SecurityInformation-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+DL-CP-SecurityInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+DL-Forwarding ::= ENUMERATED {
+    dL-Forwarding-proposed,
+    ...
+}
+
+DL-NAS-MAC ::= BIT STRING (SIZE (16))
+
+Direct-Forwarding-Path-Availability ::= ENUMERATED {
+    directPathAvailable,
+    ...
+}
+
+Data-Forwarding-Not-Possible ::= ENUMERATED {
+    data-Forwarding-not-Possible,
+    ...
+}
+
+DLNASPDUDeliveryAckRequest ::= ENUMERATED {
+    requested,
+    ...
+}
+
+-- E
+
+EARFCN ::= INTEGER(0..maxEARFCN, ...)
+
+ECGIList ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF EUTRAN-CGI
+
+PWSfailedECGIList ::= SEQUENCE (SIZE(1..maxnoofCellsineNB)) OF EUTRAN-CGI
+
+EDT-Session ::= ENUMERATED {
+    true,
+    ...
+}
+
+EmergencyAreaIDList ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID
+
+EmergencyAreaID ::= OCTET STRING (SIZE (3))
+
+EmergencyAreaID-Broadcast ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID-Broadcast-Item
+
+EmergencyAreaID-Broadcast-Item ::= SEQUENCE {
+    emergencyAreaID            EmergencyAreaID,
+    completedCellinEAI        CompletedCellinEAI,
+    iE-Extensions            ProtocolExtensionContainer { {EmergencyAreaID-Broadcast-Item-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+EmergencyAreaID-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+EmergencyAreaID-Cancelled ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID-Cancelled-Item
+
+EmergencyAreaID-Cancelled-Item ::= SEQUENCE {
+    emergencyAreaID            EmergencyAreaID,
+    cancelledCellinEAI        CancelledCellinEAI,
+    iE-Extensions            ProtocolExtensionContainer { {EmergencyAreaID-Cancelled-Item-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+EmergencyAreaID-Cancelled-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+CompletedCellinEAI ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CompletedCellinEAI-Item
+
+CompletedCellinEAI-Item ::= SEQUENCE {
+    eCGI                    EUTRAN-CGI,
+    iE-Extensions            ProtocolExtensionContainer { {CompletedCellinEAI-Item-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+CompletedCellinEAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+ECGI-List ::= SEQUENCE (SIZE(1..maxnoofCellsineNB)) OF EUTRAN-CGI
+
+EmergencyAreaIDListForRestart    ::= SEQUENCE (SIZE(1..maxnoofRestartEmergencyAreaIDs)) OF EmergencyAreaID
+
+ENB-ID ::= CHOICE {
+    macroENB-ID            BIT STRING (SIZE(20)),
+    homeENB-ID            BIT STRING (SIZE(28)),
+    ... ,
+    short-macroENB-ID     BIT STRING (SIZE(18)),
+    long-macroENB-ID        BIT STRING (SIZE(21))
+}
+
+En-gNB-ID ::= BIT STRING (SIZE(22..32, ...))
+
+GERAN-Cell-ID ::= SEQUENCE {
+    lAI                LAI,
+    rAC                RAC, 
+    cI                CI,
+    iE-Extensions            ProtocolExtensionContainer { { GERAN-Cell-ID-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+GERAN-Cell-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+Global-ENB-ID ::= SEQUENCE {
+    pLMNidentity            PLMNidentity,
+    eNB-ID                    ENB-ID,
+    iE-Extensions            ProtocolExtensionContainer { {GlobalENB-ID-ExtIEs} }        OPTIONAL,
+    ...
+}
+
+GlobalENB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+Global-en-gNB-ID ::= SEQUENCE {
+    pLMNidentity            PLMNidentity,
+    en-gNB-ID                En-gNB-ID,
+    iE-Extensions            ProtocolExtensionContainer { {Global-en-gNB-ID-ExtIEs} }        OPTIONAL,
+    ...
+}
+
+Global-en-gNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+GUMMEIList::= SEQUENCE (SIZE (1.. maxnoofMMECs)) OF GUMMEI
+
+ENB-StatusTransfer-TransparentContainer        ::= SEQUENCE {
+    bearers-SubjectToStatusTransferList        Bearers-SubjectToStatusTransferList,
+    iE-Extensions            ProtocolExtensionContainer { {ENB-StatusTransfer-TransparentContainer-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+ENB-StatusTransfer-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+ENB-UE-S1AP-ID                ::= INTEGER (0..16777215)
+
+ENBname ::= PrintableString (SIZE (1..150,...))
+
+ENBX2TLAs ::= SEQUENCE (SIZE(1.. maxnoofeNBX2TLAs)) OF TransportLayerAddress
+
+EncryptionAlgorithms ::= BIT STRING (SIZE (16,...)) 
+
+EN-DCSONConfigurationTransfer ::= SEQUENCE {
+    transfertype                EN-DCSONTransferType,
+    sONInformation                    SONInformation,
+    x2TNLConfigInfo                    X2TNLConfigurationInfo     OPTIONAL,
+    -- This IE shall be present if the SON Information IE contains the SON Information Request IE and the SON Information Request IE is set to “X2TNL Configuration Info” --
+    iE-Extensions            ProtocolExtensionContainer { {EN-DCSONConfigurationTransfer-ExtIEs} }            OPTIONAL,
+...
+}
+
+EN-DCSONConfigurationTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+EN-DCSONTransferType ::= CHOICE {
+    request                EN-DCTransferTypeRequest,
+    reply                EN-DCTransferTypeReply,
+    ...
+}
+
+EN-DCTransferTypeRequest ::= SEQUENCE {
+    sourceeNB                 EN-DCSONeNBIdentification,
+    targetengNB                EN-DCSONengNBIdentification,
+    targeteNB                EN-DCSONeNBIdentification                                                    OPTIONAL,
+    associatedTAI            TAI                                                                            OPTIONAL,
+    broadcast5GSTAI            FiveGSTAI                                                                    OPTIONAL,
+    iE-Extensions            ProtocolExtensionContainer { {EN-DCTransferTypeRequest-ExtIEs} }            OPTIONAL,
+...
+}
+
+EN-DCTransferTypeRequest-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+EN-DCTransferTypeReply ::= SEQUENCE {
+    sourceengNB                EN-DCSONengNBIdentification,
+    targeteNB                 EN-DCSONeNBIdentification,
+    iE-Extensions            ProtocolExtensionContainer { {EN-DCTransferTypeReply-ExtIEs} }            OPTIONAL,
+...
+}
+
+EN-DCTransferTypeReply-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+EN-DCSONeNBIdentification ::= SEQUENCE {
+    globaleNBID                Global-ENB-ID,
+    selectedTAI                TAI,
+    iE-Extensions            ProtocolExtensionContainer { {EN-DCSONeNBIdentification-ExtIEs} }            OPTIONAL,
+...
+}
+
+EN-DCSONeNBIdentification-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+EN-DCSONengNBIdentification ::= SEQUENCE {
+    globalengNBID            Global-en-gNB-ID,
+    selectedTAI                TAI,
+    iE-Extensions            ProtocolExtensionContainer { {EN-DCSONengNBIdentification-ExtIEs} }            OPTIONAL,
+...
+}
+
+EN-DCSONengNBIdentification-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+EndIndication ::= ENUMERATED {
+    no-further-data,
+    further-data-exists,
+    ...
+}
+
+EnhancedCoverageRestricted ::= ENUMERATED {
+    restricted,
+    ...
+}
+
+CE-ModeBRestricted ::= ENUMERATED {
+    restricted,
+    not-restricted,
+    ...
+}
+
+EPLMNs ::= SEQUENCE (SIZE(1..maxnoofEPLMNs)) OF PLMNidentity
+EventType    ::= ENUMERATED {
+    direct,
+    change-of-serve-cell,
+    stop-change-of-serve-cell,
+    ...
+}
+
+E-RAB-ID        ::= INTEGER (0..15, ...)
+
+E-RABInformationList    ::= SEQUENCE (SIZE (1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { { E-RABInformationListIEs } }
+
+E-RABInformationListIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-E-RABInformationListItem            CRITICALITY ignore    TYPE E-RABInformationListItem            PRESENCE mandatory    },
+    ...
+}
+
+E-RABInformationListItem ::= SEQUENCE {
+    e-RAB-ID                        E-RAB-ID,
+    dL-Forwarding                    DL-Forwarding        OPTIONAL,
+    iE-Extensions                    ProtocolExtensionContainer { {E-RABInformationListItem-ExtIEs} }            OPTIONAL,
+    ...
+}
+
+E-RABInformationListItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+E-RABList ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { {E-RABItemIEs} }
+
+E-RABItemIEs     S1AP-PROTOCOL-IES ::= {
+    { ID id-E-RABItem     CRITICALITY ignore     TYPE E-RABItem     PRESENCE mandatory },
+    ...
+}
+
+E-RABItem ::= SEQUENCE {
+    e-RAB-ID                    E-RAB-ID,
+    cause                        Cause,
+    iE-Extensions                ProtocolExtensionContainer { {E-RABItem-ExtIEs} } OPTIONAL,
+    ...
+}
+
+E-RABItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+
+E-RABLevelQoSParameters ::= SEQUENCE {
+    qCI            QCI,
+    allocationRetentionPriority        AllocationAndRetentionPriority,
+    gbrQosInformation                    GBR-QosInformation                                                OPTIONAL,
+    iE-Extensions                        ProtocolExtensionContainer { {E-RABQoSParameters-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+E-RABUsageReportList ::= SEQUENCE (SIZE(1..maxnooftimeperiods)) OF ProtocolIE-SingleContainer { {E-RABUsageReportItemIEs} }
+
+E-RABUsageReportItemIEs     S1AP-PROTOCOL-IES ::= {
+    { ID id-E-RABUsageReportItem     CRITICALITY ignore     TYPE E-RABUsageReportItem     PRESENCE mandatory },
+    ...
+}
+
+E-RABUsageReportItem ::= SEQUENCE {
+    startTimestamp                    OCTET STRING (SIZE(4)),
+    endTimestamp                    OCTET STRING (SIZE(4)),
+    usageCountUL                    INTEGER,
+    usageCountDL                    INTEGER,
+    iE-Extensions                ProtocolExtensionContainer { { E-RABUsageReportItem-ExtIEs} } OPTIONAL,
+    ...
+}
+
+E-RABUsageReportItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+E-RABQoSParameters-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+-- Extended for introduction of downlink and uplink packet loss rate for enhanced Voice performance –-
+    { ID id-DownlinkPacketLossRate        CRITICALITY ignore    EXTENSION Packet-LossRate        PRESENCE optional}|
+    { ID id-UplinkPacketLossRate            CRITICALITY ignore    EXTENSION Packet-LossRate        PRESENCE optional},
+    ...
+}
+
+
+EUTRAN-CGI ::= SEQUENCE {
+    pLMNidentity            PLMNidentity,
+    cell-ID                    CellIdentity,
+    iE-Extensions            ProtocolExtensionContainer { {EUTRAN-CGI-ExtIEs} } OPTIONAL,
+    ...
+}
+
+EUTRAN-CGI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+EUTRANRoundTripDelayEstimationInfo ::= INTEGER (0..2047)
+
+ExpectedUEBehaviour ::= SEQUENCE {
+    expectedActivity        ExpectedUEActivityBehaviour OPTIONAL,
+    expectedHOInterval        ExpectedHOInterval             OPTIONAL,
+    iE-Extensions        ProtocolExtensionContainer { { ExpectedUEBehaviour-ExtIEs} } OPTIONAL,
+    ...
+}
+
+ExpectedUEBehaviour-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+ExpectedUEActivityBehaviour ::= SEQUENCE {
+    expectedActivityPeriod                    ExpectedActivityPeriod                    OPTIONAL,
+    expectedIdlePeriod                        ExpectedIdlePeriod                        OPTIONAL,
+    sourceofUEActivityBehaviourInformation    SourceOfUEActivityBehaviourInformation    OPTIONAL,
+    iE-Extensions        ProtocolExtensionContainer { { ExpectedUEActivityBehaviour-ExtIEs} } OPTIONAL,
+    ...
+}
+
+ExpectedUEActivityBehaviour-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+ExpectedActivityPeriod ::= INTEGER (1..30|40|50|60|80|100|120|150|180|181,...)
+
+ExpectedIdlePeriod ::= INTEGER (1..30|40|50|60|80|100|120|150|180|181,...)
+
+SourceOfUEActivityBehaviourInformation ::= ENUMERATED {
+    subscription-information,
+    statistics,
+    ...
+}
+
+ExpectedHOInterval ::= ENUMERATED {
+    sec15, sec30, sec60, sec90, sec120, sec180, long-time,
+    ...
+}
+
+ExtendedBitRate    ::= INTEGER (10000000001..4000000000000, ...) 
+
+ExtendedRNC-ID                    ::= INTEGER (4096..65535)
+
+ExtendedRepetitionPeriod ::= INTEGER (4096..131071) 
+
+Extended-UEIdentityIndexValue ::= BIT STRING (SIZE (14))
+
+-- F
+
+FiveGSTAC ::= OCTET STRING (SIZE (3))
+
+FiveGSTAI ::= SEQUENCE {
+    pLMNidentity            PLMNidentity,
+    fiveGSTAC                FiveGSTAC,
+    iE-Extensions            ProtocolExtensionContainer { {FiveGSTAI-ExtIEs} } OPTIONAL,
+    ...
+}
+
+FiveGSTAI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+ForbiddenInterRATs ::= ENUMERATED {
+    all,
+    geran,
+    utran,
+    cdma2000,
+    ...,
+    geranandutran,
+    cdma2000andutran
+
+}
+
+ForbiddenTAs ::= SEQUENCE (SIZE(1.. maxnoofEPLMNsPlusOne)) OF ForbiddenTAs-Item
+
+ForbiddenTAs-Item ::= SEQUENCE {
+    pLMN-Identity        PLMNidentity,
+    forbiddenTACs        ForbiddenTACs,
+    iE-Extensions        ProtocolExtensionContainer { {ForbiddenTAs-Item-ExtIEs} } OPTIONAL,
+    ...
+}
+
+ForbiddenTAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+ForbiddenTACs ::= SEQUENCE (SIZE(1..maxnoofForbTACs)) OF TAC
+
+ForbiddenLAs ::= SEQUENCE (SIZE(1..maxnoofEPLMNsPlusOne)) OF ForbiddenLAs-Item
+
+ForbiddenLAs-Item ::= SEQUENCE {
+    pLMN-Identity        PLMNidentity,
+    forbiddenLACs        ForbiddenLACs,
+    iE-Extensions        ProtocolExtensionContainer { {ForbiddenLAs-Item-ExtIEs} } OPTIONAL,
+    ...
+}
+
+ForbiddenLAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+ForbiddenLACs ::= SEQUENCE (SIZE(1..maxnoofForbLACs)) OF LAC
+
+-- G
+
+GBR-QosInformation ::= SEQUENCE {
+    e-RAB-MaximumBitrateDL            BitRate,
+    e-RAB-MaximumBitrateUL            BitRate,
+    e-RAB-GuaranteedBitrateDL        BitRate,
+    e-RAB-GuaranteedBitrateUL        BitRate,
+    iE-Extensions                    ProtocolExtensionContainer { { GBR-QosInformation-ExtIEs} } OPTIONAL,
+    ...
+}
+
+GBR-QosInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+-- Extension for maximum bitrate > 10G bps --    
+    { ID id-extended-e-RAB-MaximumBitrateDL    CRITICALITY ignore    EXTENSION ExtendedBitRate    PRESENCE optional}|
+    { ID id-extended-e-RAB-MaximumBitrateUL    CRITICALITY ignore    EXTENSION ExtendedBitRate    PRESENCE optional}|
+    { ID id-extended-e-RAB-GuaranteedBitrateDL    CRITICALITY ignore    EXTENSION ExtendedBitRate    PRESENCE optional}|
+    { ID id-extended-e-RAB-GuaranteedBitrateUL    CRITICALITY ignore    EXTENSION ExtendedBitRate    PRESENCE optional},
+    ...}
+
+
+GTP-TEID                    ::= OCTET STRING (SIZE (4))
+
+GUMMEI            ::= SEQUENCE {
+    pLMN-Identity        PLMNidentity,
+    mME-Group-ID        MME-Group-ID,
+    mME-Code            MME-Code,
+    iE-Extensions        ProtocolExtensionContainer { {GUMMEI-ExtIEs} } OPTIONAL,
+    ...
+}
+
+GUMMEI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+GUMMEIType ::= ENUMERATED {
+    native,
+    mapped,
+    ...,
+    mappedFrom5G
+}
+
+GWContextReleaseIndication ::= ENUMERATED {
+    true,
+    ...
+}
+
+-- H
+
+HandoverFlag ::= ENUMERATED {
+    handoverPreparation,
+    ...
+}
+
+
+HandoverRestrictionList ::= SEQUENCE {
+    servingPLMN                    PLMNidentity,
+    equivalentPLMNs                EPLMNs                    OPTIONAL,
+    forbiddenTAs                ForbiddenTAs            OPTIONAL,
+    forbiddenLAs                ForbiddenLAs            OPTIONAL,
+    forbiddenInterRATs            ForbiddenInterRATs        OPTIONAL, 
+    iE-Extensions                ProtocolExtensionContainer { {HandoverRestrictionList-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+HandoverRestrictionList-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    { ID id-NRrestrictioninEPSasSecondaryRAT        CRITICALITY ignore    EXTENSION NRrestrictioninEPSasSecondaryRAT        PRESENCE optional}|
+    { ID id-UnlicensedSpectrumRestriction        CRITICALITY ignore    EXTENSION UnlicensedSpectrumRestriction    PRESENCE optional}|
+    { ID id-CNTypeRestrictions        CRITICALITY ignore    EXTENSION CNTypeRestrictions    PRESENCE optional}|
+    { ID id-NRrestrictionin5GS        CRITICALITY ignore    EXTENSION NRrestrictionin5GS     PRESENCE optional}|
+    { ID id-LastNG-RANPLMNIdentity        CRITICALITY ignore    EXTENSION PLMNidentity            PRESENCE optional},
+    ...
+}
+
+HandoverType ::= ENUMERATED {
+    intralte,
+    ltetoutran,
+    ltetogeran,
+    utrantolte,
+    gerantolte,
+    ...,
+    eps-to-5gs,
+    fivegs-to-eps
+}
+
+HFN ::= INTEGER (0..1048575)
+
+HFNModified ::= INTEGER (0..131071)
+
+HFNforPDCP-SNlength18 ::= INTEGER (0..16383)
+
+-- I
+
+Masked-IMEISV ::= BIT STRING (SIZE (64))
+
+ImmediateMDT ::= SEQUENCE { 
+    measurementsToActivate        MeasurementsToActivate,
+    m1reportingTrigger            M1ReportingTrigger,
+    m1thresholdeventA2            M1ThresholdEventA2                OPTIONAL,
+-- Included in case of event-triggered, or event-triggered periodic reporting for measurement M1
+    m1periodicReporting            M1PeriodicReporting                OPTIONAL,
+-- Included in case of periodic or event-triggered periodic reporting
+    iE-Extensions                ProtocolExtensionContainer { { ImmediateMDT-ExtIEs} } OPTIONAL,
+    ...
+}
+
+ImmediateMDT-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    { ID id-M3Configuration        CRITICALITY ignore    EXTENSION M3Configuration        PRESENCE conditional}|
+    { ID id-M4Configuration        CRITICALITY ignore    EXTENSION M4Configuration        PRESENCE conditional}|
+    { ID id-M5Configuration        CRITICALITY ignore    EXTENSION M5Configuration        PRESENCE conditional}|
+    { ID id-MDT-Location-Info    CRITICALITY ignore    EXTENSION MDT-Location-Info        PRESENCE optional}|
+    { ID id-M6Configuration        CRITICALITY ignore    EXTENSION M6Configuration        PRESENCE conditional}|
+    { ID id-M7Configuration        CRITICALITY ignore    EXTENSION M7Configuration        PRESENCE conditional}|
+    { ID id-BluetoothMeasurementConfiguration        CRITICALITY ignore    EXTENSION BluetoothMeasurementConfiguration        PRESENCE optional}|
+    { ID id-WLANMeasurementConfiguration        CRITICALITY ignore    EXTENSION WLANMeasurementConfiguration        PRESENCE optional},
+    ...
+}
+
+IMSI    ::=    OCTET STRING (SIZE (3..8))
+
+InformationOnRecommendedCellsAndENBsForPaging ::= SEQUENCE {
+    recommendedCellsForPaging    RecommendedCellsForPaging,
+    recommendENBsForPaging        RecommendedENBsForPaging,
+    iE-Extensions                ProtocolExtensionContainer { { InformationOnRecommendedCellsAndENBsForPaging-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+InformationOnRecommendedCellsAndENBsForPaging-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+IntegrityProtectionAlgorithms ::= BIT STRING (SIZE (16,...))
+
+IntendedNumberOfPagingAttempts ::= INTEGER (1..16, ...)
+
+InterfacesToTrace ::= BIT STRING (SIZE (8))
+
+IMSvoiceEPSfallbackfrom5G ::= ENUMERATED {
+    true,
+    ...
+}
+
+
+-- J
+-- K
+
+KillAllWarningMessages ::= ENUMERATED {true}
+
+-- L
+
+
+LAC    ::= OCTET STRING (SIZE (2))
+
+LAI ::= SEQUENCE {
+    pLMNidentity                PLMNidentity,
+    lAC                LAC,
+    iE-Extensions            ProtocolExtensionContainer { {LAI-ExtIEs} } OPTIONAL,
+    ...
+}
+
+LAI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+LastVisitedCell-Item ::= CHOICE {
+    e-UTRAN-Cell                    LastVisitedEUTRANCellInformation,
+    uTRAN-Cell                        LastVisitedUTRANCellInformation,
+    gERAN-Cell                        LastVisitedGERANCellInformation,
+    ...,
+    nG-RAN-Cell                        LastVisitedNGRANCellInformation
+}
+LastVisitedEUTRANCellInformation ::= SEQUENCE {
+    global-Cell-ID                    EUTRAN-CGI,
+    cellType                        CellType,
+    time-UE-StayedInCell            Time-UE-StayedInCell,
+    iE-Extensions                    ProtocolExtensionContainer { { LastVisitedEUTRANCellInformation-ExtIEs} } OPTIONAL,
+    ...
+}
+LastVisitedEUTRANCellInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+-- Extension for Rel-11 to support enhanced granularity for time UE stayed in cell --
+    { ID id-Time-UE-StayedInCell-EnhancedGranularity    CRITICALITY ignore    EXTENSION Time-UE-StayedInCell-EnhancedGranularity    PRESENCE optional}|
+    { ID id-HO-Cause                                    CRITICALITY ignore    EXTENSION Cause                            PRESENCE optional},
+    ...
+}
+
+LastVisitedNGRANCellInformation    ::= OCTET STRING
+
+LastVisitedUTRANCellInformation    ::= OCTET STRING
+
+LastVisitedGERANCellInformation ::= CHOICE {
+    undefined                        NULL,
+    ...
+}
+
+L3-Information                ::= OCTET STRING
+-- This is a dummy IE used only as a reference to the actual definition in relevant specification.
+
+LPPa-PDU ::=  OCTET STRING
+
+LHN-ID ::=  OCTET STRING(SIZE (32..256))
+
+Links-to-log ::= ENUMERATED {uplink, downlink, both-uplink-and-downlink, ...} 
+
+ListeningSubframePattern ::= SEQUENCE {
+    pattern-period                ENUMERATED {ms1280, ms2560, ms5120, ms10240, ...},
+    pattern-offset                INTEGER (0..10239, ...),
+    iE-Extensions                ProtocolExtensionContainer { { ListeningSubframePattern-ExtIEs} } OPTIONAL,
+    ...
+}
+
+ListeningSubframePattern-ExtIEs    S1AP-PROTOCOL-EXTENSION ::= {
+...
+}
+
+LoggedMDT ::= SEQUENCE {
+    loggingInterval                LoggingInterval,
+    loggingDuration                LoggingDuration,
+    iE-Extensions                ProtocolExtensionContainer { {LoggedMDT-ExtIEs} } OPTIONAL,
+    ...
+}
+
+LoggedMDT-ExtIEs    S1AP-PROTOCOL-EXTENSION ::= {
+    { ID id-BluetoothMeasurementConfiguration        CRITICALITY ignore    EXTENSION BluetoothMeasurementConfiguration        PRESENCE optional}|
+    { ID id-WLANMeasurementConfiguration            CRITICALITY ignore    EXTENSION WLANMeasurementConfiguration                PRESENCE optional},
+...
+}
+
+LoggingInterval ::= ENUMERATED {ms128, ms256, ms512, ms1024, ms2048, ms3072, ms4096, ms6144}
+
+LoggingDuration ::= ENUMERATED {m10, m20, m40, m60, m90, m120}
+
+LoggedMBSFNMDT ::= SEQUENCE {
+    loggingInterval                LoggingInterval,
+    loggingDuration                LoggingDuration,
+    mBSFN-ResultToLog            MBSFN-ResultToLog        OPTIONAL,
+    iE-Extensions                ProtocolExtensionContainer { { LoggedMBSFNMDT-ExtIEs } } OPTIONAL,
+    ...
+}
+
+LoggedMBSFNMDT-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+LTE-M-Indication ::= ENUMERATED {lte-m, ... }
+
+-- M
+
+M3Configuration ::= SEQUENCE {
+    m3period            M3period,
+    iE-Extensions        ProtocolExtensionContainer { { M3Configuration-ExtIEs} } OPTIONAL,
+    ...
+}
+
+M3Configuration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+M3period ::= ENUMERATED {ms100, ms1000, ms10000, ...,ms1024, ms1280, ms2048, ms2560, ms5120, ms10240, min1 } 
+
+M4Configuration ::= SEQUENCE {
+    m4period            M4period,
+    m4-links-to-log        Links-to-log,
+    iE-Extensions        ProtocolExtensionContainer { { M4Configuration-ExtIEs} } OPTIONAL,
+    ...
+}
+
+M4Configuration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+M4period ::= ENUMERATED {ms1024, ms2048, ms5120, ms10240, min1, ... } 
+
+M5Configuration ::= SEQUENCE {
+    m5period            M5period,
+    m5-links-to-log        Links-to-log,
+    iE-Extensions        ProtocolExtensionContainer { { M5Configuration-ExtIEs} } OPTIONAL,
+    ...
+}
+
+M5Configuration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+M5period ::= ENUMERATED {ms1024, ms2048, ms5120, ms10240, min1, ... } 
+
+M6Configuration ::= SEQUENCE {
+    m6report-Interval    M6report-Interval,
+    m6delay-threshold    M6delay-threshold        OPTIONAL,
+-- This IE shall be present if the M6 Links to log IE is set to “uplink” or to “both-uplink-and-downlink” --
+    m6-links-to-log        Links-to-log,
+    iE-Extensions        ProtocolExtensionContainer { { M6Configuration-ExtIEs} } OPTIONAL,
+    ...
+}
+
+M6Configuration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+M6report-Interval ::= ENUMERATED { ms1024, ms2048, ms5120, ms10240, ... }
+
+M6delay-threshold ::= ENUMERATED { ms30, ms40, ms50, ms60, ms70, ms80, ms90, ms100, ms150, ms300, ms500, ms750, ... }
+
+M7Configuration ::= SEQUENCE {
+    m7period            M7period,
+    m7-links-to-log        Links-to-log,
+    iE-Extensions        ProtocolExtensionContainer { { M7Configuration-ExtIEs} } OPTIONAL,
+    ...
+}
+
+M7Configuration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+M7period ::= INTEGER(1..60, ...)
+
+MDT-Activation     ::= ENUMERATED { 
+    immediate-MDT-only,
+    immediate-MDT-and-Trace,
+    logged-MDT-only,
+    ...,
+    logged-MBSFN-MDT
+}
+
+MDT-Location-Info ::= BIT STRING (SIZE (8))
+
+MDT-Configuration ::= SEQUENCE {
+    mdt-Activation        MDT-Activation,
+    areaScopeOfMDT        AreaScopeOfMDT,
+    mDTMode                MDTMode,
+    iE-Extensions        ProtocolExtensionContainer { { MDT-Configuration-ExtIEs} } OPTIONAL,
+    ...
+}
+MDT-Configuration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    { ID id-SignallingBasedMDTPLMNList            CRITICALITY ignore    EXTENSION MDTPLMNList    PRESENCE optional    },
+    ...
+}
+
+ManagementBasedMDTAllowed ::= ENUMERATED {allowed, ...}
+
+MBSFN-ResultToLog ::= SEQUENCE (SIZE(1..maxnoofMBSFNAreaMDT)) OF MBSFN-ResultToLogInfo
+
+MBSFN-ResultToLogInfo ::= SEQUENCE {
+    mBSFN-AreaId        INTEGER (0..255)        OPTIONAL,
+    carrierFreq            EARFCN,    
+    iE-Extensions        ProtocolExtensionContainer { { MBSFN-ResultToLogInfo-ExtIEs} } OPTIONAL,
+    ...
+}
+
+MBSFN-ResultToLogInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+MDTPLMNList ::= SEQUENCE (SIZE(1..maxnoofMDTPLMNs)) OF PLMNidentity
+
+PrivacyIndicator ::= ENUMERATED {
+    immediate-MDT,
+    logged-MDT,
+    ...
+}
+
+MDTMode ::= CHOICE {
+    immediateMDT                ImmediateMDT,
+    loggedMDT                    LoggedMDT,
+    ...,
+    mDTMode-Extension            MDTMode-Extension
+}
+
+MDTMode-Extension ::= ProtocolIE-SingleContainer {{ MDTMode-ExtensionIE }}
+
+MDTMode-ExtensionIE S1AP-PROTOCOL-IES ::= {
+    { ID id-LoggedMBSFNMDT        CRITICALITY ignore    TYPE LoggedMBSFNMDT        PRESENCE mandatory}
+}
+
+MeasurementsToActivate ::= BIT STRING (SIZE (8))
+
+MeasurementThresholdA2 ::= CHOICE { 
+    threshold-RSRP                Threshold-RSRP,
+    threshold-RSRQ                Threshold-RSRQ,
+    ...
+}
+
+MessageIdentifier    ::= BIT STRING (SIZE (16))
+
+MobilityInformation ::= BIT STRING (SIZE(32))
+
+MMEname ::= PrintableString (SIZE (1..150,...))
+
+MMEPagingTarget ::= CHOICE {
+    global-ENB-ID        Global-ENB-ID,
+    tAI                    TAI,
+    ...
+}
+
+MMERelaySupportIndicator ::= ENUMERATED {true, ...}
+
+MME-Group-ID    ::= OCTET STRING (SIZE (2))
+
+MME-Code        ::= OCTET STRING (SIZE (1))
+
+MME-UE-S1AP-ID    ::= INTEGER (0..4294967295)
+M-TMSI            ::= OCTET STRING (SIZE (4))
+
+MSClassmark2    ::= OCTET STRING
+MSClassmark3    ::= OCTET STRING
+
+MutingAvailabilityIndication ::= ENUMERATED {
+    available,
+    unavailable,
+    ...
+}
+
+
+MutingPatternInformation ::= SEQUENCE {
+    muting-pattern-period                ENUMERATED {ms0, ms1280, ms2560, ms5120, ms10240, ...},
+    muting-pattern-offset                INTEGER (0..10239, ...)        OPTIONAL,
+    iE-Extensions                        ProtocolExtensionContainer { {MutingPatternInformation-ExtIEs} } OPTIONAL,
+    ...
+}
+
+MutingPatternInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+-- N
+
+NAS-PDU ::=  OCTET STRING
+
+NASSecurityParametersfromE-UTRAN ::= OCTET STRING
+
+NASSecurityParameterstoE-UTRAN ::= OCTET STRING
+
+NB-IoT-DefaultPagingDRX ::= ENUMERATED {
+    v128,
+    v256,
+    v512,
+    v1024,
+    ...
+    }
+
+NB-IoT-Paging-eDRXInformation ::= SEQUENCE { 
+    nB-IoT-paging-eDRX-Cycle        NB-IoT-Paging-eDRX-Cycle,
+    nB-IoT-pagingTimeWindow            NB-IoT-PagingTimeWindow            OPTIONAL,
+    iE-Extensions                    ProtocolExtensionContainer { { NB-IoT-Paging-eDRXInformation-ExtIEs} } OPTIONAL,
+    ...
+}
+
+NB-IoT-Paging-eDRXInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+NB-IoT-Paging-eDRX-Cycle ::= ENUMERATED{hf2, hf4, hf6, hf8, hf10, hf12, hf14, hf16, hf32, hf64, hf128, hf256, hf512, hf1024, ...}
+
+NB-IoT-PagingTimeWindow ::= ENUMERATED{s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, ...}
+
+NB-IoT-UEIdentityIndexValue ::= BIT STRING (SIZE (12))
+
+NextPagingAreaScope ::= ENUMERATED {
+    same,
+    changed,
+    ...
+}
+
+
+NRCellIdentity ::= BIT STRING (SIZE(36))
+
+NR-CGI ::= SEQUENCE {
+    pLMNIdentity        PLMNidentity,
+    nRCellIdentity        NRCellIdentity,
+    iE-Extensions        ProtocolExtensionContainer { {NR-CGI-ExtIEs} } OPTIONAL,
+    ...
+}
+
+NR-CGI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+
+NRencryptionAlgorithms ::= BIT STRING (SIZE (16,...))
+NRintegrityProtectionAlgorithms ::= BIT STRING (SIZE (16,...))
+
+NRrestrictioninEPSasSecondaryRAT ::= ENUMERATED {
+    nRrestrictedinEPSasSecondaryRAT,
+    ...
+}
+
+NRrestrictionin5GS ::= ENUMERATED {
+    nRrestrictedin5GS,
+    ...
+}
+
+NRUESecurityCapabilities ::= SEQUENCE {
+    nRencryptionAlgorithms                NRencryptionAlgorithms,
+    nRintegrityProtectionAlgorithms        NRintegrityProtectionAlgorithms,
+    iE-Extensions                        ProtocolExtensionContainer { { NRUESecurityCapabilities-ExtIEs} }    OPTIONAL,
+...
+}
+
+NRUESecurityCapabilities-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+NumberofBroadcastRequest ::= INTEGER (0..65535)
+
+NumberOfBroadcasts ::= INTEGER (0..65535)
+
+-- O
+OldBSS-ToNewBSS-Information        ::= OCTET STRING
+-- This is a dummy IE used only as a reference to the actual definition in relevant specification.
+
+OverloadAction ::= ENUMERATED {
+    reject-non-emergency-mo-dt,
+    reject-rrc-cr-signalling,
+    permit-emergency-sessions-and-mobile-terminated-services-only,
+    ...,
+    permit-high-priority-sessions-and-mobile-terminated-services-only,
+    reject-delay-tolerant-access,
+    permit-high-priority-sessions-and-exception-reporting-and-mobile-terminated-services-only,
+    not-accept-mo-data-or-delay-tolerant-access-from-CP-CIoT
+
+}
+
+OverloadResponse ::= CHOICE {
+    overloadAction                    OverloadAction,
+    ...
+}
+
+
+-- P
+
+Packet-LossRate    ::= INTEGER(0..1000)
+
+PagingAttemptInformation ::= SEQUENCE {
+    pagingAttemptCount                    PagingAttemptCount,
+    intendedNumberOfPagingAttempts        IntendedNumberOfPagingAttempts,
+    nextPagingAreaScope                    NextPagingAreaScope        OPTIONAL,
+    iE-Extensions                        ProtocolExtensionContainer { { PagingAttemptInformation-ExtIEs} } OPTIONAL,
+    ...
+}
+
+PagingAttemptInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+PagingAttemptCount ::= INTEGER (1..16, ...)
+
+Paging-eDRXInformation ::= SEQUENCE { 
+    paging-eDRX-Cycle            Paging-eDRX-Cycle,
+    pagingTimeWindow            PagingTimeWindow            OPTIONAL,
+    iE-Extensions                ProtocolExtensionContainer { { Paging-eDRXInformation-ExtIEs} } OPTIONAL,
+    ...
+}
+
+Paging-eDRXInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+Paging-eDRX-Cycle ::= ENUMERATED{hfhalf, hf1, hf2, hf4, hf6, hf8, hf10, hf12, hf14, hf16, hf32, hf64, hf128, hf256, ...}
+
+PagingTimeWindow ::= ENUMERATED{s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, ...}
+
+PagingDRX ::= ENUMERATED {
+    v32,
+    v64,
+    v128,
+    v256,
+    ...
+    }
+
+PagingPriority ::= ENUMERATED {
+    priolevel1,
+    priolevel2,
+    priolevel3,
+    priolevel4,
+    priolevel5,
+    priolevel6,
+    priolevel7,
+    priolevel8,
+    ...
+}
+
+PDCP-SN ::= INTEGER (0..4095)
+
+PDCP-SNExtended ::= INTEGER (0..32767)
+
+PDCP-SNlength18 ::= INTEGER (0..262143)
+
+PendingDataIndication ::= ENUMERATED {
+    true,
+    ...
+}
+
+M1PeriodicReporting ::= SEQUENCE { 
+    reportInterval                ReportIntervalMDT,
+    reportAmount                ReportAmountMDT,
+    iE-Extensions                ProtocolExtensionContainer { { M1PeriodicReporting-ExtIEs} } OPTIONAL,
+    ...
+}
+
+M1PeriodicReporting-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+PLMNidentity                 ::= TBCD-STRING 
+
+PLMNAreaBasedQMC ::= SEQUENCE {
+    plmnListforQMC        PLMNListforQMC,
+    iE-Extensions        ProtocolExtensionContainer { {PLMNAreaBasedQMC-ExtIEs} } OPTIONAL,
+    ...
+}
+
+PLMNAreaBasedQMC-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+PLMNListforQMC ::= SEQUENCE (SIZE(1..maxnoofPLMNforQMC)) OF PLMNidentity
+
+Port-Number        ::= OCTET STRING (SIZE (2))
+
+Pre-emptionCapability ::= ENUMERATED {
+    shall-not-trigger-pre-emption,
+    may-trigger-pre-emption
+}
+
+Pre-emptionVulnerability ::= ENUMERATED {
+    not-pre-emptable,
+    pre-emptable
+}
+
+PriorityLevel                ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15)
+
+ProSeAuthorized ::= SEQUENCE {
+    proSeDirectDiscovery        ProSeDirectDiscovery                                    OPTIONAL,
+    proSeDirectCommunication    ProSeDirectCommunication                                OPTIONAL,
+    iE-Extensions                ProtocolExtensionContainer { {ProSeAuthorized-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+ProSeAuthorized-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    { ID id-ProSeUEtoNetworkRelaying    CRITICALITY ignore    EXTENSION ProSeUEtoNetworkRelaying        PRESENCE optional},
+    ...
+}
+
+ProSeDirectDiscovery ::= ENUMERATED { 
+    authorized,
+    not-authorized,
+    ...
+}
+
+ProSeUEtoNetworkRelaying ::= ENUMERATED {
+    authorized,
+    not-authorized,
+    ...
+}
+
+ProSeDirectCommunication ::= ENUMERATED { 
+    authorized,
+    not-authorized,
+    ...
+}
+
+PS-ServiceNotAvailable ::= ENUMERATED {
+    ps-service-not-available,
+    ...
+}
+
+PSCellInformation ::= SEQUENCE {
+    nCGI                        NR-CGI,
+    iE-Extensions                ProtocolExtensionContainer { { PSCellInformation-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+PSCellInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+-- Q
+
+QCI                        ::= INTEGER (0..255)
+
+-- R
+
+ReceiveStatusofULPDCPSDUs ::= BIT STRING (SIZE(4096))
+
+ReceiveStatusOfULPDCPSDUsExtended ::= BIT STRING (SIZE(1..16384))
+
+ReceiveStatusOfULPDCPSDUsPDCP-SNlength18 ::= BIT STRING (SIZE(1..131072))
+
+RecommendedCellsForPaging ::= SEQUENCE {
+    recommendedCellList            RecommendedCellList,
+    iE-Extensions                ProtocolExtensionContainer { { RecommendedCellsForPaging-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+RecommendedCellsForPaging-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+RecommendedCellList ::= SEQUENCE (SIZE(1.. maxnoofRecommendedCells)) OF ProtocolIE-SingleContainer { { RecommendedCellItemIEs } }
+
+RecommendedCellItemIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-RecommendedCellItem    CRITICALITY ignore     TYPE RecommendedCellItem        PRESENCE mandatory },
+    ...
+}
+
+RecommendedCellItem::= SEQUENCE {
+    eUTRAN-CGI                EUTRAN-CGI,
+    timeStayedInCell        INTEGER (0..4095)        OPTIONAL,
+    iE-Extensions            ProtocolExtensionContainer { { RecommendedCellsForPagingItem-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+RecommendedCellsForPagingItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+RecommendedENBsForPaging ::= SEQUENCE {
+    recommendedENBList        RecommendedENBList,
+    iE-Extensions            ProtocolExtensionContainer { { RecommendedENBsForPaging-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+RecommendedENBsForPaging-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+RecommendedENBList::= SEQUENCE (SIZE(1.. maxnoofRecommendedENBs)) OF ProtocolIE-SingleContainer { { RecommendedENBItemIEs } }
+
+RecommendedENBItemIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-RecommendedENBItem    CRITICALITY ignore    TYPE RecommendedENBItem        PRESENCE mandatory },
+    ...
+}
+
+RecommendedENBItem ::= SEQUENCE {
+    mMEPagingTarget            MMEPagingTarget,
+    iE-Extensions            ProtocolExtensionContainer { { RecommendedENBItem-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+RecommendedENBItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+RelativeMMECapacity                ::= INTEGER (0..255)
+
+RelayNode-Indicator ::= ENUMERATED {
+    true,
+    ...
+}
+
+RAC                    ::= OCTET STRING (SIZE (1))
+
+RAT-Type ::= ENUMERATED {
+    nbiot,
+    ...
+}
+
+ReportAmountMDT ::= ENUMERATED{r1, r2, r4, r8, r16, r32, r64, rinfinity}
+
+ReportIntervalMDT ::= ENUMERATED {ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, min1, min6, min12, min30, min60} 
+
+M1ReportingTrigger ::= ENUMERATED{
+    periodic,
+    a2eventtriggered,
+    ...,
+    a2eventtriggered-periodic
+}
+
+RequestType    ::= SEQUENCE {
+    eventType                 EventType,
+    reportArea                 ReportArea,
+    iE-Extensions            ProtocolExtensionContainer { { RequestType-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+
+RequestType-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    { ID id-RequestTypeAdditionalInfo    CRITICALITY ignore    EXTENSION RequestTypeAdditionalInfo        PRESENCE optional },
+    ...
+}
+
+RequestTypeAdditionalInfo ::= ENUMERATED {
+    includePSCell,
+    ...
+}
+
+RIMTransfer ::= SEQUENCE {
+    rIMInformation            RIMInformation,
+    rIMRoutingAddress        RIMRoutingAddress        OPTIONAL,
+    iE-Extensions            ProtocolExtensionContainer { { RIMTransfer-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+RIMTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+RIMInformation ::= OCTET STRING
+
+RIMRoutingAddress ::= CHOICE {
+    gERAN-Cell-ID            GERAN-Cell-ID,
+    ...,
+    targetRNC-ID            TargetRNC-ID,
+    eHRPD-Sector-ID            OCTET STRING (SIZE(16))
+}
+
+ReportArea ::= ENUMERATED {
+    ecgi,
+    ...
+}
+
+RepetitionPeriod ::= INTEGER (0..4095)
+
+RLFReportInformation ::= SEQUENCE {
+    uE-RLF-Report-Container                            UE-RLF-Report-Container,
+    uE-RLF-Report-Container-for-extended-bands        UE-RLF-Report-Container-for-extended-bands        OPTIONAL,
+    iE-Extensions                                    ProtocolExtensionContainer {{ RLFReportInformation-ExtIEs}} OPTIONAL,
+    ...
+}
+
+RLFReportInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+RNC-ID ::= INTEGER (0..4095)
+
+RRC-Container ::= OCTET STRING
+
+RRC-Establishment-Cause ::= ENUMERATED {
+    emergency,
+    highPriorityAccess,
+    mt-Access,
+    mo-Signalling,
+    mo-Data,
+    ...,
+    delay-TolerantAccess,
+    mo-VoiceCall,
+    mo-ExceptionData
+}
+
+ECGIListForRestart ::= SEQUENCE (SIZE(1..maxnoofCellsforRestart)) OF EUTRAN-CGI
+
+Routing-ID ::= INTEGER (0..255)
+
+-- S
+
+
+SecurityKey    ::= BIT STRING (SIZE(256))
+
+
+
+SecurityContext ::= SEQUENCE {
+    nextHopChainingCount        INTEGER (0..7),
+    nextHopParameter            SecurityKey,
+    iE-Extensions                ProtocolExtensionContainer { { SecurityContext-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+
+SecurityContext-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+SecondaryRATType ::= ENUMERATED {
+    nR,
+    ...,
+    unlicensed
+}
+
+
+SecondaryRATDataUsageRequest ::= ENUMERATED {
+    requested,
+    ...
+}
+
+SecondaryRATDataUsageReportList ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { {SecondaryRATDataUsageReportItemIEs} }
+
+SecondaryRATDataUsageReportItemIEs     S1AP-PROTOCOL-IES ::= {
+    { ID id-SecondaryRATDataUsageReportItem     CRITICALITY ignore     TYPE SecondaryRATDataUsageReportItem     PRESENCE mandatory },
+    ...
+}
+
+SecondaryRATDataUsageReportItem ::= SEQUENCE {
+    e-RAB-ID                    E-RAB-ID,
+    secondaryRATType            SecondaryRATType,
+    e-RABUsageReportList        E-RABUsageReportList,
+    iE-Extensions                ProtocolExtensionContainer { { SecondaryRATDataUsageReportItem-ExtIEs} } OPTIONAL,
+    ...
+}
+
+SecondaryRATDataUsageReportItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+SerialNumber ::= BIT STRING (SIZE (16))
+
+ServiceType ::= ENUMERATED{
+    qMC-for-streaming-service,
+    qMC-for-MTSI-service,
+    ...
+}
+
+SONInformation ::= CHOICE{
+    sONInformationRequest        SONInformationRequest,
+    sONInformationReply            SONInformationReply,
+    ...,
+    sONInformation-Extension    SONInformation-Extension
+}
+
+SONInformation-Extension ::= ProtocolIE-SingleContainer {{ SONInformation-ExtensionIE }}
+
+SONInformation-ExtensionIE S1AP-PROTOCOL-IES ::= {
+    { ID id-SON-Information-Report    CRITICALITY ignore    TYPE SONInformationReport    PRESENCE mandatory}
+}
+
+SONInformationRequest ::= ENUMERATED { 
+    x2TNL-Configuration-Info,
+    ...,
+    time-Synchronisation-Info,
+    activate-Muting,
+    deactivate-Muting}
+
+SONInformationReply ::= SEQUENCE {
+    x2TNLConfigurationInfo            X2TNLConfigurationInfo            OPTIONAL,
+    iE-Extensions                    ProtocolExtensionContainer {{SONInformationReply-ExtIEs}} OPTIONAL,
+    ...
+}
+
+SONInformationReply-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 9 to transfer Time synchronisation information --
+    {ID id-Time-Synchronisation-Info        CRITICALITY ignore    EXTENSION TimeSynchronisationInfo        PRESENCE optional},
+    ...,
+    {ID id-Muting-Pattern-Information        CRITICALITY ignore    EXTENSION MutingPatternInformation    PRESENCE optional}
+}
+
+SONInformationReport ::= CHOICE{
+    rLFReportInformation        RLFReportInformation,
+    ...
+}
+
+SONConfigurationTransfer ::= SEQUENCE {
+    targeteNB-ID                    TargeteNB-ID,
+    sourceeNB-ID                    SourceeNB-ID,
+    sONInformation                    SONInformation,
+    iE-Extensions            ProtocolExtensionContainer { { SONConfigurationTransfer-ExtIEs} }            OPTIONAL,
+...
+}
+
+SONConfigurationTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 10 to transfer the IP addresses of the eNB initiating the ANR action --
+    {ID id-x2TNLConfigurationInfo        CRITICALITY ignore    EXTENSION X2TNLConfigurationInfo                PRESENCE conditional
+    -- This IE shall be present if the SON Information IE contains the SON Information Request IE and the SON Information Request IE is set to “X2TNL Configuration Info” --}|
+-- Extension for Release 12 to transfer information concerning the source cell of synchronisation and the aggressor cell --
+    {ID id-Synchronisation-Information    CRITICALITY ignore    EXTENSION SynchronisationInformation            PRESENCE conditional
+    -- This IE shall be present if the SON Information IE contains the SON Information Request IE set to “ Activate Muting ” --},
+    ...
+}
+
+
+SynchronisationInformation ::= SEQUENCE {
+    sourceStratumLevel                StratumLevel                OPTIONAL,
+    listeningSubframePattern        ListeningSubframePattern    OPTIONAL,
+    aggressoreCGI-List                ECGI-List                    OPTIONAL,
+    iE-Extensions                    ProtocolExtensionContainer { {SynchronisationInformation-ExtIEs} } OPTIONAL,
+    ...
+}
+
+SynchronisationInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+
+Source-ToTarget-TransparentContainer ::= OCTET STRING
+-- This IE includes a transparent container from the source RAN node to the target RAN node. 
+-- The octets of the OCTET STRING are encoded according to the specifications of the target system.
+
+SourceBSS-ToTargetBSS-TransparentContainer        ::= OCTET STRING
+-- This is a dummy IE used only as a reference to the actual definition in relevant specification.
+
+SourceeNB-ID ::= SEQUENCE {
+    global-ENB-ID    Global-ENB-ID,
+    selected-TAI    TAI,
+    iE-Extensions    ProtocolExtensionContainer { {SourceeNB-ID-ExtIEs} } OPTIONAL
+}
+
+SourceeNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+SRVCCOperationNotPossible ::= ENUMERATED {
+    notPossible,
+    ...
+}
+
+SRVCCOperationPossible ::= ENUMERATED {
+    possible,
+    ...
+}
+
+SRVCCHOIndication ::= ENUMERATED {
+    pSandCS,
+    cSonly,
+    ...
+}
+
+SourceeNB-ToTargeteNB-TransparentContainer        ::= SEQUENCE {
+    rRC-Container                RRC-Container,
+    e-RABInformationList        E-RABInformationList            OPTIONAL,
+    targetCell-ID                EUTRAN-CGI,
+    subscriberProfileIDforRFP    SubscriberProfileIDforRFP        OPTIONAL,
+    uE-HistoryInformation        UE-HistoryInformation,
+    iE-Extensions                ProtocolExtensionContainer { {SourceeNB-ToTargeteNB-TransparentContainer-ExtIEs} } OPTIONAL,
+    ...
+}
+
+SourceeNB-ToTargeteNB-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    {ID id-MobilityInformation                CRITICALITY ignore    EXTENSION MobilityInformation                    PRESENCE optional}|
+    {ID id-uE-HistoryInformationFromTheUE    CRITICALITY ignore    EXTENSION UE-HistoryInformationFromTheUE        PRESENCE optional}|
+    {ID id-IMSvoiceEPSfallbackfrom5G            CRITICALITY ignore    EXTENSION IMSvoiceEPSfallbackfrom5G            PRESENCE optional},
+    ...
+}
+
+
+SourceRNC-ToTargetRNC-TransparentContainer        ::= OCTET STRING
+-- This is a dummy IE used only as a reference to the actual definition in relevant specification.
+
+SourceNgRanNode-ToTargetNgRanNode-TransparentContainer        ::= OCTET STRING
+-- This is a dummy IE used only as a reference to the actual definition in relevant specification.
+
+ServedGUMMEIs ::= SEQUENCE (SIZE (1.. maxnoofRATs)) OF ServedGUMMEIsItem
+
+ServedGUMMEIsItem ::= SEQUENCE {
+    servedPLMNs                ServedPLMNs,
+    servedGroupIDs            ServedGroupIDs,
+    servedMMECs                ServedMMECs,
+    iE-Extensions            ProtocolExtensionContainer { {ServedGUMMEIsItem-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+ServedGUMMEIsItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+ServedGroupIDs ::= SEQUENCE (SIZE(1.. maxnoofGroupIDs)) OF MME-Group-ID
+ServedMMECs ::= SEQUENCE (SIZE(1.. maxnoofMMECs)) OF MME-Code
+
+ServedPLMNs ::= SEQUENCE (SIZE(1.. maxnoofPLMNsPerMME)) OF PLMNidentity
+
+SubscriberProfileIDforRFP ::= INTEGER (1..256) 
+
+Subscription-Based-UE-DifferentiationInfo ::= SEQUENCE {
+    periodicCommunicationIndicator    ENUMERATED {periodically, ondemand, ...}     OPTIONAL,
+    periodicTime                        INTEGER (1..3600, ...)                         OPTIONAL,
+    scheduledCommunicationTime        ScheduledCommunicationTime                     OPTIONAL,
+    stationaryIndication                ENUMERATED {stationary, mobile, ...}            OPTIONAL,
+    trafficProfile                     ENUMERATED {single-packet, dual-packets, multiple-packets, ...}             OPTIONAL,
+    batteryIndication                ENUMERATED {battery-powered, battery-powered-not-rechargeable-or-replaceable, not-battery-powered, ...}        OPTIONAL,
+    iE-Extensions                    ProtocolExtensionContainer { { Subscription-Based-UE-DifferentiationInfo-ExtIEs} } OPTIONAL,
+    ...
+}
+
+Subscription-Based-UE-DifferentiationInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+ScheduledCommunicationTime ::= SEQUENCE {
+    dayofWeek                BIT STRING (SIZE(7))                                    OPTIONAL,
+    timeofDayStart            INTEGER (0..86399, ...)                                 OPTIONAL,
+    timeofDayEnd                INTEGER (0..86399, ...)                                 OPTIONAL,
+    iE-Extensions            ProtocolExtensionContainer { { ScheduledCommunicationTime-ExtIEs}}    OPTIONAL,
+    ...
+}
+
+ScheduledCommunicationTime-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+SupportedTAs ::= SEQUENCE (SIZE(1.. maxnoofTACs)) OF SupportedTAs-Item
+
+SupportedTAs-Item ::=    SEQUENCE  {
+    tAC                    TAC,
+    broadcastPLMNs        BPLMNs,
+    iE-Extensions        ProtocolExtensionContainer { {SupportedTAs-Item-ExtIEs} } OPTIONAL,
+    ...
+}
+
+SupportedTAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    -- Extension for Release 13 to transfer RAT-Type per TAC --
+    {ID id-RAT-Type        CRITICALITY reject    EXTENSION RAT-Type        PRESENCE optional},
+    ...
+}
+
+StratumLevel ::= INTEGER (0..3, ...)
+
+SynchronisationStatus ::= ENUMERATED { synchronous, asynchronous, ... }
+
+TimeSynchronisationInfo ::= SEQUENCE {
+    stratumLevel                    StratumLevel,
+    synchronisationStatus            SynchronisationStatus,
+    iE-Extensions                    ProtocolExtensionContainer { { TimeSynchronisationInfo-ExtIEs} } OPTIONAL,
+    ...
+}
+
+TimeSynchronisationInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    -- Extension for Release 12 to transfer Muting Availability Indication --
+    {ID id-Muting-Availability-Indication        CRITICALITY ignore    EXTENSION MutingAvailabilityIndication    PRESENCE optional},
+    ...
+}
+
+S-TMSI ::= SEQUENCE {
+    mMEC    MME-Code,
+    m-TMSI    M-TMSI,
+    iE-Extensions        ProtocolExtensionContainer { {S-TMSI-ExtIEs} } OPTIONAL,
+    ...
+}
+
+S-TMSI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+-- T
+
+TAC ::= OCTET STRING (SIZE (2))
+
+TAIBasedMDT ::= SEQUENCE {
+    tAIListforMDT            TAIListforMDT,
+    iE-Extensions            ProtocolExtensionContainer { {TAIBasedMDT-ExtIEs} } OPTIONAL,
+    ...
+}
+
+TAIBasedMDT-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+TAIListforMDT ::= SEQUENCE (SIZE(1..maxnoofTAforMDT)) OF TAI
+
+TAIListforWarning ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI
+
+TAI ::= SEQUENCE {
+    pLMNidentity            PLMNidentity,
+    tAC                        TAC,
+    iE-Extensions            ProtocolExtensionContainer { {TAI-ExtIEs} } OPTIONAL,
+    ...
+}
+
+TAI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+TAI-Broadcast ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI-Broadcast-Item
+
+TAI-Broadcast-Item ::= SEQUENCE {
+    tAI                    TAI,
+    completedCellinTAI    CompletedCellinTAI,
+    iE-Extensions        ProtocolExtensionContainer { {TAI-Broadcast-Item-ExtIEs} } OPTIONAL,
+    ...
+}
+
+TAI-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+TAI-Cancelled ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI-Cancelled-Item
+
+TAI-Cancelled-Item ::= SEQUENCE {
+    tAI                    TAI,
+    cancelledCellinTAI    CancelledCellinTAI,
+    iE-Extensions        ProtocolExtensionContainer { {TAI-Cancelled-Item-ExtIEs} } OPTIONAL,
+    ...
+}
+
+TAI-Cancelled-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+TABasedMDT ::= SEQUENCE {
+    tAListforMDT        TAListforMDT,
+    iE-Extensions        ProtocolExtensionContainer { {TABasedMDT-ExtIEs} } OPTIONAL,
+    ...
+}
+
+TABasedMDT-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+TAListforMDT ::= SEQUENCE (SIZE(1..maxnoofTAforMDT)) OF TAC
+
+TABasedQMC ::= SEQUENCE {
+    tAListforQMC        TAListforQMC,
+    iE-Extensions        ProtocolExtensionContainer { {TABasedQMC-ExtIEs} } OPTIONAL,
+    ...
+}
+
+TABasedQMC-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+TAListforQMC ::= SEQUENCE (SIZE(1..maxnoofTAforQMC)) OF TAC
+
+TAIBasedQMC ::= SEQUENCE {
+    tAIListforQMC        TAIListforQMC,
+    iE-Extensions        ProtocolExtensionContainer { {TAIBasedQMC-ExtIEs} } OPTIONAL,
+    ...
+}
+
+TAIBasedQMC-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+TAIListforQMC ::= SEQUENCE (SIZE(1..maxnoofTAforQMC)) OF TAI
+
+CompletedCellinTAI ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CompletedCellinTAI-Item
+
+CompletedCellinTAI-Item ::= SEQUENCE{
+    eCGI                EUTRAN-CGI,
+    iE-Extensions        ProtocolExtensionContainer { {CompletedCellinTAI-Item-ExtIEs} } OPTIONAL,
+    ...
+}
+
+CompletedCellinTAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+TBCD-STRING ::= OCTET STRING (SIZE (3))
+
+TargetID ::= CHOICE {
+    targeteNB-ID        TargeteNB-ID,
+    targetRNC-ID        TargetRNC-ID,
+    cGI                    CGI,
+    ...,
+    targetgNgRanNode-ID        TargetNgRanNode-ID
+}
+
+TargeteNB-ID ::= SEQUENCE {
+    global-ENB-ID        Global-ENB-ID,
+    selected-TAI        TAI,
+    iE-Extensions        ProtocolExtensionContainer { {TargeteNB-ID-ExtIEs} } OPTIONAL,
+    ...
+}
+
+TargeteNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+TargetRNC-ID ::= SEQUENCE {
+    lAI                    LAI,
+    rAC                    RAC         OPTIONAL,
+    rNC-ID                RNC-ID,
+    extendedRNC-ID        ExtendedRNC-ID        OPTIONAL,
+    iE-Extensions        ProtocolExtensionContainer { {TargetRNC-ID-ExtIEs} } OPTIONAL,
+    ...
+    }
+
+
+TargetRNC-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+TargetNgRanNode-ID ::= SEQUENCE {
+    global-RAN-NODE-ID        Global-RAN-NODE-ID,
+    selected-TAI        FiveGSTAI,
+    iE-Extensions        ProtocolExtensionContainer { { TargetNgRanNode-ID-ExtIEs} } OPTIONAL,
+    ...
+}
+
+TargetNgRanNode-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+Global-RAN-NODE-ID::= CHOICE {
+    gNB        GNB,
+    ng-eNB        NG-eNB,
+    ...
+}
+
+GNB ::= SEQUENCE {
+    global-gNB-ID        Global-GNB-ID,
+    iE-Extensions        ProtocolExtensionContainer { {GNB-ExtIEs} } OPTIONAL,
+    ...
+}
+
+GNB-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+Global-GNB-ID ::= SEQUENCE {
+    pLMN-Identity        PLMNidentity,
+    gNB-ID                GNB-Identity,
+    iE-Extensions        ProtocolExtensionContainer { { Global-GNB-ID-ExtIEs} } OPTIONAL,
+    ...
+}
+
+Global-GNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+GNB-Identity ::= CHOICE {
+    gNB-ID        GNB-ID,
+    ...
+}
+
+NG-eNB ::= SEQUENCE {
+    global-ng-eNB-ID        Global-ENB-ID,
+    iE-Extensions        ProtocolExtensionContainer { { NG-eNB-ExtIEs} } OPTIONAL,
+    ...
+}
+
+NG-eNB-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+GNB-ID ::= BIT STRING (SIZE(22..32))
+
+TargeteNB-ToSourceeNB-TransparentContainer        ::= SEQUENCE {
+    rRC-Container        RRC-Container,
+    iE-Extensions        ProtocolExtensionContainer { {TargeteNB-ToSourceeNB-TransparentContainer-ExtIEs} } OPTIONAL,
+    ...
+}
+
+TargeteNB-ToSourceeNB-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+Target-ToSource-TransparentContainer ::= OCTET STRING
+-- This IE includes a transparent container from the target RAN node to the source RAN node. 
+-- The octets of the OCTET STRING are coded according to the specifications of the target system.
+
+TargetRNC-ToSourceRNC-TransparentContainer        ::= OCTET STRING
+-- This is a dummy IE used only as a reference to the actual definition in relevant specification.
+
+TargetBSS-ToSourceBSS-TransparentContainer        ::= OCTET STRING
+-- This is a dummy IE used only as a reference to the actual definition in relevant specification.
+
+TargetNgRanNode-ToSourceNgRanNode-TransparentContainer        ::= OCTET STRING
+-- This is a dummy IE used only as a reference to the actual definition in relevant specification.
+
+M1ThresholdEventA2 ::= SEQUENCE { 
+    measurementThreshold    MeasurementThresholdA2,
+    iE-Extensions            ProtocolExtensionContainer { { M1ThresholdEventA2-ExtIEs} } OPTIONAL,
+    ...
+}
+
+M1ThresholdEventA2-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+Threshold-RSRP ::= INTEGER(0..97)
+
+Threshold-RSRQ ::= INTEGER(0..34)
+
+TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...}
+
+Time-UE-StayedInCell ::= INTEGER (0..4095)
+
+Time-UE-StayedInCell-EnhancedGranularity ::= INTEGER (0..40950)
+
+TimeSinceSecondaryNodeRelease ::= OCTET STRING (SIZE(4))
+
+TransportInformation ::= SEQUENCE {
+    transportLayerAddress                TransportLayerAddress,
+    uL-GTP-TEID                            GTP-TEID,
+    ...
+}
+
+TransportLayerAddress        ::= BIT STRING (SIZE(1..160, ...))
+
+TraceActivation ::= SEQUENCE {
+    e-UTRAN-Trace-ID                    E-UTRAN-Trace-ID,
+    interfacesToTrace                    InterfacesToTrace,
+traceDepth                            TraceDepth,
+traceCollectionEntityIPAddress        TransportLayerAddress,
+    iE-Extensions                        ProtocolExtensionContainer { { TraceActivation-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+TraceActivation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+-- Extension for Rel-10 to support MDT --
+    { ID id-MDTConfiguration    CRITICALITY ignore    EXTENSION MDT-Configuration        PRESENCE optional }|
+-- Extension for Rel-15 to support QMC –
+    { ID id-UEAppLayerMeasConfig    CRITICALITY ignore    EXTENSION UEAppLayerMeasConfig        PRESENCE optional },
+    ...
+}
+
+TraceDepth ::= ENUMERATED { 
+    minimum,
+    medium,
+    maximum,
+    minimumWithoutVendorSpecificExtension,
+    mediumWithoutVendorSpecificExtension,
+    maximumWithoutVendorSpecificExtension,
+    ...
+}
+
+E-UTRAN-Trace-ID ::=  OCTET STRING (SIZE (8))
+
+TrafficLoadReductionIndication ::= INTEGER (1..99)
+
+TunnelInformation ::= SEQUENCE {
+    transportLayerAddress    TransportLayerAddress,
+    uDP-Port-Number            Port-Number            OPTIONAL,
+    iE-Extensions            ProtocolExtensionContainer { {Tunnel-Information-ExtIEs} } OPTIONAL,
+    ...
+}
+
+Tunnel-Information-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+TypeOfError ::= ENUMERATED {
+    not-understood,
+    missing,
+    ...
+}
+
+TAIListForRestart ::= SEQUENCE (SIZE(1..maxnoofRestartTAIs)) OF TAI
+
+-- U
+
+UEAggregateMaximumBitrate ::= SEQUENCE {
+    uEaggregateMaximumBitRateDL        BitRate,
+    uEaggregateMaximumBitRateUL        BitRate,
+    iE-Extensions                    ProtocolExtensionContainer { {UEAggregate-MaximumBitrates-ExtIEs} } OPTIONAL,
+    ...
+}
+
+UEAggregate-MaximumBitrates-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+-- Extension for maximum bitrate > 10G bps --
+    { ID id-extended-uEaggregateMaximumBitRateDL     CRITICALITY ignore    EXTENSION ExtendedBitRate    PRESENCE optional}|
+    { ID id-extended-uEaggregateMaximumBitRateUL        CRITICALITY ignore    EXTENSION ExtendedBitRate    PRESENCE optional},
+    ...
+}
+
+UEAppLayerMeasConfig ::= SEQUENCE {
+    containerForAppLayerMeasConfig            OCTET STRING (SIZE(1..1000)),
+    areaScopeOfQMC        AreaScopeOfQMC,
+    iE-Extensions        ProtocolExtensionContainer { {UEAppLayerMeasConfig-ExtIEs} } OPTIONAL,
+    ...
+}
+
+UEAppLayerMeasConfig-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    {ID id-serviceType    CRITICALITY ignore    EXTENSION ServiceType    PRESENCE optional},
+    ...
+}
+
+UECapabilityInfoRequest ::= ENUMERATED {
+    requested,
+    ...
+}
+
+UE-RetentionInformation ::= ENUMERATED {
+    ues-retained,
+    ...}
+
+UE-S1AP-IDs ::= CHOICE{
+    uE-S1AP-ID-pair        UE-S1AP-ID-pair,
+    mME-UE-S1AP-ID        MME-UE-S1AP-ID,
+    ...
+}
+
+UE-S1AP-ID-pair ::= SEQUENCE{
+    mME-UE-S1AP-ID        MME-UE-S1AP-ID,
+    eNB-UE-S1AP-ID        ENB-UE-S1AP-ID,
+    iE-Extensions        ProtocolExtensionContainer { {UE-S1AP-ID-pair-ExtIEs} } OPTIONAL,
+    ...
+}
+UE-S1AP-ID-pair-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+
+UE-associatedLogicalS1-ConnectionItem ::= SEQUENCE {
+    mME-UE-S1AP-ID        MME-UE-S1AP-ID OPTIONAL,
+    eNB-UE-S1AP-ID        ENB-UE-S1AP-ID OPTIONAL,
+    iE-Extensions        ProtocolExtensionContainer { { UE-associatedLogicalS1-ConnectionItemExtIEs} } OPTIONAL,
+    ...
+}
+
+
+UE-associatedLogicalS1-ConnectionItemExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+UEIdentityIndexValue    ::=    BIT STRING (SIZE (10))
+
+UE-HistoryInformation ::= SEQUENCE (SIZE(1..maxnoofCellsinUEHistoryInfo)) OF LastVisitedCell-Item
+
+UE-HistoryInformationFromTheUE ::= OCTET STRING
+-- This IE is a transparent container and shall be encoded as the VisitedCellInfoList field contained in the UEInformationResponse message as defined in TS 36.331 [16]
+
+UEPagingID ::= CHOICE {
+    s-TMSI        S-TMSI,
+    iMSI        IMSI,
+    ...
+    }
+
+UERadioCapability ::= OCTET STRING
+
+UERadioCapabilityForPaging ::= OCTET STRING
+
+UE-RLF-Report-Container ::= OCTET STRING
+-- This IE is a transparent container and shall be encoded as the rlf-Report-r9 field contained in the UEInformationResponse message as defined in TS 36.331 [16]
+
+UE-RLF-Report-Container-for-extended-bands ::= OCTET STRING
+-- This IE is a transparent container and shall be encoded as the rlf-Report-v9e0 contained in the UEInformationResponse message as defined in TS 36.331 [16]
+
+UESecurityCapabilities ::= SEQUENCE {
+    encryptionAlgorithms            EncryptionAlgorithms,
+    integrityProtectionAlgorithms    IntegrityProtectionAlgorithms,
+    iE-Extensions                    ProtocolExtensionContainer { { UESecurityCapabilities-ExtIEs} }    OPTIONAL,
+...
+}
+
+UESecurityCapabilities-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+UESidelinkAggregateMaximumBitrate ::= SEQUENCE {
+    uESidelinkAggregateMaximumBitRate        BitRate,
+    iE-Extensions                    ProtocolExtensionContainer { {UE-Sidelink-Aggregate-MaximumBitrates-ExtIEs} } OPTIONAL,
+    ...
+}
+
+UE-Sidelink-Aggregate-MaximumBitrates-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+UE-Usage-Type ::= INTEGER (0..255) 
+
+UL-CP-SecurityInformation ::= SEQUENCE {
+    ul-NAS-MAC                UL-NAS-MAC,
+    ul-NAS-Count            UL-NAS-Count,
+    iE-Extensions            ProtocolExtensionContainer { { UL-CP-SecurityInformation-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+UL-CP-SecurityInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+UL-NAS-MAC ::= BIT STRING (SIZE (16))
+
+UL-NAS-Count ::= BIT STRING (SIZE (5))
+
+UnlicensedSpectrumRestriction ::= ENUMERATED {
+    unlicensed-restricted,
+    ...
+}
+
+
+UserLocationInformation ::= SEQUENCE {
+    eutran-cgi                 EUTRAN-CGI,
+    tai                        TAI,
+    iE-Extensions            ProtocolExtensionContainer { { UserLocationInformation-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+UserLocationInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    { ID id-PSCellInformation    CRITICALITY ignore    EXTENSION PSCellInformation            PRESENCE optional},
+    ...
+}
+
+UEUserPlaneCIoTSupportIndicator ::= ENUMERATED {
+    supported,
+    ...
+}
+
+UE-Application-Layer-Measurement-Capability ::= BIT STRING (SIZE (8))
+
+-- First bit: QoE Measurement for streaming service
+-- Second bit: QoE Measurement for MTSI service
+
+-- Note that undefined bits are considered as a spare bit and spare bits shall be set to 0 by the transmitter and shall be ignored by the receiver.
+
+-- V
+
+VoiceSupportMatchIndicator ::= ENUMERATED { 
+    supported,
+    not-supported,
+    ...
+}
+
+V2XServicesAuthorized ::= SEQUENCE {
+    vehicleUE            VehicleUE                                            OPTIONAL,
+    pedestrianUE         PedestrianUE                        OPTIONAL,
+    iE-Extensions        ProtocolExtensionContainer { {V2XServicesAuthorized-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+V2XServicesAuthorized-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+VehicleUE ::= ENUMERATED { 
+    authorized,
+    not-authorized,
+    ...
+}
+
+PedestrianUE ::= ENUMERATED { 
+    authorized,
+    not-authorized,
+    ...
+}
+
+-- W
+
+WarningAreaCoordinates ::= OCTET STRING (SIZE(1..1024))
+
+WarningAreaList ::= CHOICE {
+    cellIDList                        ECGIList,
+    trackingAreaListforWarning        TAIListforWarning,
+    emergencyAreaIDList                EmergencyAreaIDList,
+    ...
+}
+
+
+WarningType ::= OCTET STRING (SIZE (2))
+
+WarningSecurityInfo ::= OCTET STRING (SIZE (50))
+
+
+WarningMessageContents ::= OCTET STRING (SIZE(1..9600))
+
+WLANMeasurementConfiguration ::= SEQUENCE {
+    wlanMeasConfig             WLANMeasConfig,
+    wlanMeasConfigNameList        WLANMeasConfigNameList            OPTIONAL,
+    wlan-rssi                  ENUMERATED {true, ...}            OPTIONAL,
+    wlan-rtt                   ENUMERATED {true, ...}            OPTIONAL,
+    iE-Extensions        ProtocolExtensionContainer { { WLANMeasurementConfiguration-ExtIEs } } OPTIONAL,
+    ...
+}
+
+WLANMeasurementConfiguration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+WLANMeasConfigNameList ::= SEQUENCE (SIZE(1..maxnoofWLANName)) OF WLANName
+
+WLANMeasConfig::= ENUMERATED {setup,...}
+
+WLANName ::= OCTET STRING (SIZE (1..32))   
+
+-- X
+
+
+X2TNLConfigurationInfo ::= SEQUENCE {
+    eNBX2TransportLayerAddresses    ENBX2TLAs,
+    iE-Extensions                    ProtocolExtensionContainer { { X2TNLConfigurationInfo-ExtIEs} } OPTIONAL,
+    ...
+}
+
+X2TNLConfigurationInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 10 to transfer the IPsec and U-plane addresses during ANR action --
+    {ID id-eNBX2ExtendedTransportLayerAddresses        CRITICALITY ignore    EXTENSION ENBX2ExtTLAs    PRESENCE optional}|
+-- Extension for Release 12 to transfer the IP addresses of the X2 GW --
+    {ID id-eNBIndirectX2TransportLayerAddresses    CRITICALITY ignore    EXTENSION ENBIndirectX2TransportLayerAddresses    PRESENCE optional},
+    ...
+}
+
+ENBX2ExtTLAs ::= SEQUENCE (SIZE(1.. maxnoofeNBX2ExtTLAs)) OF ENBX2ExtTLA
+
+ENBX2ExtTLA ::= SEQUENCE {
+    iPsecTLA                    TransportLayerAddress        OPTIONAL,
+    gTPTLAa                        ENBX2GTPTLAs                OPTIONAL,
+    iE-Extensions                ProtocolExtensionContainer { { ENBX2ExtTLA-ExtIEs} } OPTIONAL,
+    ...
+}
+
+ENBX2ExtTLA-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+ENBX2GTPTLAs ::= SEQUENCE (SIZE(1.. maxnoofeNBX2GTPTLAs)) OF TransportLayerAddress
+
+ENBIndirectX2TransportLayerAddresses ::= SEQUENCE (SIZE(1..maxnoofeNBX2TLAs)) OF TransportLayerAddress
+
+-- Y
+-- Z
+
+END
diff --git a/src/s1ap/asn1c/asnGenFiles/asn1c/S1AP-PDU-Contents.asn b/src/s1ap/asn1c/asnGenFiles/asn1c/S1AP-PDU-Contents.asn
new file mode 100644
index 0000000..f0e2003
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/asn1c/S1AP-PDU-Contents.asn
@@ -0,0 +1,3131 @@
+-- **************************************************************
+--
+-- PDU definitions for S1AP.
+--
+-- **************************************************************
+
+S1AP-PDU-Contents { 
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) 
+eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-PDU-Contents (1) }
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+    
+    UEAggregateMaximumBitrate,
+    BearerType,
+    Cause,
+    CellAccessMode,
+    Cdma2000HORequiredIndication,
+    Cdma2000HOStatus,
+    Cdma2000OneXSRVCCInfo,
+    Cdma2000OneXRAND,
+    Cdma2000PDU,
+    Cdma2000RATType,
+    Cdma2000SectorID,
+    EUTRANRoundTripDelayEstimationInfo,
+    CNDomain,
+    ConcurrentWarningMessageIndicator,
+    CriticalityDiagnostics,
+    CSFallbackIndicator,
+    CSG-Id,
+    CSG-IdList, 
+    CSGMembershipStatus,
+    Data-Forwarding-Not-Possible,
+    Direct-Forwarding-Path-Availability,
+    Global-ENB-ID,
+    EUTRAN-CGI,
+    ENBname,
+    ENB-StatusTransfer-TransparentContainer,
+    ENB-UE-S1AP-ID,
+    ExtendedRepetitionPeriod,
+    GTP-TEID,
+    GUMMEI,
+    GUMMEIType,
+    HandoverRestrictionList,
+    HandoverType,
+    Masked-IMEISV,
+    LAI,
+    LPPa-PDU,
+    ManagementBasedMDTAllowed,
+    MDTPLMNList,
+    MMEname,
+    MMERelaySupportIndicator,
+    MME-UE-S1AP-ID,
+    MSClassmark2,
+    MSClassmark3,
+    NAS-PDU,
+    NASSecurityParametersfromE-UTRAN,
+    NASSecurityParameterstoE-UTRAN,
+    OverloadResponse,
+    PagingDRX,
+    PagingPriority,
+    PLMNidentity,
+    ProSeAuthorized,
+    RIMTransfer,
+    RelativeMMECapacity,
+    RequestType,
+    E-RAB-ID,
+    E-RABLevelQoSParameters,
+    E-RABList,
+    RelayNode-Indicator,
+    Routing-ID,
+    SecurityKey,
+    SecurityContext,
+    ServedGUMMEIs,
+    SONConfigurationTransfer,
+    Source-ToTarget-TransparentContainer,
+    SourceBSS-ToTargetBSS-TransparentContainer,
+    SourceeNB-ToTargeteNB-TransparentContainer,
+    SourceRNC-ToTargetRNC-TransparentContainer,
+    SubscriberProfileIDforRFP,
+    SRVCCOperationNotPossible,
+    SRVCCOperationPossible,
+    SRVCCHOIndication,
+    SupportedTAs,
+    TAI,
+    Target-ToSource-TransparentContainer,
+    TargetBSS-ToSourceBSS-TransparentContainer,    
+    TargeteNB-ToSourceeNB-TransparentContainer,
+    TargetID,
+    TargetRNC-ToSourceRNC-TransparentContainer,
+    TimeToWait,
+    TraceActivation,
+    TrafficLoadReductionIndication,
+    E-UTRAN-Trace-ID,
+    TransportLayerAddress,
+    UEIdentityIndexValue,
+    UEPagingID,
+    UERadioCapability,
+    UERadioCapabilityForPaging,
+    UE-RetentionInformation,
+    UE-S1AP-IDs,
+    UE-associatedLogicalS1-ConnectionItem,
+    UESecurityCapabilities,
+    S-TMSI,
+    MessageIdentifier,
+    SerialNumber,
+    WarningAreaList,
+    RepetitionPeriod,
+    NumberofBroadcastRequest,
+    WarningType,
+    WarningSecurityInfo,
+    DataCodingScheme,
+    WarningMessageContents,
+    BroadcastCompletedAreaList,
+    RRC-Establishment-Cause,
+    BroadcastCancelledAreaList,
+    PS-ServiceNotAvailable,
+    GUMMEIList,
+    Correlation-ID,
+    GWContextReleaseIndication,
+    PrivacyIndicator,
+    VoiceSupportMatchIndicator,
+    TunnelInformation,
+    KillAllWarningMessages,
+    TransportInformation,
+    LHN-ID,
+    UserLocationInformation,
+    AdditionalCSFallbackIndicator,
+    ECGIListForRestart,
+    TAIListForRestart,
+    EmergencyAreaIDListForRestart,
+    ExpectedUEBehaviour,
+    Paging-eDRXInformation,
+    Extended-UEIdentityIndexValue,
+    MME-Group-ID,
+    Additional-GUTI,
+    PWSfailedECGIList,
+    CellIdentifierAndCELevelForCECapableUEs,
+    AssistanceDataForPaging,
+    InformationOnRecommendedCellsAndENBsForPaging,
+    UE-Usage-Type,
+    UEUserPlaneCIoTSupportIndicator,
+    NB-IoT-DefaultPagingDRX,
+    NB-IoT-Paging-eDRXInformation,
+    CE-mode-B-SupportIndicator,
+    NB-IoT-UEIdentityIndexValue,
+    V2XServicesAuthorized,
+    DCN-ID,
+    ServedDCNs,
+    UESidelinkAggregateMaximumBitrate,
+    DLNASPDUDeliveryAckRequest,
+    Coverage-Level,
+    EnhancedCoverageRestricted,
+    DL-CP-SecurityInformation,
+    UL-CP-SecurityInformation,
+    SecondaryRATDataUsageRequest,
+    SecondaryRATDataUsageReportList,
+    HandoverFlag,
+    NRUESecurityCapabilities,
+    UE-Application-Layer-Measurement-Capability,
+    CE-ModeBRestricted,
+    Packet-LossRate,
+     UECapabilityInfoRequest,
+    SourceNgRanNode-ToTargetNgRanNode-TransparentContainer,
+    TargetNgRanNode-ToSourceNgRanNode-TransparentContainer,
+    EndIndication,
+    EDT-Session,
+    LTE-M-Indication,
+    AerialUEsubscriptionInformation,
+    PendingDataIndication,
+    WarningAreaCoordinates,
+    Subscription-Based-UE-DifferentiationInfo,
+    PSCellInformation,
+    NR-CGI,
+    maxnoofE-RABs,
+    ConnectedengNBList,
+    EN-DCSONConfigurationTransfer,
+    TimeSinceSecondaryNodeRelease
+
+
+
+
+FROM S1AP-IEs
+
+    PrivateIE-Container{},
+    ProtocolExtensionContainer{},
+    ProtocolIE-Container{},
+    ProtocolIE-ContainerList{},
+    ProtocolIE-ContainerPair{},
+    ProtocolIE-ContainerPairList{},
+    ProtocolIE-SingleContainer{},
+    S1AP-PRIVATE-IES,
+    S1AP-PROTOCOL-EXTENSION,
+    S1AP-PROTOCOL-IES,
+    S1AP-PROTOCOL-IES-PAIR
+FROM S1AP-Containers
+
+
+    id-AssistanceDataForPaging,
+    id-AerialUEsubscriptionInformation,
+    id-uEaggregateMaximumBitrate,
+    id-BearerType,
+    id-Cause,
+    id-CellAccessMode,
+    id-CellIdentifierAndCELevelForCECapableUEs,
+    id-cdma2000HORequiredIndication,
+    id-cdma2000HOStatus,
+    id-cdma2000OneXSRVCCInfo,
+    id-cdma2000OneXRAND,
+    id-cdma2000PDU,
+    id-cdma2000RATType,
+    id-cdma2000SectorID,
+    id-EUTRANRoundTripDelayEstimationInfo,
+    id-CNDomain,
+    id-ConcurrentWarningMessageIndicator,
+    id-CriticalityDiagnostics,
+    id-CSFallbackIndicator,
+    id-CSG-Id,
+    id-CSG-IdList,
+    id-CSGMembershipStatus,
+    id-Data-Forwarding-Not-Possible,
+    id-DefaultPagingDRX,
+    id-Direct-Forwarding-Path-Availability,
+    id-Global-ENB-ID,
+    id-EUTRAN-CGI,
+    id-eNBname,
+    id-eNB-StatusTransfer-TransparentContainer,
+    id-eNB-UE-S1AP-ID, 
+    id-GERANtoLTEHOInformationRes,
+    id-GUMMEI-ID,
+    id-GUMMEIType,
+    id-HandoverRestrictionList,
+    id-HandoverType,
+    id-Masked-IMEISV,
+    id-InformationOnRecommendedCellsAndENBsForPaging,
+    id-InitialContextSetup,
+    id-Inter-SystemInformationTransferTypeEDT,
+    id-Inter-SystemInformationTransferTypeMDT,
+    id-LPPa-PDU,
+    id-NAS-DownlinkCount,
+    id-ManagementBasedMDTAllowed,
+    id-ManagementBasedMDTPLMNList,
+    id-MMEname,
+    id-MME-UE-S1AP-ID,
+    id-MSClassmark2,
+    id-MSClassmark3,
+    id-NAS-PDU,
+    id-NASSecurityParametersfromE-UTRAN,
+    id-NASSecurityParameterstoE-UTRAN,
+    id-OverloadResponse,
+    id-pagingDRX,
+    id-PagingPriority,
+    id-RelativeMMECapacity,
+    id-RequestType,
+    id-Routing-ID,
+    id-E-RABAdmittedItem,
+    id-E-RABAdmittedList,
+    id-E-RABDataForwardingItem,
+    id-E-RABFailedToModifyList,
+    id-E-RABFailedToReleaseList,
+    id-E-RABFailedtoSetupItemHOReqAck,
+    id-E-RABFailedToSetupListBearerSURes,
+    id-E-RABFailedToSetupListCtxtSURes,
+    id-E-RABFailedToSetupListHOReqAck,
+    id-E-RABFailedToBeReleasedList,
+    id-E-RABFailedToResumeListResumeReq,
+    id-E-RABFailedToResumeItemResumeReq,
+    id-E-RABFailedToResumeListResumeRes,
+    id-E-RABFailedToResumeItemResumeRes,
+    id-E-RABModify,
+    id-E-RABModifyItemBearerModRes,
+    id-E-RABModifyListBearerModRes,
+    id-E-RABRelease,
+    id-E-RABReleaseItemBearerRelComp,
+    id-E-RABReleaseItemHOCmd,
+    id-E-RABReleaseListBearerRelComp,
+    id-E-RABReleaseIndication,
+    id-E-RABSetup,
+    id-E-RABSetupItemBearerSURes,
+    id-E-RABSetupItemCtxtSURes,
+    id-E-RABSetupListBearerSURes,
+    id-E-RABSetupListCtxtSURes,
+    id-E-RABSubjecttoDataForwardingList,
+    id-E-RABToBeModifiedItemBearerModReq,
+    id-E-RABToBeModifiedListBearerModReq,
+    id-E-RABToBeModifiedListBearerModInd,
+    id-E-RABToBeModifiedItemBearerModInd,
+    id-E-RABNotToBeModifiedListBearerModInd,
+    id-E-RABNotToBeModifiedItemBearerModInd,
+    id-E-RABModifyListBearerModConf,
+    id-E-RABModifyItemBearerModConf,
+    id-E-RABFailedToModifyListBearerModConf, 
+    id-E-RABToBeReleasedListBearerModConf,
+    id-E-RABToBeReleasedList,
+    id-E-RABReleasedList,
+    id-E-RABToBeSetupItemBearerSUReq,
+    id-E-RABToBeSetupItemCtxtSUReq,
+    id-E-RABToBeSetupItemHOReq,
+    id-E-RABToBeSetupListBearerSUReq,
+    id-E-RABToBeSetupListCtxtSUReq,
+    id-E-RABToBeSetupListHOReq,
+    id-E-RABToBeSwitchedDLItem,
+    id-E-RABToBeSwitchedDLList,
+    id-E-RABToBeSwitchedULList,
+    id-E-RABToBeSwitchedULItem,
+    id-E-RABtoReleaseListHOCmd,
+    id-ProSeAuthorized,
+    id-SecurityKey,
+    id-SecurityContext,
+    id-ServedGUMMEIs,
+    id-SONConfigurationTransferECT,
+    id-SONConfigurationTransferMCT,
+    id-Source-ToTarget-TransparentContainer,
+    id-Source-ToTarget-TransparentContainer-Secondary,
+    id-SourceMME-UE-S1AP-ID,
+    id-SRVCCOperationNotPossible,
+    id-SRVCCOperationPossible,
+    id-SRVCCHOIndication,
+    id-SubscriberProfileIDforRFP,
+    id-SupportedTAs,
+    id-S-TMSI,
+    id-TAI,
+    id-TAIItem,
+    id-TAIList,
+    id-Target-ToSource-TransparentContainer,
+    id-Target-ToSource-TransparentContainer-Secondary,
+    id-TargetID,
+    id-TimeToWait,
+    id-TraceActivation,
+    id-TrafficLoadReductionIndication,
+    id-E-UTRAN-Trace-ID,
+    id-UEIdentityIndexValue,
+    id-UEPagingID,
+    id-UERadioCapability,
+    id-UERadioCapabilityForPaging,
+    id-UTRANtoLTEHOInformationRes,
+    id-UE-associatedLogicalS1-ConnectionListResAck,
+    id-UE-associatedLogicalS1-ConnectionItem,
+    id-UE-RetentionInformation,
+    id-UESecurityCapabilities,
+    id-UE-S1AP-IDs,
+    id-V2XServicesAuthorized,
+    id-ResetType,
+    id-MessageIdentifier,
+    id-SerialNumber,
+    id-WarningAreaList,
+    id-RepetitionPeriod,
+    id-NumberofBroadcastRequest,
+    id-WarningType,
+    id-WarningSecurityInfo,
+    id-DataCodingScheme,
+    id-WarningMessageContents,
+    id-BroadcastCompletedAreaList,
+    id-BroadcastCancelledAreaList,
+    id-RRC-Establishment-Cause,
+    id-TraceCollectionEntityIPAddress,
+    maxnoofTAIs,
+    maxnoofErrors,
+    maxnoofIndividualS1ConnectionsToReset,
+    maxnoofEmergencyAreaID,
+    maxnoofCellID,
+    maxnoofTAIforWarning,
+    maxnoofCellinTAI,
+    maxnoofCellinEAI,
+    id-ExtendedRepetitionPeriod,
+    id-PS-ServiceNotAvailable,
+    id-RegisteredLAI,
+    id-GUMMEIList,
+    id-SourceMME-GUMMEI,
+    id-MME-UE-S1AP-ID-2,
+    id-GW-TransportLayerAddress,
+    id-RelayNode-Indicator,
+    id-Correlation-ID,
+    id-MMERelaySupportIndicator,
+    id-GWContextReleaseIndication,
+    id-PrivacyIndicator,
+    id-VoiceSupportMatchIndicator,
+    id-Tunnel-Information-for-BBF,
+    id-SIPTO-Correlation-ID,
+    id-SIPTO-L-GW-TransportLayerAddress,
+    id-KillAllWarningMessages,
+    id-TransportInformation,
+    id-LHN-ID,
+    id-UserLocationInformation,
+    id-AdditionalCSFallbackIndicator,
+    id-ECGIListForRestart,
+    id-TAIListForRestart,
+    id-EmergencyAreaIDListForRestart,
+    id-ExpectedUEBehaviour,
+    id-Paging-eDRXInformation,
+    id-extended-UEIdentityIndexValue,
+    id-CSGMembershipInfo,
+    id-MME-Group-ID,
+    id-Additional-GUTI,
+    id-S1-Message,
+    id-PWSfailedECGIList,
+    id-PWSFailureIndication,
+    id-UE-Usage-Type,
+    id-UEUserPlaneCIoTSupportIndicator,
+    id-NB-IoT-DefaultPagingDRX,
+    id-NB-IoT-Paging-eDRXInformation,
+    id-CE-mode-B-SupportIndicator,
+    id-NB-IoT-UEIdentityIndexValue,
+    id-RRC-Resume-Cause,
+    id-DCN-ID,
+    id-ServedDCNs,
+    id-UESidelinkAggregateMaximumBitrate,
+    id-DLNASPDUDeliveryAckRequest,
+    id-Coverage-Level,
+    id-EnhancedCoverageRestricted,
+    id-UE-Level-QoS-Parameters,
+    id-DL-CP-SecurityInformation,
+    id-UL-CP-SecurityInformation,
+    id-SecondaryRATDataUsageRequest,
+    id-SecondaryRATDataUsageReportList,
+    id-HandoverFlag,
+    id-NRUESecurityCapabilities,
+    id-UE-Application-Layer-Measurement-Capability,
+    id-CE-ModeBRestricted,
+    id-DownlinkPacketLossRate,
+    id-UplinkPacketLossRate,
+    id-UECapabilityInfoRequest,
+    id-EndIndication,
+    id-EDT-Session,
+    id-LTE-M-Indication,
+    id-PendingDataIndication,
+    id-WarningAreaCoordinates,
+    id-Subscription-Based-UE-DifferentiationInfo,
+    id-PSCellInformation,
+    id-ConnectedengNBList,
+    id-ConnectedengNBToAddList,
+    id-ConnectedengNBToRemoveList,
+    id-EN-DCSONConfigurationTransfer-ECT,
+    id-EN-DCSONConfigurationTransfer-MCT,
+    id-TimeSinceSecondaryNodeRelease
+
+
+
+FROM S1AP-Constants;
+
+-- **************************************************************
+--
+-- Common Container Lists
+--
+-- **************************************************************
+
+E-RAB-IE-ContainerList            { S1AP-PROTOCOL-IES      : IEsSetParam }    ::= ProtocolIE-ContainerList     { 1, maxnoofE-RABs,   {IEsSetParam} }
+E-RAB-IE-ContainerPairList        { S1AP-PROTOCOL-IES-PAIR : IEsSetParam }    ::= ProtocolIE-ContainerPairList { 1, maxnoofE-RABs,   {IEsSetParam} }
+ProtocolError-IE-ContainerList    { S1AP-PROTOCOL-IES      : IEsSetParam }    ::= ProtocolIE-ContainerList     { 1, maxnoofE-RABs,   {IEsSetParam} }
+
+-- **************************************************************
+--
+-- HANDOVER PREPARATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Handover Required
+--
+-- **************************************************************
+
+HandoverRequired ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container        { { HandoverRequiredIEs} },
+    ...
+}
+
+HandoverRequiredIEs S1AP-PROTOCOL-IES ::= {    
+    { ID id-MME-UE-S1AP-ID                            CRITICALITY reject    TYPE MME-UE-S1AP-ID                        PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                            CRITICALITY reject    TYPE ENB-UE-S1AP-ID                        PRESENCE mandatory}|
+    { ID id-HandoverType                            CRITICALITY reject    TYPE HandoverType                        PRESENCE mandatory}|
+    { ID id-Cause                                    CRITICALITY ignore    TYPE Cause                                PRESENCE mandatory}|
+    { ID id-TargetID                                CRITICALITY reject    TYPE TargetID                            PRESENCE mandatory}|
+    { ID id-Direct-Forwarding-Path-Availability        CRITICALITY ignore    TYPE Direct-Forwarding-Path-Availability        PRESENCE optional}|
+    { ID id-SRVCCHOIndication                        CRITICALITY reject    TYPE SRVCCHOIndication                    PRESENCE optional}|
+    { ID id-Source-ToTarget-TransparentContainer    CRITICALITY reject    TYPE Source-ToTarget-TransparentContainer    PRESENCE mandatory}|
+    { ID id-Source-ToTarget-TransparentContainer-Secondary    CRITICALITY reject    TYPE Source-ToTarget-TransparentContainer    PRESENCE optional}|
+    { ID id-MSClassmark2                            CRITICALITY reject    TYPE MSClassmark2                        PRESENCE conditional}|
+    { ID id-MSClassmark3                            CRITICALITY ignore    TYPE MSClassmark3                        PRESENCE conditional}|
+    { ID id-CSG-Id                                    CRITICALITY reject    TYPE CSG-Id                                PRESENCE optional}|
+    { ID id-CellAccessMode                            CRITICALITY reject    TYPE CellAccessMode                        PRESENCE optional}|
+    { ID id-PS-ServiceNotAvailable                    CRITICALITY ignore    TYPE PS-ServiceNotAvailable            PRESENCE optional},
+    ...
+}
+
+
+-- **************************************************************
+--
+-- Handover Command
+--
+-- **************************************************************
+
+HandoverCommand ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container        { { HandoverCommandIEs} },
+    ...
+}
+
+HandoverCommandIEs S1AP-PROTOCOL-IES ::= {    
+    { ID id-MME-UE-S1AP-ID                            CRITICALITY reject    TYPE MME-UE-S1AP-ID                            PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                            CRITICALITY reject    TYPE ENB-UE-S1AP-ID                            PRESENCE mandatory}|
+    { ID id-HandoverType                            CRITICALITY reject    TYPE HandoverType                            PRESENCE mandatory}|
+    { ID id-NASSecurityParametersfromE-UTRAN        CRITICALITY reject    TYPE NASSecurityParametersfromE-UTRAN            PRESENCE conditional
+    -- This IE shall be present if HandoverType IE is set to value "LTEtoUTRAN" or "LTEtoGERAN" --}|
+    { ID id-E-RABSubjecttoDataForwardingList        CRITICALITY ignore    TYPE E-RABSubjecttoDataForwardingList            PRESENCE optional}|
+    { ID id-E-RABtoReleaseListHOCmd                    CRITICALITY ignore    TYPE E-RABList                                PRESENCE optional}|
+    { ID id-Target-ToSource-TransparentContainer    CRITICALITY reject    TYPE Target-ToSource-TransparentContainer        PRESENCE mandatory}|
+    { ID id-Target-ToSource-TransparentContainer-Secondary    CRITICALITY reject    TYPE Target-ToSource-TransparentContainer    PRESENCE optional}|
+    { ID id-CriticalityDiagnostics                    CRITICALITY ignore    TYPE CriticalityDiagnostics                PRESENCE optional},
+    ...
+}
+
+E-RABSubjecttoDataForwardingList ::= E-RAB-IE-ContainerList { {E-RABDataForwardingItemIEs} }
+
+E-RABDataForwardingItemIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-E-RABDataForwardingItem                    CRITICALITY ignore    TYPE E-RABDataForwardingItem            PRESENCE mandatory    },
+    ...
+}
+
+E-RABDataForwardingItem ::= SEQUENCE {
+    e-RAB-ID                            E-RAB-ID,
+    dL-transportLayerAddress            TransportLayerAddress                                                     OPTIONAL,
+    dL-gTP-TEID                            GTP-TEID                                                                 OPTIONAL,
+    uL-TransportLayerAddress            TransportLayerAddress                                                    OPTIONAL,
+    uL-GTP-TEID                            GTP-TEID                                                                OPTIONAL,
+    iE-Extensions                        ProtocolExtensionContainer { { E-RABDataForwardingItem-ExtIEs} }            OPTIONAL,
+    ...
+}
+
+E-RABDataForwardingItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+
+
+-- **************************************************************
+--
+-- Handover Preparation Failure
+--
+-- **************************************************************
+
+HandoverPreparationFailure ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container        { { HandoverPreparationFailureIEs} },
+    ...
+}
+
+HandoverPreparationFailureIEs S1AP-PROTOCOL-IES ::= {    
+    { ID id-MME-UE-S1AP-ID                    CRITICALITY ignore    TYPE MME-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID                    CRITICALITY ignore    TYPE ENB-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-Cause                            CRITICALITY ignore    TYPE Cause                            PRESENCE mandatory    }|
+    { ID id-CriticalityDiagnostics            CRITICALITY ignore    TYPE CriticalityDiagnostics            PRESENCE optional    },
+    ...
+}
+
+-- **************************************************************
+--
+-- HANDOVER RESOURCE ALLOCATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Handover Request
+--
+-- **************************************************************
+
+HandoverRequest ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container        { {HandoverRequestIEs} },
+    ...
+}
+
+HandoverRequestIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                            CRITICALITY reject    TYPE MME-UE-S1AP-ID                        PRESENCE mandatory}|
+    { ID id-HandoverType                            CRITICALITY reject    TYPE HandoverType                        PRESENCE mandatory}|
+    { ID id-Cause                                    CRITICALITY ignore    TYPE Cause                                PRESENCE mandatory}|
+    { ID id-uEaggregateMaximumBitrate                CRITICALITY reject    TYPE UEAggregateMaximumBitrate            PRESENCE mandatory}|
+    { ID id-E-RABToBeSetupListHOReq                    CRITICALITY reject    TYPE E-RABToBeSetupListHOReq            PRESENCE mandatory}|
+    { ID id-Source-ToTarget-TransparentContainer    CRITICALITY reject    TYPE Source-ToTarget-TransparentContainer    PRESENCE mandatory}|
+    { ID id-UESecurityCapabilities                    CRITICALITY reject    TYPE UESecurityCapabilities            PRESENCE mandatory}|
+    { ID id-HandoverRestrictionList                    CRITICALITY ignore    TYPE HandoverRestrictionList            PRESENCE optional}|
+    { ID id-TraceActivation                            CRITICALITY ignore    TYPE TraceActivation                    PRESENCE optional}|
+    { ID id-RequestType                                CRITICALITY ignore    TYPE RequestType                        PRESENCE optional}|
+    { ID id-SRVCCOperationPossible                    CRITICALITY ignore    TYPE SRVCCOperationPossible            PRESENCE optional}|
+    { ID id-SecurityContext                            CRITICALITY reject    TYPE SecurityContext                    PRESENCE mandatory}|
+    { ID id-NASSecurityParameterstoE-UTRAN            CRITICALITY reject    TYPE NASSecurityParameterstoE-UTRAN        PRESENCE conditional
+    -- This IE shall be present if the Handover Type IE is set to the value "UTRANtoLTE" or "GERANtoLTE" --                }|
+    { ID id-CSG-Id                                    CRITICALITY reject    TYPE CSG-Id                                PRESENCE optional}|
+    { ID id-CSGMembershipStatus                        CRITICALITY ignore    TYPE CSGMembershipStatus                PRESENCE optional}|
+    { ID id-GUMMEI-ID                                CRITICALITY ignore    TYPE GUMMEI                                PRESENCE optional}|
+    { ID id-MME-UE-S1AP-ID-2                        CRITICALITY ignore    TYPE MME-UE-S1AP-ID                        PRESENCE optional}|
+    { ID id-ManagementBasedMDTAllowed                CRITICALITY ignore    TYPE ManagementBasedMDTAllowed            PRESENCE optional}|
+    { ID id-ManagementBasedMDTPLMNList                CRITICALITY ignore    TYPE MDTPLMNList                        PRESENCE optional}|
+    { ID id-Masked-IMEISV                            CRITICALITY ignore    TYPE Masked-IMEISV                        PRESENCE optional}|
+    { ID id-ExpectedUEBehaviour                        CRITICALITY ignore    TYPE ExpectedUEBehaviour                PRESENCE optional}|
+    { ID id-ProSeAuthorized                            CRITICALITY ignore    TYPE ProSeAuthorized                    PRESENCE optional}|
+    { ID id-UEUserPlaneCIoTSupportIndicator            CRITICALITY ignore    TYPE UEUserPlaneCIoTSupportIndicator         PRESENCE optional}|
+    { ID id-V2XServicesAuthorized                    CRITICALITY ignore    TYPE V2XServicesAuthorized            PRESENCE optional}|
+    { ID id-UESidelinkAggregateMaximumBitrate        CRITICALITY ignore    TYPE UESidelinkAggregateMaximumBitrate        PRESENCE optional}|
+    { ID id-EnhancedCoverageRestricted                CRITICALITY ignore    TYPE EnhancedCoverageRestricted            PRESENCE optional}|
+    { ID id-NRUESecurityCapabilities                CRITICALITY ignore    TYPE NRUESecurityCapabilities            PRESENCE optional}|
+    { ID id-CE-ModeBRestricted                        CRITICALITY ignore    TYPE CE-ModeBRestricted                    PRESENCE optional}|
+    { ID id-AerialUEsubscriptionInformation            CRITICALITY ignore    TYPE AerialUEsubscriptionInformation                PRESENCE optional}|
+    { ID id-PendingDataIndication                    CRITICALITY ignore    TYPE PendingDataIndication            PRESENCE optional}|
+    { ID id-Subscription-Based-UE-DifferentiationInfo        CRITICALITY ignore    TYPE Subscription-Based-UE-DifferentiationInfo        PRESENCE optional},
+    ...
+}
+
+E-RABToBeSetupListHOReq                     ::= E-RAB-IE-ContainerList { {E-RABToBeSetupItemHOReqIEs} }
+
+E-RABToBeSetupItemHOReqIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-E-RABToBeSetupItemHOReq                CRITICALITY reject    TYPE E-RABToBeSetupItemHOReq            PRESENCE mandatory    },
+    ...
+}
+
+E-RABToBeSetupItemHOReq ::= SEQUENCE {
+    e-RAB-ID                            E-RAB-ID,
+    transportLayerAddress                TransportLayerAddress,
+    gTP-TEID                            GTP-TEID,
+    e-RABlevelQosParameters                E-RABLevelQoSParameters,
+    iE-Extensions                        ProtocolExtensionContainer { {E-RABToBeSetupItemHOReq-ExtIEs} }        OPTIONAL,
+    ...
+}
+
+E-RABToBeSetupItemHOReq-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    { ID id-Data-Forwarding-Not-Possible        CRITICALITY ignore    EXTENSION Data-Forwarding-Not-Possible    PRESENCE optional}|
+    { ID id-BearerType                            CRITICALITY reject    EXTENSION BearerType                    PRESENCE optional},
+    ...
+}
+
+-- **************************************************************
+--
+-- Handover Request Acknowledge
+--
+-- **************************************************************
+
+HandoverRequestAcknowledge ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {HandoverRequestAcknowledgeIEs} },
+    ...
+}
+
+HandoverRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                            CRITICALITY ignore    TYPE MME-UE-S1AP-ID                        PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                            CRITICALITY ignore    TYPE ENB-UE-S1AP-ID                        PRESENCE mandatory}|
+    { ID id-E-RABAdmittedList                        CRITICALITY ignore    TYPE E-RABAdmittedList                    PRESENCE mandatory}|
+    { ID id-E-RABFailedToSetupListHOReqAck            CRITICALITY ignore    TYPE E-RABFailedtoSetupListHOReqAck        PRESENCE optional}|
+    { ID id-Target-ToSource-TransparentContainer    CRITICALITY reject    TYPE Target-ToSource-TransparentContainer    PRESENCE mandatory}|
+    { ID id-CSG-Id                                    CRITICALITY ignore    TYPE CSG-Id                                PRESENCE optional}|
+    { ID id-CriticalityDiagnostics                    CRITICALITY ignore    TYPE CriticalityDiagnostics            PRESENCE optional}|
+    { ID id-CellAccessMode                            CRITICALITY ignore    TYPE CellAccessMode                        PRESENCE optional}|
+    { ID id-CE-mode-B-SupportIndicator                CRITICALITY ignore    TYPE CE-mode-B-SupportIndicator            PRESENCE optional},
+    ...
+}
+
+E-RABAdmittedList                     ::= E-RAB-IE-ContainerList { {E-RABAdmittedItemIEs} }
+
+E-RABAdmittedItemIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-E-RABAdmittedItem            CRITICALITY ignore    TYPE E-RABAdmittedItem            PRESENCE mandatory    },
+    ...
+}
+
+E-RABAdmittedItem ::= SEQUENCE {
+    e-RAB-ID                        E-RAB-ID,
+    transportLayerAddress            TransportLayerAddress,
+    gTP-TEID                        GTP-TEID,
+    dL-transportLayerAddress        TransportLayerAddress    OPTIONAL,
+    dL-gTP-TEID                        GTP-TEID                OPTIONAL,
+    uL-TransportLayerAddress        TransportLayerAddress    OPTIONAL,
+    uL-GTP-TEID                        GTP-TEID                OPTIONAL,
+    iE-Extensions                    ProtocolExtensionContainer { {E-RABAdmittedItem-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+E-RABAdmittedItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+E-RABFailedtoSetupListHOReqAck                     ::= E-RAB-IE-ContainerList { {E-RABFailedtoSetupItemHOReqAckIEs} }
+
+E-RABFailedtoSetupItemHOReqAckIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-E-RABFailedtoSetupItemHOReqAck            CRITICALITY ignore    TYPE E-RABFailedToSetupItemHOReqAck            PRESENCE mandatory    },
+    ...
+}
+
+E-RABFailedToSetupItemHOReqAck ::= SEQUENCE {
+    e-RAB-ID                        E-RAB-ID,
+    cause                Cause,
+    iE-Extensions                    ProtocolExtensionContainer { { E-RABFailedToSetupItemHOReqAckExtIEs} }            OPTIONAL,
+    ...
+}
+
+E-RABFailedToSetupItemHOReqAckExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+
+-- **************************************************************
+--
+-- Handover Failure
+--
+-- **************************************************************
+
+HandoverFailure ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { HandoverFailureIEs} },
+    ...
+}
+
+HandoverFailureIEs S1AP-PROTOCOL-IES ::= {    
+    { ID id-MME-UE-S1AP-ID                CRITICALITY ignore    TYPE MME-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-Cause                        CRITICALITY ignore    TYPE Cause                            PRESENCE mandatory    }|
+    { ID id-CriticalityDiagnostics        CRITICALITY ignore    TYPE CriticalityDiagnostics            PRESENCE optional    },
+    ...
+}
+
+-- **************************************************************
+--
+-- HANDOVER NOTIFICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Handover Notify
+--
+-- **************************************************************
+
+HandoverNotify ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { HandoverNotifyIEs} },
+    ...
+}
+
+HandoverNotifyIEs S1AP-PROTOCOL-IES ::= {    
+    { ID id-MME-UE-S1AP-ID                    CRITICALITY reject    TYPE MME-UE-S1AP-ID            PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                    CRITICALITY reject    TYPE ENB-UE-S1AP-ID            PRESENCE mandatory}|
+    { ID id-EUTRAN-CGI                        CRITICALITY ignore    TYPE EUTRAN-CGI                PRESENCE mandatory}|
+    { ID id-TAI                                CRITICALITY ignore    TYPE TAI                    PRESENCE mandatory}|
+-- Extension for Release 11 to support BBAI -- 
+    { ID id-Tunnel-Information-for-BBF        CRITICALITY ignore    TYPE TunnelInformation        PRESENCE optional}|
+    { ID id-LHN-ID                            CRITICALITY ignore    TYPE LHN-ID                    PRESENCE optional}|
+    { ID id-PSCellInformation                CRITICALITY ignore    TYPE PSCellInformation        PRESENCE optional },
+    ...
+}
+
+-- **************************************************************
+--
+-- PATH SWITCH REQUEST ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Path Switch Request
+--
+-- **************************************************************
+
+PathSwitchRequest ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { PathSwitchRequestIEs} },
+    ...
+}
+
+PathSwitchRequestIEs S1AP-PROTOCOL-IES ::= {    
+    { ID id-eNB-UE-S1AP-ID                    CRITICALITY reject    TYPE ENB-UE-S1AP-ID                PRESENCE mandatory}|
+    { ID id-E-RABToBeSwitchedDLList            CRITICALITY reject    TYPE E-RABToBeSwitchedDLList    PRESENCE mandatory}|
+    { ID id-SourceMME-UE-S1AP-ID            CRITICALITY reject    TYPE MME-UE-S1AP-ID                PRESENCE mandatory}|
+    { ID id-EUTRAN-CGI                        CRITICALITY ignore    TYPE EUTRAN-CGI                    PRESENCE mandatory}|
+    { ID id-TAI                                CRITICALITY ignore    TYPE TAI                        PRESENCE mandatory}|
+    { ID id-UESecurityCapabilities            CRITICALITY ignore    TYPE UESecurityCapabilities        PRESENCE mandatory}|
+    { ID id-CSG-Id                            CRITICALITY ignore    TYPE CSG-Id                        PRESENCE optional}|
+    { ID id-CellAccessMode                    CRITICALITY ignore    TYPE CellAccessMode                PRESENCE optional}|
+    { ID id-SourceMME-GUMMEI                CRITICALITY ignore    TYPE GUMMEI                        PRESENCE optional}|
+    { ID id-CSGMembershipStatus                CRITICALITY ignore    TYPE CSGMembershipStatus        PRESENCE optional}|
+-- Extension for Release 11 to support BBAI -- 
+    { ID id-Tunnel-Information-for-BBF        CRITICALITY ignore    TYPE TunnelInformation            PRESENCE optional}|
+    { ID id-LHN-ID                            CRITICALITY ignore    TYPE LHN-ID                        PRESENCE optional}|
+    { ID id-RRC-Resume-Cause                CRITICALITY ignore    TYPE RRC-Establishment-Cause    PRESENCE optional }|
+    { ID id-NRUESecurityCapabilities                CRITICALITY ignore    TYPE NRUESecurityCapabilities            PRESENCE optional}|
+    { ID id-PSCellInformation                CRITICALITY ignore    TYPE PSCellInformation            PRESENCE optional },
+    ...
+}
+
+E-RABToBeSwitchedDLList                    ::= E-RAB-IE-ContainerList { {E-RABToBeSwitchedDLItemIEs} }
+
+E-RABToBeSwitchedDLItemIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-E-RABToBeSwitchedDLItem            CRITICALITY reject    TYPE E-RABToBeSwitchedDLItem            PRESENCE mandatory    },
+    ...
+}
+
+E-RABToBeSwitchedDLItem ::= SEQUENCE {
+    e-RAB-ID                        E-RAB-ID,
+    transportLayerAddress            TransportLayerAddress,
+    gTP-TEID                        GTP-TEID,
+    iE-Extensions                    ProtocolExtensionContainer { { E-RABToBeSwitchedDLItem-ExtIEs} }            OPTIONAL,
+    ...
+}
+
+E-RABToBeSwitchedDLItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+-- **************************************************************
+--
+-- Path Switch Request Acknowledge
+--
+-- **************************************************************
+
+PathSwitchRequestAcknowledge ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { PathSwitchRequestAcknowledgeIEs} },
+    ...
+}
+
+PathSwitchRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= {    
+    { ID id-MME-UE-S1AP-ID                    CRITICALITY ignore    TYPE MME-UE-S1AP-ID                        PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                    CRITICALITY ignore    TYPE ENB-UE-S1AP-ID                        PRESENCE mandatory}|
+    { ID id-uEaggregateMaximumBitrate        CRITICALITY ignore    TYPE UEAggregateMaximumBitrate            PRESENCE optional}|
+    { ID id-E-RABToBeSwitchedULList            CRITICALITY ignore    TYPE E-RABToBeSwitchedULList            PRESENCE optional}|
+    { ID id-E-RABToBeReleasedList            CRITICALITY ignore    TYPE E-RABList                            PRESENCE optional}|
+    { ID id-SecurityContext                    CRITICALITY reject    TYPE SecurityContext                    PRESENCE mandatory}|
+    { ID id-CriticalityDiagnostics            CRITICALITY ignore    TYPE CriticalityDiagnostics                PRESENCE optional}|
+    { ID id-MME-UE-S1AP-ID-2                CRITICALITY ignore    TYPE MME-UE-S1AP-ID                        PRESENCE optional}|
+    { ID id-CSGMembershipStatus                CRITICALITY ignore    TYPE CSGMembershipStatus                PRESENCE optional}|
+    { ID id-ProSeAuthorized                    CRITICALITY ignore    TYPE ProSeAuthorized                    PRESENCE optional}|
+    { ID id-UEUserPlaneCIoTSupportIndicator    CRITICALITY ignore    TYPE UEUserPlaneCIoTSupportIndicator    PRESENCE optional}|
+    { ID id-V2XServicesAuthorized            CRITICALITY ignore    TYPE V2XServicesAuthorized                PRESENCE optional}|
+    { ID id-UESidelinkAggregateMaximumBitrate        CRITICALITY ignore    TYPE UESidelinkAggregateMaximumBitrate    PRESENCE optional}|
+    { ID id-EnhancedCoverageRestricted        CRITICALITY ignore    TYPE EnhancedCoverageRestricted            PRESENCE optional}|
+    { ID id-NRUESecurityCapabilities                CRITICALITY ignore    TYPE NRUESecurityCapabilities            PRESENCE optional}|
+    { ID id-CE-ModeBRestricted                CRITICALITY ignore    TYPE CE-ModeBRestricted            PRESENCE optional}|
+    { ID id-AerialUEsubscriptionInformation            CRITICALITY ignore    TYPE AerialUEsubscriptionInformation                PRESENCE optional}|
+    { ID id-PendingDataIndication            CRITICALITY ignore    TYPE PendingDataIndication                PRESENCE optional}|
+    { ID id-Subscription-Based-UE-DifferentiationInfo        CRITICALITY ignore    TYPE Subscription-Based-UE-DifferentiationInfo        PRESENCE optional},
+    ...
+}
+
+E-RABToBeSwitchedULList ::= E-RAB-IE-ContainerList { {E-RABToBeSwitchedULItemIEs} }
+
+E-RABToBeSwitchedULItemIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-E-RABToBeSwitchedULItem        CRITICALITY ignore    TYPE E-RABToBeSwitchedULItem        PRESENCE mandatory    },
+    ...
+}
+
+E-RABToBeSwitchedULItem ::= SEQUENCE {
+    e-RAB-ID                            E-RAB-ID,
+    transportLayerAddress                TransportLayerAddress,
+    gTP-TEID                            GTP-TEID,
+    iE-Extensions                        ProtocolExtensionContainer { { E-RABToBeSwitchedULItem-ExtIEs} }    OPTIONAL,
+    ...
+}
+
+E-RABToBeSwitchedULItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+
+-- **************************************************************
+--
+-- Path Switch Request Failure
+--
+-- **************************************************************
+
+PathSwitchRequestFailure ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { PathSwitchRequestFailureIEs} },
+    ...
+}
+
+PathSwitchRequestFailureIEs S1AP-PROTOCOL-IES ::= {    
+    { ID id-MME-UE-S1AP-ID                    CRITICALITY ignore    TYPE MME-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID                    CRITICALITY ignore    TYPE ENB-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-Cause                            CRITICALITY ignore    TYPE Cause                            PRESENCE mandatory    }|
+    { ID id-CriticalityDiagnostics            CRITICALITY ignore    TYPE CriticalityDiagnostics            PRESENCE optional    },
+    ...
+}
+
+-- **************************************************************
+--
+-- HANDOVER CANCEL ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Handover Cancel
+--
+-- **************************************************************
+
+HandoverCancel ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { HandoverCancelIEs} },
+    ...
+}
+
+HandoverCancelIEs S1AP-PROTOCOL-IES ::= {    
+    { ID id-MME-UE-S1AP-ID                    CRITICALITY reject    TYPE MME-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID                    CRITICALITY reject    TYPE ENB-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-Cause                            CRITICALITY ignore    TYPE Cause                            PRESENCE mandatory    },
+    ...
+}
+
+-- **************************************************************
+--
+-- Handover Cancel Request Acknowledge
+--
+-- **************************************************************
+
+HandoverCancelAcknowledge ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { HandoverCancelAcknowledgeIEs} },
+    ...
+}
+
+HandoverCancelAcknowledgeIEs S1AP-PROTOCOL-IES ::= {    
+    { ID id-MME-UE-S1AP-ID                    CRITICALITY ignore    TYPE MME-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID                    CRITICALITY ignore    TYPE ENB-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-CriticalityDiagnostics            CRITICALITY ignore    TYPE CriticalityDiagnostics            PRESENCE optional    },
+    ...
+}
+
+-- **************************************************************
+--
+-- E-RAB SETUP ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- E-RAB Setup Request
+--
+-- **************************************************************
+
+E-RABSetupRequest ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {E-RABSetupRequestIEs} },
+    ...
+}
+
+E-RABSetupRequestIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                    CRITICALITY reject    TYPE MME-UE-S1AP-ID                        PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID                    CRITICALITY reject    TYPE ENB-UE-S1AP-ID                        PRESENCE mandatory    }|
+    { ID id-uEaggregateMaximumBitrate        CRITICALITY reject    TYPE UEAggregateMaximumBitrate            PRESENCE optional    }|
+    { ID id-E-RABToBeSetupListBearerSUReq    CRITICALITY reject    TYPE E-RABToBeSetupListBearerSUReq    PRESENCE mandatory    },
+    ...
+}
+
+E-RABToBeSetupListBearerSUReq ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeSetupItemBearerSUReqIEs} }
+
+E-RABToBeSetupItemBearerSUReqIEs     S1AP-PROTOCOL-IES ::= {
+    { ID id-E-RABToBeSetupItemBearerSUReq     CRITICALITY reject     TYPE E-RABToBeSetupItemBearerSUReq     PRESENCE mandatory },
+    ...
+}
+
+E-RABToBeSetupItemBearerSUReq ::= SEQUENCE {
+    e-RAB-ID                        E-RAB-ID,
+    e-RABlevelQoSParameters            E-RABLevelQoSParameters,
+    transportLayerAddress            TransportLayerAddress,
+    gTP-TEID                        GTP-TEID,
+    nAS-PDU                            NAS-PDU,
+    iE-Extensions                    ProtocolExtensionContainer { {E-RABToBeSetupItemBearerSUReqExtIEs} } OPTIONAL,
+    ...
+}
+
+
+E-RABToBeSetupItemBearerSUReqExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    { ID id-Correlation-ID            CRITICALITY ignore    EXTENSION Correlation-ID        PRESENCE optional}|
+    { ID id-SIPTO-Correlation-ID    CRITICALITY ignore    EXTENSION Correlation-ID        PRESENCE optional}|
+    { ID id-BearerType                CRITICALITY reject    EXTENSION BearerType            PRESENCE optional},
+    ...
+}
+
+
+-- **************************************************************
+--
+-- E-RAB Setup Response
+--
+-- **************************************************************
+
+E-RABSetupResponse ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {E-RABSetupResponseIEs} },
+    ...
+}
+
+E-RABSetupResponseIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                            CRITICALITY ignore    TYPE MME-UE-S1AP-ID                PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID                            CRITICALITY ignore    TYPE ENB-UE-S1AP-ID                PRESENCE mandatory    }|
+    { ID id-E-RABSetupListBearerSURes                CRITICALITY ignore    TYPE E-RABSetupListBearerSURes    PRESENCE optional    }|
+    { ID id-E-RABFailedToSetupListBearerSURes        CRITICALITY ignore    TYPE E-RABList                    PRESENCE optional    }|
+    { ID id-CriticalityDiagnostics                    CRITICALITY ignore    TYPE CriticalityDiagnostics    PRESENCE optional    },
+    ...
+}
+
+
+E-RABSetupListBearerSURes ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { {E-RABSetupItemBearerSUResIEs} }
+
+E-RABSetupItemBearerSUResIEs     S1AP-PROTOCOL-IES ::= {
+    { ID id-E-RABSetupItemBearerSURes     CRITICALITY ignore     TYPE E-RABSetupItemBearerSURes     PRESENCE mandatory },
+    ...
+}
+
+E-RABSetupItemBearerSURes ::= SEQUENCE {
+    e-RAB-ID                    E-RAB-ID,
+    transportLayerAddress        TransportLayerAddress,
+    gTP-TEID                    GTP-TEID,
+    iE-Extensions                ProtocolExtensionContainer { {E-RABSetupItemBearerSUResExtIEs} } OPTIONAL,
+    ...
+}
+
+
+E-RABSetupItemBearerSUResExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+
+
+-- **************************************************************
+--
+-- E-RAB MODIFY ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- E-RAB Modify Request
+--
+-- **************************************************************
+
+E-RABModifyRequest ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {E-RABModifyRequestIEs} },
+    ...
+}
+
+E-RABModifyRequestIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                        CRITICALITY reject    TYPE MME-UE-S1AP-ID                            PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID                        CRITICALITY reject    TYPE ENB-UE-S1AP-ID                            PRESENCE mandatory    }|
+    { ID id-uEaggregateMaximumBitrate            CRITICALITY reject    TYPE UEAggregateMaximumBitrate            PRESENCE optional    }|
+    { ID id-E-RABToBeModifiedListBearerModReq    CRITICALITY reject    TYPE E-RABToBeModifiedListBearerModReq        PRESENCE mandatory    }|
+    { ID id-SecondaryRATDataUsageRequest        CRITICALITY ignore    TYPE SecondaryRATDataUsageRequest        PRESENCE optional    },
+    ...
+}
+
+E-RABToBeModifiedListBearerModReq ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeModifiedItemBearerModReqIEs} }
+
+E-RABToBeModifiedItemBearerModReqIEs     S1AP-PROTOCOL-IES ::= {
+    { ID id-E-RABToBeModifiedItemBearerModReq     CRITICALITY reject     TYPE E-RABToBeModifiedItemBearerModReq     PRESENCE mandatory },
+    ...
+}
+
+E-RABToBeModifiedItemBearerModReq ::= SEQUENCE {
+    e-RAB-ID                        E-RAB-ID,
+    e-RABLevelQoSParameters            E-RABLevelQoSParameters,
+    nAS-PDU                            NAS-PDU,
+    iE-Extensions                    ProtocolExtensionContainer { {E-RABToBeModifyItemBearerModReqExtIEs} } OPTIONAL,
+    ...
+}
+
+
+E-RABToBeModifyItemBearerModReqExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    { ID id-TransportInformation    CRITICALITY reject    EXTENSION TransportInformation        PRESENCE optional},
+    ...
+}
+
+
+
+-- **************************************************************
+--
+-- E-RAB Modify Response
+--
+-- **************************************************************
+
+E-RABModifyResponse ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {E-RABModifyResponseIEs} },
+    ...
+}
+
+E-RABModifyResponseIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                    CRITICALITY ignore    TYPE MME-UE-S1AP-ID                        PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID                    CRITICALITY ignore    TYPE ENB-UE-S1AP-ID                        PRESENCE mandatory    }|
+    { ID id-E-RABModifyListBearerModRes        CRITICALITY ignore    TYPE E-RABModifyListBearerModRes        PRESENCE optional    }|
+    { ID id-E-RABFailedToModifyList            CRITICALITY ignore    TYPE E-RABList                            PRESENCE optional    }|
+    { ID id-CriticalityDiagnostics            CRITICALITY ignore    TYPE CriticalityDiagnostics                PRESENCE optional    }|
+    { ID id-SecondaryRATDataUsageReportList        CRITICALITY ignore    TYPE SecondaryRATDataUsageReportList            PRESENCE optional    },
+    ...
+}
+
+
+E-RABModifyListBearerModRes ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { {E-RABModifyItemBearerModResIEs} }
+
+E-RABModifyItemBearerModResIEs     S1AP-PROTOCOL-IES ::= {
+    { ID id-E-RABModifyItemBearerModRes        CRITICALITY ignore    TYPE E-RABModifyItemBearerModRes        PRESENCE mandatory},
+    ...
+}
+
+E-RABModifyItemBearerModRes ::= SEQUENCE {
+    e-RAB-ID                    E-RAB-ID,
+    iE-Extensions                ProtocolExtensionContainer { {E-RABModifyItemBearerModResExtIEs} } OPTIONAL,
+    ...
+}
+
+
+E-RABModifyItemBearerModResExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+
+
+
+-- **************************************************************
+--
+-- E-RAB RELEASE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- E-RAB Release Command
+--
+-- **************************************************************
+
+E-RABReleaseCommand ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container        { {E-RABReleaseCommandIEs} },
+    ...
+}
+
+E-RABReleaseCommandIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                    CRITICALITY reject    TYPE MME-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID                    CRITICALITY reject    TYPE ENB-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-uEaggregateMaximumBitrate        CRITICALITY reject    TYPE UEAggregateMaximumBitrate        PRESENCE optional    }|
+    { ID id-E-RABToBeReleasedList            CRITICALITY ignore    TYPE E-RABList                        PRESENCE mandatory    }|
+    { ID id-NAS-PDU                            CRITICALITY ignore    TYPE NAS-PDU                        PRESENCE optional    },
+    ...
+}
+
+
+-- **************************************************************
+--
+-- E-RAB Release Response
+--
+-- **************************************************************
+
+E-RABReleaseResponse ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { E-RABReleaseResponseIEs } },
+    ...
+}
+
+E-RABReleaseResponseIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                    CRITICALITY ignore    TYPE MME-UE-S1AP-ID                        PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID                    CRITICALITY ignore    TYPE ENB-UE-S1AP-ID                        PRESENCE mandatory    }|
+    { ID id-E-RABReleaseListBearerRelComp    CRITICALITY ignore    TYPE E-RABReleaseListBearerRelComp    PRESENCE optional    }|
+    { ID id-E-RABFailedToReleaseList        CRITICALITY ignore    TYPE E-RABList                            PRESENCE optional    }|
+    { ID id-CriticalityDiagnostics            CRITICALITY ignore    TYPE CriticalityDiagnostics                PRESENCE optional    }|
+-- Extension for Release 12 to support User Location Information -- 
+    { ID id-UserLocationInformation            CRITICALITY ignore    TYPE UserLocationInformation            PRESENCE optional    }|
+    { ID id-SecondaryRATDataUsageReportList        CRITICALITY ignore    TYPE SecondaryRATDataUsageReportList            PRESENCE optional    },
+    ...
+}
+
+
+E-RABReleaseListBearerRelComp ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { {E-RABReleaseItemBearerRelCompIEs} }
+
+E-RABReleaseItemBearerRelCompIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-E-RABReleaseItemBearerRelComp    CRITICALITY ignore    TYPE E-RABReleaseItemBearerRelComp    PRESENCE mandatory },
+    ...
+}
+
+E-RABReleaseItemBearerRelComp ::= SEQUENCE {
+    e-RAB-ID                        E-RAB-ID,
+    iE-Extensions                    ProtocolExtensionContainer { {E-RABReleaseItemBearerRelCompExtIEs} } OPTIONAL,
+    ...
+}
+
+
+E-RABReleaseItemBearerRelCompExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+
+
+-- **************************************************************
+--
+-- E-RAB RELEASE INDICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- E-RAB Release Indication
+--
+-- **************************************************************
+
+E-RABReleaseIndication ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {E-RABReleaseIndicationIEs} },
+    ...
+}
+
+E-RABReleaseIndicationIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                    CRITICALITY reject    TYPE MME-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID                    CRITICALITY reject    TYPE ENB-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-E-RABReleasedList                CRITICALITY ignore    TYPE E-RABList                        PRESENCE mandatory    }|
+-- Extension for Release 12 to support User Location Information -- 
+    { ID id-UserLocationInformation            CRITICALITY ignore    TYPE UserLocationInformation        PRESENCE optional    }|
+    { ID id-SecondaryRATDataUsageReportList        CRITICALITY ignore    TYPE SecondaryRATDataUsageReportList        PRESENCE optional    },
+    ...
+}
+-- **************************************************************
+--
+-- INITIAL CONTEXT SETUP ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Initial Context Setup Request
+--
+-- **************************************************************
+
+InitialContextSetupRequest ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {InitialContextSetupRequestIEs} },
+    ...
+}
+
+InitialContextSetupRequestIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                    CRITICALITY reject    TYPE MME-UE-S1AP-ID                        PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                    CRITICALITY reject    TYPE ENB-UE-S1AP-ID                        PRESENCE mandatory}|
+    { ID id-uEaggregateMaximumBitrate        CRITICALITY reject    TYPE UEAggregateMaximumBitrate            PRESENCE mandatory}|
+    { ID id-E-RABToBeSetupListCtxtSUReq        CRITICALITY reject    TYPE E-RABToBeSetupListCtxtSUReq        PRESENCE mandatory}|
+    { ID id-UESecurityCapabilities            CRITICALITY reject    TYPE UESecurityCapabilities                PRESENCE mandatory}|
+    { ID id-SecurityKey                        CRITICALITY reject    TYPE SecurityKey                        PRESENCE mandatory}|
+    { ID id-TraceActivation                    CRITICALITY ignore    TYPE TraceActivation                    PRESENCE optional}|
+    { ID id-HandoverRestrictionList            CRITICALITY ignore    TYPE HandoverRestrictionList            PRESENCE optional}|
+    { ID id-UERadioCapability                CRITICALITY ignore    TYPE UERadioCapability                    PRESENCE optional}|
+    { ID id-SubscriberProfileIDforRFP        CRITICALITY ignore    TYPE SubscriberProfileIDforRFP            PRESENCE optional}|
+    { ID id-CSFallbackIndicator                CRITICALITY reject    TYPE CSFallbackIndicator                PRESENCE optional}|
+    { ID id-SRVCCOperationPossible            CRITICALITY ignore    TYPE SRVCCOperationPossible                PRESENCE optional}|
+    { ID id-CSGMembershipStatus                CRITICALITY ignore    TYPE CSGMembershipStatus                PRESENCE optional}|
+    { ID id-RegisteredLAI                    CRITICALITY ignore    TYPE LAI                                PRESENCE optional}|
+    { ID id-GUMMEI-ID                        CRITICALITY ignore    TYPE GUMMEI                                PRESENCE optional}|
+    { ID id-MME-UE-S1AP-ID-2                CRITICALITY ignore    TYPE MME-UE-S1AP-ID                        PRESENCE optional}|
+    { ID id-ManagementBasedMDTAllowed        CRITICALITY ignore    TYPE ManagementBasedMDTAllowed            PRESENCE optional}|
+    { ID id-ManagementBasedMDTPLMNList        CRITICALITY ignore    TYPE MDTPLMNList                        PRESENCE optional}|
+    { ID id-AdditionalCSFallbackIndicator    CRITICALITY ignore    TYPE AdditionalCSFallbackIndicator    PRESENCE conditional}|
+    { ID id-Masked-IMEISV                    CRITICALITY ignore    TYPE Masked-IMEISV                        PRESENCE optional}|
+    { ID id-ExpectedUEBehaviour                CRITICALITY ignore    TYPE ExpectedUEBehaviour                PRESENCE optional}|
+    { ID id-ProSeAuthorized                    CRITICALITY ignore    TYPE ProSeAuthorized                    PRESENCE optional}|
+    { ID id-UEUserPlaneCIoTSupportIndicator    CRITICALITY ignore    TYPE UEUserPlaneCIoTSupportIndicator    PRESENCE optional}|
+    { ID id-V2XServicesAuthorized            CRITICALITY ignore    TYPE V2XServicesAuthorized                PRESENCE optional}|
+    { ID id-UESidelinkAggregateMaximumBitrate        CRITICALITY ignore    TYPE UESidelinkAggregateMaximumBitrate    PRESENCE optional}|
+    { ID id-EnhancedCoverageRestricted        CRITICALITY ignore    TYPE EnhancedCoverageRestricted            PRESENCE optional}|
+    { ID id-NRUESecurityCapabilities                CRITICALITY ignore    TYPE NRUESecurityCapabilities            PRESENCE optional}|
+    { ID id-CE-ModeBRestricted                CRITICALITY ignore    TYPE CE-ModeBRestricted            PRESENCE optional}|
+    { ID id-AerialUEsubscriptionInformation    CRITICALITY ignore    TYPE AerialUEsubscriptionInformation                PRESENCE optional}|
+    { ID id-PendingDataIndication            CRITICALITY ignore    TYPE PendingDataIndication                PRESENCE optional}|
+    { ID id-Subscription-Based-UE-DifferentiationInfo        CRITICALITY ignore    TYPE Subscription-Based-UE-DifferentiationInfo        PRESENCE optional},
+    ...
+}
+
+
+
+
+E-RABToBeSetupListCtxtSUReq ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeSetupItemCtxtSUReqIEs} }
+
+E-RABToBeSetupItemCtxtSUReqIEs     S1AP-PROTOCOL-IES ::= {
+    { ID id-E-RABToBeSetupItemCtxtSUReq    CRITICALITY reject    TYPE E-RABToBeSetupItemCtxtSUReq        PRESENCE mandatory    },
+    ...
+}
+
+E-RABToBeSetupItemCtxtSUReq ::= SEQUENCE {
+    e-RAB-ID                        E-RAB-ID,
+    e-RABlevelQoSParameters            E-RABLevelQoSParameters,
+    transportLayerAddress            TransportLayerAddress,
+    gTP-TEID                        GTP-TEID,
+    nAS-PDU                            NAS-PDU        OPTIONAL,
+    iE-Extensions                    ProtocolExtensionContainer { {E-RABToBeSetupItemCtxtSUReqExtIEs} } OPTIONAL,
+    ...
+}
+
+
+E-RABToBeSetupItemCtxtSUReqExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    { ID id-Correlation-ID                    CRITICALITY ignore    EXTENSION Correlation-ID            PRESENCE optional}|
+    { ID id-SIPTO-Correlation-ID            CRITICALITY ignore    EXTENSION Correlation-ID            PRESENCE optional}|
+    { ID id-BearerType                        CRITICALITY reject    EXTENSION BearerType                PRESENCE optional},
+    ...
+}
+
+
+-- **************************************************************
+--
+-- Initial Context Setup Response
+--
+-- **************************************************************
+
+InitialContextSetupResponse ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {InitialContextSetupResponseIEs} },
+    ...
+}
+
+InitialContextSetupResponseIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                        CRITICALITY ignore    TYPE MME-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID                        CRITICALITY ignore    TYPE ENB-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-E-RABSetupListCtxtSURes                CRITICALITY ignore    TYPE E-RABSetupListCtxtSURes        PRESENCE mandatory    }|
+    { ID id-E-RABFailedToSetupListCtxtSURes        CRITICALITY ignore    TYPE E-RABList                        PRESENCE optional    }|
+    { ID id-CriticalityDiagnostics                CRITICALITY ignore    TYPE CriticalityDiagnostics            PRESENCE optional    },
+    ...
+}
+
+
+E-RABSetupListCtxtSURes ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { {E-RABSetupItemCtxtSUResIEs} }
+
+E-RABSetupItemCtxtSUResIEs     S1AP-PROTOCOL-IES ::= {
+    { ID id-E-RABSetupItemCtxtSURes        CRITICALITY ignore    TYPE E-RABSetupItemCtxtSURes    PRESENCE mandatory    },
+    ...
+}
+
+E-RABSetupItemCtxtSURes ::= SEQUENCE {
+    e-RAB-ID                        E-RAB-ID,
+    transportLayerAddress             TransportLayerAddress,
+    gTP-TEID                        GTP-TEID,
+    iE-Extensions                    ProtocolExtensionContainer { {E-RABSetupItemCtxtSUResExtIEs} } OPTIONAL,
+    ...
+}
+
+
+E-RABSetupItemCtxtSUResExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+
+-- **************************************************************
+--
+-- Initial Context Setup Failure
+--
+-- **************************************************************
+
+InitialContextSetupFailure ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {InitialContextSetupFailureIEs} },
+    ...
+}
+
+InitialContextSetupFailureIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                CRITICALITY ignore    TYPE MME-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID                CRITICALITY ignore    TYPE ENB-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-Cause                        CRITICALITY ignore    TYPE Cause                            PRESENCE mandatory    }|
+    { ID id-CriticalityDiagnostics        CRITICALITY ignore    TYPE CriticalityDiagnostics            PRESENCE optional    },
+    ...
+}
+
+-- **************************************************************
+--
+-- PAGING ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+
+-- **************************************************************
+--
+-- Paging
+--
+-- **************************************************************
+
+Paging ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       {{PagingIEs}},
+    ...
+}
+
+PagingIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-UEIdentityIndexValue            CRITICALITY ignore    TYPE UEIdentityIndexValue                PRESENCE mandatory}|
+    { ID id-UEPagingID                        CRITICALITY ignore    TYPE UEPagingID                            PRESENCE mandatory}|
+    { ID id-pagingDRX                        CRITICALITY ignore    TYPE PagingDRX                            PRESENCE optional}|
+    { ID id-CNDomain                        CRITICALITY ignore    TYPE CNDomain                            PRESENCE mandatory}|
+    { ID id-TAIList                            CRITICALITY ignore    TYPE TAIList                            PRESENCE mandatory}|
+    { ID id-CSG-IdList                        CRITICALITY ignore    TYPE CSG-IdList                            PRESENCE optional}|
+    { ID id-PagingPriority                    CRITICALITY ignore    TYPE PagingPriority                        PRESENCE optional}|
+    { ID id-UERadioCapabilityForPaging        CRITICALITY ignore    TYPE UERadioCapabilityForPaging            PRESENCE optional}|
+-- Extension for Release 13 to support Paging Optimisation and Coverage Enhancement paging –-
+    { ID id-AssistanceDataForPaging            CRITICALITY ignore    TYPE AssistanceDataForPaging            PRESENCE optional}|
+    { ID id-Paging-eDRXInformation            CRITICALITY ignore    TYPE Paging-eDRXInformation                PRESENCE optional}|
+    { ID id-extended-UEIdentityIndexValue    CRITICALITY ignore    TYPE Extended-UEIdentityIndexValue    PRESENCE optional}|
+    { ID id-NB-IoT-Paging-eDRXInformation    CRITICALITY ignore    TYPE NB-IoT-Paging-eDRXInformation    PRESENCE optional}|
+    { ID id-NB-IoT-UEIdentityIndexValue        CRITICALITY ignore    TYPE NB-IoT-UEIdentityIndexValue        PRESENCE optional}|
+    { ID id-EnhancedCoverageRestricted        CRITICALITY ignore    TYPE EnhancedCoverageRestricted            PRESENCE optional}|
+    { ID id-CE-ModeBRestricted                CRITICALITY ignore    TYPE CE-ModeBRestricted            PRESENCE optional},
+    ...
+}
+
+TAIList::= SEQUENCE (SIZE(1.. maxnoofTAIs)) OF ProtocolIE-SingleContainer {{TAIItemIEs}}
+
+TAIItemIEs     S1AP-PROTOCOL-IES ::= {
+    { ID id-TAIItem     CRITICALITY ignore        TYPE TAIItem    PRESENCE mandatory },
+    ...
+}
+
+TAIItem ::= SEQUENCE {
+    tAI                             TAI,
+    iE-Extensions                    ProtocolExtensionContainer { {TAIItemExtIEs} } OPTIONAL,
+    ...
+}
+
+
+TAIItemExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+-- **************************************************************
+--
+-- UE CONTEXT RELEASE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE Context Release Request
+--
+-- **************************************************************
+
+UEContextReleaseRequest ::= SEQUENCE {
+    protocolIEs                     ProtocolIE-Container       {{UEContextReleaseRequest-IEs}},
+    ...
+}
+
+UEContextReleaseRequest-IEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                    CRITICALITY reject    TYPE MME-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID                    CRITICALITY reject    TYPE ENB-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-Cause                            CRITICALITY ignore    TYPE Cause                                PRESENCE mandatory    }|
+    { ID id-GWContextReleaseIndication        CRITICALITY reject    TYPE GWContextReleaseIndication        PRESENCE optional    }|
+    { ID id-SecondaryRATDataUsageReportList    CRITICALITY ignore    TYPE SecondaryRATDataUsageReportList    PRESENCE optional },
+    ...
+}
+
+-- **************************************************************
+--
+-- UE Context Release Command
+--
+-- **************************************************************
+
+UEContextReleaseCommand ::= SEQUENCE {
+    protocolIEs                     ProtocolIE-Container       {{UEContextReleaseCommand-IEs}},
+    ...
+}
+
+UEContextReleaseCommand-IEs S1AP-PROTOCOL-IES ::= {
+    { ID id-UE-S1AP-IDs                    CRITICALITY reject    TYPE UE-S1AP-IDs                    PRESENCE mandatory    }|
+    { ID id-Cause                        CRITICALITY ignore    TYPE Cause                            PRESENCE mandatory    },
+    ...
+}
+
+-- **************************************************************
+--
+-- UE Context Release Complete
+--
+-- **************************************************************
+
+UEContextReleaseComplete ::= SEQUENCE {
+    protocolIEs                     ProtocolIE-Container       {{UEContextReleaseComplete-IEs}},
+    ...
+}
+
+UEContextReleaseComplete-IEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                                CRITICALITY ignore    TYPE MME-UE-S1AP-ID                        PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                                CRITICALITY ignore    TYPE ENB-UE-S1AP-ID                        PRESENCE mandatory}|
+    { ID id-CriticalityDiagnostics                        CRITICALITY ignore    TYPE CriticalityDiagnostics                PRESENCE optional}|
+-- Extension for Release 12 to support User Location Information -- 
+    { ID id-UserLocationInformation                        CRITICALITY ignore    TYPE UserLocationInformation                PRESENCE optional}|
+-- Extension for Release 13 to support Paging Optimisation
+    { ID id-InformationOnRecommendedCellsAndENBsForPaging    CRITICALITY ignore    TYPE InformationOnRecommendedCellsAndENBsForPaging        PRESENCE optional}|
+-- Extension for Release 13 to support coverage enhancement paging –
+    { ID id-CellIdentifierAndCELevelForCECapableUEs        CRITICALITY ignore    TYPE CellIdentifierAndCELevelForCECapableUEs    PRESENCE optional}|
+    { ID id-SecondaryRATDataUsageReportList                CRITICALITY ignore    TYPE SecondaryRATDataUsageReportList        PRESENCE optional }|
+    { ID id-TimeSinceSecondaryNodeRelease                CRITICALITY ignore    TYPE TimeSinceSecondaryNodeRelease                PRESENCE optional },
+    ...
+}
+
+
+-- **************************************************************
+--
+-- UE CONTEXT MODIFICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE Context Modification Request
+--
+-- **************************************************************
+
+UEContextModificationRequest ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { UEContextModificationRequestIEs} },
+    ...
+}
+
+UEContextModificationRequestIEs S1AP-PROTOCOL-IES ::= {    
+    { ID id-MME-UE-S1AP-ID                    CRITICALITY reject    TYPE MME-UE-S1AP-ID                        PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                    CRITICALITY reject    TYPE ENB-UE-S1AP-ID                        PRESENCE mandatory}|
+    { ID id-SecurityKey                        CRITICALITY reject    TYPE SecurityKey                        PRESENCE optional}|
+    { ID id-SubscriberProfileIDforRFP        CRITICALITY ignore    TYPE SubscriberProfileIDforRFP            PRESENCE optional}|
+    { ID id-uEaggregateMaximumBitrate        CRITICALITY ignore    TYPE UEAggregateMaximumBitrate            PRESENCE optional}|
+    { ID id-CSFallbackIndicator                CRITICALITY reject    TYPE CSFallbackIndicator                PRESENCE optional}|
+    { ID id-UESecurityCapabilities            CRITICALITY reject    TYPE UESecurityCapabilities                PRESENCE optional}|
+    { ID id-CSGMembershipStatus                CRITICALITY ignore    TYPE CSGMembershipStatus                PRESENCE optional}|
+    { ID id-RegisteredLAI                    CRITICALITY ignore    TYPE LAI                                PRESENCE optional}|
+    { ID id-AdditionalCSFallbackIndicator    CRITICALITY ignore    TYPE AdditionalCSFallbackIndicator    PRESENCE conditional}|
+    { ID id-ProSeAuthorized                    CRITICALITY ignore    TYPE ProSeAuthorized                    PRESENCE optional}|
+    { ID id-SRVCCOperationPossible            CRITICALITY ignore    TYPE SRVCCOperationPossible                PRESENCE optional}|
+    { ID id-SRVCCOperationNotPossible        CRITICALITY ignore    TYPE SRVCCOperationNotPossible            PRESENCE optional}|
+    { ID id-V2XServicesAuthorized            CRITICALITY ignore    TYPE V2XServicesAuthorized                PRESENCE optional}|
+    { ID id-UESidelinkAggregateMaximumBitrate        CRITICALITY ignore    TYPE UESidelinkAggregateMaximumBitrate    PRESENCE optional}|
+    { ID id-NRUESecurityCapabilities                CRITICALITY ignore    TYPE NRUESecurityCapabilities            PRESENCE optional}|
+    { ID id-AerialUEsubscriptionInformation    CRITICALITY ignore    TYPE AerialUEsubscriptionInformation                PRESENCE optional},
+    ...
+}
+-- **************************************************************
+--
+-- UE Context Modification Response
+--
+-- **************************************************************
+
+UEContextModificationResponse ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { UEContextModificationResponseIEs} },
+    ...
+}
+
+UEContextModificationResponseIEs S1AP-PROTOCOL-IES ::= {    
+    { ID id-MME-UE-S1AP-ID                CRITICALITY ignore    TYPE MME-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID                CRITICALITY ignore    TYPE ENB-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-CriticalityDiagnostics        CRITICALITY ignore    TYPE CriticalityDiagnostics            PRESENCE optional    },
+    ...
+}
+-- **************************************************************
+--
+-- UE Context Modification Failure
+--
+-- **************************************************************
+
+UEContextModificationFailure ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { UEContextModificationFailureIEs} },
+    ...
+}
+
+UEContextModificationFailureIEs S1AP-PROTOCOL-IES ::= {    
+    { ID id-MME-UE-S1AP-ID                CRITICALITY ignore    TYPE MME-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID                CRITICALITY ignore    TYPE ENB-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-Cause                        CRITICALITY ignore    TYPE Cause                            PRESENCE mandatory    }|
+    { ID id-CriticalityDiagnostics        CRITICALITY ignore    TYPE CriticalityDiagnostics            PRESENCE optional    },
+    ...
+}
+
+-- **************************************************************
+--
+-- UE RADIO CAPABILITY MATCH ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE Radio Capability Match Request
+--
+-- **************************************************************
+
+UERadioCapabilityMatchRequest ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { UERadioCapabilityMatchRequestIEs} },
+    ...
+}
+
+UERadioCapabilityMatchRequestIEs S1AP-PROTOCOL-IES ::= {    
+    { ID id-MME-UE-S1AP-ID                CRITICALITY reject    TYPE MME-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID                CRITICALITY reject    TYPE ENB-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-UERadioCapability            CRITICALITY ignore    TYPE UERadioCapability                PRESENCE optional    },
+    ...
+}
+
+-- **************************************************************
+--
+-- UE Radio Capability Match Response
+--
+-- **************************************************************
+
+UERadioCapabilityMatchResponse ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { UERadioCapabilityMatchResponseIEs} },
+    ...
+}
+
+UERadioCapabilityMatchResponseIEs S1AP-PROTOCOL-IES ::= {    
+    { ID id-MME-UE-S1AP-ID                CRITICALITY ignore    TYPE MME-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID                CRITICALITY ignore    TYPE ENB-UE-S1AP-ID                    PRESENCE mandatory    }|
+    { ID id-VoiceSupportMatchIndicator    CRITICALITY reject    TYPE VoiceSupportMatchIndicator        PRESENCE mandatory    }|
+    { ID id-CriticalityDiagnostics        CRITICALITY ignore    TYPE CriticalityDiagnostics            PRESENCE optional    },
+    ...
+}
+
+-- **************************************************************
+--
+-- NAS TRANSPORT ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- DOWNLINK NAS TRANSPORT
+--
+-- **************************************************************
+
+DownlinkNASTransport ::= SEQUENCE {
+    protocolIEs                     ProtocolIE-Container       {{DownlinkNASTransport-IEs}},
+    ...
+}
+
+DownlinkNASTransport-IEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                CRITICALITY reject    TYPE MME-UE-S1AP-ID                    PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                CRITICALITY reject    TYPE ENB-UE-S1AP-ID                    PRESENCE mandatory}|
+    { ID id-NAS-PDU                        CRITICALITY reject    TYPE NAS-PDU                        PRESENCE mandatory}|
+    { ID id-HandoverRestrictionList        CRITICALITY ignore    TYPE HandoverRestrictionList        PRESENCE optional}|
+    { ID id-SubscriberProfileIDforRFP    CRITICALITY ignore    TYPE SubscriberProfileIDforRFP        PRESENCE optional}|
+    { ID id-SRVCCOperationPossible        CRITICALITY ignore    TYPE SRVCCOperationPossible            PRESENCE optional}|
+    { ID id-UERadioCapability            CRITICALITY ignore    TYPE UERadioCapability                PRESENCE optional}|
+    { ID id-DLNASPDUDeliveryAckRequest    CRITICALITY ignore    TYPE DLNASPDUDeliveryAckRequest    PRESENCE optional}|
+    { ID id-EnhancedCoverageRestricted    CRITICALITY ignore    TYPE EnhancedCoverageRestricted        PRESENCE optional}|
+    { ID id-NRUESecurityCapabilities    CRITICALITY ignore    TYPE NRUESecurityCapabilities        PRESENCE optional}|
+    { ID id-CE-ModeBRestricted            CRITICALITY ignore    TYPE CE-ModeBRestricted                PRESENCE optional}|
+    { ID id-UECapabilityInfoRequest        CRITICALITY ignore    TYPE UECapabilityInfoRequest    PRESENCE optional}|
+    { ID id-EndIndication                CRITICALITY ignore    TYPE EndIndication                    PRESENCE optional}|
+    { ID id-PendingDataIndication        CRITICALITY ignore    TYPE PendingDataIndication            PRESENCE optional}|
+    { ID id-Subscription-Based-UE-DifferentiationInfo        CRITICALITY ignore    TYPE Subscription-Based-UE-DifferentiationInfo        PRESENCE optional},
+    ...
+}
+
+
+-- **************************************************************
+--
+-- INITIAL UE MESSAGE
+--
+-- **************************************************************
+
+InitialUEMessage ::= SEQUENCE {
+    protocolIEs                     ProtocolIE-Container       {{InitialUEMessage-IEs}},
+    ...
+}
+
+InitialUEMessage-IEs S1AP-PROTOCOL-IES ::= {
+    { ID id-eNB-UE-S1AP-ID                CRITICALITY reject    TYPE ENB-UE-S1AP-ID                    PRESENCE mandatory}|
+    { ID id-NAS-PDU                        CRITICALITY reject    TYPE NAS-PDU                        PRESENCE mandatory}|
+    { ID id-TAI                            CRITICALITY reject    TYPE TAI                            PRESENCE mandatory}|
+    { ID id-EUTRAN-CGI                    CRITICALITY ignore    TYPE EUTRAN-CGI                        PRESENCE mandatory}|
+    { ID id-RRC-Establishment-Cause        CRITICALITY ignore    TYPE RRC-Establishment-Cause        PRESENCE mandatory}|
+    { ID id-S-TMSI                        CRITICALITY reject    TYPE S-TMSI                            PRESENCE optional}|
+    { ID id-CSG-Id                        CRITICALITY reject    TYPE CSG-Id                            PRESENCE optional}|
+    { ID id-GUMMEI-ID                    CRITICALITY reject    TYPE GUMMEI                            PRESENCE optional}|
+    { ID id-CellAccessMode                CRITICALITY reject    TYPE CellAccessMode                    PRESENCE optional}|
+    { ID id-GW-TransportLayerAddress    CRITICALITY ignore    TYPE TransportLayerAddress            PRESENCE optional}|
+    { ID id-RelayNode-Indicator            CRITICALITY reject    TYPE RelayNode-Indicator            PRESENCE optional}|
+    { ID id-GUMMEIType                    CRITICALITY ignore    TYPE GUMMEIType                        PRESENCE optional}|
+-- Extension for Release 11 to support BBAI -- 
+    { ID id-Tunnel-Information-for-BBF    CRITICALITY ignore    TYPE TunnelInformation                PRESENCE optional}|
+    { ID id-SIPTO-L-GW-TransportLayerAddress    CRITICALITY ignore    TYPE TransportLayerAddress    PRESENCE optional}|
+    { ID id-LHN-ID                        CRITICALITY ignore    TYPE LHN-ID                            PRESENCE optional}|
+    { ID id-MME-Group-ID                CRITICALITY ignore    TYPE MME-Group-ID                    PRESENCE optional}|
+    { ID id-UE-Usage-Type                CRITICALITY ignore    TYPE UE-Usage-Type                    PRESENCE optional}|
+    { ID id-CE-mode-B-SupportIndicator    CRITICALITY ignore    TYPE CE-mode-B-SupportIndicator        PRESENCE optional}|
+    { ID id-DCN-ID                        CRITICALITY ignore    TYPE DCN-ID                            PRESENCE optional}|
+    { ID id-Coverage-Level               CRITICALITY ignore    TYPE Coverage-Level                PRESENCE optional}|
+    { ID id-UE-Application-Layer-Measurement-Capability        CRITICALITY ignore    TYPE UE-Application-Layer-Measurement-Capability                            PRESENCE optional}|
+    { ID id-EDT-Session                       CRITICALITY ignore    TYPE EDT-Session                    PRESENCE optional},
+
+    ...
+}
+
+
+-- **************************************************************
+--
+-- UPLINK NAS TRANSPORT
+--
+-- **************************************************************
+
+UplinkNASTransport ::= SEQUENCE {
+    protocolIEs                     ProtocolIE-Container       {{UplinkNASTransport-IEs}},
+    ...
+}
+
+UplinkNASTransport-IEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                CRITICALITY reject    TYPE MME-UE-S1AP-ID                    PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                CRITICALITY reject    TYPE ENB-UE-S1AP-ID                    PRESENCE mandatory}|
+    { ID id-NAS-PDU                        CRITICALITY reject    TYPE NAS-PDU                        PRESENCE mandatory}|
+    { ID id-EUTRAN-CGI                    CRITICALITY ignore    TYPE EUTRAN-CGI                        PRESENCE mandatory}|
+    { ID id-TAI                            CRITICALITY ignore    TYPE TAI                            PRESENCE mandatory}|
+    { ID id-GW-TransportLayerAddress    CRITICALITY ignore    TYPE TransportLayerAddress            PRESENCE optional}|
+    { ID id-SIPTO-L-GW-TransportLayerAddress    CRITICALITY ignore    TYPE TransportLayerAddress    PRESENCE optional}|
+    { ID id-LHN-ID                        CRITICALITY ignore    TYPE LHN-ID                            PRESENCE optional}|
+    { ID id-PSCellInformation            CRITICALITY ignore    TYPE PSCellInformation                PRESENCE optional },
+    ...
+}
+-- **************************************************************
+--
+-- NAS NON DELIVERY INDICATION
+--
+-- **************************************************************
+
+NASNonDeliveryIndication ::= SEQUENCE {
+    protocolIEs                     ProtocolIE-Container       {{NASNonDeliveryIndication-IEs}},
+    ...
+}
+
+NASNonDeliveryIndication-IEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                CRITICALITY reject    TYPE MME-UE-S1AP-ID                PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID                CRITICALITY reject    TYPE ENB-UE-S1AP-ID                PRESENCE mandatory    }|
+    { ID id-NAS-PDU                        CRITICALITY ignore    TYPE NAS-PDU                    PRESENCE mandatory    }|
+    { ID id-Cause                        CRITICALITY ignore    TYPE Cause                        PRESENCE mandatory    },
+    ...
+}
+
+-- **************************************************************
+--
+-- REROUTE NAS REQUEST
+--
+-- **************************************************************
+
+RerouteNASRequest ::= SEQUENCE {
+    protocolIEs                     ProtocolIE-Container       {{RerouteNASRequest-IEs}},
+    ...
+}
+
+RerouteNASRequest-IEs S1AP-PROTOCOL-IES ::= {
+    { ID id-eNB-UE-S1AP-ID            CRITICALITY reject    TYPE ENB-UE-S1AP-ID            PRESENCE mandatory}|
+    { ID id-MME-UE-S1AP-ID            CRITICALITY ignore    TYPE MME-UE-S1AP-ID            PRESENCE optional}|
+    { ID id-S1-Message                CRITICALITY reject    TYPE OCTET STRING            PRESENCE mandatory}|
+    { ID id-MME-Group-ID            CRITICALITY reject    TYPE MME-Group-ID            PRESENCE mandatory}|
+    { ID id-Additional-GUTI            CRITICALITY ignore    TYPE Additional-GUTI        PRESENCE optional}|
+    { ID id-UE-Usage-Type            CRITICALITY ignore    TYPE UE-Usage-Type            PRESENCE optional},
+    ...
+}
+
+
+-- **************************************************************
+--
+-- NAS DELIVERY INDICATION
+--
+-- **************************************************************
+
+NASDeliveryIndication ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container { { NASDeliveryIndicationIEs} },
+    ...
+}
+
+NASDeliveryIndicationIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                            CRITICALITY reject    TYPE MME-UE-S1AP-ID                        PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                            CRITICALITY reject    TYPE ENB-UE-S1AP-ID                        PRESENCE mandatory},
+    ...
+}
+
+-- **************************************************************
+--
+-- RESET ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Reset
+--
+-- **************************************************************
+
+Reset ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {ResetIEs} },
+    ...
+}
+
+ResetIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-Cause                        CRITICALITY ignore    TYPE Cause                        PRESENCE mandatory    }|
+    { ID id-ResetType                    CRITICALITY reject    TYPE ResetType                    PRESENCE mandatory    },
+    ...
+}
+
+ResetType ::= CHOICE {
+    s1-Interface                    ResetAll,
+    partOfS1-Interface                UE-associatedLogicalS1-ConnectionListRes,
+    ...
+}
+
+
+
+ResetAll ::= ENUMERATED {
+    reset-all,
+    ...
+}
+
+UE-associatedLogicalS1-ConnectionListRes ::= SEQUENCE (SIZE(1.. maxnoofIndividualS1ConnectionsToReset)) OF ProtocolIE-SingleContainer { { UE-associatedLogicalS1-ConnectionItemRes } }
+
+UE-associatedLogicalS1-ConnectionItemRes S1AP-PROTOCOL-IES ::= {
+    { ID id-UE-associatedLogicalS1-ConnectionItem    CRITICALITY reject    TYPE UE-associatedLogicalS1-ConnectionItem    PRESENCE mandatory},
+    ...
+}
+
+
+-- **************************************************************
+--
+-- Reset Acknowledge
+--
+-- **************************************************************
+
+ResetAcknowledge ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {ResetAcknowledgeIEs} },
+    ...
+}
+
+ResetAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-UE-associatedLogicalS1-ConnectionListResAck        CRITICALITY ignore    TYPE UE-associatedLogicalS1-ConnectionListResAck            PRESENCE optional    }|
+    { ID id-CriticalityDiagnostics        CRITICALITY ignore    TYPE CriticalityDiagnostics            PRESENCE optional    },
+    ...
+}
+
+UE-associatedLogicalS1-ConnectionListResAck ::= SEQUENCE (SIZE(1.. maxnoofIndividualS1ConnectionsToReset)) OF ProtocolIE-SingleContainer { { UE-associatedLogicalS1-ConnectionItemResAck } }
+
+UE-associatedLogicalS1-ConnectionItemResAck     S1AP-PROTOCOL-IES ::= {
+    { ID id-UE-associatedLogicalS1-ConnectionItem     CRITICALITY ignore     TYPE UE-associatedLogicalS1-ConnectionItem      PRESENCE mandatory },
+    ...
+}
+
+-- **************************************************************
+--
+-- ERROR INDICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Error Indication
+--
+-- **************************************************************
+
+ErrorIndication ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       {{ErrorIndicationIEs}},
+    ...
+}
+
+ErrorIndicationIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                CRITICALITY ignore    TYPE MME-UE-S1AP-ID                PRESENCE optional    }|
+    { ID id-eNB-UE-S1AP-ID                CRITICALITY ignore    TYPE ENB-UE-S1AP-ID                PRESENCE optional    }|
+    { ID id-Cause                        CRITICALITY ignore    TYPE Cause                        PRESENCE optional    }|
+    { ID id-CriticalityDiagnostics        CRITICALITY ignore    TYPE CriticalityDiagnostics        PRESENCE optional    },
+    ...
+}
+
+-- **************************************************************
+--
+-- S1 SETUP ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- S1 Setup Request
+--
+-- **************************************************************
+
+S1SetupRequest ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {S1SetupRequestIEs} },
+    ...
+}
+
+S1SetupRequestIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-Global-ENB-ID                CRITICALITY reject    TYPE Global-ENB-ID                PRESENCE mandatory}|
+    { ID id-eNBname                        CRITICALITY ignore    TYPE ENBname                    PRESENCE optional}|
+    { ID id-SupportedTAs                CRITICALITY reject    TYPE SupportedTAs                PRESENCE mandatory}|
+    { ID id-DefaultPagingDRX            CRITICALITY ignore    TYPE PagingDRX                    PRESENCE mandatory}|
+    { ID id-CSG-IdList                    CRITICALITY reject    TYPE CSG-IdList                    PRESENCE optional}|
+    { ID id-UE-RetentionInformation        CRITICALITY ignore    TYPE UE-RetentionInformation    PRESENCE optional}|
+    { ID id-NB-IoT-DefaultPagingDRX        CRITICALITY ignore    TYPE NB-IoT-DefaultPagingDRX    PRESENCE optional}|
+    { ID id-ConnectedengNBList            CRITICALITY ignore    TYPE ConnectedengNBList            PRESENCE optional},
+    ...
+}
+
+-- **************************************************************
+--
+-- S1 Setup Response
+--
+-- **************************************************************
+
+S1SetupResponse ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {S1SetupResponseIEs} },
+    ...
+}
+
+
+S1SetupResponseIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MMEname                        CRITICALITY ignore    TYPE MMEname                    PRESENCE optional}|
+    { ID id-ServedGUMMEIs                CRITICALITY reject    TYPE ServedGUMMEIs                PRESENCE mandatory}|
+    { ID id-RelativeMMECapacity            CRITICALITY ignore    TYPE RelativeMMECapacity        PRESENCE mandatory}|
+    { ID id-MMERelaySupportIndicator    CRITICALITY ignore    TYPE MMERelaySupportIndicator    PRESENCE optional}|
+    { ID id-CriticalityDiagnostics        CRITICALITY ignore    TYPE CriticalityDiagnostics        PRESENCE optional}|
+    { ID id-UE-RetentionInformation        CRITICALITY ignore    TYPE UE-RetentionInformation    PRESENCE optional}|
+    { ID id-ServedDCNs                    CRITICALITY ignore    TYPE ServedDCNs                    PRESENCE optional},
+    ...
+}
+
+-- **************************************************************
+--
+-- S1 Setup Failure
+--
+-- **************************************************************
+
+S1SetupFailure ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {S1SetupFailureIEs} },
+    ...
+}
+
+S1SetupFailureIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-Cause                        CRITICALITY ignore    TYPE Cause                        PRESENCE mandatory    }|
+    { ID id-TimeToWait                    CRITICALITY ignore    TYPE TimeToWait                    PRESENCE optional    }|
+    { ID id-CriticalityDiagnostics        CRITICALITY ignore    TYPE CriticalityDiagnostics        PRESENCE optional    },
+    ...
+}
+
+-- **************************************************************
+--
+-- ENB CONFIGURATION UPDATE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- eNB Configuration Update 
+--
+-- **************************************************************
+
+ENBConfigurationUpdate ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {ENBConfigurationUpdateIEs} },
+    ...
+}
+
+ENBConfigurationUpdateIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-eNBname                        CRITICALITY ignore    TYPE ENBname                    PRESENCE optional}|
+    { ID id-SupportedTAs                CRITICALITY reject    TYPE SupportedTAs                PRESENCE optional}|
+    { ID id-CSG-IdList                    CRITICALITY reject    TYPE CSG-IdList                    PRESENCE optional}|
+    { ID id-DefaultPagingDRX            CRITICALITY ignore    TYPE PagingDRX                    PRESENCE optional}|
+    { ID id-NB-IoT-DefaultPagingDRX        CRITICALITY ignore    TYPE NB-IoT-DefaultPagingDRX    PRESENCE optional}|
+    { ID id-ConnectedengNBToAddList        CRITICALITY ignore    TYPE ConnectedengNBList            PRESENCE optional}|
+    { ID id-ConnectedengNBToRemoveList    CRITICALITY ignore    TYPE ConnectedengNBList            PRESENCE optional},
+    ...
+}
+
+-- **************************************************************
+--
+-- eNB Configuration Update Acknowledge
+--
+-- **************************************************************
+
+ENBConfigurationUpdateAcknowledge ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {ENBConfigurationUpdateAcknowledgeIEs} },
+    ...
+}
+
+
+ENBConfigurationUpdateAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-CriticalityDiagnostics        CRITICALITY ignore    TYPE CriticalityDiagnostics    PRESENCE optional    },
+    ...
+}
+
+-- **************************************************************
+--
+-- eNB Configuration Update Failure
+--
+-- **************************************************************
+
+ENBConfigurationUpdateFailure ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {ENBConfigurationUpdateFailureIEs} },
+    ...
+}
+
+ENBConfigurationUpdateFailureIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-Cause                        CRITICALITY ignore    TYPE Cause                        PRESENCE mandatory    }|
+    { ID id-TimeToWait                    CRITICALITY ignore    TYPE TimeToWait                    PRESENCE optional    }|
+    { ID id-CriticalityDiagnostics        CRITICALITY ignore    TYPE CriticalityDiagnostics        PRESENCE optional    },
+...
+}
+
+
+-- **************************************************************
+--
+-- MME CONFIGURATION UPDATE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MME Configuration Update 
+--
+-- **************************************************************
+
+MMEConfigurationUpdate ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {MMEConfigurationUpdateIEs} },
+    ...
+}
+
+MMEConfigurationUpdateIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MMEname                    CRITICALITY ignore    TYPE MMEname                PRESENCE optional    }|
+    { ID id-ServedGUMMEIs            CRITICALITY reject    TYPE ServedGUMMEIs            PRESENCE optional    }|
+    { ID id-RelativeMMECapacity        CRITICALITY reject    TYPE RelativeMMECapacity    PRESENCE optional    }|
+    { ID id-ServedDCNs                CRITICALITY ignore    TYPE ServedDCNs                PRESENCE optional},
+    ...
+}
+
+-- **************************************************************
+--
+-- MME Configuration Update Acknowledge
+--
+-- **************************************************************
+
+MMEConfigurationUpdateAcknowledge ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {MMEConfigurationUpdateAcknowledgeIEs} },
+    ...
+}
+
+
+MMEConfigurationUpdateAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-CriticalityDiagnostics        CRITICALITY ignore    TYPE CriticalityDiagnostics            PRESENCE optional    },
+    ...
+}
+
+-- **************************************************************
+--
+-- MME Configuration Update Failure
+--
+-- **************************************************************
+
+MMEConfigurationUpdateFailure ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {MMEConfigurationUpdateFailureIEs} },
+    ...
+}
+
+MMEConfigurationUpdateFailureIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-Cause                        CRITICALITY ignore    TYPE Cause                        PRESENCE mandatory    }|
+    { ID id-TimeToWait                    CRITICALITY ignore    TYPE TimeToWait                    PRESENCE optional    }|
+    { ID id-CriticalityDiagnostics        CRITICALITY ignore    TYPE CriticalityDiagnostics        PRESENCE optional    },
+    ...
+}
+
+-- **************************************************************
+--
+-- DOWNLINK S1 CDMA2000 TUNNELLING ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Downlink S1 CDMA2000 Tunnelling
+--
+-- **************************************************************
+
+DownlinkS1cdma2000tunnelling ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {DownlinkS1cdma2000tunnellingIEs} },
+    ...
+}
+
+DownlinkS1cdma2000tunnellingIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                        CRITICALITY reject    TYPE MME-UE-S1AP-ID                        PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID                        CRITICALITY reject    TYPE ENB-UE-S1AP-ID                        PRESENCE mandatory    }|
+    { ID id-E-RABSubjecttoDataForwardingList    CRITICALITY ignore    TYPE E-RABSubjecttoDataForwardingList    PRESENCE optional    }|
+    { ID id-cdma2000HOStatus                    CRITICALITY ignore    TYPE Cdma2000HOStatus                    PRESENCE optional    }|
+    { ID id-cdma2000RATType                        CRITICALITY reject    TYPE Cdma2000RATType                    PRESENCE mandatory    }|
+    { ID id-cdma2000PDU                            CRITICALITY reject    TYPE Cdma2000PDU                        PRESENCE mandatory    },
+    ...
+}
+
+-- **************************************************************
+--
+-- UPLINK S1 CDMA2000 TUNNELLING ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Uplink S1 CDMA2000 Tunnelling
+--
+-- **************************************************************
+
+UplinkS1cdma2000tunnelling ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {UplinkS1cdma2000tunnellingIEs} },
+    ...
+}
+
+UplinkS1cdma2000tunnellingIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                            CRITICALITY reject    TYPE MME-UE-S1AP-ID                        PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID                            CRITICALITY reject    TYPE ENB-UE-S1AP-ID                        PRESENCE mandatory    }|
+    { ID id-cdma2000RATType                            CRITICALITY reject    TYPE Cdma2000RATType                    PRESENCE mandatory    }|
+    { ID id-cdma2000SectorID                        CRITICALITY reject    TYPE Cdma2000SectorID                    PRESENCE mandatory    }|
+    { ID id-cdma2000HORequiredIndication            CRITICALITY ignore    TYPE Cdma2000HORequiredIndication        PRESENCE optional    }|
+    { ID id-cdma2000OneXSRVCCInfo                    CRITICALITY reject    TYPE Cdma2000OneXSRVCCInfo            PRESENCE optional    }|
+    { ID id-cdma2000OneXRAND                        CRITICALITY reject    TYPE Cdma2000OneXRAND                    PRESENCE optional    }|
+    { ID id-cdma2000PDU                                CRITICALITY reject    TYPE Cdma2000PDU                        PRESENCE mandatory    }|
+    { ID id-EUTRANRoundTripDelayEstimationInfo        CRITICALITY ignore    TYPE EUTRANRoundTripDelayEstimationInfo        PRESENCE optional    },
+    -- Extension for Release 9 to assist target HRPD access with the acquisition of the UE --
+    ...
+}
+
+
+-- **************************************************************
+--
+-- UE CAPABILITY INFO INDICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE Capability Info Indication
+--
+-- **************************************************************
+
+UECapabilityInfoIndication ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { UECapabilityInfoIndicationIEs} },
+    ...
+}
+
+UECapabilityInfoIndicationIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                CRITICALITY reject    TYPE MME-UE-S1AP-ID                    PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                CRITICALITY reject    TYPE ENB-UE-S1AP-ID                    PRESENCE mandatory}|
+    { ID id-UERadioCapability            CRITICALITY ignore    TYPE UERadioCapability                PRESENCE mandatory}|
+    { ID id-UERadioCapabilityForPaging    CRITICALITY ignore    TYPE UERadioCapabilityForPaging        PRESENCE optional}|
+    { ID id-UE-Application-Layer-Measurement-Capability        CRITICALITY ignore    TYPE UE-Application-Layer-Measurement-Capability                            PRESENCE optional}|
+    { ID id-LTE-M-Indication                CRITICALITY ignore    TYPE LTE-M-Indication                PRESENCE optional},
+    ...
+}
+
+-- **************************************************************
+--
+-- eNB STATUS TRANSFER ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- eNB Status Transfer
+--
+-- **************************************************************
+
+ENBStatusTransfer ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {ENBStatusTransferIEs} },
+    ...
+}
+
+ENBStatusTransferIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                                CRITICALITY reject    TYPE MME-UE-S1AP-ID        PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                                CRITICALITY reject    TYPE ENB-UE-S1AP-ID        PRESENCE mandatory}|
+    { ID id-eNB-StatusTransfer-TransparentContainer        CRITICALITY reject    TYPE ENB-StatusTransfer-TransparentContainer    PRESENCE mandatory},
+    ...
+}
+
+
+-- **************************************************************
+--
+-- MME STATUS TRANSFER ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MME Status Transfer
+--
+-- **************************************************************
+
+MMEStatusTransfer ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {MMEStatusTransferIEs} },
+    ...
+}
+
+MMEStatusTransferIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                                CRITICALITY reject    TYPE MME-UE-S1AP-ID            PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                                CRITICALITY reject    TYPE ENB-UE-S1AP-ID            PRESENCE mandatory}|
+    { ID id-eNB-StatusTransfer-TransparentContainer        CRITICALITY reject    TYPE ENB-StatusTransfer-TransparentContainer        PRESENCE mandatory},
+    ...
+}
+
+
+-- **************************************************************
+--
+-- TRACE ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+-- **************************************************************
+--
+-- Trace Start
+--
+-- **************************************************************
+
+TraceStart ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {TraceStartIEs} },
+    ...
+}
+
+TraceStartIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                CRITICALITY reject    TYPE MME-UE-S1AP-ID                PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID                CRITICALITY reject    TYPE ENB-UE-S1AP-ID                PRESENCE mandatory    }|
+    { ID id-TraceActivation                CRITICALITY ignore    TYPE TraceActivation            PRESENCE mandatory    },
+    ...
+}
+
+-- **************************************************************
+--
+-- Trace Failure Indication
+--
+-- **************************************************************
+
+TraceFailureIndication ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {TraceFailureIndicationIEs} },
+    ...
+}
+
+TraceFailureIndicationIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                CRITICALITY reject    TYPE MME-UE-S1AP-ID                PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID                CRITICALITY reject    TYPE ENB-UE-S1AP-ID                PRESENCE mandatory    }|
+    { ID id-E-UTRAN-Trace-ID            CRITICALITY ignore    TYPE E-UTRAN-Trace-ID            PRESENCE mandatory    }|
+    { ID id-Cause                        CRITICALITY ignore    TYPE Cause                        PRESENCE mandatory    },
+    ...
+}
+
+-- **************************************************************
+--
+-- DEACTIVATE TRACE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Deactivate Trace
+--
+-- **************************************************************
+
+DeactivateTrace ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { DeactivateTraceIEs} },
+    ...
+}
+
+DeactivateTraceIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID        CRITICALITY reject    TYPE MME-UE-S1AP-ID        PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID        CRITICALITY reject    TYPE ENB-UE-S1AP-ID        PRESENCE mandatory    }|
+    { ID id-E-UTRAN-Trace-ID    CRITICALITY ignore    TYPE E-UTRAN-Trace-ID    PRESENCE mandatory    },
+    ...
+}
+
+-- **************************************************************
+--
+-- CELL TRAFFIC TRACE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Cell Traffic Trace
+--
+-- **************************************************************
+
+CellTrafficTrace ::= SEQUENCE {
+protocolIEs        ProtocolIE-Container    { { CellTrafficTraceIEs } },
+...
+}
+
+CellTrafficTraceIEs S1AP-PROTOCOL-IES ::= {
+    {ID id-MME-UE-S1AP-ID                    CRITICALITY reject    TYPE MME-UE-S1AP-ID                PRESENCE mandatory    }|
+    {ID id-eNB-UE-S1AP-ID                    CRITICALITY reject    TYPE ENB-UE-S1AP-ID                PRESENCE mandatory    }|
+    {ID id-E-UTRAN-Trace-ID                    CRITICALITY ignore    TYPE E-UTRAN-Trace-ID            PRESENCE mandatory    }|
+    {ID id-EUTRAN-CGI                        CRITICALITY ignore    TYPE EUTRAN-CGI                    PRESENCE mandatory    }|
+    {ID id-TraceCollectionEntityIPAddress    CRITICALITY ignore    TYPE TransportLayerAddress        PRESENCE mandatory    }|
+    {ID id-PrivacyIndicator                    CRITICALITY ignore    TYPE PrivacyIndicator            PRESENCE optional    },
+    ...
+}
+
+-- **************************************************************
+--
+-- LOCATION ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Location Reporting Control
+--
+-- **************************************************************
+
+LocationReportingControl ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { LocationReportingControlIEs} },
+    ...
+}
+
+LocationReportingControlIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID            CRITICALITY reject    TYPE MME-UE-S1AP-ID                PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID            CRITICALITY reject    TYPE ENB-UE-S1AP-ID                PRESENCE mandatory    }|
+    { ID id-RequestType                CRITICALITY ignore    TYPE RequestType                PRESENCE mandatory    },
+    ...
+}
+
+-- **************************************************************
+--
+-- Location Report Failure Indication
+--
+-- **************************************************************
+
+LocationReportingFailureIndication ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { LocationReportingFailureIndicationIEs} },
+    ...
+}
+
+LocationReportingFailureIndicationIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID            CRITICALITY reject    TYPE MME-UE-S1AP-ID                PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID            CRITICALITY reject    TYPE ENB-UE-S1AP-ID                PRESENCE mandatory    }|
+    { ID id-Cause                    CRITICALITY ignore    TYPE Cause                        PRESENCE mandatory    },
+    ...
+}
+
+-- **************************************************************
+--
+-- Location Report 
+--
+-- **************************************************************
+
+LocationReport ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { LocationReportIEs} },
+    ...
+}
+
+LocationReportIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID            CRITICALITY reject    TYPE MME-UE-S1AP-ID                PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID            CRITICALITY reject    TYPE ENB-UE-S1AP-ID                PRESENCE mandatory    }|
+    { ID id-EUTRAN-CGI                CRITICALITY ignore    TYPE EUTRAN-CGI                    PRESENCE mandatory    }|
+    { ID id-TAI                        CRITICALITY ignore    TYPE TAI                        PRESENCE mandatory    }|
+    { ID id-RequestType                CRITICALITY ignore    TYPE RequestType                PRESENCE mandatory    }|
+    { ID id-PSCellInformation        CRITICALITY ignore    TYPE PSCellInformation            PRESENCE optional },
+    ...
+}
+
+-- **************************************************************
+--
+-- OVERLOAD ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Overload Start
+--
+-- **************************************************************
+
+OverloadStart ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {OverloadStartIEs} },
+    ...
+}
+
+OverloadStartIEs S1AP-PROTOCOL-IES ::= {    
+    { ID id-OverloadResponse                    CRITICALITY reject    TYPE OverloadResponse                PRESENCE mandatory    }|
+    { ID id-GUMMEIList                            CRITICALITY ignore    TYPE GUMMEIList                        PRESENCE optional    }|
+    { ID id-TrafficLoadReductionIndication        CRITICALITY ignore    TYPE TrafficLoadReductionIndication    PRESENCE optional    },
+    ...
+}
+-- **************************************************************
+--
+-- Overload Stop
+--
+-- **************************************************************
+
+OverloadStop ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {OverloadStopIEs} },
+    ...
+}
+
+OverloadStopIEs S1AP-PROTOCOL-IES ::= {    
+{ ID id-GUMMEIList                                CRITICALITY ignore    TYPE GUMMEIList                        PRESENCE optional    },
+    ...
+}
+-- **************************************************************
+--
+-- WRITE-REPLACE WARNING ELEMENTARY PROCEDURE 
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Write-Replace Warning Request
+--
+-- **************************************************************
+
+
+WriteReplaceWarningRequest ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {WriteReplaceWarningRequestIEs} },
+    ...
+}
+
+WriteReplaceWarningRequestIEs S1AP-PROTOCOL-IES ::= {    
+    { ID id-MessageIdentifier                    CRITICALITY reject    TYPE MessageIdentifier                    PRESENCE mandatory    }|
+    { ID id-SerialNumber                        CRITICALITY reject    TYPE SerialNumber                        PRESENCE mandatory    }|
+    { ID id-WarningAreaList                        CRITICALITY ignore    TYPE WarningAreaList                    PRESENCE optional    }|
+    { ID id-RepetitionPeriod                    CRITICALITY reject    TYPE RepetitionPeriod                    PRESENCE mandatory    }|
+    { ID id-ExtendedRepetitionPeriod            CRITICALITY reject    TYPE ExtendedRepetitionPeriod            PRESENCE optional    }|
+    { ID id-NumberofBroadcastRequest            CRITICALITY reject    TYPE NumberofBroadcastRequest            PRESENCE mandatory    }|
+    { ID id-WarningType                            CRITICALITY ignore    TYPE WarningType                        PRESENCE optional    }|
+    { ID id-WarningSecurityInfo                    CRITICALITY ignore    TYPE WarningSecurityInfo                PRESENCE optional    }|
+    { ID id-DataCodingScheme                    CRITICALITY ignore    TYPE DataCodingScheme                    PRESENCE optional    }|
+    { ID id-WarningMessageContents                CRITICALITY ignore    TYPE WarningMessageContents                PRESENCE optional    }|
+    { ID id-ConcurrentWarningMessageIndicator    CRITICALITY reject    TYPE ConcurrentWarningMessageIndicator    PRESENCE optional    }|
+    { ID id-WarningAreaCoordinates                CRITICALITY ignore    TYPE WarningAreaCoordinates                PRESENCE optional    },
+    ...
+}
+-- **************************************************************
+--
+-- Write-Replace Warning Response
+--
+-- **************************************************************
+
+WriteReplaceWarningResponse ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container        { {WriteReplaceWarningResponseIEs} },
+    ...
+}
+
+WriteReplaceWarningResponseIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MessageIdentifier                CRITICALITY reject    TYPE MessageIdentifier                    PRESENCE mandatory    }|
+    { ID id-SerialNumber                    CRITICALITY reject    TYPE SerialNumber                        PRESENCE mandatory    }|
+    { ID id-BroadcastCompletedAreaList        CRITICALITY ignore    TYPE BroadcastCompletedAreaList            PRESENCE optional    }|
+    { ID id-CriticalityDiagnostics            CRITICALITY ignore    TYPE CriticalityDiagnostics                PRESENCE optional    },
+    ...
+}
+
+-- **************************************************************
+--
+-- eNB DIRECT INFORMATION TRANSFER ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- eNB Direct Information Transfer
+--
+-- **************************************************************
+
+ENBDirectInformationTransfer ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       {{ ENBDirectInformationTransferIEs}},
+    ...
+}
+
+ENBDirectInformationTransferIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-Inter-SystemInformationTransferTypeEDT    CRITICALITY reject    TYPE Inter-SystemInformationTransferType        PRESENCE mandatory    },
+    ...
+}
+
+Inter-SystemInformationTransferType ::= CHOICE {
+    rIMTransfer        RIMTransfer,
+    ...
+}
+
+-- **************************************************************
+--
+-- MME DIRECT INFORMATION TRANSFER ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MME Direct Information Transfer
+--
+-- **************************************************************
+
+MMEDirectInformationTransfer ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       {{ MMEDirectInformationTransferIEs}},
+    ...
+}
+
+MMEDirectInformationTransferIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-Inter-SystemInformationTransferTypeMDT    CRITICALITY reject    TYPE Inter-SystemInformationTransferType    PRESENCE mandatory    },
+    ...
+}
+-- **************************************************************
+--
+-- eNB CONFIGURATION TRANSFER ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- eNB Configuration Transfer
+--
+-- **************************************************************
+
+ENBConfigurationTransfer ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       {{ ENBConfigurationTransferIEs}},
+    ...
+}
+
+ENBConfigurationTransferIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-SONConfigurationTransferECT            CRITICALITY ignore    TYPE SONConfigurationTransfer            PRESENCE optional    }|
+    { ID id-EN-DCSONConfigurationTransfer-ECT    CRITICALITY ignore    TYPE EN-DCSONConfigurationTransfer    PRESENCE optional    },
+    ...
+}
+
+-- **************************************************************
+--
+-- MME CONFIGURATION TRANSFER ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MME Configuration Transfer
+--
+-- **************************************************************
+
+MMEConfigurationTransfer ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       {{ MMEConfigurationTransferIEs}},
+    ...
+}
+
+MMEConfigurationTransferIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-SONConfigurationTransferMCT            CRITICALITY ignore    TYPE SONConfigurationTransfer            PRESENCE optional    }|
+    { ID id-EN-DCSONConfigurationTransfer-MCT    CRITICALITY ignore    TYPE EN-DCSONConfigurationTransfer    PRESENCE optional    },
+    ...
+}
+
+-- **************************************************************
+--
+-- PRIVATE MESSAGE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Private Message
+--
+-- **************************************************************
+
+PrivateMessage ::= SEQUENCE {
+    privateIEs            PrivateIE-Container       {{PrivateMessageIEs}},
+    ...
+}
+
+PrivateMessageIEs S1AP-PRIVATE-IES ::= {
+    ...
+}
+
+-- **************************************************************
+--
+-- KILL PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Kill Request
+--
+-- **************************************************************
+
+
+KillRequest ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {KillRequestIEs} },
+    ...
+}
+
+KillRequestIEs S1AP-PROTOCOL-IES ::= {    
+    { ID id-MessageIdentifier            CRITICALITY reject    TYPE MessageIdentifier        PRESENCE mandatory}|
+    { ID id-SerialNumber                CRITICALITY reject    TYPE SerialNumber            PRESENCE mandatory}|
+    { ID id-WarningAreaList                CRITICALITY ignore    TYPE WarningAreaList        PRESENCE optional}|
+    { ID id-KillAllWarningMessages        CRITICALITY reject    TYPE KillAllWarningMessages    PRESENCE optional},
+    ...
+}
+
+-- **************************************************************
+--
+-- Kill Response
+--
+-- **************************************************************
+
+KillResponse ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container        { {KillResponseIEs} },
+    ...
+}
+
+KillResponseIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MessageIdentifier            CRITICALITY reject    TYPE MessageIdentifier                    PRESENCE mandatory    }|
+    { ID id-SerialNumber                CRITICALITY reject    TYPE SerialNumber                        PRESENCE mandatory    }|
+    { ID id-BroadcastCancelledAreaList    CRITICALITY ignore    TYPE BroadcastCancelledAreaList            PRESENCE optional    }|
+    { ID id-CriticalityDiagnostics        CRITICALITY ignore    TYPE CriticalityDiagnostics                PRESENCE optional    },
+    ...
+}
+
+-- **************************************************************
+--
+-- PWS RESTART INDICATION PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- PWS Restart Indication
+--
+-- **************************************************************
+
+PWSRestartIndication::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       {{ PWSRestartIndicationIEs}},
+    ...
+}
+
+PWSRestartIndicationIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-ECGIListForRestart                CRITICALITY reject    TYPE ECGIListForRestart                    PRESENCE mandatory}|
+    { ID id-Global-ENB-ID                    CRITICALITY reject    TYPE Global-ENB-ID                        PRESENCE mandatory}|
+    { ID id-TAIListForRestart                CRITICALITY reject    TYPE TAIListForRestart                    PRESENCE mandatory}|
+    { ID id-EmergencyAreaIDListForRestart    CRITICALITY reject    TYPE EmergencyAreaIDListForRestart    PRESENCE optional},
+    ...
+}
+
+-- **************************************************************
+--
+-- PWS Failure Indication
+--
+-- **************************************************************
+
+PWSFailureIndication::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       {{ PWSFailureIndicationIEs}},
+    ...
+}
+
+PWSFailureIndicationIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-PWSfailedECGIList        CRITICALITY reject    TYPE PWSfailedECGIList    PRESENCE mandatory}|
+    { ID id-Global-ENB-ID            CRITICALITY reject    TYPE Global-ENB-ID        PRESENCE mandatory},
+    ...
+}
+
+-- **************************************************************
+--
+-- LPPA TRANSPORT ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- DOWNLINK UE ASSOCIATED LPPA TRANSPORT
+--
+-- **************************************************************
+
+DownlinkUEAssociatedLPPaTransport ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       {{DownlinkUEAssociatedLPPaTransport-IEs}},
+    ...
+}
+
+DownlinkUEAssociatedLPPaTransport-IEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID            CRITICALITY reject    TYPE MME-UE-S1AP-ID                PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID            CRITICALITY reject    TYPE ENB-UE-S1AP-ID                PRESENCE mandatory    }|
+    { ID id-Routing-ID                CRITICALITY reject    TYPE Routing-ID                    PRESENCE mandatory    }|
+    { ID id-LPPa-PDU                CRITICALITY reject    TYPE LPPa-PDU                    PRESENCE mandatory    },
+    ...
+}
+
+-- **************************************************************
+--
+-- UPLINK UE ASSOCIATED LPPA TRANSPORT
+--
+-- **************************************************************
+
+UplinkUEAssociatedLPPaTransport ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       {{UplinkUEAssociatedLPPaTransport-IEs}},
+    ...
+}
+
+UplinkUEAssociatedLPPaTransport-IEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID            CRITICALITY reject    TYPE MME-UE-S1AP-ID                PRESENCE mandatory    }|
+    { ID id-eNB-UE-S1AP-ID            CRITICALITY reject    TYPE ENB-UE-S1AP-ID                PRESENCE mandatory    }|
+    { ID id-Routing-ID                CRITICALITY reject    TYPE Routing-ID                    PRESENCE mandatory    }|
+    { ID id-LPPa-PDU                CRITICALITY reject    TYPE LPPa-PDU                    PRESENCE mandatory    },
+    ...
+}
+
+-- **************************************************************
+--
+-- DOWNLINK NON UE ASSOCIATED LPPA TRANSPORT
+--
+-- **************************************************************
+
+DownlinkNonUEAssociatedLPPaTransport ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       {{DownlinkNonUEAssociatedLPPaTransport-IEs}},
+    ...
+}
+
+DownlinkNonUEAssociatedLPPaTransport-IEs S1AP-PROTOCOL-IES ::= {
+    { ID id-Routing-ID                CRITICALITY reject    TYPE Routing-ID                    PRESENCE mandatory    }|
+    { ID id-LPPa-PDU                CRITICALITY reject    TYPE LPPa-PDU                    PRESENCE mandatory    },
+    ...
+}
+
+-- **************************************************************
+--
+-- UPLINK NON UE ASSOCIATED LPPA TRANSPORT
+--
+-- **************************************************************
+
+UplinkNonUEAssociatedLPPaTransport ::= SEQUENCE {
+    protocolIEs        ProtocolIE-Container       {{UplinkNonUEAssociatedLPPaTransport-IEs}},
+    ...
+}
+
+UplinkNonUEAssociatedLPPaTransport-IEs S1AP-PROTOCOL-IES ::= {
+    { ID id-Routing-ID                CRITICALITY reject    TYPE Routing-ID                    PRESENCE mandatory    }|
+    { ID id-LPPa-PDU                CRITICALITY reject    TYPE LPPa-PDU                    PRESENCE mandatory    },
+    ...
+}
+
+
+-- **************************************************************
+--
+-- E-RAB MODIFICATION INDICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- E-RAB Modification Indication
+--
+-- **************************************************************
+
+E-RABModificationIndication ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { E-RABModificationIndicationIEs} },
+    ...
+}
+
+E-RABModificationIndicationIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                            CRITICALITY reject    TYPE MME-UE-S1AP-ID                        PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                            CRITICALITY reject    TYPE ENB-UE-S1AP-ID                        PRESENCE mandatory}|
+    { ID id-E-RABToBeModifiedListBearerModInd        CRITICALITY reject    TYPE E-RABToBeModifiedListBearerModInd        PRESENCE mandatory}|
+    { ID id-E-RABNotToBeModifiedListBearerModInd    CRITICALITY reject    TYPE E-RABNotToBeModifiedListBearerModInd    PRESENCE optional}|
+    { ID id-CSGMembershipInfo                        CRITICALITY reject    TYPE CSGMembershipInfo                    PRESENCE optional}|
+-- Extension for Release 11 to support BBAI -- 
+    { ID id-Tunnel-Information-for-BBF                CRITICALITY ignore    TYPE TunnelInformation                    PRESENCE optional}|
+    { ID id-SecondaryRATDataUsageReportList            CRITICALITY ignore    TYPE SecondaryRATDataUsageReportList        PRESENCE optional },
+    ...
+}
+
+E-RABToBeModifiedListBearerModInd ::= E-RAB-IE-ContainerList { {E-RABToBeModifiedItemBearerModIndIEs} }
+
+E-RABToBeModifiedItemBearerModIndIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-E-RABToBeModifiedItemBearerModInd        CRITICALITY reject    TYPE E-RABToBeModifiedItemBearerModInd        PRESENCE mandatory},
+    ...
+}
+
+E-RABToBeModifiedItemBearerModInd ::= SEQUENCE {
+    e-RAB-ID                        E-RAB-ID,
+    transportLayerAddress            TransportLayerAddress,
+    dL-GTP-TEID                        GTP-TEID,
+    iE-Extensions                    ProtocolExtensionContainer { { E-RABToBeModifiedItemBearerModInd-ExtIEs} }            OPTIONAL,
+    ...
+}
+
+E-RABToBeModifiedItemBearerModInd-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+E-RABNotToBeModifiedListBearerModInd ::= E-RAB-IE-ContainerList { {E-RABNotToBeModifiedItemBearerModIndIEs} }
+
+E-RABNotToBeModifiedItemBearerModIndIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-E-RABNotToBeModifiedItemBearerModInd        CRITICALITY reject    TYPE E-RABNotToBeModifiedItemBearerModInd        PRESENCE mandatory},
+    ...
+}
+
+E-RABNotToBeModifiedItemBearerModInd ::= SEQUENCE {
+    e-RAB-ID                        E-RAB-ID,
+    transportLayerAddress            TransportLayerAddress,
+    dL-GTP-TEID                        GTP-TEID,
+    iE-Extensions                    ProtocolExtensionContainer { { E-RABNotToBeModifiedItemBearerModInd-ExtIEs} }        OPTIONAL,
+    ...
+}
+
+E-RABNotToBeModifiedItemBearerModInd-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+CSGMembershipInfo ::= SEQUENCE {
+    cSGMembershipStatus        CSGMembershipStatus,
+    cSG-Id                    CSG-Id,
+    cellAccessMode            CellAccessMode    OPTIONAL,
+    pLMNidentity            PLMNidentity    OPTIONAL,
+    iE-Extensions            ProtocolExtensionContainer { { CSGMembershipInfo-ExtIEs} }        OPTIONAL,
+    ...
+}
+
+CSGMembershipInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+-- **************************************************************
+--
+-- E-RAB Modification Confirm
+--
+-- **************************************************************
+
+E-RABModificationConfirm ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container { {E-RABModificationConfirmIEs} },
+    ...
+}
+
+E-RABModificationConfirmIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                            CRITICALITY ignore    TYPE MME-UE-S1AP-ID                    PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                            CRITICALITY ignore    TYPE ENB-UE-S1AP-ID                    PRESENCE mandatory}|
+    { ID id-E-RABModifyListBearerModConf            CRITICALITY ignore    TYPE E-RABModifyListBearerModConf    PRESENCE optional}|
+    { ID id-E-RABFailedToModifyListBearerModConf    CRITICALITY ignore    TYPE E-RABList                        PRESENCE optional}|
+    { ID id-E-RABToBeReleasedListBearerModConf        CRITICALITY ignore    TYPE E-RABList                        PRESENCE optional}|
+    { ID id-CriticalityDiagnostics                    CRITICALITY ignore    TYPE CriticalityDiagnostics        PRESENCE optional}|
+    { ID id-CSGMembershipStatus                        CRITICALITY ignore    TYPE CSGMembershipStatus            PRESENCE optional},
+    ...
+}
+
+E-RABModifyListBearerModConf ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { {E-RABModifyItemBearerModConfIEs} }
+
+E-RABModifyItemBearerModConfIEs     S1AP-PROTOCOL-IES ::= {
+    { ID id-E-RABModifyItemBearerModConf        CRITICALITY ignore    TYPE E-RABModifyItemBearerModConf        PRESENCE mandatory},
+    ...
+}
+
+E-RABModifyItemBearerModConf ::= SEQUENCE {
+    e-RAB-ID                    E-RAB-ID,
+    iE-Extensions                ProtocolExtensionContainer { {E-RABModifyItemBearerModConfExtIEs} } OPTIONAL,
+    ...
+}
+
+
+E-RABModifyItemBearerModConfExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+
+-- **************************************************************
+--
+-- UE CONTEXT MODIFICATION INDICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE Context Modification Indication
+--
+-- **************************************************************
+
+UEContextModificationIndication ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { UEContextModificationIndicationIEs} },
+    ...
+}
+
+UEContextModificationIndicationIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID            CRITICALITY reject    TYPE MME-UE-S1AP-ID            PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID            CRITICALITY reject    TYPE ENB-UE-S1AP-ID            PRESENCE mandatory}|
+    { ID id-CSGMembershipInfo        CRITICALITY reject    TYPE CSGMembershipInfo        PRESENCE optional},
+    ...
+}
+
+
+-- **************************************************************
+--
+-- UE Context Modification Confirm
+--
+-- **************************************************************
+
+UEContextModificationConfirm ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container { {UEContextModificationConfirmIEs} },
+    ...
+}
+
+UEContextModificationConfirmIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                CRITICALITY ignore    TYPE MME-UE-S1AP-ID                PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                CRITICALITY ignore    TYPE ENB-UE-S1AP-ID                PRESENCE mandatory}|
+    { ID id-CSGMembershipStatus            CRITICALITY ignore    TYPE CSGMembershipStatus        PRESENCE optional}|
+    { ID id-CriticalityDiagnostics        CRITICALITY ignore    TYPE CriticalityDiagnostics        PRESENCE optional},
+    ...
+}
+
+-- **************************************************************
+--
+-- UE CONTEXT SUSPEND ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE Context Suspend Request
+--
+-- **************************************************************
+
+UEContextSuspendRequest ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { UEContextSuspendRequestIEs} },
+    ...
+}
+
+UEContextSuspendRequestIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                                    CRITICALITY reject    TYPE MME-UE-S1AP-ID                PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                                    CRITICALITY reject    TYPE ENB-UE-S1AP-ID                PRESENCE mandatory}|
+    { ID id-InformationOnRecommendedCellsAndENBsForPaging    CRITICALITY ignore    TYPE InformationOnRecommendedCellsAndENBsForPaging PRESENCE optional}|
+    { ID id-CellIdentifierAndCELevelForCECapableUEs            CRITICALITY ignore    TYPE CellIdentifierAndCELevelForCECapableUEs    PRESENCE optional}|
+    { ID id-SecondaryRATDataUsageReportList                CRITICALITY ignore    TYPE SecondaryRATDataUsageReportList        PRESENCE optional }|
+    { ID id-UserLocationInformation                            CRITICALITY ignore    TYPE UserLocationInformation            PRESENCE optional }|
+    { ID id-TimeSinceSecondaryNodeRelease                    CRITICALITY ignore    TYPE TimeSinceSecondaryNodeRelease    PRESENCE optional },
+    ...
+}
+
+-- **************************************************************
+--
+-- UE Context Suspend Response
+--
+-- **************************************************************
+
+UEContextSuspendResponse ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container { {UEContextSuspendResponseIEs} },
+    ...
+}
+
+UEContextSuspendResponseIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                CRITICALITY ignore    TYPE MME-UE-S1AP-ID                PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                CRITICALITY ignore    TYPE ENB-UE-S1AP-ID                PRESENCE mandatory}|
+    { ID id-CriticalityDiagnostics        CRITICALITY ignore    TYPE CriticalityDiagnostics        PRESENCE optional}|
+    { ID id-SecurityContext                CRITICALITY reject    TYPE SecurityContext            PRESENCE optional},
+    ...
+}
+
+-- **************************************************************
+--
+-- UE CONTEXT RESUME ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE Context Resume Request
+--
+-- **************************************************************
+
+UEContextResumeRequest ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { UEContextResumeRequestIEs} },
+    ...
+}
+
+UEContextResumeRequestIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                                        CRITICALITY reject    TYPE MME-UE-S1AP-ID                PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                                    CRITICALITY reject    TYPE ENB-UE-S1AP-ID                PRESENCE mandatory}|
+    { ID id-E-RABFailedToResumeListResumeReq                 CRITICALITY reject    TYPE E-RABFailedToResumeListResumeReq        PRESENCE optional}|
+    { ID id-RRC-Resume-Cause                                CRITICALITY ignore    TYPE RRC-Establishment-Cause    PRESENCE optional},
+    ...
+}
+
+E-RABFailedToResumeListResumeReq ::= E-RAB-IE-ContainerList { {E-RABFailedToResumeItemResumeReqIEs} }
+
+E-RABFailedToResumeItemResumeReqIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-E-RABFailedToResumeItemResumeReq    CRITICALITY reject    TYPE E-RABFailedToResumeItemResumeReq    PRESENCE mandatory},
+    ...
+}
+
+E-RABFailedToResumeItemResumeReq ::= SEQUENCE {
+    e-RAB-ID                            E-RAB-ID,
+    cause                                Cause,
+    iE-Extensions                        ProtocolExtensionContainer { { E-RABFailedToResumeItemResumeReq-ExtIEs} }        OPTIONAL,
+    ...
+}
+
+E-RABFailedToResumeItemResumeReq-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+-- **************************************************************
+--
+-- UE Context Resume Response
+--
+-- **************************************************************
+
+UEContextResumeResponse ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { UEContextResumeResponseIEs} },
+    ...
+}
+
+UEContextResumeResponseIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                        CRITICALITY ignore    TYPE MME-UE-S1AP-ID                            PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                        CRITICALITY ignore    TYPE ENB-UE-S1AP-ID                            PRESENCE mandatory}|
+    { ID id-E-RABFailedToResumeListResumeRes    CRITICALITY reject    TYPE E-RABFailedToResumeListResumeRes        PRESENCE optional}|
+    { ID id-CriticalityDiagnostics                CRITICALITY ignore    TYPE CriticalityDiagnostics                    PRESENCE optional}|
+    { ID id-SecurityContext                        CRITICALITY reject    TYPE SecurityContext                        PRESENCE optional}|
+    { ID id-PendingDataIndication                CRITICALITY ignore    TYPE PendingDataIndication                    PRESENCE optional},
+    ...
+}
+
+E-RABFailedToResumeListResumeRes ::= E-RAB-IE-ContainerList { {E-RABFailedToResumeItemResumeResIEs} }
+
+E-RABFailedToResumeItemResumeResIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-E-RABFailedToResumeItemResumeRes    CRITICALITY reject    TYPE E-RABFailedToResumeItemResumeRes    PRESENCE mandatory},
+    ...
+}
+
+E-RABFailedToResumeItemResumeRes ::= SEQUENCE {
+    e-RAB-ID                            E-RAB-ID,
+    cause                                Cause,
+    iE-Extensions                        ProtocolExtensionContainer { { E-RABFailedToResumeItemResumeRes-ExtIEs} }        OPTIONAL,
+    ...
+}
+
+E-RABFailedToResumeItemResumeRes-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+    ...
+}
+
+-- **************************************************************
+--
+-- UE Context Resume Failure
+--
+-- **************************************************************
+
+UEContextResumeFailure ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { UEContextResumeFailureIEs} },
+    ...
+}
+
+UEContextResumeFailureIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                        CRITICALITY ignore    TYPE MME-UE-S1AP-ID                        PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                        CRITICALITY ignore    TYPE ENB-UE-S1AP-ID                        PRESENCE mandatory}|
+    { ID id-Cause                                CRITICALITY ignore    TYPE Cause                                PRESENCE mandatory}|
+    { ID id-CriticalityDiagnostics                CRITICALITY ignore    TYPE CriticalityDiagnostics                PRESENCE optional},
+    ...
+}
+
+-- **************************************************************
+--
+-- Connection Establishment Indication
+--
+-- **************************************************************
+
+ConnectionEstablishmentIndication::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container { {ConnectionEstablishmentIndicationIEs} },
+    ...
+}
+
+ConnectionEstablishmentIndicationIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                CRITICALITY ignore    TYPE MME-UE-S1AP-ID                PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                CRITICALITY ignore    TYPE ENB-UE-S1AP-ID                PRESENCE mandatory}|
+    { ID id-UERadioCapability            CRITICALITY ignore    TYPE UERadioCapability            PRESENCE optional }|
+    { ID id-EnhancedCoverageRestricted    CRITICALITY ignore    TYPE EnhancedCoverageRestricted    PRESENCE optional }|
+    { ID id-DL-CP-SecurityInformation    CRITICALITY ignore    TYPE DL-CP-SecurityInformation    PRESENCE optional }|
+    { ID id-CE-ModeBRestricted            CRITICALITY ignore    TYPE CE-ModeBRestricted            PRESENCE optional}|
+    { ID id-EndIndication                CRITICALITY ignore    TYPE EndIndication                PRESENCE optional}|
+    { ID id-Subscription-Based-UE-DifferentiationInfo        CRITICALITY ignore    TYPE Subscription-Based-UE-DifferentiationInfo        PRESENCE optional},
+    ...
+}
+
+-- **************************************************************
+--
+-- Retrieve UE Information 
+--
+-- **************************************************************
+
+RetrieveUEInformation ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { RetrieveUEInformationIEs} },
+    ...
+}
+
+RetrieveUEInformationIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-S-TMSI                        CRITICALITY reject    TYPE S-TMSI                PRESENCE mandatory},
+...
+
+}
+
+
+-- **************************************************************
+
+-- UE Information Transfer
+--
+-- **************************************************************
+UEInformationTransfer ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { {  UEInformationTransferIEs} },
+    ...
+}
+
+UEInformationTransferIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-S-TMSI                        CRITICALITY reject     TYPE S-TMSI                        PRESENCE mandatory}|
+    { ID id-UE-Level-QoS-Parameters        CRITICALITY ignore    TYPE E-RABLevelQoSParameters    PRESENCE optional}|
+    { ID id-UERadioCapability            CRITICALITY ignore    TYPE UERadioCapability            PRESENCE optional}|
+    { ID id-Subscription-Based-UE-DifferentiationInfo        CRITICALITY ignore    TYPE Subscription-Based-UE-DifferentiationInfo        PRESENCE optional}|
+    { ID id-PendingDataIndication        CRITICALITY ignore    TYPE PendingDataIndication        PRESENCE optional},
+    ...
+}
+
+
+-- **************************************************************
+--
+-- eNB CP Relocation Indication
+--
+-- **************************************************************
+
+ENBCPRelocationIndication ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container { { ENBCPRelocationIndicationIEs} },
+    ...
+}
+
+ENBCPRelocationIndicationIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-eNB-UE-S1AP-ID                CRITICALITY reject    TYPE ENB-UE-S1AP-ID                PRESENCE mandatory}|
+    { ID id-S-TMSI                        CRITICALITY reject    TYPE S-TMSI                        PRESENCE mandatory}|
+    { ID id-EUTRAN-CGI                    CRITICALITY ignore    TYPE EUTRAN-CGI                    PRESENCE mandatory}|
+    { ID id-TAI                            CRITICALITY ignore    TYPE TAI                        PRESENCE mandatory}|
+    { ID id-UL-CP-SecurityInformation    CRITICALITY reject    TYPE UL-CP-SecurityInformation    PRESENCE mandatory},
+    ...
+}
+
+
+-- **************************************************************
+--
+-- MME CP Relocation Indication
+--
+-- **************************************************************
+
+MMECPRelocationIndication ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container { { MMECPRelocationIndicationIEs} },
+    ...
+}
+
+MMECPRelocationIndicationIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                CRITICALITY reject    TYPE MME-UE-S1AP-ID                PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                CRITICALITY reject    TYPE ENB-UE-S1AP-ID                PRESENCE mandatory},
+    ...
+}
+
+
+-- **************************************************************
+--
+-- Secondary RAT Data Usage Report
+--
+-- **************************************************************
+
+SecondaryRATDataUsageReport ::= SEQUENCE {
+    protocolIEs            ProtocolIE-Container       { { SecondaryRATDataUsageReportIEs} },
+    ...
+}
+
+SecondaryRATDataUsageReportIEs S1AP-PROTOCOL-IES ::= {
+    { ID id-MME-UE-S1AP-ID                            CRITICALITY ignore    TYPE MME-UE-S1AP-ID                PRESENCE mandatory}|
+    { ID id-eNB-UE-S1AP-ID                        CRITICALITY ignore    TYPE ENB-UE-S1AP-ID                PRESENCE mandatory}|
+    { ID id-SecondaryRATDataUsageReportList            CRITICALITY ignore    TYPE SecondaryRATDataUsageReportList    PRESENCE mandatory}|
+    { ID id-HandoverFlag                            CRITICALITY ignore    TYPE HandoverFlag                    PRESENCE optional}|
+    { ID id-UserLocationInformation                CRITICALITY ignore    TYPE UserLocationInformation            PRESENCE optional}|
+    { ID id-TimeSinceSecondaryNodeRelease        CRITICALITY ignore    TYPE TimeSinceSecondaryNodeRelease    PRESENCE optional },
+    ...
+}
+
+END
diff --git a/src/s1ap/asn1c/asnGenFiles/asn1c/S1AP-PDU-Descriptions.asn b/src/s1ap/asn1c/asnGenFiles/asn1c/S1AP-PDU-Descriptions.asn
new file mode 100644
index 0000000..a1f1efb
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/asn1c/S1AP-PDU-Descriptions.asn
@@ -0,0 +1,737 @@
+--
+-- **************************************************************
+
+S1AP-PDU-Descriptions  { 
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) 
+eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-PDU-Descriptions (0)}
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+    Criticality,
+    ProcedureCode
+FROM S1AP-CommonDataTypes
+
+    CellTrafficTrace,
+    DeactivateTrace,
+    DownlinkUEAssociatedLPPaTransport,
+    DownlinkNASTransport,
+    DownlinkNonUEAssociatedLPPaTransport,
+    DownlinkS1cdma2000tunnelling,
+    ENBDirectInformationTransfer,
+    ENBStatusTransfer,
+    ENBConfigurationUpdate,
+    ENBConfigurationUpdateAcknowledge,
+    ENBConfigurationUpdateFailure,
+    ErrorIndication,
+    HandoverCancel,
+    HandoverCancelAcknowledge,
+    HandoverCommand,
+    HandoverFailure,
+    HandoverNotify,
+    HandoverPreparationFailure,
+    HandoverRequest,
+    HandoverRequestAcknowledge,
+    HandoverRequired,
+    InitialContextSetupFailure,
+    InitialContextSetupRequest,
+    InitialContextSetupResponse,
+    InitialUEMessage,
+    KillRequest,
+    KillResponse,
+    LocationReportingControl,
+    LocationReportingFailureIndication,
+    LocationReport,
+    MMEConfigurationUpdate,
+    MMEConfigurationUpdateAcknowledge,
+    MMEConfigurationUpdateFailure,
+    MMEDirectInformationTransfer,
+    MMEStatusTransfer,
+    NASNonDeliveryIndication,
+    OverloadStart,
+    OverloadStop,
+    Paging,
+    PathSwitchRequest,
+    PathSwitchRequestAcknowledge,
+    PathSwitchRequestFailure,    
+    PrivateMessage,
+    Reset,
+    ResetAcknowledge,
+    S1SetupFailure,
+    S1SetupRequest,
+    S1SetupResponse,
+    E-RABModifyRequest,
+    E-RABModifyResponse,
+    E-RABModificationIndication,
+    E-RABModificationConfirm,
+    E-RABReleaseCommand,
+    E-RABReleaseResponse,
+    E-RABReleaseIndication,
+    E-RABSetupRequest,
+    E-RABSetupResponse,
+    TraceFailureIndication,
+    TraceStart,
+    UECapabilityInfoIndication,
+    UEContextModificationFailure,
+    UEContextModificationRequest,
+    UEContextModificationResponse,
+    UEContextReleaseCommand,
+    UEContextReleaseComplete,
+    UEContextReleaseRequest,
+    UERadioCapabilityMatchRequest,
+    UERadioCapabilityMatchResponse,
+    UplinkUEAssociatedLPPaTransport,
+    UplinkNASTransport,
+    UplinkNonUEAssociatedLPPaTransport,
+    UplinkS1cdma2000tunnelling,
+    WriteReplaceWarningRequest,
+    WriteReplaceWarningResponse,
+    ENBConfigurationTransfer,
+    MMEConfigurationTransfer,
+    PWSRestartIndication,
+    UEContextModificationIndication,
+    UEContextModificationConfirm,
+    RerouteNASRequest,
+    PWSFailureIndication,
+    UEContextSuspendRequest,
+    UEContextSuspendResponse,
+    UEContextResumeRequest,
+    UEContextResumeResponse,
+    UEContextResumeFailure,
+    ConnectionEstablishmentIndication,
+    NASDeliveryIndication,
+    RetrieveUEInformation,
+    UEInformationTransfer,
+    ENBCPRelocationIndication,
+    MMECPRelocationIndication,
+    SecondaryRATDataUsageReport
+
+
+FROM S1AP-PDU-Contents
+    
+    id-CellTrafficTrace,
+    id-DeactivateTrace,
+    id-downlinkUEAssociatedLPPaTransport,
+    id-downlinkNASTransport,
+    id-downlinkNonUEAssociatedLPPaTransport,
+    id-DownlinkS1cdma2000tunnelling,
+    id-eNBStatusTransfer,
+    id-ErrorIndication,
+    id-HandoverCancel,
+    id-HandoverNotification,
+    id-HandoverPreparation,
+    id-HandoverResourceAllocation,
+    id-InitialContextSetup,
+    id-initialUEMessage,
+    id-ENBConfigurationUpdate,
+    id-Kill,
+    id-LocationReportingControl,
+    id-LocationReportingFailureIndication,
+    id-LocationReport,
+    id-eNBDirectInformationTransfer,
+    id-MMEConfigurationUpdate,
+    id-MMEDirectInformationTransfer,
+    id-MMEStatusTransfer,
+    id-NASNonDeliveryIndication,
+    id-OverloadStart,
+    id-OverloadStop,
+    id-Paging,
+    id-PathSwitchRequest,
+    id-PrivateMessage,
+    id-Reset,
+    id-S1Setup,
+    id-E-RABModify,
+    id-E-RABModificationIndication,
+    id-E-RABRelease,
+    id-E-RABReleaseIndication,
+    id-E-RABSetup,
+    id-TraceFailureIndication,
+    id-TraceStart,
+    id-UECapabilityInfoIndication,
+    id-UEContextModification,
+    id-UEContextRelease,
+    id-UEContextReleaseRequest,
+    id-UERadioCapabilityMatch,
+    id-uplinkUEAssociatedLPPaTransport,
+    id-uplinkNASTransport,
+    id-uplinkNonUEAssociatedLPPaTransport,
+    id-UplinkS1cdma2000tunnelling,
+    id-WriteReplaceWarning,
+    id-eNBConfigurationTransfer,
+    id-MMEConfigurationTransfer,
+    id-PWSRestartIndication,
+    id-UEContextModificationIndication,
+    id-RerouteNASRequest,
+    id-PWSFailureIndication,
+    id-UEContextSuspend,
+    id-UEContextResume,
+    id-ConnectionEstablishmentIndication,
+    id-NASDeliveryIndication,
+    id-RetrieveUEInformation,
+    id-UEInformationTransfer,
+    id-eNBCPRelocationIndication,
+    id-MMECPRelocationIndication,
+    id-SecondaryRATDataUsageReport
+
+
+FROM S1AP-Constants;
+
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+S1AP-ELEMENTARY-PROCEDURE ::= CLASS {
+    &InitiatingMessage                ,
+    &SuccessfulOutcome                            OPTIONAL,
+    &UnsuccessfulOutcome                        OPTIONAL,
+    &procedureCode                ProcedureCode     UNIQUE,
+    &criticality                Criticality     DEFAULT ignore
+}
+WITH SYNTAX {
+    INITIATING MESSAGE            &InitiatingMessage
+    [SUCCESSFUL OUTCOME            &SuccessfulOutcome]
+    [UNSUCCESSFUL OUTCOME        &UnsuccessfulOutcome]
+    PROCEDURE CODE                &procedureCode
+    [CRITICALITY                &criticality]
+}
+
+-- **************************************************************
+--
+-- Interface PDU Definition
+--
+-- **************************************************************
+
+S1AP-PDU ::= CHOICE {
+    initiatingMessage    InitiatingMessage,
+    successfulOutcome    SuccessfulOutcome,
+    unsuccessfulOutcome    UnsuccessfulOutcome,
+    ...
+}
+
+InitiatingMessage ::= SEQUENCE {
+    procedureCode    S1AP-ELEMENTARY-PROCEDURE.&procedureCode        ({S1AP-ELEMENTARY-PROCEDURES}),
+    criticality        S1AP-ELEMENTARY-PROCEDURE.&criticality            ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+    value            S1AP-ELEMENTARY-PROCEDURE.&InitiatingMessage    ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+    procedureCode    S1AP-ELEMENTARY-PROCEDURE.&procedureCode        ({S1AP-ELEMENTARY-PROCEDURES}),
+    criticality        S1AP-ELEMENTARY-PROCEDURE.&criticality            ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+    value            S1AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome    ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+    procedureCode    S1AP-ELEMENTARY-PROCEDURE.&procedureCode        ({S1AP-ELEMENTARY-PROCEDURES}),
+    criticality        S1AP-ELEMENTARY-PROCEDURE.&criticality            ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+    value            S1AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome    ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+S1AP-ELEMENTARY-PROCEDURES S1AP-ELEMENTARY-PROCEDURE ::= {
+    S1AP-ELEMENTARY-PROCEDURES-CLASS-1            |
+    S1AP-ELEMENTARY-PROCEDURES-CLASS-2,    
+    ...
+}
+
+
+S1AP-ELEMENTARY-PROCEDURES-CLASS-1 S1AP-ELEMENTARY-PROCEDURE ::= {
+    handoverPreparation                |
+    handoverResourceAllocation        |
+    pathSwitchRequest                 |
+    e-RABSetup                        |
+    e-RABModify                        |
+    e-RABRelease                    |
+    initialContextSetup                |
+    handoverCancel                    |
+    kill                            |
+    reset                            |
+    s1Setup                            |
+    uEContextModification            |
+    uEContextRelease                |
+    eNBConfigurationUpdate            |
+    mMEConfigurationUpdate            |
+    writeReplaceWarning                ,
+    ...,
+    uERadioCapabilityMatch                        |
+    e-RABModificationIndication                    |
+    uEContextModificationIndication                |
+    uEContextSuspend                            |
+    uEContextResume
+}
+
+S1AP-ELEMENTARY-PROCEDURES-CLASS-2 S1AP-ELEMENTARY-PROCEDURE ::= {    
+    handoverNotification            |
+    e-RABReleaseIndication            |
+    paging                             |
+    downlinkNASTransport            |
+    initialUEMessage                |
+    uplinkNASTransport                |
+    errorIndication                    |
+    nASNonDeliveryIndication        |
+    uEContextReleaseRequest            |
+    downlinkS1cdma2000tunnelling    |
+    uplinkS1cdma2000tunnelling        |
+    uECapabilityInfoIndication        |
+    eNBStatusTransfer                |
+    mMEStatusTransfer                |
+    deactivateTrace                    |
+    traceStart                        |
+    traceFailureIndication            |
+    cellTrafficTrace                |
+    locationReportingControl        |
+    locationReportingFailureIndication    |
+    locationReport                    |
+    overloadStart                    |
+    overloadStop                    |
+    eNBDirectInformationTransfer    |
+    mMEDirectInformationTransfer    |
+    eNBConfigurationTransfer        |
+    mMEConfigurationTransfer        |
+    privateMessage                    ,
+    ...,
+    downlinkUEAssociatedLPPaTransport    |
+    uplinkUEAssociatedLPPaTransport    |
+    downlinkNonUEAssociatedLPPaTransport    |
+    uplinkNonUEAssociatedLPPaTransport    |
+    pWSRestartIndication            |
+    rerouteNASRequest                |
+    pWSFailureIndication                        |
+    connectionEstablishmentIndication    |
+    nASDeliveryIndication            |
+    retrieveUEInformation            |
+    uEInformationTransfer            |
+    eNBCPRelocationIndication                    |
+    mMECPRelocationIndication        |
+    secondaryRATDataUsageReport
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedures
+--
+-- **************************************************************
+
+handoverPreparation S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        HandoverRequired
+    SUCCESSFUL OUTCOME        HandoverCommand
+    UNSUCCESSFUL OUTCOME    HandoverPreparationFailure
+    PROCEDURE CODE            id-HandoverPreparation
+    CRITICALITY                reject
+}
+
+handoverResourceAllocation S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        HandoverRequest
+    SUCCESSFUL OUTCOME        HandoverRequestAcknowledge
+    UNSUCCESSFUL OUTCOME    HandoverFailure
+    PROCEDURE CODE            id-HandoverResourceAllocation
+    CRITICALITY                reject
+}
+
+handoverNotification S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        HandoverNotify
+    PROCEDURE CODE            id-HandoverNotification
+    CRITICALITY                ignore
+}
+
+pathSwitchRequest S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        PathSwitchRequest
+    SUCCESSFUL OUTCOME        PathSwitchRequestAcknowledge
+    UNSUCCESSFUL OUTCOME    PathSwitchRequestFailure
+    PROCEDURE CODE            id-PathSwitchRequest
+    CRITICALITY                reject
+}
+
+e-RABSetup S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        E-RABSetupRequest
+    SUCCESSFUL OUTCOME        E-RABSetupResponse
+    PROCEDURE CODE            id-E-RABSetup
+    CRITICALITY                reject
+}
+
+e-RABModify S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        E-RABModifyRequest
+    SUCCESSFUL OUTCOME        E-RABModifyResponse
+    PROCEDURE CODE            id-E-RABModify
+    CRITICALITY                reject
+}
+
+e-RABRelease S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        E-RABReleaseCommand
+    SUCCESSFUL OUTCOME        E-RABReleaseResponse
+    PROCEDURE CODE            id-E-RABRelease
+    CRITICALITY                reject
+}
+
+e-RABReleaseIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        E-RABReleaseIndication
+    PROCEDURE CODE            id-E-RABReleaseIndication
+    CRITICALITY                ignore
+}
+
+initialContextSetup S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        InitialContextSetupRequest
+    SUCCESSFUL OUTCOME        InitialContextSetupResponse
+    UNSUCCESSFUL OUTCOME     InitialContextSetupFailure
+    PROCEDURE CODE            id-InitialContextSetup
+    CRITICALITY                reject
+}
+
+uEContextReleaseRequest S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        UEContextReleaseRequest
+    PROCEDURE CODE            id-UEContextReleaseRequest
+    CRITICALITY                ignore
+}
+
+paging S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        Paging
+    PROCEDURE CODE            id-Paging
+    CRITICALITY                ignore
+}
+
+downlinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        DownlinkNASTransport
+    PROCEDURE CODE            id-downlinkNASTransport
+    CRITICALITY                ignore
+}
+
+initialUEMessage S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        InitialUEMessage
+    PROCEDURE CODE            id-initialUEMessage
+    CRITICALITY                ignore
+}
+
+uplinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        UplinkNASTransport
+    PROCEDURE CODE            id-uplinkNASTransport
+    CRITICALITY                ignore
+}
+nASNonDeliveryIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        NASNonDeliveryIndication
+    PROCEDURE CODE            id-NASNonDeliveryIndication
+    CRITICALITY                ignore
+}
+
+handoverCancel S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        HandoverCancel
+    SUCCESSFUL OUTCOME        HandoverCancelAcknowledge
+    PROCEDURE CODE            id-HandoverCancel
+    CRITICALITY                reject
+}
+
+reset S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        Reset
+    SUCCESSFUL OUTCOME        ResetAcknowledge
+    PROCEDURE CODE            id-Reset
+    CRITICALITY                reject
+}
+
+errorIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        ErrorIndication
+    PROCEDURE CODE            id-ErrorIndication
+    CRITICALITY                ignore
+}
+
+s1Setup S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        S1SetupRequest
+    SUCCESSFUL OUTCOME        S1SetupResponse
+    UNSUCCESSFUL OUTCOME     S1SetupFailure
+    PROCEDURE CODE            id-S1Setup
+    CRITICALITY                reject
+}
+
+eNBConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        ENBConfigurationUpdate
+    SUCCESSFUL OUTCOME        ENBConfigurationUpdateAcknowledge
+    UNSUCCESSFUL OUTCOME     ENBConfigurationUpdateFailure
+    PROCEDURE CODE            id-ENBConfigurationUpdate
+    CRITICALITY                reject
+}
+
+mMEConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        MMEConfigurationUpdate
+    SUCCESSFUL OUTCOME        MMEConfigurationUpdateAcknowledge
+    UNSUCCESSFUL OUTCOME     MMEConfigurationUpdateFailure
+    PROCEDURE CODE            id-MMEConfigurationUpdate
+    CRITICALITY                reject
+}
+
+downlinkS1cdma2000tunnelling S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        DownlinkS1cdma2000tunnelling
+    PROCEDURE CODE            id-DownlinkS1cdma2000tunnelling
+    CRITICALITY                ignore
+}
+
+uplinkS1cdma2000tunnelling S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        UplinkS1cdma2000tunnelling
+    PROCEDURE CODE            id-UplinkS1cdma2000tunnelling
+    CRITICALITY                ignore
+}
+
+uEContextModification S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        UEContextModificationRequest
+    SUCCESSFUL OUTCOME        UEContextModificationResponse
+    UNSUCCESSFUL OUTCOME     UEContextModificationFailure
+    PROCEDURE CODE            id-UEContextModification
+    CRITICALITY                reject
+}
+
+uECapabilityInfoIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        UECapabilityInfoIndication
+    PROCEDURE CODE            id-UECapabilityInfoIndication
+    CRITICALITY                ignore
+}
+
+uEContextRelease S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        UEContextReleaseCommand
+    SUCCESSFUL OUTCOME        UEContextReleaseComplete
+    PROCEDURE CODE            id-UEContextRelease
+    CRITICALITY                reject
+}
+
+eNBStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        ENBStatusTransfer
+    PROCEDURE CODE            id-eNBStatusTransfer
+    CRITICALITY                ignore
+}
+
+mMEStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        MMEStatusTransfer
+    PROCEDURE CODE            id-MMEStatusTransfer
+    CRITICALITY                ignore
+}
+
+deactivateTrace S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        DeactivateTrace
+    PROCEDURE CODE            id-DeactivateTrace
+    CRITICALITY                ignore
+}
+
+traceStart S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        TraceStart
+    PROCEDURE CODE            id-TraceStart
+    CRITICALITY                ignore
+}
+
+traceFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        TraceFailureIndication
+    PROCEDURE CODE            id-TraceFailureIndication
+    CRITICALITY                ignore
+}
+cellTrafficTrace S1AP-ELEMENTARY-PROCEDURE ::={
+INITIATING MESSAGE        CellTrafficTrace
+PROCEDURE CODE            id-CellTrafficTrace
+CRITICALITY                ignore
+}
+
+locationReportingControl S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        LocationReportingControl
+    PROCEDURE CODE            id-LocationReportingControl
+    CRITICALITY                ignore
+}
+
+locationReportingFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        LocationReportingFailureIndication
+    PROCEDURE CODE            id-LocationReportingFailureIndication
+    CRITICALITY                ignore
+}
+
+locationReport S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        LocationReport
+    PROCEDURE CODE            id-LocationReport
+    CRITICALITY                ignore
+}
+
+overloadStart S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        OverloadStart
+    PROCEDURE CODE            id-OverloadStart
+    CRITICALITY                ignore
+}
+
+overloadStop S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        OverloadStop
+    PROCEDURE CODE            id-OverloadStop
+    CRITICALITY                reject
+}
+
+writeReplaceWarning S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        WriteReplaceWarningRequest
+    SUCCESSFUL OUTCOME        WriteReplaceWarningResponse
+    PROCEDURE CODE            id-WriteReplaceWarning
+    CRITICALITY                reject
+}
+
+eNBDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        ENBDirectInformationTransfer
+    PROCEDURE CODE            id-eNBDirectInformationTransfer
+    CRITICALITY                ignore
+}
+
+mMEDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        MMEDirectInformationTransfer
+    PROCEDURE CODE            id-MMEDirectInformationTransfer
+    CRITICALITY                ignore
+}
+
+eNBConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        ENBConfigurationTransfer
+    PROCEDURE CODE            id-eNBConfigurationTransfer
+    CRITICALITY                ignore
+}
+
+mMEConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        MMEConfigurationTransfer
+    PROCEDURE CODE            id-MMEConfigurationTransfer
+    CRITICALITY                ignore
+}
+
+
+privateMessage S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        PrivateMessage
+    PROCEDURE CODE            id-PrivateMessage
+    CRITICALITY                ignore
+}
+
+pWSRestartIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        PWSRestartIndication
+    PROCEDURE CODE            id-PWSRestartIndication
+    CRITICALITY                ignore
+}
+
+kill S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        KillRequest
+    SUCCESSFUL OUTCOME        KillResponse
+    PROCEDURE CODE            id-Kill
+    CRITICALITY                reject
+}
+
+downlinkUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        DownlinkUEAssociatedLPPaTransport
+    PROCEDURE CODE            id-downlinkUEAssociatedLPPaTransport
+    CRITICALITY                ignore
+}
+
+uplinkUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        UplinkUEAssociatedLPPaTransport
+    PROCEDURE CODE            id-uplinkUEAssociatedLPPaTransport
+    CRITICALITY                ignore
+}
+downlinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        DownlinkNonUEAssociatedLPPaTransport
+    PROCEDURE CODE            id-downlinkNonUEAssociatedLPPaTransport
+    CRITICALITY                ignore
+}
+
+uplinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        UplinkNonUEAssociatedLPPaTransport
+    PROCEDURE CODE            id-uplinkNonUEAssociatedLPPaTransport
+    CRITICALITY                ignore
+}
+
+uERadioCapabilityMatch S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        UERadioCapabilityMatchRequest
+    SUCCESSFUL OUTCOME        UERadioCapabilityMatchResponse
+    PROCEDURE CODE            id-UERadioCapabilityMatch
+    CRITICALITY                reject
+}
+
+e-RABModificationIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        E-RABModificationIndication
+    SUCCESSFUL OUTCOME        E-RABModificationConfirm
+    PROCEDURE CODE            id-E-RABModificationIndication
+    CRITICALITY                reject
+}
+
+uEContextModificationIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        UEContextModificationIndication
+    SUCCESSFUL OUTCOME        UEContextModificationConfirm
+    PROCEDURE CODE            id-UEContextModificationIndication
+    CRITICALITY                reject
+}
+
+rerouteNASRequest S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        RerouteNASRequest
+    PROCEDURE CODE            id-RerouteNASRequest
+    CRITICALITY                reject
+}
+
+pWSFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        PWSFailureIndication
+    PROCEDURE CODE            id-PWSFailureIndication
+    CRITICALITY                ignore
+}
+
+uEContextSuspend S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        UEContextSuspendRequest
+    SUCCESSFUL OUTCOME        UEContextSuspendResponse
+    PROCEDURE CODE            id-UEContextSuspend
+    CRITICALITY                reject
+}
+
+uEContextResume S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        UEContextResumeRequest
+    SUCCESSFUL OUTCOME        UEContextResumeResponse
+    UNSUCCESSFUL OUTCOME     UEContextResumeFailure
+    PROCEDURE CODE            id-UEContextResume
+    CRITICALITY                reject
+}
+
+connectionEstablishmentIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        ConnectionEstablishmentIndication
+    PROCEDURE CODE            id-ConnectionEstablishmentIndication
+    CRITICALITY                reject
+}
+
+nASDeliveryIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        NASDeliveryIndication
+    PROCEDURE CODE            id-NASDeliveryIndication
+    CRITICALITY                ignore
+}
+
+retrieveUEInformation S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        RetrieveUEInformation
+    PROCEDURE CODE            id-RetrieveUEInformation
+    CRITICALITY                reject
+}
+
+uEInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        UEInformationTransfer
+    PROCEDURE CODE            id-UEInformationTransfer
+    CRITICALITY                reject
+}
+
+eNBCPRelocationIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        ENBCPRelocationIndication
+    PROCEDURE CODE            id-eNBCPRelocationIndication
+    CRITICALITY                reject
+}
+
+mMECPRelocationIndication S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        MMECPRelocationIndication
+    PROCEDURE CODE            id-MMECPRelocationIndication
+    CRITICALITY                reject
+}
+
+secondaryRATDataUsageReport S1AP-ELEMENTARY-PROCEDURE ::= {
+    INITIATING MESSAGE        SecondaryRATDataUsageReport
+    PROCEDURE CODE            id-SecondaryRATDataUsageReport
+    CRITICALITY            ignore
+}
+
+
+END
diff --git a/src/s1ap/asn1c/asnGenFiles/asn1tostruct.py b/src/s1ap/asn1c/asnGenFiles/asn1tostruct.py
new file mode 100644
index 0000000..adf5455
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/asn1tostruct.py
@@ -0,0 +1,810 @@
+#
+# Copyright (c) 2015, EURECOM (www.eurecom.fr)
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice, this
+#    list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+#    this list of conditions and the following disclaimer in the documentation
+#    and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# The views and conclusions contained in the software and documentation are those
+# of the authors and should not be interpreted as representing official policies,
+# either expressed or implied, of the FreeBSD Project.
+
+import re, os, sys, string
+import datetime
+import getopt
+import getpass
+
+version = "1.0.2"
+
+lines = ""
+iesDefs = {}
+ieofielist = {}
+outdir = './'
+
+filenames = []
+verbosity = 0
+prefix = ""
+
+FAIL = '\033[91m'
+WARN = '\033[93m'
+ENDC = '\033[0m'
+
+fileprefix = ""
+fileprefix_first_upper = ""
+
+def printFail(string):
+    sys.stderr.write(FAIL + string + ENDC + "\n")
+
+def printWarning(string):
+    print WARN + string + ENDC
+
+def printDebug(string):
+    if verbosity > 0:
+        print string
+
+def outputHeaderToFile(f, filename):
+    now = datetime.datetime.now()
+    f.write("""/*
+ * Copyright (c) 2015, EURECOM (www.eurecom.fr)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those
+ * of the authors and should not be interpreted as representing official policies,
+ * either expressed or implied, of the FreeBSD Project.
+ */
+
+""")
+    f.write("/*******************************************************************************\n")
+    f.write(" * This file had been created by asn1tostruct.py script v%s\n" % (version))
+    f.write(" * Please do not modify this file but regenerate it via script.\n")
+    f.write(" * Created on: %s by %s\n * from %s\n" % (str(now), getpass.getuser(), filenames))
+    f.write(" ******************************************************************************/\n")
+
+def lowerFirstCamelWord(word):
+    """ puts the first word in a CamelCase Word in lowercase.
+
+    I.e. CustomerID becomes customerID, XMLInfoTest becomes xmlInfoTest
+    """
+    newstr = ''
+    swapped = word.swapcase()
+    idx = 0
+
+    # if it's all-caps, return an all-lowered version
+    lowered = word.lower()
+
+    if swapped == lowered:
+        return lowered
+
+    for c in swapped:
+        if c in string.lowercase:
+            newstr += c
+            idx    += 1
+        else:
+            break
+    if idx < 2:
+        newstr += word[idx:]
+    else:
+        newstr = newstr[:-1]+ word[idx-1:]
+
+    return newstr
+
+def usage():
+    print "Python parser for asn1 v%s" % (version)
+    print "Usage: python asn1tostruct.py [options]"
+    print "Available options:"
+    print "-d        Enable script debug"
+    print "-f [file] Input file to parse"
+    print "-o [dir]  Output files to given directory"
+    print "-h        Print this help and return"
+
+try:
+    opts, args = getopt.getopt(sys.argv[1:], "df:ho:", ["debug", "file", "help", "outdir"])
+except getopt.GetoptError as err:
+    # print help information and exit:
+    usage()
+    sys.exit(2)
+
+for o, a in opts:
+    if o in ("-f", "--file"):
+        filenames.append(a)
+    if o in ("-d", "--debug"):
+        verbosity = 1
+    if o in ("-o", "--outdir"):
+        outdir = a
+        if outdir.rfind('/') != len(outdir):
+            outdir += '/'
+    if o in ("-h", "--help"):
+        usage()
+        sys.exit(2)
+
+for filename in filenames:
+    file = open(filename, 'r')
+    for line in file:
+        # Removing any comment
+        if line.find('--') >= 0:
+            line = line[:line.find('--')]
+        # Removing any carriage return
+        lines += re.sub('\r', '', line)
+
+    for m in re.findall(r'([a-zA-Z0-9-]+)\s*::=\s+SEQUENCE\s+\(\s*SIZE\s*\(\s*\d+\s*\.\.\s*[0-9a-zA-Z-]+\s*\)\s*\)\s*OF\s+[a-zA-Z-]+\s*\{\s*\{\s*([0-9a-zA-Z-]+)\s*\}\s*\}', lines, re.MULTILINE):
+        ieofielist[m[0]] = m[1]
+    for m in re.findall(r'([a-zA-Z0-9-]+)\s*::=\s+E-RAB-IE-ContainerList\s*\{\s*\{\s*([a-zA-Z0-9-]+)\s*\}\s*\}', lines, re.MULTILINE):
+        ieofielist[m[0]] = m[1]
+
+    for i in re.findall(r'([a-zA-Z0-9-]+)\s+([A-Z0-9-]+)\s*::=\s*\{\s+([\,\|\{\}\t\n\.{3}\ \-a-zA-Z0-9]+)\s+}\n', lines, re.MULTILINE):
+        ies = []
+        maxLength = 0
+        # TODO: handle extensions
+        if i[1].find('EXTENSION') >= 0:
+            continue
+        if fileprefix == "":
+            fileprefix = i[1][:i[1].find('-')].lower()
+        for j in re.findall(r'\s*\{\s*([a-zA-Z0-9-\ \t]+)\s*\}\s*[\|,]*', i[2], re.MULTILINE):
+            for k in re.findall(r'ID\s*([a-zA-Z0-9\-]+)\s*CRITICALITY\s*([a-zA-Z0-9\-]+)\s+[A-Z]+\s+([a-zA-Z0-9\-]+)\s*PRESENCE\s*([a-zA-Z0-9\-]+)', j, re.MULTILINE):
+                printDebug("Got new ie for message " + i[0] + ": " + str(k))
+                if len(k[2]) > maxLength:
+                    maxLength = len(k[2])
+                ies.append(k)
+
+        if len(ies) > 0:
+            iesDefs[i[0]] = { "length": maxLength, "ies": ies }
+        else:
+            printWarning("Didn't find any information element for message: " + i[0])
+
+if len(iesDefs) == 0:
+    printFail("No Information Element parsed, exiting")
+    sys.exit(0)
+
+fileprefix_first_upper = fileprefix[0].upper() + fileprefix[1:]
+
+f = open(outdir + fileprefix + '_ies_defs.h', 'w')
+outputHeaderToFile(f, filename)
+f.write("#include \"%s_common.h\"\n\n" % (fileprefix))
+f.write("#ifndef %s_IES_DEFS_H_\n#define %s_IES_DEFS_H_\n\n" % (fileprefix.upper(), fileprefix.upper()))
+f.write("/* Define the version of script used to generate this file */\n")
+f.write("#define %s_SCRIPT_VERSION (%s)\n\n" % (fileprefix.upper(), re.sub('\.', '', version)))
+
+for key in iesDefs:
+
+    if key not in ieofielist.values():
+        continue
+
+    for (i, j) in ieofielist.items():
+        if j == key:
+            break
+
+    f.write("typedef struct %sIEs_s {\n" % (re.sub('-', '_', i)))
+    f.write("    A_SEQUENCE_OF(struct %s_s) %s;\n" % (re.sub('IEs', '', re.sub('-', '_', ieofielist[i])), lowerFirstCamelWord(re.sub('IEs', '', re.sub('-', '_', ieofielist[i])))))
+    f.write("} %sIEs_t;\n\n" % (re.sub('-', '_', i)))
+
+for key in iesDefs:
+    keyupperunderscore = re.sub('-', '_', key.upper())
+    keylowerunderscore = re.sub('-', '_', key.lower())
+    shift = 0
+
+    if len(iesDefs[key]["ies"]) == 0:
+        continue
+
+    # Presence mask
+    for ie in iesDefs[key]["ies"]:
+        ieupperunderscore = re.sub('-', '_', re.sub('id-', '', ie[0])).upper()
+
+        if ie[3] == "optional" or ie[3] == "conditional":
+            f.write("#define {0:<{pad}} {1}\n".format("%s_%s_PRESENT" % (keyupperunderscore, ieupperunderscore), "(1 << %d)" % shift,
+            pad=iesDefs[key]["length"] + len(keyupperunderscore) + 9))
+            shift += 1
+    if (shift > 0):
+        f.write("\n")
+
+    f.write("typedef struct %s_s {\n" % (re.sub('-', '_', key)))
+    if (shift > 0):
+        f.write("    {0:<{pad}} {1};\n".format("uint16_t", "presenceMask", pad=iesDefs[key]["length"] + 2))
+    for ie in iesDefs[key]["ies"]:
+        ieunderscore = re.sub('-', '_', ie[2])
+        iename = re.sub('id-', '', ie[0])
+        ienameunderscore = lowerFirstCamelWord(re.sub('-', '_', iename))
+        if ie[2] in ieofielist:
+            f.write("    %sIEs_t %s;" % (re.sub('-', '_', ie[2]), ienameunderscore))
+        else:
+            f.write("    {0:<{pad}} {1};".format("%s_t" % ieunderscore, ienameunderscore, pad=iesDefs[key]["length"] + 2))
+        if ie[3] == "optional":
+            f.write(" ///< Optional field")
+        elif ie[3] == "conditional":
+            f.write(" ///< Conditional field")
+        f.write("\n")
+
+    f.write("} %s_t;\n\n" % (re.sub('-', '_', key)))
+
+f.write("typedef struct %s_message_s {\n" % (fileprefix))
+f.write("    %s_ProcedureCode_t procedureCode;\n" % (fileprefix_first_upper))
+f.write("    %s_Criticality_t   criticality;\n" % (fileprefix_first_upper))
+f.write("    uint8_t            direction;\n")
+f.write("    union {\n")
+
+messageList = iesDefs.keys()
+messageList.sort()
+for message in messageList:
+    if message in ieofielist.values():
+        continue
+    if len(iesDefs[message]["ies"]) == 0:
+        continue
+    f.write("        %s_t %s;\n" % (re.sub('-', '_', message), lowerFirstCamelWord(re.sub('-', '_', message))))
+f.write("    } msg;\n")
+f.write("} %s_message;\n\n" % (fileprefix))
+
+for key in iesDefs:
+    if key in ieofielist.values():
+        continue
+    structName = re.sub('ies', '', key)
+    asn1cStruct = re.sub('-', '_', re.sub('IEs', '', re.sub('-IEs', '', key)))
+    asn1cStruct = re.sub('Item', 'List', asn1cStruct)
+    keylowerunderscore = re.sub('-', '_', key.lower())
+    firstlower = re.sub('Item', 'List', re.sub('enb', 'eNB', lowerFirstCamelWord(asn1cStruct)))
+    f.write("/** \\brief Decode function for %s ies.\n" % (key))
+    if len(iesDefs[key]["ies"]) != 0:
+        f.write(" * \\param %s Pointer to ASN1 structure in which data will be stored\n" % (lowerFirstCamelWord(re.sub('-', '_', key))))
+    f.write(" *  \\param any_p Pointer to the ANY value to decode.\n")
+    f.write(" **/\n")
+    f.write("int %s_decode_%s(\n" % (fileprefix, keylowerunderscore))
+
+    if len(iesDefs[key]["ies"]) != 0:
+        f.write("    %s_t *%s,\n" % (re.sub('-', '_', key), lowerFirstCamelWord(re.sub('-', '_', key))))
+    f.write("    ANY_t *any_p);\n\n")
+
+    if len(iesDefs[key]["ies"]) == 0:
+        continue
+
+    f.write("/** \\brief Encode function for %s ies.\n" % (key))
+    f.write(" *  \\param %s Pointer to the ASN1 structure.\n" % (firstlower))
+    f.write(" *  \\param %s Pointer to the IES structure.\n" % (lowerFirstCamelWord(re.sub('-', '_', key))))
+    f.write(" **/\n")
+    f.write("int %s_encode_%s(\n" % (fileprefix, re.sub('-', '_', structName.lower())))
+    f.write("    %s_t *%s,\n" % (asn1cStruct, firstlower))
+    f.write("    %s_t *%s);\n\n" % (re.sub('-', '_', key), lowerFirstCamelWord(re.sub('-', '_', key))))
+
+for key in iesDefs:
+    if key not in ieofielist.values():
+        continue
+    asn1cStruct = re.sub('-', '_', re.sub('IEs', '', key))
+    asn1cStruct = re.sub('Item', 'List', asn1cStruct)
+    firstlower = re.sub('Item', 'List', re.sub('enb', 'eNB', lowerFirstCamelWord(asn1cStruct)))
+    f.write("/** \\brief Encode function for %s ies.\n" % (key))
+    f.write(" *  \\param %s Pointer to the ASN1 structure.\n" % (firstlower))
+    f.write(" *  \\param %s Pointer to the IES structure.\n" % (lowerFirstCamelWord(re.sub('-', '_', key))))
+    f.write(" **/\n")
+    f.write("int %s_encode_%s(\n" % (fileprefix, firstlower.lower()))
+    f.write("    %s_t *%s,\n" % (asn1cStruct, firstlower))
+    f.write("    %sIEs_t *%sIEs);\n\n" % (asn1cStruct, firstlower))
+    f.write("/** \\brief Decode function for %s ies.\n" % (key))
+    f.write(" *  \\param any_p Pointer to the ANY value to decode.\n")
+    f.write(" *  \\param callback Callback function called when any_p is successfully decoded.\n")
+    f.write(" **/\n")
+    f.write("int %s_decode_%s(\n" % (fileprefix, firstlower.lower()))
+    f.write("    %sIEs_t *%sIEs,\n" % (asn1cStruct, firstlower))
+    f.write("    %s_t *%s);\n\n" % (asn1cStruct, lowerFirstCamelWord(asn1cStruct)))
+
+for key in iesDefs:
+    asn1cStruct = re.sub('-', '_', re.sub('IEs', '', key))
+    asn1cStruct = re.sub('Item', 'List', asn1cStruct)
+    firstlower = re.sub('Item', 'List', re.sub('enb', 'eNB', lowerFirstCamelWord(asn1cStruct)))
+
+    if key in ieofielist.values():
+        f.write("/** \\brief Display %s encapsulated IE using XER encoding.\n" % (asn1cStruct))
+        f.write(" *  \\param %s Pointer to the IES structure.\n" % (lowerFirstCamelWord(re.sub('-', '_', key))))
+        f.write(" *  \\param file File descriptor to write output.\n")
+        f.write(" **/\n")
+        f.write("asn_enc_rval_t %s_xer_print_%s(\n" % (fileprefix, re.sub('item', 'list', firstlower.lower())))
+        f.write("    asn_app_consume_bytes_f *cb,\n")
+        f.write("    void *app_key,\n")
+        f.write("    %sIEs_t *%sIEs);\n\n" % (re.sub('item', 'list', asn1cStruct), firstlower))
+    else:
+        f.write("/** \\brief Display %s message using XER encoding.\n" % (asn1cStruct))
+        f.write(" *  \\param message_p Pointer to root message.\n")
+        f.write(" *  \\param file File descriptor to write output.\n")
+        f.write(" **/\n")
+        f.write("asn_enc_rval_t %s_xer_print_%s(\n" % (fileprefix, firstlower.lower()))
+        f.write("    asn_app_consume_bytes_f *cb,\n")
+        f.write("    void *app_key,\n")
+        f.write("    %s_message *message_p);\n\n" % (fileprefix))
+
+f.write("int %s_xer__print2sp(const void *buffer, size_t size, void *app_key);\n\n" % (fileprefix.lower()))
+f.write("int %s_xer__print2fp(const void *buffer, size_t size, void *app_key);\n\n" % (fileprefix.lower()))
+f.write("extern size_t %s_string_total_size;\n\n" % (fileprefix.lower()))
+
+for key in iesDefs:
+    if len(iesDefs[key]["ies"]) == 0:
+        continue
+    keyupperunderscore = re.sub('-', '_', key.upper())
+    keylowerunderscore = re.sub('-', '_', key.lower())
+    structName = re.sub('ies', '', key, flags=re.IGNORECASE)
+    f.write("int free_%s(\n" % (re.sub('-', '_', structName.lower())))
+    f.write("    %s_t *%s);\n\n" % (prefix + re.sub('-', '_', key), lowerFirstCamelWord(re.sub('-', '_', key))))
+f.write("#endif /* %s_IES_DEFS_H_ */\n\n" % (fileprefix.upper()))
+
+#Generate Decode functions
+f = open(outdir + fileprefix + '_decoder.c', 'w')
+outputHeaderToFile(f, filename)
+f.write("#include \"%s_common.h\"\n#include \"%s_ies_defs.h\"\n#include \"log.h\"\n\n" % (fileprefix, fileprefix))
+for key in iesDefs:
+    if key in ieofielist.values():
+        continue
+    structName = re.sub('ies', '', key)
+    asn1cStruct = re.sub('-', '_', re.sub('IEs', '', key))
+    if asn1cStruct.rfind('_') == len(asn1cStruct) - 1:
+        asn1cStruct = asn1cStruct[:-1]
+    asn1cStruct = re.sub('Item', 'List', asn1cStruct)
+    ielistname = re.sub('UE', 'ue', asn1cStruct)
+    ielistnamefirstlower = ielistname[:1].lower() + ielistname[1:]
+    asn1cStructfirstlower = asn1cStruct[:1].lower() + asn1cStruct[1:]
+    keyName = re.sub('-', '_', key)
+    keyupperunderscore = keyName.upper()
+    firstlower = re.sub('Item', 'List', re.sub('enb', 'eNB', lowerFirstCamelWord(asn1cStruct)))
+
+    iesaccess = ""
+    if key not in ieofielist.values():
+        iesaccess = "%s_ies." % (firstlower)
+
+    f.write("int %s_decode_%s(\n" % (fileprefix, re.sub('-', '_', structName.lower())))
+    if len(iesDefs[key]["ies"]) != 0:
+        f.write("    %s_t *%s,\n" % (re.sub('-', '_', key), lowerFirstCamelWord(re.sub('-', '_', key))))
+    f.write("    ANY_t *any_p) {\n\n")
+
+    f.write("    %s_t  %s;\n    %s_t *%s_p = &%s;\n" % (asn1cStruct, asn1cStructfirstlower, asn1cStruct, asn1cStructfirstlower, asn1cStructfirstlower))
+    f.write("    int i, decoded = 0;\n")
+    if len(iesDefs[key]["ies"]) != 0:
+        f.write("    int tempDecoded = 0;\n")
+
+    f.write("    assert(any_p != NULL);\n")
+    if len(iesDefs[key]["ies"]) != 0:
+        f.write("    assert(%s != NULL);\n\n" % (lowerFirstCamelWord(re.sub('-', '_', key))))
+        f.write("    memset(%s, 0, sizeof(%s_t));\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), prefix + re.sub('-', '_', key)))
+
+    f.write("   OAILOG_DEBUG (LOG_%s, \"Decoding message %s (%%s:%%d)\\n\", __FILE__, __LINE__);\n\n" % (fileprefix.upper(), re.sub('-', '_', keyName)))
+    f.write("    ANY_to_type_aper(any_p, &asn_DEF_%s, (void**)&%s_p);\n\n" % (asn1cStruct, asn1cStructfirstlower))
+    f.write("    for (i = 0; i < %s_p->%slist.count; i++) {\n" % (asn1cStructfirstlower, iesaccess))
+    f.write("        %s_IE_t *ie_p;\n" % (fileprefix[0].upper() + fileprefix[1:]))
+    f.write("        ie_p = %s_p->%slist.array[i];\n" % (asn1cStructfirstlower, iesaccess))
+    f.write("        switch(ie_p->id) {\n")
+    for ie in iesDefs[key]["ies"]:
+        iename = re.sub('id-', '', ie[0])
+        ienameunderscore = lowerFirstCamelWord(re.sub('-', '_', iename))
+        ienameunderscorefirstlower = lowerFirstCamelWord(ienameunderscore)
+        ietypesubst = re.sub('-', '', ie[2])
+        ietypeunderscore = re.sub('-', '_', ie[2])
+        ieupperunderscore = re.sub('-', '_', re.sub('id-', '', ie[0])).upper()
+
+        if ie[3] == "optional":
+            f.write("            /* Optional field */\n")
+        elif ie[3] == "conditional":
+            f.write("            /* Conditional field */\n")
+        f.write("            case %s_ProtocolIE_ID_%s:\n" % (fileprefix_first_upper, re.sub('-', '_', ie[0])))
+        f.write("            {\n")
+        f.write("                %s_t *%s_p = NULL;\n" % (ietypeunderscore, lowerFirstCamelWord(ietypesubst)))
+        if ie[3] != "mandatory":
+            f.write("                %s->presenceMask |= %s_%s_PRESENT;\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), keyupperunderscore, ieupperunderscore))
+        f.write("                tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_%s, (void**)&%s_p);\n" % (ietypeunderscore, lowerFirstCamelWord(ietypesubst)))
+        f.write("                if (tempDecoded < 0 || %s_p == NULL) {\n" % (lowerFirstCamelWord(ietypesubst)))
+        f.write("                   OAILOG_ERROR (LOG_%s, \"Decoding of IE %s failed\\n\");\n" % (fileprefix.upper(), ienameunderscore))
+        f.write("                    if (%s_p)\n" % (lowerFirstCamelWord(ietypesubst)))
+        f.write("                        ASN_STRUCT_FREE(asn_DEF_%s, %s_p);\n" % (ietypeunderscore, lowerFirstCamelWord(ietypesubst)))
+        f.write("                    return -1;\n")
+        f.write("                }\n")
+        f.write("                decoded += tempDecoded;\n")
+        f.write("                if (asn1_xer_print)\n")
+        f.write("                    xer_fprint(stdout, &asn_DEF_%s, %s_p);\n" % (ietypeunderscore, lowerFirstCamelWord(ietypesubst)))
+        if ie[2] in ieofielist.keys():
+            f.write("                if (%s_decode_%s(&%s->%s, %s_p) < 0) {\n" % (fileprefix, ietypeunderscore.lower(), lowerFirstCamelWord(re.sub('-', '_', key)), ienameunderscore, lowerFirstCamelWord(ietypesubst)))
+            f.write("                   OAILOG_ERROR (LOG_%s, \"Decoding of encapsulated IE %s failed (1) \\n\");\n" % (fileprefix.upper(), lowerFirstCamelWord(ietypesubst)))
+#            f.write("                    ASN_STRUCT_FREE(asn_DEF_%s, %s_p);\n" % (ietypeunderscore, lowerFirstCamelWord(ietypesubst)))
+            f.write("                }\n")
+            f.write("                ASN_STRUCT_FREE(asn_DEF_%s, %s_p);\n" % (ietypeunderscore, lowerFirstCamelWord(ietypesubst)))
+        else:
+            f.write("                memcpy(&%s->%s, %s_p, sizeof(%s_t));\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), ienameunderscore, lowerFirstCamelWord(ietypesubst), ietypeunderscore))
+            f.write("                FREEMEM(%s_p);\n" % (lowerFirstCamelWord(ietypesubst)))
+            f.write("                %s_p = NULL;\n" % (lowerFirstCamelWord(ietypesubst)))
+        f.write("            } break;\n")
+    f.write("            default:\n")
+    f.write("               OAILOG_ERROR (LOG_%s, \"Unknown protocol IE id (%%d) for message %s\\n\", (int)ie_p->id);\n" % (fileprefix.upper(), re.sub('-', '_', structName.lower())))
+    f.write("                return -1;\n")
+    f.write("        }\n")
+    f.write("    }\n")
+    f.write("    ASN_STRUCT_FREE(asn_DEF_%s, %s_p);\n" % (asn1cStruct, asn1cStructfirstlower))
+    f.write("    return decoded;\n")
+    f.write("}\n\n")
+
+
+# Generate free functions for encapsulated IEs
+for key in iesDefs:
+    if key not in ieofielist.values():
+        continue
+    if len(iesDefs[key]["ies"]) == 0:
+        continue
+    # TODO: Check if the encapsulated IE also contains further encap.
+    ie = iesDefs[key]["ies"][0]
+    ietypeunderscore = prefix + re.sub('-', '_', ie[2])
+    keyname = re.sub('IEs', '', re.sub('Item', 'List', key))
+    iesStructName = lowerFirstCamelWord(re.sub('Item', 'List', re.sub('-', '_', key)))
+    f.write("int free_%s(\n" % (re.sub('-', '_', keyname).lower()))
+    f.write("    %sIEs_t *%s) {\n\n" % (re.sub('-', '_', keyname), iesStructName))
+    f.write("    assert(%s != NULL);\n\n" % (iesStructName))
+    f.write("    for (int i = 0; i < %s->%s.count; i++) {\n" %
+            (iesStructName, re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key)))))
+    f.write("        ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_%s, %s->%s.array[i]);\n" %
+            (ietypeunderscore, iesStructName, re.sub('IEs', '',lowerFirstCamelWord(re.sub('-', '_', key)))))
+    f.write("    	  FREEMEM(%s->%s.array[i]);\n" %
+            (iesStructName, re.sub('IEs', '',lowerFirstCamelWord(re.sub('-', '_', key)))))
+    f.write("    }\n")
+    f.write("    /* Remove the array containing the elements. */\n")
+    f.write("    FREEMEM(%s->%s.array);\n" %
+            (iesStructName, re.sub('IEs', '',lowerFirstCamelWord(re.sub('-', '_', key)))))
+    f.write("    return 0;\n")
+    f.write("}\n\n")
+
+
+
+for key in iesDefs:
+    if len(iesDefs[key]["ies"]) == 0:
+        continue
+    keyupperunderscore = re.sub('-', '_', key.upper())
+    keylowerunderscore = re.sub('-', '_', key.lower())
+    structName = re.sub('ies', '', key, flags=re.IGNORECASE)
+
+
+    f.write("int free_%s(\n" % (re.sub('-', '_', structName.lower())))
+    f.write("    %s_t *%s) {\n\n" % (prefix + re.sub('-', '_', key),
+                                     lowerFirstCamelWord(re.sub('-', '_', key))))
+
+    for ie in iesDefs[key]["ies"]:
+        ietypeunderscore = prefix + re.sub('-', '_', ie[2])
+        ieupperunderscore = re.sub('-', '_', re.sub('id-', '', ie[0])).upper()
+        if ie[3] != "mandatory":
+            if ie[3] == "optional":
+                f.write("    /* Optional field */\n")
+            elif ie[3] == "conditional":
+                f.write("    /* Conditional field */\n")
+            f.write("    if ((%s->presenceMask & %s_%s_PRESENT)\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), keyupperunderscore, ieupperunderscore))
+            f.write("        == %s_%s_PRESENT) \n    " % (keyupperunderscore, ieupperunderscore))
+
+        iename = re.sub('id-', '', ie[0])
+        ienameunderscore = lowerFirstCamelWord(re.sub('-', '_', iename))
+        # Check if this is an encapsulated IE, if so call the free function.
+        if ie[2] in ieofielist.keys():
+            keyname = re.sub('IEs', '', re.sub('Item', 'List', ie[2]))
+            f.write("    free_%s(&%s->%s);\n" % (re.sub('-', '_', keyname).lower(),
+                                                 lowerFirstCamelWord(re.sub('-', '_', key)), ienameunderscore))
+        else:
+            f.write("    ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_%s, &%s->%s);\n" % (ietypeunderscore, lowerFirstCamelWord(re.sub('-', '_', key)), ienameunderscore))
+    f.write("    return 0;\n")
+    f.write("}\n\n")
+
+for key in iesDefs:
+    if key not in ieofielist.values():
+        continue
+
+    keyname = re.sub('IEs', '', re.sub('Item', 'List', key))
+
+    f.write("int %s_decode_%s(\n" % (fileprefix, re.sub('-', '_', keyname).lower()))
+    f.write("    %sIEs_t *%sIEs,\n" % (re.sub('-', '_', keyname), lowerFirstCamelWord(re.sub('-', '_', keyname))))
+    f.write("    %s_t *%s) {\n\n" % (re.sub('-', '_', keyname), lowerFirstCamelWord(re.sub('-', '_', keyname))))
+    f.write("    int i, decoded = 0;\n")
+    f.write("    int tempDecoded = 0;\n\n")
+
+    f.write("    assert(%s != NULL);\n" % (lowerFirstCamelWord(re.sub('-', '_', keyname))))
+    f.write("    assert(%sIEs != NULL);\n\n" % (lowerFirstCamelWord(re.sub('-', '_', keyname))))
+
+    f.write("    for (i = 0; i < %s->list.count; i++) {\n" % (lowerFirstCamelWord(re.sub('-', '_', keyname))))
+    f.write("        %s_IE_t *ie_p = %s->list.array[i];\n" % (fileprefix[0].upper() + fileprefix[1:], lowerFirstCamelWord(re.sub('-', '_', keyname))))
+    f.write("        switch (ie_p->id) {\n")
+    for ie in iesDefs[key]["ies"]:
+        iename = re.sub('id-', '', ie[0])
+        ienameunderscore = lowerFirstCamelWord(re.sub('-', '_', iename))
+        f.write("            case %s_ProtocolIE_ID_%s:\n" % (fileprefix_first_upper, re.sub('-', '_', ie[0])))
+        f.write("            {\n")
+        f.write("                %s_t *%s_p = NULL;\n" % (re.sub('-', '_', ie[2]), lowerFirstCamelWord(re.sub('-', '', ie[2]))))
+        f.write("                tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_%s, (void**)&%s_p);\n" % (re.sub('-', '_', ie[2]), lowerFirstCamelWord(re.sub('-', '', ie[2]))))
+        f.write("                if (tempDecoded < 0 || %s_p == NULL) {\n" % (lowerFirstCamelWord(re.sub('-', '', ie[2]))))
+        f.write("                   OAILOG_ERROR (LOG_%s, \"Decoding of IE %s for message %s failed (2) \\n\");\n" % (fileprefix.upper(), ienameunderscore, re.sub('-', '_', keyname)))
+        f.write("                    if (%s_p)\n" % (lowerFirstCamelWord(re.sub('-', '', ie[2]))))
+        f.write("                        ASN_STRUCT_FREE(asn_DEF_%s, %s_p);\n" % (re.sub('-', '_', ie[2]), lowerFirstCamelWord(re.sub('-', '', ie[2]))))
+        f.write("                    return -1;\n")
+        f.write("                }\n")
+        f.write("                decoded += tempDecoded;\n")
+        f.write("                if (asn1_xer_print)\n")
+        f.write("                    xer_fprint(stdout, &asn_DEF_%s, %s_p);\n" % (re.sub('-', '_', ie[2]), lowerFirstCamelWord(re.sub('-', '', ie[2]))))
+        f.write("                ASN_SEQUENCE_ADD(&%sIEs->%s, %s_p);\n" % (lowerFirstCamelWord(re.sub('-', '_', keyname)),
+        re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key))), lowerFirstCamelWord(re.sub('-', '', ie[2]))))
+        f.write("            } break;\n")
+    f.write("            default:\n")
+    f.write("               OAILOG_ERROR (LOG_%s, \"Unknown protocol IE id (%%d) for message %s\\n\", (int)ie_p->id);\n" % (fileprefix.upper(), re.sub('-', '_', structName.lower())))
+    f.write("                return -1;\n")
+    f.write("        }\n")
+    f.write("    }\n")
+    f.write("    return decoded;\n")
+    f.write("}\n\n")
+
+
+#Generate IES Encode functions
+f = open(outdir + fileprefix + '_encoder.c', 'w')
+outputHeaderToFile(f,filename)
+f.write("#include \"%s_common.h\"\n" % (fileprefix))
+f.write("#include \"%s_ies_defs.h\"\n\n" % (fileprefix))
+for key in iesDefs:
+    if key in ieofielist.values():
+        continue
+
+    structName = re.sub('ies', '', key)
+    asn1cStruct = re.sub('-', '_', re.sub('IEs', '', key))
+    asn1cStruct = re.sub('Item', 'List', asn1cStruct)
+    if asn1cStruct.rfind('_') == len(asn1cStruct) - 1:
+        asn1cStruct = asn1cStruct[:-1]
+    asn1cStructfirstlower = asn1cStruct[:1].lower() + asn1cStruct[1:]
+    firstwordlower = re.sub('Item', 'List', re.sub('enb', 'eNB', lowerFirstCamelWord(asn1cStruct)))
+
+    iesaccess = ""
+    if key not in ieofielist.values():
+        iesaccess = "%s_ies." % (firstwordlower)
+
+    keyName = re.sub('-', '_', key)
+    keyupperunderscore = keyName.upper()
+    # No IE to encode...
+    if len(iesDefs[key]["ies"]) == 0:
+        continue
+
+    f.write("int %s_encode_%s(\n" % (fileprefix, re.sub('-', '_', structName.lower())))
+    f.write("    %s_t *%s,\n" % (asn1cStruct, firstwordlower))
+    f.write("    %s_t *%s) {\n\n" % (re.sub('-', '_', key), lowerFirstCamelWord(re.sub('-', '_', key))))
+
+    f.write("    %s_IE_t *ie;\n\n" % (fileprefix_first_upper))
+
+    f.write("    assert(%s != NULL);\n" % (firstwordlower));
+    f.write("    assert(%s != NULL);\n\n" % (lowerFirstCamelWord(re.sub('-', '_', key))));
+
+    for ie in iesDefs[key]["ies"]:
+        iename = re.sub('-', '_', re.sub('id-', '', ie[0]))
+        ienameunderscore = re.sub('-', '_', iename)
+        ienamefirstwordlower = lowerFirstCamelWord(iename)
+        ieupperunderscore = re.sub('-', '_', re.sub('id-', '', ie[0])).upper()
+        ietypeunderscore = re.sub('-', '_', ie[2])
+
+        if ie[3] != "mandatory":
+            if ie[3] == "optional":
+                f.write("    /* Optional field */\n")
+            elif ie[3] == "conditional":
+                f.write("    /* Conditional field */\n")
+            f.write("    if (%s->presenceMask & %s_%s_PRESENT) {\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), keyupperunderscore, ieupperunderscore))
+            #f.write("        == %s_%s_PRESENT) {\n" % (keyupperunderscore, ieupperunderscore))
+            f.write("        if ((ie = %s_new_ie(%s_ProtocolIE_ID_%s,\n" % (fileprefix, fileprefix_first_upper, re.sub('-', '_', ie[0])))
+            f.write("                            %s_Criticality_%s,\n" % (fileprefix_first_upper, ie[1]))
+            f.write("                            &asn_DEF_%s,\n" % (ietypeunderscore))
+            f.write("                            &%s->%s)) == NULL) {\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), ienamefirstwordlower))
+            f.write("            return -1;\n")
+            f.write("        }\n")
+            f.write("        ASN_SEQUENCE_ADD(&%s->%slist, ie);\n" % (firstwordlower, iesaccess))
+            f.write("    }\n\n")
+        else:
+            if ie[2] in ieofielist.keys():
+                f.write("    %s_t %s;\n\n" % (ietypeunderscore, ienamefirstwordlower))
+                f.write("    memset(&%s, 0, sizeof(%s_t));\n" % (ienamefirstwordlower, ietypeunderscore))
+                f.write("\n")
+                f.write("    if (%s_encode_%s(&%s, &%s->%s) < 0) return -1;\n" % (fileprefix, ietypeunderscore.lower(), ienamefirstwordlower, lowerFirstCamelWord(re.sub('-', '_', key)), ienamefirstwordlower))
+            f.write("    if ((ie = %s_new_ie(%s_ProtocolIE_ID_%s,\n" % (fileprefix, fileprefix_first_upper, re.sub('-', '_', ie[0])))
+            f.write("                        %s_Criticality_%s,\n" % (fileprefix_first_upper, ie[1]))
+            f.write("                        &asn_DEF_%s,\n" % (ietypeunderscore))
+            if ie[2] in ieofielist.keys():
+                f.write("                          &%s)) == NULL) {\n" % (ienamefirstwordlower))
+            else:
+                f.write("                          &%s->%s)) == NULL) {\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), ienamefirstwordlower))
+            f.write("        return -1;\n")
+            f.write("    }\n")
+            f.write("    ASN_SEQUENCE_ADD(&%s->%slist, ie);\n\n" % (firstwordlower, iesaccess))
+            if ie[2] in ieofielist.keys():
+                f.write("    /* Free any dynamic allocation that is no more used */\n")
+                f.write("    ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_%s, &%s);\n\n" % (ietypeunderscore, ienamefirstwordlower))
+
+    f.write("    return 0;\n")
+    f.write("}\n\n")
+
+for (key, value) in iesDefs.items():
+    if key not in ieofielist.values():
+        continue
+
+    ie = value["ies"][0]
+    ietypeunderscore = re.sub('-', '_', ie[2])
+    asn1cStruct = re.sub('-', '_', re.sub('IEs', '', re.sub('-IEs', '', key)))
+    asn1cStruct = re.sub('Item', 'List', asn1cStruct)
+    firstwordlower = re.sub('Item', 'List', re.sub('enb', 'eNB', lowerFirstCamelWord(asn1cStruct)))
+
+    for (i, j) in ieofielist.items():
+        if j == key:
+            break
+    f.write("int %s_encode_%s(\n" % (fileprefix, re.sub('-', '_', i).lower()))
+    f.write("    %s_t *%s,\n" % (asn1cStruct, firstwordlower))
+    f.write("    %sIEs_t *%sIEs) {\n\n" % (re.sub('-', '_', i), lowerFirstCamelWord(re.sub('-', '_', i))))
+    f.write("    int i;\n")
+
+    f.write("    %s_IE_t *ie;\n\n" % (fileprefix_first_upper))
+
+    f.write("    assert(%s != NULL);\n" % (firstwordlower));
+    f.write("    assert(%sIEs != NULL);\n\n" % (lowerFirstCamelWord(re.sub('-', '_', i))));
+
+    f.write("    for (i = 0; i < %sIEs->%s.count; i++) {\n" % (firstwordlower, re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key)))))
+    f.write("        if ((ie = %s_new_ie(%s_ProtocolIE_ID_%s,\n" % (fileprefix, fileprefix_first_upper, re.sub('-', '_', ie[0])))
+    f.write("                            %s_Criticality_%s,\n" % (fileprefix_first_upper, ie[1]))
+    f.write("                            &asn_DEF_%s,\n" % (ietypeunderscore))
+    f.write("                            %sIEs->%s.array[i])) == NULL) {\n" % (firstwordlower, re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key)))))
+    f.write("            return -1;\n")
+    f.write("        }\n")
+    f.write("        ASN_SEQUENCE_ADD(&%s->list, ie);\n" % (firstwordlower))
+    f.write("    }\n")
+    f.write("    return 0;\n")
+    f.write("}\n\n")
+
+#Generate xer print functions
+f = open(outdir + fileprefix + '_xer_print.c', 'w')
+outputHeaderToFile(f, filename)
+f.write("#include <stdlib.h>\n")
+f.write("#include <stdio.h>\n\n")
+f.write("#include <asn_application.h>\n#include <asn_internal.h>\n\n")
+f.write("#include \"%s_common.h\"\n#include \"%s_ies_defs.h\"\n\n" % (fileprefix, fileprefix))
+
+f.write("size_t %s_string_total_size = 0;\n\n" % (fileprefix.lower()))
+f.write("""int
+%s_xer__print2fp(const void *buffer, size_t size, void *app_key) {
+    FILE *stream = (FILE *)app_key;
+
+    if(fwrite(buffer, 1, size, stream) != size)
+        return -1;
+
+    return 0;
+}
+
+""" % (fileprefix.lower()))
+
+f.write("""int %s_xer__print2sp(const void *buffer, size_t size, void *app_key) {
+    char *string = (char *)app_key;
+
+    /* Copy buffer to the formatted string */
+    memcpy(&string[%s_string_total_size], buffer, size);
+
+    %s_string_total_size += size;
+
+    return 0;
+}
+
+""" % (fileprefix.lower(), fileprefix.lower(), fileprefix.lower()))
+
+f.write("""static asn_enc_rval_t
+xer_encode_local(asn_TYPE_descriptor_t *td, void *sptr,
+        asn_app_consume_bytes_f *cb, void *app_key, int indent) {
+    asn_enc_rval_t er, tmper;
+    const char *mname;
+    size_t mlen;
+    int xcan = 2;
+
+    if(!td || !sptr) goto cb_failed;
+
+    mname = td->xml_tag;
+    mlen = strlen(mname);
+
+    _i_ASN_TEXT_INDENT(0, indent);
+    _ASN_CALLBACK3("<", 1, mname, mlen, ">", 1);
+
+    tmper = td->xer_encoder(td, sptr, indent + 1, XER_F_BASIC, cb, app_key);
+    if(tmper.encoded == -1) return tmper;
+
+    _ASN_CALLBACK3("</", 2, mname, mlen, ">\\n", xcan);
+
+    er.encoded = 4 + xcan + (2 * mlen) + tmper.encoded;
+
+    _ASN_ENCODED_OK(er);
+cb_failed:
+    _ASN_ENCODE_FAILED;
+}
+""")
+
+for (key, value) in iesDefs.items():
+    keyName = re.sub('-', '_', key)
+    keyupperunderscore = keyName.upper()
+    iesStructName = lowerFirstCamelWord(re.sub('-', '_', key))
+
+    ie = value["ies"][0]
+    ietypeunderscore = re.sub('-', '_', ie[2])
+
+    if key in ieofielist.values():
+        f.write("asn_enc_rval_t %s_xer_print_%s(\n" % (fileprefix, re.sub('ies', '', re.sub('item', 'list', re.sub('-', '_', key).lower()))))
+    else:
+        f.write("asn_enc_rval_t %s_xer_print_%s(\n" % (fileprefix, re.sub('ies', '', re.sub('-', '_', key).lower())))
+    #f.write("    FILE *file,\n")
+    f.write("    asn_app_consume_bytes_f *cb,\n")
+    f.write("    void *app_key,\n")
+    if key in ieofielist.values():
+        iesStructName = lowerFirstCamelWord(re.sub('Item', 'List', re.sub('-', '_', key)))
+        f.write("    %sIEs_t *%s) {\n\n" % (re.sub('IEs', '', re.sub('Item', 'List', re.sub('-', '_', key))), iesStructName))
+        f.write("    int i;\n")
+        f.write("    asn_enc_rval_t er;\n")
+    else:
+        f.write("    %s_message *message_p)\n{\n" % (fileprefix))
+        f.write("    %s_t *%s;\n" % (re.sub('-', '_', key), iesStructName))
+        f.write("    asn_enc_rval_t er;\n")
+        #f.write("    void *app_key = (void *)file;\n")
+        #f.write("    asn_app_consume_bytes_f *cb = %s_xer__print2fp;\n\n" % (fileprefix.lower()))
+
+        f.write("    %s = &message_p->msg.%s;\n\n" % (iesStructName, iesStructName))
+
+    if key in ieofielist.values():
+        # Increase indentation level
+        f.write("    for (i = 0; i < %s->%s.count; i++) {\n" % (iesStructName, re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key)))))
+        #f.write("        xer_fprint(file, &asn_DEF_%s, %s->%s.array[i]);\n" % (ietypeunderscore, iesStructName, re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key)))))
+        f.write("        er = xer_encode(&asn_DEF_%s, %s->%s.array[i], XER_F_BASIC, cb, app_key);\n" % (ietypeunderscore, iesStructName, re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key)))))
+        f.write("    }\n")
+    else:
+        f.write("    cb(\"<%s-PDU>\\n\", %d, app_key);\n" % (key, len("<%s-PDU>\n" % (key))))
+        f.write("    xer_encode_local(&asn_DEF_%s_Criticality, &message_p->criticality, cb, app_key, 1);\n" % fileprefix_first_upper)
+        f.write("    xer_encode_local(&asn_DEF_%s_ProcedureCode, &message_p->procedureCode, cb, app_key, 1);\n" % fileprefix_first_upper)
+
+        f.write("    cb(\"    <%s>\\n\", %d, app_key);\n" % (key, len("    <%s>\n" % (key))))
+
+        for ie in iesDefs[key]["ies"]:
+            iename = re.sub('-', '_', re.sub('id-', '', ie[0]))
+            ienameunderscore = re.sub('-', '_', iename)
+            ienamefirstwordlower = lowerFirstCamelWord(iename)
+            ietypeunderscore = re.sub('-', '_', ie[2])
+            ieupperunderscore = re.sub('-', '_', re.sub('id-', '', ie[0])).upper()
+
+            if ie[3] != "mandatory":
+                if ie[3] == "optional":
+                    f.write("    /* Optional field */\n")
+                elif ie[3] == "conditional":
+                    f.write("    /* Conditional field */\n")
+                f.write("    if (%s->presenceMask & %s_%s_PRESENT)\n    " % (iesStructName, keyupperunderscore, ieupperunderscore))
+
+            # Is it an encapsulated IE ?
+            if ie[2] in ieofielist.keys():
+                f.write("    %s_xer_print_%s(cb, app_key, &%s->%s);\n" % (fileprefix, re.sub('ies', '', re.sub('-', '_', ie[2]).lower()), iesStructName, ienamefirstwordlower))
+            else:
+                f.write("    xer_encode_local(&asn_DEF_%s, &%s->%s, cb, app_key, 2);\n" % (ietypeunderscore, iesStructName, ienamefirstwordlower))
+        f.write("    cb(\"    </%s>\\n\", %d, app_key);\n" % (key, len("    </%s>\n" % (key))))
+        f.write("    cb(\"</%s-PDU>\\n\", %d, app_key);\n" % (key, len("</%s-PDU>\n" % (key))))
+
+    f.write("    _ASN_ENCODED_OK(er);\n")
+    #if key not in ieofielist.values():
+        #f.write("cb_failed:\n")
+        #f.write("    return er;\n")
+    f.write("}\n\n")
diff --git a/src/s1ap/asn1c/asnGenFiles/asn_SEQUENCE_OF.h b/src/s1ap/asn1c/asnGenFiles/asn_SEQUENCE_OF.h
new file mode 100644
index 0000000..e35bc44
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/asn_SEQUENCE_OF.h
@@ -0,0 +1,52 @@
+/*-
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	ASN_SEQUENCE_OF_H
+#define	ASN_SEQUENCE_OF_H
+
+#include <asn_SET_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * SEQUENCE OF is the same as SET OF with a tiny difference:
+ * the delete operation preserves the initial order of elements
+ * and thus MAY operate in non-constant time.
+ */
+#define	A_SEQUENCE_OF(type)	A_SET_OF(type)
+
+#define	ASN_SEQUENCE_ADD(headptr, ptr)		\
+	asn_sequence_add((headptr), (ptr))
+
+/***********************************************
+ * Implementation of the SEQUENCE OF structure.
+ */
+
+#define	asn_sequence_add	asn_set_add
+#define	asn_sequence_empty	asn_set_empty
+
+/*
+ * Delete the element from the set by its number (base 0).
+ * This is NOT a constant-time operation.
+ * The order of elements is preserved.
+ * If _do_free is given AND the (*free) is initialized, the element
+ * will be freed using the custom (*free) function as well.
+ */
+void asn_sequence_del(void *asn_sequence_of_x, int number, int _do_free);
+
+/*
+ * Cope with different conversions requirements to/from void in C and C++.
+ * This is mostly useful for support library.
+ */
+typedef A_SEQUENCE_OF(void) asn_anonymous_sequence_;
+#define _A_SEQUENCE_FROM_VOID(ptr)	((asn_anonymous_sequence_ *)(ptr))
+#define _A_CSEQUENCE_FROM_VOID(ptr) 	((const asn_anonymous_sequence_ *)(ptr))
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* ASN_SEQUENCE_OF_H */
diff --git a/src/s1ap/asn1c/asnGenFiles/asn_SET_OF.h b/src/s1ap/asn1c/asnGenFiles/asn_SET_OF.h
new file mode 100644
index 0000000..882e1a4
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/asn_SET_OF.h
@@ -0,0 +1,72 @@
+/*-
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	ASN_SET_OF_H
+#define	ASN_SET_OF_H
+
+#ifdef __cplusplus
+#define A_SET_OF(type)                   \
+    struct {                             \
+        type **array;                    \
+        int count; /* Meaningful size */ \
+        int size;  /* Allocated size */  \
+        void (*free)(decltype(*array));  \
+    }
+#else   /* C */
+#define A_SET_OF(type)                   \
+    struct {                             \
+        type **array;                    \
+        int count; /* Meaningful size */ \
+        int size;  /* Allocated size */  \
+        void (*free)(type *);    \
+    }
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define	ASN_SET_ADD(headptr, ptr)		\
+	asn_set_add((headptr), (ptr))
+
+/*******************************************
+ * Implementation of the SET OF structure.
+ */
+
+/*
+ * Add another structure into the set by its pointer.
+ * RETURN VALUES:
+ * 0 for success and -1/errno for failure.
+ */
+int  asn_set_add(void *asn_set_of_x, void *ptr);
+
+/*
+ * Delete the element from the set by its number (base 0).
+ * This is a constant-time operation. The order of elements before the
+ * deleted ones is guaranteed, the order of elements after the deleted
+ * one is NOT guaranteed.
+ * If _do_free is given AND the (*free) is initialized, the element
+ * will be freed using the custom (*free) function as well.
+ */
+void asn_set_del(void *asn_set_of_x, int number, int _do_free);
+
+/*
+ * Empty the contents of the set. Will free the elements, if (*free) is given.
+ * Will NOT free the set itself.
+ */
+void asn_set_empty(void *asn_set_of_x);
+
+/*
+ * Cope with different conversions requirements to/from void in C and C++.
+ * This is mostly useful for support library.
+ */
+typedef A_SET_OF(void) asn_anonymous_set_;
+#define _A_SET_FROM_VOID(ptr)		((asn_anonymous_set_ *)(ptr))
+#define _A_CSET_FROM_VOID(ptr)		((const asn_anonymous_set_ *)(ptr))
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* ASN_SET_OF_H */
diff --git a/src/s1ap/asn1c/asnGenFiles/asn_application.h b/src/s1ap/asn1c/asnGenFiles/asn_application.h
new file mode 100644
index 0000000..034f646
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/asn_application.h
@@ -0,0 +1,171 @@
+/*-
+ * Copyright (c) 2004-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+/*
+ * Application-level ASN.1 callbacks.
+ */
+#ifndef	ASN_APPLICATION_H
+#define	ASN_APPLICATION_H
+
+#include "asn_system.h"		/* for platform-dependent types */
+#include "asn_codecs.h"		/* for ASN.1 codecs specifics */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * A selection of ASN.1 Transfer Syntaxes to use with generalized
+ * encoders and decoders declared further in this .h file.
+ */
+enum asn_transfer_syntax {
+    /* Avoid appearance of a default transfer syntax. */
+    ATS_INVALID = 0,
+    /* Plaintext output (not conforming to any standard), for debugging. */
+    ATS_NONSTANDARD_PLAINTEXT,
+    /* Returns a randomly generated structure. */
+    ATS_RANDOM,
+    /*
+     * X.690:
+     * BER: Basic Encoding Rules.
+     * DER: Distinguished Encoding Rules.
+     * CER: Canonical Encoding Rules.
+     * DER and CER are more strict variants of BER.
+     */
+    ATS_BER,
+    ATS_DER,
+    ATS_CER, /* Only decoding is supported */
+    /*
+     * X.696:
+     * OER: Octet Encoding Rules.
+     * CANONICAL-OER is a more strict variant of BASIC-OER.
+     */
+    ATS_BASIC_OER,
+    ATS_CANONICAL_OER,
+    /*
+     * X.691:
+     * PER: Packed Encoding Rules.
+     * CANONICAL-PER is a more strict variant of BASIC-PER.
+     * NOTE: Produces or consumes a complete encoding (X.691 (08/2015) #11.1).
+     */
+    ATS_UNALIGNED_BASIC_PER,
+    ATS_UNALIGNED_CANONICAL_PER,
+    ATS_ALIGNED_BASIC_PER,
+    ATS_ALIGNED_CANONICAL_PER,
+    /*
+     * X.693:
+     * XER: XML Encoding Rules.
+     * CANONICAL-XER is a more strict variant of BASIC-XER.
+     */
+    ATS_BASIC_XER,
+    ATS_CANONICAL_XER
+};
+
+/*
+ * A generic encoder for any supported transfer syntax.
+ * RETURN VALUES:
+ * The (.encoded) field of the return value is REDEFINED to mean the following:
+ * >=0: The computed size of the encoded data. Can exceed the (buffer_size).
+ *  -1: Error encoding the structure. See the error code in (errno):
+ *      EINVAL: Incorrect parameters to the function, such as NULLs.
+ *      ENOENT: Encoding transfer syntax is not defined (for this type).
+ *      EBADF:  The structure has invalid form or content constraint failed.
+ *      The (.failed_type) and (.structure_ptr) MIGHT be set to the appropriate
+ *      values at the place of failure, if at all possible.
+ * WARNING: The (.encoded) field of the return value can exceed the buffer_size.
+ * This is similar to snprintf(3) contract which might return values
+ * greater than the buffer size.
+ */
+asn_enc_rval_t asn_encode_to_buffer(
+    const asn_codec_ctx_t *opt_codec_parameters, /* See asn_codecs.h */
+    enum asn_transfer_syntax,
+    const struct asn_TYPE_descriptor_s *type_to_encode,
+    const void *structure_to_encode, void *buffer, size_t buffer_size);
+
+/*
+ * A variant of asn_encode_to_buffer() with automatically allocated buffer.
+ * RETURN VALUES:
+ * On success, returns a newly allocated (.buffer) containing the whole message.
+ * The message size is returned in (.result.encoded).
+ * On failure:
+ *  (.buffer) is NULL,
+ *  (.result.encoded) as in asn_encode_to_buffer(),
+ *  The errno codes as in asn_encode_to_buffer(), plus the following:
+ *      ENOMEM: Memory allocation failed due to system or internal limits.
+ * The user is responsible for freeing the (.buffer).
+ */
+typedef struct asn_encode_to_new_buffer_result_s {
+    void *buffer;   /* NULL if failed to encode. */
+    asn_enc_rval_t result;
+} asn_encode_to_new_buffer_result_t;
+asn_encode_to_new_buffer_result_t asn_encode_to_new_buffer(
+    const asn_codec_ctx_t *opt_codec_parameters, /* See asn_codecs.h */
+    enum asn_transfer_syntax,
+    const struct asn_TYPE_descriptor_s *type_to_encode,
+    const void *structure_to_encode);
+
+
+/*
+ * Generic type of an application-defined callback to return various
+ * types of data to the application.
+ * EXPECTED RETURN VALUES:
+ *  -1: Failed to consume bytes. Abort the mission.
+ * Non-negative return values indicate success, and ignored.
+ */
+typedef int(asn_app_consume_bytes_f)(const void *buffer, size_t size,
+                                     void *application_specific_key);
+
+
+/*
+ * A generic encoder for any supported transfer syntax.
+ * Returns the comprehensive encoding result descriptor (see asn_codecs.h).
+ * RETURN VALUES:
+ * The negative (.encoded) field of the return values is accompanied with the
+ * following error codes (errno):
+ *      EINVAL: Incorrect parameters to the function, such as NULLs.
+ *      ENOENT: Encoding transfer syntax is not defined (for this type).
+ *      EBADF:  The structure has invalid form or content constraint failed.
+ *      EIO:    The (callback) has returned negative value during encoding.
+ */
+asn_enc_rval_t asn_encode(
+    const asn_codec_ctx_t *opt_codec_parameters, /* See asn_codecs.h */
+    enum asn_transfer_syntax,
+    const struct asn_TYPE_descriptor_s *type_to_encode,
+    const void *structure_to_encode,
+    asn_app_consume_bytes_f *callback, void *callback_key);
+
+
+/*
+ * A generic decoder for any supported transfer syntax.
+ */
+asn_dec_rval_t asn_decode(
+    const asn_codec_ctx_t *opt_codec_parameters, enum asn_transfer_syntax,
+    const struct asn_TYPE_descriptor_s *type_to_decode,
+    void **structure_ptr, /* Pointer to a target structure's pointer */
+    const void *buffer,   /* Data to be decoded */
+    size_t size           /* Size of that buffer */
+);
+
+
+/*
+ * A callback of this type is called whenever constraint validation fails
+ * on some ASN.1 type. See "constraints.h" for more details on constraint
+ * validation.
+ * This callback specifies a descriptor of the ASN.1 type which failed
+ * the constraint check, as well as human readable message on what
+ * particular constraint has failed.
+ */
+typedef void (asn_app_constraint_failed_f)(void *application_specific_key,
+	const struct asn_TYPE_descriptor_s *type_descriptor_which_failed,
+	const void *structure_which_failed_ptr,
+	const char *error_message_format, ...) CC_PRINTFLIKE(4, 5);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#include "constr_TYPE.h"	/* for asn_TYPE_descriptor_t */
+
+#endif	/* ASN_APPLICATION_H */
diff --git a/src/s1ap/asn1c/asnGenFiles/asn_bit_data.h b/src/s1ap/asn1c/asnGenFiles/asn_bit_data.h
new file mode 100644
index 0000000..59de7af
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/asn_bit_data.h
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2005-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	ASN_BIT_DATA
+#define	ASN_BIT_DATA
+
+#include <asn_system.h>		/* Platform-specific types */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * This structure describes a position inside an incoming PER bit stream.
+ */
+typedef struct asn_bit_data_s {
+  const uint8_t *buffer;  /* Pointer to the octet stream */
+         size_t  nboff;   /* Bit offset to the meaningful bit */
+         size_t  nbits;   /* Number of bits in the stream */
+         size_t  moved;   /* Number of bits moved through this bit stream */
+  int (*refill)(struct asn_bit_data_s *);
+  void *refill_key;
+} asn_bit_data_t;
+
+/*
+ * Create a contiguous non-refillable bit data structure.
+ * Can be freed by FREEMEM().
+ */
+asn_bit_data_t *asn_bit_data_new_contiguous(const void *data, size_t size_bits);
+
+/*
+ * Extract a small number of bits (<= 31) from the specified PER data pointer.
+ * This function returns -1 if the specified number of bits could not be
+ * extracted due to EOD or other conditions.
+ */
+int32_t asn_get_few_bits(asn_bit_data_t *, int get_nbits);
+
+/* Undo the immediately preceeding "get_few_bits" operation */
+void asn_get_undo(asn_bit_data_t *, int get_nbits);
+
+/*
+ * Extract a large number of bits from the specified PER data pointer.
+ * This function returns -1 if the specified number of bits could not be
+ * extracted due to EOD or other conditions.
+ */
+int asn_get_many_bits(asn_bit_data_t *, uint8_t *dst, int right_align,
+			int get_nbits);
+
+/* Non-thread-safe debugging function, don't use it */
+char *asn_bit_data_string(asn_bit_data_t *);
+
+/*
+ * This structure supports forming bit output.
+ */
+typedef struct asn_bit_outp_s {
+	uint8_t *buffer;	/* Pointer into the (tmpspace) */
+	size_t nboff;		/* Bit offset to the meaningful bit */
+	size_t nbits;		/* Number of bits left in (tmpspace) */
+	uint8_t tmpspace[32];	/* Preliminary storage to hold data */
+	int (*output)(const void *data, size_t size, void *op_key);
+	void *op_key;		/* Key for (output) data callback */
+	size_t flushed_bytes;	/* Bytes already flushed through (output) */
+} asn_bit_outp_t;
+
+/* Output a small number of bits (<= 31) */
+int asn_put_few_bits(asn_bit_outp_t *, uint32_t bits, int obits);
+
+/* Output a large number of bits */
+int asn_put_many_bits(asn_bit_outp_t *, const uint8_t *src, int put_nbits);
+
+/*
+ * Flush whole bytes (0 or more) through (outper) member.
+ * The least significant bits which are not used are guaranteed to be set to 0.
+ * Returns -1 if callback returns -1. Otherwise, 0.
+ */
+int asn_put_aligned_flush(asn_bit_outp_t *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* ASN_BIT_DATA */
diff --git a/src/s1ap/asn1c/asnGenFiles/asn_codecs.h b/src/s1ap/asn1c/asnGenFiles/asn_codecs.h
new file mode 100644
index 0000000..e75c270
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/asn_codecs.h
@@ -0,0 +1,108 @@
+/*
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	ASN_CODECS_H
+#define	ASN_CODECS_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct asn_TYPE_descriptor_s;	/* Forward declaration */
+
+/*
+ * This structure defines a set of parameters that may be passed
+ * to every ASN.1 encoder or decoder function.
+ * WARNING: if max_stack_size member is set, and you are calling the
+ *   function pointers of the asn_TYPE_descriptor_t directly,
+ *   this structure must be ALLOCATED ON THE STACK!
+ *   If you can't always satisfy this requirement, use ber_decode(),
+ *   xer_decode() and uper_decode() functions instead.
+ */
+typedef struct asn_codec_ctx_s {
+	/*
+	 * Limit the decoder routines to use no (much) more stack than a given
+	 * number of bytes. Most of decoders are stack-based, and this
+	 * would protect against stack overflows if the number of nested
+	 * encodings is high.
+	 * The OCTET STRING, BIT STRING and ANY BER decoders are heap-based,
+	 * and are safe from this kind of overflow.
+	 * A value from getrlimit(RLIMIT_STACK) may be used to initialize
+	 * this variable. Be careful in multithreaded environments, as the
+	 * stack size is rather limited.
+	 */
+	size_t  max_stack_size; /* 0 disables stack bounds checking */
+} asn_codec_ctx_t;
+
+/*
+ * Type of the return value of the encoding functions (der_encode, xer_encode).
+ */
+typedef struct asn_enc_rval_s {
+	/*
+	 * Number of bytes encoded.
+	 * -1 indicates failure to encode the structure.
+	 * In this case, the members below this one are meaningful.
+	 */
+	ssize_t encoded;
+
+	/*
+	 * Members meaningful when (encoded == -1), for post mortem analysis.
+	 */
+
+	/* Type which cannot be encoded */
+	const struct asn_TYPE_descriptor_s *failed_type;
+
+	/* Pointer to the structure of that type */
+	const void *structure_ptr;
+} asn_enc_rval_t;
+#define	ASN__ENCODE_FAILED do {					\
+	asn_enc_rval_t tmp_error;				\
+	tmp_error.encoded = -1;					\
+	tmp_error.failed_type = td;				\
+	tmp_error.structure_ptr = sptr;				\
+	ASN_DEBUG("Failed to encode element %s", td ? td->name : "");	\
+	return tmp_error;					\
+} while(0)
+#define	ASN__ENCODED_OK(rval) do {				\
+	rval.structure_ptr = 0;					\
+	rval.failed_type = 0;					\
+	return rval;						\
+} while(0)
+
+/*
+ * Type of the return value of the decoding functions (ber_decode, xer_decode)
+ * 
+ * Please note that the number of consumed bytes is ALWAYS meaningful,
+ * even if code==RC_FAIL. This is to indicate the number of successfully
+ * decoded bytes, hence providing a possibility to fail with more diagnostics
+ * (i.e., print the offending remainder of the buffer).
+ */
+enum asn_dec_rval_code_e {
+	RC_OK,		/* Decoded successfully */
+	RC_WMORE,	/* More data expected, call again */
+	RC_FAIL		/* Failure to decode data */
+};
+typedef struct asn_dec_rval_s {
+	enum asn_dec_rval_code_e code;	/* Result code */
+	size_t consumed;		/* Number of bytes consumed */
+} asn_dec_rval_t;
+#define	ASN__DECODE_FAILED do {					\
+	asn_dec_rval_t tmp_error;				\
+	tmp_error.code = RC_FAIL;				\
+	tmp_error.consumed = 0;					\
+	ASN_DEBUG("Failed to decode element %s", td ? td->name : "");	\
+	return tmp_error;					\
+} while(0)
+#define	ASN__DECODE_STARVED do {				\
+	asn_dec_rval_t tmp_error;				\
+	tmp_error.code = RC_WMORE;				\
+	tmp_error.consumed = 0;					\
+	return tmp_error;					\
+} while(0)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* ASN_CODECS_H */
diff --git a/src/s1ap/asn1c/asnGenFiles/asn_codecs_prim.h b/src/s1ap/asn1c/asnGenFiles/asn_codecs_prim.h
new file mode 100644
index 0000000..fbc5576
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/asn_codecs_prim.h
@@ -0,0 +1,51 @@
+/*-
+ * Copyright (c) 2004-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	ASN_CODECS_PRIM_H
+#define	ASN_CODECS_PRIM_H
+
+#include <asn_application.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct ASN__PRIMITIVE_TYPE_s {
+    uint8_t *buf;   /* Buffer with consecutive primitive encoding bytes */
+    size_t size;    /* Size of the buffer */
+} ASN__PRIMITIVE_TYPE_t;	/* Do not use this type directly! */
+
+asn_struct_free_f ASN__PRIMITIVE_TYPE_free;
+ber_type_decoder_f ber_decode_primitive;
+der_type_encoder_f der_encode_primitive;
+
+/*
+ * A callback specification for the xer_decode_primitive() function below.
+ */
+enum xer_pbd_rval {
+    XPBD_SYSTEM_FAILURE,  /* System failure (memory shortage, etc) */
+    XPBD_DECODER_LIMIT,   /* Hit some decoder limitation or deficiency */
+    XPBD_BROKEN_ENCODING, /* Encoding of a primitive body is broken */
+    XPBD_NOT_BODY_IGNORE, /* Not a body format, but safe to ignore */
+    XPBD_BODY_CONSUMED    /* Body is recognized and consumed */
+};
+typedef enum xer_pbd_rval(xer_primitive_body_decoder_f)(
+    const asn_TYPE_descriptor_t *td, void *struct_ptr, const void *chunk_buf,
+    size_t chunk_size);
+
+/*
+ * Specific function to decode simple primitive types.
+ * Also see xer_decode_general() in xer_decoder.h
+ */
+asn_dec_rval_t xer_decode_primitive(
+    const asn_codec_ctx_t *opt_codec_ctx,
+    const asn_TYPE_descriptor_t *type_descriptor, void **struct_ptr,
+    size_t struct_size, const char *opt_mname, const void *buf_ptr, size_t size,
+    xer_primitive_body_decoder_f *prim_body_decoder);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* ASN_CODECS_PRIM_H */
diff --git a/src/s1ap/asn1c/asnGenFiles/asn_constant.h b/src/s1ap/asn1c/asnGenFiles/asn_constant.h
new file mode 100644
index 0000000..8148b4a
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/asn_constant.h
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ */
+
+#ifndef _ASN_CONSTANT_H
+#define _ASN_CONSTANT_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define maxPrivateIEs (65535)
+#define maxProtocolExtensions (65535)
+#define maxProtocolIEs (65535)
+#define maxnoofCSGs (256)
+#define maxnoofE_RABs (256)
+#define maxnoofTAIs (256)
+#define maxnoofTACs (256)
+#define maxnoofErrors (256)
+#define maxnoofBPLMNs (6)
+#define maxnoofPLMNsPerMME (32)
+#define maxnoofEPLMNs (15)
+#define maxnoofEPLMNsPlusOne (16)
+#define maxnoofForbLACs (4096)
+#define maxnoofForbTACs (4096)
+#define maxnoofIndividualS1ConnectionsToReset (256)
+#define maxnoofCellsinUEHistoryInfo (16)
+#define maxnoofCellsineNB (256)
+#define maxnoofTAIforWarning (65535)
+#define maxnoofCellID (65535)
+#define maxnoofDCNs (32)
+#define maxnoofEmergencyAreaID (65535)
+#define maxnoofCellinTAI (65535)
+#define maxnoofCellinEAI (65535)
+#define maxnoofeNBX2TLAs (2)
+#define maxnoofeNBX2ExtTLAs (16)
+#define maxnoofeNBX2GTPTLAs (16)
+#define maxnoofRATs (8)
+#define maxnoofGroupIDs (65535)
+#define maxnoofMMECs (256)
+#define maxnoofCellIDforMDT (32)
+#define maxnoofTAforMDT (8)
+#define maxnoofMDTPLMNs (16)
+#define maxnoofCellsforRestart (256)
+#define maxnoofRestartTAIs (2048)
+#define maxnoofRestartEmergencyAreaIDs (256)
+#define maxEARFCN (262143)
+#define maxnoofMBSFNAreaMDT (8)
+#define maxnoofRecommendedCells (16)
+#define maxnoofRecommendedENBs (16)
+#define maxnooftimeperiods (2)
+#define maxnoofCellIDforQMC (32)
+#define maxnoofTAforQMC (8)
+#define maxnoofPLMNforQMC (16)
+#define maxnoofBluetoothName (4)
+#define maxnoofWLANName (4)
+#define maxnoofConnectedengNBs (256)
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ASN_CONSTANT_H */
diff --git a/src/s1ap/asn1c/asnGenFiles/asn_internal.h b/src/s1ap/asn1c/asnGenFiles/asn_internal.h
new file mode 100644
index 0000000..77b270c
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/asn_internal.h
@@ -0,0 +1,153 @@
+/*
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+/*
+ * Declarations internally useful for the ASN.1 support code.
+ */
+#ifndef	ASN_INTERNAL_H
+#define	ASN_INTERNAL_H
+#ifndef __EXTENSIONS__
+#define __EXTENSIONS__          /* for Sun */
+#endif
+
+#include "asn_application.h"	/* Application-visible API */
+
+#ifndef	__NO_ASSERT_H__		/* Include assert.h only for internal use. */
+#include <assert.h>		/* for assert() macro */
+#endif
+
+#ifdef	__cplusplus
+extern "C" {
+#endif
+
+/* Environment version might be used to avoid running with the old library */
+#define	ASN1C_ENVIRONMENT_VERSION	923	/* Compile-time version */
+int get_asn1c_environment_version(void);	/* Run-time version */
+
+#define	CALLOC(nmemb, size)	calloc(nmemb, size)
+#define	MALLOC(size)		malloc(size)
+#define	REALLOC(oldptr, size)	realloc(oldptr, size)
+#define	FREEMEM(ptr)		free(ptr)
+
+#define	asn_debug_indent	0
+#define ASN_DEBUG_INDENT_ADD(i) do{}while(0)
+
+#ifdef  EMIT_ASN_DEBUG
+#warning "Use ASN_EMIT_DEBUG instead of EMIT_ASN_DEBUG"
+#define ASN_EMIT_DEBUG  EMIT_ASN_DEBUG
+#endif
+
+/*
+ * A macro for debugging the ASN.1 internals.
+ * You may enable or override it.
+ */
+#ifndef	ASN_DEBUG	/* If debugging code is not defined elsewhere... */
+#if	ASN_EMIT_DEBUG == 1	/* And it was asked to emit this code... */
+#if __STDC_VERSION__ >= 199901L
+#ifdef	ASN_THREAD_SAFE
+/* Thread safety requires sacrifice in output indentation:
+ * Retain empty definition of ASN_DEBUG_INDENT_ADD. */
+#else	/* !ASN_THREAD_SAFE */
+#undef  ASN_DEBUG_INDENT_ADD
+#undef  asn_debug_indent
+int asn_debug_indent;
+#define ASN_DEBUG_INDENT_ADD(i) do { asn_debug_indent += i; } while(0)
+#endif	/* ASN_THREAD_SAFE */
+#define	ASN_DEBUG(fmt, args...)	do {			\
+		int adi = asn_debug_indent;		\
+		while(adi--) fprintf(stderr, " ");	\
+		fprintf(stderr, fmt, ##args);		\
+		fprintf(stderr, " (%s:%d)\n",		\
+			__FILE__, __LINE__);		\
+	} while(0)
+#else	/* !C99 */
+void CC_PRINTFLIKE(1, 2) ASN_DEBUG_f(const char *fmt, ...);
+#define	ASN_DEBUG	ASN_DEBUG_f
+#endif	/* C99 */
+#else	/* ASN_EMIT_DEBUG != 1 */
+#if __STDC_VERSION__ >= 199901L
+#define ASN_DEBUG(...) do{}while(0)
+#else   /* not C99 */
+static void CC_PRINTFLIKE(1, 2) ASN_DEBUG(const char *fmt, ...) { (void)fmt; }
+#endif  /* C99 or better */
+#endif	/* ASN_EMIT_DEBUG */
+#endif	/* ASN_DEBUG */
+
+/*
+ * Print to a callback.
+ * The callback is expected to return negative values on error.
+ * 0 and positive values are treated as success.
+ * RETURN VALUES:
+ *  -1: Failed to format or invoke the callback.
+ *  >0: Size of the data that got delivered to the callback.
+ */
+ssize_t CC_PRINTFLIKE(3, 4)
+asn__format_to_callback(
+    int (*callback)(const void *, size_t, void *key), void *key,
+    const char *fmt, ...);
+
+/*
+ * Invoke the application-supplied callback and fail, if something is wrong.
+ */
+#define ASN__E_cbc(buf, size) (cb((buf), (size), app_key) < 0)
+#define ASN__E_CALLBACK(size, foo) \
+    do {                           \
+        if(foo) goto cb_failed;    \
+        er.encoded += (size);      \
+    } while(0)
+#define ASN__CALLBACK(buf, size) ASN__E_CALLBACK(size, ASN__E_cbc(buf, size))
+#define ASN__CALLBACK2(buf1, size1, buf2, size2) \
+    ASN__E_CALLBACK((size1) + (size2),           \
+                    ASN__E_cbc(buf1, size1) || ASN__E_cbc(buf2, size2))
+#define ASN__CALLBACK3(buf1, size1, buf2, size2, buf3, size3)          \
+    ASN__E_CALLBACK((size1) + (size2) + (size3),                       \
+                    ASN__E_cbc(buf1, size1) || ASN__E_cbc(buf2, size2) \
+                        || ASN__E_cbc(buf3, size3))
+
+#define ASN__TEXT_INDENT(nl, level)                                          \
+    do {                                                                     \
+        int tmp_level = (level);                                             \
+        int tmp_nl = ((nl) != 0);                                            \
+        int tmp_i;                                                           \
+        if(tmp_nl) ASN__CALLBACK("\n", 1);                                   \
+        if(tmp_level < 0) tmp_level = 0;                                     \
+        for(tmp_i = 0; tmp_i < tmp_level; tmp_i++) ASN__CALLBACK("    ", 4); \
+    } while(0)
+
+#define	_i_INDENT(nl)	do {                        \
+        int tmp_i;                                  \
+        if((nl) && cb("\n", 1, app_key) < 0)        \
+            return -1;                              \
+        for(tmp_i = 0; tmp_i < ilevel; tmp_i++)     \
+            if(cb("    ", 4, app_key) < 0)          \
+                return -1;                          \
+    } while(0)
+
+/*
+ * Check stack against overflow, if limit is set.
+ */
+#define	ASN__DEFAULT_STACK_MAX	(30000)
+static int CC_NOTUSED
+ASN__STACK_OVERFLOW_CHECK(const asn_codec_ctx_t *ctx) {
+	if(ctx && ctx->max_stack_size) {
+
+		/* ctx MUST be allocated on the stack */
+		ptrdiff_t usedstack = ((const char *)ctx - (const char *)&ctx);
+		if(usedstack > 0) usedstack = -usedstack; /* grows up! */
+
+		/* double negative required to avoid int wrap-around */
+		if(usedstack < -(ptrdiff_t)ctx->max_stack_size) {
+			ASN_DEBUG("Stack limit %ld reached",
+				(long)ctx->max_stack_size);
+			return -1;
+		}
+	}
+	return 0;
+}
+
+#ifdef	__cplusplus
+}
+#endif
+
+#endif	/* ASN_INTERNAL_H */
diff --git a/src/s1ap/asn1c/asnGenFiles/asn_ioc.h b/src/s1ap/asn1c/asnGenFiles/asn_ioc.h
new file mode 100644
index 0000000..7de210e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/asn_ioc.h
@@ -0,0 +1,51 @@
+/*
+ * Run-time support for Information Object Classes.
+ * Copyright (c) 2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	ASN_IOC_H
+#define	ASN_IOC_H
+
+#include <asn_system.h>		/* Platform-specific types */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct asn_TYPE_descriptor_s;
+struct asn_ioc_cell_s;
+
+/*
+ * X.681, #13
+ */
+typedef struct asn_ioc_set_s {
+    size_t rows_count;
+    size_t columns_count;
+    const struct asn_ioc_cell_s *rows;
+} asn_ioc_set_t;
+
+
+typedef struct asn_ioc_cell_s {
+    const char *field_name; /* Is equal to corresponding column_name */
+    enum {
+        aioc__undefined = 0,
+        aioc__value,
+        aioc__type,
+        aioc__open_type,
+    } cell_kind;
+    struct asn_TYPE_descriptor_s *type_descriptor;
+    const void *value_sptr;
+    struct {
+        size_t types_count;
+        struct {
+            unsigned choice_position;
+        } *types;
+    } open_type;
+} asn_ioc_cell_t;
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* ASN_IOC_H */
diff --git a/src/s1ap/asn1c/asnGenFiles/asn_random_fill.h b/src/s1ap/asn1c/asnGenFiles/asn_random_fill.h
new file mode 100644
index 0000000..47f9b8a
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/asn_random_fill.h
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	ASN_RANDOM_FILL
+#define	ASN_RANDOM_FILL
+
+/* Forward declarations */
+struct asn_TYPE_descriptor_s;
+struct asn_encoding_constraints_s;
+
+/*
+ * Initialize a structure with random data according to the type specification
+ * and optional member constraints.
+ * ARGUMENTS:
+ *  (max_length)        - See (approx_max_length_limit).
+ *  (memb_constraints)  - Member constraints, if exist.
+ *                        The type can be constrained differently according
+ *                        to PER and OER specifications, so we find a value
+ *                        at the intersection of these constraints.
+ * In case the return differs from ARFILL_OK, the (struct_ptr) contents
+ * and (current_length) value remain in their original state.
+ */
+typedef struct asn_random_fill_result_s {
+    enum {
+        ARFILL_FAILED = -1, /* System error (memory?) */
+        ARFILL_OK = 0,      /* Initialization succeeded */
+        ARFILL_SKIPPED = 1  /* Not done due to (length?) constraint */
+    } code;
+    size_t length; /* Approximate number of bytes created. */
+} asn_random_fill_result_t;
+typedef asn_random_fill_result_t(asn_random_fill_f)(
+    const struct asn_TYPE_descriptor_s *td, void **struct_ptr,
+    const struct asn_encoding_constraints_s *memb_constraints,
+    size_t max_length);
+
+/*
+ * Returns 0 if the structure was properly initialized, -1 otherwise.
+ * The (approx_max_length_limit) specifies the approximate limit of the
+ * resulting structure in units closely resembling bytes. The actual result
+ * might be several times larger or smaller than the length limit.
+ */
+int asn_random_fill(const struct asn_TYPE_descriptor_s *td, void **struct_ptr,
+                    size_t approx_max_length_limit);
+
+/*
+ * Returns a random number between min and max.
+ */
+intmax_t asn_random_between(intmax_t min, intmax_t max);
+
+#endif	/* ASN_RANDOM_FILL */
diff --git a/src/s1ap/asn1c/asnGenFiles/asn_system.h b/src/s1ap/asn1c/asnGenFiles/asn_system.h
new file mode 100644
index 0000000..fa8cf11
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/asn_system.h
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+/*
+ * Miscellaneous system-dependent types.
+ */
+#ifndef	ASN_SYSTEM_H
+#define	ASN_SYSTEM_H
+
+#ifdef	HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#ifndef _DEFAULT_SOURCE
+#define _DEFAULT_SOURCE 1
+#endif
+
+#ifndef _BSD_SOURCE
+#define _BSD_SOURCE /* for snprintf() on some linux systems  */
+#endif
+
+#include <stdio.h>	/* For snprintf(3) */
+#include <stdlib.h>	/* For *alloc(3) */
+#include <string.h>	/* For memcpy(3) */
+#include <sys/types.h>	/* For size_t */
+#include <limits.h>	/* For LONG_MAX */
+#include <stdarg.h>	/* For va_start */
+#include <stddef.h>	/* for offsetof and ptrdiff_t */
+
+#ifdef	_WIN32
+
+#include <malloc.h>
+#define	 snprintf	_snprintf
+#define	 vsnprintf	_vsnprintf
+
+/* To avoid linking with ws2_32.lib, here's the definition of ntohl() */
+#define sys_ntohl(l)	((((l) << 24)  & 0xff000000)	\
+			| (((l) << 8) & 0xff0000)	\
+			| (((l) >> 8)  & 0xff00)	\
+			| ((l >> 24) & 0xff))
+
+#ifdef _MSC_VER			/* MSVS.Net */
+#ifndef __cplusplus
+#define inline __inline
+#endif
+#ifndef	ASSUMESTDTYPES	/* Standard types have been defined elsewhere */
+#define	ssize_t		SSIZE_T
+#if _MSC_VER < 1600
+typedef	char		int8_t;
+typedef	short		int16_t;
+typedef	int		int32_t;
+typedef	unsigned char	uint8_t;
+typedef	unsigned short	uint16_t;
+typedef	unsigned int	uint32_t;
+#else /* _MSC_VER >= 1600 */
+#include <stdint.h>
+#endif /* _MSC_VER < 1600 */
+#endif	/* ASSUMESTDTYPES */
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#include <float.h>
+#define isnan _isnan
+#define finite _finite
+#define copysign _copysign
+#define	ilogb	_logb
+#else	/* !_MSC_VER */
+#include <stdint.h>
+#endif	/* _MSC_VER */
+
+#else	/* !_WIN32 */
+
+#if defined(__vxworks)
+#include <types/vxTypes.h>
+#else	/* !defined(__vxworks) */
+
+#include <inttypes.h>	/* C99 specifies this file */
+#include <netinet/in.h> /* for ntohl() */
+#define	sys_ntohl(foo)	ntohl(foo)
+#endif	/* defined(__vxworks) */
+
+#endif	/* _WIN32 */
+
+#if	__GNUC__ >= 3 || defined(__clang__)
+#define CC_ATTRIBUTE(attr)    __attribute__((attr))
+#else
+#define CC_ATTRIBUTE(attr)
+#endif
+#define CC_PRINTFLIKE(fmt, var)     CC_ATTRIBUTE(format(printf, fmt, var))
+#define	CC_NOTUSED                  CC_ATTRIBUTE(unused)
+#ifndef CC_ATTR_NO_SANITIZE
+#define CC_ATTR_NO_SANITIZE(what)   CC_ATTRIBUTE(no_sanitize(what))
+#endif
+
+/* Figure out if thread safety is requested */
+#if !defined(ASN_THREAD_SAFE) && (defined(THREAD_SAFE) || defined(_REENTRANT))
+#define	ASN_THREAD_SAFE
+#endif	/* Thread safety */
+
+#ifndef	offsetof	/* If not defined by <stddef.h> */
+#define	offsetof(s, m)	((ptrdiff_t)&(((s *)0)->m) - (ptrdiff_t)((s *)0))
+#endif	/* offsetof */
+
+#ifndef	MIN		/* Suitable for comparing primitive types (integers) */
+#if defined(__GNUC__)
+#define	MIN(a,b)	({ __typeof a _a = a; __typeof b _b = b;	\
+	((_a)<(_b)?(_a):(_b)); })
+#else	/* !__GNUC__ */
+#define	MIN(a,b)	((a)<(b)?(a):(b))	/* Unsafe variant */
+#endif /* __GNUC__ */
+#endif	/* MIN */
+
+#if __STDC_VERSION__ >= 199901L
+#ifndef SIZE_MAX
+#define SIZE_MAX   ((~((size_t)0)) >> 1)
+#endif
+
+#ifndef RSIZE_MAX   /* C11, Annex K */
+#define RSIZE_MAX   (SIZE_MAX >> 1)
+#endif
+#ifndef RSSIZE_MAX   /* Halve signed size even further than unsigned */
+#define RSSIZE_MAX   ((ssize_t)(RSIZE_MAX >> 1))
+#endif
+#else   /* Old compiler */
+#undef  SIZE_MAX
+#undef  RSIZE_MAX
+#undef  RSSIZE_MAX
+#define SIZE_MAX   ((~((size_t)0)) >> 1)
+#define RSIZE_MAX   (SIZE_MAX >> 1)
+#define RSSIZE_MAX   ((ssize_t)(RSIZE_MAX >> 1))
+#endif
+
+#if __STDC_VERSION__ >= 199901L
+#define ASN_PRI_SIZE "zu"
+#define ASN_PRI_SSIZE "zd"
+#define ASN_PRIuMAX PRIuMAX
+#define ASN_PRIdMAX PRIdMAX
+#else
+#define ASN_PRI_SIZE "lu"
+#define ASN_PRI_SSIZE "ld"
+#if LLONG_MAX > LONG_MAX
+#define ASN_PRIuMAX "llu"
+#define ASN_PRIdMAX "lld"
+#else
+#define ASN_PRIuMAX "lu"
+#define ASN_PRIdMAX "ld"
+#endif
+#endif
+
+#endif	/* ASN_SYSTEM_H */
diff --git a/src/s1ap/asn1c/asnGenFiles/ber_decoder.h b/src/s1ap/asn1c/asnGenFiles/ber_decoder.h
new file mode 100644
index 0000000..1ac2a5e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ber_decoder.h
@@ -0,0 +1,66 @@
+/*-
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	_BER_DECODER_H_
+#define	_BER_DECODER_H_
+
+#include <asn_application.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct asn_TYPE_descriptor_s;	/* Forward declaration */
+struct asn_codec_ctx_s;		/* Forward declaration */
+
+/*
+ * The BER decoder of any type.
+ * This function may be invoked directly from the application.
+ * Decodes BER, DER and CER data (DER and CER are different subsets of BER).
+ *
+ * NOTE: Use the der_encode() function (der_encoder.h) to produce encoding
+ * which is compliant with ber_decode().
+ */
+asn_dec_rval_t ber_decode(
+    const struct asn_codec_ctx_s *opt_codec_ctx,
+    const struct asn_TYPE_descriptor_s *type_descriptor,
+    void **struct_ptr,  /* Pointer to a target structure's pointer */
+    const void *buffer, /* Data to be decoded */
+    size_t size         /* Size of that buffer */
+);
+
+/*
+ * Type of generic function which decodes the byte stream into the structure.
+ */
+typedef asn_dec_rval_t(ber_type_decoder_f)(
+    const struct asn_codec_ctx_s *opt_codec_ctx,
+    const struct asn_TYPE_descriptor_s *type_descriptor, void **struct_ptr,
+    const void *buf_ptr, size_t size, int tag_mode);
+
+/*******************************
+ * INTERNALLY USEFUL FUNCTIONS *
+ *******************************/
+
+/*
+ * Check that all tags correspond to the type definition (as given in head).
+ * On return, last_length would contain either a non-negative length of the
+ * value part of the last TLV, or the negative number of expected
+ * "end of content" sequences. The number may only be negative if the
+ * head->last_tag_form is non-zero.
+ */
+asn_dec_rval_t ber_check_tags(
+    const struct asn_codec_ctx_s *opt_codec_ctx, /* codec options */
+    const struct asn_TYPE_descriptor_s *type_descriptor,
+    asn_struct_ctx_t *opt_ctx, /* saved decoding context */
+    const void *ptr, size_t size,
+    int tag_mode,      /* {-1,0,1}: IMPLICIT, no, EXPLICIT */
+    int last_tag_form, /* {-1,0:1}: any, primitive, constr */
+    ber_tlv_len_t *last_length, int *opt_tlv_form /* optional tag form */
+);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _BER_DECODER_H_ */
diff --git a/src/s1ap/asn1c/asnGenFiles/ber_tlv_length.h b/src/s1ap/asn1c/asnGenFiles/ber_tlv_length.h
new file mode 100644
index 0000000..d1e4d48
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ber_tlv_length.h
@@ -0,0 +1,50 @@
+/*-
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	_BER_TLV_LENGTH_H_
+#define	_BER_TLV_LENGTH_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef ssize_t ber_tlv_len_t;
+
+/*
+ * This function tries to fetch the length of the BER TLV value and place it
+ * in *len_r.
+ * RETURN VALUES:
+ *	 0:	More data expected than bufptr contains.
+ *	-1:	Fatal error deciphering length.
+ *	>0:	Number of bytes used from bufptr.
+ * On return with >0, len_r is constrained as -1..MAX, where -1 mean
+ * that the value is of indefinite length.
+ */
+ssize_t ber_fetch_length(int _is_constructed, const void *bufptr, size_t size,
+	ber_tlv_len_t *len_r);
+
+/*
+ * This function expects bufptr to be positioned over L in TLV.
+ * It returns number of bytes occupied by L and V together, suitable
+ * for skipping. The function properly handles indefinite length.
+ * RETURN VALUES:
+ * 	Standard {-1,0,>0} convention.
+ */
+ssize_t ber_skip_length(
+	const struct asn_codec_ctx_s *opt_codec_ctx,	/* optional context */
+	int _is_constructed, const void *bufptr, size_t size);
+
+/*
+ * This function serializes the length (L from TLV) in DER format.
+ * It always returns number of bytes necessary to represent the length,
+ * it is a caller's responsibility to check the return value
+ * against the supplied buffer's size.
+ */
+size_t der_tlv_length_serialize(ber_tlv_len_t len, void *bufptr, size_t size);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _BER_TLV_LENGTH_H_ */
diff --git a/src/s1ap/asn1c/asnGenFiles/ber_tlv_tag.h b/src/s1ap/asn1c/asnGenFiles/ber_tlv_tag.h
new file mode 100644
index 0000000..ce227ad
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/ber_tlv_tag.h
@@ -0,0 +1,60 @@
+/*-
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	_BER_TLV_TAG_H_
+#define	_BER_TLV_TAG_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+enum asn_tag_class {
+	ASN_TAG_CLASS_UNIVERSAL		= 0,	/* 0b00 */
+	ASN_TAG_CLASS_APPLICATION	= 1,	/* 0b01 */
+	ASN_TAG_CLASS_CONTEXT		= 2,	/* 0b10 */
+	ASN_TAG_CLASS_PRIVATE		= 3	/* 0b11 */
+};
+typedef unsigned ber_tlv_tag_t;	/* BER TAG from Tag-Length-Value */
+
+/*
+ * Tag class is encoded together with tag value for optimization purposes.
+ */
+#define	BER_TAG_CLASS(tag)	((tag) & 0x3)
+#define	BER_TAG_VALUE(tag)	((tag) >> 2)
+#define	BER_TLV_CONSTRUCTED(tagptr)	(((*(const uint8_t *)tagptr)&0x20)?1:0)
+
+#define	BER_TAGS_EQUAL(tag1, tag2)	((tag1) == (tag2))
+
+/*
+ * Several functions for printing the TAG in the canonical form
+ * (i.e. "[PRIVATE 0]").
+ * Return values correspond to their libc counterparts (if any).
+ */
+ssize_t ber_tlv_tag_snprint(ber_tlv_tag_t tag, char *buf, size_t buflen);
+ssize_t ber_tlv_tag_fwrite(ber_tlv_tag_t tag, FILE *);
+char *ber_tlv_tag_string(ber_tlv_tag_t tag);
+
+
+/*
+ * This function tries to fetch the tag from the input stream.
+ * RETURN VALUES:
+ * 	 0:	More data expected than bufptr contains.
+ * 	-1:	Fatal error deciphering tag.
+ *	>0:	Number of bytes used from bufptr. tag_r will contain the tag.
+ */
+ssize_t ber_fetch_tag(const void *bufptr, size_t size, ber_tlv_tag_t *tag_r);
+
+/*
+ * This function serializes the tag (T from TLV) in BER format.
+ * It always returns number of bytes necessary to represent the tag,
+ * it is a caller's responsibility to check the return value
+ * against the supplied buffer's size.
+ */
+size_t ber_tlv_tag_serialize(ber_tlv_tag_t tag, void *bufptr, size_t size);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _BER_TLV_TAG_H_ */
diff --git a/src/s1ap/asn1c/asnGenFiles/constr_CHOICE.h b/src/s1ap/asn1c/asnGenFiles/constr_CHOICE.h
new file mode 100644
index 0000000..a1999ed
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/constr_CHOICE.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	_CONSTR_CHOICE_H_
+#define	_CONSTR_CHOICE_H_
+
+#include <asn_application.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct asn_CHOICE_specifics_s {
+	/*
+	 * Target structure description.
+	 */
+	unsigned struct_size;       /* Size of the target structure. */
+	unsigned ctx_offset;        /* Offset of the asn_codec_ctx_t member */
+	unsigned pres_offset;       /* Identifier of the present member */
+	unsigned pres_size;         /* Size of the identifier (enum) */
+
+	/*
+	 * Tags to members mapping table.
+	 */
+	const asn_TYPE_tag2member_t *tag2el;
+	unsigned tag2el_count;
+
+	/* Canonical ordering of CHOICE elements, for PER */
+	const unsigned *to_canonical_order;
+	const unsigned *from_canonical_order;
+
+	/*
+	 * Extensions-related stuff.
+	 */
+	signed ext_start; /* First member of extensions, or -1 */
+} asn_CHOICE_specifics_t;
+
+/*
+ * A set specialized functions dealing with the CHOICE type.
+ */
+asn_struct_free_f CHOICE_free;
+asn_struct_print_f CHOICE_print;
+asn_struct_compare_f CHOICE_compare;
+asn_constr_check_f CHOICE_constraint;
+ber_type_decoder_f CHOICE_decode_ber;
+der_type_encoder_f CHOICE_encode_der;
+xer_type_decoder_f CHOICE_decode_xer;
+xer_type_encoder_f CHOICE_encode_xer;
+oer_type_decoder_f CHOICE_decode_oer;
+oer_type_encoder_f CHOICE_encode_oer;
+per_type_decoder_f CHOICE_decode_uper;
+per_type_encoder_f CHOICE_encode_uper;
+per_type_decoder_f CHOICE_decode_aper;
+per_type_encoder_f CHOICE_encode_aper;
+asn_outmost_tag_f CHOICE_outmost_tag;
+asn_random_fill_f CHOICE_random_fill;
+extern asn_TYPE_operation_t asn_OP_CHOICE;
+
+/*
+ * Return the 1-based choice variant presence index.
+ * Returns 0 in case of error.
+ */
+unsigned CHOICE_variant_get_presence(const asn_TYPE_descriptor_t *td,
+                                     const void *structure_ptr);
+
+/*
+ * Sets or resets the 1-based choice variant presence index.
+ * In case a previous index is not zero, the currently selected structure
+ * member is freed and zeroed-out first.
+ * Returns 0 on success and -1 on error.
+ */
+int CHOICE_variant_set_presence(const asn_TYPE_descriptor_t *td,
+                                void *structure_ptr, unsigned present);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CONSTR_CHOICE_H_ */
diff --git a/src/s1ap/asn1c/asnGenFiles/constr_SEQUENCE.h b/src/s1ap/asn1c/asnGenFiles/constr_SEQUENCE.h
new file mode 100644
index 0000000..a22ed3a
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/constr_SEQUENCE.h
@@ -0,0 +1,68 @@
+/*-
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	_CONSTR_SEQUENCE_H_
+#define	_CONSTR_SEQUENCE_H_
+
+#include <asn_application.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct asn_SEQUENCE_specifics_s {
+	/*
+	 * Target structure description.
+	 */
+	unsigned struct_size;	/* Size of the target structure. */
+	unsigned ctx_offset;	/* Offset of the asn_struct_ctx_t member */
+
+	/*
+	 * Tags to members mapping table (sorted).
+	 */
+	const asn_TYPE_tag2member_t *tag2el;
+	unsigned tag2el_count;
+
+	/*
+	 * Optional members of the extensions root (roms) or additions (aoms).
+	 * Meaningful for PER.
+	 */
+	const int *oms;         /* Optional MemberS */
+	unsigned roms_count;    /* Root optional members count */
+	unsigned aoms_count;    /* Additions optional members count */
+
+	/*
+	 * Description of an extensions group.
+	 * Root components are clustered at the beginning of the structure,
+	 * whereas extensions are clustered at the end. -1 means not extensible.
+	 */
+	signed first_extension;       /* First extension addition */
+} asn_SEQUENCE_specifics_t;
+
+
+/*
+ * A set specialized functions dealing with the SEQUENCE type.
+ */
+asn_struct_free_f SEQUENCE_free;
+asn_struct_print_f SEQUENCE_print;
+asn_struct_compare_f SEQUENCE_compare;
+asn_constr_check_f SEQUENCE_constraint;
+ber_type_decoder_f SEQUENCE_decode_ber;
+der_type_encoder_f SEQUENCE_encode_der;
+xer_type_decoder_f SEQUENCE_decode_xer;
+xer_type_encoder_f SEQUENCE_encode_xer;
+oer_type_decoder_f SEQUENCE_decode_oer;
+oer_type_encoder_f SEQUENCE_encode_oer;
+per_type_decoder_f SEQUENCE_decode_uper;
+per_type_encoder_f SEQUENCE_encode_uper;
+per_type_decoder_f SEQUENCE_decode_aper;
+per_type_encoder_f SEQUENCE_encode_aper;
+asn_random_fill_f  SEQUENCE_random_fill;
+extern asn_TYPE_operation_t asn_OP_SEQUENCE;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CONSTR_SEQUENCE_H_ */
diff --git a/src/s1ap/asn1c/asnGenFiles/constr_SEQUENCE_OF.h b/src/s1ap/asn1c/asnGenFiles/constr_SEQUENCE_OF.h
new file mode 100644
index 0000000..6857f0f
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/constr_SEQUENCE_OF.h
@@ -0,0 +1,41 @@
+/*-
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	_CONSTR_SEQUENCE_OF_H_
+#define	_CONSTR_SEQUENCE_OF_H_
+
+#include <asn_application.h>
+#include <constr_SET_OF.h>		/* Implemented using SET OF */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * A set specialized functions dealing with the SEQUENCE OF type.
+ * Generally implemented using SET OF.
+ */
+asn_struct_compare_f SEQUENCE_OF_compare;
+der_type_encoder_f SEQUENCE_OF_encode_der;
+xer_type_encoder_f SEQUENCE_OF_encode_xer;
+per_type_encoder_f SEQUENCE_OF_encode_uper;
+per_type_encoder_f SEQUENCE_OF_encode_aper;
+extern asn_TYPE_operation_t asn_OP_SEQUENCE_OF;
+
+#define	SEQUENCE_OF_free	SET_OF_free
+#define	SEQUENCE_OF_print	SET_OF_print
+#define	SEQUENCE_OF_constraint	SET_OF_constraint
+#define	SEQUENCE_OF_decode_ber	SET_OF_decode_ber
+#define	SEQUENCE_OF_decode_xer	SET_OF_decode_xer
+#define	SEQUENCE_OF_decode_oer  SET_OF_decode_oer
+#define	SEQUENCE_OF_encode_oer  SET_OF_encode_oer
+#define	SEQUENCE_OF_decode_uper	SET_OF_decode_uper
+#define	SEQUENCE_OF_decode_aper	SET_OF_decode_aper
+#define	SEQUENCE_OF_random_fill SET_OF_random_fill
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CONSTR_SET_OF_H_ */
diff --git a/src/s1ap/asn1c/asnGenFiles/constr_SET_OF.h b/src/s1ap/asn1c/asnGenFiles/constr_SET_OF.h
new file mode 100644
index 0000000..7681062
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/constr_SET_OF.h
@@ -0,0 +1,49 @@
+/*-
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	CONSTR_SET_OF_H
+#define	CONSTR_SET_OF_H
+
+#include <asn_application.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct asn_SET_OF_specifics_s {
+    /*
+     * Target structure description.
+     */
+    unsigned struct_size;       /* Size of the target structure. */
+    unsigned ctx_offset;        /* Offset of the asn_struct_ctx_t member */
+
+    /* XER-specific stuff */
+    int as_XMLValueList; /* The member type must be encoded like this */
+} asn_SET_OF_specifics_t;
+
+/*
+ * A set specialized functions dealing with the SET OF type.
+ */
+asn_struct_free_f SET_OF_free;
+asn_struct_print_f SET_OF_print;
+asn_struct_compare_f SET_OF_compare;
+asn_constr_check_f SET_OF_constraint;
+ber_type_decoder_f SET_OF_decode_ber;
+der_type_encoder_f SET_OF_encode_der;
+xer_type_decoder_f SET_OF_decode_xer;
+xer_type_encoder_f SET_OF_encode_xer;
+oer_type_decoder_f SET_OF_decode_oer;
+oer_type_encoder_f SET_OF_encode_oer;
+per_type_decoder_f SET_OF_decode_uper;
+per_type_encoder_f SET_OF_encode_uper;
+per_type_decoder_f SET_OF_decode_aper;
+per_type_encoder_f SET_OF_encode_aper;
+asn_random_fill_f  SET_OF_random_fill;
+extern asn_TYPE_operation_t asn_OP_SET_OF;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* CONSTR_SET_OF_H */
diff --git a/src/s1ap/asn1c/asnGenFiles/constr_TYPE.h b/src/s1ap/asn1c/asnGenFiles/constr_TYPE.h
new file mode 100644
index 0000000..d80dea5
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/constr_TYPE.h
@@ -0,0 +1,262 @@
+/*
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+/*
+ * This file contains the declaration structure called "ASN.1 Type Definition",
+ * which holds all information necessary for encoding and decoding routines.
+ * This structure even contains pointer to these encoding and decoding routines
+ * for each defined ASN.1 type.
+ */
+#ifndef	_CONSTR_TYPE_H_
+#define	_CONSTR_TYPE_H_
+
+#include <ber_tlv_length.h>
+#include <ber_tlv_tag.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct asn_TYPE_descriptor_s;	/* Forward declaration */
+struct asn_TYPE_member_s;	/* Forward declaration */
+
+/*
+ * This type provides the context information for various ASN.1 routines,
+ * primarily ones doing decoding. A member _asn_ctx of this type must be
+ * included into certain target language's structures, such as compound types.
+ */
+typedef struct asn_struct_ctx_s {
+	short phase;		/* Decoding phase */
+	short step;		/* Elementary step of a phase */
+	int context;		/* Other context information */
+	void *ptr;		/* Decoder-specific stuff (stack elements) */
+	ber_tlv_len_t left;	/* Number of bytes left, -1 for indefinite */
+} asn_struct_ctx_t;
+
+#include <ber_decoder.h>	/* Basic Encoding Rules decoder */
+#include <der_encoder.h>	/* Distinguished Encoding Rules encoder */
+#include <xer_decoder.h>	/* Decoder of XER (XML, text) */
+#include <xer_encoder.h>	/* Encoder into XER (XML, text) */
+#include <per_decoder.h>	/* Packet Encoding Rules decoder */
+#include <per_encoder.h>	/* Packet Encoding Rules encoder */
+#include <constraints.h>	/* Subtype constraints support */
+#include <asn_random_fill.h>	/* Random structures support */
+
+#ifdef  ASN_DISABLE_OER_SUPPORT
+typedef void (oer_type_decoder_f)(void);
+typedef void (oer_type_encoder_f)(void);
+typedef void asn_oer_constraints_t;
+#else
+#include <oer_decoder.h>	/* Octet Encoding Rules encoder */
+#include <oer_encoder.h>	/* Octet Encoding Rules encoder */
+#endif
+
+/*
+ * Free the structure according to its specification.
+ * Use one of ASN_STRUCT_{FREE,RESET,CONTENTS_ONLY} macros instead.
+ * Do not use directly.
+ */
+enum asn_struct_free_method {
+    ASFM_FREE_EVERYTHING,   /* free(struct_ptr) and underlying members */
+    ASFM_FREE_UNDERLYING,   /* free underlying members */
+    ASFM_FREE_UNDERLYING_AND_RESET   /* FREE_UNDERLYING + memset(0) */
+};
+typedef void (asn_struct_free_f)(
+		const struct asn_TYPE_descriptor_s *type_descriptor,
+		void *struct_ptr, enum asn_struct_free_method);
+
+/*
+ * Free the structure including freeing the memory pointed to by ptr itself.
+ */
+#define ASN_STRUCT_FREE(asn_DEF, ptr) \
+    (asn_DEF).op->free_struct(&(asn_DEF), (ptr), ASFM_FREE_EVERYTHING)
+
+/*
+ * Free the memory used by the members of the structure without freeing the
+ * the structure pointer itself.
+ * ZERO-OUT the structure to the safe clean state.
+ * (Retaining the pointer may be useful in case the structure is allocated
+ *  statically or arranged on the stack, yet its elements are dynamic.)
+ */
+#define ASN_STRUCT_RESET(asn_DEF, ptr) \
+    (asn_DEF).op->free_struct(&(asn_DEF), (ptr), ASFM_FREE_UNDERLYING_AND_RESET)
+
+/*
+ * Free memory used by the members of the structure without freeing
+ * the structure pointer itself.
+ * (Retaining the pointer may be useful in case the structure is allocated
+ *  statically or arranged on the stack, yet its elements are dynamic.)
+ * AVOID using it in the application code;
+ * Use a safer ASN_STRUCT_RESET() instead.
+ */
+#define ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF, ptr) \
+    (asn_DEF).op->free_struct(&(asn_DEF), (ptr), ASFM_FREE_UNDERLYING)
+
+/*
+ * Print the structure according to its specification.
+ */
+typedef int(asn_struct_print_f)(
+    const struct asn_TYPE_descriptor_s *type_descriptor,
+    const void *struct_ptr,
+    int level, /* Indentation level */
+    asn_app_consume_bytes_f *callback, void *app_key);
+
+/*
+ * Compare two structs between each other.
+ * Returns <0 if struct_A is "smaller" than struct_B, >0 if "greater",
+ * and =0 if "equal to", for some type-specific, stable definition of
+ * "smaller", "greater" and "equal to".
+ */
+typedef int (asn_struct_compare_f)(
+		const struct asn_TYPE_descriptor_s *type_descriptor,
+		const void *struct_A,
+		const void *struct_B);
+
+/*
+ * Return the outmost tag of the type.
+ * If the type is untagged CHOICE, the dynamic operation is performed.
+ * NOTE: This function pointer type is only useful internally.
+ * Do not use it in your application.
+ */
+typedef ber_tlv_tag_t (asn_outmost_tag_f)(
+		const struct asn_TYPE_descriptor_s *type_descriptor,
+		const void *struct_ptr, int tag_mode, ber_tlv_tag_t tag);
+/* The instance of the above function type; used internally. */
+asn_outmost_tag_f asn_TYPE_outmost_tag;
+
+/*
+ * Fetch the desired type of the Open Type based on the
+ * Information Object Set driven constraints.
+ */
+typedef struct asn_type_selector_result_s {
+    const struct asn_TYPE_descriptor_s *type_descriptor; /* Type encoded. */
+    unsigned presence_index; /* Associated choice variant. */
+} asn_type_selector_result_t;
+typedef asn_type_selector_result_t(asn_type_selector_f)(
+    const struct asn_TYPE_descriptor_s *parent_type_descriptor,
+    const void *parent_structure_ptr);
+
+/*
+ * Generalized functions for dealing with the speciic type.
+ * May be directly invoked by applications.
+ */
+typedef struct asn_TYPE_operation_s {
+    asn_struct_free_f *free_struct;     /* Free the structure */
+    asn_struct_print_f *print_struct;   /* Human readable output */
+    asn_struct_compare_f *compare_struct; /* Compare two structures */
+    ber_type_decoder_f *ber_decoder;      /* Generic BER decoder */
+    der_type_encoder_f *der_encoder;      /* Canonical DER encoder */
+    xer_type_decoder_f *xer_decoder;      /* Generic XER decoder */
+    xer_type_encoder_f *xer_encoder;      /* [Canonical] XER encoder */
+    oer_type_decoder_f *oer_decoder;      /* Generic OER decoder */
+    oer_type_encoder_f *oer_encoder;      /* Canonical OER encoder */
+    per_type_decoder_f *uper_decoder;     /* Unaligned PER decoder */
+    per_type_encoder_f *uper_encoder;     /* Unaligned PER encoder */
+    per_type_decoder_f *aper_decoder;     /* Aligned PER decoder */
+    per_type_encoder_f *aper_encoder;     /* Aligned PER encoder */
+    asn_random_fill_f *random_fill;       /* Initialize with a random value */
+    asn_outmost_tag_f *outmost_tag;       /* <optional, internal> */
+} asn_TYPE_operation_t;
+
+/*
+ * A constraints tuple specifying both the OER and PER constraints.
+ */
+typedef struct asn_encoding_constraints_s {
+    const struct asn_oer_constraints_s *oer_constraints;
+    const struct asn_per_constraints_s *per_constraints;
+    asn_constr_check_f *general_constraints;
+} asn_encoding_constraints_t;
+
+/*
+ * The definitive description of the destination language's structure.
+ */
+typedef struct asn_TYPE_descriptor_s {
+    const char *name;       /* A name of the ASN.1 type. "" in some cases. */
+    const char *xml_tag;    /* Name used in XML tag */
+
+    /*
+     * Generalized functions for dealing with the specific type.
+     * May be directly invoked by applications.
+     */
+    asn_TYPE_operation_t *op;
+
+    /***********************************************************************
+     * Internally useful members. Not to be used by applications directly. *
+     **********************************************************************/
+
+    /*
+     * Tags that are expected to occur.
+     */
+    const ber_tlv_tag_t *tags;      /* Effective tags sequence for this type */
+    unsigned tags_count;            /* Number of tags which are expected */
+    const ber_tlv_tag_t *all_tags;  /* Every tag for BER/containment */
+    unsigned all_tags_count;        /* Number of tags */
+
+    /* OER, PER, and general constraints */
+    asn_encoding_constraints_t encoding_constraints;
+
+    /*
+     * An ASN.1 production type members (members of SEQUENCE, SET, CHOICE).
+     */
+    struct asn_TYPE_member_s *elements;
+    unsigned elements_count;
+
+    /*
+     * Additional information describing the type, used by appropriate
+     * functions above.
+     */
+    const void *specifics;
+} asn_TYPE_descriptor_t;
+
+/*
+ * This type describes an element of the constructed type,
+ * i.e. SEQUENCE, SET, CHOICE, etc.
+ */
+  enum asn_TYPE_flags_e {
+    ATF_NOFLAGS,
+    ATF_POINTER = 0x01,   /* Represented by the pointer */
+    ATF_OPEN_TYPE = 0x02, /* Open Type */
+    ATF_ANY_TYPE = 0x04   /* ANY type (deprecated!) */
+  };
+typedef struct asn_TYPE_member_s {
+    enum asn_TYPE_flags_e flags; /* Element's presentation flags */
+    unsigned optional;      /* Following optional members, including current */
+    unsigned memb_offset;   /* Offset of the element */
+    ber_tlv_tag_t tag;      /* Outmost (most immediate) tag */
+    int tag_mode;           /* IMPLICIT/no/EXPLICIT tag at current level */
+    asn_TYPE_descriptor_t *type;            /* Member type descriptor */
+    asn_type_selector_f *type_selector;     /* IoS runtime type selector */
+    asn_encoding_constraints_t encoding_constraints;
+    int (*default_value_cmp)(const void *sptr); /* Compare DEFAULT <value> */
+    int (*default_value_set)(void **sptr);      /* Set DEFAULT <value> */
+    const char *name; /* ASN.1 identifier of the element */
+} asn_TYPE_member_t;
+
+/*
+ * BER tag to element number mapping.
+ */
+typedef struct asn_TYPE_tag2member_s {
+    ber_tlv_tag_t el_tag;   /* Outmost tag of the member */
+    unsigned el_no;         /* Index of the associated member, base 0 */
+    int toff_first;         /* First occurence of the el_tag, relative */
+    int toff_last;          /* Last occurence of the el_tag, relative */
+} asn_TYPE_tag2member_t;
+
+/*
+ * This function prints out the contents of the target language's structure
+ * (struct_ptr) into the file pointer (stream) in human readable form.
+ * RETURN VALUES:
+ * 	 0: The structure is printed.
+ * 	-1: Problem dumping the structure.
+ * (See also xer_fprint() in xer_encoder.h)
+ */
+int asn_fprint(FILE *stream, /* Destination stream descriptor */
+               const asn_TYPE_descriptor_t *td, /* ASN.1 type descriptor */
+               const void *struct_ptr);         /* Structure to be printed */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _CONSTR_TYPE_H_ */
diff --git a/src/s1ap/asn1c/asnGenFiles/constraints.h b/src/s1ap/asn1c/asnGenFiles/constraints.h
new file mode 100644
index 0000000..0bd86a9
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/constraints.h
@@ -0,0 +1,62 @@
+/*-
+ * Copyright (c) 2004-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	ASN1_CONSTRAINTS_VALIDATOR_H
+#define	ASN1_CONSTRAINTS_VALIDATOR_H
+
+#include <asn_system.h>		/* Platform-dependent types */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct asn_TYPE_descriptor_s;		/* Forward declaration */
+
+/*
+ * Validate the structure according to the ASN.1 constraints.
+ * If errbuf and errlen are given, they shall be pointing to the appropriate
+ * buffer space and its length before calling this function. Alternatively,
+ * they could be passed as NULL's. If constraints validation fails,
+ * errlen will contain the actual number of bytes taken from the errbuf
+ * to encode an error message (properly 0-terminated).
+ * 
+ * RETURN VALUES:
+ * This function returns 0 in case all ASN.1 constraints are met
+ * and -1 if one or more constraints were failed.
+ */
+int asn_check_constraints(
+    const struct asn_TYPE_descriptor_s *type_descriptor,
+    const void *struct_ptr, /* Target language's structure */
+    char *errbuf,           /* Returned error description */
+    size_t *errlen          /* Length of the error description */
+);
+
+
+/*
+ * Generic type for constraint checking callback,
+ * associated with every type descriptor.
+ */
+typedef int(asn_constr_check_f)(
+    const struct asn_TYPE_descriptor_s *type_descriptor, const void *struct_ptr,
+    asn_app_constraint_failed_f *optional_callback, /* Log the error */
+    void *optional_app_key /* Opaque key passed to a callback */
+);
+
+/*******************************
+ * INTERNALLY USEFUL FUNCTIONS *
+ *******************************/
+
+asn_constr_check_f asn_generic_no_constraint;	/* No constraint whatsoever */
+asn_constr_check_f asn_generic_unknown_constraint; /* Not fully supported */
+
+/*
+ * Invoke the callback with a complete error message.
+ */
+#define	ASN__CTFAIL	if(ctfailcb) ctfailcb
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* ASN1_CONSTRAINTS_VALIDATOR_H */
diff --git a/src/s1ap/asn1c/asnGenFiles/converter-example.mk b/src/s1ap/asn1c/asnGenFiles/converter-example.mk
new file mode 100644
index 0000000..d062e7e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/converter-example.mk
@@ -0,0 +1,32 @@
+include Makefile.am.libasncodec
+
+LIBS += -lm
+CFLAGS += $(ASN_MODULE_CFLAGS) -DPDU=S1AP_PDU -I.
+ASN_LIBRARY ?= libasncodec.a
+ASN_PROGRAM ?= converter-example
+ASN_PROGRAM_SRCS ?= \
+	converter-example.c
+
+all: $(ASN_PROGRAM)
+
+$(ASN_PROGRAM): $(ASN_LIBRARY) $(ASN_PROGRAM_SRCS:.c=.o)
+	$(CC) $(CFLAGS) $(CPPFLAGS) -o $(ASN_PROGRAM) $(ASN_PROGRAM_SRCS:.c=.o) $(LDFLAGS) $(ASN_LIBRARY) $(LIBS)
+
+$(ASN_LIBRARY): $(ASN_MODULE_SRCS:.c=.o)
+	$(AR) rcs $@ $(ASN_MODULE_SRCS:.c=.o)
+
+.SUFFIXES:
+.SUFFIXES: .c .o
+
+.c.o:
+	$(CC) $(CFLAGS) -o $@ -c $<
+
+clean:
+	rm -f $(ASN_PROGRAM) $(ASN_LIBRARY)
+	rm -f $(ASN_MODULE_SRCS:.c=.o) $(ASN_PROGRAM_SRCS:.c=.o)
+
+regen: regenerate-from-asn1-source
+
+regenerate-from-asn1-source:
+	asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU ./asn1c/S1AP-CommonDataTypes.asn ./asn1c/S1AP-Constants.asn ./asn1c/S1AP-Containers.asn ./asn1c/S1AP-IEs.asn ./asn1c/S1AP-PDU-Contents.asn ./asn1c/S1AP-PDU-Descriptions.asn
+
diff --git a/src/s1ap/asn1c/asnGenFiles/der_encoder.h b/src/s1ap/asn1c/asnGenFiles/der_encoder.h
new file mode 100644
index 0000000..e93944e
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/der_encoder.h
@@ -0,0 +1,68 @@
+/*-
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	_DER_ENCODER_H_
+#define	_DER_ENCODER_H_
+
+#include <asn_application.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct asn_TYPE_descriptor_s;	/* Forward declaration */
+
+/*
+ * The DER encoder of any type. May be invoked by the application.
+ * Produces DER- and BER-compliant encoding. (DER is a subset of BER).
+ *
+ * NOTE: Use the ber_decode() function (ber_decoder.h) to decode data
+ * produced by der_encode().
+ */
+asn_enc_rval_t der_encode(const struct asn_TYPE_descriptor_s *type_descriptor,
+                          const void *struct_ptr, /* Structure to be encoded */
+                          asn_app_consume_bytes_f *consume_bytes_cb,
+                          void *app_key /* Arbitrary callback argument */
+);
+
+/* A variant of der_encode() which encodes data into the pre-allocated buffer */
+asn_enc_rval_t der_encode_to_buffer(
+    const struct asn_TYPE_descriptor_s *type_descriptor,
+    const void *struct_ptr, /* Structure to be encoded */
+    void *buffer,           /* Pre-allocated buffer */
+    size_t buffer_size      /* Initial buffer size (maximum) */
+);
+
+/*
+ * Type of the generic DER encoder.
+ */
+typedef asn_enc_rval_t(der_type_encoder_f)(
+    const struct asn_TYPE_descriptor_s *type_descriptor,
+    const void *struct_ptr, /* Structure to be encoded */
+    int tag_mode,           /* {-1,0,1}: IMPLICIT, no, EXPLICIT */
+    ber_tlv_tag_t tag, asn_app_consume_bytes_f *consume_bytes_cb, /* Callback */
+    void *app_key /* Arbitrary callback argument */
+);
+
+
+/*******************************
+ * INTERNALLY USEFUL FUNCTIONS *
+ *******************************/
+
+/*
+ * Write out leading TL[v] sequence according to the type definition.
+ */
+ssize_t der_write_tags(const struct asn_TYPE_descriptor_s *type_descriptor,
+                       size_t struct_length,
+                       int tag_mode,      /* {-1,0,1}: IMPLICIT, no, EXPLICIT */
+                       int last_tag_form, /* {0,!0}: prim, constructed */
+                       ber_tlv_tag_t tag,
+                       asn_app_consume_bytes_f *consume_bytes_cb,
+                       void *app_key);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _DER_ENCODER_H_ */
diff --git a/src/s1ap/asn1c/asnGenFiles/libasncodec.a b/src/s1ap/asn1c/asnGenFiles/libasncodec.a
new file mode 100644
index 0000000..4f82353
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/libasncodec.a
Binary files differ
diff --git a/src/s1ap/asn1c/asnGenFiles/oer_decoder.h b/src/s1ap/asn1c/asnGenFiles/oer_decoder.h
new file mode 100644
index 0000000..40992e9
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/oer_decoder.h
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	OER_DECODER_H
+#define	OER_DECODER_H
+
+#include <asn_application.h>
+#include <oer_support.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct asn_TYPE_descriptor_s;	/* Forward declaration */
+struct asn_codec_ctx_s;		/* Forward declaration */
+
+/*
+ * The Octet Encoding Rules (OER, X.696 08/2015) decoder for any given type.
+ * This function may be invoked directly by the application.
+ * Parses CANONICAL-OER and BASIC-OER.
+ */
+asn_dec_rval_t oer_decode(const struct asn_codec_ctx_s *opt_codec_ctx,
+	const struct asn_TYPE_descriptor_s *type_descriptor,
+	void **struct_ptr,	/* Pointer to a target structure's pointer */
+	const void *buffer,	/* Data to be decoded */
+	size_t size		/* Size of that buffer */
+	);
+
+/*
+ * Type of generic function which decodes the byte stream into the structure.
+ */
+typedef asn_dec_rval_t(oer_type_decoder_f)(
+    const struct asn_codec_ctx_s *opt_codec_ctx,
+    const struct asn_TYPE_descriptor_s *type_descriptor,
+    const asn_oer_constraints_t *constraints,
+    void **struct_ptr,
+    const void *buf_ptr,
+    size_t size);
+
+/*
+ * Swallow the Open Type (X.696 (08/2015), #30) into /dev/null.
+ * RETURN VALUES:
+ *      -1:     Fatal error deciphering length.
+ *       0:     More data expected than bufptr contains.
+ *      >0:     Number of bytes used from bufptr.
+ */
+ssize_t oer_open_type_skip(const void *bufptr, size_t size);
+
+/*
+ * Read the Open Type (X.696 (08/2015), #30).
+ * RETURN VALUES:
+ *       0:     More data expected than bufptr contains.
+ *      -1:     Fatal error deciphering length.
+ *      >0:     Number of bytes used from bufptr.
+ */
+ssize_t oer_open_type_get(const asn_codec_ctx_t *opt_codec_ctx,
+                          const struct asn_TYPE_descriptor_s *td,
+                          const asn_oer_constraints_t *constraints,
+                          void **struct_ptr, const void *bufptr, size_t size);
+
+/*
+ * Length-prefixed buffer decoding for primitive types.
+ */
+oer_type_decoder_f oer_decode_primitive;
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* OER_DECODER_H */
diff --git a/src/s1ap/asn1c/asnGenFiles/oer_encoder.h b/src/s1ap/asn1c/asnGenFiles/oer_encoder.h
new file mode 100644
index 0000000..6a7b681
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/oer_encoder.h
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	OER_ENCODER_H
+#define	OER_ENCODER_H
+
+#include <asn_application.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct asn_TYPE_descriptor_s;	/* Forward declaration */
+
+/*
+ * The Octet Encoding Rules (OER, X.696 08/2015) encoder for any type.
+ * This function may be invoked directly by the application.
+ * Produces CANONICAL-OER output compatible with CANONICAL-OER
+ * and BASIC-OER decoders.
+ */
+asn_enc_rval_t oer_encode(const struct asn_TYPE_descriptor_s *type_descriptor,
+                          const void *struct_ptr, /* Structure to be encoded */
+                          asn_app_consume_bytes_f *consume_bytes_cb,
+                          void *app_key /* Arbitrary callback argument */
+);
+
+/* A variant of oer_encode() which encodes data into the pre-allocated buffer */
+asn_enc_rval_t oer_encode_to_buffer(
+    const struct asn_TYPE_descriptor_s *type_descriptor,
+    const asn_oer_constraints_t *constraints,
+    const void *struct_ptr, /* Structure to be encoded */
+    void *buffer,           /* Pre-allocated buffer */
+    size_t buffer_size      /* Initial buffer size (maximum) */
+);
+
+/*
+ * Type of the generic OER encoder.
+ */
+typedef asn_enc_rval_t(oer_type_encoder_f)(
+    const struct asn_TYPE_descriptor_s *type_descriptor,
+    const asn_oer_constraints_t *constraints,
+    const void *struct_ptr,                    /* Structure to be encoded */
+    asn_app_consume_bytes_f *consume_bytes_cb, /* Callback */
+    void *app_key                              /* Arbitrary callback argument */
+);
+
+/*
+ * Write out the Open Type (X.696 (08/2015), #30).
+ * RETURN VALUES:
+ *  -1: Fatal error encoding the type.
+ *  >0: Number of bytes serialized.
+ */
+ssize_t oer_open_type_put(const struct asn_TYPE_descriptor_s *td,
+                          const asn_oer_constraints_t *constraints,
+                          const void *struct_ptr,
+                          asn_app_consume_bytes_f *consume_bytes_cb,
+                          void *app_key);
+
+
+/*
+ * Length-prefixed buffer encoding for primitive types.
+ */
+oer_type_encoder_f oer_encode_primitive;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* OER_ENCODER_H */
diff --git a/src/s1ap/asn1c/asnGenFiles/oer_support.h b/src/s1ap/asn1c/asnGenFiles/oer_support.h
new file mode 100644
index 0000000..dbc9b5f
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/oer_support.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	OER_SUPPORT_H
+#define	OER_SUPPORT_H
+
+#include <asn_system.h>		/* Platform-specific types */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * Pre-computed OER constraints.
+ */
+typedef struct asn_oer_constraint_number_s {
+    unsigned width;    /* ±8,4,2,1 fixed bytes */
+    unsigned positive; /* 1 for unsigned number, 0 for signed */
+} asn_oer_constraint_number_t;
+typedef struct asn_oer_constraints_s {
+    asn_oer_constraint_number_t value;
+    ssize_t size;    /* -1 (no constraint) or >= 0 */
+} asn_oer_constraints_t;
+
+
+/*
+ * Fetch the length determinant (X.696 (08/2015), #8.6) into *len_r.
+ * RETURN VALUES:
+ *       0:     More data expected than bufptr contains.
+ *      -1:     Fatal error deciphering length.
+ *      >0:     Number of bytes used from bufptr.
+ */
+ssize_t oer_fetch_length(const void *bufptr, size_t size, size_t *len_r);
+
+/*
+ * Serialize OER length. Returns the number of bytes serialized
+ * or -1 if a given callback returned with negative result.
+ */
+ssize_t oer_serialize_length(size_t length, asn_app_consume_bytes_f *cb, void *app_key);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* OER_SUPPORT_H */
diff --git a/src/s1ap/asn1c/asnGenFiles/per_decoder.h b/src/s1ap/asn1c/asnGenFiles/per_decoder.h
new file mode 100644
index 0000000..eea474a
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/per_decoder.h
@@ -0,0 +1,82 @@
+/*-
+ * Copyright (c) 2005-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	_PER_DECODER_H_
+#define	_PER_DECODER_H_
+
+#include <asn_application.h>
+#include <per_support.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct asn_TYPE_descriptor_s;	/* Forward declaration */
+
+/*
+ * Unaligned PER decoder of a "complete encoding" as per X.691 (08/2015) #11.1.
+ * On success, this call always returns (.consumed >= 1), as per #11.1.3.
+ */
+asn_dec_rval_t uper_decode_complete(
+    const struct asn_codec_ctx_s *opt_codec_ctx,
+    const struct asn_TYPE_descriptor_s *type_descriptor, /* Type to decode */
+    void **struct_ptr,  /* Pointer to a target structure's pointer */
+    const void *buffer, /* Data to be decoded */
+    size_t size         /* Size of data buffer */
+);
+
+/*
+ * Unaligned PER decoder of any ASN.1 type. May be invoked by the application.
+ * WARNING: This call returns the number of BITS read from the stream. Beware.
+ */
+asn_dec_rval_t uper_decode(
+    const struct asn_codec_ctx_s *opt_codec_ctx,
+    const struct asn_TYPE_descriptor_s *type_descriptor, /* Type to decode */
+    void **struct_ptr,  /* Pointer to a target structure's pointer */
+    const void *buffer, /* Data to be decoded */
+    size_t size,        /* Size of the input data buffer, in bytes */
+    int skip_bits,      /* Number of unused leading bits, 0..7 */
+    int unused_bits     /* Number of unused tailing bits, 0..7 */
+);
+
+/*
+ * Aligned PER decoder of a "complete encoding" as per X.691#10.1.
+ * On success, this call always returns (.consumed >= 1), in BITS, as per X.691#10.1.3.
+ */
+asn_dec_rval_t aper_decode_complete(
+       const struct asn_codec_ctx_s *opt_codec_ctx,
+       const struct asn_TYPE_descriptor_s *type_descriptor,	/* Type to decode */
+       void **struct_ptr,	/* Pointer to a target structure's pointer */
+       const void *buffer,	/* Data to be decoded */
+       size_t size		/* Size of data buffer */
+									);
+
+/*
+ * Aligned PER decoder of any ASN.1 type. May be invoked by the application.
+ * WARNING: This call returns the number of BITS read from the stream. Beware.
+ */
+asn_dec_rval_t aper_decode(
+      const struct asn_codec_ctx_s *opt_codec_ctx,
+      const struct asn_TYPE_descriptor_s *type_descriptor,	/* Type to decode */
+      void **struct_ptr,	/* Pointer to a target structure's pointer */
+      const void *buffer,	/* Data to be decoded */
+      size_t size,		/* Size of data buffer */
+      int skip_bits,		/* Number of unused leading bits, 0..7 */
+      int unused_bits		/* Number of unused tailing bits, 0..7 */
+      );
+
+/*
+ * Type of the type-specific PER decoder function.
+ */
+typedef asn_dec_rval_t(per_type_decoder_f)(
+    const asn_codec_ctx_t *opt_codec_ctx,
+    const struct asn_TYPE_descriptor_s *type_descriptor,
+    const asn_per_constraints_t *constraints, void **struct_ptr,
+    asn_per_data_t *per_data);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PER_DECODER_H_ */
diff --git a/src/s1ap/asn1c/asnGenFiles/per_encoder.h b/src/s1ap/asn1c/asnGenFiles/per_encoder.h
new file mode 100644
index 0000000..b615ef0
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/per_encoder.h
@@ -0,0 +1,93 @@
+/*-
+ * Copyright (c) 2006-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	_PER_ENCODER_H_
+#define	_PER_ENCODER_H_
+
+#include <asn_application.h>
+#include <per_support.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct asn_TYPE_descriptor_s;	/* Forward declaration */
+
+/*
+ * Unaligned PER encoder of any ASN.1 type. May be invoked by the application.
+ * WARNING: This function returns the number of encoded bits in the .encoded
+ * field of the return value. Use the following formula to convert to bytes:
+ * 	bytes = ((.encoded + 7) / 8)
+ */
+asn_enc_rval_t uper_encode(
+    const struct asn_TYPE_descriptor_s *type_descriptor,
+    const asn_per_constraints_t *constraints,
+    const void *struct_ptr,                    /* Structure to be encoded */
+    asn_app_consume_bytes_f *consume_bytes_cb, /* Data collector */
+    void *app_key                              /* Arbitrary callback argument */
+);
+
+asn_enc_rval_t aper_encode(
+    const struct asn_TYPE_descriptor_s *type_descriptor,
+    const asn_per_constraints_t *constraints,
+    const void *struct_ptr,                     /* Structure to be encoded */
+    asn_app_consume_bytes_f *consume_bytes_cb,  /* Data collector */
+    void *app_key                               /* Arbitrary callback argument */
+);
+
+/*
+ * A variant of uper_encode() which encodes data into the existing buffer
+ * WARNING: This function returns the number of encoded bits in the .encoded
+ * field of the return value.
+ */
+asn_enc_rval_t uper_encode_to_buffer(
+    const struct asn_TYPE_descriptor_s *type_descriptor,
+    const asn_per_constraints_t *constraints,
+    const void *struct_ptr, /* Structure to be encoded */
+    void *buffer,           /* Pre-allocated buffer */
+    size_t buffer_size      /* Initial buffer size (max) */
+);
+
+asn_enc_rval_t aper_encode_to_buffer(
+    const struct asn_TYPE_descriptor_s *type_descriptor,
+    const asn_per_constraints_t *constraints,
+    const void *struct_ptr,  /* Structure to be encoded */
+    void *buffer,            /* Pre-allocated buffer */
+    size_t buffer_size       /* Initial buffer size (max) */
+);
+/*
+ * A variant of uper_encode_to_buffer() which allocates buffer itself.
+ * Returns the number of bytes in the buffer or -1 in case of failure.
+ * WARNING: This function produces a "Production of the complete encoding",
+ * with length of at least one octet. Contrast this to precise bit-packing
+ * encoding of uper_encode() and uper_encode_to_buffer().
+ */
+ssize_t uper_encode_to_new_buffer(
+    const struct asn_TYPE_descriptor_s *type_descriptor,
+    const asn_per_constraints_t *constraints,
+    const void *struct_ptr, /* Structure to be encoded */
+    void **buffer_r         /* Buffer allocated and returned */
+);
+
+ssize_t
+aper_encode_to_new_buffer(
+    const struct asn_TYPE_descriptor_s *td,
+    const asn_per_constraints_t *constraints,
+    const void *sptr,
+    void **buffer_r
+);
+
+/*
+ * Type of the generic PER encoder function.
+ */
+typedef asn_enc_rval_t(per_type_encoder_f)(
+    const struct asn_TYPE_descriptor_s *type_descriptor,
+    const asn_per_constraints_t *constraints, const void *struct_ptr,
+    asn_per_outp_t *per_output);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PER_ENCODER_H_ */
diff --git a/src/s1ap/asn1c/asnGenFiles/per_opentype.h b/src/s1ap/asn1c/asnGenFiles/per_opentype.h
new file mode 100644
index 0000000..1493b2d
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/per_opentype.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2007-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	_PER_OPENTYPE_H_
+#define	_PER_OPENTYPE_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+asn_dec_rval_t uper_open_type_get(const asn_codec_ctx_t *opt_codec_ctx,
+                                  const asn_TYPE_descriptor_t *td,
+                                  const asn_per_constraints_t *constraints,
+                                  void **sptr, asn_per_data_t *pd);
+
+int uper_open_type_skip(const asn_codec_ctx_t *opt_codec_ctx,
+                        asn_per_data_t *pd);
+
+/*
+ * X.691 (2015/08), #11.2
+ * Returns -1 if error is encountered. 0 if all OK.
+ */
+int uper_open_type_put(const asn_TYPE_descriptor_t *td,
+                       const asn_per_constraints_t *constraints,
+                       const void *sptr, asn_per_outp_t *po);
+
+asn_dec_rval_t aper_open_type_get(const asn_codec_ctx_t *opt_codec_ctx,
+                                  const asn_TYPE_descriptor_t *td,
+                                  const asn_per_constraints_t *constraints,
+                                  void **sptr, asn_per_data_t *pd);
+
+
+int aper_open_type_skip(const asn_codec_ctx_t *opt_codec_ctx, asn_per_data_t *pd);
+
+int aper_open_type_put(const asn_TYPE_descriptor_t *td,
+                       const asn_per_constraints_t *constraints,
+                       const void *sptr, asn_per_outp_t *po);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PER_OPENTYPE_H_ */
diff --git a/src/s1ap/asn1c/asnGenFiles/per_support.h b/src/s1ap/asn1c/asnGenFiles/per_support.h
new file mode 100644
index 0000000..d13f504
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/per_support.h
@@ -0,0 +1,130 @@
+/*
+ * Copyright (c) 2005-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	_PER_SUPPORT_H_
+#define	_PER_SUPPORT_H_
+
+#include <asn_system.h>		/* Platform-specific types */
+#include <asn_bit_data.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * Pre-computed PER constraints.
+ */
+typedef struct asn_per_constraint_s {
+	enum asn_per_constraint_flags {
+		APC_UNCONSTRAINED	= 0x0,	/* No PER visible constraints */
+		APC_SEMI_CONSTRAINED	= 0x1,	/* Constrained at "lb" */
+		APC_CONSTRAINED		= 0x2,	/* Fully constrained */
+		APC_EXTENSIBLE		= 0x4	/* May have extension */
+	} flags;
+	int  range_bits;		/* Full number of bits in the range */
+	int  effective_bits;		/* Effective bits */
+	intmax_t lower_bound;		/* "lb" value */
+	intmax_t upper_bound;		/* "ub" value */
+} asn_per_constraint_t;
+typedef struct asn_per_constraints_s {
+	asn_per_constraint_t value;
+	asn_per_constraint_t size;
+	int (*value2code)(unsigned int value);
+	int (*code2value)(unsigned int code);
+} asn_per_constraints_t;
+
+/* Temporary compatibility layer. Will get removed. */
+typedef struct asn_bit_data_s asn_per_data_t;
+#define per_get_few_bits(data, bits)   asn_get_few_bits(data, bits)
+#define per_get_undo(data, bits)   asn_get_undo(data, bits)
+#define per_get_many_bits(data, dst, align, bits) \
+    asn_get_many_bits(data, dst, align, bits)
+
+/*
+ * X.691 (08/2015) #11.9 "General rules for encoding a length determinant"
+ * Get the length "n" from the Unaligned PER stream.
+ */
+ssize_t uper_get_length(asn_per_data_t *pd, int effective_bound_bits,
+                        size_t lower_bound, int *repeat);
+
+ssize_t aper_get_length(asn_per_data_t *pd, int range,
+                        int effective_bound_bits, int *repeat);
+
+/*
+ * Get the normally small length "n".
+ */
+ssize_t uper_get_nslength(asn_per_data_t *pd);
+ssize_t aper_get_nslength(asn_per_data_t *pd);
+
+/*
+ * Get the normally small non-negative whole number.
+ */
+ssize_t uper_get_nsnnwn(asn_per_data_t *pd);
+ssize_t aper_get_nsnnwn(asn_per_data_t *pd, int range);
+
+/* X.691-2008/11, #11.5.6 */
+int uper_get_constrained_whole_number(asn_per_data_t *pd, uintmax_t *v, int nbits);
+
+
+/* Temporary compatibility layer. Will get removed. */
+typedef struct asn_bit_outp_s asn_per_outp_t;
+#define per_put_few_bits(out, bits, obits) asn_put_few_bits(out, bits, obits)
+#define per_put_many_bits(out, src, nbits) asn_put_many_bits(out, src, nbits)
+#define per_put_aligned_flush(out) asn_put_aligned_flush(out)
+
+
+/*
+ * Rebase the given value as an offset into the range specified by the
+ * lower bound (lb) and upper bound (ub).
+ * RETURN VALUES:
+ *  -1: Conversion failed due to range problems.
+ *   0: Conversion was successful.
+ */
+int per_long_range_rebase(long, intmax_t lb, intmax_t ub, unsigned long *output);
+int per_imax_range_rebase(intmax_t v, intmax_t lb, intmax_t ub, uintmax_t *output);
+/* The inverse operation: restores the value by the offset and its bounds. */
+int per_long_range_unrebase(unsigned long inp, intmax_t lb, intmax_t ub, long *outp);
+int per_imax_range_unrebase(uintmax_t inp, intmax_t lb, intmax_t ub, intmax_t *outp);
+
+/* X.691-2008/11, #11.5 */
+int uper_put_constrained_whole_number_u(asn_per_outp_t *po, unsigned long v, int nbits);
+
+/*
+ * X.691 (08/2015) #11.9 "General rules for encoding a length determinant"
+ * Put the length "whole_length" to the Unaligned PER stream.
+ * If (opt_need_eom) is given, it will be set to 1 if final 0-length is needed.
+ * In that case, invoke uper_put_length(po, 0, 0) after encoding the last block.
+ * This function returns the number of units which may be flushed
+ * in the next units saving iteration.
+ */
+ssize_t uper_put_length(asn_per_outp_t *po, size_t whole_length,
+                        int *opt_need_eom);
+
+ssize_t aper_put_length(asn_per_outp_t *po, int range, size_t length,
+                        int *opt_need_eom);
+
+/* Align the current bit position to octet bundary */
+int aper_put_align(asn_per_outp_t *po);
+int32_t aper_get_align(asn_per_data_t *pd);
+
+/*
+ * Put the normally small length "n" to the Unaligned PER stream.
+ * Returns 0 or -1.
+ */
+int uper_put_nslength(asn_per_outp_t *po, size_t length);
+
+int aper_put_nslength(asn_per_outp_t *po, size_t length);
+
+/*
+ * Put the normally small non-negative whole number.
+ */
+int uper_put_nsnnwn(asn_per_outp_t *po, int n);
+
+int aper_put_nsnnwn(asn_per_outp_t *po, int range, int number);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _PER_SUPPORT_H_ */
diff --git a/src/s1ap/asn1c/asnGenFiles/s1ap-converter b/src/s1ap/asn1c/asnGenFiles/s1ap-converter
new file mode 100644
index 0000000..4f24298
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/s1ap-converter
Binary files differ
diff --git a/src/s1ap/asn1c/asnGenFiles/xer_decoder.h b/src/s1ap/asn1c/asnGenFiles/xer_decoder.h
new file mode 100644
index 0000000..b951c41
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/xer_decoder.h
@@ -0,0 +1,106 @@
+/*-
+ * Copyright (c) 2004-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	_XER_DECODER_H_
+#define	_XER_DECODER_H_
+
+#include <asn_application.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct asn_TYPE_descriptor_s;	/* Forward declaration */
+
+/*
+ * The XER decoder of any ASN.1 type. May be invoked by the application.
+ * Decodes CANONICAL-XER and BASIC-XER.
+ */
+asn_dec_rval_t xer_decode(
+    const struct asn_codec_ctx_s *opt_codec_ctx,
+    const struct asn_TYPE_descriptor_s *type_descriptor,
+    void **struct_ptr,  /* Pointer to a target structure's pointer */
+    const void *buffer, /* Data to be decoded */
+    size_t size         /* Size of data buffer */
+);
+
+/*
+ * Type of the type-specific XER decoder function.
+ */
+typedef asn_dec_rval_t(xer_type_decoder_f)(
+    const asn_codec_ctx_t *opt_codec_ctx,
+    const struct asn_TYPE_descriptor_s *type_descriptor, void **struct_ptr,
+    const char *opt_mname, /* Member name */
+    const void *buf_ptr, size_t size);
+
+/*******************************
+ * INTERNALLY USEFUL FUNCTIONS *
+ *******************************/
+
+/*
+ * Generalized function for decoding the primitive values.
+ * Used by more specialized functions, such as OCTET_STRING_decode_xer_utf8
+ * and others. This function should not be used by applications, as its API
+ * is subject to changes.
+ */
+asn_dec_rval_t xer_decode_general(
+    const asn_codec_ctx_t *opt_codec_ctx,
+    asn_struct_ctx_t *ctx, /* Type decoder context */
+    void *struct_key,      /* Treated as opaque pointer */
+    const char *xml_tag,   /* Expected XML tag name */
+    const void *buf_ptr, size_t size,
+    int (*opt_unexpected_tag_decoder)(void *struct_key, const void *chunk_buf,
+                                      size_t chunk_size),
+    ssize_t (*body_receiver)(void *struct_key, const void *chunk_buf,
+                             size_t chunk_size, int have_more));
+
+
+/*
+ * Fetch the next XER (XML) token from the stream.
+ * The function returns the number of bytes occupied by the chunk type,
+ * returned in the _ch_type. The _ch_type is only set (and valid) when
+ * the return value is >= 0.
+ */
+  typedef enum pxer_chunk_type {
+	PXER_WMORE,     /* Chunk type is not clear, more data expected. */
+	PXER_TAG,	    /* Complete XER tag */
+	PXER_TEXT,	    /* Plain text between XER tags */
+	PXER_COMMENT	/* A comment, may be part of */
+  } pxer_chunk_type_e;
+ssize_t xer_next_token(int *stateContext,
+	const void *buffer, size_t size, pxer_chunk_type_e *_ch_type);
+
+/*
+ * This function checks the buffer against the tag name is expected to occur.
+ */
+  typedef enum xer_check_tag {
+	XCT_BROKEN	= 0,	/* The tag is broken */
+	XCT_OPENING	= 1,	/* This is the <opening> tag */
+	XCT_CLOSING	= 2,	/* This is the </closing> tag */
+	XCT_BOTH	= 3,	/* This is the <modified/> tag */
+	XCT__UNK__MASK	= 4,	/* Mask of everything unexpected */
+	XCT_UNKNOWN_OP	= 5,	/* Unexpected <opening> tag */
+	XCT_UNKNOWN_CL	= 6,	/* Unexpected </closing> tag */
+	XCT_UNKNOWN_BO	= 7	/* Unexpected <modified/> tag */
+  } xer_check_tag_e;
+xer_check_tag_e xer_check_tag(const void *buf_ptr, int size,
+		const char *need_tag);
+
+/*
+ * Get the number of bytes consisting entirely of XER whitespace characters.
+ * RETURN VALUES:
+ * >=0:	Number of whitespace characters in the string.
+ */
+size_t xer_whitespace_span(const void *chunk_buf, size_t chunk_size);
+
+/*
+ * Skip the series of anticipated extensions.
+ */
+int xer_skip_unknown(xer_check_tag_e tcv, ber_tlv_len_t *depth);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _XER_DECODER_H_ */
diff --git a/src/s1ap/asn1c/asnGenFiles/xer_encoder.h b/src/s1ap/asn1c/asnGenFiles/xer_encoder.h
new file mode 100644
index 0000000..9d75922
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/xer_encoder.h
@@ -0,0 +1,83 @@
+/*-
+ * Copyright (c) 2004-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	_XER_ENCODER_H_
+#define	_XER_ENCODER_H_
+
+#include <asn_application.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct asn_TYPE_descriptor_s;	/* Forward declaration */
+
+/* Flags used by the xer_encode() and (*xer_type_encoder_f), defined below */
+enum xer_encoder_flags_e {
+	/* Mode of encoding */
+	XER_F_BASIC	= 0x01,	/* BASIC-XER (pretty-printing) */
+	XER_F_CANONICAL	= 0x02	/* Canonical XER (strict rules) */
+};
+
+/*
+ * The XER encoder of any type. May be invoked by the application.
+ * Produces CANONICAL-XER and BASIC-XER depending on the (xer_flags).
+ */
+asn_enc_rval_t xer_encode(const struct asn_TYPE_descriptor_s *type_descriptor,
+                          const void *struct_ptr, /* Structure to be encoded */
+                          enum xer_encoder_flags_e xer_flags,
+                          asn_app_consume_bytes_f *consume_bytes_cb,
+                          void *app_key /* Arbitrary callback argument */
+);
+
+/*
+ * The variant of the above function which dumps the BASIC-XER (XER_F_BASIC)
+ * output into the chosen file pointer.
+ * RETURN VALUES:
+ * 	 0: The structure is printed.
+ * 	-1: Problem printing the structure.
+ * WARNING: No sensible errno value is returned.
+ */
+int xer_fprint(FILE *stream, const struct asn_TYPE_descriptor_s *td,
+               const void *struct_ptr);
+
+/*
+ * A helper function that uses XER encoding/decoding to verify that:
+ * - Both structures encode into the same BASIC XER.
+ * - Both resulting XER byte streams can be decoded back.
+ * - Both decoded structures encode into the same BASIC XER (round-trip).
+ * All of this verifies equivalence between structures and a round-trip.
+ * ARGUMENTS:
+ *  (opt_debug_stream)  - If specified, prints ongoing details.
+ */
+enum xer_equivalence_e {
+    XEQ_SUCCESS,          /* The only completely positive return value */
+    XEQ_FAILURE,          /* General failure */
+    XEQ_ENCODE1_FAILED,   /* First sructure XER encoding failed */
+    XEQ_ENCODE2_FAILED,   /* Second structure XER encoding failed */
+    XEQ_DIFFERENT,        /* Structures encoded into different XER */
+    XEQ_DECODE_FAILED,    /* Decode of the XER data failed */
+    XEQ_ROUND_TRIP_FAILED /* Bad round-trip */
+};
+enum xer_equivalence_e xer_equivalent(
+    const struct asn_TYPE_descriptor_s *type_descriptor, const void *struct1,
+    const void *struct2, FILE *opt_debug_stream);
+
+/*
+ * Type of the generic XER encoder.
+ */
+typedef asn_enc_rval_t(xer_type_encoder_f)(
+    const struct asn_TYPE_descriptor_s *type_descriptor,
+    const void *struct_ptr, /* Structure to be encoded */
+    int ilevel,             /* Level of indentation */
+    enum xer_encoder_flags_e xer_flags,
+    asn_app_consume_bytes_f *consume_bytes_cb, /* Callback */
+    void *app_key                              /* Arbitrary callback argument */
+);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _XER_ENCODER_H_ */
diff --git a/src/s1ap/asn1c/asnGenFiles/xer_support.h b/src/s1ap/asn1c/asnGenFiles/xer_support.h
new file mode 100644
index 0000000..c3a36e7
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/xer_support.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2003, 2004 X/IO Labs, xiolabs.com.
+ * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef	_XER_SUPPORT_H_
+#define	_XER_SUPPORT_H_
+
+#include <asn_system.h>		/* Platform-specific types */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * Types of data transferred to the application.
+ */
+typedef enum {
+	PXML_TEXT,	/* Plain text between XML tags. */
+	PXML_TAG,	/* A tag, starting with '<'. */
+	PXML_COMMENT,	/* An XML comment, including "<!--" and "-->". */
+	/* 
+	 * The following chunk types are reported if the chunk
+	 * terminates the specified XML element.
+	 */
+	PXML_TAG_END,		/* Tag ended */
+	PXML_COMMENT_END	/* Comment ended */
+} pxml_chunk_type_e;
+
+/*
+ * Callback function that is called by the parser when parsed data is
+ * available. The _opaque is the pointer to a field containing opaque user 
+ * data specified in pxml_create() call. The chunk type is _type and the text 
+ * data is the piece of buffer identified by _bufid (as supplied to
+ * pxml_feed() call) starting at offset _offset and of _size bytes size. 
+ * The chunk is NOT '\0'-terminated.
+ */
+typedef int (pxml_callback_f)(pxml_chunk_type_e _type,
+	const void *_chunk_data, size_t _chunk_size, void *_key);
+
+/*
+ * Parse the given buffer as it were a chunk of XML data.
+ * Invoke the specified callback each time the meaninful data is found.
+ * This function returns number of bytes consumed from the bufer.
+ * It will always be lesser than or equal to the specified _size.
+ * The next invocation of this function must account the difference.
+ */
+ssize_t pxml_parse(int *_stateContext, const void *_buf, size_t _size,
+	pxml_callback_f *cb, void *_key);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _XER_SUPPORT_H_ */