RSL_Emulation: fix rx of tr_RSL_PAGING_CMD()

For tr_RSL_PAGING_CMD, also check comp_ref against null.

Upon receiving a tr_RSL_PAGING_CMD, the code tries to dispatch the Paging
Command to all valid clients. However, the ConnectionTable[*].comp_ref is
*always* present, and actually null for unconnected clients.
So, before this patch, a Paging Command from osmo-bsc gets sent to a null
client, which disconnects the RSL emulation and aborts the test.

There is currently no test using this, but the upcoming MSC pool tests will:
see I21cbab193cd0de2e5692665442eae113d5f61904.

Change-Id: Iaf7730153a3a19e448a33298c3e12212a55929d5
This commit is contained in:
Neels Hofmeyr 2020-06-08 22:30:54 +02:00
parent a16749582e
commit d7eabd6ce6
1 changed files with 1 additions and 1 deletions

View File

@ -548,7 +548,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(?, ?), sid := ?)) -> value rx_rsl {
/* broadcast to all clients? */
for (i := 0; i < sizeof(ConnectionTable); i := i + 1) {
if (ispresent(ConnectionTable[i].comp_ref)) {
if (ispresent(ConnectionTable[i].comp_ref) and ConnectionTable[i].comp_ref != null) {
CLIENT_PT.send(rx_rsl.rsl) to ConnectionTable[i].comp_ref;
}
}