doc: Add details regarding BSC co-location
As of now the manual only focusses on the BTS co-located scenario. Since we recently introduced support for Ericsson RBS 2000/6000 base stations, we also had to add support for the BSC co-located scenario. Let's update the manual accordingly. Related: OS#5198 Change-Id: Ib2a3b60849fd312b21073a3511b8ca36b4536343
This commit is contained in:
parent
f963a3d46a
commit
2342d605d9
|
@ -328,6 +328,25 @@ pcu
|
|||
<1> Time out if the SGSN doesn't answer our RIM RAN-INFO request request after 500 ms
|
||||
<2> Keep resolved remote neighbor System Information cached for 60 seconds
|
||||
|
||||
[[cfg_e1_line]]
|
||||
=== Configuring E1 line for CCU access
|
||||
|
||||
Depending on the configuration the PCU may require direct access to a BTS CCU
|
||||
(channel coding unit) via an E1 line. This is in particular the case when
|
||||
OsmoPCU runs in co-location with OsmoBSC.
|
||||
|
||||
The exact timeslot configuration is passed to the PCU via the pcu_sock
|
||||
interface. Only basic E1 line settings are required. However, it is important
|
||||
that the E1 line number is the same as the E1 line number that is used in the
|
||||
timeslot configuration of OsmoBSC.
|
||||
|
||||
.Example: Configure an E1 line
|
||||
----
|
||||
e1_input
|
||||
e1_line 0 driver dahdi
|
||||
e1_line 0 port 2
|
||||
no e1_line 0 keepalive
|
||||
----
|
||||
|
||||
=== GPRS vs EGPRS considerations
|
||||
|
||||
|
|
|
@ -2,14 +2,17 @@
|
|||
|
||||
=== About OsmoPCU
|
||||
|
||||
OsmoPCU is the Osmocom implementation of the GPRS PCU (Packet Control
|
||||
Unit) element inside the GPRS network.
|
||||
OsmoPCU is the Osmocom implementation of the GPRS PCU (Packet Control Unit)
|
||||
element inside the GPRS network. Depending on the BTS type the PCU will be
|
||||
co-located within the BTS or run in co-location with the BSC.
|
||||
|
||||
The OsmoPCU is co-located within the BTS and connects to OsmoBTS via its
|
||||
PCU socket interface.
|
||||
[[pcu_co_located_with_bts]]
|
||||
==== OsmoPCU in co-location with OsmoBTS
|
||||
|
||||
On the other side, OsmoPCU is connected via the Gb interface to the
|
||||
SGSN.
|
||||
In most OsmoPCU-supported base stations, the PCU is co-located with the BTS.
|
||||
In this scenario OsmoPCU and OsmoBTS run on the same host system. Both are
|
||||
interconnected using a unix domain socket based interface.
|
||||
(see also: <<pcu_sock_iface>>)
|
||||
|
||||
[[fig-gprs-pcubts]]
|
||||
.GPRS network architecture with PCU in BTS
|
||||
|
@ -31,12 +34,62 @@ digraph G {
|
|||
}
|
||||
----
|
||||
|
||||
NOTE: Depending on the hardware architecture, OsmoPCU may also have direct
|
||||
access on the PHY interface to exchange PDCH traffic efficiently. The socket
|
||||
interface is then only used for signalling.
|
||||
|
||||
==== OsmoPCU in co-location with OsmoBSC
|
||||
|
||||
Classic E1 based BTSs usually do not include a PCU. Instead those base stations
|
||||
typically rely on an external PCU that is co-located with the BSC. The
|
||||
signalling traffic (paging, channel assignments ect.) is then exchanged with the
|
||||
BTS via RSL, while the PDCH traffic is handled by the PCU through a dedicated
|
||||
TRAU frame based E1 connection.
|
||||
|
||||
OsmoPCU supports this scenario as well. Due to the dedicated E1 connection, the
|
||||
implementation is complex and strongly hardware specific. As of now (March 2023)
|
||||
OsmoPCU supports Ericsson RBS2000/RBS6000 only. This implementation has been
|
||||
made possible through funding by the NLnet Foundation.
|
||||
|
||||
[[fig-gprs-pcubts]]
|
||||
.GPRS network architecture with PCU in BTS
|
||||
[graphviz]
|
||||
----
|
||||
digraph G {
|
||||
rankdir=LR;
|
||||
MS0 [label="MS"]
|
||||
MS1 [label="MS"]
|
||||
MS0->BTS [label="Um"]
|
||||
MS1->BTS [label="Um"]
|
||||
BTS->BSC [label="Abis"]
|
||||
BSC->MSC [label="A"]
|
||||
BTS->PCU [label="pcu_sock"]
|
||||
PCU->SGSN [label="Gb"]
|
||||
SGSN->GGSN [label="GTP"]
|
||||
PCU [color=red]
|
||||
{ rank=same BTS PCU }
|
||||
}
|
||||
----
|
||||
|
||||
When OsmoPCU runs in co-location to OsmoBSC, both are connected through the
|
||||
same unix domain socket interface as mentioned above.
|
||||
(see also: <<pcu_co_located_with_bts>>) The socket is used to pass signalling
|
||||
traffic between PCU and BSC while the PCU controls the PDCH by directly talking
|
||||
to the BTS CCU (channel coding unit) through a dedicated E1 connection. The
|
||||
E1 line interface uses TRAU frames and is vastly comparable to the interface that
|
||||
is used when speech is transferred.
|
||||
|
||||
Since the PCU is mainly set up by OsmoBSC (or OsmoBTS) via the PCU socket, the
|
||||
configuration in the BSC co-located scenario is no different from the BTS
|
||||
co-located scenario. However, since the PCU requires a direct E1 connection to
|
||||
the BTS an E1 line must be set up. (See also: <<cfg_e1_line>>)
|
||||
|
||||
=== Software Components
|
||||
|
||||
OsmoPCU consists of a variety of components, including
|
||||
|
||||
* Gb interface (NS/BSSGP protocol)
|
||||
* `pcu_sock` interface towards OsmoBTS
|
||||
* `pcu_sock` interface towards OsmoBTS (or OsmoBSC)
|
||||
* TBF management for uplink and downlink TBF
|
||||
* RLC/MAC protocol implementation
|
||||
* per-MS context for each MS currently served
|
||||
|
@ -53,17 +106,18 @@ in turn part of the libosmocore software package. This allows the same
|
|||
Gb implementation to be used from OsmoPCU, OsmoGbProxy as well as
|
||||
OsmoSGSN.
|
||||
|
||||
==== `pcu_sock` Interface to OsmoBTS
|
||||
[[pcu_sock_iface]]
|
||||
==== `pcu_sock` Interface to OsmoBTS/OsmoBSC
|
||||
|
||||
The interface towards OsmoBTS is called 'pcu_sock' and implemented as a
|
||||
set of non-standardized primitives over a unix domain socket. The
|
||||
The interface towards OsmoBTS/OsmoBSC is called 'pcu_sock' and implemented
|
||||
as a set of non-standardized primitives over a unix domain socket. The
|
||||
default file system path for this socket is `/tmp/pcu_bts`.
|
||||
|
||||
The PCU socket can be changed on both OsmoBTS and OsmoPCU to a different
|
||||
file/path name, primarily to permit running multiple independent BTS+PCU
|
||||
pairs on a single Linux machine without having to use filesystem
|
||||
namespaces or other complex configurations.
|
||||
The PCU socket path can be freely configured to a different file/path name,
|
||||
primarily to permit running multiple independent BTS+PCU (or BSC+PCU) pairs
|
||||
on a single Linux machine without having to use filesystem namespaces or other
|
||||
complex configurations.
|
||||
|
||||
NOTE: If you change the PCU socket path on OsmoBTS by means of the
|
||||
NOTE: If you change the PCU socket path on OsmoBTS/OsmoBSC by means of the
|
||||
`pcu-socket` VTY configuration command, you must ensure to make the
|
||||
identical change on the OsmoPCU side.
|
||||
|
|
Loading…
Reference in New Issue