hnodeb: Test passing unordered list of RFCIs

This feature is available since Audio SAPI version 1, which was
recently added. Let's update the test to cover this feature.

Related: SYS#5516
Change-Id: Ib8961630a1ebe6f6bfee5af0889aa129e491cb2b
diff --git a/hnodeb/HNB_Tests.ttcn b/hnodeb/HNB_Tests.ttcn
index 1a02a6f..6d1ddc5 100644
--- a/hnodeb/HNB_Tests.ttcn
+++ b/hnodeb/HNB_Tests.ttcn
@@ -300,6 +300,17 @@
 	timer Tu;
 	var uint32_t audio_conn_id;
 	var IuUP_FQC fqc := IuUP_FQC_GOOD;
+	var template (omit) HNBLLIF_AUDIO_RFCIs rfcis_tpl := omit;
+
+	if (g_pars.hnbllif_sapi_audio_version >= 1) {
+		var HNBLLIF_AUDIO_RFCIs rfcis;
+		/* generate some unordered RFCI list of 3 elements (the default): */
+		rfcis[0] := 1; rfcis[1] := 2; rfcis[2] := 0;
+		for (var integer i := 3; i < HNBLLIF_MAX_RFCIS; i := i + 1) {
+			rfcis[i] := 0;
+		}
+		rfcis_tpl := rfcis;
+	}
 
 	rtp_payload := f_rnd_octstring(6);
 	f_HNBGW_rtpem_activate(rtp_payload);
@@ -323,7 +334,8 @@
 
 	/* Now LLSK provides the remote TransportLayerAddress from RabAssReq and asks SUT to provide a local address: */
 	LLSK.send(f_llsk_tx(ts_HNBLLIF_AUDIO_CONN_ESTABLISH_REQ(context_id, g_pars.hnbgw_rtp_port, HNBLL_IF_ADDR_TYPE_IPV4,
-								f_HNBLLIF_Addr(HNBLL_IF_ADDR_TYPE_IPV4, g_pars.hnbgw_addr))));
+								f_HNBLLIF_Addr(HNBLL_IF_ADDR_TYPE_IPV4, g_pars.hnbgw_addr),
+								rfci := rfcis_tpl)));
 	LLSK.receive(f_llsk_rx(tr_HNBLLIF_AUDIO_CONN_ESTABLISH_CNF(context_id, ?, 0, ?, HNBLL_IF_ADDR_TYPE_IPV4, ?))) -> value sd;
 
 	audio_conn_id := sd.data.u.audio.u.conn_establish.u.cnf.audio_conn_id;
@@ -380,6 +392,19 @@
 	vc_conn.done;
 	f_shutdown_helper();
 }
+/* Same as TC_cs_mo_call, but using AUDIO SAPI version 0 (no rfci param
+ * in HNBLLIF_AUDIO_conn_establish_req) */
+testcase TC_cs_mo_call_audio_v0() runs on test_CT {
+	var HNBGW_ConnHdlr vc_conn;
+	var TestHdlrParams pars;
+
+	f_init();
+	pars := valueof(f_gen_test_hdlr_pars());
+	pars.hnbllif_sapi_audio_version := 0;
+	vc_conn := f_start_handler(refers(f_tc_cs_mo_call), pars);
+	vc_conn.done;
+	f_shutdown_helper();
+}
 
 private function f_tc_ps_mo_gtp_ping_pong(charstring id) runs on HNBGW_ConnHdlr {
 	const integer context_id := 30;
@@ -445,6 +470,7 @@
 	execute( TC_hnb_register_request_reject() );
 	execute( TC_mo_conn() );
 	execute( TC_paging() );
+	execute( TC_cs_mo_call_audio_v0() );
 	execute( TC_cs_mo_call() );
 	execute( TC_ps_mo_gtp_ping_pong() );
 }