Hi,

I saw that. But you never posted your submit_sm PDU from that attempt. Something else might be wrong. Please do.

BR,
Nikos
----- Original Message ----- From: "Nicolas de Bari Embriz Garcia Rojas" <[email protected]>
To: "Nikos Balkanas" <[email protected]>; <[email protected]>
Sent: Saturday, May 21, 2011 3:46 AM
Subject: Re: gsm7 send messages > 140 <=160 chars length


Hi, thanks for the reply, as said on the first email, when using this:

text=%00%7D%05&coding=0&alt-dcs=1

the characters are not properly  displayed on the phone

the only way I can get the chars to be displayed correctly is using
alt-charset = "UTF-8" but with this i can just send a max of 140 chars

or coding the messages with UCS-2 but that limit to 70 chars

Could it be an issue with  kannel or a parameter that i could be
missing ? since looks like if internally maybe when using iconv, is
treating the GSM like ASCII since the latin char n with tilde Γ± and Γ©
is using 2 bytes instead of 1 like supposed to be the GSM charset

regards.

2011/5/20 Nikos Balkanas <[email protected]>:
Hi,

1) mo-recode is for incoming, not outgoing SMS. Read UG about it.
2) SMSc submit_sm PDU takes precedence over access log. If it shows 3 Bytes,
it sends only 3 Bytes. I don't know access log that well, it may be
mistaken.
3) Correct sendsms to send as GSM is:

text=%00%7D%05&coding=0&alt-dcs=1

Use alt-dcs if you have alt-charset in your smsc configuration and want to
force gsm.

BR,
Nikos
----- Original Message ----- From: "Nicolas de Bari Embriz Garcia Rojas"
<[email protected]>
To: <[email protected]>
Sent: Friday, May 20, 2011 5:47 PM
Subject: gsm7 send messages > 140 <=160 chars length


Hi all, this topic has been discussed several times, but I still
haven't found how to properly send messages > 140 <= 160 char length
including only the GSM 03.38 charset.

for example, how to send a text messages of 160 characters including
only chars like @ Ο� ΞΉ.

I updated my sources to the latest available on the SVN: REvision
4908, and configured kannel with the following options:

./configure --with-defaults=speed --enable-docs=no
--with-malloc=native --enable-start-stop-daemon=no --prefix=/usr/local
--with-libs=-lpthread --with-mysql --disable-localtime
--with-cflags=-L/usr/local/lib -I/usr/local/include

I had to use the --with-cflags="-L/usr/local/lib -I/usr/local/include"
so that on my system (FreeBSD 8.1 amd64) It could find iconv

after compiling and installing the file gw-config.h seems to properly
been using iconv:
/* Defines for iconv. Β */
#define HAVE_ICONV 1
#define ICONV_CONST const

Kannel is up and running (sending/receiving messages) my smsc conf is like
this:
group = smsc
smsc = smpp
smsc-id = "T42865"
allowed-smsc-id = "T42865"
transceiver-mode = 1
host = 10.23.15.4
our-host = 10.14.19.7
port = 8808
receive-port = 0
smsc-username = "username"
smsc-password = "password"
system-type = NULL
address-range = ""
source-addr-ton = 0
source-addr-npi = 1
dest-addr-ton = 2
dest-addr-npi = 1
msg-id-type = 0x01
log-file = "/var/log/kannel/smsc/T42865.log"
log-level = 0

And my smsbox is like this:
group = smsbox
bearerbox-host = localhost
sendsms-port = 13013
sendsms-chars = "0123456789 "
log-file = "/var/log/kannel/smsbox/smsbox.log"
log-level = 1
access-log = "/var/log/kannel/smsbox/access.log"
mo-recode = true
http-request-retry = 10
http-queue-delay = 30


With this configuration If I want to send Β the chars "@ Ο� or ΞΉ" Β I
just urlencode the values and send them with coding=0

$msg = urlencode('@�ι');

so $msg is %40%C3%B1%C3%A9

where:
%40 on UTF-8 is = Β 00 on gsm
%C3%B1 on UTF-8 is = Β 7D on gsm
%C3%A9 on UTF-8 is = Β 05 on gsm

I send Β the message like:

cgi-bin/sendsms?text=%40%C3%B1%C3%A9&coding=0....

on the debug logs I see the following:
Β [12] DEBUG: Β Β Octet string at 0x801ef4e60:
Β [12] DEBUG: Β Β Β len: Β 3
Β [12] DEBUG: Β Β Β size: 6
Β [12] DEBUG: Β Β Β immutable: 0
Β [12] DEBUG: Β Β Β data: 00 7d 05 .}.
Β [12] DEBUG: Β Β Octet string dump ends.

where seems that kannel is properly converting from UTF-8 go the GSM 7
bit charset
DEBUG: Β Β Β data: 00 7d 05

but later on the bearerbox (access.log) I get something like this:

[msg:5:@....] [udh:0:]

If I am right, it means it is using 5 characters to send the @�ι

Now If I add to the Β smsc this:
alt-charset = "UTF-8"

the debug output is:
DEBUG: Β data: 40 c3 b1 c3 a9 Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β @....

and the bearerbox (access.log) is the same:
[msg:5:@....] [udh:0:]

But in this time the txt messages was Β properly delivering to the
users displaying the chars @�ι instead of just ??? but the size of the
sent messages was again 5 instead of 3.

So my question is how to properly code or send the message to use only
3 chars instead of 5 when sending only gsm-7 chars.

I have also try using this:

text=%00%7D%05&coding=0&alt-dcs=1

of

text=007D05&coding=0&alt-dsc=1

but the message received by the phone din't display the chars. also
changing mo-encode true/false din't help.

When using UCS-2 and coding=2 the chars are displayed on the mobile
but I can only send a max of 70 chars. and I would like to send 160.

Any idea of how to do it?

thanks in advance.




Reply via email to