aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2024-03-26 03:30:41 +0100
committerfixeria <vyanitskiy@sysmocom.de>2024-04-14 13:10:09 +0000
commitd076e9350730eac472fc6ecbfd78eddcd3c16fef (patch)
tree3b059a72f1e305571b4ac1e4f5a960f7a30276c4
parent904b5f1a56629b84f67807a75d5c0b356cc7d726 (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.ttcnpp7
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);