Osmocom Cell Broadcast Centre https://osmocom.org/projects/osmo-cbc
Go to file
Oliver Smith bd50b41eeb debian/postinst: add checks, be verbose
Do not attempt to change permissions/ownership if the package gets
upgraded from a version higher than the next release.

Do not fail if the user deleted the config file.

Be verbose when changing permissions.

Related: OS#4107
Change-Id: Ic41d3ae2478c49aed222bfa978344727c5dc92a4
2024-05-14 15:20:35 +02:00
contrib contrib: remove rpm spec file 2024-05-08 14:40:57 +02:00
debian debian/postinst: add checks, be verbose 2024-05-14 15:20:35 +02:00
doc Use uniform log format for default config files 2023-12-01 11:50:49 +01:00
include Catch and forbid configuring peers before configuring main protocol node 2023-08-29 17:26:56 +02:00
src SBcAP: Update as1nc skeleton and generated code 2024-03-25 16:07:13 +01:00
tests tests: use -no-install libtool flag to avoid ./lt-* scripts 2023-03-11 04:34:45 +07:00
.checkpatch.conf checkpatch.conf: ignore sbcap generated files 2022-07-15 09:17:36 +00:00
.gitignore libosmo-sbcap.pc.in: new file 2022-07-18 13:57:04 +00:00
.gitreview gitreview: add new file 2022-07-15 09:14:07 +00:00
COPYING Add COPYING file with AGPLv3 license text 2020-12-30 17:16:17 +01:00
Makefile.am contrib: remove rpm spec file 2024-05-08 14:40:57 +02:00
README.md README.md: Document generation of SBcAP code from ASN.1 files 2023-05-16 12:33:57 +02:00
cbc.schema.json bring JSON schema in sync with reality 2021-02-20 18:07:37 +01:00
configure.ac contrib: remove rpm spec file 2024-05-08 14:40:57 +02:00
git-version-gen Initial (building) start of OsmoCBC (Cell Broadcast Centre) 2019-05-06 23:15:23 +02:00
libosmo-sbcap.pc.in libosmo-sbcap.pc.in: new file 2022-07-18 13:57:04 +00:00
move-asn1-header-files.sh Add sbcap library 2022-07-15 15:53:35 +02:00
smscb.schema.json bring JSON schema in sync with reality 2021-02-20 18:07:37 +01:00


osmo-cbc - Osmocom Cell Broadcast Centre

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

GIT Repository

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

Mailing List

Discussions related to osmo-cbc are happening on the openbsc@lists.osmocom.org 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 us 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

Generating asn1c code

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/