diff --git a/e2sm/lib/CGI.c b/e2sm/lib/CGI.c
new file mode 100644
index 0000000..a0f0d66
--- /dev/null
+++ b/e2sm/lib/CGI.c
@@ -0,0 +1,67 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-RC-IEs"
+ * 	found in "e2sm-rc-nov2021.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ */
+
+#include "CGI.h"
+
+#include "NR-CGI.h"
+#include "EUTRA-CGI.h"
+static asn_oer_constraints_t asn_OER_type_CGI_constr_1 CC_NOTUSED = {
+	{ 0, 0 },
+	-1};
+asn_per_constraints_t asn_PER_type_CGI_constr_1 CC_NOTUSED = {
+	{ APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }	/* (0..1,...) */,
+	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
+	0, 0	/* No PER value map */
+};
+asn_TYPE_member_t asn_MBR_CGI_1[] = {
+	{ ATF_POINTER, 0, offsetof(struct CGI, choice.nR_CGI),
+		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+		-1,	/* IMPLICIT tag at current level */
+		&asn_DEF_NR_CGI,
+		0,
+		{ 0, 0, 0 },
+		0, 0, /* No default value */
+		"nR-CGI"
+		},
+	{ ATF_POINTER, 0, offsetof(struct CGI, choice.eUTRA_CGI),
+		(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+		-1,	/* IMPLICIT tag at current level */
+		&asn_DEF_EUTRA_CGI,
+		0,
+		{ 0, 0, 0 },
+		0, 0, /* No default value */
+		"eUTRA-CGI"
+		},
+};
+static const asn_TYPE_tag2member_t asn_MAP_CGI_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nR-CGI */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* eUTRA-CGI */
+};
+asn_CHOICE_specifics_t asn_SPC_CGI_specs_1 = {
+	sizeof(struct CGI),
+	offsetof(struct CGI, _asn_ctx),
+	offsetof(struct CGI, present),
+	sizeof(((struct CGI *)0)->present),
+	asn_MAP_CGI_tag2el_1,
+	2,	/* Count of tags in the map */
+	0, 0,
+	2	/* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_CGI = {
+	"CGI",
+	"CGI",
+	&asn_OP_CHOICE,
+	0,	/* No effective tags (pointer) */
+	0,	/* No effective tags (count) */
+	0,	/* No tags (pointer) */
+	0,	/* No tags (count) */
+	{ &asn_OER_type_CGI_constr_1, &asn_PER_type_CGI_constr_1, CHOICE_constraint },
+	asn_MBR_CGI_1,
+	2,	/* Elements count */
+	&asn_SPC_CGI_specs_1	/* Additional specs */
+};
+
