From fc5e50174c5a708beee21beabd972f0053adbd01 Mon Sep 17 00:00:00 2001 From: p1-bmu Date: Thu, 19 Nov 2020 15:37:09 +0100 Subject: [PATCH] corenet: more checks on RAN-initiated error ind PDU --- pycrate_corenet/ProcCNHnbap.py | 2 +- pycrate_corenet/ProcCNNgap.py | 2 +- pycrate_corenet/ProcCNRanap.py | 2 +- pycrate_corenet/ProcCNS1ap.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pycrate_corenet/ProcCNHnbap.py b/pycrate_corenet/ProcCNHnbap.py index 8d607a9..9ade20f 100644 --- a/pycrate_corenet/ProcCNHnbap.py +++ b/pycrate_corenet/ProcCNHnbap.py @@ -469,7 +469,7 @@ class HNBAPErrorIndHNB(HNBAPSigProc): def recv(self, pdu_rx): self._recv(pdu_rx) - if not self.errcause: + if not self.errcause and 'Cause' in self.HNBInfo: self._log('WNG', 'error ind received: %s.%s' % self.HNBInfo['Cause']) # if it corresponds to a previously CN-initiated class 1 procedure # abort it diff --git a/pycrate_corenet/ProcCNNgap.py b/pycrate_corenet/ProcCNNgap.py index 28fcf9a..8c3a907 100644 --- a/pycrate_corenet/ProcCNNgap.py +++ b/pycrate_corenet/ProcCNNgap.py @@ -1572,7 +1572,7 @@ class NGAPErrorIndNonUERAN(NGAPNonUESigProc): def recv(self, pdu): self._recv(pdu) - if not self.errcause: + if not self.errcause and 'Cause' in self.GNBInfo: self._log('WNG', 'error ind received: %r' % (self.GNBInfo['Cause'], )) # if it corresponds to a said-unknown UE ID, disconnect the UE instance if self.GNBInfo['Cause'] == ('radioNetwork', 'unknown-local-UE-NGAP-ID') \ diff --git a/pycrate_corenet/ProcCNRanap.py b/pycrate_corenet/ProcCNRanap.py index d171050..3efe7cf 100644 --- a/pycrate_corenet/ProcCNRanap.py +++ b/pycrate_corenet/ProcCNRanap.py @@ -2075,7 +2075,7 @@ class RANAPErrorIndRNC(RANAPSigProc): def recv(self, pdu): self._recv(pdu) - if not self.errcause is None: + if not self.errcause is None and 'Cause' in self.UEInfo: self._log('WNG', 'error ind received: %s.%i' % self.UEInfo['Cause']) # if it corresponds to a previously CN-initiated class 1 procedure # abort it diff --git a/pycrate_corenet/ProcCNS1ap.py b/pycrate_corenet/ProcCNS1ap.py index d420bb5..bd1cc27 100644 --- a/pycrate_corenet/ProcCNS1ap.py +++ b/pycrate_corenet/ProcCNS1ap.py @@ -1762,7 +1762,7 @@ class S1APErrorIndNonUEENB(S1APNonUESigProc): def recv(self, pdu): self._recv(pdu) - if not self.errcause: + if not self.errcause and 'Cause' in self.ENBInfo: self._log('WNG', 'error ind received: %r' % (self.ENBInfo['Cause'], )) # if it corresponds to an said-unknown UE ID, disconnect the UE instance if self.ENBInfo['Cause'] == ('radioNetwork', 'unknown-enb-ue-s1ap-id') \