problem reading SMS with GSM library

Hi,

I have a problem with processing SMS messages on Arduino with GSM Shield 2 (Arduino Uno, M10 chipset of GSM). Communication with GSM Shield - via GSM library.

When I get SMS from my operator, the each char of sms message is converted to 4 characters (00 and hex code of actual sms character). e.g. instead of "T" I get "0053". When such a SMS arrives, I have no clue how to process it with GSM library, if possible.

sms.read() function of GSM library, reads first 64 characters and then returns 0 - no char available.
Using flush() after that, does not clear the SMS. Next call of available() function returns 0 - saying 'no sms available'.
When I restart, the procedure repeats. so I still have the same sms stored as a first one in queue on my SIM.
After some reading, I guess the operator sends SMS in PDU mode, and GSM library does not process it correctly. If my guessing is correct, how to check what format is the SMS and how to process it then ?

If someone could help with advice how to read such a SMS, forward it, and delete, I'd be more that happy. I spent days reviewing forums but without success so far.

fyi - The whole project is sort of SMS server which listens to SMS commands, do job with sensors/actuators and reports result back via SMS. As long as I send SMS from my mobile, everything works fine, when GSM operator informs me about something by sending their SMS, the solution hangs.

regards,
Mario

I guess you don't understand UTF-8.

Hi, thanks for the answer. Could you be more descriptive ?

Your GSM board is probably in PDU mode.
Check the AT command set for your particulary board and find the AT command that will allow you to switch to SMS mode.