diff --git a/src/asn1c/UE-Identity.h b/src/asn1c/UE-Identity.h
new file mode 100644
index 0000000..b51c65d
--- /dev/null
+++ b/src/asn1c/UE-Identity.h
@@ -0,0 +1,74 @@
+/*
+ * 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`
+ */
+
+#ifndef	_UE_Identity_H_
+#define	_UE_Identity_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "IMSI.h"
+#include "TMSILAI.h"
+#include "PTMSIRAI.h"
+#include "IMEI.h"
+#include "ESN.h"
+#include "IMSIDS41.h"
+#include "IMSIESN.h"
+#include "TMSIDS41.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum UE_Identity_PR {
+	UE_Identity_PR_NOTHING,	/* No components present */
+	UE_Identity_PR_iMSI,
+	UE_Identity_PR_tMSILAI,
+	UE_Identity_PR_pTMSIRAI,
+	UE_Identity_PR_iMEI,
+	UE_Identity_PR_eSN,
+	UE_Identity_PR_iMSIDS41,
+	UE_Identity_PR_iMSIESN,
+	UE_Identity_PR_tMSIDS41,
+	/* Extensions may appear below */
+	
+} UE_Identity_PR;
+
+/* UE-Identity */
+typedef struct UE_Identity {
+	UE_Identity_PR present;
+	union UE_Identity_u {
+		IMSI_t	 iMSI;
+		TMSILAI_t	 tMSILAI;
+		PTMSIRAI_t	 pTMSIRAI;
+		IMEI_t	 iMEI;
+		ESN_t	 eSN;
+		IMSIDS41_t	 iMSIDS41;
+		IMSIESN_t	 iMSIESN;
+		TMSIDS41_t	 tMSIDS41;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} UE_Identity_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_UE_Identity;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _UE_Identity_H_ */
+#include <asn_internal.h>
