diff options
author | Oliver Smith <osmith@sysmocom.de> | 2023-06-21 16:19:51 +0200 |
---|---|---|
committer | Oliver Smith <osmith@sysmocom.de> | 2023-07-18 09:45:26 +0200 |
commit | f1219aa47ed43b0f93d961680f6142208af9c998 (patch) | |
tree | b902fe2f658f982e83f6dd47d42d519cdd9348d6 | |
parent | db99cb0378a46f56ee957c26299d86d2608be66d (diff) |
msc: TC_lu_and_mt_csd: test multiple bearer services
Related: OS#4394
Depends: osmo-msc I7297cc481fbe36355b5231ca800cf566a1ee93c0
Change-Id: Idf6502c826a441b8dd18257c85f9a3323883825e
-rw-r--r-- | msc/BSC_ConnectionHandler.ttcn | 9 | ||||
-rw-r--r-- | msc/MSC_Tests.ttcn | 35 |
2 files changed, 35 insertions, 9 deletions
diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index 76702d4d..1359dc77 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -1059,17 +1059,12 @@ template CallParameters tr_CallParams := { /* 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 22b308ee..1340252e 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -7202,13 +7202,44 @@ testcase TC_lu_and_mo_csd() runs on MTC_CT { 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(); |