O-RAN Advance Course  /  Chapter 3 — The C-Plane: sections, section types & extensions
O-RAN R005 train · 2026
CHAPTER 3 · MODULE M3 · NARRATED VIDEO + LAB

Give the radio
its orders.

The U-plane is cargo; the C-plane is the manifest that must arrive first. Here we read a real control message on the wire: the common header (when), the section header (which PRBs), and the section type — the 8-bit verb. We tour all twelve section types (0–11), the 32 section extensions, and trace one downlink slot end-to-end, bound to its U-plane by sectionId. Verbatim from O-RAN WG4 CUS.0 v21 §7.

12typesST 0 → 11
32SEssection extensions
sectionId12bC↔U glue
14symsone slot traced
2-way↑↓ST8–11 reverse
ENkaraoke subs
O-RAN.WG4.CUS.0-R005-v21.00 §7.1.1 (C-plane transport) · §7.2 (procedures) · §7.3–§7.4 (sections, ST 0–11) · §7.6–§7.7 (SE 1–32)
▶ VIDEO · CHAPTER 3 · NARRATED

The C-plane — sections, section types & the slot walkthrough

The player screen is a live animation stage — the common header assembles field by field, the twelve section types light up on a switchboard, the section extensions bolt on, and one downlink slot is traced from command to radiated beam, exactly as the narration reaches each idea. Karaoke subtitles EN + Persian, fullscreen.

Chapter 2 · Open RAN Masterclass · functional splits & 7-2x
Open the pink line — down to the last bit
0:00 / 0:00
LAB · SECTION-TYPE ANATOMY EXPLORER
Click every section type →
Toggle ST0–ST11, see its purpose, its direction, whether U-plane data rides behind it, and the header fields on the wire.
LAB · SECTION-TYPE ANATOMY EXPLORER · CUS.0 §7.4

Click every section type

Pick a section type 0–11. See its verbatim purpose, its direction on the fronthaul, whether any U-plane data rides behind it, and the section extensions it typically carries.

Common header (when) → frameId·8 · subframeId·4 · slotId·6 · startSymbolId·6
Section header (which) → sectionId·12 · rb·1 · startPrbc·10 · numPrbc·8 · beamId·15
Section Type 1
direction
U-plane behind it?
clause
REFERENCE · SECTION TYPES 0–11 · CUS.0 §7.4 (v21)

Twelve section types — the verbs on the wire

CUS.0 v21 defines section types 0 through 11 (type 2 is reserved). Types 0–7 are largely O-DU→O-RU; types 8–11 flow up from the O-RU. "U-plane?" = whether IQ data rides behind the command.

STPurpose (verbatim)DirectionU-plane?Clause
0Unused resource blocks / symbols — idle or guard periodsO-DU → O-RUno§7.4.2
1Most downlink and uplink radio channels (the workhorse)O-DU → O-RUyes§7.4.3
2reserved (for future use)§7.4.4
3PRACH and mixed-numerology channelsO-DU → O-RUyes§7.4.5
4Slot configuration control (energy saving) — e.g. TIME_DOMAIN_BEAM_CONFIGO-DU → O-RUno§7.2.9 / §7.4.6
5UE scheduling information (per-UE beamforming)O-DU → O-RUyes§7.4.7
6Channel information for a specific ueIdO-DU → O-RUno§7.4.8
7LAA — listen-before-talk (LBT) procedurebothno§7.4.9
8ACK/NACK feedback + wake-up ready indicationO-RU → O-DUno§7.4.10
9Post-equalization SINR values (DMRS-BF-EQ)O-RU → O-DUno§7.4.11
10RRM measurement reportsO-RU → O-DUno§7.4.12
11Request RRM measurements (e.g. IpN for unallocated PRBs)O-DU → O-RUno§7.4.13
⚠ v21 REALITY
Older trains listed section types "0/1/3/5/6/7". CUS.0 v21 is ST 0–11 (ST2 reserved). ST4 is now Slot Configuration Control (the energy-saving hook that M8's rApp reaches), and ST8–ST11 add a full uplink feedback conversation — ACK/NACK, SINR and RRM — from the O-RU back to the O-DU.
REFERENCE · SECTION HEADER · CUS.0 §7.3 / §7.5

One command, field by field

Every C-plane message = a common header (when) + one or more sections (which resources). The sectionId is the label the matching U-plane data points back to.

PartFieldBitsAnswers
Common
header
frameId8radio frame number
subframeId4subframe within the frame
slotId6slot within the subframe
startSymbolId6first OFDM symbol it applies to
Section
header
sectionId12the C↔U glue — U-plane carries the same value
rb1resource-block indicator (every / every-other)
startPrbc10first PRB of this section
numPrbc8number of contiguous PRBs
beamId15which beam to point at those PRBs
THE ONE IDEA · sectionId (§7.3)
The sectionId binds a C-plane command to its U-plane data. The O-RU matches cargo to manifest by sectionId, section by section. Get it wrong and the IQ arrives with no instructions — dropped. Also note the section type field is 8 bits; it is the verb that selects one of the twelve behaviours in the table above.
REFERENCE · SECTION EXTENSIONS 1–32 · CUS.0 §7.7

Thirty-two bolt-ons that refine a section

A section type sets the verb; a section extension (SE) adds the adverbs. You look up the one a scenario needs — here are the ones you will actually meet.

SEName (verbatim)You use it for…
1Beamforming weightscarrying the actual BF weight vector
2Beamforming attributesBF by attributes instead of raw weights
3DL precoding parametersdownlink precoding config
4Modulation compression parametersmod-comp — ties to M4
5Modulation compression additional paramsmod-comp extras
6Non-contiguous PRB allocation (time+freq)scattered PRBs
7eAxC maskaddress a group of eAxC in one section
10Group configuration of multiple portsconfigure many ports at once
11Flexible beamforming weightsflexible BF weight delivery
12Non-contiguous PRB with frequency rangesrange-based scattered PRBs
20Dedicated puncturingblank specific resource elements
24PUSCH DMRS configurationuplink DMRS setup
FULL RANGE
SE 1–32 also include DSS (SE 9), frequency hopping (SE 13), nulling-layer info (SE 14), uplink transmission management (SE 18), variable PRB-group size (SE 21), ACK/NACK request (SE 22), symbol reordering for DMRS-BF (SE 25), MCS information (SE 31) and rank/TPMI measurement request (SE 32). Know they exist; look up the exact one.

🛠 Engineer detail block — what you'll actually meet in the field

  • Debug by expected ST/SE. Beamformed PDSCH → ST1 + SE1/SE11. Random access → ST3 on PRACH numerology. Idle guard → ST0, no U-plane behind it. If the capture disagrees, that is your bug.
  • sectionId is the first thing to check when U-plane data "arrives but nothing radiates." A C-plane/U-plane sectionId mismatch drops the IQ silently — no alarm, no radiation.
  • C-plane must land early. The command has to arrive inside its reception window before the U-plane data (Chapter 7). Late C-plane = dropped samples that look like coverage holes.
  • ST4 is the energy-saving hook. When an rApp puts a cell to sleep (M8), it ultimately becomes a Section Type 4 slot-configuration command (TIME_DOMAIN_BEAM_CONFIG / TRX control) on the wire.
  • ST8–11 are the O-RU talking back. ACK/NACK, SINR and RRM reports flow up. If you only think of C-plane as downlink orders, you will miss half the conversation.
✓ QUIZ · 8 QUESTIONS · SHUFFLED EVERY LOAD

Chapter 3 quiz