Appendix   B
 

GSM Cell Broadcast Adapter

This appendix describes an adapter that uses the messaging API with the GSM Cell Broadcast short message Service (CBS).

The Cell Broadcast service is a unidirectional data service where messages are broadcast by a base station and received by every mobile station listening to that base station. The Wireless Messaging API is used for receiving these messages.

B.1.0 GSM CBS message structure

The GSM CBS messages are defined in the GSM 03.41 standard [4].

The source/type of a CBS message is defined by its Message-Identifier field, which is used to choose topics to subscribe to. Applications can receive messages of a specific topic by opening a MessageConnection with a URL connection string in the format defined below. In the format, Message-Identifier is analogous to a port number.

Cell broadcast messages can be encoded using the same data coding schemes as GSM SMS messages (See Character Mapping Table in Appendix A, GSM SMS Adapter). The implementation of the API will convert messages encoded with the GSM 7-bit alphabet or UCS-2 into TextMessage objects and messages encoded in 8-bit binary to BinaryMessage objects.

Because the cell broadcast messages do not contain any timestamps, the Message.getTimeStamp method MUST always return null for received cell broadcast messages.

B.2.0 Addressing

Table B-1 describes the syntax of the URL connection strings that specify the address.

Table B-1: Syntax for URL Connection Strings

String

Description

cbsurl
::== "cbs://" address_part
address_part
::== message_identifier_part
message_identifier_par
::== ":" digits
digit
::== "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
digits
::== digit | digit digits

Examples of valid URL connection strings are:

    cbs://:3382  
    cbs://:3383  

In this URL, the message identifier part specifies the message identifier of the cell broadcast messages that the application wants to receive.

When this adapter is used and the Connector.open() method is passed a URL with this syntax, it MUST return an instance implementing the javax.wireless.messaging.MessageConnection interface. These MessageConnection instances can be used only for receiving messages. Attempts to call the send method on these MessageConnection instances MUST result in an IOException being thrown.


Copyright (C) 2004 Siemens AG, Germany. All rights reserved. Use is subject to license terms.