diff --git a/src/ranap/RANAP_SourceID.c b/src/ranap/RANAP_SourceID.c
new file mode 100644
index 0000000..347e9c4
--- /dev/null
+++ b/src/ranap/RANAP_SourceID.c
@@ -0,0 +1,72 @@
+/*
+ * 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_SourceID.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_SourceID_constr_1 GCC_NOTUSED = {
+	{ APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0l,  1l }	/* (0..1,...) */,
+	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
+	0, 0	/* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_SourceID_1[] = {
+	{ ATF_NOFLAGS, 0, offsetof(struct RANAP_SourceID, choice.sourceRNC_ID),
+		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+		-1,	/* IMPLICIT tag at current level */
+		&asn_DEF_RANAP_SourceRNC_ID,
+		0,	/* Defer constraints checking to the member type */
+		0,	/* No PER visible constraints */
+		0,
+		"sourceRNC-ID"
+		},
+	{ ATF_NOFLAGS, 0, offsetof(struct RANAP_SourceID, choice.sAI),
+		(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+		-1,	/* IMPLICIT tag at current level */
+		&asn_DEF_RANAP_SAI,
+		0,	/* Defer constraints checking to the member type */
+		0,	/* No PER visible constraints */
+		0,
+		"sAI"
+		},
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_SourceID_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sourceRNC-ID */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* sAI */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_SourceID_specs_1 = {
+	sizeof(struct RANAP_SourceID),
+	offsetof(struct RANAP_SourceID, _asn_ctx),
+	offsetof(struct RANAP_SourceID, present),
+	sizeof(((struct RANAP_SourceID *)0)->present),
+	asn_MAP_RANAP_SourceID_tag2el_1,
+	2,	/* Count of tags in the map */
+	0,
+	2	/* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SourceID = {
+	"RANAP_SourceID",
+	"RANAP_SourceID",
+	CHOICE_free,
+	CHOICE_print,
+	CHOICE_constraint,
+	CHOICE_decode_ber,
+	CHOICE_encode_der,
+	CHOICE_decode_xer,
+	CHOICE_encode_xer,
+	CHOICE_decode_uper,
+	CHOICE_encode_uper,
+	CHOICE_decode_aper,
+	CHOICE_encode_aper,
+	CHOICE_outmost_tag,
+	0,	/* No effective tags (pointer) */
+	0,	/* No effective tags (count) */
+	0,	/* No tags (pointer) */
+	0,	/* No tags (count) */
+	&asn_PER_type_RANAP_SourceID_constr_1,
+	asn_MBR_RANAP_SourceID_1,
+	2,	/* Elements count */
+	&asn_SPC_RANAP_SourceID_specs_1	/* Additional specs */
+};
+
