diff options
Diffstat (limited to 'doc/manuals/chapters/overview.adoc')
-rw-r--r-- | doc/manuals/chapters/overview.adoc | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/doc/manuals/chapters/overview.adoc b/doc/manuals/chapters/overview.adoc new file mode 100644 index 00000000..00314743 --- /dev/null +++ b/doc/manuals/chapters/overview.adoc @@ -0,0 +1,67 @@ +== Overview + +=== About OsmoPCU + +OsmoPCU is the Osmocom implementation of the GPRS PCU (Packet Control +Unit) element inside the GPRS network. + +The OsmoPCU is co-located within the BTS and connects to OsmoBTS via its +PCU socket interface. + +On the other side, OsmoPCU is connected via the Gb interface to the +SGSN. + +[[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"] +} +---- + +=== Software Components + +OsmoPCU consists of a variety of components, including + +* Gb interface (NS/BSSGP protocol) +* `pcu_sock` interface towards OsmoBTS +* TBF management for uplink and downlink TBF +* RLC/MAC protocol implementation +* per-MS context for each MS currently served +* CSN.1 encoding/decoding routines + +==== Gb Implementation + +OsmoPCU implements the ETSI/3GPP specified Gb interface, including TS +08.16 (NS), TS 08.18 (BSSGP) protocols. As transport layer for NS, it +supports NS/IP (NS encapsulated in UDP/IP). + +The actual Gb Implementation is part of the libosmogb library, which is +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 + +The interface towards OsmoBTS 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 OmsoBTS 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. + +NOTE: If you change the PCU socket path on OsmoBTS by means of the +`pcu-socket` VTY configuration command, you must ensure to make the +identical change on the OsmoPCU side. |