Osmocom Cell Broadcast Centre https://osmocom.org/projects/osmo-cbc
Go to file
Pau Espin 7fbd6aa472 Catch and forbid configuring peers before configuring main protocol node
When the user enters each "peer" node, the related object is created if
not yet existing, and its updated config is applied (connect()) upon
exiting the node (cbc_peer_apply_cfg_chg()). When connect happens, it
needs to obtain the local IP address from the main protocol node
(cbsp|sbcap)", which means it must be configured beforehand, otherwise
the peers connect using the default values.

Hence, it makes no sense to configure peers if the main protocol
information has not yet been configured. The usual example configs as
well as the write-config VTY commands provide correct order of things.
Catch and forbid the user providing a config file where the peers are
configured before the main protocol nodes.

Related: OS#6154
Change-Id: I678f9e6715c85b1eb9116cc892f1a8299577c0c2
2023-08-29 17:26:56 +02:00
contrib systemd: depend on networking-online.target 2023-05-26 14:10:44 +02:00
debian debian: set compat level to 10 2023-04-25 16:48:21 +02:00
doc Introduce logging category smscb 2022-07-29 14:49:30 +02:00
include Catch and forbid configuring peers before configuring main protocol node 2023-08-29 17:26:56 +02:00
src Catch and forbid configuring peers before configuring main protocol node 2023-08-29 17:26:56 +02: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 libosmo-sbcap.pc.in: new file 2022-07-18 13:57:04 +00: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 Bump version: 0.4.0.5-1d9d-dirty → 0.4.1 2023-02-07 17:39:55 +01: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

README.md

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

Homepage

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

Documentation

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.

Contributing

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/