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
This commit is contained in:
Pau Espin 2022-06-09 11:55:06 +02:00 committed by pespin
parent 4759074556
commit def56579c2
1 changed files with 27 additions and 1 deletions

View File

@ -300,6 +300,17 @@ private function f_tc_cs_mo_call(charstring id) runs on HNBGW_ConnHdlr {
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 @@ private function f_tc_cs_mo_call(charstring id) runs on HNBGW_ConnHdlr {
/* 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 @@ testcase TC_cs_mo_call() runs on test_CT {
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 @@ control {
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() );
}