diff --git a/src/asn1c/IMSIESN.c b/src/asn1c/IMSIESN.c
new file mode 100644
index 0000000..1259970
--- /dev/null
+++ b/src/asn1c/IMSIESN.c
@@ -0,0 +1,72 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "HNBAP-IEs"
+ * 	found in "../../asn1/hnbap/HNBAP-IEs.asn"
+ * 	`asn1c -gen-PER -fnative-types`
+ */
+
+#include "IMSIESN.h"
+
+static asn_TYPE_member_t asn_MBR_IMSIESN_1[] = {
+	{ ATF_NOFLAGS, 0, offsetof(struct IMSIESN, iMSIDS41),
+		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+		-1,	/* IMPLICIT tag at current level */
+		&asn_DEF_IMSIDS41,
+		0,	/* Defer constraints checking to the member type */
+		0,	/* No PER visible constraints */
+		0,
+		"iMSIDS41"
+		},
+	{ ATF_NOFLAGS, 0, offsetof(struct IMSIESN, eSN),
+		(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+		-1,	/* IMPLICIT tag at current level */
+		&asn_DEF_ESN,
+		0,	/* Defer constraints checking to the member type */
+		0,	/* No PER visible constraints */
+		0,
+		"eSN"
+		},
+};
+static const ber_tlv_tag_t asn_DEF_IMSIESN_tags_1[] = {
+	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_IMSIESN_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* iMSIDS41 */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* eSN */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_IMSIESN_specs_1 = {
+	sizeof(struct IMSIESN),
+	offsetof(struct IMSIESN, _asn_ctx),
+	asn_MAP_IMSIESN_tag2el_1,
+	2,	/* Count of tags in the map */
+	0, 0, 0,	/* Optional elements (not needed) */
+	-1,	/* Start extensions */
+	-1	/* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_IMSIESN = {
+	"IMSIESN",
+	"IMSIESN",
+	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_IMSIESN_tags_1,
+	sizeof(asn_DEF_IMSIESN_tags_1)
+		/sizeof(asn_DEF_IMSIESN_tags_1[0]), /* 1 */
+	asn_DEF_IMSIESN_tags_1,	/* Same as above */
+	sizeof(asn_DEF_IMSIESN_tags_1)
+		/sizeof(asn_DEF_IMSIESN_tags_1[0]), /* 1 */
+	0,	/* No PER visible constraints */
+	asn_MBR_IMSIESN_1,
+	2,	/* Elements count */
+	&asn_SPC_IMSIESN_specs_1	/* Additional specs */
+};
+
