ts_31_103: finish decoder and fix encoder for EF.PCSCF
The encoder/decoder functions in class EF_PCSCF look rather unfinshed
because of problems with dec_addr_tlv(), since those problems are fixed
by a previous patch we can now finish the decoder function and fix the
decoder as well.
Change-Id: I7613b8b71624dc5802aca93163788a2a2d4ca345
Related: OS#4963
diff --git a/pySim/ts_31_103.py b/pySim/ts_31_103.py
index 6224bc8..5ca8279 100644
--- a/pySim/ts_31_103.py
+++ b/pySim/ts_31_103.py
@@ -116,10 +116,12 @@
def __init__(self, fid='6f09', sfid=None, name='EF.P-CSCF', desc='P-CSCF Address'):
super().__init__(fid=fid, sfid=sfid, name=name, desc=desc)
def _decode_record_hex(self, raw_hex):
- # FIXME: this doesn't do JSON output
- return dec_addr_tlv(raw_hex)
+ addr, addr_type = dec_addr_tlv(raw_hex)
+ return {"addr": addr, "addr_type": addr_type}
def _encode_record_hex(self, json_in):
- return enc_addr_tlv(json_in)
+ addr = json_in['addr']
+ addr_type = json_in['addr_type']
+ return enc_addr_tlv(addr, addr_type)
# TS 31.103 Section 4.2.9
class EF_GBABP(TransparentEF):