[[net]] == OsmoNITB Core Network Subsystem The OsmoNITB Core Network is a minimalistic implementation of the classic MSC/VLR/HLR/AUC/SMSC components. None of the standardized core network protocols (such as SCCP/TCAP/MAP) are used, interfaces between VLR and HLR are simple function calls inside the same software package. OsmoNITB can thus provide autonomous voice and SMS services to its coverage area, but it cannot provide roaming interfaces to classic GSM operators. To support this configuration, it is suggested to use the OsmoBSC variant of OpenBSC and interface it with a conventional MSC using A-over-IP protocol. If you have classic GSM network/operator background, many of the concepts used in OsmoNITB will appear foreign to you, as they are very unlike the conventional GSM networks that you have worked with. === Configuring the Core Network Like everything else, the core network related parameters are configured using the VTY. The respective parameters are underneath the `network` config node. You can get to that node by issuing the following commands: .Entering the config network node ---- OpenBSC> enable OpenBSC# configure terminal OpenBSC(config)# network OpenBSC(config-net)# ---- A full reference to them can be found in the _OsmoNITB VTY reference manual_ <>. This section will only introduce the most commonly used settings in detail. [TIP] ==== You can always use the `list` VTY command to get a list of all possible commands at the current node. ==== === Configuring the MCC/MNC The key identities of every GSM PLMN is the MCC and MNC. They are identical over the entire network. In most cases, the MCC/MNC will be allocated to the operator by the respective local regulatory authority. For example, to set the MCC/MNC of 262-89, you may enter: .Configuring the MCC/MNC ---- OpenBSC(config-net)# network country code 262 OpenBSC(config-net)# mobile network code 89 ---- === Configuring MM INFO The __MM INFO__ procedure can be used after a successful __LOCATION UPDATE__ in order to transmit the human-readable network name as well as local time zone information to the MS. By default, MM INFO is not active. You can activate it, and set its configuration using the VTY. An example is provided below. .Configuring MM INFO ---- OpenBSC(config-net)# mm info 1 OpenBSC(config-net)# short name OpenBSC OpenBSC(config-net)# long name OpenBSC ---- [NOTE] ==== Not all phone support the MM INFO procedure. Unless they already are factory-programmed to contain the name for your MCC/MNC, then they will likely only provide a numeric display of the network name, such as __262-89__ or with the country code transformed into a letter, such as __D 89__. ==== The time information transmitted is determined by the local system time of the operating system on which OsmoNITB is running. As BTSs attached to one OsmoNITB can reside in different time zones, it is possible to use the `timezone` command at each BTS node to set different time zone offsets in hours and quarter hours. === Setting the NECI bit NECI (New Establishment Cause Indication) is an optional change of the definition for establishment cause in the RACH burst. Among other things, in a network with NECI, a MS can explicitly indicate its TCH/H capability while asking for a dedicated radio channel. It is strongly recommended to use NECI. You can do so by issuing the following command: .Enabling NECI ---- OpenBSC(config-net)# neci 1 ---- === Configuring Handover As opposed to cell re-selection in idle mode, handover refers to the explicit transfer of a MS dedicated channel from one radio channel to another. This typically happens due to a MS moving from one cell to another while in an active call. OsmoNITB has a number of hand-over related parameters by which the hand-over algorithm can be tuned. Logically, those settings are settings of the BSC component, but for historic reasons, they are also configured under the __network__ VTY node. .Configuring Handover ---- OpenBSC(config-net)# handover 1 OpenBSC(config-net)# handover window rxlev averaging 10 OpenBSC(config-net)# handover window rxqual averaging 1 OpenBSC(config-net)# handover window rxlev neighbor averaging 10 OpenBSC(config-net)# handover power budget interval 6 OpenBSC(config-net)# handover power budget hysteresis 3 OpenBSC(config-net)# handover maximum distance 9999 ---- [NOTE] ==== If you are receiving the following error message: ---- OpenBSC(config-net)# handover 1 % Cannot enable handover unless RTP Proxy mode is enabled by using the -P command line option ---- then you should do as indicated and make sure to start your `osmo-nitb` process using the `-P` command line option. ====