diff --git a/src/ranap/RANAP_IE-Extensions.c b/src/ranap/RANAP_IE-Extensions.c
new file mode 100644
index 0000000..27de521
--- /dev/null
+++ b/src/ranap/RANAP_IE-Extensions.c
@@ -0,0 +1,59 @@
+/*
+ * 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_IE-Extensions.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_IE_Extensions_constr_1 GCC_NOTUSED = {
+	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
+	{ APC_CONSTRAINED,	 16,  16,  1l,  65535l }	/* (SIZE(1..65535)) */,
+	0, 0	/* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_IE_Extensions_1[] = {
+	{ ATF_POINTER, 0, 0,
+		-1 /* Ambiguous tag (CHOICE?) */,
+		0,
+		&asn_DEF_RANAP_IE,
+		0,	/* Defer constraints checking to the member type */
+		0,	/* No PER visible constraints */
+		0,
+		""
+		},
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_IE_Extensions_tags_1[] = {
+	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_IE_Extensions_specs_1 = {
+	sizeof(struct RANAP_IE_Extensions),
+	offsetof(struct RANAP_IE_Extensions, _asn_ctx),
+	0,	/* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_IE_Extensions = {
+	"RANAP_IE-Extensions",
+	"RANAP_IE-Extensions",
+	SEQUENCE_OF_free,
+	SEQUENCE_OF_print,
+	SEQUENCE_OF_constraint,
+	SEQUENCE_OF_decode_ber,
+	SEQUENCE_OF_encode_der,
+	SEQUENCE_OF_decode_xer,
+	SEQUENCE_OF_encode_xer,
+	SEQUENCE_OF_decode_uper,
+	SEQUENCE_OF_encode_uper,
+	SEQUENCE_OF_decode_aper,
+	SEQUENCE_OF_encode_aper,
+	0,	/* Use generic outmost tag fetcher */
+	asn_DEF_RANAP_IE_Extensions_tags_1,
+	sizeof(asn_DEF_RANAP_IE_Extensions_tags_1)
+		/sizeof(asn_DEF_RANAP_IE_Extensions_tags_1[0]), /* 1 */
+	asn_DEF_RANAP_IE_Extensions_tags_1,	/* Same as above */
+	sizeof(asn_DEF_RANAP_IE_Extensions_tags_1)
+		/sizeof(asn_DEF_RANAP_IE_Extensions_tags_1[0]), /* 1 */
+	&asn_PER_type_RANAP_IE_Extensions_constr_1,
+	asn_MBR_RANAP_IE_Extensions_1,
+	1,	/* Single element */
+	&asn_SPC_RANAP_IE_Extensions_specs_1	/* Additional specs */
+};
+
