Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
General
General TopicsGSMBluetooth
Providers
AlltelATT WirelessCingularFidoNextelSprint PCST-MobileVerizon
Manufacturers
EricssonNokiaMotorola
Country Specific
Australian GroupUK Group
Related Topics
PocketPCPalmMore Topics ...

Cellular Phone Forum / General / GSM / January 2004

Tip: Looking for answers? Try searching our database.

GSM Cell Broadcast - Info on PDU Formats?

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
MW - 23 Jan 2004 06:07 GMT
Hi

I recently bought a Nokia 3650 and have been playing with the modem
connection via Bluetooth.

Anyway, I have been able to receive a couple of Cell Broadcast
Messages, but only in PDU mode (as in the following):

AT+CSBC=1,"50",1
OK

+CBM: 88
011000320111C2327BFC76BBCBEE46A3D168341A8D46A3D168341A8D46A3D168341A8
D46A3D168341A8D46A3D168341A8D46A3D168341A8D46A3D168341A8D46A3D168341A
8D46A3D168341A8D46A3D168341A8D46A3D100

When I set the modem to text mode (AT+CMGF=1), I seem to receive
"blank messages"....

Anyway, question is as follows: can anyone provide a simple
explanation of the PDU encoding as relates to the above,
and/or/preferably some code that can perform the decoding into
(presumably) text?

Many thanks in advance

Mark
John Henderson - 23 Jan 2004 07:40 GMT
> I recently bought a Nokia 3650 and have been playing with the
> modem connection via Bluetooth.
[quoted text clipped - 6 lines]
>
> +CBM: 88

011000320111C2327BFC76BBCBEE46A3D168341A8D46A3D168341A8D46A3D1683
41A8D46A3D168341A8D46A3D168341A8D46A3D168341A8D46A3D168341A8D46A3
D168
341A8D46A3D168341A8D46A3D168341A8D46A3D100

> When I set the modem to text mode (AT+CMGF=1), I seem to
> receive "blank messages"....

I usually use the following composite command for reading CB
messages in text-mode:

AT+CMGF=1;+CNMI=1,0,2,0,1;+CSCB=0,"50","0-15";

And this worked OK on my friend's Nokia 6210.  I've always found
the need to include the "AT+CNMI" CB serial port redirection on
my Siemens phones.  Note that I've selected all languages
("0-15"), and not just English.

In the case of your command, I take it that your AT+CSBC=1,"50",1
was intended to read AT+CSCB=1,"50","1".  Even then, there's a
mistake.  The "1" immediately following the "=" means read all CB
channels *except* the ones listed.  You need a zero in this
position.

> Anyway, question is as follows: can anyone provide a simple
> explanation of the PDU encoding as relates to the above,
> and/or/preferably some code that can perform the decoding into
> (presumably) text?

You'll need GSM 03.41 and GSM 03.38 if you need to decode the
PDU.  You can download these free, after registering, from
www.etsi.org.  Go to the download area, search for "03.41", and
download a recent version from the unsorted list (and the same
for 03.38 obviously).

To work through your example, Octets 1 & 2 hold message serial
number data.  That's 0110, or 0000000100010000 binary.  Working
through it from left to right, Geographical Scope is 00 (a cell
wide broadcast), Message Code is 0000010001, and Update
Number is 0000.

Octets 3 & 4 (0032) contain the Message Identifier, or channel
number.  That's 0000000000110010 binary, or 50 decimal.

Octet 5 (01h) is the Data Coding Scheme.  "1" means "English
language" (not surprising as you probably live in the next suburb
to me - my Telstra cell name is "Higgins")!

Octet 6 (11) is the Page Parameter.  The 00010001 binary
literally means page 1 of 1.

Octets 7 to 88 are the message content.  And the coding is
complicated here by the fact that a 7-bit alphabet is used,
resulting in characters being spread between octets in an obscure
way.  That's what you need GSM 03.38 for.

Let's bite off a chunk and analyse it.

Octets 7 to 14 (C2327BFC76BBCBEE46) contain the interesting part
of the message.  The rest is repeated <carriage return>s, which
is the usual fill character for CB messages.

In binary, this is the 72 bit string:

11000010001100100111101111111100011101101011101111001011111011100
1000110

or broken up in groups of 10 for me to count more easily:

1100001000 1100100111 1011111111 0001110110 1011101111 0010111110
1110010001 10

The first character is made up of bits 2, 3, 4, 5, 6, 7 and 8, or
1000010.  This is "B".  Putting these succeeding bit groups,
binary values, and their respective characters into a list we
have:

2 3 4 5 6 7 8, 1001011, B
11 12 13 14 15 16 1, 1100101, e
20 21 22 23 24 9 10, 1101100, l
29 30 31 32 17 18 19, 1100011, c
38 39 40 25 26 27 28, 1101111, o
47 48 33 34 35 36 37, 1101110, n
56 41 42 43 44 45 46, 1101110, n
49 50 51 52 53 54 55, 1100101, e
58 59 60 61 62 63 64, 1101110, n
67 68 69 70 71 72 57, 1100101, <carriage return>

and so on.

John
John Henderson - 23 Jan 2004 08:16 GMT
Earlier, I wrote:

> 2 3 4 5 6 7 8, 1001011, B

And that should be:

2 3 4 5 6 7 8, 1000010, B

> 67 68 69 70 71 72 57, 1100101, <carriage return>

should be:

67 68 69 70 71 72 57, 0001101, <carriage return>

John
Norbert Huettisch - 23 Jan 2004 10:27 GMT
> Anyway, I have been able to receive a couple of Cell Broadcast
> Anyway, question is as follows: can anyone provide a simple
> explanation of the PDU encoding as relates to the above,
> and/or/preferably some code that can perform the decoding into
> (presumably) text?

http://www.nobbi.com/monitor/index_en.htm

N.
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.