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>
