msc: add helper func f_set_cpars_csd()
Prepare to add new CSD related tests that also need to configure the
call parameters for CSD.
Related: OS#4394
Change-Id: I49c29af736cc37c393cecde4c45c4ffd41322bf7
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index d955f02..25d6a10 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -7187,21 +7187,31 @@
f_TC_auth_options(11);
}
-friend function f_mo_csd(charstring bs_name, BIT1 async, GSM48_bcap_transp transp, GSM48_bcap_user_rate user_rate)
- runs on BSC_ConnHdlr {
+private function f_set_cpars_csd(inout CallParameters cpars, charstring bs_name, BIT1 async,
+ GSM48_bcap_transp transp, GSM48_bcap_user_rate user_rate) {
log("-----------------------------------------------");
- log("MO CSD: " & bs_name);
+ log("CSD Bearer Service: " & 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;
+}
+
+friend function f_mo_csd(charstring bs_name, BIT1 async, GSM48_bcap_transp transp, GSM48_bcap_user_rate user_rate)
+ runs on BSC_ConnHdlr {
+ var CallParameters cpars := valueof(t_CallParams);
+
+ g_Tguard.start(20.0);
+ f_set_cpars_csd(cpars, bs_name, async, transp, user_rate);
f_perform_lu();
f_mo_call(cpars, 0.5);
}
@@ -7236,19 +7246,10 @@
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;
-
+ g_Tguard.start(20.0);
+ f_set_cpars_csd(cpars, bs_name, async, transp, user_rate);
f_perform_lu();
f_mt_call(cpars, 0.5);
}