<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bsc/+/19327">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">doc: Copy {bsc,bts}.adoc from osmo-gsm-manuals<br><br>Those adoc files are only used by osmo-bsc.git and openbsc.git<br>(osmo-nitb), and the later is deprecated and no longer maintained, which<br>means new features are only added to BSC. Hence it makes no sense to<br>keep the doc shared between both.<br><br>Change-Id: I20aa60d2f4111d66e922f3e2a73a20352ec1f7e4<br>---<br>A doc/manuals/chapters/bsc.adoc<br>A doc/manuals/chapters/bts.adoc<br>M doc/manuals/osmobsc-usermanual.adoc<br>3 files changed, 627 insertions(+), 2 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/27/19327/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/doc/manuals/chapters/bsc.adoc b/doc/manuals/chapters/bsc.adoc</span><br><span>new file mode 100644</span><br><span>index 0000000..49d25e5</span><br><span>--- /dev/null</span><br><span>+++ b/doc/manuals/chapters/bsc.adoc</span><br><span>@@ -0,0 +1,120 @@</span><br><span style="color: hsl(120, 100%, 40%);">+== BSC level configuration</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The BSC component is shared between OsmoBSC and OsmoNITB.  This chapter</span><br><span style="color: hsl(120, 100%, 40%);">+describes some of the configuration options related to this shared BSC</span><br><span style="color: hsl(120, 100%, 40%);">+component.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+=== Hand-over</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+==== Hand-over in GSM</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Hand-over is the process of changing a MS with a currently active</span><br><span style="color: hsl(120, 100%, 40%);">+dedicated channel from one BTS to another BTS.  As opposed to idle mode,</span><br><span style="color: hsl(120, 100%, 40%);">+where the MS autonomously performs cell re-selection, in dedicated mode</span><br><span style="color: hsl(120, 100%, 40%);">+this happens under network control.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+In order to determine when to perform hand-over, and to which cells, the</span><br><span style="color: hsl(120, 100%, 40%);">+network requests the MS to perform measurements on a list of neighbor</span><br><span style="color: hsl(120, 100%, 40%);">+cell channels, which the MS then reports back to the network in the form</span><br><span style="color: hsl(120, 100%, 40%);">+of GSM RR 'Measurement Result' messages.  Those messages contain the</span><br><span style="color: hsl(120, 100%, 40%);">+downlink measurements as determined by the MS.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Furthermore, the BTS also performs measurements on the uplink, and</span><br><span style="color: hsl(120, 100%, 40%);">+communicates those by means of RSL to the BSC.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The hand-over decision is made by an algorithm that processes those</span><br><span style="color: hsl(120, 100%, 40%);">+measurement results and determines when to perform the hand-over.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+==== Configuration of hand-over in OsmoBSC/OsmoNITB</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC (like the internal BSC component of OsmoNITB) only support</span><br><span style="color: hsl(120, 100%, 40%);">+so-called intra-BSC hand-over, where the hand-over is performed between</span><br><span style="color: hsl(120, 100%, 40%);">+two BTSs within the same BSC.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Hand-over is enabled and configured by the use of a set of `handover`</span><br><span style="color: hsl(120, 100%, 40%);">+commands.  Using those, you can tune the key parameters of the hand-over</span><br><span style="color: hsl(120, 100%, 40%);">+algorithm and adapt it to your specific environment.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+.Example handover configuration snippet</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+ handover 1 <1></span><br><span style="color: hsl(120, 100%, 40%);">+ handover window rxlev averaging 10 <2></span><br><span style="color: hsl(120, 100%, 40%);">+ handover window rxqual averaging 1 <3></span><br><span style="color: hsl(120, 100%, 40%);">+ handover window rxlev neighbor averaging 10 <4></span><br><span style="color: hsl(120, 100%, 40%);">+ handover power budget interval 6 <5></span><br><span style="color: hsl(120, 100%, 40%);">+ handover power budget hysteresis 3 <6></span><br><span style="color: hsl(120, 100%, 40%);">+ handover maximum distance 9999 <7></span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+<1> Enable hand-over</span><br><span style="color: hsl(120, 100%, 40%);">+<2> Set the RxLev averaging window for the serving cell to 10 measurements</span><br><span style="color: hsl(120, 100%, 40%);">+<3> Set the RxQual averaging window for the serving cell to 1</span><br><span style="color: hsl(120, 100%, 40%);">+    measurement (no window)</span><br><span style="color: hsl(120, 100%, 40%);">+<4> Set the RxLev averaging for neighbor cells to 10 measurements</span><br><span style="color: hsl(120, 100%, 40%);">+<5> Check for the conditions of a power budget hand-over every 6 SACCH</span><br><span style="color: hsl(120, 100%, 40%);">+    frames</span><br><span style="color: hsl(120, 100%, 40%);">+<6> A neighbor cell must be at least 3 dB stronger than the serving cell</span><br><span style="color: hsl(120, 100%, 40%);">+    to be considered a candidate for hand-over</span><br><span style="color: hsl(120, 100%, 40%);">+<7> Perform a maximum distance hand-over if TA is larger 9999 (i.e.  never)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+//TODO: Move all to BSC node</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+=== Timer Configuration</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The GSM specification specifies a variety of timers both on the network</span><br><span style="color: hsl(120, 100%, 40%);">+as well as on the mobile station side.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Those timers can be configured using the `timer tXXXX` command.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+.Configurable Timers</span><br><span style="color: hsl(120, 100%, 40%);">+|===</span><br><span style="color: hsl(120, 100%, 40%);">+|node|timer|default|description</span><br><span style="color: hsl(120, 100%, 40%);">+|network|t3101|10|Timeout for 'Immediate Assignment' (sec)</span><br><span style="color: hsl(120, 100%, 40%);">+|network|t3103|?|Timeout for Handover (sec)</span><br><span style="color: hsl(120, 100%, 40%);">+|network|t3105|40|Repetition of 'Physical Information' (sec)</span><br><span style="color: hsl(120, 100%, 40%);">+|network|t3107|?|?</span><br><span style="color: hsl(120, 100%, 40%);">+|network|t3109|?|RSL SACCH deactivation timeout (sec)</span><br><span style="color: hsl(120, 100%, 40%);">+|network|t3111|?|RSL timeout to wait before releasing the RF channel (sec)</span><br><span style="color: hsl(120, 100%, 40%);">+|network|t3113|60|Time to try paging for a subscriber (sec)</span><br><span style="color: hsl(120, 100%, 40%);">+|network|t3115|?|?</span><br><span style="color: hsl(120, 100%, 40%);">+|network|t3117|?|?</span><br><span style="color: hsl(120, 100%, 40%);">+|network|t3119|?|?</span><br><span style="color: hsl(120, 100%, 40%);">+|network|t3122|10|Waiting time after 'Immediate Assignment Reject'</span><br><span style="color: hsl(120, 100%, 40%);">+|network|t3141|?|?</span><br><span style="color: hsl(120, 100%, 40%);">+|===</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+//TODO: split between BSC and MSC timers</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+=== Discontinuous Transmission (DTX)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+GSM provides a full-duplex voice call service.  However, in any</span><br><span style="color: hsl(120, 100%, 40%);">+civilized communication between human beings, only one of the</span><br><span style="color: hsl(120, 100%, 40%);">+participants is speaking at any given point in time.  This means that</span><br><span style="color: hsl(120, 100%, 40%);">+most of the time, one of the two directions of the radio link is</span><br><span style="color: hsl(120, 100%, 40%);">+transmitting so-called 'silence frames'.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+During such periods of quiescence in one of the two directions, it is</span><br><span style="color: hsl(120, 100%, 40%);">+possible to suppress transmission of most of the radio bursts, as there</span><br><span style="color: hsl(120, 100%, 40%);">+is no voice signal to transport.  GSM calls this feature 'Discontinuous</span><br><span style="color: hsl(120, 100%, 40%);">+Transmission'.  It exists separately for uplink (DTXu) and downlink</span><br><span style="color: hsl(120, 100%, 40%);">+(DTXd).</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Downlink DTX is only permitted on non-primary transceivers (!= TRX0), as</span><br><span style="color: hsl(120, 100%, 40%);">+TRX0 must always transmit at constant output power to ensure it is</span><br><span style="color: hsl(120, 100%, 40%);">+detected during cell selection.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Uplink DTX is possible on any TRX, and serves primarily two uses:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+possible on any TRX, and serves primarily two uses:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+. reducing the MS battery consumption by transmitting at a lower duty cycle</span><br><span style="color: hsl(120, 100%, 40%);">+. reducing the uplink interference caused in surrounding cells that</span><br><span style="color: hsl(120, 100%, 40%);">+  re-use the same ARFCN.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+DTS for both uplink and downlink is implemented in the BTS.  Not all BTS</span><br><span style="color: hsl(120, 100%, 40%);">+models support it.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The Osmocom BSC component can instruct the BTS to enable or disable</span><br><span style="color: hsl(120, 100%, 40%);">+uplink and/or downlink DTX by means of A-bis OML.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+//TODO: Test/implement, at least for uplink</span><br><span style="color: hsl(120, 100%, 40%);">+//TODO: Move to BSC</span><br><span>diff --git a/doc/manuals/chapters/bts.adoc b/doc/manuals/chapters/bts.adoc</span><br><span>new file mode 100644</span><br><span>index 0000000..223cec1</span><br><span>--- /dev/null</span><br><span>+++ b/doc/manuals/chapters/bts.adoc</span><br><span>@@ -0,0 +1,505 @@</span><br><span style="color: hsl(120, 100%, 40%);">+[[bts]]</span><br><span style="color: hsl(120, 100%, 40%);">+== Reviewing and Provisioning BTS configuration</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The main functionality of the BSC component is to manage BTSs. As such,</span><br><span style="color: hsl(120, 100%, 40%);">+provisioning BTSs within the BSC is one of the most common tasks during</span><br><span style="color: hsl(120, 100%, 40%);">+BSC operation. Just like about anything else in OsmoBSC, they are</span><br><span style="color: hsl(120, 100%, 40%);">+configured using the VTY.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+BTSs are internally numbered with integer numbers starting from "0" for</span><br><span style="color: hsl(120, 100%, 40%);">+the first BTS. BTS numbers have to be contiguous, so you cannot</span><br><span style="color: hsl(120, 100%, 40%);">+configure 0,1,2 and then 5.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+=== Reviewing current BTS status and configuration</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+In order to view the status and properties of a BTS, you can issue the</span><br><span style="color: hsl(120, 100%, 40%);">+`show bts` command. If used without any BTS number, it will display</span><br><span style="color: hsl(120, 100%, 40%);">+information about all provisioned BTS numbers.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC> show bts 0</span><br><span style="color: hsl(120, 100%, 40%);">+BTS 0 is of nanobts type in band DCS1800, has CI 0 LAC 1, BSIC 63, TSC 7 and 1 TRX</span><br><span style="color: hsl(120, 100%, 40%);">+Description: (null)</span><br><span style="color: hsl(120, 100%, 40%);">+MS Max power: 15 dBm</span><br><span style="color: hsl(120, 100%, 40%);">+Minimum Rx Level for Access: -110 dBm</span><br><span style="color: hsl(120, 100%, 40%);">+Cell Reselection Hysteresis: 4 dBm</span><br><span style="color: hsl(120, 100%, 40%);">+RACH TX-Integer: 9</span><br><span style="color: hsl(120, 100%, 40%);">+RACH Max transmissions: 7</span><br><span style="color: hsl(120, 100%, 40%);">+System Information present: 0x0000007e, static: 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+  Unit ID: 200/0/0, OML Stream ID 0xff</span><br><span style="color: hsl(120, 100%, 40%);">+  NM State: Oper 'Enabled', Admin 2, Avail 'OK'</span><br><span style="color: hsl(120, 100%, 40%);">+  Site Mgr NM State: Oper 'Enabled', Admin 0, Avail 'OK'</span><br><span style="color: hsl(120, 100%, 40%);">+  Paging: 0 pending requests, 0 free slots</span><br><span style="color: hsl(120, 100%, 40%);">+  OML Link state: connected.</span><br><span style="color: hsl(120, 100%, 40%);">+  Current Channel Load:</span><br><span style="color: hsl(120, 100%, 40%);">+                   TCH/F:   0% (0/5)</span><br><span style="color: hsl(120, 100%, 40%);">+                  SDCCH8:   0% (0/8)</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+You can also review the status of the TRXs configured within the BTSs of</span><br><span style="color: hsl(120, 100%, 40%);">+this BSC by using `show trx`:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC> show trx 0 0</span><br><span style="color: hsl(120, 100%, 40%);">+TRX 0 of BTS 0 is on ARFCN 871</span><br><span style="color: hsl(120, 100%, 40%);">+Description: (null)</span><br><span style="color: hsl(120, 100%, 40%);">+  RF Nominal Power: 23 dBm, reduced by 0 dB, resulting BS power: 23 dBm</span><br><span style="color: hsl(120, 100%, 40%);">+  NM State: Oper 'Enabled', Admin 2, Avail 'OK'</span><br><span style="color: hsl(120, 100%, 40%);">+  Baseband Transceiver NM State: Oper 'Enabled', Admin 2, Avail 'OK'</span><br><span style="color: hsl(120, 100%, 40%);">+  ip.access stream ID: 0x00</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The output can be restricted to the TRXs of one specified BTS number</span><br><span style="color: hsl(120, 100%, 40%);">+(`show trx 0`) or even that of a single specified TRX within a</span><br><span style="color: hsl(120, 100%, 40%);">+specified BTS (`show trx 0 0`).</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Furthermore, information on the individual timeslots can be shown by</span><br><span style="color: hsl(120, 100%, 40%);">+means of `show timeslot`. The output can be restricted to the</span><br><span style="color: hsl(120, 100%, 40%);">+timeslots of a single BTS (`show timeslot 0`) or that of a single</span><br><span style="color: hsl(120, 100%, 40%);">+TRX (`show timeslot 0 0`). Finally, you can restrict the output to</span><br><span style="color: hsl(120, 100%, 40%);">+a single timeslot by specifying the BTS, TRX and TS numbers (`show</span><br><span style="color: hsl(120, 100%, 40%);">+timeslot 0 0 4`).</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC> show timeslot 0 0 0</span><br><span style="color: hsl(120, 100%, 40%);">+BTS 0, TRX 0, Timeslot 0, phys cfg CCCH, TSC 7</span><br><span style="color: hsl(120, 100%, 40%);">+  NM State: Oper 'Enabled', Admin 2, Avail 'OK'</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC> show timeslot 0 0 1</span><br><span style="color: hsl(120, 100%, 40%);">+BTS 0, TRX 0, Timeslot 1, phys cfg SDCCH8, TSC 7</span><br><span style="color: hsl(120, 100%, 40%);">+  NM State: Oper 'Enabled', Admin 2, Avail 'OK'</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+=== Provisioning a new BTS</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+In order to provision BTSs, you have to enter the BTS config node of the</span><br><span style="color: hsl(120, 100%, 40%);">+VTY. In order to configure BTS 0, you can issue the following sequence</span><br><span style="color: hsl(120, 100%, 40%);">+of commands:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC> enable</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC# configure terminal</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config)# network</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-net)# bts 0</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-net-bts)#</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+At this point, you have a plethora of commands, in fact an entire</span><br><span style="color: hsl(120, 100%, 40%);">+hierarchy of commands to configure all aspects of the BTS, as well as</span><br><span style="color: hsl(120, 100%, 40%);">+each of its TRX and each timeslot within each TRX. For a full</span><br><span style="color: hsl(120, 100%, 40%);">+reference, please consult the telnet VTY integrated help or the respective</span><br><span style="color: hsl(120, 100%, 40%);">+chapter in the VTY reference.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+BTS configuration depends quite a bit on the specific BTS vendor and</span><br><span style="color: hsl(120, 100%, 40%);">+model. The section below provides just one possible example for the</span><br><span style="color: hsl(120, 100%, 40%);">+case of a sysmoBTS.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Note that from the `configure terminal` command onwards, the telnet VTY</span><br><span style="color: hsl(120, 100%, 40%);">+commands above are identical to configuration file settings, for details see</span><br><span style="color: hsl(120, 100%, 40%);">+<<vty>>.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Starting with `network` as above, your complete sysmoBTS configuration may look</span><br><span style="color: hsl(120, 100%, 40%);">+like this:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+network</span><br><span style="color: hsl(120, 100%, 40%);">+ bts 0</span><br><span style="color: hsl(120, 100%, 40%);">+  type sysmobts</span><br><span style="color: hsl(120, 100%, 40%);">+  band DCS1800</span><br><span style="color: hsl(120, 100%, 40%);">+  description The new BTS in Baikonur</span><br><span style="color: hsl(120, 100%, 40%);">+  location_area_code 2342</span><br><span style="color: hsl(120, 100%, 40%);">+  cell_identity 5</span><br><span style="color: hsl(120, 100%, 40%);">+  base_station_id_code 63</span><br><span style="color: hsl(120, 100%, 40%);">+  ip.access unit_id 8888 0</span><br><span style="color: hsl(120, 100%, 40%);">+  ms max power 40</span><br><span style="color: hsl(120, 100%, 40%);">+  trx 0</span><br><span style="color: hsl(120, 100%, 40%);">+   arfcn 871</span><br><span style="color: hsl(120, 100%, 40%);">+   nominal power 23</span><br><span style="color: hsl(120, 100%, 40%);">+   max_power_red 0</span><br><span style="color: hsl(120, 100%, 40%);">+   timeslot 0</span><br><span style="color: hsl(120, 100%, 40%);">+    phys_chan_config CCCH+SDCCH4</span><br><span style="color: hsl(120, 100%, 40%);">+   timeslot 1</span><br><span style="color: hsl(120, 100%, 40%);">+    phys_chan_config TCH/F</span><br><span style="color: hsl(120, 100%, 40%);">+   timeslot 2</span><br><span style="color: hsl(120, 100%, 40%);">+    phys_chan_config TCH/F</span><br><span style="color: hsl(120, 100%, 40%);">+   timeslot 3</span><br><span style="color: hsl(120, 100%, 40%);">+    phys_chan_config TCH/F</span><br><span style="color: hsl(120, 100%, 40%);">+   timeslot 4</span><br><span style="color: hsl(120, 100%, 40%);">+    phys_chan_config TCH/F</span><br><span style="color: hsl(120, 100%, 40%);">+   timeslot 5</span><br><span style="color: hsl(120, 100%, 40%);">+    phys_chan_config TCH/F</span><br><span style="color: hsl(120, 100%, 40%);">+   timeslot 6</span><br><span style="color: hsl(120, 100%, 40%);">+    phys_chan_config TCH/F</span><br><span style="color: hsl(120, 100%, 40%);">+   timeslot 7</span><br><span style="color: hsl(120, 100%, 40%);">+    phys_chan_config PDCH</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+=== System Information configuration</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+A GSM BTS periodically transmits a series of 'SYSTEM INFORMATION'</span><br><span style="color: hsl(120, 100%, 40%);">+messages to mobile stations, both via the BCCH in idle mode, was well as</span><br><span style="color: hsl(120, 100%, 40%);">+via the SACCH in dedicated mode. There are many different types of such</span><br><span style="color: hsl(120, 100%, 40%);">+messages. For their detailed contents and encoding, please see _3GPP TS</span><br><span style="color: hsl(120, 100%, 40%);">+24.008_ <<3gpp-ts-24-008>>.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+For each of the 'SYSTEM INFORMATION' message types, you can configure to</span><br><span style="color: hsl(120, 100%, 40%);">+have the BSC generate it automatically ('computed'), or you can specify</span><br><span style="color: hsl(120, 100%, 40%);">+the respective binary message as a string of hexadecimal digits.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The default configuration is to compute all (required) 'SYSTEM</span><br><span style="color: hsl(120, 100%, 40%);">+INFORMATION' messages automatically.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Please see the _OsmoBSC VTY Reference Manual_ <<vty-ref-osmobsc>> for</span><br><span style="color: hsl(120, 100%, 40%);">+further information, particularly on the following commands:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+* `system-information (1|2|3|4|5|6|7|8|9|10|13|16|17|18|19|20|2bis|2ter|2quater|5bis|5ter) mode (static|computed)`</span><br><span style="color: hsl(120, 100%, 40%);">+* `system-information (1|2|3|4|5|6|7|8|9|10|13|16|17|18|19|20|2bis|2ter|2quater|5bis|5ter) static HEXSTRING`</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+=== Neighbor List configuration</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Every BTS sends a list of ARFCNs of neighbor cells</span><br><span style="color: hsl(120, 100%, 40%);">+. within its 'SYSTEM INFORMATION 2' (and 2bis/2ter) messages on the BCCH</span><br><span style="color: hsl(120, 100%, 40%);">+. within its 'SYSTEM INFORMATION 5' messages on SACCH in dedicated mode</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+For every BTS config node in the VTY, you can specify the behavior of</span><br><span style="color: hsl(120, 100%, 40%);">+the neighbor list using the `neighbor list mode` VTY command:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+automatic::</span><br><span style="color: hsl(120, 100%, 40%);">+ Automatically generate a list of neighbor cells using all other</span><br><span style="color: hsl(120, 100%, 40%);">+       BTSs configured in the VTY</span><br><span style="color: hsl(120, 100%, 40%);">+manual::</span><br><span style="color: hsl(120, 100%, 40%);">+  Manually specify the neighbor list by means of `neighbor-list</span><br><span style="color: hsl(120, 100%, 40%);">+(add|del) arfcn <0-1023>` commands, having identical neighbor lists on</span><br><span style="color: hsl(120, 100%, 40%);">+BCCH (SI2) and SACCH (SI5)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+manual-si5::</span><br><span style="color: hsl(120, 100%, 40%);">+       Manually specify the neighbor list by means of `neighbor-list</span><br><span style="color: hsl(120, 100%, 40%);">+(add|del) arfcn <0-1023>` for BCCH (SI2) and a separate neighbor list by</span><br><span style="color: hsl(120, 100%, 40%);">+means of `si5 neighbor-list (add|del) arfcn <0-1023>` for SACCH (SI5).</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+=== Configuring GPRS PCU parameters of a BTS</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+In the case of BTS models using Abis/IP (IPA), the GPRS PCU is located</span><br><span style="color: hsl(120, 100%, 40%);">+inside the BTS. The BTS then establishes a Gb connection to the SGSN.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+All the BTS-internal PCU configuration is performed via A-bis OML by</span><br><span style="color: hsl(120, 100%, 40%);">+means of configuring the 'CELL', 'NSVC' (NS Virtual Connection and 'NSE'</span><br><span style="color: hsl(120, 100%, 40%);">+(NS Entity).</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+There is one 'CELL' node and one 'NSE' node, but there are two 'NSVC'</span><br><span style="color: hsl(120, 100%, 40%);">+nodes. At the time of this writing, only the NSVC 0 is supported by</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBTS, while both NSVC are supported by the ip.access nanoBTS.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The respective VTY configuration parameters are described below. They</span><br><span style="color: hsl(120, 100%, 40%);">+all exist beneath each BTS VTY config node.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+But let's first start with a small example</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+.Example configuration of GPRS PCU parameters at VTY BTS node</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-net-bts)# gprs mode gprs</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-net-bts)# gprs routing area 1</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-net-bts)# gprs cell bvci 1234</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-net-bts)# gprs nsei 1234</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-net-bts)# gprs nsvc 0 nsvci 1234</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-net-bts)# gprs nsvc 0 local udp port 23000</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-net-bts)# gprs nsvc 0 remote udp port 23000</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC(config-net-bts)# gprs nsvc 0 remote ip 192.168.100.239</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+=== More explanation about the PCU config parameters</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+//FIXME: should this go into VTY additions?</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+==== `gprs mode (none|gprs|egprs)`</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+This command determines if GPRS (or EGPRS) services are to be enabled in</span><br><span style="color: hsl(120, 100%, 40%);">+this cell at all.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+==== `gprs cell bvci <2-65535>`</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Configures the 'BSSGP Virtual Circuit Identifier'. It must be unique</span><br><span style="color: hsl(120, 100%, 40%);">+between all BGSGP connections to one SGSN.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+NOTE: It is up to the system administrator to ensure all PCUs are</span><br><span style="color: hsl(120, 100%, 40%);">+allocated an unique bvci. OsmoBSC will not ensure this policy.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+==== `gprs nsei <0-65535>`</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Configures the 'NS Entity Identifier'. It must be unique between all NS</span><br><span style="color: hsl(120, 100%, 40%);">+connections to one SGSN.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+NOTE: It is up to the system administrator to ensure all PCUs are</span><br><span style="color: hsl(120, 100%, 40%);">+allocated an unique bvci. OsmoBSC will not ensure this policy.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+==== `gprs nsvc <0-1> nsvci <0-65535>`</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Configures the 'NS Virtual Connection Identifier'. It must be unique</span><br><span style="color: hsl(120, 100%, 40%);">+between all NS virtual connections to one SGSN.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+NOTE: It is up to the system administrator to ensure all PCUs are</span><br><span style="color: hsl(120, 100%, 40%);">+allocated an unique nsvci. OsmoBSC will not ensure this policy.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+==== `gprs nsvc <0-1> local udp port <0-65535>`</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Configures the local (PCU side) UDP port for the NS-over-UDP link.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+==== `gprs nsvc <0-1> remote udp port <0-65535>`</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Configures the remote (SGSN side) UDP port for the NS-over-UDP link.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+==== `gprs nsvc <0-1> remote ip A.B.C.D`</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Configures the remote (SGSN side) UDP port for the NS-over-UDP link.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+==== `gprs ns timer (tns-block|tns-block-retries|tns-reset|tns-reset-retries|tns-test|tns-alive|tns-alive-retries)` <0-255></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Configures the various GPRS NS related timers. Please check the GPRS NS</span><br><span style="color: hsl(120, 100%, 40%);">+specification for the detailed meaning of those timers.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+=== Dynamic Timeslot Configuration (TCH / PDCH)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+A dynamic timeslot is in principle a voice timeslot (TCH) that is used to serve</span><br><span style="color: hsl(120, 100%, 40%);">+GPRS data (PDCH) when no voice call is active on it. This enhances GPRS</span><br><span style="color: hsl(120, 100%, 40%);">+bandwidth while no voice calls are active, which is dynamically scaled down as</span><br><span style="color: hsl(120, 100%, 40%);">+voice calls need to be served. This is a tremendous improvement in service over</span><br><span style="color: hsl(120, 100%, 40%);">+statically assigning a fixed number of timeslots for voice and data.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The causality is as follows: to establish a voice call, the</span><br><span style="color: hsl(120, 100%, 40%);">+MSC requests a logical channel of a given TCH kind from the BSC. The BSC</span><br><span style="color: hsl(120, 100%, 40%);">+assigns such a channel from a BTS' TRX's timeslot of its choice. The knowledge</span><br><span style="color: hsl(120, 100%, 40%);">+that a given timeslot is dynamic exists only on the BSC level. When the MSC</span><br><span style="color: hsl(120, 100%, 40%);">+asks for a logical channel, the BSC may switch off PDCH on a dynamic timeslot</span><br><span style="color: hsl(120, 100%, 40%);">+and then assign a logical TCH channel on it. Hence, though compatibility with</span><br><span style="color: hsl(120, 100%, 40%);">+the BTS needs to be ensured, any MSC is compatible with dynamic timeslots by</span><br><span style="color: hsl(120, 100%, 40%);">+definition.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC and OsmoNITB support two kinds of dynamic timeslot handling, configured</span><br><span style="color: hsl(120, 100%, 40%);">+via the `network` / `bts` / `trx` / `timeslot` / `phys_chan_config`</span><br><span style="color: hsl(120, 100%, 40%);">+configuration. Not all BTS models support dynamic channels.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[[dyn_ts_compat]]</span><br><span style="color: hsl(120, 100%, 40%);">+.Dynamic timeslot support by various BTS models</span><br><span style="color: hsl(120, 100%, 40%);">+[cols="50%,25%,25%"]</span><br><span style="color: hsl(120, 100%, 40%);">+|===</span><br><span style="color: hsl(120, 100%, 40%);">+|                    |`TCH/F_TCH/H_PDCH` |`TCH/F_PDCH`</span><br><span style="color: hsl(120, 100%, 40%);">+|ip.access nanoBTS   |-                  |supported</span><br><span style="color: hsl(120, 100%, 40%);">+|Ericsson RBS        |supported          |-</span><br><span style="color: hsl(120, 100%, 40%);">+|sysmoBTS using _osmo-bts-sysmo_ |supported |supported</span><br><span style="color: hsl(120, 100%, 40%);">+|various SDR platforms using _osmo-bts-trx_ |supported |supported</span><br><span style="color: hsl(120, 100%, 40%);">+|Nutaq Litecell 1.5 using _osmo-bts-litecell15_ |supported |supported</span><br><span style="color: hsl(120, 100%, 40%);">+|Octasic OctBTS using _osmo-bts-octphy_ | supported  | supported</span><br><span style="color: hsl(120, 100%, 40%);">+|===</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The _OsmoBTS Abis Protocol Specification_ <<osmobts-abis-spec>> describes the</span><br><span style="color: hsl(120, 100%, 40%);">+non-standard RSL messages used for these timeslot kinds.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+NOTE: Same as for dedicated PDCH timeslots, you need to enable GPRS and operate</span><br><span style="color: hsl(120, 100%, 40%);">+a PCU, SGSN and GGSN to provide the actual data service.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+==== Osmocom Style Dynamic Timeslots (TCH/F_TCH/H_PDCH)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Timeslots of the `TCH/F_TCH/H_PDCH` type dynamically switch between TCH/F,</span><br><span style="color: hsl(120, 100%, 40%);">+TCH/H and PDCH, depending on the channel kind requested by the MSC. The RSL</span><br><span style="color: hsl(120, 100%, 40%);">+messaging for `TCH/F_TCH/H_PDCH` timeslots is compatible with Ericsson RBS.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+BTS models supporting this timeslot kind are shown in <<dyn_ts_compat>>.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+In the lack of transcoding capabilities, this timeslot type may cause</span><br><span style="color: hsl(120, 100%, 40%);">+mismatching codecs to be selected for two parties of the same call, which would</span><br><span style="color: hsl(120, 100%, 40%);">+cause call routing to fail ("`Cannot patch through call with different channel</span><br><span style="color: hsl(120, 100%, 40%);">+types: local = TCH_F, remote = TCH_H`"). A workaround is to disable TCH/F on</span><br><span style="color: hsl(120, 100%, 40%);">+this timeslot type, i.e. to allow only TCH/H. To disable TCH/F on Osmocom</span><br><span style="color: hsl(120, 100%, 40%);">+style dynamic timeslots, use a configuration of</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+network</span><br><span style="color: hsl(120, 100%, 40%);">+ dyn_ts_allow_tch_f 0</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+In OsmoNITB, disabling TCH/F on Osmocom dynamic timeslots is the default. In</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC, the default is to allow both.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+==== ip.access Style Dynamic Timeslots (TCH/F_PDCH)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Timeslots of the `TCH/F_PDCH` type dynamically switch between TCH/F and PDCH.</span><br><span style="color: hsl(120, 100%, 40%);">+The RSL messaging for `TCH/F_PDCH` timeslots is compatible with ip.access</span><br><span style="color: hsl(120, 100%, 40%);">+nanoBTS.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+BTS models supporting this timeslot kind are shown in <<dyn_ts_compat>>.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+==== Avoid PDCH Exhaustion</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+To avoid disrupting GPRS, configure at least one timeslot as dedicated PDCH.</span><br><span style="color: hsl(120, 100%, 40%);">+With only dynamic timeslots, a given number of voice calls would convert all</span><br><span style="color: hsl(120, 100%, 40%);">+timeslots to TCH, and no PDCH timeslots would be left for GPRS service.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+==== Dynamic Timeslot Configuration Examples</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+This is an extract of an `osmo-bsc` or `osmo-nitb` config file. A timeslot</span><br><span style="color: hsl(120, 100%, 40%);">+configuration with five Osmocom style dynamic timeslots and one dedicated PDCH</span><br><span style="color: hsl(120, 100%, 40%);">+may look like this:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+network</span><br><span style="color: hsl(120, 100%, 40%);">+ bts 0</span><br><span style="color: hsl(120, 100%, 40%);">+  trx 0</span><br><span style="color: hsl(120, 100%, 40%);">+   timeslot 0</span><br><span style="color: hsl(120, 100%, 40%);">+    phys_chan_config CCCH+SDCCH4</span><br><span style="color: hsl(120, 100%, 40%);">+   timeslot 1</span><br><span style="color: hsl(120, 100%, 40%);">+    phys_chan_config SDCCH8</span><br><span style="color: hsl(120, 100%, 40%);">+   timeslot 2</span><br><span style="color: hsl(120, 100%, 40%);">+    phys_chan_config TCH/F_TCH/H_PDCH</span><br><span style="color: hsl(120, 100%, 40%);">+   timeslot 3</span><br><span style="color: hsl(120, 100%, 40%);">+    phys_chan_config TCH/F_TCH/H_PDCH</span><br><span style="color: hsl(120, 100%, 40%);">+   timeslot 4</span><br><span style="color: hsl(120, 100%, 40%);">+    phys_chan_config TCH/F_TCH/H_PDCH</span><br><span style="color: hsl(120, 100%, 40%);">+   timeslot 5</span><br><span style="color: hsl(120, 100%, 40%);">+    phys_chan_config TCH/F_TCH/H_PDCH</span><br><span style="color: hsl(120, 100%, 40%);">+   timeslot 6</span><br><span style="color: hsl(120, 100%, 40%);">+    phys_chan_config TCH/F_TCH/H_PDCH</span><br><span style="color: hsl(120, 100%, 40%);">+   timeslot 7</span><br><span style="color: hsl(120, 100%, 40%);">+    phys_chan_config PDCH</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+With the ip.access nanoBTS, only `TCH/F_PDCH` dynamic timeslots are supported,</span><br><span style="color: hsl(120, 100%, 40%);">+and hence a nanoBTS configuration may look like this:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+network</span><br><span style="color: hsl(120, 100%, 40%);">+ bts 0</span><br><span style="color: hsl(120, 100%, 40%);">+  trx 0</span><br><span style="color: hsl(120, 100%, 40%);">+   timeslot 0</span><br><span style="color: hsl(120, 100%, 40%);">+    phys_chan_config CCCH+SDCCH4</span><br><span style="color: hsl(120, 100%, 40%);">+   timeslot 1</span><br><span style="color: hsl(120, 100%, 40%);">+    phys_chan_config SDCCH8</span><br><span style="color: hsl(120, 100%, 40%);">+   timeslot 2</span><br><span style="color: hsl(120, 100%, 40%);">+    phys_chan_config TCH/F_PDCH</span><br><span style="color: hsl(120, 100%, 40%);">+   timeslot 3</span><br><span style="color: hsl(120, 100%, 40%);">+    phys_chan_config TCH/F_PDCH</span><br><span style="color: hsl(120, 100%, 40%);">+   timeslot 4</span><br><span style="color: hsl(120, 100%, 40%);">+    phys_chan_config TCH/F_PDCH</span><br><span style="color: hsl(120, 100%, 40%);">+   timeslot 5</span><br><span style="color: hsl(120, 100%, 40%);">+    phys_chan_config TCH/F_PDCH</span><br><span style="color: hsl(120, 100%, 40%);">+   timeslot 6</span><br><span style="color: hsl(120, 100%, 40%);">+    phys_chan_config TCH/F_PDCH</span><br><span style="color: hsl(120, 100%, 40%);">+   timeslot 7</span><br><span style="color: hsl(120, 100%, 40%);">+    phys_chan_config PDCH</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+=== Tuning Access to the BTS</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoBSC offers several configuration options to fine-tune access to the BTS.</span><br><span style="color: hsl(120, 100%, 40%);">+It can allow only a portion of the subscribers access to the network.</span><br><span style="color: hsl(120, 100%, 40%);">+This can also be used to ramp up access to the network on startup by slowly</span><br><span style="color: hsl(120, 100%, 40%);">+letting in more and more subscribers. This is especially useful for isolated</span><br><span style="color: hsl(120, 100%, 40%);">+cells with a huge number of subscribers.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Other options control the behaviour of the MS when it needs to access the</span><br><span style="color: hsl(120, 100%, 40%);">+random access channel before a dedicated channel is established.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+If the BTS is connected to the BSC via a high-latency connection the MS should</span><br><span style="color: hsl(120, 100%, 40%);">+wait longer for an answer to a RACH request. If it does not the network will</span><br><span style="color: hsl(120, 100%, 40%);">+have to deal with an increased load due to duplicate RACH requests. However,</span><br><span style="color: hsl(120, 100%, 40%);">+in order to minimize the delay when a RACH request or response gets lost the</span><br><span style="color: hsl(120, 100%, 40%);">+MS should not wait too long before retransmitting.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+==== Load Management</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Every SIM card is member of one of the ten regular ACCs (0-9). Access to the</span><br><span style="color: hsl(120, 100%, 40%);">+BTS can be restricted to SIMs that are members of certain ACCs.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Since the ACCs are distributed uniformly across all SIMs allowing only ACCs</span><br><span style="color: hsl(120, 100%, 40%);">+0-4 to connect to the BTS should reduce its load by 50%.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The default is to allow all ACCs to connect.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+.Example: Restrict access to the BTS by ACC</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+network</span><br><span style="color: hsl(120, 100%, 40%);">+ bts 0</span><br><span style="color: hsl(120, 100%, 40%);">+  rach access-control-class 1 barred <1></span><br><span style="color: hsl(120, 100%, 40%);">+  rach access-control-class 9 allowed <2></span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+<1> Disallow SIMs with access-class 1 from connecting to the BTS</span><br><span style="color: hsl(120, 100%, 40%);">+<2> Permit SIMs with access-class 9 to connect to the BTS.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Smaller cells with lots of subscribers can be overwhelmed with traffic after</span><br><span style="color: hsl(120, 100%, 40%);">+the network is turned on. This is especially true in areas with little to no</span><br><span style="color: hsl(120, 100%, 40%);">+reception from other networks. To manage the load OsmoBSC has an option to</span><br><span style="color: hsl(120, 100%, 40%);">+enable one Access Class at a time so initial access to the network is</span><br><span style="color: hsl(120, 100%, 40%);">+distributed across a longer time.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+.Example: Ramp up access to the BTS after startup</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+network</span><br><span style="color: hsl(120, 100%, 40%);">+ bts 0</span><br><span style="color: hsl(120, 100%, 40%);">+  access-control-class-ramping <1></span><br><span style="color: hsl(120, 100%, 40%);">+  access-control-class-ramping-step-interval 30 <2></span><br><span style="color: hsl(120, 100%, 40%);">+  access-control-class-ramping-step-size 1 <3></span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+<1> Turn on access-control-class ramping</span><br><span style="color: hsl(120, 100%, 40%);">+<2> Enable more ACCs every 30 seconds</span><br><span style="color: hsl(120, 100%, 40%);">+<3> At each step enable one more ACC</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+==== RACH Parameter Configuration</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The following parameters allow control over how the MS can access the random</span><br><span style="color: hsl(120, 100%, 40%);">+access channel (RACH). It is possible to set a minimum receive level under</span><br><span style="color: hsl(120, 100%, 40%);">+which the MS will not even attempt to access the network.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The RACH is a shared channel which means multiple MS can choose to send a</span><br><span style="color: hsl(120, 100%, 40%);">+request at the same time. To minimize the risk of a collision each MS will</span><br><span style="color: hsl(120, 100%, 40%);">+choose a random number of RACH slots to wait before trying to send a RACH</span><br><span style="color: hsl(120, 100%, 40%);">+request.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+On very busy networks the range this number is chosen from should be</span><br><span style="color: hsl(120, 100%, 40%);">+high to avoid collisions, but a lower range reduces the overall delay when</span><br><span style="color: hsl(120, 100%, 40%);">+trying to establish a channel.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The option `rach tx integer N` controls the range from which this number X</span><br><span style="color: hsl(120, 100%, 40%);">+is chosen. It is `0 <= X < max(8,N)`.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+After sending a RACH request the MS will wait a random amount of slots before</span><br><span style="color: hsl(120, 100%, 40%);">+retransmitting its RACH request. The range it will wait is also determined by</span><br><span style="color: hsl(120, 100%, 40%);">+the option `rach tx integer N`, but calculating it is not so straightforward.</span><br><span style="color: hsl(120, 100%, 40%);">+It is defined as `S <= X < S+N` where `S` is determined from a table.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+In particular `S` is lowest when `N` is one of 3, 8, 14 or 50 and highest when</span><br><span style="color: hsl(120, 100%, 40%);">+`N` is 7, 12 or 32.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+For more information see _3GPP TA 44.018_ <<3gpp-ts-44-018>> Ch. 3.3.1.1.2 and</span><br><span style="color: hsl(120, 100%, 40%);">+Table 3.3.1.1.2.1 in particular.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The amount of times the MS attempts to retransmit RACH requests can also be</span><br><span style="color: hsl(120, 100%, 40%);">+changed. A higher number means more load on the RACH while a lower number can</span><br><span style="color: hsl(120, 100%, 40%);">+cause channel establishment to fail due to collisions or bad reception.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+.Example: Configure RACH Access Parameters</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+network</span><br><span style="color: hsl(120, 100%, 40%);">+ bts 0</span><br><span style="color: hsl(120, 100%, 40%);">+  rxlev access min 20 <1></span><br><span style="color: hsl(120, 100%, 40%);">+  rach tx integer 50<2></span><br><span style="color: hsl(120, 100%, 40%);">+  rach max transmission <3></span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+<1> Allow access to the network if the MS receives the BCCH of the cell at</span><br><span style="color: hsl(120, 100%, 40%);">+-90dBm or better (20dB above -110dBm).</span><br><span style="color: hsl(120, 100%, 40%);">+<2> This number affects how long the MS waits before (re-)transmitting RACH</span><br><span style="color: hsl(120, 100%, 40%);">+requests.</span><br><span style="color: hsl(120, 100%, 40%);">+<3> How often to retransmit the RACH request.</span><br><span>diff --git a/doc/manuals/osmobsc-usermanual.adoc b/doc/manuals/osmobsc-usermanual.adoc</span><br><span>index 862c8f9..cb939cc 100644</span><br><span>--- a/doc/manuals/osmobsc-usermanual.adoc</span><br><span>+++ b/doc/manuals/osmobsc-usermanual.adoc</span><br><span>@@ -18,11 +18,11 @@</span><br><span> </span><br><span> include::./common/chapters/cs7-config.adoc[]</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-include::./common/chapters/bts.adoc[]</span><br><span style="color: hsl(120, 100%, 40%);">+include::{srcdir}/chapters/bts.adoc[]</span><br><span> </span><br><span> include::{srcdir}/chapters/bts-examples.adoc[]</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-include::./common/chapters/bsc.adoc[]</span><br><span style="color: hsl(120, 100%, 40%);">+include::{srcdir}/chapters/bsc.adoc[]</span><br><span> </span><br><span> include::{srcdir}/chapters/handover.adoc[]</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bsc/+/19327">change 19327</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-bsc/+/19327"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bsc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I20aa60d2f4111d66e922f3e2a73a20352ec1f7e4 </div>
<div style="display:none"> Gerrit-Change-Number: 19327 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>