diff --git a/src/ranap/RANAP_RABased.c b/src/ranap/RANAP_RABased.c
new file mode 100644
index 0000000..46b5bf0
--- /dev/null
+++ b/src/ranap/RANAP_RABased.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * 	found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RABased.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_RABased_1[] = {
+	{ ATF_NOFLAGS, 0, offsetof(struct RANAP_RABased, raiList),
+		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+		-1,	/* IMPLICIT tag at current level */
+		&asn_DEF_RANAP_RAI_List,
+		0,	/* Defer constraints checking to the member type */
+		0,	/* No PER visible constraints */
+		0,
+		"raiList"
+		},
+	{ ATF_POINTER, 1, offsetof(struct RANAP_RABased, iE_Extensions),
+		(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+		-1,	/* IMPLICIT tag at current level */
+		&asn_DEF_RANAP_IE_Extensions,
+		0,	/* Defer constraints checking to the member type */
+		0,	/* No PER visible constraints */
+		0,
+		"iE-Extensions"
+		},
+};
+static const int asn_MAP_RANAP_RABased_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_RANAP_RABased_tags_1[] = {
+	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RABased_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* raiList */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RABased_specs_1 = {
+	sizeof(struct RANAP_RABased),
+	offsetof(struct RANAP_RABased, _asn_ctx),
+	asn_MAP_RANAP_RABased_tag2el_1,
+	2,	/* Count of tags in the map */
+	asn_MAP_RANAP_RABased_oms_1,	/* Optional members */
+	1, 0,	/* Root/Additions */
+	1,	/* Start extensions */
+	3	/* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RABased = {
+	"RANAP_RABased",
+	"RANAP_RABased",
+	SEQUENCE_free,
+	SEQUENCE_print,
+	SEQUENCE_constraint,
+	SEQUENCE_decode_ber,
+	SEQUENCE_encode_der,
+	SEQUENCE_decode_xer,
+	SEQUENCE_encode_xer,
+	SEQUENCE_decode_uper,
+	SEQUENCE_encode_uper,
+	SEQUENCE_decode_aper,
+	SEQUENCE_encode_aper,
+	0,	/* Use generic outmost tag fetcher */
+	asn_DEF_RANAP_RABased_tags_1,
+	sizeof(asn_DEF_RANAP_RABased_tags_1)
+		/sizeof(asn_DEF_RANAP_RABased_tags_1[0]), /* 1 */
+	asn_DEF_RANAP_RABased_tags_1,	/* Same as above */
+	sizeof(asn_DEF_RANAP_RABased_tags_1)
+		/sizeof(asn_DEF_RANAP_RABased_tags_1[0]), /* 1 */
+	0,	/* No PER visible constraints */
+	asn_MBR_RANAP_RABased_1,
+	2,	/* Elements count */
+	&asn_SPC_RANAP_RABased_specs_1	/* Additional specs */
+};
+
