From a60e5cffa4b1beb687f0024c3b8778ee9705f239 Mon Sep 17 00:00:00 2001 From: Vadim Yanitskiy Date: Tue, 26 May 2020 01:46:31 +0700 Subject: library/RSL_Emulation: fixup: handle RSL messages from any TRX As a side effect of change [1], the RSL emulation component has stopped to handle RSL messages from transceivers other than TRX#0. Let's fix this by using template '?' for stream ID. [1] I4c4a98458cfa33512db661b5435f484a38e2ef4f Change-Id: I5ff05bbd985ddc5e39a390e4b775a16f066a53ea --- library/RSL_Emulation.ttcn | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index ffd60a78..bbe53322 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -382,7 +382,7 @@ function main(boolean bts_role := true) runs on RSL_Emulation_CT { IPA_PT.send(ts_ASP_RSL_UD(ts_RSL_PAGING_LOAD_IND(23))); } [not bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { } - [bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_IMM_ASSIGN)) -> value rx_rsl { + [bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_IMM_ASSIGN, sid := ?)) -> value rx_rsl { var GsmRrMessage rr; var OCT1 ra; var GsmFrameNumber fn; @@ -418,7 +418,7 @@ function main(boolean bts_role := true) runs on RSL_Emulation_CT { } } } - [not bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_CHAN_RQD(?))) -> value rx_rsl { + [not bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_CHAN_RQD(?), sid := ?)) -> value rx_rsl { var RSL_IE_RequestRef req_ref; req_ref := rx_rsl.rsl.ies[1].body.req_ref; cid := f_cid_by_ra_fn2(req_ref.ra, req_ref.frame_nr); @@ -430,7 +430,7 @@ function main(boolean bts_role := true) runs on RSL_Emulation_CT { } } - [bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_CMD(?, ?))) -> value rx_rsl { + [bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_CMD(?, ?), sid := ?)) -> value rx_rsl { /* broadcast to all clients? */ for (i := 0; i < sizeof(ConnectionTable); i := i + 1) { if (ispresent(ConnectionTable[i].comp_ref)) { @@ -440,24 +440,24 @@ function main(boolean bts_role := true) runs on RSL_Emulation_CT { } /* Forward common channel management to the special port for it */ - [] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeT(?))) -> value rx_rsl { + [] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeT(?), sid := ?)) -> value rx_rsl { CCHAN_PT.send(rx_rsl); } /* Forward common channel management to the special port for it */ - [] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeC(?))) -> value rx_rsl { + [] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeC(?), sid := ?)) -> value rx_rsl { CCHAN_PT.send(rx_rsl); } /* blindly acknowledge all channel activations */ - [bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV))) -> value rx_rsl { + [bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV), sid := ?)) -> value rx_rsl { chan_nr := rx_rsl.rsl.ies[0].body.chan_nr; trx_nr := f_trx_by_streamId(rx_rsl.streamId); f_store_last_act_data(trx_nr, chan_nr, rx_rsl.rsl); IPA_PT.send(ts_ASP_RSL_UD(ts_RSL_CHAN_ACT_ACK(chan_nr, 23), rx_rsl.streamId)); } - [not dchan_suspended] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeDR(?))) -> value rx_rsl { + [not dchan_suspended] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeDR(?), sid := ?)) -> value rx_rsl { /* dispatch to channel based on ChanId */ cid := f_cid_by_chan_nr(f_trx_by_streamId(rx_rsl.streamId), rx_rsl.rsl.ies[0].body.chan_nr); @@ -491,7 +491,7 @@ function main(boolean bts_role := true) runs on RSL_Emulation_CT { IPA_PT.send(ts_ASP_RSL_UD(rx_rsl_msg, ConnectionTable[cid].stream_id)); } - [] CCHAN_PT.receive(tr_ASP_RSL_UD(?)) -> value rx_rsl { + [] CCHAN_PT.receive(tr_ASP_RSL_UD(?, sid := ?)) -> value rx_rsl { IPA_PT.send(ts_ASP_RSL_UD(rx_rsl.rsl, rx_rsl.streamId)); } -- cgit v1.2.3