sysmoISIM-SJA2: Enable Service 106 and 107 after successfully programming EF.ePDGId and EF.ePDGSelection
Service 106 and 107 must be set available in order to ME to consider as supported in USIM:
1. ePDG configuration Information support
2. ePDG configuration Information configured
Change-Id: Ica067915b9d06ba67f53da7d628f8bacde1ab80e
diff --git a/pySim/cards.py b/pySim/cards.py
index dc612df..1036717 100644
--- a/pySim/cards.py
+++ b/pySim/cards.py
@@ -302,6 +302,13 @@
else:
return ([None, None], sw)
+ def update_ust(self, service, bit=1):
+ (res, sw) = self._scc.read_binary(EF_USIM_ADF_map['UST'])
+ if sw == '9000':
+ content = enc_st(res, service, bit)
+ (res, sw) = self._scc.update_binary(EF_USIM_ADF_map['UST'], content)
+ return sw
+
class _MagicSimBase(Card):
"""
@@ -1216,6 +1223,17 @@
print("Programming ePDGSelection failed with code %s"%sw)
+ # After successfully programming EF.ePDGId and EF.ePDGSelection,
+ # Set service 106 and 107 as available in EF.UST
+ if self.file_exists(EF_USIM_ADF_map['UST']):
+ if p.get('epdgSelection') and p.get('epdgid'):
+ sw = self.update_ust(106, 1)
+ if sw != '9000':
+ print("Programming UST failed with code %s"%sw)
+ sw = self.update_ust(107, 1)
+ if sw != '9000':
+ print("Programming UST failed with code %s"%sw)
+
return