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 62c50a8046 dtmf: Make the on/off time and transmit power configurable
Make it possible to configure the transmit power. These settings
will be in effect immediately (there is no lock between the two
threads but it is a read only).
2013-05-23 11:13:36 +02:00
contrib mtp: Implement the subsystem test and respond with a SSP/SSA 2010-12-31 13:40:19 +01:00
include dtmf: Make the on/off time and transmit power configurable 2013-05-23 11:13:36 +02:00
src dtmf: Make the on/off time and transmit power configurable 2013-05-23 11:13:36 +02:00
tests dtmf: Check the tones that are put into the DTMF scheduler and reject a 0 2013-05-21 18:00:21 +02:00
.gitignore dtmf: Schedule DTMF tones for the MTN hardware 2012-12-16 11:33:27 +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
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 dtmf: Schedule DTMF tones for the MTN hardware 2012-12-16 11:33:27 +01: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

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.