BSC: Implement RSL_IE_MultirateCfg and use it in BSC_Tests
Change-Id: I0a5ddce570c0fd70f096d897b0b609d20b552ff7
This commit is contained in:
parent
8539312f8f
commit
f7634dc706
|
@ -111,6 +111,9 @@ private const BtsParams c_BtsParams[NUM_BTS_CFG] := {
|
|||
/* BTS3 */ { trx_num := 1, tsc := 4 }
|
||||
}
|
||||
|
||||
private const RSL_IE_Body mr_conf_amr_5_90 :=
|
||||
valueof(RSL_IE_Body:{multirate_cfg := ts_RSL_MultirateCfg(true, 0, '00000100'B /* 5,90k */)});
|
||||
|
||||
/* per-BTS state which we keep */
|
||||
type record BTS_State {
|
||||
/* component reference to the IPA_Client component used for RSL */
|
||||
|
@ -4504,17 +4507,10 @@ testcase TC_assignment_codec_amr_f() runs on test_CT {
|
|||
/* Note: This setups the codec configuration. The parameter payload in
|
||||
* mr_conf must be consistant with the parameter codecElements in pars
|
||||
* and also must match the amr-config in osmo-bsc.cfg! */
|
||||
var RSL_IE_Body mr_conf := {
|
||||
other := {
|
||||
len := 2,
|
||||
payload := '2804'O
|
||||
}
|
||||
};
|
||||
|
||||
pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecAMR_F}));
|
||||
pars.ass_codec_list.codecElements[0].s0_7 := '00000100'B; /* 5,90k */
|
||||
pars.ass_codec_list.codecElements[0].s8_15 := '01010111'B;
|
||||
pars.expect_mr_conf_ie := mr_conf;
|
||||
pars.expect_mr_conf_ie := mr_conf_amr_5_90;
|
||||
|
||||
f_init(1, true);
|
||||
f_sleep(1.0);
|
||||
|
@ -4539,17 +4535,10 @@ testcase TC_assignment_codec_amr_h() runs on test_CT {
|
|||
var MSC_ConnHdlr vc_conn;
|
||||
|
||||
/* See note above */
|
||||
var RSL_IE_Body mr_conf := {
|
||||
other := {
|
||||
len := 2,
|
||||
payload := '2804'O
|
||||
}
|
||||
};
|
||||
|
||||
pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecAMR_H}));
|
||||
pars.ass_codec_list.codecElements[0].s0_7 := '00000100'B; /* 5,90k */
|
||||
pars.ass_codec_list.codecElements[0].s8_15 := '00000111'B;
|
||||
pars.expect_mr_conf_ie := mr_conf;
|
||||
pars.expect_mr_conf_ie := mr_conf_amr_5_90;
|
||||
|
||||
f_init(1, true);
|
||||
f_sleep(1.0);
|
||||
|
@ -4598,17 +4587,11 @@ testcase TC_assignment_codec_amr_startmode_cruft() runs on test_CT {
|
|||
var TestHdlrParams pars := f_gen_test_hdlr_pars();
|
||||
var MSC_ConnHdlr vc_conn;
|
||||
|
||||
var RSL_IE_Body mr_conf := {
|
||||
other := {
|
||||
len := 2,
|
||||
payload := '2004'O /* <- expect ICMI=0, smod=00 */
|
||||
}
|
||||
};
|
||||
|
||||
pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecAMR_F}));
|
||||
pars.ass_codec_list.codecElements[0].s0_7 := '00000100'B; /* 5,90k */
|
||||
pars.ass_codec_list.codecElements[0].s8_15 := '01010111'B;
|
||||
pars.expect_mr_conf_ie := mr_conf;
|
||||
/* expect ICMI=0, smod=00: */
|
||||
pars.expect_mr_conf_ie := valueof(RSL_IE_Body:{multirate_cfg := ts_RSL_MultirateCfg(false, 0, '00000100'B /* 5,90k */)});
|
||||
|
||||
f_init(1, true);
|
||||
f_sleep(1.0);
|
||||
|
|
|
@ -814,6 +814,31 @@ module RSL_Types {
|
|||
slot_count := slot_count
|
||||
}
|
||||
|
||||
/* 9.3.52, 3GPP TS 44.018 10.5.2.21aa */
|
||||
type record RSL_IE_MultirateCfg {
|
||||
uint8_t len,
|
||||
uint3_t mr_speech_ver,
|
||||
boolean nscb,
|
||||
boolean icmi,
|
||||
BIT1 spare,
|
||||
uint2_t start_mode,
|
||||
BIT8 amr_codec_modes,
|
||||
octetstring parameters
|
||||
} with {
|
||||
variant (len) "LENGTHTO(mr_speech_ver,nscb,icmi,spare,start_mode,amr_codec_modes,parameters)"
|
||||
};
|
||||
template (value) RSL_IE_MultirateCfg ts_RSL_MultirateCfg(boolean icmi := true, uint2_t start_mode := 0,
|
||||
BIT8 amr_codec_modes := '00000100'B /* 5,90k */) := {
|
||||
len := 2,
|
||||
mr_speech_ver := 1,
|
||||
nscb := false,
|
||||
icmi := icmi,
|
||||
spare := '0'B,
|
||||
start_mode := start_mode,
|
||||
amr_codec_modes := amr_codec_modes,
|
||||
parameters := ''O
|
||||
}
|
||||
|
||||
/* 9.3.53 */
|
||||
type record RSL_IE_MultirateCtrl {
|
||||
uint3_t spare,
|
||||
|
@ -952,6 +977,7 @@ module RSL_Types {
|
|||
RSL_IE_MS_Power ms_power,
|
||||
RSL_IE_MS_Power_Parameters ms_power_params,
|
||||
uint8_t timing_adv,
|
||||
RSL_IE_MultirateCfg multirate_cfg,
|
||||
RSL_IE_MultirateCtrl multirate_ctrl,
|
||||
uint8_t msg_id,
|
||||
RSL_IE_FrameNumber frame_nr,
|
||||
|
@ -1014,6 +1040,7 @@ module RSL_Types {
|
|||
ms_power, iei = RSL_IE_MS_POWER;
|
||||
ms_power_params, iei = RSL_IE_MS_POWER_PARAM;
|
||||
timing_adv, iei = RSL_IE_TIMING_ADVANCE;
|
||||
multirate_cfg, iei = RSL_IE_MR_CONFIG;
|
||||
multirate_ctrl, iei = RSL_IE_MR_CONTROL;
|
||||
msg_id, iei = RSL_IE_MSG_ID;
|
||||
|
||||
|
|
Loading…
Reference in New Issue