Discussion:
Send SMS in Arabic using GSM Modem
(too old to reply)
Khalid Sweeseh
2003-11-18 12:31:48 UTC
Permalink
This is not only about arabic language

If I want to send SMS using a GSM modem in characters that are not
listed in the GSM default charset . how should I encode them ?


For Example .the Falcom Web Site is saying in the FAQ :

AT+CMGF=1
AT+CSMP=17,167,0,8
AT+CMGS="CallNumber"
Created SMS by using Unicode (e.g. FED3FEE0FEDBFEEEEEE1)^Z

In the upper example (FED3FEE0FEDBFEEEEEE1) the word "Falcom" will be
sent in arabic letters.



But this is not understandable ...

was that based on UCS or UCS2?
and if using UCS2 ..I think it is a must to use 16 bit coding ..right
?
I mean the AT+CSMP=17,167,0,8 should be AT+CSMP=17,167,0,16
Peter_L
2003-11-18 18:16:26 UTC
Permalink
Hi

If the last parameter of CSMP is 8 then 16Bit UCS2 coding is used.
8 does not mean 8bit, it is a value for the data coding scheme(DCS)
according to GSM 3.38
if you like to send a SMS in arabic language then 16Bit UCS2 must be used so
the setting AT+CSMP=17,167,0,8 is OK
To decode the characters please go to www.unicode.org, there you can
download the unicode pages for the different languages.
each character must represent a 16Bit hex value and one SMS message is
limited to a max. of 80 characters.
Regards
Peter
Post by Khalid Sweeseh
This is not only about arabic language
If I want to send SMS using a GSM modem in characters that are not
listed in the GSM default charset . how should I encode them ?
AT+CMGF=1
AT+CSMP=17,167,0,8
AT+CMGS="CallNumber"
Created SMS by using Unicode (e.g. FED3FEE0FEDBFEEEEEE1)^Z
In the upper example (FED3FEE0FEDBFEEEEEE1) the word "Falcom" will be
sent in arabic letters.
But this is not understandable ...
was that based on UCS or UCS2?
and if using UCS2 ..I think it is a must to use 16 bit coding ..right
?
I mean the AT+CSMP=17,167,0,8 should be AT+CSMP=17,167,0,16
Khalid Sweeseh
2003-11-19 10:02:27 UTC
Permalink
Thank you Peter

The problem is that I can send now ... but the recieved Message on the
destination is empty or having unrecoginzed characters ?!!!

I used the following
OK
AT+CMEE=1
OK
AT+CMGF=1
OK
AT+CSMP=17,167,0,8
OK
AT+CMGS=003000370037003400390037003400390033
Post by Peter_L
0031
+CMGS: 115
<<
or
AT+CMGF=1
OK
AT+CSCS=UCS2
OK
AT+CSMP=17,167,0,8
OK
AT+CMGS=003000370037003400390037003400390033
Post by Peter_L
0031
+CMGS: 110
<<


Is there something I am missing ?!! this is too strange ... why it is
behaving this way ??
Post by Peter_L
Hi
If the last parameter of CSMP is 8 then 16Bit UCS2 coding is used.
8 does not mean 8bit, it is a value for the data coding scheme(DCS)
according to GSM 3.38
if you like to send a SMS in arabic language then 16Bit UCS2 must be used so
the setting AT+CSMP=17,167,0,8 is OK
To decode the characters please go to www.unicode.org, there you can
download the unicode pages for the different languages.
each character must represent a 16Bit hex value and one SMS message is
limited to a max. of 80 characters.
Regards
Peter
Post by Khalid Sweeseh
This is not only about arabic language
If I want to send SMS using a GSM modem in characters that are not
listed in the GSM default charset . how should I encode them ?
AT+CMGF=1
AT+CSMP=17,167,0,8
AT+CMGS="CallNumber"
Created SMS by using Unicode (e.g. FED3FEE0FEDBFEEEEEE1)^Z
In the upper example (FED3FEE0FEDBFEEEEEE1) the word "Falcom" will be
sent in arabic letters.
But this is not understandable ...
was that based on UCS or UCS2?
and if using UCS2 ..I think it is a must to use 16 bit coding ..right
?
I mean the AT+CSMP=17,167,0,8 should be AT+CSMP=17,167,0,16
Peter_L
2003-11-19 17:45:23 UTC
Permalink
Hi

try to use a different character set like AT+CSCS=GSM or AT+CSCS=IRA(use
AT+CSCS=? to get a list of all implemented char sets).
then do the same again:
AT+CSMP=17,167,0,8
OK
AT+CMGS=077497493
Post by Khalid Sweeseh
0031
does this work?

by the way 0031 is 1 not 0

if it still does not work then seend the SMS to your own number and read it
out in PDU-Mode like:
AT+CMGF=0
AT+CMGR=x where x is the memory location of the received SMS

you can also do a third test:
write the SMS onto the SIM card, put the SIM card out of the modem and put
it into your mobile phone.
Then read the SMS from the SIM.
To do this use AT+CMGW instead of AT+CMGS like
AT+CSCS=IRA
OK
AT+CMGW=077497493
Post by Khalid Sweeseh
0031
or
AT+CSCS=UCS2
OK
AT+CMGW=003000370037003400390037003400390033
Post by Khalid Sweeseh
0031
hope that helps

Regards
Peter
Post by Khalid Sweeseh
Thank you Peter
The problem is that I can send now ... but the recieved Message on the
destination is empty or having unrecoginzed characters ?!!!
I used the following
OK
AT+CMEE=1
OK
AT+CMGF=1
OK
AT+CSMP=17,167,0,8
OK
AT+CMGS=003000370037003400390037003400390033
Post by Peter_L
0031
+CMGS: 115
<<
or
AT+CMGF=1
OK
AT+CSCS=UCS2
OK
AT+CSMP=17,167,0,8
OK
AT+CMGS=003000370037003400390037003400390033
Post by Peter_L
0031
+CMGS: 110
<<
Is there something I am missing ?!! this is too strange ... why it is
behaving this way ??
Post by Peter_L
Hi
If the last parameter of CSMP is 8 then 16Bit UCS2 coding is used.
8 does not mean 8bit, it is a value for the data coding scheme(DCS)
according to GSM 3.38
if you like to send a SMS in arabic language then 16Bit UCS2 must be used so
the setting AT+CSMP=17,167,0,8 is OK
To decode the characters please go to www.unicode.org, there you can
download the unicode pages for the different languages.
each character must represent a 16Bit hex value and one SMS message is
limited to a max. of 80 characters.
Regards
Peter
Post by Khalid Sweeseh
This is not only about arabic language
If I want to send SMS using a GSM modem in characters that are not
listed in the GSM default charset . how should I encode them ?
AT+CMGF=1
AT+CSMP=17,167,0,8
AT+CMGS="CallNumber"
Created SMS by using Unicode (e.g. FED3FEE0FEDBFEEEEEE1)^Z
In the upper example (FED3FEE0FEDBFEEEEEE1) the word "Falcom" will be
sent in arabic letters.
But this is not understandable ...
was that based on UCS or UCS2?
and if using UCS2 ..I think it is a must to use 16 bit coding ..right
?
I mean the AT+CSMP=17,167,0,8 should be AT+CSMP=17,167,0,16
Khalid Sweeseh
2003-11-19 10:27:16 UTC
Permalink
Hello Peter

I can send now without the error 503 . but the problem is that the
recieved SMS message is empty ...

Here are my attempts :
AT+CMEE=1
OK
AT+CMGF=1
OK
AT+CPIN?
OK
AT+CSCS=UCS2
OK
AT+CSMP=17,167,0,8
OK
AT+CMGS=003000370037003400390037003400390033
Post by Peter_L
0031
+CMGS: 110
OK
<<

This is supposed to show (0) on the reciever's screen ...it is showing
nothing
?!!!!!!
Post by Peter_L
Hi
If the last parameter of CSMP is 8 then 16Bit UCS2 coding is used.
8 does not mean 8bit, it is a value for the data coding scheme(DCS)
according to GSM 3.38
if you like to send a SMS in arabic language then 16Bit UCS2 must be used so
the setting AT+CSMP=17,167,0,8 is OK
To decode the characters please go to www.unicode.org, there you can
download the unicode pages for the different languages.
each character must represent a 16Bit hex value and one SMS message is
limited to a max. of 80 characters.
Regards
Peter
Post by Khalid Sweeseh
This is not only about arabic language
If I want to send SMS using a GSM modem in characters that are not
listed in the GSM default charset . how should I encode them ?
AT+CMGF=1
AT+CSMP=17,167,0,8
AT+CMGS="CallNumber"
Created SMS by using Unicode (e.g. FED3FEE0FEDBFEEEEEE1)^Z
In the upper example (FED3FEE0FEDBFEEEEEE1) the word "Falcom" will be
sent in arabic letters.
But this is not understandable ...
was that based on UCS or UCS2?
and if using UCS2 ..I think it is a must to use 16 bit coding ..right
?
I mean the AT+CSMP=17,167,0,8 should be AT+CSMP=17,167,0,16
Loading...