<p>herlesupreeth has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/pysim/+/17879">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Enable parsing of USIM Service table (UST)<br><br>As per TS.31.102, This EF indicates which USIM services are available.<br>If a service is not indicated as available in the USIM, the ME shall not select this service.<br><br>Parsing of UST is achieved by first selecting the USIM application using its AID.<br>This is followed by selecting EF.UST with File ID - 6f38 in ADF.USIM<br><br>Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257<br>---<br>M pySim-read.py<br>1 file changed, 16 insertions(+), 1 deletion(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/79/17879/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/pySim-read.py b/pySim-read.py</span><br><span>index 3e25c76..5f5bea2 100755</span><br><span>--- a/pySim-read.py</span><br><span>+++ b/pySim-read.py</span><br><span>@@ -29,10 +29,11 @@</span><br><span> import re</span><br><span> import sys</span><br><span> from pySim.ts_51_011 import EF, DF, EF_SST_map</span><br><span style="color: hsl(120, 100%, 40%);">+from pySim.ts_31_102 import EF_UST_map</span><br><span> </span><br><span> from pySim.commands import SimCardCommands</span><br><span> from pySim.cards import card_detect, Card</span><br><span style="color: hsl(0, 100%, 40%);">-from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid, dec_msisdn, format_xplmn_w_act, dec_spn</span><br><span style="color: hsl(120, 100%, 40%);">+from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid, dec_msisdn, format_xplmn_w_act, dec_spn, parse_st</span><br><span> </span><br><span> </span><br><span> def parse_options():</span><br><span>@@ -236,6 +237,20 @@</span><br><span>     else:</span><br><span>                print("SIM Service Table: Can't read, response code = %s" % (sw,))</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+  # Check whether we have th AID of USIM, if so select it by its AID</span><br><span style="color: hsl(120, 100%, 40%);">+    # EF.UST - File Id in ADF USIM : 6f38</span><br><span style="color: hsl(120, 100%, 40%);">+ if '9000' == card.select_adf_by_aid():</span><br><span style="color: hsl(120, 100%, 40%);">+                # EF.UST</span><br><span style="color: hsl(120, 100%, 40%);">+              (res, sw) = card.read_binary('6f38')</span><br><span style="color: hsl(120, 100%, 40%);">+          if sw == '9000':</span><br><span style="color: hsl(120, 100%, 40%);">+                      avail_srvs = parse_st(res)</span><br><span style="color: hsl(120, 100%, 40%);">+                    print("USIM Service Table: %s" % res)</span><br><span style="color: hsl(120, 100%, 40%);">+                       # Print those which are available</span><br><span style="color: hsl(120, 100%, 40%);">+                     for s in avail_srvs:</span><br><span style="color: hsl(120, 100%, 40%);">+                          if s in EF_UST_map:</span><br><span style="color: hsl(120, 100%, 40%);">+                                   print('\tService %d - %s: %s' % (s, EF_UST_map[s], s in avail_srvs))</span><br><span style="color: hsl(120, 100%, 40%);">+          else:</span><br><span style="color: hsl(120, 100%, 40%);">+                 print("USIM Service Table: Can't read, response code = %s" % (sw,))</span><br><span> </span><br><span>        # Done for this card and maybe for everything ?</span><br><span>      print("Done !\n")</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/pysim/+/17879">change 17879</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/pysim/+/17879"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: pysim </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I54dbbd40bd3d22cee81f7c32e58cd946f8564257 </div>
<div style="display:none"> Gerrit-Change-Number: 17879 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: herlesupreeth <herlesupreeth@gmail.com> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>