hnodeb: Updates in HNBLLIF and HNBGW_COnnectioNHandler to support and test IuUP

Depends: osmo-hnodeb.git Change-Id Ibe356fa7b1abaca0091e368db8478e79c09c6cb0
Related: SYS#5516
Change-Id: I19612fce8190dfe14f98d346adb5db4e1c2a08d9
diff --git a/library/HNBLLIF_Templates.ttcn b/library/HNBLLIF_Templates.ttcn
index fc82a72..6aee659 100644
--- a/library/HNBLLIF_Templates.ttcn
+++ b/library/HNBLLIF_Templates.ttcn
@@ -251,11 +251,42 @@
 /**********************
  * AUDIO SAPI
  **********************/
+const HNBLLIF_AUDIO_IPTIs IPTIs_default := {
+	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+private function f_subflow_sizes_default() return HNBLLIF_AUDIO_SubflowSizes
+{
+	var HNBLLIF_AUDIO_SubflowSizes ss;
+
+	for (var integer i := 0; i < HNBLLIF_MAX_RFCIS; i := i + 1) {
+		for (var integer j := 0; j < HNBLLIF_MAX_SUBFLOWS; j := j + 1) {
+			ss[i][j] := 0;
+		}
+	}
+
+	ss[0][0] := 81; ss[0][1] := 103; ss[0][2] := 60;
+	ss[1][0] := 39; ss[1][1] := 0; ss[1][2] := 0;
+	ss[2][0] := 0;  ss[2][1] := 0;   ss[2][2] := 0;
+
+	return ss;
+}
 
 template (value) HNBLLIF_Message ts_HNBLLIF_AUDIO_CONN_ESTABLISH_REQ(template (value) uint32_t context_id,
 								     template (value) uint16_t remote_rtp_port,
 								     template (value) HNBLLIF_AddrType remote_rtp_address_type,
-								     template (value) HNBLLIF_Addr remote_addr) := {
+								     template (value) HNBLLIF_Addr remote_addr,
+								     template (value) uint8_t transparent := 0,
+								     template (value) uint8_t data_pdu_type := 0,
+								     template (value) uint16_t supported_versions_mask := 3,
+								     template (value) uint8_t num_rfci := 3,
+								     template (value) uint8_t num_subflows := 3,
+								     template (value) HNBLLIF_AUDIO_SubflowSizes subflow_sizes := f_subflow_sizes_default(),
+								     template (value) uint8_t IPTIs_present := 0,
+								     template (value) HNBLLIF_AUDIO_IPTIs IPTIs := IPTIs_default) := {
 	sapi := HNBLL_IF_SAPI_AUDIO,
 	u := {
 		audio := {
@@ -269,7 +300,15 @@
 							remote_rtp_port := remote_rtp_port,
 							reserved := 0,
 							remote_rtp_address_type := remote_rtp_address_type,
-							remote_addr := remote_addr
+							remote_addr := remote_addr,
+							transparent := transparent,
+							data_pdu_type := data_pdu_type,
+							supported_versions_mask := supported_versions_mask,
+							num_rfci := num_rfci,
+							num_subflows := num_subflows,
+							subflow_sizes := subflow_sizes,
+							IPTIs_present := IPTIs_present,
+							IPTIs := IPTIs
 						}
 					}
 				}
@@ -327,7 +366,10 @@
 }
 
 template (present) HNBLLIF_Message tr_HNBLLIF_AUDIO_CONN_DATA_IND(template (present) uint32_t audio_conn_id := ?,
-							        template (present) octetstring data := ?) := {
+								  template (present) uint8_t frame_nr := ?,
+								  template (present) uint8_t fqc := ?,
+								  template (present) uint8_t rfci := ?,
+								  template (present) octetstring data := ?) := {
 	sapi := HNBLL_IF_SAPI_AUDIO,
 	u := {
 		audio := {
@@ -338,6 +380,10 @@
 					u := {
 						ind := {
 							audio_conn_id := audio_conn_id,
+							frame_nr := frame_nr,
+							fqc := fqc,
+							rfci := rfci,
+							spare := 0,
 							data_len := ?,
 							data := data
 						}
@@ -349,6 +395,9 @@
 }
 
 template (value) HNBLLIF_Message ts_HNBLLIF_AUDIO_CONN_DATA_REQ(template (value) uint32_t audio_conn_id,
+							      template (value) uint8_t frame_nr,
+							      template (value) uint8_t fqc,
+							      template (value) uint8_t rfci,
 							      template (value) octetstring data) := {
 	sapi := HNBLL_IF_SAPI_AUDIO,
 	u := {
@@ -360,6 +409,10 @@
 					u := {
 						req := {
 							audio_conn_id := audio_conn_id,
+							frame_nr := frame_nr,
+							fqc := fqc,
+							rfci := rfci,
+							spare := 0,
 							data_len := lengthof(data),
 							data := data
 						}