Project

General

Profile

OsmoPCU » History » Version 28

laforge, 07/25/2022 08:57 AM
gitea

1 1 laforge
h1. osmo-pcu
2 16 zecke2
3 17 laforge
{{>toc}}
4 16 zecke2
5 3 laforge
A PCU (Packet Control Unit) is one of the two GPRS elements in the BSS.  It implements the RLC and MAC layers of the GPRS
6 1 laforge
Um (radio) interface on the MS-facing side, as well as the Gb Interface (NS,BSSGP) on the SGSN-facing side.
7
8 3 laforge
osmo-pcu is the Osmocom implementation of this PCU functionality.
9 1 laforge
10 18 laforge
It implements a custom L1 interface that can be used with [[OsmoBTS:]] (specifically its
11 16 zecke2
"sysmoBTS":http://www.sysmocom.de/products/sysmobts back-end), and also with
12 18 laforge
[[OsmoTRX:]].
13 3 laforge
14 26 msuraev
The interface between OsmoPCU and OsmoBTS runs over UNIX socket of SOCK_SEQPACKET type. One of the ways to debug it would be via socat:
15
<pre>
16
socat -t30 -x -v UNIX-LISTEN:/tmp/pcu_bts.socat,mode=755,type=5 UNIX-CONNECT:/tmp/pcu_bts,type=5
17
</pre>
18
One might even forward it over network:
19
<pre>
20
socat -t30 -x -v UDP-LISTEN:1666,reuseaddr,fork UNIX-CONNECT:/tmp/pcu_bts,type=5
21
socat -t30 -x -v UNIX-LISTEN:/tmp/pcu_bts.socat,mode=755,type=5 UDP-CONNECT:127.0.0.1:1666
22
</pre>
23
Note: in the examples above OsmoBTS (listening side) uses default @/tmp/pcu_bts@ socket while OsmoPCU (connecting side) is configured to use @/tmp/pcu_bts.socat@ via @pcu-socket /tmp/pcu_bts.socat@ config option. It's not recommeded to use outside of TTCN-3 test environment due to amount of traffic over the socket.
24
25 1 laforge
Towards the SGSN, the BSSGP and NS protocols are implemented over UDP/IP, sometimes called "NS over IP". 
26 19 laforge
It has been tested with [[OsmoSGSN:]] as well as an Ericsson SGSN so far.
27 1 laforge
28 13 laforge
osmo-pcu is now considered stable and already performing useful service for a number of users, but as one
29 1 laforge
of the more recent additions to the Osmocom family, there still is plenty of area for improvement.
30 14 jerlbeck
31 23 laforge
h2. Position in a typical Osmocom network
32
33
{{graphviz_link()
34
digraph G {
35
    rankdir = LR;
36
    OsmoBTS -> OsmoBSC [label="Abis/IP"];
37
    OsmoBSC -> OsmoMSC [label="3GPP AoIP"];
38
    OsmoBTS -> OsmoPCU [label="pcu_sock"];
39
    OsmoPCU -> OsmoSGSN [label="Gb/IP"];
40
    OsmoMSC -> OsmoHLR [label="GSUP"];
41
    OsmoSGSN -> OsmoHLR [label="GSUP"];
42
    OsmoSGSN -> OsmoGGSN [label="Gp"];
43
    OsmoGGSN -> Internet [label="Gi"];
44
    OsmoPCU [color=red];
45
}
46
}}
47
48
49 17 laforge
h2. Manuals
50 11 laforge
51 28 laforge
* User Manual: https://ftp.osmocom.org/docs/latest/osmopcu-usermanual.pdf
52
* VTY Reference: https://ftp.osmocom.org/docs/latest/osmopcu-vty-reference.pdf
53
* Gb/IP Manual: https://ftp.osmocom.org/docs/latest/osmopcu-gb.pdf
54 16 zecke2
55 17 laforge
h2. Source Code
56
57 28 laforge
The source code is available from https://gitea.osmocom.org/cellular-infrastructure/osmo-pcu.git
58 1 laforge
59 28 laforge
You can browse it online via https://gitea.osmocom.org/cellular-infrastructure/osmo-pcu
60 1 laforge
61 25 laforge
h2. Test Suite
62
63
We have a TTCN-3 test suite as part of our [[cellular-infrastructure:Titan_TTCN3_Testsuites]]
64 28 laforge
* source code: https://gitea.osmocom.org/ttcn3/osmo-ttcn3-hacks/src/branch/master/pcu
65 25 laforge
* results: https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-pcu-test/
66
67 16 zecke2
h2. Mailing List
68
69
There is a mailing list for (development) discussion regarding the PCU: osmocom-net-gprs@lists.osmocom.org
70
You can subscribe to it (or manage your subscription) at http://lists.osmocom.org/cgi-bin/mailman/listinfo/osmocom-net-gprs
71 1 laforge
72 21 laforge
Please make sure to read our [[cellular-infrastructure:MailingListRules]] before posting.
73 16 zecke2
74
h3. Supported
75
76
* GPRS CS1 to CS4 with dynamic link/rate adaption
77 1 laforge
* EDGE MCS1-MCS9 with dynamic link/rate adaption
78 16 zecke2
* Single-slot and multi-slot operation on downlink
79
* Single-slot operation on uplink
80
* Independent TFI/USF per PDCH in single-slot allocation mode
81
* Automatic or fixed PDCH allocation algorithm selection
82
* Delayed release of downlink TBF
83
* Active queue management for downlink TBF (!CoDel)
84
* Initial setting of timing advance based on RACH
85
* BSSGP BVC flow control support
86 22 neels
* Using pchan types of @TCH/F_TCH/H_PDCH@ or @TCH/F_PDCH@, OsmoBTS supports
87
  dynamic PDCH/TCH switching (implemented entirely in osmo-bts)
88 1 laforge
89
90 16 zecke2
h3. Shortcomings / Limitations / Restrictions
91 14 jerlbeck
92 22 neels
_Note: this list may be outdated_
93 16 zecke2
94
* No GPRS/EGPRS mixed mode (yet)
95
* No support for hand-over of any sort yet
96
* No support of processing measurement reports
97
* No timing advance loop, i.e. radial movement is limited
98
* No support for power control
99
* No Packet Access Reject message on congestion, access is just ignored
100
* No PCCCH support
101
* Only "Dynamic allocation RLC data block transfer" is supported
102
* No network controlled measurement/cell reselection order supported
103
* No PTCCH support
104
* No support for Packet Flow Contexts (PFC)
105
* No support for MS or PFC flow control
106
* No support for RLC unacknowledged mode operation
107
* No support for MBMS
108
109
h2. Authors / Credits
110
111 1 laforge
112
osmo-pcu was originally developed by Ivan Kluchnikov and Andreas Everberg.
113
114 24 msuraev
Today it is maintaned by Sysmocom.
115 27 laforge
116
{{include(cellular-infrastructure:MacroCommercialSupport)}}
Add picture from clipboard (Maximum size: 48.8 MB)