From 63176df3ec527ce32437660b504b10f0e1be40fb Mon Sep 17 00:00:00 2001 From: Oliver Smith Date: Fri, 7 Jul 2023 13:25:11 +0200 Subject: msc: TC_lu_and_mo_csd: test multiple bearer services Related: OS#4394 Change-Id: I74f983e1f5c0fef61018a9a5b92ed3b3cdbdfb5f --- msc/BSC_ConnectionHandler.ttcn | 5 ++--- msc/MSC_Tests.ttcn | 36 ++++++++++++++++++++++++++++++++++-- 2 files changed, 36 insertions(+), 5 deletions(-) diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index 996f54a9..9a21b5d5 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -1559,10 +1559,9 @@ runs on BSC_ConnHdlr { if (cpars.emergency) { BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_CC_EMERG_SETUP(cpars.transaction_id))); - } if (cpars.csd) { - BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_CC_SETUP(cpars.transaction_id, cpars.called_party, ts_Bcap_csd))); } else { - BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_CC_SETUP(cpars.transaction_id, cpars.called_party))); + BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_CC_SETUP(cpars.transaction_id, cpars.called_party, + cpars.bearer_cap))); } if (cpars.stop_after_cc_setup) { diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 1340252e..81819ff3 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -7187,13 +7187,45 @@ testcase TC_auth_options_11() runs on MTC_CT { f_TC_auth_options(11); } -friend function f_tc_lu_and_mo_csd(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { - f_init_handler(pars); +friend function f_mo_csd(charstring bs_name, BIT1 async, GSM48_bcap_transp transp, GSM48_bcap_user_rate user_rate) + runs on BSC_ConnHdlr { + log("-----------------------------------------------"); + log("MO CSD: " & bs_name); + log("-----------------------------------------------"); + g_Tguard.start(20.0); + var CallParameters cpars := valueof(t_CallParams); + cpars.csd := true; + cpars.bearer_cap := valueof(ts_Bcap_csd); + cpars.bearer_cap.octet6.synchronous_asynchronous := async; + cpars.bearer_cap.octet6.connectionElement := int2bit(enum2int(transp), 2); + cpars.bearer_cap.octet6.userRate := int2bit(enum2int(user_rate), 4); + f_perform_lu(); f_mo_call(cpars); } + +friend function f_tc_lu_and_mo_csd(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { + f_init_handler(pars); + + f_mo_csd("BS21T", '1'B, GSM48_BCAP_TR_TRANSP, GSM48_BCAP_UR_300); + f_mo_csd("BS22T", '1'B, GSM48_BCAP_TR_TRANSP, GSM48_BCAP_UR_1200); + f_mo_csd("BS24T", '1'B, GSM48_BCAP_TR_TRANSP, GSM48_BCAP_UR_2400); + f_mo_csd("BS25T", '1'B, GSM48_BCAP_TR_TRANSP, GSM48_BCAP_UR_4800); + f_mo_csd("BS26T", '1'B, GSM48_BCAP_TR_TRANSP, GSM48_BCAP_UR_9600); + + f_mo_csd("BS21NT", '1'B, GSM48_BCAP_TR_RLP, GSM48_BCAP_UR_300); + f_mo_csd("BS22NT", '1'B, GSM48_BCAP_TR_RLP, GSM48_BCAP_UR_1200); + f_mo_csd("BS24NT", '1'B, GSM48_BCAP_TR_RLP, GSM48_BCAP_UR_2400); + f_mo_csd("BS25NT", '1'B, GSM48_BCAP_TR_RLP, GSM48_BCAP_UR_4800); + f_mo_csd("BS26NT", '1'B, GSM48_BCAP_TR_RLP, GSM48_BCAP_UR_9600); + + f_mo_csd("BS31T", '0'B, GSM48_BCAP_TR_TRANSP, GSM48_BCAP_UR_1200); + f_mo_csd("BS32T", '0'B, GSM48_BCAP_TR_TRANSP, GSM48_BCAP_UR_2400); + f_mo_csd("BS33T", '0'B, GSM48_BCAP_TR_TRANSP, GSM48_BCAP_UR_4800); + f_mo_csd("BS34T", '0'B, GSM48_BCAP_TR_TRANSP, GSM48_BCAP_UR_9600); +} testcase TC_lu_and_mo_csd() runs on MTC_CT { var BSC_ConnHdlr vc_conn; f_init(); -- cgit v1.2.3