USIM: Add ENVELOPE and ENVELOPE-SMS shell commands
Change-Id: I4345459d99c0eeb5753217ad4e7188747c51a2a2
diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py
index f347f67..faf0f38 100644
--- a/pySim/ts_31_102.py
+++ b/pySim/ts_31_102.py
@@ -1089,6 +1089,20 @@
(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 = {