What is SIB16 in 5G NR?
SIB16 is System Information Block 16, used for slice-based cell reselection information.
Why is SIB16 useful?
It explains slice-aware idle and inactive mobility behavior.
| Protocol | rrc | Network | 5g |
|---|---|---|---|
| Spec | 3GPP TS 38.331 | Spec Section | 5.2.2.4.17, 6.3.1 |
| Direction | gNB -> UE | Message Type | Broadcast System Information |
| Full message name | 5G NR - System Information Block 16 (SIB16) |
|---|---|
| Protocol | RRC |
| Technology | 5G |
| Direction | gNB -> UE |
| Interface | Uu |
| Signaling bearer / channel | Broadcast transport / BCCH-DL-SCH |
| Typical trigger | Broadcast when the cell needs to expose slice-based cell reselection priorities. |
| Main purpose | Provides slice-aware reselection priorities so the UE can apply the correct idle or inactive mobility behavior for slicing-oriented deployments. |
| Main specification | 3GPP TS 38.331, 5.2.2.4.17, 6.3.1 |
| Release added | Release 17 |
| Procedures where used | System Information Acquisition, Idle / Inactive Mobility with Slicing |
| Related timers | SIB16 does not use a dedicated UE-specific transaction timer |
| Related cause values | SIB16 does not carry reject causes |
System Information Block 16 (SIB16) is an NR broadcast system information block used to provide slice-based cell reselection information.
Provides slice-aware reselection priorities so the UE can apply the correct idle or inactive mobility behavior for slicing-oriented deployments.
SIB16 tells the UE how to apply slice-based reselection priorities when it is idle or inactive.
Call flow position: Read as additional SI after the basic access and mobility context is already known.
Typical state: UE is camped and expanding its idle mobility rules.
Preconditions:
Next likely message: UE applies slice-based reselection priorities locally
Call flow position: Used when the UE performs cell reselection with slice-related priorities.
Typical state: UE is not in a dedicated transaction.
Preconditions:
Next likely message: Cell reselection decision
Previous message(s): MIB, System Information Block 1 (SIB1), System Information Block 3 (SIB3)
Next message(s): Idle or inactive cell reselection using slice-aware priorities
Security context: Broadcast information. It is cell-common and not protected by dedicated AS security.
SystemInformation-IEs ::= SEQUENCE {
sib-TypeAndInfo SEQUENCE (SIZE (1..maxSIB)) OF CHOICE {
sib16-v1700 SIB16-r17,
...
},
...
}
SIB16-r17 ::= SEQUENCE {
freqPriorityListSlicing-r17 FreqPriorityListSlicing-r17 OPTIONAL,
lateNonCriticalExtension OCTET STRING OPTIONAL,
...
}
The practical payload is freqPriorityListSlicing-r17. Engineers use it to explain why the UE prefers or avoids certain reselection targets in slicing-aware deployments.
BCCH-DL-SCH-Message
message: c1
systemInformation
criticalExtensions
systemInformation
sib-TypeAndInfo
sib16
freqPriorityListSlicing-r17: present
| IE | Required | Description |
|---|---|---|
freqPriorityListSlicing-r17 | Optional | Slice-based frequency reselection priorities used for idle or inactive mobility decisions. |
freqPriorityListSlicing-r17Slice-based frequency reselection priorities used for idle or inactive mobility decisions.
Presence: Optional
In practice: In practice, compare this field with the original request and with any later release-dependent optional fields so you can see whether the network accepted the same service model the UE asked for.
Likely cause: SIB16 may be missing or its slice-based priorities may not match the intended configuration.
What to inspect: Check freqPriorityListSlicing-r17 and compare it with the frequencies the UE prefers.
Next step: Compare SIB16 with SIB3 and SIB4 before concluding the issue is only in the UE.
SIB3 and SIB4 provide normal reselection rules, while SIB16 adds slice-based priority behavior.
SIB16 is System Information Block 16, used for slice-based cell reselection information.
It explains slice-aware idle and inactive mobility behavior.
Decode this message with the 3GPP Decoder, inspect the related message database, or open the matching call flow to see where this signaling step fits in the full procedure.