diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2021-07-22 19:18:40 +0200 |
---|---|---|
committer | laforge <laforge@osmocom.org> | 2021-07-27 07:28:26 +0000 |
commit | 3c5127edebcfb445cc1444580beab19c7ab88443 (patch) | |
tree | 68cfc0f97e083cef40965343cf8c12d8b132fe8e | |
parent | 85bcd27bf0fa34db14c8588432d7d5d0515b3005 (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.ttcn | 14 |
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); } |