I'm trying to establish a USSD (unstructured supplementary
service data) session on a Siemens S55 handset. I've come to a
point where I can go no further without assistance.
The number to be dialled to begin the session is
#100#
The phone displays the menu when this number is dialled
manually, but I can find no way to make the keypad send any
USSD session responses.
So the next option is to use the serial ****t. I've already
written a USSD interface for a Wavecom modem using the
"AT+CUSD" command, but the Siemens phone doesn't sup****t this
command.
The only other option I can see is to use the Siemens SIM
Application Toolkit serial command, "AT^SSTK". I have
previously used "AT^SSTK" to read Timing Advance and Network
Measurement Results, so I'm familiar with its use. The phone's
STK Profile indicates that it fully sup****ts the "Send USSD"
Proactive SIM command.
The STK TLV (tag-length-value) command string I've calculated to
begin this USSD session is
D0110103011200820281838A060FA3180C3602
But I'm getting a result of "810301120082028281830132" ("Command
data not understood by [phone]").
So according to GSM 11.14, it's not objecting to the "Send USSD"
command itself, but only to the associated data. This embedded
data is the encoding of "#100#" as "A3180C3602" as per GSM
03.38, section 6.1.2.3, "USSD Packing", and the choice of "0F"
as the DCS (data coding scheme). I understand from the Siemens
TC35 modem manual that "0F" is the normal value used for USSD
DCS.
Where have I gone wrong? Any help appreciated. Hopefully
someone knows this stuff.
John


|