Pau Espin Pedrol | 72e29f5 | 2018-11-27 12:46:30 +0100 | [diff] [blame] | 1 | == DEPRECATION NOTE == |
| 2 | |
| 3 | cellmgr-ng is out of maintenance for a long time now (13 months) and some |
| 4 | of its features are going to be served by osmo-stp in the future. |
| 5 | cellmgr-ng is unable to build against recent libosmo-sccp. |
| 6 | |
Holger Hans Peter Freyther | 97f66e2 | 2010-07-28 03:32:52 +0800 | [diff] [blame] | 7 | == Building the cellmgr_ng == |
| 8 | |
| 9 | === Requirements === |
| 10 | |
| 11 | ==== OpenBSC ==== |
| 12 | The result of "make install" of OpenBSC is required. The cellmgr_ng is using |
| 13 | the osmocomm and sccp library provided by OpenBSC. |
| 14 | |
| 15 | ==== NexusWare C7 ===== |
| 16 | The NexusWare C7 library must be available. It is used to communicate with |
| 17 | MTP up to Level3. |
| 18 | |
| 19 | ==== NexusWare Uniporte ==== |
| 20 | The NexusWare Uniported library must be available. It is used to handle |
| 21 | the configuration of the MGW. |
| 22 | |
| 23 | |
| 24 | === Configuring & Building === |
| 25 | The cellmgr_ng is using autoconf. At first the configure script must be |
| 26 | generated, after this ./configure can be called. The configure script will |
| 27 | use pkg-config to find the CFLAGS and LIBS for the Osmocomm, SCCP, NexusWare |
| 28 | C7 and NexusWare Uniporte libraries. |
| 29 | |
| 30 | The NexusWare libraries naturally do not come with pkg-config files. There |
| 31 | are two example files in the pkg-config directory of the cellmgr_ng that can |
| 32 | be changed to point to the proper paths. Alternatively the NEXUSWARE_C7_CFLAGS, |
| 33 | NEXUSWARE_C7_LIBS, NEXUSWARE_UNIPORTE_CFLAGS, NEXUSWARE_UNIPORTE_LIBS environment |
| 34 | variables can be set instead. |
| 35 | |
| 36 | $ autoreconf --install --force |
| 37 | $ export PKG_CONFIG_PATH=/openbsc/install/lib/pkg-config:$PWD/pkgconfig |
| 38 | $ . /stuff/NexusWare/SETUP.SH |
| 39 | $ ./configure --host=ppc-linux |
| 40 | $ make |
| 41 | |
| 42 | |
| 43 | |
| 44 | == Reset handling == |
| 45 | |
| 46 | === Loss of the TCP connection to the MSC === |
| 47 | * All open SCCP connections need to be closed |
| 48 | * All circuits allocated for voice calls need to be closed |
| 49 | * On reconnect the cellmgr needs to generate the reset messages |
| 50 | * The SCCP link is considered to be up |
| 51 | |
| 52 | === Loss of the MTP link/SLTM timeouts === |
| 53 | * We will have to generate a SCCP reset to the network |
| 54 | * We will have to close ever voice call/mgcp and such |
| 55 | |
| 56 | == Filtering == |
| 57 | === Filtering reset acks === |
| 58 | For the above reset handling we filter the reset on both sides. Whenever |
| 59 | we connect to the MSC or lose the BSC we send it a reset. |
| 60 | |
| 61 | Whenever the BSC is sending us a reset we directly respond with a reset act |
| 62 | |
| 63 | === Filtering RLSD messages === |
| 64 | We are using the RLSD from the network and immediately reply with a RLC |
| 65 | if we don't know about this combination of src and dest reference. If we |
| 66 | do have a pair we set a flag and will send a RLC when we receive a RLC from |
| 67 | the BSC. |
| 68 | |
| 69 | If we receive a RLSD from the BSC we do have a bug as we didn't respond |
| 70 | within a short enough timeout. We will close the connection. At which point |
| 71 | we will handle the above. |
| 72 | |
| 73 | The reason to handle RLSD is that the BSC has a rather short timeout from |
| 74 | cleanup complete to wanting a RLSD and then the MSC and BSC will have some |
| 75 | issues... |
| 76 | |
| 77 | == Header Rewriting == |
| 78 | === POI === |
| 79 | We do not want to have the point code indicator in the SCCP header. Currently |
| 80 | we are removing this from the CR and DT1 messages. |