[[overview]] == OsmoCBC Overview === The 3GPP Cell Broadcast Centre Within the 3GPP cellular network, the Cell Broadcast Centre is the central instance for managing all Cell Broadcast and Emergency Warning functions. It acts as a gateway between external applications / users, such as government authorities for civil protection, and the various components within the 3GPP network to actually deliver those broadcast and/or emergency messages. .Role of the CBC inside the 3GPP network architecture [graphviz] ---- include::../images/cbc-in-network.dot[] ---- [[about]] === About OsmoCBC OsmoCBC is the Osmocom implementation of a Cellular Broadcast Centre (CBC). It implements: - the BSC-CBC interface using the CBSP protocol - a HTTP/JSON/RESTful interface for external applications - a telnet-based command line interface for configuration and introspection called VTY OsmoCBC provides mainly the following functionality: - establishing communication with the various Radio Access Network elements such as BSCs within the network - receiving requests to start or remove CBS and ETWS messages from external applications - distributing the CBS and/or ETWS messages has connection with the various RANs of the 3GPP cellular network Future versions of OsmoCBC are expected to contain the RNC-CBC interface with the SABP protocol, as well as the MME-CBC interface using the SBcAP protocol. Should you be interested in contributing to this effort, please contact the author of this document. === CBSP implementation CBSP is a Layer 5 protocol operating on top of TCP/IP, established between the CBC and the various BSCs of a cellular network. According to 3GPP, the CBSP is typically established from the CBC to the BSC. This means that the CBSP operates as TCP client and the BSCs operate as TCP servers. The disadvantage of this is that it requires the CBC to have out-of-band, prior knowledge about all the BSCs in the network, as well as their IP addresses. OsmoCBC also supports a slightly modified mode of operation, where the CBC operates as TCP server, and the BSCs as TCP clients. This means that all BSCs need to know the IP address of the CBC. In this situation, the CBC doesn't need to know each and every BSC in the network. It simply only accepts incoming CBSP connections. For more information, see <> on how CBSP is configured. === ECBE REST interface 3GPP does not specify the external interface by which competent authorities can submit SMSCB and/or ETWS messages to a CBC. Hence, a non-standard, Osmocom specific HTTP/REST/JSON based interface is offered for external entities to create and delete SMSCB and ETWS messages within the CBC. This interface is called ECBE. For more information, see <> on the ECBE API definition and <> on how it is configured.