SMS encoding EHS6 | Telit Cinterion IoT Developer Community
October 30, 2019 - 10:28am, 2650 views
Hello,
If I use BGS5T and recive SMS in Java with AT command I have no problem. SMS looks like this:
IpdebugTest&&senekaj||konec
Dvay_
But on EHS6 with the same SIM card most of the special characters and new lines aren't recgonized:
AT response AT+CMGR=1
+CMGR: "REC UNREAD","+38641415603",,"19/10/30,10:25:00+04"
IpdebugTest&&senekaj\1B@\1B@konec\0ADvay\11
OK
Is it about encoding? Both modules have return the same for:
at+csmp?
+CSMP: 17,167,0,0
OK
AT^scfg:
at^scfg?
^SCFG: "Audio/Loop","0"^SCFG: "Call/ECC","0"^SCFG: "Call/Ecall/AckTimeout","5000"^SCFG: "Call/Ecall/Callback","0"^SCFG: "Call/Ecall/CallbackTimeout","43200000"^SCFG: "Call/Ecall/Msd","0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"^SCFG: "Call/Ecall/Pullmode","0"^SCFG: "Call/Ecall/SessionTimeout","20000"^SCFG: "Call/Ecall/StartTimeout","5000"^SCFG: "Call/Speech/Codec","0"^SCFG: "GPRS/AutoAttach","enabled"^SCFG: "Gpio/mode/ASC1","std"^SCFG: "Gpio/mode/DAI","gpio"^SCFG: "Gpio/mode/DCD0","gpio"^SCFG: "Gpio/mode/DSR0","gpio"^SCFG: "Gpio/mode/DTR0","gpio"^SCFG: "Gpio/mode/FSR","gpio"^SCFG: "Gpio/mode/HSIC","rsv"^SCFG: "Gpio/mode/PULSE","gpio"^SCFG: "Gpio/mode/PWM","gpio"^SCFG: "Gpio/mode/RING0","gpio"^SCFG: "Gpio/mode/SPI","rsv"^SCFG: "Gpio/mode/SYNC","std"^SCFG: "Ident/Manufacturer","Cinterion"^SCFG: "Ident/Product","EHS6"^SCFG: "MEShutdown/Fso","0"^SCFG: "MEShutdown/sVsup/threshold","0","0"^SCFG: "MEopMode/CFUN","0","1"^SCFG: "MEopMode/Comp1",""^SCFG: "MEopMode/Dormancy","0","0"^SCFG: "MEopMode/ExpectDTR","current"^SCFG: "MEopMode/ExpectDTR","powerup"^SCFG: "MEopMode/SoR","off"^SCFG: "Radio/Band","511"^SCFG: "Radio/Mtpl","0"^SCFG: "Radio/OutputPowerReduction","4"^SCFG: "Serial/Interface/Allocation","1","1"^SCFG: "Serial/USB/DDD","0","0","0409","1E2D","0058","Cinterion Wireless Modules","EHx",""^SCFG: "Tcp/IRT","3"^SCFG: "Tcp/MR","10"^SCFG: "Tcp/OT","6000"^SCFG: "Tcp/WithURCs","on"^SCFG: "Trace/Syslog/OTAP","0"^SCFG: "URC/Ringline","local"^SCFG: "URC/Ringline/ActiveTime","2"^SCFG: "Userware/Autostart","1"^SCFG: "Userware/Autostart/Delay","450"^SCFG: "Userware/DebugInterface","0.0.0.0","0.0.0.0","0"^SCFG: "Userware/DebugMode","off"^SCFG: "Userware/Passwd",^SCFG: "Userware/Stdout","asc1",,,,"off"^SCFG: "Userware/Watchdog","1"OK
Is there any other AT settings that I should change?
Regards,
Jure
Hello,
This is related to encoding - can you write what device is used for sending, what are the firmware versions of the both modules (ATI1 reply) and if the same terminal program is used for both setups?
Please alsoe check AT+CSCS? reply.
Regards,
Bartłomiej
Hello,
both modules return the same
Module where I have the problem:
Module where it's ok:
For sending SMS I use Android Honor 10 or web service from one of Slovenian telecomuncation providers. When I build the program I change platform betwen IMP_NG_EHS5_REMOTE1 and IMP_NG_BGS5_REMOTE1, depending on the module for which i build. I also tryed switching the platform but it didn't help.
Regards,
Jure
Hello,
I tried to do your test with 2 modules:
BGS5
REVISION 01.100
A-REVISION 00.000.10
and
EHS6
REVISION 03.001
A-REVISION 00.000.55
I've been sending SMS from my cell phone and reading it with a terminal program on my PC. I've got exactly the same results for both:
+CMGR: "REC READ","+48693070717",,"19/11/05,14:39:08+04"
IpdebugTest&&senekaj\1B@\1B@konec\0D\0A\0D\0ADvay\11
OK
Here we have escape sequences for | and _ signs which are differently coded in GSM and ASCII. In hex view you'd get 0x5C 0x31 0x42 0x40 for | where 0x5C is \ as escape and 0x31 is 1, 0x42 is B and in the end 0x40 is not escaped. This should be interpreted as \1B40 escaped code of | character in GSM alphabet.
For _ character we have 0x5C 0x31 0x31 which can be interpreted as \11 escaped code of _ in GSM alphabet.
I know it's not obvious (especially that for ^ you'd get \1B\14 and not \1B14, but it still seems to be in acordance with the AT commands specification document which states that ME uses "escape sequences for ... all characters with a value below 32 (hexadecimal 0x20)").
So for now I don't know why you get different outputs for different modules. Have you also tried to read this message from the terminal without Java MIDlet to compare the results?
Regards,
Bartłomiej
Hello,
there is diffrence for me at & char at the terminal.
BGS5T: IpdebugTest&&senekaj\1B@\1B@konec\0A\0A Dvay\11\0A
EHS6: IpdebugTest&&senekaj\1B@\1B@konec\0A\0A Dvay\11\0A
I can write code which would parse string, but what I don't think that this would be otptimal solution. Should I make any other changes then to change platform whenI build Java program?
Regards,
Jure
Hello,
That is isnteresting - & is used in HTML - I believe that it should not be inserted by the module firmware. Were the messages sent from the same device? Please just try to read the same SMS without Java MIDlet - with an AT command sent from the terminal to make sure that there is no difference. I believe taht Java libraries and platfrom settings for different modules should not change the SMS body.
Regards,
Bartłomiej
Hello,
yes they were sent from same device. And those were read in terminal
at+cmgr=2
+CMGR: "REC UNREAD","+38631480222",,"19/11/07,09:02:56+04"
IpdebugTest&&senekaj\1B@\1B@konec\0A\0A Dvay\11\0A
at+cmgr=1
at+cmgr=1
+CMGR: "REC UNREAD","+38641415603",,"19/11/07,09:06:29+04"
IpdebugTest&&senekaj\1B@\1B@konec\0A\0A Dvay\11\0A
OK
Regards,
Jure
Hello Jure,
I'm not able to reproduce this on my devices. Please try to send the message from the module itself and not cell phone to be sure what's exactly sent and without Java, just from the terminal on your PC.
Regards,
Bartłomiej