Fork 0
OBSOLETE Cellmanager NG, intended to interface with BSplus
This repository has been archived on 2022-03-30. You can view files and clone it, but cannot push or open issues/pull-requests.
Go to file
Oliver Smith 3ebec515f5 debian/control: remove dh-systemd build-depend
Related: OS#5223
Change-Id: I90c4723034a7fcd29421ef825b958dbdbb594dc2
2021-09-01 16:07:05 +02:00
contrib contrib/jenkins.sh: Update script to fix several issues and use recent 2018-11-27 12:48:15 +01:00
debian debian/control: remove dh-systemd build-depend 2021-09-01 16:07:05 +02:00
doc/examples tests/vty: Add VTY tests to the osmo-stp 2016-08-15 13:36:25 +02:00
include m3ua: Start timer to wait for ASPAC_ACK 2015-10-09 14:43:12 +02:00
src vty: skip installing cmds now always installed by default 2018-11-27 16:33:45 +01:00
tests tests: Fix build of mtp_parse_test 2018-11-27 12:48:16 +01:00
.gitignore misc: Ignore some of the generated files 2016-08-15 13:56:19 +02:00
.gitreview Add gerrit settings 2017-01-23 11:56:34 +00:00
COPYING license: Switch to the GNU AGPLv3 for this network service 2011-01-16 20:35:13 +01:00
Makefile.am distcheck: Include .version to fix build on newer versions 2016-04-24 10:28:37 +02:00
README README: Add deprecation note 2018-11-27 16:33:45 +01:00
TODO TODO: Add some known shortcomings and some talk about what to do. 2012-01-16 11:55:26 +01:00
cellmgr_ng.cfg Public release of the cellmgr_ng code to convert E1 to IPA SCCP 2010-07-28 03:36:32 +08:00
configure.ac tests/vty: Add VTY tests to the osmo-stp 2016-08-15 13:36:25 +02:00
git-version-gen Generate the version from the tag 2010-09-15 20:40:23 +08:00
mgcp_mgw.cfg mgcp: Update the default config to have multiple virtual trunks 2011-09-19 23:27:39 +02:00
osmoappdesc.py tests/vty: Add VTY tests to the osmo-stp 2016-08-15 13:36:25 +02:00



cellmgr-ng is out of maintenance for a long time now (13 months) and some
of its features are going to be served by osmo-stp in the future.
cellmgr-ng is unable to build against recent libosmo-sccp.

== Building the cellmgr_ng ==

=== Requirements ===

==== OpenBSC ====
The result of "make install" of OpenBSC is required. The cellmgr_ng is using
the osmocomm and sccp library provided by OpenBSC.

==== NexusWare C7 =====
The NexusWare C7 library must be available. It is used to communicate with
MTP up to Level3.

==== NexusWare Uniporte ====
The NexusWare Uniported library must be available. It is used to handle
the configuration of the MGW.

=== Configuring & Building ===
The cellmgr_ng is using autoconf. At first the configure script must be
generated, after this ./configure can be called. The configure script will
use pkg-config to find the CFLAGS and LIBS for the Osmocomm, SCCP, NexusWare
C7 and NexusWare Uniporte libraries.

The NexusWare libraries naturally do not come with pkg-config files. There
are two example files in the pkg-config directory of the cellmgr_ng that can
be changed to point to the proper paths. Alternatively the NEXUSWARE_C7_CFLAGS,
variables can be set instead.

$ autoreconf --install --force
$ export PKG_CONFIG_PATH=/openbsc/install/lib/pkg-config:$PWD/pkgconfig
$ . /stuff/NexusWare/SETUP.SH
$ ./configure --host=ppc-linux
$ make

== Reset handling ==

=== Loss of the TCP connection to the MSC ===
 * All open SCCP connections need to be closed
 * All circuits allocated for voice calls need to be closed
 * On reconnect the cellmgr needs to generate the reset messages
 * The SCCP link is considered to be up

=== Loss of the MTP link/SLTM timeouts ===
 * We will have to generate a SCCP reset to the network
 * We will have to close ever voice call/mgcp and such

== Filtering ==
=== Filtering reset acks ===
For the above reset handling we filter the reset on both sides. Whenever
we connect to the MSC or lose the BSC we send it a reset.

Whenever the BSC is sending us a reset we directly respond with a reset act

=== Filtering RLSD messages ===
We are using the RLSD from the network and immediately reply with a RLC
if we don't know about this combination of src and dest reference. If we
do have a pair we set a flag and will send a RLC when we receive a RLC from
the BSC.

If we receive a RLSD from the BSC we do have a bug as we didn't respond
within a short enough timeout. We will close the connection. At which point
we will handle the above.

The reason to handle RLSD is that the BSC has a rather short timeout from
cleanup complete to wanting a RLSD and then the MSC and BSC will have some

== Header Rewriting ==
=== POI ===
We do not want to have the point code indicator in the SCCP header. Currently
we are removing this from the CR and DT1 messages.