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):