OsmoPCU » History » Version 27
laforge, 03/04/2020 08:28 PM
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 | 18 | laforge | It implements a custom L1 interface that can be used with [[OsmoBTS:]] (specifically its |
11 | 16 | laforge | "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 | 17 | laforge | * User Manual: http://ftp.osmocom.org/docs/latest/osmopcu-usermanual.pdf |
52 | * VTY Reference: http://ftp.osmocom.org/docs/latest/osmopcu-vty-reference.pdf |
||
53 | 20 | laforge | * Gb/IP Manual: http://ftp.osmocom.org/docs/latest/osmopcu-gb.pdf |
54 | 16 | laforge | |
55 | 17 | laforge | h2. Source Code |
56 | |||
57 | 1 | laforge | The source code is available from git://git.osmocom.org/osmo-pcu.git |
58 | |||
59 | You can browse it online via http://cgit.osmocom.org/cgit/osmo-pcu/ |
||
60 | |||
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 | * source code: http://git.osmocom.org/osmo-ttcn3-hacks/tree/pcu |
||
65 | * results: https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-pcu-test/ |
||
66 | |||
67 | 16 | laforge | 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 | laforge | |
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 | laforge | * 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 | laforge | h3. Shortcomings / Limitations / Restrictions |
91 | 14 | jerlbeck | |
92 | 22 | neels | _Note: this list may be outdated_ |
93 | 16 | laforge | |
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)}} |