diff --git a/pySim/ota.py b/pySim/ota.py
index 31b5040..9c88370 100644
--- a/pySim/ota.py
+++ b/pySim/ota.py
@@ -23,6 +23,7 @@
 import zlib
 import abc
 import struct
+from typing import Optional
 
 # ETS TS 102 225 gives the general command structure and the dialects for CAT_TP, TCP/IP and HTTPS
 # 3GPP TS 31.115 gives the dialects for SMS-PP, SMS-CB, USSD and HTTP
@@ -158,7 +159,12 @@
         pass
 
     @abc.abstractmethod
-    def decode_resp(self, otak: OtaKeyset, apdu: bytes) -> bytes:
+    def decode_resp(self, otak: OtaKeyset, apdu: bytes) -> (object, Optional["CompactRemoteResp"]):
+        """Decode a response into a response packet and, if indicted (by a
+        response status of `"por_ok"`) a decoded response.
+
+        The response packet's common characteristics are not fully determined,
+        and (so far) completely proprietary per dialect."""
         pass
 
 
@@ -401,7 +407,7 @@
 
         return envelope_data
 
-    def decode_resp(self, otak: OtaKeyset, spi: dict, data: bytes) -> bytes:
+    def decode_resp(self, otak: OtaKeyset, spi: dict, data: bytes) -> ("OtaDialectSms.SmsResponsePacket", Optional["CompactRemoteResp"]):
         if isinstance(data, str):
             data = h2b(data)
         # plain-text POR:   027100000e0ab000110000000000000001612f
@@ -448,7 +454,8 @@
             raise OtaCheckError('Unknown por_rc_cc_ds: %s' % spi['por_rc_cc_ds'])
 
         # TODO: ExpandedRemoteResponse according to TS 102 226 5.2.2
-        dec = CompactRemoteResp.parse(res['secured_data'])
-        dec['tar'] = res['tar']
-        dec['response_status'] = res['response_status']
-        return dec
+        if res.response_status == 'por_ok':
+            dec = CompactRemoteResp.parse(res['secured_data'])
+        else:
+            dec = None
+        return (res, dec)
