BSC_Tests: Also test LCLS with halfrate codecs
At the moment LCLS is only tested using GSM-FR. There are not LCLS tests that test with GSM-HR yet. Lets make GSM-HR available and see what happens when we run BSC_Tests_LCLS.TC_lcls_gcr_bway_connect on HR instead of FR. - set channelType depending on g_pars.ass_codec_list.codecElements[0] - add testcase TC_lcls_gcr_bway_connect_hr Related OS#1602 Change-Id: I2421519a642bdb7453ae4a9058e177845690a489
This commit is contained in:
parent
17ddd852b0
commit
61f6b573b2
|
@ -1735,7 +1735,7 @@ return boolean {
|
|||
}
|
||||
|
||||
/* determine BSSMAP_IE_ChannelType from *first* element of BSSMAP_FIELD_CodecElement */
|
||||
private function f_BSSMAP_chtype_from_codec(BSSMAP_FIELD_CodecElement a_elem)
|
||||
function f_BSSMAP_chtype_from_codec(BSSMAP_FIELD_CodecElement a_elem)
|
||||
return BSSMAP_IE_ChannelType {
|
||||
/* FIXME: actually look at all elements of BSSMAP_IE_SpeechCodecList */
|
||||
var BSSMAP_IE_ChannelType ret := valueof(ts_BSSMAP_IE_ChannelType);
|
||||
|
|
|
@ -128,8 +128,12 @@ private altstep as_lcls_conn_hdlr_proxy() runs on LCLS_MSC_ConnHdlr {
|
|||
private function f_lcls_connhdlr_main(charstring id) runs on LCLS_MSC_ConnHdlr {
|
||||
/* 1) establish the connection between RSL and BSSAP side */
|
||||
var PDU_BSSAP ass_req := f_gen_ass_req();
|
||||
|
||||
var template PDU_BSSAP ass_compl := f_gen_exp_compl();
|
||||
ass_req.pdu.bssmap.assignmentRequest.codecList := g_pars.ass_codec_list;
|
||||
ass_req.pdu.bssmap.assignmentRequest.channelType :=
|
||||
f_BSSMAP_chtype_from_codec(g_pars.ass_codec_list.codecElements[0]);
|
||||
|
||||
f_establish_fully(ass_req, ass_compl);
|
||||
|
||||
/* 2) notify master that assignment has completed */
|
||||
|
@ -251,8 +255,7 @@ testcase TC_lcls_gcr_only() runs on lcls_test_CT {
|
|||
f_lcls_test_fini();
|
||||
}
|
||||
|
||||
/* Send an ASSIGNMENT REQ with LCLS GCR+CFG+CSC; expect connect both-way */
|
||||
testcase TC_lcls_gcr_bway_connect() runs on lcls_test_CT {
|
||||
private function f_tc_lcls_gcr_bway_connect(boolean hr) runs on lcls_test_CT {
|
||||
var TestHdlrParams pars_a := valueof(t_def_TestHdlrPars);
|
||||
var TestHdlrParams pars_b;
|
||||
var MSC_ConnHdlr vc_conn;
|
||||
|
@ -260,7 +263,11 @@ testcase TC_lcls_gcr_bway_connect() runs on lcls_test_CT {
|
|||
|
||||
f_lcls_init();
|
||||
|
||||
pars_a.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR}));
|
||||
if (hr == true) {
|
||||
pars_a.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecHR}));
|
||||
} else {
|
||||
pars_a.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR}));
|
||||
}
|
||||
pars_a.lcls.gcr := valueof(ts_GCR('010203'O, '0405'O, '060708090a'O));
|
||||
pars_a.lcls.cfg := LCLS_CFG_both_way;
|
||||
pars_a.lcls.csc := LCLS_CSC_connect;
|
||||
|
@ -272,6 +279,7 @@ testcase TC_lcls_gcr_bway_connect() runs on lcls_test_CT {
|
|||
pars_b.lcls.exp_sts := LCLS_STS_locally_switched;
|
||||
|
||||
f_lcls_test_init(pars_a, pars_b);
|
||||
|
||||
CONN_A.receive(LclsCompSync:LCLS_COMP_SYNC_ASS_COMPL);
|
||||
interleave {
|
||||
[] CONN_A.receive(tr_BSSMAP_LclsNotificationSts(LCLS_STS_not_yet_ls));
|
||||
|
@ -285,6 +293,16 @@ testcase TC_lcls_gcr_bway_connect() runs on lcls_test_CT {
|
|||
f_lcls_test_fini();
|
||||
}
|
||||
|
||||
/* Send an ASSIGNMENT REQ with LCLS GCR+CFG+CSC; expect connect both-way (full rate)*/
|
||||
testcase TC_lcls_gcr_bway_connect() runs on lcls_test_CT {
|
||||
f_tc_lcls_gcr_bway_connect(false)
|
||||
}
|
||||
|
||||
/* Send an ASSIGNMENT REQ with LCLS GCR+CFG+CSC; expect connect both-way (half rate) */
|
||||
testcase TC_lcls_gcr_bway_connect_hr() runs on lcls_test_CT {
|
||||
f_tc_lcls_gcr_bway_connect(true)
|
||||
}
|
||||
|
||||
/* Send an ASSIGNMENT REQ with LCLS CFG+CSC enabling LCLS but GCR doesn't match! */
|
||||
testcase TC_lcls_gcr_nomatch_bway_connect() runs on lcls_test_CT {
|
||||
var TestHdlrParams pars_a := valueof(t_def_TestHdlrPars);
|
||||
|
@ -581,6 +599,7 @@ control {
|
|||
|
||||
execute( TC_lcls_gcr_only() );
|
||||
execute( TC_lcls_gcr_bway_connect() );
|
||||
execute( TC_lcls_gcr_bway_connect_hr() );
|
||||
execute( TC_lcls_gcr_nomatch_bway_connect() );
|
||||
execute( TC_lcls_gcr_bway_dont_connect() );
|
||||
execute( TC_lcls_gcr_unsuppported_cfg() );
|
||||
|
|
|
@ -87,6 +87,7 @@
|
|||
<testcase classname='BSC_Tests' name='TC_dyn_pdch_osmo_act_nack' time='MASKED'/>
|
||||
<testcase classname='BSC_Tests_LCLS' name='TC_lcls_gcr_only' time='MASKED'/>
|
||||
<testcase classname='BSC_Tests_LCLS' name='TC_lcls_gcr_bway_connect' time='MASKED'/>
|
||||
<testcase classname='BSC_Tests_LCLS' name='TC_lcls_gcr_bway_connect_hr' time='MASKED'/>
|
||||
<testcase classname='BSC_Tests_LCLS' name='TC_lcls_gcr_nomatch_bway_connect' time='MASKED'/>
|
||||
<testcase classname='BSC_Tests_LCLS' name='TC_lcls_gcr_bway_dont_connect' time='MASKED'/>
|
||||
<testcase classname='BSC_Tests_LCLS' name='TC_lcls_gcr_unsuppported_cfg' time='MASKED'/>
|
||||
|
|
Loading…
Reference in New Issue