Tuesday, February 12, 2008

GSM Location over Cell Broadcast

Cell Broadcast (CB/SMS-CB) messaging is a mobile technology feature designed for simultaneous delivery of messages to multiple users in a specified area. It is part of the GSM standard, but is not yet widely used. There might be some handsets that do not support it or do not provide an elegant access to it.

Cell broadcast allows messages of up to 93 characters in a page, and a message can be of 15 pages. It doesn't uses a frequency space separate from that used to setup a call or that used in a call or data session. The CB frequency range is divided into 65000 channels. Out of these only 000 to 999 can be switched on by the terminal user.

The interesting part for me was the discovery that some mobile operators use it to broadcast cell tower location information. Some mobile operators use channel 050 to broadcast cell tower location information. The location information is mostly just a text string with the location name.

On my Nokia E61, these are the steps I go through to enable cell broadcast reception for channel 050:
  1. Go to Tools->Settings->Network and make sure "Cell info display" is "On".
  2. Go to Messaging. Click on left button that says Options. Select "Cell broadcast" from the pop up menu.
  3. Click on left button that says Options. Select "Topic->Add manually" from the popup menu.
  4. Enter "Location" or something similar that you want as the topic name.
  5. Enter 50 as the topic number.
  6. Select the new topic added, click on left button that says Options and select "Subscribe" from the pop up menu.

Now you have subscribed to any location information that may be broadcast by your mobile operator on channel 050. Next time you change cells, you can go back to this folder to see the location name. You should also see the location on the top right hand of your active standby screen.

Here are instructions to enable cell broadcast reception on some other models of handsets.

However I could not find how to get this information through python APIs. Even I was not able to figure out whether this is being stored in any file that can be read from python.

Also surprisingly the small display on the top right of the active standby screen on my Nokia E61 sometimes gives incorrect location name and it is not the same as the name broadcast on channel 50. I wonder why.

No comments: