Osmocom's Base Station Controller for 2G mobile networks https://osmocom.org/projects/osmobsc
Go to file
Vadim Yanitskiy 1ed5fbf657 fix bsc_vty_go_parent(): add missing case for MGW_NODE
A new VTY node was added in commit [1], but bsc_vty_go_parent() was
not updated.  Because of that, commands following the MGW node may
crash osmo-bsc.  In the example below:

  network
   network country code 901
   mobile network code 70
   ...
   mgw 0
    remote-ip 127.0.0.1
    local-ip 127.0.0.1
   periodic location update 30

the 'periodic location update 30' will trigger a segfault:

  (gdb) bt
  #0  0x00005555555dfc09 in cfg_net_per_loc_upd ()
  #1  0x00007ffff7af6c3f in cmd_execute_command_strict () from /usr/local/lib/libosmovty.so.9
  #2  0x00007ffff7af6f1c in config_from_file () from /usr/local/lib/libosmovty.so.9
  #3  0x00007ffff7afd4e1 in vty_read_config_filep () from /usr/local/lib/libosmovty.so.9
  #4  0x00007ffff7afe375 in vty_read_config_file () from /usr/local/lib/libosmovty.so.9
  #5  0x0000555555579616 in bsc_network_configure ()
  #6  0x000055555557a352 in main ()

because vty->index would be NULL after returning from the MGW node.

Fix this by adding the missing case to bsc_vty_go_parent().

Change-Id: Id3050ff7e2402c33ee76c7bf0cc83603c0cc6dfc
Fixes: [1] 8d22e68706
(cherry picked from commit 57800ec48e)
2023-02-08 11:06:35 +01:00
contrib Bump version: 1.8.0.228-6941-dirty → 1.9.0 2022-06-29 11:18:10 +02:00
debian Bump version: 1.8.0.228-6941-dirty → 1.9.0 2022-06-29 11:18:10 +02:00
doc doc/manuals: document channel allocation parameters 2022-06-23 05:48:04 +07:00
include bts_chan_load(): also calculate per-TRX channel load 2022-06-22 05:49:20 +07:00
m4 Drop unneeded ax_check_compile_flag.m4 2022-01-11 18:15:20 +01:00
src fix bsc_vty_go_parent(): add missing case for MGW_NODE 2023-02-08 11:06:35 +01:00
tests tests/handover_cfg.vty: use more precise regex for forbidden lines 2022-06-22 05:48:06 +07:00
.gitignore .gitignore: remove non-existing ipaccess-firmware binary 2021-11-05 00:11:33 +03:00
.gitreview .gitreview: update repo url to new location 2017-08-08 17:24:04 +02:00
.mailmap add .mailmap file for mapping git author name/mail in shortlog 2016-08-08 17:40:28 +00:00
AUTHORS move openbsc/* to repos root 2017-08-27 03:52:43 +02:00
COPYING move openbsc/* to repos root 2017-08-27 03:52:43 +02:00
Makefile.am manuals: generate vty reference xml at build time 2020-06-16 10:16:30 +00:00
README.md convert README to README.md; expand on all fronts 2022-06-18 13:34:46 +02:00
README.vty-tests update git URLs (git -> https; gitea) 2022-06-18 14:04:11 +02:00
TODO-RELEASE Bump version: 1.8.0.228-6941-dirty → 1.9.0 2022-06-29 11:18:10 +02:00
configure.ac Bump version: 1.8.0.228-6941-dirty → 1.9.0 2022-06-29 11:18:10 +02:00
git-version-gen git-version-gen: Don't check for .git directory 2018-07-24 18:04:51 +02:00
osmoappdesc.py debian, osmoappdesc.py, tests: switch to python 3 2019-12-11 09:31:40 +01:00

README.md

osmo-bsc - Osmocom BSC Implementation

This repository contains a C-language implementation of a GSM Base Station Controller (BSC). IT is part of the Osmocom Open Source Mobile Communications project.

OsmoBSC exposes

  • A over IP towards an MSC (e.g. OsmoMSC): 3GPP AoIP or SCCPlite
  • Abis interfaces towards various kinds of BTS (osmo-bts, sysmobts, nanoBTS, Siemens, Nokia, Ericsson)
  • The Osmocom typical telnet VTY and CTRL interfaces.
  • The Osmocom typical statsd exporter.
  • Cell Broadcast Service Protocol (CBSP) towards a CBC (Cell Broadcast Centre, such as osmo-cbc).
  • Lb interface towards a SMLC (Serving Mobile Location Centre, such as osmo-smlc).

Homepage

You can find the OsmoBSC issue tracker and wiki online at https://osmocom.org/projects/osmobsc and https://osmocom.org/projects/osmobsc/wiki.

GIT Repository

You can clone from the official osmo-bsc.git repository using

    git clone https://gitea.osmocom.org/cellular-infrastructure/osmo-bsc

There is a web interface at https://gitea.osmocom.org/cellular-infrastructure/osmo-bsc

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

There also is an Abis reference Manual describing the OsmoBTS specific A-bis dialect, as well as a CBSP Reference Maunal describing the level of CBSP conformance.

Mailing List

Discussions related to osmo-bsc 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-bsc can be seen at https://gerrit.osmocom.org/#/q/project:osmo-bsc+status:open

History

OsmoBSC originated from the OpenBSC project, which started as a minimalistic all-in-one implementation of the GSM Network. In 2017, OpenBSC had reached maturity and diversity (including M3UA SIGTRAN and 3G support in the form of IuCS and IuPS interfaces) that naturally lead to a separation of the all-in-one approach to fully independent separate programs as in typical GSM networks.

OsmoBSC was one of the parts split off from the old openbsc.git. Before, it worked as a standalone osmo-bsc binary as well as a combination of libbsc and libmsc, i.e. the old OsmoNITB. Since the standalone OsmoMSC with a true A interface (and IuCS for 3G support) is available, OsmoBSC exists only as a separate standalone entity.

OsmoBSC-NAT is a specialized solution to navigating RTP streams through a NAT. (Todo: describe in more detail)