[[cell_broadcast]] == Cell Broadcast Normally, all user plane data in GSM/GPRS networks are sent in point-to-point channels from the network to the user. Those are called _dedicated_ radio channels which exist between the network and one given phone/subscriber at a time. Cell Broadcast is an exception to that rule. It permits user data (so-called SMS-CB data) to be broadcast by the network in a way that can be received by all phones in the coverage area of the given BTS simultaneously. More high-level information can be found at https://en.wikipedia.org/wiki/Cell_Broadcast and the related specification is <<3gpp-ts-23-041>>. === Use Cases Cell Broadcast was used for various different use cases primarily in the 1990s and early 2000s, including * advertisement of the GPS position of the cell tower you're currently camping on * advertisement of the calling codes of your current "home zone", i.e. a "lower cost short distance" call zone travelling with you as you roam around. More recently, SMS-CB is seeing some uptake by various disaster warning systems, such as * CMAS (Commercial Mobile Alert System), later renamed to WEA (Wireless Emergency Alerts) in the US. * EU-Alert in the European union * Messer Ishi (Rocket Alert) in Israel * ETWS (Earthquake and Tsunami Warning System) in Japan * KPAS (Korean Public Alert System) === Osmocom Cell Broadcast support * OsmoBTS implements the `SMS BROADCAST COMMAND` Message in A-bis RSL according to Section 8.5.8 of 3GPP TS 48.058 * low-level testing/debugging features ** OsmoNITB and OsmoBSC implement a VTY command `bts <0-255> smscb-command <1-4> HEXSTRING` to send a given hex-formatted cell broadcast message to a specified BTS. This can be used for low-level debugging * proper 3GPP-specified CBS/PWS elements and protocols ** OsmoBSC supports routing and distribution of CBS and warning messages ** OsmoBSC implements the BSC-CBC interface using the CBSP protocol ** OsmoCBC implements the central function of a _Cell Broadcast Centre_, receiving cell broadcast and warning messages from external entities via a REST based HTTP interface, and distributing it throughout the cellular network. ** OsmoCBC implements the BSC-CBC interface using the CBSP protocol (for 2G/GSM RAN) ** OsmoCBC implements the MME-CBC interface using the SBcAP protocol (for 4G/LTE RAN) [mscgen] ---- include::osmocom-cbs.msc[] ---- === Message Structure * Each message has a maximum of 15 pages * Each page is 82 bytes of data, resulting in 93 characters in GSM 7-bit default alphabet * Messages are broadcast on logical channels (more like an address) * Subscribers can activate/deactivate selective addresses