9
0
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
Holger Hans Peter Freyther 47c9faac3b mtp: Attempt to implement the MTP Restart properly
For the SSP functionatilty we will need to have the timers T18
and T20. In the period of T18 we will collect TFP/TFR/TFA for the
reachable nodes of the system. Each of this node will send us a TRA
when it is finished. Right now we assume to only have one node and
stop the T18 after the TRA of this node. Then we would need to send
the TFP/TFR we have collected. On the expiry of the T20 timer we
will need to send our TRA and notify local users.

For more complex routing we will need to have a shared routing
cache and remember which SSNs and OPCs are reachable and have inter
linkset notifications.
2011-02-23 15:27:09 +01:00
contrib mtp: Implement the subsystem test and respond with a SSP/SSA 2010-12-31 13:40:19 +01:00
include mtp: Attempt to implement the MTP Restart properly 2011-02-23 15:27:09 +01:00
src mtp: Attempt to implement the MTP Restart properly 2011-02-23 15:27:09 +01:00
tests mtp: Fix the address mask, macro to extract opc/dpc 2011-01-20 13:11:29 +01:00
.gitignore udt_relay: Add a forked copy of main to just relay messages 2010-11-16 11:03:19 +01:00
COPYING license: Switch to the GNU AGPLv3 for this network service 2011-01-16 20:35:13 +01:00
Makefile.am Generate the version from the tag 2010-09-15 20:40:23 +08:00
README Public release of the cellmgr_ng code to convert E1 to IPA SCCP 2010-07-28 03:36:32 +08: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 configure: We do not want to always link to -lsctp 2011-01-25 12:26:59 +01:00
git-version-gen Generate the version from the tag 2010-09-15 20:40:23 +08:00
mgcp_mgw.cfg Public release of the cellmgr_ng code to convert E1 to IPA SCCP 2010-07-28 03:36:32 +08:00

README

== 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,
NEXUSWARE_C7_LIBS, NEXUSWARE_UNIPORTE_CFLAGS, NEXUSWARE_UNIPORTE_LIBS environment
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
issues...

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