diff --git a/3rdparty/libe2ap/DL-ABS-status.c b/3rdparty/libe2ap/DL-ABS-status.c
new file mode 100644
index 0000000..29bdf1a
--- /dev/null
+++ b/3rdparty/libe2ap/DL-ABS-status.c
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "X2AP-IEs"
+ * 	found in "Spec/e2_and_x2-combined-and-minimized.asn1"
+ * 	`asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#include "DL-ABS-status.h"
+
+int
+DL_ABS_status_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+	long value;
+	
+	if(!sptr) {
+		ASN__CTFAIL(app_key, td, sptr,
+			"%s: value not given (%s:%d)",
+			td->name, __FILE__, __LINE__);
+		return -1;
+	}
+	
+	value = *(const long *)sptr;
+	
+	if((value >= 0 && value <= 100)) {
+		/* Constraint check succeeded */
+		return 0;
+	} else {
+		ASN__CTFAIL(app_key, td, sptr,
+			"%s: constraint failed (%s:%d)",
+			td->name, __FILE__, __LINE__);
+		return -1;
+	}
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+asn_per_constraints_t asn_PER_type_DL_ABS_status_constr_1 CC_NOTUSED = {
+	{ APC_CONSTRAINED,	 7,  7,  0,  100 }	/* (0..100) */,
+	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
+	0, 0	/* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_DL_ABS_status_tags_1[] = {
+	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_DL_ABS_status = {
+	"DL-ABS-status",
+	"DL-ABS-status",
+	&asn_OP_NativeInteger,
+	asn_DEF_DL_ABS_status_tags_1,
+	sizeof(asn_DEF_DL_ABS_status_tags_1)
+		/sizeof(asn_DEF_DL_ABS_status_tags_1[0]), /* 1 */
+	asn_DEF_DL_ABS_status_tags_1,	/* Same as above */
+	sizeof(asn_DEF_DL_ABS_status_tags_1)
+		/sizeof(asn_DEF_DL_ABS_status_tags_1[0]), /* 1 */
+	{ 0, &asn_PER_type_DL_ABS_status_constr_1, DL_ABS_status_constraint },
+	0, 0,	/* No members */
+	0	/* No specifics */
+};
+
