aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Smith <osmith@sysmocom.de>2023-07-07 13:25:11 +0200
committerOliver Smith <osmith@sysmocom.de>2023-07-18 09:45:26 +0200
commit63176df3ec527ce32437660b504b10f0e1be40fb (patch)
tree572ed7489931c6cb660b7121c69c91c2e4be8438
parentbf0858869aa7e425a43f401f997c304f87a41daf (diff)
msc: TC_lu_and_mo_csd: test multiple bearer services
-rw-r--r--msc/BSC_ConnectionHandler.ttcn5
-rw-r--r--msc/MSC_Tests.ttcn36
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();