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>
