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