Getting your bearings · chapter 2 of 27 · 10 minutes
2 How to read a 3GPP specification
The scope, the reference numbers, the definitions, the words that bind, and how to find one thing among 1180 clauses.
2.1 The edge of the document
TS 23.501 is 1180 headings, 1090 of them numbered, and roughly 437 000 words. Before reading any of it you want to know where it stops, because most of what you will want is not in it.
Clause 1 is that edge, and it is four sentences long §1. It claims stage 2 of the 5G System: roaming and non-roaming, interworking with the 4G core, mobility, quality of service, policy and charging, authentication, and system-wide features such as messaging, location and emergency calls.
Read it again for what it does not claim. No procedures. No policy rules. No security algorithms. No radio. No message encodings. The scope then names two companions by hand — TS 23.502 for the procedures and flows, TS 23.503 for policy and charging.
2.2 The reference list, and why "[3]" is everywhere
A stage 2 document that redefined everything it touched would drift out of step with the documents it borrows from. So TS 23.501 points instead. Its body contains 2992 bracketed reference numbers.
Clause 2 opens by saying what those brackets mean, and it is stronger than a footnote §2.
The referenced text is part of this text. Skipping a reference is not skipping background reading; it is skipping a requirement.
Clause 2 also splits references into two kinds. A specific reference names a date, edition or version, and later revisions do not apply.
A non-specific reference names no version, and then the latest version applies — for a 3GPP document, the latest version in the same release as this document. So a non-specific reference read from a Rel-18 copy and from a Rel-20 copy can land on different text.
Reference numbers are handed out in the order entries were added, never re-sorted. That is why [1] is the vocabulary report and [224] is an IETF draft from last year, and why seven entries read only "Void" — the document they named was dropped and the number was retired rather than reused.
Clause 2 also carries six editor's notes, each one saying a reference cannot be finalised until the other body publishes it.
2.3 The documents you have to open when this one stops
These are the numbers you will meet most, with what each one holds:
| Ref | Document | What it holds |
|---|---|---|
| [3] | TS 23.502 | The procedures and flows — every step of registration, session setup, handover |
| [45] | TS 23.503 | The policy and charging framework: what a rule looks like and who decides it |
| [29] | TS 33.501 | Security: keys, authentication methods, what is protected and how |
| [27] | TS 38.300 | The 5G radio and the radio network, described as a whole |
| [42] [34] | TS 38.401, TS 38.413 | How a radio node is built, and the protocol it speaks to the core |
| [47] | TS 24.501 | The messages between the device and the core, field by field |
| [49] [58] | TS 29.500, TS 29.510 | How the core's service interfaces are actually realised, and the function registry |
| [79] [197] | TS 28.533, TS 28.310 | Managing and orchestrating the network, and its energy figures |
| [1] | TR 21.905 | The vocabulary every 3GPP document falls back on |
A rough rule holds across the whole reference list. The 23-series is architecture, the 24- and 29-series are the messages, the 33-series is security, the 38-series is radio, the 28-series is management. That mapping is laid out in Who writes this document, and why.
2.4 Definitions this document owns, and definitions it borrows
Clause 3.1 defines 162 terms §3.1. It opens by importing the vocabularies of TR 21.905 [1], TS 23.502 [3] and TS 23.503 [45], then settles the collision it has just created.
Sixteen of the 162 entries define nothing themselves — they are pointers, like "Feeder link: As defined in TS 38.300 [27]". A pointer is as binding as a full definition; it just lives elsewhere, and if you have not opened that document you do not know the term.
Eight NOTEs sit inside the definition list, attached to individual terms.
2.5 The abbreviation list
Clause 3.2 holds 221 abbreviations, with the same precedence rule against TR 21.905 [1] §3.2. Nothing in this document is readable without it: a typical sentence is four abbreviations and a verb.
Two practical things about it.
It is not reliably alphabetical. There are 14 places where the next entry sorts before the one above it — "AnLF" stands before "AMF", "ePDG" before "EBI", "SNPN" before "S-NSSAI". Do not scan to where a letter ought to be and conclude the entry is missing. Search the whole list.
Some abbreviations contain a space: "5G DDNMF", "CN PDB", "UAS NF", "(R)AN". A search that assumes one token will miss them.
2.6 The words that decide whether a sentence binds
The document never defines its own modal verbs — that rule lives in the 3GPP drafting rules, outside this text. It matters anyway, because the difference between two sentences is often one word:
-
shall — a requirement. 1493 in all, of which 165 are "shall not". This is the only word that makes an implementation non-conforming when ignored.
-
should — a recommendation. 270 in all, of which 19 are "should not". You may do otherwise, and you are still conforming.
-
may — permission. 2231. It grants an option to whoever the sentence is about; it never obliges anybody, and it never means "might happen".
-
can — a statement of what is possible. 1401. Descriptive, not a requirement and not a permission.
must is not one of the drafting words, and it turns up 13 times anyway. When you meet one, do not build a conformance argument on it — look for the "shall" nearby that carries the same obligation, and if there is none, treat the sentence as description.
2.6.1 NOTE
A NOTE is formally explanatory, and there are 1323 of them. In practice a NOTE is often the only place a real restriction is written down.
Two of them: "Multiplexing of different transport protocols ... is not supported in the current Release", and the one in §5.2.5 ruling out a device signalling low access priority. Nobody is going to add a "shall" for you.
The phrase "this Release" appears 121 times, and almost always inside a NOTE. It marks a limit that is expected to lift later, so it is worth checking against the release you are actually building.
2.6.2 Void and editor's notes
Deleting a clause would renumber everything after it and break cross references in dozens of other documents. So the number stays and the body becomes the single word "Void". Fifteen clauses in this version are Void, among them §5.8.2.15, §7.2.8A and §H.3.
An editor's note is unfinished business, visible in the published text. There are ten: six in §2, two in §5.4.10, one in §5.27.1.4 and one in §6.2.13. One of them says outright that a detail "is FFS" — for further study. An editor's note is a promise that the text will change.
2.7 How clause numbers are built
Below the Foreword the document has 8 numbered top-level clauses and 24 annexes, A through X, with §Annex X holding the change history.
Numbering goes at most five levels deep. Of the 1090 numbered clauses, 8 are one level, 75 two, 454 three, 430 four and 123 five — §4.2.8.0 is a four, and the deepest run out to numbers like 4.2.8.2.1.
Two patterns are worth recognising on sight:
-
A letter suffix marks a clause inserted between two existing ones. There are 62 of them: 45 lower case and 17 upper case, with no difference in meaning. §4.2.5a sits between 4.2.5 and 4.2.6. §5.35A sits between 5.35 and 5.36, and has grown a whole subtree of its own down to 5.35A.3.4. A suffixed clause is usually newer than its neighbours, nothing more.
-
A .0 marks a "General" clause added above an existing .1. There are 18, such as §6.3.1.0. Same trick, other end.
Figures and tables are numbered by the clause they live in, plus a dash and a counter: Figure 4.2.3-1 is the first figure in §4.2.3, table 5.7.4-1 the first table in §5.7.4. The number tells you where to look; there are 164 figures and 63 tables.
2.8 Finding one thing among 1180 headings
The document is lopsided on purpose. Clause 5, "High level features", holds 841 of the 1180 headings — clause 6 has 102, the annexes 89, clause 4 has 75. If you do not know where something is, it is probably in clause 5.
Match the question to the place:
-
What does this function do? §6.2 — one subclause per network function, listing its responsibilities. Then §7.2 for the services it offers, and §4.2.3 for the picture of where it sits. Covered in What each network function does and Services instead of interfaces.
-
How does this feature work? Clause 5, one subclause per feature.
-
What does this word mean? §3.2 to expand it, §3.1 to define it, then full-text search — most terms are explained where first used.
-
What message carries this? Not here. TS 23.502 [3] for the flow, TS 24.501 [47] or the 29-series for the encoding.
-
When did this change? §Annex X.
The real index is the document's own cross references: 2810 mentions of another clause by number, of which 410 are the phrase "see clause". They are dense, and following them beats searching.
2.9 Where this leads
You can now tell a requirement from a description, a defined term from a borrowed one, and a clause that exists from a clause that used to. The architecture itself starts in The shape of the 5G core, and the reference points and services that hold it together in Services instead of interfaces.
Check yourself
Answers appear when you pick one, with where they come from.
Q2.1 A reference is written without a date or version number. Which version applies?
Clause 2 calls that a non-specific reference. For a 3GPP document it points at the latest version in the same release as the document you are holding, so the target moves as the release does. §2
Q2.2 A term is defined both in clause 3.1 and in TR 21.905. Which definition applies here?
Clause 3.1 says a term defined in the present document takes precedence over the same term in TR 21.905. The same rule is repeated for abbreviations in clause 3.2. §3.1
Q2.3 What does the letter in a clause number like 4.2.5a tell you?
A letter suffix is how a new clause is slotted between two existing ones. 4.2.5a sits between 4.2.5 and 4.2.6, and every cross reference to 4.2.6 elsewhere stays valid. §4.2.5a
Q2.4 A NOTE says a feature is not supported in this release. How binding is that?
A NOTE carries no "shall", but the restriction it records is often stated nowhere else. Clause 5.2.5 is one of them, and an implementation that ignores it is wrong. §5.2.5
Q2.5 A clause title reads only "Void". What happened?
Deleting a clause outright would renumber everything after it and break every cross reference in every other specification. The number stays and the body becomes the single word "Void". §5.8.2.15
Q2.6 You need the exact message sequence for a device registering with the network. Where does clause 1 send you?
The scope names TS 23.502 as the companion holding the stage 2 procedures and flows. TS 23.501 describes what registration is for and which function owns it, never the sequence. §1
This chapter was written against TS 23.501 version 20.2.0, verified 2026-08-04. A newer version of the document may say something else.