diff --git a/library/HNBLLIF_Templates.ttcn b/library/HNBLLIF_Templates.ttcn
index 78cf89a..fc82a72 100644
--- a/library/HNBLLIF_Templates.ttcn
+++ b/library/HNBLLIF_Templates.ttcn
@@ -279,6 +279,7 @@
 }
 
 template (present) HNBLLIF_Message tr_HNBLLIF_AUDIO_CONN_ESTABLISH_CNF(template (present) uint32_t context_id := ?,
+								     template (present) uint32_t audio_conn_id := ?,
 								     template (present) uint8_t error_code := ?,
 								     template (present) uint16_t local_rtp_port:= ?,
 								     template (present) HNBLLIF_AddrType local_rtp_address_type := ?,
@@ -293,6 +294,7 @@
 					u := {
 						cnf := {
 							context_id := context_id,
+							audio_conn_id := audio_conn_id,
 							local_rtp_port := local_rtp_port,
 							error_code := error_code,
 							local_rtp_address_type := local_rtp_address_type,
@@ -305,7 +307,7 @@
 	}
 }
 
-template (value) HNBLLIF_Message ts_HNBLLIF_AUDIO_CONN_RELEASE_REQ(template (value) uint32_t context_id) := {
+template (value) HNBLLIF_Message ts_HNBLLIF_AUDIO_CONN_RELEASE_REQ(template (value) uint32_t audio_conn_id) := {
 	sapi := HNBLL_IF_SAPI_AUDIO,
 	u := {
 		audio := {
@@ -315,7 +317,7 @@
 					op := HNBLL_IF_OP_REQUEST,
 					u := {
 						req := {
-							context_id := context_id
+							audio_conn_id := audio_conn_id
 						}
 					}
 				}
@@ -324,7 +326,7 @@
 	}
 }
 
-template (present) HNBLLIF_Message tr_HNBLLIF_AUDIO_CONN_DATA_IND(template (present) uint32_t context_id := ?,
+template (present) HNBLLIF_Message tr_HNBLLIF_AUDIO_CONN_DATA_IND(template (present) uint32_t audio_conn_id := ?,
 							        template (present) octetstring data := ?) := {
 	sapi := HNBLL_IF_SAPI_AUDIO,
 	u := {
@@ -335,7 +337,7 @@
 					op := HNBLL_IF_OP_INDICATION,
 					u := {
 						ind := {
-							context_id := context_id,
+							audio_conn_id := audio_conn_id,
 							data_len := ?,
 							data := data
 						}
@@ -346,7 +348,7 @@
 	}
 }
 
-template (value) HNBLLIF_Message ts_HNBLLIF_AUDIO_CONN_DATA_REQ(template (value) uint32_t context_id,
+template (value) HNBLLIF_Message ts_HNBLLIF_AUDIO_CONN_DATA_REQ(template (value) uint32_t audio_conn_id,
 							      template (value) octetstring data) := {
 	sapi := HNBLL_IF_SAPI_AUDIO,
 	u := {
@@ -357,7 +359,7 @@
 					op := HNBLL_IF_OP_REQUEST,
 					u := {
 						req := {
-							context_id := context_id,
+							audio_conn_id := audio_conn_id,
 							data_len := lengthof(data),
 							data := data
 						}
@@ -399,6 +401,7 @@
 }
 
 template (present) HNBLLIF_Message tr_HNBLLIF_GTP_CONN_ESTABLISH_CNF(template (present) uint32_t context_id := ?,
+								     template (present) uint32_t gtp_conn_id := ?,
 								     template (present) uint32_t local_tei := ?,
 								     template (present) uint8_t error_code := ?,
 								     template (present) HNBLLIF_AddrType local_gtpu_address_type := ?,
@@ -413,6 +416,7 @@
 					u := {
 						cnf := {
 							context_id := context_id,
+							gtp_conn_id := gtp_conn_id,
 							local_tei := local_tei,
 							error_code := error_code,
 							local_gtpu_address_type := local_gtpu_address_type,
@@ -425,8 +429,7 @@
 	}
 }
 
-template (value) HNBLLIF_Message ts_HNBLLIF_GTP_CONN_RELEASE_REQ(template (value) uint32_t context_id,
-								 template (value) uint32_t remote_tei) := {
+template (value) HNBLLIF_Message ts_HNBLLIF_GTP_CONN_RELEASE_REQ(template (value) uint32_t gtp_conn_id) := {
 	sapi := HNBLL_IF_SAPI_GTP,
 	u := {
 		gtp := {
@@ -436,8 +439,7 @@
 					op := HNBLL_IF_OP_REQUEST,
 					u := {
 						req := {
-							context_id := context_id,
-							remote_tei := remote_tei
+							gtp_conn_id := gtp_conn_id
 						}
 					}
 				}
@@ -446,8 +448,7 @@
 	}
 }
 
-template (present) HNBLLIF_Message tr_HNBLLIF_GTP_CONN_DATA_IND(template (present) uint32_t context_id := ?,
-							        template (present) uint32_t local_tei := ?,
+template (present) HNBLLIF_Message tr_HNBLLIF_GTP_CONN_DATA_IND(template (present) uint32_t gtp_conn_id,
 							        template (present) octetstring data := ?) := {
 	sapi := HNBLL_IF_SAPI_GTP,
 	u := {
@@ -458,8 +459,7 @@
 					op := HNBLL_IF_OP_INDICATION,
 					u := {
 						ind := {
-							context_id := context_id,
-							local_tei := local_tei,
+							gtp_conn_id := gtp_conn_id,
 							data_len := ?,
 							data := data
 						}
@@ -470,8 +470,7 @@
 	}
 }
 
-template (value) HNBLLIF_Message ts_HNBLLIF_GTP_CONN_DATA_REQ(template (value) uint32_t context_id,
-							      template (value) uint32_t remote_tei,
+template (value) HNBLLIF_Message ts_HNBLLIF_GTP_CONN_DATA_REQ(template (value) uint32_t gtp_conn_id,
 							      template (value) octetstring data) := {
 	sapi := HNBLL_IF_SAPI_GTP,
 	u := {
@@ -482,8 +481,7 @@
 					op := HNBLL_IF_OP_REQUEST,
 					u := {
 						req := {
-							context_id := context_id,
-							remote_tei := remote_tei,
+							gtp_conn_id := gtp_conn_id,
 							data_len := lengthof(data),
 							data := data
 						}
