What NetAct gives you
Nokia NetAct (currently NetAct 22+ in most operator deployments, with MantaRay NM rolling out alongside it) collects PM data from AirScale base stations and exposes it through the PM browser, Reporting Suite, and the dashboards you build yourself. The counters themselves come from the BTS in XML format and are normalized into NetAct measurement objects (LNCEL, LNCEL_FDD, NRBTS, NRCELL, etc.).
For 5G NR, the counters live primarily under the NRBTS, NRCELL, NRCELL_5G (legacy alias), and NRCELL_FDD/TDD measurement objects. The naming convention is M<measurement-id>C<counter-id>, but most engineers use the descriptive names exposed in NetAct PM browser.
The counters that actually matter
Accessibility
| Counter | Meaning |
|---|---|
| NR_INI_CTXT_SETUP_ATT | Initial UE context setup attempts |
| NR_INI_CTXT_SETUP_SUCC | Initial UE context setup successes |
| NR_RRC_CONN_STP_ATT | RRC connection setup attempts |
| NR_RRC_CONN_STP_SUCC_SA | RRC connection setup successes (SA) |
| NR_RACH_STP_ATT | RACH attempts |
| NR_RACH_STP_COMPL | RACH completions |
| NR_PDU_SES_RES_SETUP_ATT | PDU session resource setup attempts |
| NR_PDU_SES_RES_SETUP_SUCC | PDU session resource setup successes |
The headline KPI:
5G CSSR (SA) =
(NR_RRC_CONN_STP_SUCC_SA / NR_RRC_CONN_STP_ATT)
* (NR_INI_CTXT_SETUP_SUCC / NR_INI_CTXT_SETUP_ATT)
* (NR_PDU_SES_RES_SETUP_SUCC / NR_PDU_SES_RES_SETUP_ATT)
Many operators stop at the first two factors — that gives you signaling CSSR but not data plane. Always include the PDU session step for honest accessibility.
Retainability
| Counter | Meaning |
|---|---|
| NR_ERAB_REL_NORMAL | Normal session releases |
| NR_ERAB_REL_ABNORMAL_GNB | Abnormal release initiated by gNB |
| NR_ERAB_REL_ABNORMAL_5GC | Abnormal release initiated by 5GC |
| NR_ERAB_REL_RNL | Release due to radio network layer |
ERAB Drop Rate = NR_ERAB_REL_ABNORMAL_GNB / (NR_ERAB_REL_NORMAL + NR_ERAB_REL_ABNORMAL_GNB)
Do not include 5GC-initiated abnormal releases in radio drop rate — those are core problems and need separate tracking.
Mobility
| Counter | Meaning |
|---|---|
| NR_INTRA_GNB_HO_PREP_ATT | Intra-gNB HO preparation attempts |
| NR_INTRA_GNB_HO_PREP_SUCC | Intra-gNB HO preparation successes |
| NR_INTRA_GNB_HO_EXEC_ATT | Intra-gNB HO execution attempts |
| NR_INTRA_GNB_HO_EXEC_SUCC | Intra-gNB HO execution successes |
| NR_INTER_GNB_HO_XN_ATT | Xn HO attempts |
| NR_INTER_GNB_HO_XN_SUCC | Xn HO successes |
| NR_INTER_GNB_HO_NG_ATT | NG HO (N2-based) attempts |
| NR_INTER_GNB_HO_NG_SUCC | NG HO successes |
Report HOSR per source-target pair, not per cell. NetAct supports drill-down by neighbour relation; use it.
Throughput
| Counter | Meaning |
|---|---|
| NR_PDCP_DL_VOL_DRB | DL PDCP volume per DRB (kB) |
| NR_PDCP_UL_VOL_DRB | UL PDCP volume per DRB (kB) |
| NR_DL_TIME_PDCP | Active time used in DL throughput calc |
| NR_UL_TIME_PDCP | Active time used in UL throughput calc |
| NR_AVG_UE_DL_THP | Average UE DL throughput (kbps) |
| NR_AVG_UE_UL_THP | Average UE UL throughput (kbps) |
UE throughput must use "active time" denominators (the time the UE actually had data to send), not wall-clock time. Otherwise idle UEs depress the average. Nokia gets this right by default; do not divide by sample count.
Resource utilization
| Counter | Meaning |
|---|---|
| NR_PRB_USED_DL | DL PRBs used |
| NR_PRB_AVAIL_DL | DL PRBs available |
| NR_PRB_USED_UL | UL PRBs used |
| NR_PRB_AVAIL_UL | UL PRBs available |
| NR_AVG_ACTIVE_UE_DL | Avg active UEs DL |
| NR_MAX_ACTIVE_UE | Max active UEs |
DL PRB Utilization = NR_PRB_USED_DL / NR_PRB_AVAIL_DL
Coverage and quality
| Counter | Meaning |
|---|---|
| NR_AVG_UE_RSRP | Avg reported RSRP |
| NR_AVG_UE_SINR | Avg reported SINR |
| NR_CQI_DISTRIBUTION_DL | CQI histogram |
| NR_BLER_DL | DL BLER (after HARQ) |
| NR_BLER_UL | UL BLER (after HARQ) |
The CQI distribution counter is more useful than the average. Bimodal CQI distributions (lots of 4s and 13s, few in the middle) indicate cell-edge users dragging the average — different problem from a uniformly mediocre cell.
Building a useful dashboard
The Reporting Suite (or the newer MantaRay analytics) lets you build dashboards. Three I would always have:
Cell health overview (cell granularity, hourly)
- CSSR (SA)
- ERAB Drop Rate
- HOSR (intra-gNB)
- DL PRB Utilization
- Avg UE DL Throughput
- Avg active UEs
Filter to top 50 worst cells by drop rate. Sort by attempts so you do not chase one-call cells.
Mobility detail (cell-pair granularity, daily)
- HO Prep SR per pair
- HO Exec SR per pair
- HO failures by cause (T304, RA timeout, target reject)
Coverage and quality (cell granularity, daily)
- RSRP distribution
- SINR distribution
- CQI histogram
- BLER DL/UL
Workflow patterns
> NetAct PM browser is fine for spot checks. For repeatable analysis, build a saved report and schedule the export. Manual re-querying produces inconsistent KPIs.
Triaging a degraded cell
- Check accessibility components — find which factor of CSSR collapsed.
- Check retainability — is drop rate up?
- Check resource utilization — is the cell overloaded?
- Check coverage counters — has RSRP/SINR shifted?
- Cross-reference alarm history for the same window.
Spotting silent degradation
Not all problems trigger alarms. Schedule weekly reports for:
- Cells with > 20% drop in DL throughput week-over-week
- Cells with new T304 failures appearing
- Cells with PRACH attempt-to-completion ratio falling
Common gotchas
- Counter aggregation interval matters. NetAct ROP is 15 min by default; some operators run 60 min for storage savings, which masks short events.
- NRBTS-level counters aggregate across cells. For per-cell, use NRCELL or NRCELL_FDD/TDD measurement objects.
- After Nokia software upgrades, counter IDs sometimes change. Always re-validate dashboards after a release upgrade.
- The PM browser shows raw counter values. KPIs require formulas — define them once in Reporting Suite and reuse, do not recalculate in spreadsheets.