mirror of https://gerrit.osmocom.org/pysim
ts_102_221: properly decode short file identifier
The SFI TLV contanins not the raw SFI, but it contains the SFI shifted to left by 3 bits (for some strange reason). So let's un-shift it. Change-Id: Ibc69b99010d2a25cbb69b6a3d1585d0cb63f1345
This commit is contained in:
parent
fa578bd601
commit
5e9bd93bbd
|
@ -186,7 +186,14 @@ class SecurityAttribReferenced(BER_TLV_IE, tag=0x8b):
|
|||
|
||||
# ETSI TS 102 221 11.1.1.4.8
|
||||
class ShortFileIdentifier(BER_TLV_IE, tag=0x88):
|
||||
_construct = HexAdapter(COptional(Bytes(1)))
|
||||
# If the length of the TLV is 1, the SFI value is indicated in the 5 most significant bits (bits b8 to b4)
|
||||
# of the TLV value field. In this case, bits b3 to b1 shall be set to 0
|
||||
class Shift3RAdapter(Adapter):
|
||||
def _decode(self, obj, context, path):
|
||||
return obj >> 3
|
||||
def _encode(self, obj, context, path):
|
||||
return obj << 3
|
||||
_construct = COptional(Shift3RAdapter(Byte))
|
||||
|
||||
# ETSI TS 102 221 11.1.1.4.9
|
||||
class LifeCycleStatusInteger(BER_TLV_IE, tag=0x8A):
|
||||
|
|
Loading…
Reference in New Issue