Search code examples
gsmsim-toolkit

What are SIM Proactive commands?


STK can run some commands. In all resources (despite few resources) call the commands "Proactive".

What is proactive command and what another type of command is against it?


Solution

  • My bet is that the term "proactive command" derives from the term "proactive SIM" -- citing GSM 11.14 (now superseded by 3GPP 31.111 document which no longer contains this definition):

    proactive SIM: A SIM which is capable of issuing commands to the ME within the T=0 protocol.

    Specifications talk about "proactive commands" to differentiate them from normal SIM commands as defined in GSM 11.11 (like READ BINARY, VERIFY CHV, RUN GSM ALGORITHM...) issued by the ME (phone) to the SIM.

    In short:

    • "proactive commands" are commands given by the SIM to the ME/phone (e.g. DISPLAY TEXT)

    • "non-proactive commands" are commands given by the ME/phone to the SIM (e.g. RUN GSM ALGORITHM)

    The "proactive commands" in fact leverage the "non-proactive commands" like FETCH/TERMINAL RESPONSE/ENVELOPE as their communication channel (together with the status word in any other "non-proactive command" Response-APDU -- e.g. 91XX).

    I hope this makes some sense!

    EDIT> You might want to look here as well