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() );
}