This repository contains a C-language implementation of a minimal 3GPP Cell Broadcast Centre (CBC). It is part of the Osmocom Open Source Mobile Communications project.
A Cell Broadcast Centre is the central network element of a cellular network for distribution of Cell Broadcast and Emergency messages.
This code implements
- the CBSP protocol on the CBC-BSC interface
- a custom HTTP/REST based interface for external users to create/delete CBS messages
We plan to add support for the following features in the future:
- the SABP protocol on the CBC-RNC (or CBC-HNBGW) interface for UMTS support
- the SBcAP protocol on the CBC-MME interface for LTE support
The official homepage of the project is https://osmocom.org/projects/osmo-cbc/wiki
You can clone from the official osmo-cbc.git repository using
git clone https://gitea.osmocom.org/cellular-infrastructure/osmo-cbc
There is a web interface at https://gitea.osmocom.org/cellular-infrastructure/osmo-cbc
User Manuals and VTY reference manuals are [optionally] built in PDF form as part of the build process.
Pre-rendered PDF version of the current "master" can be found at User Manual as well as the VTY Reference Manual for osmo-cbc
Discussions related to osmo-cbc are happening on the [email protected] mailing list, please see https://lists.osmocom.org/mailman/listinfo/openbsc for subscription options and the list archive.
Please observe the Osmocom Mailing List Rules when posting.
Our coding standards are described at https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards
We use a Gerrit based patch submission/review process for managing contributions. Please see https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for more details
The current patch queue for osmo-cbc can be seen at https://gerrit.osmocom.org/#/q/project:osmo-cbc+status:open
Upstream master as1nc from vlm doesn't support APER encoding. Nevertheless, the upstream fork maintained by a big contributor mouse07410 does support it, and it is used in osmo-cbc to generate the SBc-AP code from ASN.1 files present in src/sbcap/asn1/.
In order to regenerate the code, one shall adjust the ASN1C_SKELETON_PATH and
ASN1C_BIN_PATH in configure.ac to point to the built & installed asn1c from
mouse07410 (usually vlm_master
branch). Last generated code was built using
commit hash 08b293e8aa342d465d26805d1d66f3595b2ce261.
Then, do the usual autoreconf -fi && ./configure
, using a buildir != srcdir
(important, in order to avoid ending up with tempotary files in srcdir and
making it difficult to stash the relevant changes).
Finally, run make -C src/ regen
, which will regenerate the files and copy over
the skeletons, with git possibily showing changes in the following paths:
- include/osmocom/sbcap/
- src/sbcap/gen/
- src/sbcap/skel/