osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33595 )
Change subject: msc: TC_lu_and_mt_csd: test multiple bearer services ......................................................................
msc: TC_lu_and_mt_csd: test multiple bearer services
Related: OS#4394 Depends: osmo-msc I7297cc481fbe36355b5231ca800cf566a1ee93c0 Change-Id: Idf6502c826a441b8dd18257c85f9a3323883825e --- M msc/BSC_ConnectionHandler.ttcn M msc/MSC_Tests.ttcn 2 files changed, 46 insertions(+), 9 deletions(-)
Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved Jenkins Builder: Verified
diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index 76702d4..1359dc7 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -1059,17 +1059,12 @@ /* Allocate a call reference and send SETUP via MNCC to MSC */ function f_mt_call_initiate(inout CallParameters cpars) runs on BSC_ConnHdlr { - var template MNCC_bearer_cap bcap := ts_MNCC_bcap_voice; - - if (cpars.csd) { - bcap := ts_MNCC_bcap_data; - } - cpars.mo_call := false; cpars.mncc_callref := f_rnd_int(2147483648);
MNCC.send(ts_MNCC_SETUP_req(cpars.mncc_callref, hex2str(g_pars.msisdn), - hex2str(cpars.called_party), hex2str(g_pars.imsi), bcap)); + hex2str(cpars.called_party), hex2str(g_pars.imsi), + cpars.mncc_bearer_cap)); }
private template (value) SDP_Message ts_SDP_CRCX_CN(CallParameters cpars) := diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 22b308e..1340252 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -7202,13 +7202,44 @@ vc_conn.done; }
-friend function f_tc_lu_and_mt_csd(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { - f_init_handler(pars); +friend function f_mt_csd(charstring bs_name, BIT1 async, GSM48_bcap_transp transp, GSM48_bcap_user_rate user_rate) + runs on BSC_ConnHdlr { + log("-----------------------------------------------"); + log("MT CSD: " & bs_name); + log("-----------------------------------------------"); + g_Tguard.start(20.0); + var CallParameters cpars := valueof(t_CallParams); + cpars.csd := true; + cpars.mncc_bearer_cap := valueof(ts_MNCC_bcap_data); + cpars.mncc_bearer_cap.data.async := bit2int(async); + cpars.mncc_bearer_cap.data.transp := transp; + cpars.mncc_bearer_cap.data.user_rate := user_rate; + f_perform_lu(); f_mt_call(cpars); } +friend function f_tc_lu_and_mt_csd(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { + f_init_handler(pars); + + f_mt_csd("BS21T", '1'B, GSM48_BCAP_TR_TRANSP, GSM48_BCAP_UR_300); + f_mt_csd("BS22T", '1'B, GSM48_BCAP_TR_TRANSP, GSM48_BCAP_UR_1200); + f_mt_csd("BS24T", '1'B, GSM48_BCAP_TR_TRANSP, GSM48_BCAP_UR_2400); + f_mt_csd("BS25T", '1'B, GSM48_BCAP_TR_TRANSP, GSM48_BCAP_UR_4800); + f_mt_csd("BS26T", '1'B, GSM48_BCAP_TR_TRANSP, GSM48_BCAP_UR_9600); + + f_mt_csd("BS21NT", '1'B, GSM48_BCAP_TR_RLP, GSM48_BCAP_UR_300); + f_mt_csd("BS22NT", '1'B, GSM48_BCAP_TR_RLP, GSM48_BCAP_UR_1200); + f_mt_csd("BS24NT", '1'B, GSM48_BCAP_TR_RLP, GSM48_BCAP_UR_2400); + f_mt_csd("BS25NT", '1'B, GSM48_BCAP_TR_RLP, GSM48_BCAP_UR_4800); + f_mt_csd("BS26NT", '1'B, GSM48_BCAP_TR_RLP, GSM48_BCAP_UR_9600); + + f_mt_csd("BS31T", '0'B, GSM48_BCAP_TR_TRANSP, GSM48_BCAP_UR_1200); + f_mt_csd("BS32T", '0'B, GSM48_BCAP_TR_TRANSP, GSM48_BCAP_UR_2400); + f_mt_csd("BS33T", '0'B, GSM48_BCAP_TR_TRANSP, GSM48_BCAP_UR_4800); + f_mt_csd("BS34T", '0'B, GSM48_BCAP_TR_TRANSP, GSM48_BCAP_UR_9600); +} testcase TC_lu_and_mt_csd() runs on MTC_CT { var BSC_ConnHdlr vc_conn; f_init();