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
diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp
index 5b2f190..fbe921d 100644
--- a/library/RAN_Emulation.ttcnpp
+++ b/library/RAN_Emulation.ttcnpp
@@ -504,8 +504,11 @@
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);