Peter Christensen wrote:
The operator which require this behavior is Cellebrum, if I remember
correct, but NowSMS expect this behavior by default (but users can
disable it). What it does is really transmitting the text in raw binary
form when UDH is present.
Consider the UDH
06 00 03 56 02 02 (UDHL=6, last part of a concatenated SMS with ref. 0x56)
and message body:
"Test msg" (54 65 73 74 20 6D 73 67)
In binary form, split into septets, the body will look like:
06 00 0C 30 25 40 00 (this is the UDH) 54 65 73 74 20 6D 73 67
If we pack this into octets, we get:
06 00 03 56 02 02 A8 E5 39 1D D4 9E 9F 01
which will then be transmitted to the operator. The operator is now
forced to guess the actual length in septets based on the length in
octets, and in this particular example, the operator will assume 9
septets instead of the correct 8 (14*8/7 = 16 - 7 (udh) = 9).
The mobile will decode the message as:
"Test msg@" 54 65 73 74 20 6D 73 67 00)
So to avoid this (unless actually intentional), the message is padded
with a space in case the total length of UDH + binary encoded message is
unfortunate. So the patch would transmit
06 00 03 56 02 02 A8 E5 39 1D D4 9E 9F 61
which is decoded into
"Test msg " (54 65 73 74 20 6D 73 67 20)
I very much hope that gateways of this sort is very rare, but I posted
the patch anyway. My vote for CVS commit is very much -1 (even though
the feature is selectable through configuration)
Hmmm, I'm +0 (due to the fact it is selectable and there is no default behaviour
change).
@Alex, Aarno??? Anyone else please... Opinions? Votes?
Stipe
-------------------------------------------------------------------
Kölner Landstrasse 419
40589 Düsseldorf, NRW, Germany
tolj.org system architecture Kannel Software Foundation (KSF)
http://www.tolj.org/ http://www.kannel.org/
mailto:st_{at}_tolj.org mailto:stolj_{at}_kannel.org
-------------------------------------------------------------------