mirror of
https://gitea.osmocom.org/sim-card/pysim.git
synced 2026-03-17 02:48:34 +03:00
sysmoISIM-SJA2: Add support for programming EF.ePDGSelection (ePDG Selection Information)
If the EF.ePDGSelection is present, it is populated with a single entry with PLMN 1 set to Home PLMN of USIM, ePDG FQDN format set to Operator Identifier FQDN and ePDG Priority value set to 1. Change-Id: I92f3f813afa41ae497ebc0dc2ca73da810f82364
This commit is contained in:
committed by
herlesupreeth
parent
3a261d31d5
commit
f964df4eb5
@@ -284,6 +284,16 @@ class UsimCard(Card):
|
||||
else:
|
||||
return (None, sw)
|
||||
|
||||
def update_ePDGSelection(self, mcc, mnc):
|
||||
(res, sw) = self._scc.read_binary(EF_USIM_ADF_map['ePDGSelection'], length=None, offset=0)
|
||||
if sw == '9000' and (len(mcc) == 0 or len(mnc) == 0):
|
||||
# Reset contents
|
||||
# 80 - Tag value
|
||||
(res, sw) = self._scc.update_binary(EF_USIM_ADF_map['ePDGSelection'], rpad('', len(res)))
|
||||
elif sw == '9000':
|
||||
(res, sw) = self._scc.update_binary(EF_USIM_ADF_map['ePDGSelection'], enc_ePDGSelection(res, mcc, mnc))
|
||||
return sw
|
||||
|
||||
def read_ust(self):
|
||||
(res, sw) = self._scc.read_binary(EF_USIM_ADF_map['UST'])
|
||||
if sw == '9000':
|
||||
@@ -1195,6 +1205,17 @@ class SysmoISIMSJA2(UsimCard):
|
||||
if sw != '9000':
|
||||
print("Programming ePDGId failed with code %s"%sw)
|
||||
|
||||
# update EF.ePDGSelection in ADF.USIM
|
||||
if self.file_exists(EF_USIM_ADF_map['ePDGSelection']):
|
||||
if p.get('epdgSelection'):
|
||||
epdg_plmn = p['epdgSelection']
|
||||
sw = self.update_ePDGSelection(epdg_plmn[:3], epdg_plmn[3:])
|
||||
else:
|
||||
sw = self.update_ePDGSelection("", "")
|
||||
if sw != '9000':
|
||||
print("Programming ePDGSelection failed with code %s"%sw)
|
||||
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user