diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2024-03-26 03:30:41 +0100 |
---|---|---|
committer | fixeria <vyanitskiy@sysmocom.de> | 2024-04-14 13:10:09 +0000 |
commit | d076e9350730eac472fc6ecbfd78eddcd3c16fef (patch) | |
tree | 3b059a72f1e305571b4ac1e4f5a960f7a30276c4 | |
parent | 904b5f1a56629b84f67807a75d5c0b356cc7d726 (diff) |
ran-emu: allow receiving Paging without a TMSI
Fix access of non-present tMSI.* if tMSI == omit, allowing to match
incoming Paging with a UnitData receiver that has no TMSI.
Change-Id: I1bdf3488be0f8d4f0905665c4ba642f9468b9777
-rw-r--r-- | library/RAN_Emulation.ttcnpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp index 5b2f1909..fbe921d6 100644 --- a/library/RAN_Emulation.ttcnpp +++ b/library/RAN_Emulation.ttcnpp @@ -504,8 +504,11 @@ private function CommonBssmapUnitdataCallback(PDU_BSSAP bssap) runs on RAN_Emulation_CT return template PDU_BSSAP { if (match(bssap, tr_BSSMAP_Paging)) { var RAN_ConnHdlr client := null; - client := f_imsi_table_find(bssap.pdu.bssmap.paging.iMSI.digits, - bssap.pdu.bssmap.paging.tMSI.tmsiOctets); + var template OCT4 tmsi := omit; + if (ispresent(bssap.pdu.bssmap.paging.tMSI)) { + tmsi := bssap.pdu.bssmap.paging.tMSI.tmsiOctets; + } + client := f_imsi_table_find(bssap.pdu.bssmap.paging.iMSI.digits, tmsi); if (client != null) { log("CommonBssmapUnitdataCallback: IMSI/TMSI found in table, dispatching to ", client); |