I would like to programmatically access an STK (SIM Application Toolkit) application without using my handset. GSM modem and/or handset is attached to my PC via USB and/or R
For Quectel follow this manual link
While I have not worked directly with SAT/STK myself, I can give a little information to where you can read more. The wikipedia article contains some information and pointers and the GSM 11.14 standard is available here.
This discussion thread contains some practical information.
This can be done by using AT commands like AT+STGI & AT+STGR. AT+STGI is used to open the SIM menu & AT+STGR to select the menu. This can also be done prorammatically using Serial Port Interface to GSM Modem.
Please note, different manufacturers have different AT commands to access the STK functions. And, not all of the devices are supporting the running of STK applications. So far i've managed to get ZTE MF100 working: After opening, the following commands come handy:
AT+ZSTM // select STK app (initialize, lists the available options in return)
AT+ZSELM=1 // select the first main menuentry (you will get the submenu options as return)
AT+ZSELI=1 // select the first submenu entry (you will get some response as well)
AT+ZINPR=2,1234567890 // this is a response, in my case i had to send a phone number. the first parameter means "numeric only", setting this to 0 will allow any characters (from the standard SMS charset)
AT+ZINPR=1,1 // this is a confirmation response (first parameter=1 means yes/no answer, second is the parameter, yes in this case)
AT+ZBK=0 // return to the main menu
You should open the /dev/ttyUSBx non-blocking, and poll the input for data, as the modem is not only answering your requests, but also sends status updates to your client.