diff --git a/src/asn1c/IP-Address.h b/src/asn1c/IP-Address.h
new file mode 100644
index 0000000..7538e25
--- /dev/null
+++ b/src/asn1c/IP-Address.h
@@ -0,0 +1,73 @@
+/*
+ * 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	_IP_Address_H_
+#define	_IP_Address_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "Ipv4Address.h"
+#include "Ipv6Address.h"
+#include <constr_CHOICE.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum ipaddress_PR {
+	ipaddress_PR_NOTHING,	/* No components present */
+	ipaddress_PR_ipv4info,
+	ipaddress_PR_ipv6info,
+	/* Extensions may appear below */
+	
+} ipaddress_PR;
+
+/* Forward declarations */
+struct IE_Extensions;
+
+/* IP-Address */
+typedef struct IP_Address {
+	struct ipaddress {
+		ipaddress_PR present;
+		union IP_Address__ipaddress_u {
+			Ipv4Address_t	 ipv4info;
+			Ipv6Address_t	 ipv6info;
+			/*
+			 * This type is extensible,
+			 * possible extensions are below.
+			 */
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} ipaddress;
+	struct IE_Extensions	*iE_Extensions	/* OPTIONAL */;
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} IP_Address_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_IP_Address;
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Referred external types */
+#include "IE-Extensions.h"
+
+#endif	/* _IP_Address_H_ */
+#include <asn_internal.h>
