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