Morning Harald, 

That makes sense. Just to close the loop on this in the event anyone else has a similar requirement, user Cheeriotb on Github has built an STK applet specifically for sending REFRESH commands to the UICC. Tested on a Samsung S20 with a SysmoISIM-SJA2 and it worked perfectly for me. The repo can be found here: https://github.com/cheeriotb/sim-toolkit-refresh 

On Tue, Jan 4, 2022 at 7:19 AM Harald Welte <laforge@osmocom.org> wrote:
Hi Bryan,

I think what you're doing is something that has not been forthought by the
3GPP / ETSI when specifying the SIM Cards.  Of course I cannot speak for
the designers, but based on my understanding:

Either you are

a) the phone.  If "the phone" updates the card, then it knows by itself to
   re-read the state and/or reset the card physically after changing it,

or

b) the card (an applet on it).  In this case, the proactive SIM refresh
   is used to tell the phone (which has no way of knowing otherwise to
   invalidate all its state about the SIM and start to re-read it

Of course I know that in todays "the phone" you have hundreds of software
components on at least half a dozen of processors, so the old assumption that
"the phone knows when it modifies" no longer holds true.

I am not aware of any method solving your problem, other than to write a small
card applet which triggers the proactive refresh, after you send it a command
via your channel...

Regards,
        Harald
--
- Harald Welte <laforge@osmocom.org>            http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
                                                  (ETSI EN 300 175-7 Ch. A6)