WUS (Wake Up Signal)
WUS stands for Wake Up Signal. Wake Up Signal in LTE is a type mechanism designed for Energy Saving mostly in Idle mode. In Idle mode, UE is supposed to wave up periodically based on DRX cycle and the UE specific Paging Occassion (PO) setting, it is necessary to receive Paging message (for any MT traffic). But it would be a waste of energy if UE needs to wake at every PO (Paging Occassion) when there is no paging for the UE. WUS is a mechanism to inform the UE saying "There will be a Paging for you very soon". It implies that UE may not be necessary to wake up for monitoring Paging if there is no WUS detected and save power.
NOTE : There is similar technology with the same terminology (i.e, Wake Up Signal) in 5G/NR as well. But the difference is that WUS in NR is related to CDRX (Connected Mode DRX) and mostly for saving energy in connected mode.
Overall Procedure for the WUS mechanism can be illustrated as below. As you may notice, Network (eNB) informs all the UE about it's capability and configuration for WUS and UE can inform the eNB about its capability of WUS support. If both pary supports WUS feature, gNB may (or may not) activate WUS using a few different RRC messages shown below.
Once WUS is triggered/activated, UE is supposed to monitor WUS to determine whether it has to completely wake up for Paging message or not.

< 36.304 v17.0.0 : Table 7.4-1: Determination of GAP between end of WUS and associated PO >

NOTE : wakeUpSignalMinGap-eDRX is informed by UE via UE capability Information
NOTE : timeOffset-eDRX-Long, timeOffset-eDRX-Short are configured in SIB2
How to figure out which PO to monitor ?
Let's look into the process of monitoring Paging message in WUS a little more detail. The process can be illustrated as below. As noted here, first UE is monitoring WUS periodically and if the signal is detected, UE is supposed to monitor a few PO (Paging Occassion)s after a certain time duration (timeoffset).

If we take a look at the details of WUS part, it is illustrated and described as below (based on 36.300 - 10.1.4)
The UE can expect WUS repetitions during "Configured maximum WUS duration" but the actual WUS transmission can be shorter, e.g. for UE in good coverage. The UE does not monitor WUS during the non-zero "Gap".
NOTE : The maximum duration can be maxDurationFactor-r15 x npdcch-NumRepetitionPaging-r13 or
maxDurationFactor-r15 x mpdcch-NumRepetitionPaging-r13
where (based on 36.331),
maxDurationFactor : Maximum WUS duration, expressed as a ratio of Rmax for Type 1-CSS. Value one128th means Rmax * 1/128, value one64th means Rmax * 1/64 and so on.
Rmax is the value of mpdcch-NumRepetitionPaging (or npdcch-NumRepetitionPaging) for the carrier.
maxDuration = Max (signalled value * Rmax, 1)
< 36.300 v17.2 : Figure 10.1.4-1: Illustration of WUS timing >

< 36.300 v17.2 : Figure 10.1.4-2: Illustration of GWUS timing for NB-IoT UEs >

< 36.300 v17.2 : Figure 10.1.4-3: Illustration of GWUS timing for BL UEs and UEs in enhanced coverage >

Since this is relatively new feature (Release 15/16), it is not assumed that every UE in the market support this feature. So there should be a mechanism by which UE can inform eNB whether it support WUS or not. Followings are Information Elements in UE capability Information message related to WUS.
UECapabilityInformation-v1250-IEs ::= SEQUENCE {
ue-RadioPagingInfo-r12 UE-RadioPagingInfo-r12 OPTIONAL,
nonCriticalExtension SEQUENCE {} OPTIONAL
}
UE-RadioPagingInfo-r12 ::= SEQUENCE {
ue-Category-v1250 INTEGER (0) OPTIONAL,
...,
[[ ue-CategoryDL-v1310 ENUMERATED {m1} OPTIONAL,
ce-ModeA-r13 ENUMERATED {true} OPTIONAL,
ce-ModeB-r13 ENUMERATED {true} OPTIONAL
]],
[[ wakeUpSignal-r15 ENUMERATED {true} OPTIONAL,
wakeUpSignal-TDD-r15 ENUMERATED {true} OPTIONAL,
wakeUpSignalMinGap-eDRX-r15 ENUMERATED {ms40, ms240, ms1000, ms2000} OPTIONAL,
wakeUpSignalMinGap-eDRX-TDD-r15 ENUMERATED {ms40, ms240, ms1000, ms2000} OPTIONAL
]],
[[ ue-CategoryDL-v1610 ENUMERATED {m2} OPTIONAL,
groupWakeUpSignal-r16 ENUMERATED {true} OPTIONAL,
groupWakeUpSignalTDD-r16 ENUMERATED {true} OPTIONAL,
groupWakeUpSignalAlternation-r16 ENUMERATED {true} OPTIONAL,
groupWakeUpSignalAlternationTDD-r16 ENUMERATED {true} OPTIONAL
]],
[[
inactiveStatePO-Determination-r17 ENUMERATED {true} OPTIONAL
]]
}
Followings are RRC parameters getting involved in WUS operation (SIB2, RRCEarlyDataComplete and RRC Connection Release).
SystemInformationBlockType2 ::= SEQUENCE {
ac-BarringInfo SEQUENCE {
ac-BarringForEmergency BOOLEAN,
ac-BarringForMO-Signalling AC-BarringConfig OPTIONAL, -- Need OP
ac-BarringForMO-Data AC-BarringConfig OPTIONAL -- Need OP
} OPTIONAL, -- Need OP
radioResourceConfigCommon RadioResourceConfigCommonSIB,
ue-TimersAndConstants UE-TimersAndConstants,
freqInfo SEQUENCE {
ul-CarrierFreq ARFCN-ValueEUTRA OPTIONAL, -- Need OP
ul-Bandwidth ENUMERATED {n6, n15, n25, n50, n75, n100} OPTIONAL, -- Need OP
additionalSpectrumEmission AdditionalSpectrumEmission
},
...
}
RadioResourceConfigCommonSIB ::= SEQUENCE {
rach-ConfigCommon RACH-ConfigCommon,
bcch-Config BCCH-Config,
pcch-Config PCCH-Config,
prach-Config PRACH-ConfigSIB,
pdsch-ConfigCommon PDSCH-ConfigCommon,
pusch-ConfigCommon PUSCH-ConfigCommon,
pucch-ConfigCommon PUCCH-ConfigCommon,
soundingRS-UL-ConfigCommon SoundingRS-UL-ConfigCommon,
uplinkPowerControlCommon UplinkPowerControlCommon,
ul-CyclicPrefixLength UL-CyclicPrefixLength,
...,
[[ uplinkPowerControlCommon-v1020 UplinkPowerControlCommon-v1020 OPTIONAL -- Need OR
]],
[[ rach-ConfigCommon-v1250 RACH-ConfigCommon-v1250 OPTIONAL -- Need OR
]],
[[ pusch-ConfigCommon-v1270 PUSCH-ConfigCommon-v1270 OPTIONAL -- Need OR
]],
[[ bcch-Config-v1310 BCCH-Config-v1310 OPTIONAL, -- Need OR
pcch-Config-v1310 PCCH-Config-v1310 OPTIONAL, -- Need OR
freqHoppingParameters-r13 FreqHoppingParameters-r13 OPTIONAL, -- Need OR
pdsch-ConfigCommon-v1310 PDSCH-ConfigCommon-v1310 OPTIONAL, -- Need OR
pusch-ConfigCommon-v1310 PUSCH-ConfigCommon-v1310 OPTIONAL, -- Need OR
prach-ConfigCommon-v1310 PRACH-ConfigSIB-v1310 OPTIONAL, -- Need OR
pucch-ConfigCommon-v1310 PUCCH-ConfigCommon-v1310 OPTIONAL -- Need OR
]],
[[ highSpeedConfig-r14 HighSpeedConfig-r14 OPTIONAL, -- Need OR
prach-Config-v1430 PRACH-Config-v1430 OPTIONAL, -- Need OR
pucch-ConfigCommon-v1430 PUCCH-ConfigCommon-v1430 OPTIONAL -- Need OR
]],
[[ prach-Config-v1530 PRACH-ConfigSIB-v1530 OPTIONAL, -- Cond EDT
ce-RSS-Config-r15 RSS-Config-r15 OPTIONAL, -- Need OR
wus-Config-r15 WUS-Config-r15 OPTIONAL, -- Need OR
highSpeedConfig-v1530 HighSpeedConfig-v1530 OPTIONAL -- Need OR
]],
[[ uplinkPowerControlCommon-v1540 UplinkPowerControlCommon-v1530 OPTIONAL -- Need OR
]],
[[ wus-Config-v1560 WUS-Config-v1560 OPTIONAL -- Need OR
]],
[[
wus-Config-v1610 WUS-Config-v1610 OPTIONAL, -- Need OR
highSpeedConfig-v1610 HighSpeedConfig-v1610 OPTIONAL, -- Need OR
crs-ChEstMPDCCH-ConfigCommon-r16 CRS-ChEstMPDCCH-ConfigCommon-r16 OPTIONAL, -- Need OR
gwus-Config-r16 GWUS-Config-r16 OPTIONAL, -- Need OR
uplinkPowerControlCommon-v1610 UplinkPowerControlCommon-v1610 OPTIONAL, -- Need OR
rss-MeasConfig-r16 ENUMERATED {enabled} OPTIONAL, -- Need OR
rss-MeasNonNCL-r16 ENUMERATED {enabled} OPTIONAL, -- Need OR
puncturedSubcarriersDL-r16 BIT STRING (SIZE (2)) OPTIONAL, -- Need OR
highSpeedInterRAT-NR-r16 BOOLEAN OPTIONAL -- Need OR
]],
[[
pcch-Config-v1700 PCCH-Config-v1700 OPTIONAL, -- Need OR
ntn-ConfigCommon-r17 SEQUENCE {
ta-Report-r17 ENUMERATED {enabled} OPTIONAL, -- Need
OR
t318-r17 ENUMERATED {
ms0, ms50, ms100, ms200,
ms500, ms1000, ms2000, ms4000},
prach-TxDuration-r17 PRACH-TxDuration-r17 OPTIONAL, -- Need OR
pucch-TxDuration-r17 PUCCH-TxDuration-r17 OPTIONAL, -- Need OR
pusch-TxDuration-r17 PUSCH-TxDuration-r17 OPTIONAL -- Need OR
} OPTIONAL -- Need OR
]]
}
PCCH-Config ::= SEQUENCE {
defaultPagingCycle ENUMERATED {rf32, rf64, rf128, rf256},
nB ENUMERATED {
fourT, twoT, oneT, halfT, quarterT, oneEighthT,
oneSixteenthT, oneThirtySecondT}
}
PCCH-Config-v1310 ::= SEQUENCE {
paging-narrowBands-r13 INTEGER (1..maxAvailNarrowBands-r13),
mpdcch-NumRepetition-Paging-r13 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, r128, r256},
nB-v1310 ENUMERATED {one64thT, one128thT, one256thT}
OPTIONAL -- Need OR
}
PCCH-Config-v1700 ::= SEQUENCE {
ranPagingInIdlePO-r17 ENUMERATED {true}
}
WUS-Config-r15 ::= SEQUENCE {
maxDurationFactor-r15 ENUMERATED {one32th, one16th, one8th, one4th},
numPOs-r15 ENUMERATED {n1, n2, n4, spare1} DEFAULT n1,
freqLocation-r15 ENUMERATED {n0, n2, n4, spare1},
timeOffsetDRX-r15 ENUMERATED {ms40, ms80, ms160, ms240},
timeOffset-eDRX-Short-r15 ENUMERATED {ms40, ms80, ms160, ms240},
timeOffset-eDRX-Long-r15 ENUMERATED {ms1000, ms2000} OPTIONAL -- Need OP
}
WUS-Config-v1560 ::= SEQUENCE {
powerBoost-r15 ENUMERATED {dB0, dB1dot8, dB3, dB4dot8}
}
WUS-Config-v1610 ::= SEQUENCE {
numDRX-CyclesRelaxed-r16 ENUMERATED {n1, n2, n4, n8}
}
GWUS-Config-r16 ::= SEQUENCE {
groupAlternation-r16 ENUMERATED {true} OPTIONAL, -- Need OR
commonSequence-r16 ENUMERATED {g0, g126} OPTIONAL, -- Need OR
timeParameters-r16 GWUS-TimeParameters-r16 OPTIONAL, -- Cond NoWUSr15
resourceConfigDRX-r16 GWUS-ResourceConfig-r16,
resourceConfig-eDRX-Short-r16 GWUS-ResourceConfig-r16 OPTIONAL, -- Need OP
resourceConfig-eDRX-Long-r16 GWUS-ResourceConfig-r16 OPTIONAL, -- Cond TimeOffset
probThreshList-r16 GWUS-ProbThreshList-r16 OPTIONAL, -- Cond ProbabilityBased
groupNarrowBandList-r16 GWUS-GroupNarrowBandList-r16 OPTIONAL -- Need OR
}
GWUS-TimeParameters-r16 ::= SEQUENCE {
maxDurationFactor-r16 ENUMERATED {one32th, one16th, one8th, one4th},
numPOs-r16 ENUMERATED {n1, n2, n4, spare1} DEFAULT n1,
timeOffsetDRX-r16 ENUMERATED {ms40, ms80, ms160, ms240},
timeOffset-eDRX-Short-r16 ENUMERATED {ms40, ms80, ms160, ms240},
timeOffset-eDRX-Long-r16 ENUMERATED {ms1000, ms2000} OPTIONAL, -- Need OP
numDRX-CyclesRelaxed-r16 ENUMERATED {n1, n2, n4, n8} OPTIONAL, -- Need OR
powerBoost-r16 ENUMERATED {dB0, dB1dot8, dB3, dB4dot8} OPTIONAL, -- Need OR
...
}
GWUS-ResourceConfig-r16 ::= SEQUENCE {
resourceMappingPattern-r16 CHOICE {
resourceLocationWithWUS ENUMERATED {primary, secondary, primary3FDM},
resourceLocationWithoutWUS ENUMERATED {n0, n2}
},
numGroupsList-r16 GWUS-NumGroupsList-r16 OPTIONAL, -- Need OP
groupsForServiceList-r16 GWUS-GroupsForServiceList-r16 OPTIONAL -- Cond ProbabilityBased
}
GWUS-GroupsForServiceList-r16 ::= SEQUENCE (SIZE (1..maxGWUS-ProbThresholds-r16))
OF INTEGER (1..maxGWUS-Groups-1-r16)
GWUS-GroupNarrowBandList-r16 ::= SEQUENCE (SIZE (1..maxAvailNarrowBands-r13)) OF BOOLEAN
GWUS-NumGroupsList-r16 ::= SEQUENCE (SIZE (1..maxGWUS-Resources-r16)) OF GWUS-NumGroups-r16
GWUS-ProbThreshList-r16 ::= SEQUENCE (SIZE (1..maxGWUS-ProbThresholds-r16)) OF GWUSPagingProbThresh-r16
GWUS-NumGroups-r16 ::= ENUMERATED {n1, n2, n4, n8}
GWUS-PagingProbThresh-r16 ::= ENUMERATED {p20, p30, p40, p50, p60, p70, p80, p90}
RRCEarlyDataComplete-NB-r15 ::= SEQUENCE {
criticalExtensions CHOICE {
rrcEarlyDataComplete-r15 RRCEarlyDataComplete-NB-r15-IEs,
criticalExtensionsFuture SEQUENCE {}
}
}
RRCEarlyDataComplete-NB-r15-IEs ::= SEQUENCE {
dedicatedInfoNAS-r15 DedicatedInfoNAS OPTIONAL, -- Need ON
extendedWaitTime-r15 INTEGER (1..1800) OPTIONAL, -- Need ON
redirectedCarrierInfo-r15 RedirectedCarrierInfo-NB-r13 OPTIONAL, -- Need ON
redirectedCarrierInfoExt-r15 RedirectedCarrierInfo-NB-v1430 OPTIONAL, -- Cond Redirection
nonCriticalExtension RRCEarlyDataComplete-NB-v1590-IEs OPTIONAL
}
RRCEarlyDataComplete-NB-v1590-IEs ::= SEQUENCE {
lateNonCriticalExtension OCTET STRING OPTIONAL,
nonCriticalExtension RRCEarlyDataComplete-NB-v1700-IEs OPTIONAL
}
RRCEarlyDataComplete-NB-v1700-IEs ::= SEQUENCE {
cbp-Index-r17 INTEGER (1..2) OPTIONAL, -- Need OR
nonCriticalExtension SEQUENCE {} OPTIONAL
}
RRCConnectionRelease-v15b0-IEs ::= SEQUENCE {
noLastCellUpdate-r15 ENUMERATED {true} OPTIONAL, -- Need OP
nonCriticalExtension RRCConnectionRelease-v1610-IEs OPTIONAL
}
RadioResourceConfigCommonSIB-NB-r13 ::= SEQUENCE {
rach-ConfigCommon-r13 RACH-ConfigCommon-NB-r13,
bcch-Config-r13 BCCH-Config-NB-r13,
pcch-Config-r13 PCCH-Config-NB-r13,
nprach-Config-r13 NPRACH-ConfigSIB-NB-r13,
npdsch-ConfigCommon-r13 NPDSCH-ConfigCommon-NB-r13,
npusch-ConfigCommon-r13 NPUSCH-ConfigCommon-NB-r13,
dl-Gap-r13 DL-GapConfig-NB-r13 OPTIONAL, -- Need OP
uplinkPowerControlCommon-r13 UplinkPowerControlCommon-NB-r13,
...,
[[ nprach-Config-v1330 NPRACH-ConfigSIB-NB-v1330 OPTIONAL -- Need OR
]],
[[ nprach-Config-v1450 NPRACH-ConfigSIB-NB-v1450 OPTIONAL -- Cond
EnhPowerControl
]],
[[ nprach-Config-v1530 NPRACH-ConfigSIB-NB-v1530 OPTIONAL, -- Need OR
dl-Gap-v1530 DL-GapConfig-NB-v1530 OPTIONAL, -- Cond TDD
wus-Config-r15 WUS-Config-NB-r15 OPTIONAL -- Need OR
]],
[[ nprach-Config-v1550 NPRACH-ConfigSIB-NB-v1550 OPTIONAL -- Cond TDD1
]],
[[
gwus-Config-r16 GWUS-Config-NB-r16 OPTIONAL, -- Need OR
nrs-NonAnchorConfig-r16 ENUMERATED {true} OPTIONAL, -- Need OR
ue-SpecificDRX-CycleMin-r16 ENUMERATED {rf32, rf64, rf128, rf256, rf512,
rf1024} OPTIONAL -- Need OR
]],
[[ ntn-ConfigCommon-r17 SEQUENCE {
ta-Report-r17 ENUMERATED {enabled} OPTIONAL, -- Need OR
t318-r17 ENUMERATED {
ms0, ms200, ms500, ms1000, ms2000, ms4000, ms8000},
nprach-TxDurationFmt01-r17 NPRACH-TxDurationFmt01-NB-r17 OPTIONAL, -- Need OR
nprach-TxDurationFmt2-r17 NPRACH-TxDurationFmt2-NB-r17 OPTIONAL, -- Need OR
npusch-TxDuration-r17 NPUSCH-TxDuration-NB-r17 OPTIONAL -- Need OR
} OPTIONAL -- Need OR
]]
}
BCCH-Config-NB-r13 ::= SEQUENCE {
modificationPeriodCoeff-r13 ENUMERATED {n16, n32, n64, n128}
}
PCCH-Config-NB-r13 ::= SEQUENCE {
defaultPagingCycle-r13 ENUMERATED {rf128, rf256, rf512, rf1024},
nB-r13 ENUMERATED {
fourT, twoT, oneT, halfT, quarterT, one8thT,
one16thT, one32ndT, one64thT,
one128thT, one256thT, one512thT, one1024thT,
spare3, spare2, spare1},
npdcch-NumRepetitionPaging-r13 ENUMERATED {
r1, r2, r4, r8, r16, r32, r64, r128,
r256, r512, r1024, r2048,
spare4, spare3, spare2, spare1}
}
WUS-Config-NB-r15 ::= SEQUENCE {
maxDurationFactor-r15 WUS-MaxDurationFactor-NB-r15,
numPOs-r15 ENUMERATED {n1, n2, n4} DEFAULT n1,
numDRX-CyclesRelaxed-r15 ENUMERATED {n1, n2, n4, n8},
timeOffsetDRX-r15 ENUMERATED {ms40, ms80, ms160, ms240},
timeOffset-eDRX-Short-r15 ENUMERATED {ms40, ms80, ms160, ms240},
timeOffset-eDRX-Long-r15 ENUMERATED {ms1000, ms2000} OPTIONAL, -- Need OP
...
}
WUS-ConfigPerCarrier-NB-r15 ::= SEQUENCE {
maxDurationFactor-r15 WUS-MaxDurationFactor-NB-r15
}
WUS-MaxDurationFactor-NB-r15 ::= ENUMERATED {one128th, one64th, one32th, one16th,
oneEighth, oneQuarter, oneHalf}
Reference :