BSC_Tests: remove copy+paste CHAN RQD -> CHAN ACT -> CHAN ACK
... and replace it with a function
Change-Id: Id75cc92ddf1c1833c892a7bfa77d6561fd0f3679
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index aa8150a..14ba97d 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -255,10 +255,7 @@
f_bssap_reset();
/* Send CHAN RQD and wait for allocation; acknowledge it */
- f_ipa_tx(0, ts_RSL_CHAN_RQD('23'O, 23));
- rx_rsl := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV));
- var RslChannelNr chan_nr := rx_rsl.ies[0].body.chan_nr;
- f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, 23));
+ var RslChannelNr chan_nr := f_chreq_act_ack();
/* expect BSC to disable the channel again if there's no RLL EST IND */
rx_rsl := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL), T3101_MAX);
@@ -274,10 +271,7 @@
f_bssap_reset();
/* Send CHAN RQD and wait for allocation; acknowledge it */
- f_ipa_tx(0, ts_RSL_CHAN_RQD('23'O, 23));
- rx_rsl := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV));
- var RslChannelNr chan_nr := rx_rsl.ies[0].body.chan_nr;
- f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, 23));
+ var RslChannelNr chan_nr := f_chreq_act_ack();
var octetstring l3 := '00010203040506'O
f_ipa_tx(0, ts_RSL_EST_IND(chan_nr, valueof(ts_RslLinkID_DCCH(0)), l3));
@@ -299,10 +293,7 @@
f_bssap_reset();
/* Send CHAN RQD and wait for allocation; acknowledge it */
- f_ipa_tx(0, ts_RSL_CHAN_RQD('23'O, 23));
- rx_rsl := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV));
- var RslChannelNr chan_nr := rx_rsl.ies[0].body.chan_nr;
- f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, 23));
+ var RslChannelNr chan_nr := f_chreq_act_ack();
var octetstring l3 := '00010203040506'O
f_ipa_tx(0, ts_RSL_EST_IND(chan_nr, valueof(ts_RslLinkID_DCCH(0)), l3));
@@ -321,18 +312,25 @@
RslChannelNr rsl_chan_nr
}
+/* Send CHAN RQD and wait for allocation; acknowledge it */
+private function f_chreq_act_ack(OCT1 ra := '23'O, GsmFrameNumber fn := 23)
+runs on test_CT return RslChannelNr {
+ var RSL_Message rx_rsl;
+ f_ipa_tx(0, ts_RSL_CHAN_RQD(ra, fn));
+ rx_rsl := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV));
+ var RslChannelNr chan_nr := rx_rsl.ies[0].body.chan_nr;
+ f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, fn+10));
+ return chan_nr;
+}
+
/* helper function to establish a dedicated channel via BTS and MSC */
function f_est_dchan(OCT1 ra, GsmFrameNumber fn, octetstring l3)
runs on test_CT return DchanTuple {
var BSSAP_N_CONNECT_ind rx_c_ind;
- var RSL_Message rx_rsl;
var DchanTuple dt;
/* Send CHAN RQD and wait for allocation; acknowledge it */
- f_ipa_tx(0, ts_RSL_CHAN_RQD(ra, fn));
- rx_rsl := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV));
- dt.rsl_chan_nr := rx_rsl.ies[0].body.chan_nr;
- f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(dt.rsl_chan_nr, fn+1));
+ dt.rsl_chan_nr := f_chreq_act_ack(ra, fn);
f_ipa_tx(0, ts_RSL_EST_IND(dt.rsl_chan_nr, valueof(ts_RslLinkID_DCCH(0)), l3));
@@ -409,7 +407,6 @@
/* Test behavior of channel release after hard Clear Command from MSC */
testcase TC_chan_rel_hard_clear() runs on test_CT {
var BSSAP_N_DATA_ind rx_di;
- var RSL_Message rx_rsl;
var DchanTuple dt;
var RslLinkId main_dcch := valueof(ts_RslLinkID_DCCH(0));
@@ -456,7 +453,6 @@
/* Test behavior of channel release after hard RLSD from MSC */
testcase TC_chan_rel_hard_rlsd() runs on test_CT {
- var RSL_Message rx_rsl;
var DchanTuple dt;
var RslLinkId main_dcch := valueof(ts_RslLinkID_DCCH(0));
@@ -496,7 +492,6 @@
/* Test behavior of channel release after BSSMAP RESET from MSC */
testcase TC_chan_rel_a_reset() runs on test_CT {
- var RSL_Message rx_rsl;
var DchanTuple dt;
var RslLinkId main_dcch := valueof(ts_RslLinkID_DCCH(0));