osmith has uploaded this change for review. (
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33595 )
Change subject: TC_lu_and_mt_csd: test multiple bearer services
......................................................................
TC_lu_and_mt_csd: test multiple bearer services
Related: OS#4394
Change-Id: Idf6502c826a441b8dd18257c85f9a3323883825e
---
M msc/BSC_ConnectionHandler.ttcn
M msc/MSC_Tests.ttcn
2 files changed, 52 insertions(+), 12 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/95/33595/1
diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn
index 4eedeee..9b3b255 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) :=
@@ -1564,10 +1559,9 @@
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 22b308e..4c14070 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -7202,13 +7202,49 @@
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.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);
+
+ 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();
--
To view, visit
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33595
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Idf6502c826a441b8dd18257c85f9a3323883825e
Gerrit-Change-Number: 33595
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-MessageType: newchange