OSI mean Other SI (i.e, SIBs other than SIB1). The scheduling/broadcasting of OSI is specified as follows. Two separate mechanisms have to be in place before a UE can read one of those SIBs. The network has to say when the message carrying it is on the air. It also has to say where the UE should look for the PDCCH that points at it. The two bullets below name the field that carries each half.
- PDCCH/DCI 1_0 SearchSpace for OSI is configured by searchSpaceOtherSystemInformation. If this IE is not configured, PDCCH/DCI 1_0 SearchSpace for OSI is assumed to be transmitted in the same CORESET (i.e, CORESET0) as SIB1.
- High Level Scheduling (e.g, Which OSI will be transmitted in which period etc is specified in si-SchedulingInfo IE in SIB1.
How OSI is scheduled
A SIB other than SIB1 never travels on its own. It is packed into an SI message together with other SIBs, and the SI message is what carries a schedule. Everything below follows from that one packing decision, because the schedule belongs to the message rather than to any individual SIB inside it.
38.331 constrains what may share a message. Only SIBs with the same periodicity can be mapped into one SI message. SIBs and posSIBs are never mixed, so a message carries one kind or the other. Each SI message is transmitted inside a periodically recurring window, and the windows of different SI messages do not overlap. Within one window only the corresponding message is on the air, and it may be repeated inside that window with the same content.
The window start is computed rather than signalled, at least in the original form. The UE takes n, the order of entry of the SI message in schedulingInfoList. It then works out the integer x = (n - 1) × w, where w is si-WindowLength. The window then starts at slot number x mod N, in the radio frame for which SFN mod T equals FLOOR(x / N). T is the si-Periodicity of that message, and N is the number of slots in a radio frame.
Release 17 changed that arithmetic, and the reason is worth stating. Deriving the window position from list order means that inserting one message shifts every message after it. SI-SchedulingInfo-v1700 adds schedulingInfoList2, and its entries carry si-WindowPosition-r17 directly. For those entries the UE computes x = (si-WindowPosition - 1) × w instead, so the position no longer depends on where the entry sits in the list.
Following is based on
SI-SchedulingInfo-v1700 ::= SEQUENCE {
schedulingInfoList2-r17 SEQUENCE (SIZE (1..maxSI-Message)) OF SchedulingInfo2-r17,
dummy SI-RequestConfig OPTIONAL
}
SchedulingInfo2-r17 ::= SEQUENCE {
si-BroadcastStatus-r17 ENUMERATED {broadcasting, notBroadcasting},
si-WindowPosition-r17 INTEGER (1..256) ,
si-Periodicity-r17 ENUMERATED {rf8, rf16, rf32, rf64, rf128, rf256, rf512},
sib-MappingInfo-r17 SIB-Mapping-v1700
}
SI-SchedulingInfo-v1740 ::= SEQUENCE {
si-RequestConfigRedCap-r17 SI-RequestConfig OPTIONAL -- Cond REDCAP-MSG-1
}
SI-SchedulingInfo-v1800 ::= SEQUENCE {
si-RequestConfigMSG1-Repetition-r18 SI-RequestConfigRepetition-r18
OPTIONAL, -- Cond MSG-1
si-RequestConfigRedCap-MSG1-Repetition-r18 SI-RequestConfigRepetition-r18
OPTIONAL, -- Cond REDCAP-MSG-1
si-RequestConfigSUL-MSG1-Repetition-r18 SI-RequestConfigRepetition-r18
OPTIONAL -- Cond SUL-MSG-1
}
si-BroadcastStatus decides whether the message is on the air at all. When it reads notBroadcasting, the UE has to ask for the message, and si-RequestConfig carries the random access resources for that request. SI-RequestResources names a preamble start index, an association period index and an SSB occasion mask index. An on-demand request therefore uses a reserved preamble rather than an ordinary random access attempt.
The schedule settles when a message is transmitted. The field searchSpaceOtherSystemInformation settles where the UE looks for it, and 38.331 states that condition precisely. If that field is set to zero, the PDCCH monitoring occasions for an SI message inside the window are the same as the monitoring occasions for SIB1. If it is not set to zero, the occasions come from the search space that the field names.
The SI message is the scheduled unit : a SIB carries no schedule of its own, and only SIBs sharing a periodicity can travel in one message.Windows never overlap : within one SI window only one SI message is transmitted, so the window itself identifies the message.Release 15 derives the window and Release 17 signals it : schedulingInfoList uses list order, and schedulingInfoList2 carries si-WindowPosition-r17 instead.notBroadcasting means the UE must ask : si-BroadcastStatus decides whether a message is transmitted, and si-RequestConfig supplies the preamble resources for requesting it.Zero is a value, not an absence : searchSpaceOtherSystemInformation set to zero puts SI monitoring on the same occasions as SIB1.
RRC Parameters
The listings below are the chain that runs from SIB1 down to the search space. Read them in that order, because each one is reached from the one above it and the links inside the tiles follow the same path. The fields that carry the scheduling itself are highlighted.
The listings below are from
Following is based on
SIB1 ::= SEQUENCE {
cellSelectionInfo SEQUENCE {
q-RxLevMin Q-RxLevMin,
q-RxLevMinOffset INTEGER (1..8) OPTIONAL, -- Need S
q-RxLevMinSUL Q-RxLevMin OPTIONAL, -- Need R
q-QualMin Q-QualMin OPTIONAL, -- Need S
q-QualMinOffset INTEGER (1..8) OPTIONAL -- Need S
} OPTIONAL, -- Cond Standalone
cellAccessRelatedInfo CellAccessRelatedInfo,
connEstFailureControl ConnEstFailureControl OPTIONAL, -- Need R
si-SchedulingInfo SI-SchedulingInfo OPTIONAL, -- Need R
servingCellConfigCommon ServingCellConfigCommonSIB OPTIONAL, -- Need R
ims-EmergencySupport ENUMERATED {true} OPTIONAL, -- Need R
eCallOverIMS-Support ENUMERATED {true} OPTIONAL, -- Need R
ue-TimersAndConstants UE-TimersAndConstants OPTIONAL, -- Need R
uac-BarringInfo SEQUENCE {
uac-BarringForCommon UAC-BarringPerCatList OPTIONAL, -- Need S
uac-BarringPerPLMN-List UAC-BarringPerPLMN-List OPTIONAL, -- Need S
uac-BarringInfoSetList UAC-BarringInfoSetList,
uac-AccessCategory1-SelectionAssistanceInfo CHOICE {
plmnCommon UAC-AccessCategory1-SelectionAssistanceInfo,
individualPLMNList SEQUENCE (SIZE (2..maxPLMN))
OF UAC-AccessCategory1-SelectionAssistanceInfo
} OPTIONAL -- Need S
} OPTIONAL, -- Need R
useFullResumeID ENUMERATED {true} OPTIONAL, -- Need R
lateNonCriticalExtension OCTET STRING OPTIONAL,
nonCriticalExtension SIB1-v1610-IEs OPTIONAL
}
Following is based on
SI-SchedulingInfo ::= SEQUENCE { schedulingInfoList SEQUENCE (SIZE (1..maxSI-Message)) OF SchedulingInfo, si-WindowLength ENUMERATED {s5, s10, s20, s40, s80, s160, s320, s640, s1280,s2560-v1710, s5120-v1710 }, si-RequestConfig SI-RequestConfig OPTIONAL, -- Cond MSG-1 si-RequestConfigSUL SI-RequestConfig OPTIONAL, -- Cond SUL-MSG-1 systemInformationAreaID BIT STRING (SIZE (24)) OPTIONAL, -- Need R ... }
Following is based on
SchedulingInfo ::= SEQUENCE { si-BroadcastStatus ENUMERATED {broadcasting, notBroadcasting}, si-Periodicity ENUMERATED {rf8, rf16, rf32, rf64, rf128, rf256, rf512}, sib-MappingInfo SIB-Mapping }
Following is based on
SIB-Mapping ::= SEQUENCE (SIZE (1..maxSIB)) OF SIB-TypeInfo
Following is based on
SIB-TypeInfo ::= SEQUENCE { type ENUMERATED {sibType2, sibType3, sibType4, sibType5, sibType6, sibType7, sibType8, sibType9,sibType10-v1610, sibType11-v1610, sibType12-v1610, sibType13-v1610, sibType14-v1610 , spare3, spare2, spare1,... }, valueTag INTEGER (0..31) OPTIONAL, -- Cond SIB-TYPE areaScope ENUMERATED {true} OPTIONAL -- Need S }
Following is based on
SI-RequestConfig ::= SEQUENCE { rach-OccasionsSI SEQUENCE { rach-ConfigSI RACH-ConfigGeneric, ssb-perRACH-Occasion ENUMERATED {oneEighth, oneFourth, oneHalf, one, two, four, eight, sixteen} } OPTIONAL, -- Need R si-RequestPeriod ENUMERATED {one, two, four, six, eight, ten, twelve, sixteen} OPTIONAL, -- Need R si-RequestResources SEQUENCE (SIZE (1..maxSI-Message)) OF SI-RequestResources }
Following is based on
SI-RequestResources ::= SEQUENCE { ra-PreambleStartIndex INTEGER (0..63), ra-AssociationPeriodIndex INTEGER (0..15) OPTIONAL, -- Need R ra-ssb-OccasionMaskIndex INTEGER (0..15) OPTIONAL -- Need R }
Following is based on
ServingCellConfigCommonSIB ::= SEQUENCE { downlinkConfigCommon DownlinkConfigCommonSIB, uplinkConfigCommon UplinkConfigCommonSIB OPTIONAL, -- Need R supplementaryUplink UplinkConfigCommonSIB OPTIONAL, -- Need R n-TimingAdvanceOffset ENUMERATED { n0, n25600, n39936 } OPTIONAL, -- Need S ssb-PositionsInBurst SEQUENCE { inOneGroup BIT STRING (SIZE (8)), groupPresence BIT STRING (SIZE (8)) OPTIONAL -- Cond FR2-Only }, ssb-PeriodicityServingCell ENUMERATED {ms5, ms10, ms20, ms40, ms80, ms160}, tdd-UL-DL-ConfigurationCommon TDD-UL-DL-ConfigCommon OPTIONAL, -- Cond TDD ss-PBCH-BlockPower INTEGER (-60..50), ..., -- five extension groups follow, from Release 16 to Release 17, and none of them -- carry system information scheduling ... }
Following is based on
DownlinkConfigCommonSIB ::= SEQUENCE { frequencyInfoDL FrequencyInfoDL-SIB, initialDownlinkBWP BWP-DownlinkCommon, bcch-Config BCCH-Config, pcch-Config PCCH-Config, ..., [[ pei-Config-r17 PEI-Config-r17 OPTIONAL, -- Need R initialDownlinkBWP-RedCap-r17 BWP-DownlinkCommon OPTIONAL -- Need R ]], [[ frequencyInfoDL-v1800 FrequencyInfoDL-SIB-v1800 OPTIONAL -- Need R ]], [[ lowPowerConfig-r19 LowPowerConfig-r19 OPTIONAL, -- Need R pagingAdaptPEI-Config-r19 PEI-Config-r19 OPTIONAL -- Need R ]] }
Following is based on
BWP-DownlinkCommon ::= SEQUENCE { genericParameters BWP, pdcch-ConfigCommon SetupRelease { PDCCH-ConfigCommon } OPTIONAL, -- Need M pdsch-ConfigCommon SetupRelease { PDSCH-ConfigCommon } OPTIONAL, -- Need M ... }
Following is based on
PDCCH-ConfigCommon ::= SEQUENCE { controlResourceSetZero ControlResourceSetZero OPTIONAL, -- Cond InitialBWP-Only commonControlResourceSet ControlResourceSet OPTIONAL, -- Need R searchSpaceZero SearchSpaceZero OPTIONAL, -- Cond InitialBWP-Only commonSearchSpaceList SEQUENCE (SIZE(1..4)) OF SearchSpace OPTIONAL, -- Need R searchSpaceSIB1 SearchSpaceId OPTIONAL, -- Need SsearchSpaceOtherSystemInformation SearchSpaceId OPTIONAL, -- Need S pagingSearchSpace SearchSpaceId OPTIONAL, -- Need S ra-SearchSpace SearchSpaceId OPTIONAL, -- Need S ..., -- four extension groups follow, from Release 16 to Release 17 ... }
Reference
[1] 3GPP TS 38.331 - NR; Radio Resource Control (RRC) protocol specification. Clause 5.2.2.1 for the SI message structure, clause 5.2.2.3.2 for the SI window, and clause 6.3.1 for every listing on this page.
[2] 3GPP TS 38.213 - NR; Physical layer procedures for control. Clause 13 for the CORESET0 and Type0-PDCCH arrangement that SIB1 monitoring is built on.