summaryrefslogtreecommitdiffstats
path: root/library
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2020-05-26 01:46:31 +0700
committerVadim Yanitskiy <vyanitskiy@sysmocom.de>2020-05-26 17:51:19 +0700
commita60e5cffa4b1beb687f0024c3b8778ee9705f239 (patch)
tree208bbbf06b5b7716d0cf1f8e61786c19ff47a87b /library
parentefc9413afc0aa3a8cc19f14d29ffcc3441f0ef30 (diff)
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
Diffstat (limited to 'library')
-rw-r--r--library/RSL_Emulation.ttcn16
1 files changed, 8 insertions, 8 deletions
diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn
index ffd60a7..bbe5332 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));
}