MeasurementReport. RRC Measurement Reporting
MeasurementReport is the uplink RRC message that carries serving and neighbor cell measurement results. It is the primary trigger for handover and mobility decisions in LTE and 5G NR networks.
Key Facts. MeasurementReport
- Message name
- MeasurementReport
- Direction
- Uplink. UE → gNB/eNB
- Logical channel
- UL-DCCH (Uplink Dedicated Control Channel)
- Trigger
- Measurement event condition met (A1–A6, B1–B2) or periodical timer
- Key measurements
- RSRP, RSRQ, SINR (NR adds SS-RSRP, SS-RSRQ, SS-SINR, CSI-RSRP)
- 3GPP specification
- TS 38.331 (NR), TS 36.331 (LTE)
What triggers a MeasurementReport?
The UE does not send measurement reports autonomously. The network must first configure the UE's measurement behavior through the measConfig IE inside an RRCReconfiguration (5G NR) or RRCConnectionReconfiguration (LTE) message. This configuration defines three key elements:
- Measurement objects (measObjectId), define which frequencies or cells to measure, including SSB/CSI-RS configurations in NR and EARFCN/offsets in LTE.
- Report configurations (reportConfigId), define the event trigger criteria (thresholds, offsets, hysteresis, timeToTrigger) or periodical reporting intervals, plus which quantities to report.
- Measurement identities (measId), link a measurement object to a report configuration, creating an active measurement task. The measId appears in the resulting MeasurementReport.
When the UE's measured values satisfy the entering condition of a configured event for the entire timeToTrigger duration, it sends a MeasurementReport. The report includes the measId that triggered it, the serving cell measurements, and the neighbor cells that meet the reporting criteria.
Measurement events
| Event | Condition | Typical use |
|---|---|---|
| A1 | Serving cell becomes better than absolute threshold | Stop inter-frequency or inter-RAT measurements to save UE battery when serving quality is good |
| A2 | Serving cell becomes worse than absolute threshold | Start inter-frequency or inter-RAT measurements when serving quality degrades |
| A3 | Neighbor becomes offset better than serving (relative) | Primary handover trigger, intra-frequency and inter-frequency handover |
| A4 | Neighbor becomes better than absolute threshold | Report when a neighbor exceeds a quality threshold (load balancing, traffic steering) |
| A5 | Serving worse than threshold1 AND neighbor better than threshold2 | Handover based on absolute thresholds, used when A3 is not suitable |
| A6 | Neighbor becomes offset better than SCell (NR) / serving in CA (LTE) | Secondary cell management in Carrier Aggregation scenarios |
| B1 | Inter-RAT neighbor becomes better than absolute threshold | Inter-RAT handover trigger (e.g., NR to LTE, LTE to UMTS) |
| B2 | Serving worse than threshold1 AND inter-RAT neighbor better than threshold2 | Inter-RAT handover when serving quality drops and another RAT is available |
Understanding measId / measObjectId / reportConfigId mapping
The measurement framework in 3GPP uses a three-part linking model that can be confusing when first encountered in decoded messages. Each measId in the measIdToAddModList binds exactly one measObjectId to one reportConfigId.
When you decode a MeasurementReport, the measId field tells you which measurement identity triggered the report. To understand what was measured and under what conditions, you must cross-reference the measConfig from the corresponding RRCReconfiguration:
- measId → measObjectId, reveals the frequency (ARFCN/NR-ARFCN), SSB subcarrier spacing, and cell-specific offsets.
- measId → reportConfigId, reveals the event type (A1–A6, B1–B2), thresholds, hysteresis, timeToTrigger, reportAmount and reportInterval.
Multiple measIds can share the same measurement object but use different report configurations, enabling the network to monitor the same frequency with different event triggers simultaneously.
Key Information Elements in MeasurementReport
| IE name | Description |
|---|---|
| measId | Identifies which measurement configuration triggered the report. Links to measObjectId and reportConfigId in the RRCReconfiguration measConfig. |
| measResultServingMOList | Serving cell results: servCellId, measResultServingCell (RSRP, RSRQ, SINR with per-SSB-Index or per-CSI-RS results in NR), and optionally bestNeighbourCell. |
| measResultNeighCells | Neighbor cell results organized by type: measResultListNR (NR neighbors), measResultListEUTRA (LTE neighbors), or measResultListUTRA (UMTS neighbors). Each entry includes PCI, ARFCN and signal measurements. |
| measResultServFreqList (LTE) | In LTE, serving frequency results for each configured SCell in Carrier Aggregation, with RSRP and RSRQ values. |
| measResultForRSSI-r16 (NR) | RSSI measurement results for channel occupancy evaluation, used in NR-U (unlicensed spectrum) and certain load-based scenarios. |
Role in handover decisions
The MeasurementReport is the primary input to the base station's handover decision algorithm. Here is the typical flow:
- The gNB/eNB configures the UE with measurement objects and event-based report configurations via RRCReconfiguration (measConfig).
- The UE continuously measures RSRP, RSRQ and SINR on serving and neighbor cells at the configured frequencies.
- When an event condition (e.g., A3: neighbor offset better than serving) is satisfied for the configured
timeToTrigger, the UE sends a MeasurementReport. - The source base station evaluates the report, identifies the best target cell, and initiates handover preparation over the X2 (LTE) or Xn (NR) interface.
- Upon receiving the Handover Request Acknowledge from the target, the source sends an RRCReconfiguration with
reconfigurationWithSync(handover command) to the UE. - The UE synchronizes to the target cell and sends RRCReconfigurationComplete to confirm the handover.
How to decode MeasurementReport online
Select UL-DCCH
Choose UL-DCCH as the logical channel. MeasurementReport is always sent on the uplink dedicated control channel.
Paste hex frame
Paste the hexadecimal MeasurementReport frame from your QCAT, Wireshark, or DIAG log.
Analyze results
Click Decode. Check the measId, serving cell RSRP/RSRQ/SINR and neighbor cell PCIs to understand the handover trigger.
Frequently Asked Questions
What triggers a MeasurementReport in LTE or 5G NR?
A MeasurementReport is triggered when a measurement event condition is met. The UE continuously measures serving and neighbor cells based on the configuration received in measConfig (inside RRCReconfiguration). When a configured event (e.g., A3, neighbor becomes offset better than serving) is satisfied for the timeToTrigger duration, the UE sends a MeasurementReport on UL-DCCH. Events include A1–A6 for intra-RAT (same technology), and B1–B2 for inter-RAT measurements (e.g., NR to LTE). Periodical reporting can also be configured.
What is the difference between measurement events A3 and A5?
Event A3 triggers when a neighbor cell becomes offset better than the serving cell (Mn + Ofn + Ocn - Hys > Ms + Ofs + Ocs + Off). It is the most common event used for intra-frequency and inter-frequency handovers. Event A5 triggers when the serving cell becomes worse than an absolute threshold1 AND a neighbor cell becomes better than an absolute threshold2 simultaneously. A5 is useful when the network wants to trigger handover based on absolute signal quality thresholds rather than relative comparison.
What IEs are inside a MeasurementReport message?
The key IEs in a MeasurementReport are: measResults, which contains measId (identifying the measurement configuration that triggered the report), measResultServingMOList (serving cell measurements. RSRP, RSRQ, SINR per serving cell and SSB/CSI-RS index in NR), and measResultNeighCells (neighbor cell measurements organized by frequency/RAT. NR, EUTRA or UTRA results with PCI and signal levels). The measId links back to the measObjectId and reportConfigId configured in the RRCReconfiguration measConfig.
How does the network use MeasurementReport for handover?
When the gNB/eNB receives a MeasurementReport indicating that a neighbor cell meets the handover criteria (typically event A3 or A5), it initiates the handover preparation procedure. The source base station sends a Handover Request to the target base station over the X2/Xn interface. If the target accepts, the source sends an RRCReconfiguration with reconfigurationWithSync (NR) or mobilityControlInfo (LTE) to command the UE to switch to the target cell. The MeasurementReport is therefore the primary input to the network's handover decision algorithm.
Related resources
L3 Protocol Decoder
Online RRC and NAS decoder for 2G/3G/4G/5G. Free, no signup.
What is RRC Protocol?
Complete guide to the Radio Resource Control protocol in LTE and 5G NR.
RRC & NAS Message Glossary
Reference table of all RRC and NAS message types across 2G–5G.
RRCReconfiguration Message
The reconfiguration message that configures measurements and executes handovers.
5G Handover Issues
Troubleshooting handover failures where MeasurementReport analysis is critical.