From 7cb94e4193fc8646e9b0c86670895451deba8c1f Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Fri, 8 Oct 2021 15:47:57 +0200 Subject: [PATCH] USIM: Add ENVELOPE and ENVELOPE-SMS shell commands Change-Id: I4345459d99c0eeb5753217ad4e7188747c51a2a2 --- pySim/ts_31_102.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py index f347f67a..faf0f38d 100644 --- a/pySim/ts_31_102.py +++ b/pySim/ts_31_102.py @@ -1089,6 +1089,20 @@ class ADF_USIM(CardADF): (data, sw) = self._cmd.card._scc.terminal_profile(arg) self._cmd.poutput('SW: %s, data: %s' % (sw, data)) + def do_envelope(self, arg): + """Send an ENVELOPE command to the card.""" + (data, sw) = self._cmd.card._scc.envelope(arg) + self._cmd.poutput('SW: %s, data: %s' % (sw, data)) + + def do_envelope_sms(self, arg): + """Send an ENVELOPE command to the card.""" + tpdu_ie = SMS_TPDU() + tpdu_ie.from_bytes(h2b(arg)) + dev_ids = DeviceIdentities(decoded={'source_dev_id':'network','dest_dev_id':'uicc'}) + sms_dl = SMSPPDownload(children=[dev_ids, tpdu_ie]) + (data, sw) = self._cmd.card._scc.envelope(b2h(sms_dl.to_tlv())) + self._cmd.poutput('SW: %s, data: %s' % (sw, data)) + # TS 31.102 Section 7.3 sw_usim = {