aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2021-07-22 19:18:40 +0200
committerlaforge <laforge@osmocom.org>2021-07-27 07:28:26 +0000
commit3c5127edebcfb445cc1444580beab19c7ab88443 (patch)
tree68cfc0f97e083cef40965343cf8c12d8b132fe8e
parent85bcd27bf0fa34db14c8588432d7d5d0515b3005 (diff)
bsc: expect proper chan_nr for various RSL_MT_RF_CHAN_REL
So far we were often just expecting the message type. Instead expect a release on the proper channel number. While hunting a test error, this confused me for a while, because a missing handler resulted in the release message handled in the wrong place, even though the chan_nr mismatched. Related: SYS#5130 Change-Id: I002c9273a387104bea062dec8879b4e19a72008d
-rw-r--r--bsc/BSC_Tests.ttcn14
1 files changed, 7 insertions, 7 deletions
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 6860907e..61ae49e7 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -5039,12 +5039,12 @@ private function f_tc_ho_int_radio_link_failure(charstring id) runs on MSC_ConnH
interleave {
[] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch tr_RRM_RR_RELEASE(int2oct(enum2int(rr_cause), 1)))) {}
[] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {}
- [] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) {
+ [] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) {
RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr));
f_rslem_unregister(0, g_chan_nr);
}
[] RSL1.receive(tr_RSL_DEACT_SACCH(new_chan_nr)) {}
- [] RSL1.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) {
+ [] RSL1.receive(tr_RSL_RF_CHAN_REL(new_chan_nr)) {
RSL1.send(ts_RSL_RF_CHAN_REL_ACK(new_chan_nr));
f_rslem_unregister(0, g_chan_nr, PT := RSL1_PROC);
}
@@ -5424,7 +5424,7 @@ private function f_tc_ho_out_fail_no_result_after_ho_cmd(charstring id) runs on
[] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch tr_RRM_RR_RELEASE)) {
log("Got RR Release");
}
- [] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) {
+ [] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) {
log("Got RF Chan Rel");
RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr));
f_rslem_unregister(0, g_chan_nr);
@@ -7224,7 +7224,7 @@ runs on MSC_ConnHdlr {
[] rsl_pt.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {
f_logp(BSCVTY, "Got RSL Deact SACCH");
}
- [] rsl_pt.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) {
+ [] rsl_pt.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) {
f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack");
rsl_pt.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr));
f_rslem_unregister(0, g_chan_nr, PT := rsl_proc_pt);
@@ -7250,7 +7250,7 @@ runs on MSC_ConnHdlr {
/* Also drop the SCCP connection */
BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
}
- [] rsl_pt.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) {
+ [] rsl_pt.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) {
f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack");
rsl_pt.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr));
f_rslem_unregister(0, g_chan_nr, PT := rsl_proc_pt);
@@ -9210,7 +9210,7 @@ private function f_tc_no_msc(charstring id) runs on MSC_ConnHdlr {
[] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {
f_logp(BSCVTY, "Got RSL Deact SACCH");
}
- [] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) {
+ [] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) {
f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack");
RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr));
f_rslem_unregister(0, g_chan_nr);
@@ -9388,7 +9388,7 @@ private function f_TC_reassignment_codec(charstring id) runs on MSC_ConnHdlr {
[] MGCP.receive(tr_DLCX) {}
[] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch tr_RRM_RR_RELEASE)) {}
[] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {}
- [] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) {
+ [] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) {
RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr));
f_rslem_unregister(0, g_chan_nr);
}