diff --git a/src/ranap/RANAP_ProtocolIE-Container.c b/src/ranap/RANAP_ProtocolIE-Container.c
new file mode 100644
index 0000000..74f371f
--- /dev/null
+++ b/src/ranap/RANAP_ProtocolIE-Container.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * 	found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_ProtocolIE-Container.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_ProtocolIE_Container_constr_1 GCC_NOTUSED = {
+	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
+	{ APC_CONSTRAINED,	 16,  16,  0l,  65535l }	/* (SIZE(0..65535)) */,
+	0, 0	/* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_ProtocolIE_Container_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_ProtocolIE_Container_tags_1[] = {
+	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_ProtocolIE_Container_specs_1 = {
+	sizeof(struct RANAP_ProtocolIE_Container),
+	offsetof(struct RANAP_ProtocolIE_Container, _asn_ctx),
+	0,	/* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ProtocolIE_Container = {
+	"RANAP_ProtocolIE-Container",
+	"RANAP_ProtocolIE-Container",
+	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_ProtocolIE_Container_tags_1,
+	sizeof(asn_DEF_RANAP_ProtocolIE_Container_tags_1)
+		/sizeof(asn_DEF_RANAP_ProtocolIE_Container_tags_1[0]), /* 1 */
+	asn_DEF_RANAP_ProtocolIE_Container_tags_1,	/* Same as above */
+	sizeof(asn_DEF_RANAP_ProtocolIE_Container_tags_1)
+		/sizeof(asn_DEF_RANAP_ProtocolIE_Container_tags_1[0]), /* 1 */
+	&asn_PER_type_RANAP_ProtocolIE_Container_constr_1,
+	asn_MBR_RANAP_ProtocolIE_Container_1,
+	1,	/* Single element */
+	&asn_SPC_RANAP_ProtocolIE_Container_specs_1	/* Additional specs */
+};
+
