Yes it is possible.
From the documentation, 3.1.5beta7, change #8:
"USSD messages using regular run for a modem feature: You can use a regular_run_cmd = AT+CUSD=1,"*100#",0; to get saldo details of a prepaid SIM. When a command starts with AT+CUSD and the length is more than 9 characters, smsd will wait response which starts with +CUSD: instead of OK string. For example in Finland the response in the log file will be like (here split into three lines):
2009-03-30 11:56:00,5, GSM1: CMD: AT+CUSD=1,"*100#",0;:
OK +CUSD: 2,"Liittymäsi saldo on 35.95 EUR ja
voimassaoloaika päättyy 27.07.2009.",15"You can also test without
,0 at the end of command, this varies by the operators.
Define
regular_run_cmd in the modem section of smsd.conf file. You might want to define
regular_run_interval too, and probably
regular_run_statfile for the result. See
this for details.