diff --git a/src/ranap/RANAP_IMEISVList.c b/src/ranap/RANAP_IMEISVList.c
new file mode 100644
index 0000000..6b19421
--- /dev/null
+++ b/src/ranap/RANAP_IMEISVList.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_IMEISVList.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_IMEISVList_constr_1 GCC_NOTUSED = {
+	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
+	{ APC_CONSTRAINED,	 6,  6,  1l,  64l }	/* (SIZE(1..64)) */,
+	0, 0	/* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_IMEISVList_1[] = {
+	{ ATF_POINTER, 0, 0,
+		-1 /* Ambiguous tag (CHOICE?) */,
+		0,
+		&asn_DEF_RANAP_IMEISV,
+		0,	/* Defer constraints checking to the member type */
+		0,	/* No PER visible constraints */
+		0,
+		""
+		},
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_IMEISVList_tags_1[] = {
+	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_IMEISVList_specs_1 = {
+	sizeof(struct RANAP_IMEISVList),
+	offsetof(struct RANAP_IMEISVList, _asn_ctx),
+	0,	/* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_IMEISVList = {
+	"RANAP_IMEISVList",
+	"RANAP_IMEISVList",
+	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_IMEISVList_tags_1,
+	sizeof(asn_DEF_RANAP_IMEISVList_tags_1)
+		/sizeof(asn_DEF_RANAP_IMEISVList_tags_1[0]), /* 1 */
+	asn_DEF_RANAP_IMEISVList_tags_1,	/* Same as above */
+	sizeof(asn_DEF_RANAP_IMEISVList_tags_1)
+		/sizeof(asn_DEF_RANAP_IMEISVList_tags_1[0]), /* 1 */
+	&asn_PER_type_RANAP_IMEISVList_constr_1,
+	asn_MBR_RANAP_IMEISVList_1,
+	1,	/* Single element */
+	&asn_SPC_RANAP_IMEISVList_specs_1	/* Additional specs */
+};
+
