BSC_Tests: fix AMR tests matching RSL MultiRate configuration IE
The RSL_IE_MultirateCfg was implemented and added to union RSL_IE_Body in [1]. Before this change, this IE was decoded as RSL_LV (basically an octetstring). Now this IE is decoded as RSL_IE_MultirateCfg, while some AMR tests still expect RSL_LV. Let them use RSL_IE_MultirateCfg. Change-Id: I40dab41d5dc5d14e358ba5a070ce174e7d8d4a4b Fixes: [1] I0a5ddce570c0fd70f096d897b0b609d20b552ff7
This commit is contained in:
parent
8b18937eef
commit
3998c03df3
|
@ -4632,21 +4632,14 @@ testcase TC_assignment_codec_amr_startmode_cruft() runs on test_CT {
|
|||
f_shutdown_helper();
|
||||
}
|
||||
|
||||
function f_TC_assignment_codec_amr(boolean fr, octetstring mrconf, bitstring s8_s0, bitstring exp_s8_s0,
|
||||
charstring start_mode := "1")
|
||||
function f_TC_assignment_codec_amr(boolean fr, RSL_IE_MultirateCfg mr_cfg,
|
||||
bitstring s8_s0, bitstring exp_s8_s0,
|
||||
charstring start_mode := "1")
|
||||
runs on test_CT {
|
||||
|
||||
var TestHdlrParams pars := f_gen_test_hdlr_pars();
|
||||
var MSC_ConnHdlr vc_conn;
|
||||
|
||||
/* See note above */
|
||||
var RSL_IE_Body mr_conf := {
|
||||
other := {
|
||||
len := lengthof(mrconf),
|
||||
payload := mrconf
|
||||
}
|
||||
};
|
||||
|
||||
if (fr) {
|
||||
pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecAMR_F}));
|
||||
} else {
|
||||
|
@ -4654,7 +4647,7 @@ runs on test_CT {
|
|||
}
|
||||
pars.ass_codec_list.codecElements[0].s0_7 := s8_s0;
|
||||
pars.ass_codec_list.codecElements[0].s8_15 := '00000111'B;
|
||||
pars.expect_mr_conf_ie := mr_conf;
|
||||
pars.expect_mr_conf_ie := { multirate_cfg := mr_cfg };
|
||||
pars.expect_mr_s0_s7 := exp_s8_s0;
|
||||
|
||||
f_init(1, true);
|
||||
|
@ -4693,71 +4686,90 @@ runs on test_CT {
|
|||
f_vty_amr_start_mode_restore(fr);
|
||||
}
|
||||
|
||||
|
||||
/* Set S1, we expect an AMR multirate configuration IE with all four rates
|
||||
* set. */
|
||||
testcase TC_assignment_codec_amr_f_S1() runs on test_CT {
|
||||
f_TC_assignment_codec_amr(true, '289520882208'O, '00000010'B, '00000010'B);
|
||||
var RSL_IE_MultirateCfg mr_cfg := valueof(ts_RSL_MultirateCfg(codec_modes := '10010101'B,
|
||||
params := '20882208'O));
|
||||
f_TC_assignment_codec_amr(true, mr_cfg, '00000011'B, '00000010'B);
|
||||
f_shutdown_helper();
|
||||
}
|
||||
|
||||
/* Set S1, we expect an AMR multirate configuration IE with the lower three
|
||||
* rates set. */
|
||||
testcase TC_assignment_codec_amr_h_S1() runs on test_CT {
|
||||
f_TC_assignment_codec_amr(false, '2815208820'O, '00000010'B, '00000010'B);
|
||||
var RSL_IE_MultirateCfg mr_cfg := valueof(ts_RSL_MultirateCfg(codec_modes := '00010101'B,
|
||||
params := '208820'O));
|
||||
f_TC_assignment_codec_amr(false, mr_cfg, '00000010'B, '00000010'B);
|
||||
f_shutdown_helper();
|
||||
}
|
||||
|
||||
/* Set S1 and two other rates, we expect an AMR MULTIRATE CONFIGURATION IE with
|
||||
* all four rates (and only S1 set in the ASSIGNMENT COMPLETE) */
|
||||
testcase TC_assignment_codec_amr_f_S124() runs on test_CT {
|
||||
f_TC_assignment_codec_amr(true, '289520882208'O, '00010110'B, '00000010'B);
|
||||
var RSL_IE_MultirateCfg mr_cfg := valueof(ts_RSL_MultirateCfg(codec_modes := '10010101'B,
|
||||
params := '20882208'O));
|
||||
f_TC_assignment_codec_amr(true, mr_cfg, '00010110'B, '00000010'B);
|
||||
f_shutdown_helper();
|
||||
}
|
||||
|
||||
/* Set S1 and two other rates, we expect an AMR MULTIRATE CONFIGURATION IE with
|
||||
* all four rates (and only S1 set in the ASSIGNMENT COMPLETE) */
|
||||
testcase TC_assignment_codec_amr_h_S124() runs on test_CT {
|
||||
f_TC_assignment_codec_amr(false, '2815208820'O, '00010110'B, '00000010'B);
|
||||
var RSL_IE_MultirateCfg mr_cfg := valueof(ts_RSL_MultirateCfg(codec_modes := '00010101'B,
|
||||
params := '208820'O));
|
||||
f_TC_assignment_codec_amr(false, mr_cfg, '00010110'B, '00000010'B);
|
||||
f_shutdown_helper();
|
||||
}
|
||||
|
||||
/* The following block of tests selects more and more rates until all four
|
||||
* possible rates are in the active set (full rate) */
|
||||
testcase TC_assignment_codec_amr_f_S0() runs on test_CT {
|
||||
f_TC_assignment_codec_amr(true, '2801'O, '00000001'B, '00000001'B);
|
||||
var RSL_IE_MultirateCfg mr_cfg := valueof(ts_RSL_MultirateCfg(codec_modes := '00000001'B));
|
||||
f_TC_assignment_codec_amr(true, mr_cfg, '00000001'B, '00000001'B);
|
||||
f_shutdown_helper();
|
||||
}
|
||||
|
||||
testcase TC_assignment_codec_amr_f_S02() runs on test_CT {
|
||||
f_TC_assignment_codec_amr(true, '28052080'O, '00000101'B, '00000101'B);
|
||||
var RSL_IE_MultirateCfg mr_cfg := valueof(ts_RSL_MultirateCfg(codec_modes := '00000101'B,
|
||||
params := '2080'O));
|
||||
f_TC_assignment_codec_amr(true, mr_cfg, '00000101'B, '00000101'B);
|
||||
f_shutdown_helper();
|
||||
}
|
||||
|
||||
testcase TC_assignment_codec_amr_f_S024() runs on test_CT {
|
||||
f_TC_assignment_codec_amr(true, '2815208820'O, '00010101'B, '00010101'B);
|
||||
var RSL_IE_MultirateCfg mr_cfg := valueof(ts_RSL_MultirateCfg(codec_modes := '00010101'B,
|
||||
params := '208820'O));
|
||||
f_TC_assignment_codec_amr(true, mr_cfg, '00010101'B, '00010101'B);
|
||||
f_shutdown_helper();
|
||||
}
|
||||
|
||||
testcase TC_assignment_codec_amr_f_S0247() runs on test_CT {
|
||||
f_TC_assignment_codec_amr(true, '289520882208'O, '10010101'B, '10010101'B);
|
||||
var RSL_IE_MultirateCfg mr_cfg := valueof(ts_RSL_MultirateCfg(codec_modes := '10010101'B,
|
||||
params := '20882208'O));
|
||||
f_TC_assignment_codec_amr(true, mr_cfg, '10010101'B, '10010101'B);
|
||||
f_shutdown_helper();
|
||||
}
|
||||
|
||||
/* The following block of tests selects more and more rates until all three
|
||||
* possible rates are in the active set (half rate) */
|
||||
testcase TC_assignment_codec_amr_h_S0() runs on test_CT {
|
||||
f_TC_assignment_codec_amr(false, '2801'O, '00000001'B, '00000001'B);
|
||||
var RSL_IE_MultirateCfg mr_cfg := valueof(ts_RSL_MultirateCfg(codec_modes := '00000001'B));
|
||||
f_TC_assignment_codec_amr(false, mr_cfg, '00000001'B, '00000001'B);
|
||||
f_shutdown_helper();
|
||||
}
|
||||
|
||||
testcase TC_assignment_codec_amr_h_S02() runs on test_CT {
|
||||
f_TC_assignment_codec_amr(false, '28052080'O, '00000101'B, '00000101'B);
|
||||
var RSL_IE_MultirateCfg mr_cfg := valueof(ts_RSL_MultirateCfg(codec_modes := '00000101'B,
|
||||
params := '2080'O));
|
||||
f_TC_assignment_codec_amr(false, mr_cfg, '00000101'B, '00000101'B);
|
||||
f_shutdown_helper();
|
||||
}
|
||||
|
||||
testcase TC_assignment_codec_amr_h_S024() runs on test_CT {
|
||||
f_TC_assignment_codec_amr(false, '2815208820'O, '00010101'B, '00010101'B);
|
||||
var RSL_IE_MultirateCfg mr_cfg := valueof(ts_RSL_MultirateCfg(codec_modes := '00010101'B,
|
||||
params := '208820'O));
|
||||
f_TC_assignment_codec_amr(false, mr_cfg, '00010101'B, '00010101'B);
|
||||
f_shutdown_helper();
|
||||
}
|
||||
|
||||
|
@ -4770,7 +4782,9 @@ testcase TC_assignment_codec_amr_h_S024() runs on test_CT {
|
|||
testcase TC_assignment_codec_amr_h_S0247() runs on test_CT {
|
||||
/* Try to include 12,2k in into the active set even though the channel
|
||||
* is half rate only. The BSC is expected to remove the 12,0k */
|
||||
f_TC_assignment_codec_amr(false, '2815208820'O, '10010101'B, '00010101'B);
|
||||
var RSL_IE_MultirateCfg mr_cfg := valueof(ts_RSL_MultirateCfg(codec_modes := '00010101'B,
|
||||
params := '208820'O));
|
||||
f_TC_assignment_codec_amr(false, mr_cfg, '10010101'B, '00010101'B);
|
||||
f_shutdown_helper();
|
||||
}
|
||||
|
||||
|
@ -4778,7 +4792,9 @@ testcase TC_assignment_codec_amr_f_S01234567() runs on test_CT {
|
|||
/* See what happens when all rates are selected at once. Since then
|
||||
* Also S1 is selected, this setting will be prefered and we should
|
||||
* get 12.2k, 7,40k, 5,90k, and 4,75k in the active set. */
|
||||
f_TC_assignment_codec_amr(true, '289520882208'O, '11111111'B, '00000010'B);
|
||||
var RSL_IE_MultirateCfg mr_cfg := valueof(ts_RSL_MultirateCfg(codec_modes := '10010101'B,
|
||||
params := '20882208'O));
|
||||
f_TC_assignment_codec_amr(true, mr_cfg, '11111111'B, '00000010'B);
|
||||
f_shutdown_helper();
|
||||
}
|
||||
|
||||
|
@ -4786,7 +4802,9 @@ testcase TC_assignment_codec_amr_f_S0234567() runs on test_CT {
|
|||
/* Same as above, but with S1 missing, the MSC is then expected to
|
||||
* select the currently supported rates, which are also 12.2k, 7,40k,
|
||||
* 5,90k, and 4,75k, into the active set. */
|
||||
f_TC_assignment_codec_amr(true, '289520882208'O, '11111101'B, '10010101'B);
|
||||
var RSL_IE_MultirateCfg mr_cfg := valueof(ts_RSL_MultirateCfg(codec_modes := '10010101'B,
|
||||
params := '20882208'O));
|
||||
f_TC_assignment_codec_amr(true, mr_cfg, '11111101'B, '10010101'B);
|
||||
f_shutdown_helper();
|
||||
}
|
||||
|
||||
|
@ -4809,28 +4827,37 @@ testcase TC_assignment_codec_amr_h_S7() runs on test_CT {
|
|||
}
|
||||
|
||||
testcase TC_assignment_codec_amr_f_start_mode_auto() runs on test_CT {
|
||||
f_TC_assignment_codec_amr(true, '209520882208'O, '11111111'B, '00000010'B,
|
||||
start_mode := "auto");
|
||||
var RSL_IE_MultirateCfg mr_cfg := valueof(ts_RSL_MultirateCfg(icmi := false,
|
||||
codec_modes := '10010101'B,
|
||||
params := '20882208'O));
|
||||
f_TC_assignment_codec_amr(true, mr_cfg, '11111111'B, '00000010'B, start_mode := "auto");
|
||||
f_shutdown_helper();
|
||||
}
|
||||
|
||||
testcase TC_assignment_codec_amr_h_start_mode_auto() runs on test_CT {
|
||||
f_TC_assignment_codec_amr(false, '2015208820'O, '10010101'B, '00010101'B,
|
||||
var RSL_IE_MultirateCfg mr_cfg := valueof(ts_RSL_MultirateCfg(icmi := false,
|
||||
codec_modes := '00010101'B,
|
||||
params := '208820'O));
|
||||
f_TC_assignment_codec_amr(false, mr_cfg, '10010101'B, '00010101'B,
|
||||
start_mode := "auto");
|
||||
f_shutdown_helper();
|
||||
}
|
||||
|
||||
testcase TC_assignment_codec_amr_f_start_mode_4() runs on test_CT {
|
||||
/* "amr tch-f modes 0 2 4 7" => total 4 modes and start mode 4 => '11'B on the wire */
|
||||
f_TC_assignment_codec_amr(true, '2b9520882208'O, '11111111'B, '00000010'B,
|
||||
start_mode := "4");
|
||||
var RSL_IE_MultirateCfg mr_cfg := valueof(ts_RSL_MultirateCfg(start_mode := 3,
|
||||
codec_modes := '10010101'B,
|
||||
params := '20882208'O));
|
||||
f_TC_assignment_codec_amr(true, mr_cfg, '11111111'B, '00000010'B, start_mode := "4");
|
||||
f_shutdown_helper();
|
||||
}
|
||||
|
||||
testcase TC_assignment_codec_amr_h_start_mode_4() runs on test_CT {
|
||||
/* "amr tch-h modes 0 2 4" => total 3 modes and start mode 4 => '10'B on the wire */
|
||||
f_TC_assignment_codec_amr(false, '2a15208820'O, '10010101'B, '00010101'B,
|
||||
start_mode := "4");
|
||||
var RSL_IE_MultirateCfg mr_cfg := valueof(ts_RSL_MultirateCfg(start_mode := 2,
|
||||
codec_modes := '00010101'B,
|
||||
params := '208820'O));
|
||||
f_TC_assignment_codec_amr(false, mr_cfg, '10010101'B, '00010101'B, start_mode := "4");
|
||||
f_shutdown_helper();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue