From 2eea70f6bc2dc64a285c70d59c78b5449ce5bbaa Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sat, 8 Jun 2024 18:23:31 +0200 Subject: [PATCH] pySim.apdu.ts_102_221: Decode FETCH and TERMINAL RESPONSE body This gives a meaningful decode during pySim-trace. Change-Id: Ifa410e1fefc25e87ffa8e3a2230af80180a36a18 --- pySim/apdu/ts_102_221.py | 2 ++ pySim/cat.py | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/pySim/apdu/ts_102_221.py b/pySim/apdu/ts_102_221.py index 5636da22..eaac868e 100644 --- a/pySim/apdu/ts_102_221.py +++ b/pySim/apdu/ts_102_221.py @@ -464,10 +464,12 @@ class Envelope(ApduCommand, n='ENVELOPE', ins=0xC2, cla=['80']): # TS 102 221 Section 11.2.3 / TS 102 223 class Fetch(ApduCommand, n='FETCH', ins=0x12, cla=['80']): _apdu_case = 2 + _tlv_rsp = cat.ProactiveCommand # TS 102 221 Section 11.2.3 / TS 102 223 class TerminalResponse(ApduCommand, n='TERMINAL RESPONSE', ins=0x14, cla=['80']): _apdu_case = 3 + _tlv = cat.TerminalResponse # TS 102 221 Section 11.3.1 class RetrieveData(ApduCommand, n='RETRIEVE DATA', ins=0xCB, cla=['8X', 'CX', 'EX']): diff --git a/pySim/cat.py b/pySim/cat.py index a14f4e2d..2a830c33 100644 --- a/pySim/cat.py +++ b/pySim/cat.py @@ -1196,6 +1196,13 @@ class ProactiveCommand(TLV_IE_Collection, def to_bytes(self, context: dict = {}): return self.decoded.to_tlv() +# TS 101 223 Section 6.8.0 +class TerminalResponse(TLV_IE_Collection, + nested=[CommandDetails, DeviceIdentities, Result, + Duration, TextString, ItemIdentifier, + #TODO: LocalInformation and other optional/conditional IEs + ]): + pass # reasonable default for playing with OTA # 010203040506070809101112131415161718192021222324252627282930313233