Osmocom BSC NAT: Aggregate multiple BSCs (A interfaces) in one BSC/A-interface https://osmocom.org/projects/osmo-bscnat
Go to file
Oliver Smith 8bb0534396 Add subscr_conn_fsm
Insert the BSCNAT's MGW into phone calls by replacing the AoIP
transport layer address IE inside BSSMAP Assignment Request and
Assignment Confirm. Accomplish this with a new subscr_conn_fsm that
parses and stores the original ass_req / ass_conf messages, communicates
with the BSCNAT MGW, and then creates new ass_req / ass_conf messages
based on the original ones but with new RTP information.

With this patch it is possible to do a successful voice call with the
following network:

  MS1 --- BTS1 --- BSC1 --.
           |        |     BSCNAT ----------- MSC
           |        |     |   |              |
           '-- MGW-BSC1 --|-- MGW-BSCNAT --- MGW-MSC
                          |   |
  MS2 --- BTS2 --- BSC2 --'   |
           |        |         |
           '-- MGW-BSC2 ------'

Depends: libosmocore I3caa15666f2dde9ee02182a89edc5daa70e8c3fc
Related: SYS#5560
Related: https://osmocom.org/projects/osmo-bscnat/wiki/Ladder_diagrams_for_key_procedures
Change-Id: I7e491aada6f5db0eb35ef2039869c6ba07f9ca3b
2022-06-08 12:50:09 +02:00
contrib Initialize MGW pool on start up 2022-04-08 18:37:24 +02:00
debian Initialize MGW pool on start up 2022-04-08 18:37:24 +02:00
doc Initialize MGW pool on start up 2022-04-08 18:37:24 +02:00
include Add subscr_conn_fsm 2022-06-08 12:50:09 +02:00
src Add subscr_conn_fsm 2022-06-08 12:50:09 +02:00
tests Add project skeleton 2021-12-23 10:47:21 +01:00
.gitignore Add project skeleton 2021-12-23 10:47:21 +01:00
.gitreview Add project skeleton 2021-12-23 10:47:21 +01:00
AUTHORS Add project skeleton 2021-12-23 10:47:21 +01:00
COPYING Add project skeleton 2021-12-23 10:47:21 +01:00
Makefile.am Add project skeleton 2021-12-23 10:47:21 +01:00
README.md README: osmo-dev: add BSC{0,1}_CODEC_LIST="fr2" 2022-03-23 18:26:22 +01:00
configure.ac Initialize MGW pool on start up 2022-04-08 18:37:24 +02:00
git-version-gen Add project skeleton 2021-12-23 10:47:21 +01:00
osmoappdesc.py Add project skeleton 2021-12-23 10:47:21 +01:00

README.md

osmo-bsc-nat

OsmoBSCNAT masquerades multiple BSCs behind one. It is part of the Osmocom Open Source Mobile Communications project.

Homepage

The official homepage of the project is https://osmocom.org/projects/osmo-bscnat/wiki

GIT Repository

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

git clone git://git.osmocom.org/osmo-bsc-nat.git

There is a cgit interface at https://git.osmocom.org/osmo-bsc-nat/

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

Mailing List

Discussions related to osmo-bsc-nat 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.

Manual Testing With osmo-dev

With osmo-dev it is possible to build all Osmocom components for a full test network with OsmoBSCNAT, and run the network on your PC. Set up the make directory as described in osmo-dev's README, then build components with:

$ make cn-bsc-nat

Set up a network as described in osmo-dev's net/README, then put the following in your configuration to let it run osmo-bsc-nat with one virtual BSC, BTS and MS (can be used next to a real BSC/BTS/MS):

BSC_COUNT=2
BSC0_CODEC_LIST="fr2"
BSC1_CODEC_LIST="fr2"
BTS1_RUN_IN_OSMO_DEV=1
STP_RAN_IP="127.0.0.2"
MS_RUN_IN_OSMO_DEV=1

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