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 or pull requests.
Go to file
Max a6d27a62ed Add gerrit settings
This facilitate the use of "git review" command for gerrit submissions.

Change-Id: Ic2df30f053687b6d48232cf04ce22592e1e09a94
2017-01-23 11:56:34 +00:00
contrib jenkins: Disable building doxygen help in libosmocore 2016-08-15 13:57:20 +02:00
debian debian: Make a new release with systemd service file 2016-08-15 14:02:11 +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 build: Remove old left over from before libosmocore.. 2017-01-18 09:23:31 +01:00
tests tests/vty: Add VTY tests to the osmo-stp 2016-08-15 13:36:25 +02: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 Public release of the cellmgr_ng code to convert E1 to IPA SCCP 2010-07-28 03:36:32 +08: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


== 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.