osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32368 )
Change subject: bsc: TC_assignment_csd: test non-transp data rates ......................................................................
bsc: TC_assignment_csd: test non-transp data rates
Related: OS#4393 Change-Id: I2dce9486f3528a79bdea09bdbc1f02833e6bedc0 --- M bsc/BSC_Tests.ttcn 1 file changed, 23 insertions(+), 3 deletions(-)
Approvals: osmith: Looks good to me, approved Jenkins Builder: Verified
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 0844955..878083e 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1849,7 +1849,7 @@ return dt; }
-private function f_tc_assignment_csd(charstring data_rate_str, OCT1 data_rate) runs on MSC_ConnHdlr { +private function f_tc_assignment_csd(charstring data_rate_str, OCT1 data_rate, boolean transp := true) runs on MSC_ConnHdlr { var template PDU_BSSAP exp_compl := f_gen_exp_compl(); var PDU_BSSAP ass_cmd := f_gen_ass_req(); var SDP_FIELD_PayloadType pt_csd := PT_CSD; @@ -1857,6 +1857,11 @@ ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelTypeCSD); ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecCSData}));
+ /* Non-transparent service (3GPP TS 48.008 § 3.2.2.11, oct 5, bit 7) */ + if (not transp) { + data_rate := data_rate or4b '40'O; + } + ass_cmd.pdu.bssmap.assignmentRequest.channelType.speechId_DataIndicator := data_rate;
log("-----------------------------------------------"); @@ -1873,7 +1878,7 @@ } private function f_tc_assignment_csd_all(charstring id) runs on MSC_ConnHdlr { /* Data rates that require multi-slot HSCSD assignment are not tested - * on purpuse (not supported): T_32k0, T_28k8 */ + * on purpose (not supported): T_32k0, T_28k8, NT_43k5, NT_29k0 */ f_tc_assignment_csd("T_14k4", GSM0808_DATA_RATE_TRANSP_14k4); f_tc_assignment_csd("T_9k6", GSM0808_DATA_RATE_TRANSP_9k6); f_tc_assignment_csd("T_4k8", GSM0808_DATA_RATE_TRANSP_4k8); @@ -1881,6 +1886,11 @@ f_tc_assignment_csd("T_1k2", GSM0808_DATA_RATE_TRANSP_1k2); f_tc_assignment_csd("T_600", GSM0808_DATA_RATE_TRANSP_600); f_tc_assignment_csd("T_1200_75", GSM0808_DATA_RATE_TRANSP_1200_75); + + f_tc_assignment_csd("NT_12000_6000", GSM0808_DATA_RATE_NON_TRANSP_12000_6000, false); + f_tc_assignment_csd("NT_14k5", GSM0808_DATA_RATE_NON_TRANSP_14k5, false); + f_tc_assignment_csd("NT_12k0", GSM0808_DATA_RATE_NON_TRANSP_12k0, false); + f_tc_assignment_csd("NT_6k0", GSM0808_DATA_RATE_NON_TRANSP_6k0, false); } testcase TC_assignment_csd() runs on test_CT { if (Misc_Helpers.f_osmo_repo_is("nightly")) { /* osmo-bsc > 1.10.0 */ @@ -1888,7 +1898,7 @@ var TestHdlrParams pars := f_gen_test_hdlr_pars(); pars.encr := valueof(t_EncrParams('01'O, f_rnd_octstring(8)));
- f_init(1, true, guard_timeout := 90.0); + f_init(1, true, guard_timeout := 120.0); f_sleep(1.0); vc_conn := f_start_handler(refers(f_tc_assignment_csd_all), pars); vc_conn.done;