diff --git a/library/HNBLLIF_Templates.ttcn b/library/HNBLLIF_Templates.ttcn
index 3fa49b7..78cf89a 100644
--- a/library/HNBLLIF_Templates.ttcn
+++ b/library/HNBLLIF_Templates.ttcn
@@ -367,4 +367,131 @@
 		}
 	}
 }
+
+
+/**********************
+ * GTP SAPI
+ **********************/
+template (value) HNBLLIF_Message ts_HNBLLIF_GTP_CONN_ESTABLISH_REQ(template (value) uint32_t context_id,
+								     template (value) uint32_t remote_tei,
+								     template (value) HNBLLIF_AddrType remote_gtpu_address_type,
+								     template (value) HNBLLIF_Addr remote_gtpu_addr) := {
+	sapi := HNBLL_IF_SAPI_GTP,
+	u := {
+		gtp := {
+			prim := HNBLL_IF_GTP_MSG_CONN_ESTABLISH,
+			u := {
+				conn_establish := {
+					op := HNBLL_IF_OP_REQUEST,
+					u := {
+						req := {
+							context_id := context_id,
+							remote_tei := remote_tei,
+							reserved := 0,
+							remote_gtpu_address_type := remote_gtpu_address_type,
+							remote_gtpu_addr := remote_gtpu_addr
+						}
+					}
+				}
+			}
+		}
+	}
+}
+
+template (present) HNBLLIF_Message tr_HNBLLIF_GTP_CONN_ESTABLISH_CNF(template (present) uint32_t context_id := ?,
+								     template (present) uint32_t local_tei := ?,
+								     template (present) uint8_t error_code := ?,
+								     template (present) HNBLLIF_AddrType local_gtpu_address_type := ?,
+								     template (present) HNBLLIF_Addr local_gtpu_addr := ?) := {
+	sapi := HNBLL_IF_SAPI_GTP,
+	u := {
+		gtp := {
+			prim := HNBLL_IF_GTP_MSG_CONN_ESTABLISH,
+			u := {
+				conn_establish := {
+					op := HNBLL_IF_OP_CONFIRM,
+					u := {
+						cnf := {
+							context_id := context_id,
+							local_tei := local_tei,
+							error_code := error_code,
+							local_gtpu_address_type := local_gtpu_address_type,
+							local_gtpu_addr := local_gtpu_addr
+						}
+					}
+				}
+			}
+		}
+	}
+}
+
+template (value) HNBLLIF_Message ts_HNBLLIF_GTP_CONN_RELEASE_REQ(template (value) uint32_t context_id,
+								 template (value) uint32_t remote_tei) := {
+	sapi := HNBLL_IF_SAPI_GTP,
+	u := {
+		gtp := {
+			prim := HNBLL_IF_GTP_MSG_CONN_RELEASE,
+			u := {
+				conn_release := {
+					op := HNBLL_IF_OP_REQUEST,
+					u := {
+						req := {
+							context_id := context_id,
+							remote_tei := remote_tei
+						}
+					}
+				}
+			}
+		}
+	}
+}
+
+template (present) HNBLLIF_Message tr_HNBLLIF_GTP_CONN_DATA_IND(template (present) uint32_t context_id := ?,
+							        template (present) uint32_t local_tei := ?,
+							        template (present) octetstring data := ?) := {
+	sapi := HNBLL_IF_SAPI_GTP,
+	u := {
+		gtp := {
+			prim := HNBLL_IF_GTP_MSG_CONN_DATA,
+			u := {
+				conn_data := {
+					op := HNBLL_IF_OP_INDICATION,
+					u := {
+						ind := {
+							context_id := context_id,
+							local_tei := local_tei,
+							data_len := ?,
+							data := data
+						}
+					}
+				}
+			}
+		}
+	}
+}
+
+template (value) HNBLLIF_Message ts_HNBLLIF_GTP_CONN_DATA_REQ(template (value) uint32_t context_id,
+							      template (value) uint32_t remote_tei,
+							      template (value) octetstring data) := {
+	sapi := HNBLL_IF_SAPI_GTP,
+	u := {
+		gtp := {
+			prim := HNBLL_IF_GTP_MSG_CONN_DATA,
+			u := {
+				conn_data := {
+					op := HNBLL_IF_OP_REQUEST,
+					u := {
+						req := {
+							context_id := context_id,
+							remote_tei := remote_tei,
+							data_len := lengthof(data),
+							data := data
+						}
+					}
+				}
+			}
+		}
+	}
+}
+
 } with { encode "RAW" variant "BYTEORDER(first)" };
