diff --git a/src/asn1c/TransportInfo.h b/src/asn1c/TransportInfo.h
new file mode 100644
index 0000000..33bb8a5
--- /dev/null
+++ b/src/asn1c/TransportInfo.h
@@ -0,0 +1,75 @@
+/*
+ * 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	_TransportInfo_H_
+#define	_TransportInfo_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "TransportLayerAddress.h"
+#include "GTP-TEI.h"
+#include "BindingID.h"
+#include <constr_CHOICE.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum transportAssociation_PR {
+	transportAssociation_PR_NOTHING,	/* No components present */
+	transportAssociation_PR_gtp_TEI,
+	transportAssociation_PR_bindingID,
+	/* Extensions may appear below */
+	
+} transportAssociation_PR;
+
+/* Forward declarations */
+struct IE_Extensions;
+
+/* TransportInfo */
+typedef struct TransportInfo {
+	TransportLayerAddress_t	 transportLayerAddress;
+	struct transportAssociation {
+		transportAssociation_PR present;
+		union TransportInfo__transportAssociation_u {
+			GTP_TEI_t	 gtp_TEI;
+			BindingID_t	 bindingID;
+			/*
+			 * This type is extensible,
+			 * possible extensions are below.
+			 */
+		} choice;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} transportAssociation;
+	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;
+} TransportInfo_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_TransportInfo;
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Referred external types */
+#include "IE-Extensions.h"
+
+#endif	/* _TransportInfo_H_ */
+#include <asn_internal.h>
