diff --git a/src/rua/RUA_Gsm-map-IDNNS.h b/src/rua/RUA_Gsm-map-IDNNS.h
new file mode 100644
index 0000000..4b00995
--- /dev/null
+++ b/src/rua/RUA_Gsm-map-IDNNS.h
@@ -0,0 +1,108 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RUA-IEs"
+ * 	found in "../../asn1/rua/RUA-IEs.asn"
+ */
+
+#ifndef	_RUA_Gsm_map_IDNNS_H_
+#define	_RUA_Gsm_map_IDNNS_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BOOLEAN.h>
+#include "RUA_RoutingParameter.h"
+#include <constr_SEQUENCE.h>
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum routingbasis_PR {
+	routingbasis_PR_NOTHING,	/* No components present */
+	routingbasis_PR_localPTMSI,
+	routingbasis_PR_tMSIofsamePLMN,
+	routingbasis_PR_tMSIofdifferentPLMN,
+	routingbasis_PR_iMSIresponsetopaging,
+	routingbasis_PR_iMSIcauseUEinitiatedEvent,
+	routingbasis_PR_iMEI,
+	routingbasis_PR_spare2,
+	routingbasis_PR_spare1
+} routingbasis_PR;
+
+/* RUA_Gsm-map-IDNNS */
+typedef struct RUA_Gsm_map_IDNNS {
+	struct routingbasis {
+		routingbasis_PR present;
+		union RUA_Gsm_map_IDNNS__routingbasis_u {
+			struct localPTMSI {
+				RUA_RoutingParameter_t	 routingparameter;
+				
+				/* Context for parsing across buffer boundaries */
+				asn_struct_ctx_t _asn_ctx;
+			} localPTMSI;
+			struct tMSIofsamePLMN {
+				RUA_RoutingParameter_t	 routingparameter;
+				
+				/* Context for parsing across buffer boundaries */
+				asn_struct_ctx_t _asn_ctx;
+			} tMSIofsamePLMN;
+			struct tMSIofdifferentPLMN {
+				RUA_RoutingParameter_t	 routingparameter;
+				
+				/* Context for parsing across buffer boundaries */
+				asn_struct_ctx_t _asn_ctx;
+			} tMSIofdifferentPLMN;
+			struct iMSIresponsetopaging {
+				RUA_RoutingParameter_t	 routingparameter;
+				
+				/* Context for parsing across buffer boundaries */
+				asn_struct_ctx_t _asn_ctx;
+			} iMSIresponsetopaging;
+			struct iMSIcauseUEinitiatedEvent {
+				RUA_RoutingParameter_t	 routingparameter;
+				
+				/* Context for parsing across buffer boundaries */
+				asn_struct_ctx_t _asn_ctx;
+			} iMSIcauseUEinitiatedEvent;
+			struct iMEI {
+				RUA_RoutingParameter_t	 routingparameter;
+				
+				/* Context for parsing across buffer boundaries */
+				asn_struct_ctx_t _asn_ctx;
+			} iMEI;
+			struct spare2 {
+				RUA_RoutingParameter_t	 routingparameter;
+				
+				/* Context for parsing across buffer boundaries */
+				asn_struct_ctx_t _asn_ctx;
+			} spare2;
+			struct spare1 {
+				RUA_RoutingParameter_t	 routingparameter;
+				
+				/* Context for parsing across buffer boundaries */
+				asn_struct_ctx_t _asn_ctx;
+			} spare1;
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} routingbasis;
+	BOOLEAN_t	 dummy;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} RUA_Gsm_map_IDNNS_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RUA_Gsm_map_IDNNS;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _RUA_Gsm_map_IDNNS_H_ */
+#include <asn_internal.h>
