Each stage's success rate is a straight ratio of its family's counters; end-to-end session accessibility is their product — the same decomposition method as LTE's ErabAccessibilityInit, applied to the SA chain. A single headline number can't localize a fault; the four factors can.
| Stage KPI | Family | Formula (Samsung counters) | Typical target |
|---|---|---|---|
| ① RRC Setup SR | 5213 RRC_ESTAB | ConnEstabSucc ÷ ConnEstabAtt × 100 | ≥ 99% |
| ② NG-Connection SR | 5223 NG_ESTAB | NgConnEstabSucc ÷ NgConnEstabAtt × 100 | ≥ 99.5% |
| ③ F1 UE Context SR | 5136 F1AP_UE_SETUP_CU | CU_F1UeSetupSucc ÷ CU_F1UeSetupAtt × 100 | ≥ 99.5% |
| ④ PDU Session SR | 5222 PDU_SESSION_RESOURCE_SETUP | PduSetupSucc ÷ PduSetupAtt × 100 | ≥ 99% |
| Session accessibility | chain | ① × ② × ③ × ④ | ≥ 98% |
5214 RRC_SETUP_TIME times stage ①; 5224 NG_SETUP_TIME times stage ②; 5438 repeats the PDU family per PLMN per S-NSSAI (the slice/operator view); 5226 RRC_MSG and 5225 NGAP_MSG_UE hold the raw message evidence (Rx_RRCSetupRequest, Rx_NGInitialContextSetupRequest…); 5203 RRC_REESTAB covers recovery.The UE RACHes (per-beam Family 5243), completes NR RRC setup (①), the gNB opens the UE-associated NG connection to the AMF with the Initial UE Message (②), the CU builds the UE context at the DU over F1 (③), and the AMF's PDU Session Resource Setup completes the data path (④).
Every SA failure counter ends in a suffix that names the owning element. Six suffixes cover the whole chain:
| Suffix | Domain | Meaning | First place to look |
|---|---|---|---|
_CpFail / _Others | gNB-CU-CP | Internal failure of the CU-CP blocks | CU-CP health, gNB load |
_RrcTimeout | Air · UE | RRC message timeout — the UE never answered | UL/DL coverage, beam/RACH health (5243) |
_NgFail / _NgTimeout | AMF · NG | Failure or timeout from the AMF over NG | NG-C transport, AMF capacity |
_E1Fail / _E1Timeout | gNB-CU-UP · E1 | Failure/timeout from the CU-UP or the E1 link | E1 transport, CU-UP health |
_F1Fail / _F1Timeout / _DUFailure / _DUTimeout | gNB-DU · F1 | Failure/timeout from the DU or the F1 link | F1 / fronthaul, DU health |
_MacFail / _RlcFail (+timeouts) | DU lower layers | MacUeSetup / RlcUeSetup failed inside the DU | DU channel-card / lower-layer health |
Reject_CacFail / CacFail_* | Admission | CAC rejected (call/DRB count, QoS-based) | Families 5147/5148 — capacity & policy |
_E1Fail in both NG ② and PDU ④ = one CU-UP/E1 event; _RrcTimeout in ① and ④ = the UE keeps dropping at the air; _NgFail only in ④ = the AMF accepts the UE but rejects the session (subscription / slice / UPF side). Cross-family patterns turn four counters into one diagnosis.The KPI. ConnEstabSucc ÷ ConnEstabAtt × 100. The message evidence lives in Family 5226 RRC_MSG (Rx_RRCSetupRequest → Tx_RRCSetup → Rx_RRCSetupComplete, rejects in Tx_RRCReject); Family 5214 times the setup; Family 5203 RRC_REESTAB covers recovery.
| Counter | Domain | Verbatim description |
|---|---|---|
| ConnEstabAtt | attempt | Number of RRC connection setup attempts. |
| ConnEstabSucc | success | Number of successful RRC connection setups. |
| ConnEstabFail_CpFail | CU-CP | Setup failures because of an internal failure of the gNB-CU-CP blocks. |
| ConnEstabFail_RrcTimeout | Air · UE | Setup failures because of RRC message timeout — SetupComplete never arrived. |
| ConnEstabReject_CpFail | CU-CP | gNB transmitted RRC Reject because of an internal CU-CP condition. |
| ConnEstabReject_CacFail | Admission | gNB transmitted RRC Reject because CAC rejected the call. |
| Dominant counter | Diagnosis | Technique / lever |
|---|---|---|
ConnEstabFail_RrcTimeout | UE unreachable after Setup — coverage/beam | Per-beam RACH first (Family 5243: SuccessRateCBRAPerBeam — a weak beam shows here); then NR RRC timers (t300 ms100…ms2000, default ms200) and RACH power levers (preamble-trans-max n3…n200 default n4, power-ramping-step dB0/2/4/6 default dB2) |
ConnEstabReject_CacFail | Admission ceiling | Families 5147/5148: identify which cap fired (CacFail_CellCallCount / GnbCallCount / …DrbCount / QosBasedCount) and raise the matching limit or offload — see the CAC section below |
ConnEstabFail_CpFail / Reject_CpFail | CU-CP internal | CU-CP health & alarms; if load-driven, gNB capacity — not a radio parameter |
The KPI. NgConnEstabSucc ÷ NgConnEstabAtt × 100 — the SA analogue of LTE's S1SIG: "statistics for logical NG connections" — attempt pegs with the Initial UE Message to the AMF (evidence: Tx_NGInitialUEMessage, Rx_NGInitialContextSetupRequest, Tx_NGInitialContextSetupResponse/Failure in Family 5225). This factor isolates "is the AMF answering the gNB?"
| Counter | Domain | Verbatim description |
|---|---|---|
| NgConnEstabAtt | attempt | Number of UE-associated logical NG-connection setup attempts. |
| NgConnEstabSucc | success | Number of successful UE-associated logical NG-connection setups. |
| NgConnEstabFail_NgTimeout | AMF · NG | Failures because of NG message timeout — the AMF never answered. |
| NgConnEstabFail_NgFail | AMF · NG | Failures because of a failure from the AMF over NG. |
| NgConnEstabFail_CpFail | CU-CP | Failures because of an internal CU-CP failure. |
| NgConnEstabFail_E1Fail | CU-UP · E1 | Failures because of a failure from the gNB-CU-UP / E1. |
| NgConnEstabFail_F1Fail | DU · F1 | Failures because of a failure from the gNB-DU / F1. |
NgTimeout dominant = AMF slow/silent → NG-C transport (SCTP) + AMF capacity/dimensioning; NgFail dominant = the AMF is actively failing the request → decode the NGAP cause (subscription, slice, security); Tx_NGInitialContextSetupFailure in Family 5225 gives the raw evidence. RRC ① healthy + NG ② degraded = pure core problem — no radio change will move it. Per FGR-CC3101 (SVR25A): on Error Indication with "Unknown local UE NGAP ID / Inconsistent remote UE NGAP ID" the gNB performs a local release — a rising 5391 SETUP_UECONTEXT_RELEASE alongside points at NGAP-ID inconsistencies.The KPI. CU_F1UeSetupSucc ÷ CU_F1UeSetupAtt × 100. Unique to the split gNB — no LTE equivalent. The same procedure is counted from both ends: the CU's view (5136) and the DU's view (5137, including the lower-layer causes). Comparing them localizes the fault to the link or the DU internals.
| Counter | View | Verbatim description |
|---|---|---|
| CU_F1UeSetupAtt | CU | Number of F1 UE Context Setup Request messages transmitted to the gNB-DU. |
| CU_F1UeSetupSucc | CU | Number of F1 UE Context Setup Response messages received from the gNB-DU. |
| CU_F1UeSetupFail_DUFailure | CU | Failures because an F1 UE Context Setup Failure was received from the DU. |
| CU_F1UeSetupFail_DUTimeout | CU | Failures because of a timeout waiting for the DU. |
| DU_F1UeSetupFail_MacFail | DU | Failures because a MacUeSetup failed inside the DU. |
| DU_F1UeSetupFail_RlcFail | DU | Failures because an RlcUeSetup failed inside the DU. |
| DU_F1UeSetupFail_MacTimeout / _RlcTimeout | DU | Failures because of a timeout of the MAC / RLC setup inside the DU. |
CU_…DUTimeout high but the DU-side family clean → the F1/fronthaul link is eating messages. DU_…MacFail/RlcFail high → the DU itself (channel card / lower layers) is failing — same treatment as LTE's Up* counters: board health, not parameters. This two-view comparison is exactly why Samsung counts the procedure twice.The KPI. PduSetupSucc ÷ PduSetupAtt × 100. The richest failure split of the chain — seven causes spanning every element. Family 5438 repeats it per PLMN and per S-NSSAI: the slice accessibility view.
| Counter | Domain | Verbatim description |
|---|---|---|
| PduSetupFail_NgFail | AMF · NG | Failures because of a failure from the AMF over NG. |
| PduSetupFail_E1Fail / _E1Timeout | CU-UP · E1 | Failures because of a failure / message timeout from the gNB-CU-UP over E1. |
| PduSetupFail_F1Fail / _F1Timeout | DU · F1 | Failures because of a failure / message timeout from the gNB-DU over F1. |
| PduSetupFail_RrcTimeout | Air · UE | Failures because of RRC message timeout — the UE lost at reconfiguration. |
| PduSetupFail_CpFail | CU-CP | Failures because of an internal CU-CP failure. |
_E1Fail = CU-UP/E1; _NgFail only = AMF-side rejection (per FGR-CC3101, the gNB also answers a failure to the AMF when it cannot process the Setup — check both directions). VoNR: watch the SVR25A-added F1 DRB-setup failure counters for "Not supported QCI value" on 5QI-1.Before RRC there is the beam: NR RACH is counted per cell per beam — a single bad SSB beam hides inside a healthy cell average. And before the procedure there is admission: the CAC families tell you exactly which cap rejected.
| Counter | Verbatim description |
|---|---|
| RachPreambleAPerBeam | Detected preambles for CBRA per cell and per beam (CFRA: RachPreambleACFRAPerBeam). |
| NumRARPerBeam | Scheduled RARs per cell/beam corresponding to Msg1. |
| NumMSG3PerBeam / NumMSG5PerBeam | Successfully decoded Msg3 / Msg5 per cell and per beam. |
| SuccessRateCBRAPerBeam / SuccessRateCFRAPerBeam | The per-beam success rate of CBRA / CFRA. |
| Counter | Scope | What was exhausted |
|---|---|---|
| CacFail_CellCallCount / _SystemCallCount / _ChannelCardCallCount | DU (5147) | Call-count cap per cell / system / channel card |
| CacFail_CellDrbCount / _SystemDrbCount / _ChannelCardDrbCount | DU (5147) | DRB-count cap per cell / system / channel card |
| CacFail_QosBasedCount | DU (5147) | QoS-based admission |
| CacFail_GnbCallCount / _AcpfCallCount | CU-CP (5148) | Call-count cap per gNB / per ACPF |
prach-config / ue-timer-constants) — preamble-trans-max n3…n200 default n10 · power-ramping-step dB0/2/4/6 default dB2 · ra-contention-resolution-timer sf8…sf64 default sf64 · msg1-fdm n1/n2 default n1 · ssb-per-rach-occasion-choice …four default one · cb-preambles-per-ssb 1…64 default 56 · zero-correlation-zone-config 0…15 default 12 · RRC timers: t300/t301 default ms200, t304 ms1000, t310 ms2000, t311 ms5000, t319 ms600, n310 n10, n311 n1. Tune the beam→RO mapping where one beam's SuccessRateCBRAPerBeam lags the cell. Full 50+ parameter master table below ↓Enter the four families' counters; the studio computes each stage SR and the session product, grades against targets, finds the weakest stage, and the diagnostic engine below ranks every failure counter into an action plan.
Every failure counter routed from its domain to the stage where it pegs. Click a domain for its blast-radius, a stage for everything that fails there, a scenario for a cross-stage signature — or any counter chip for its full optimization card.
An SA UE passes four gates — access control → interfaces → procedure → admission. Each node is a real Samsung FGR feature; click any node for its full card: what it is, benefit, how it works, recommended parameters, technique and counters.
Every accessibility-relevant parameter, grouped by function — MO path, range and default verbatim from the Samsung CU ACPF Parameter Description (SVR25A) and DU Parameter Description (SVR22B). The Optimization guidance column tells you when and which way to move each lever.
| Parameter | Range | Default | Optimization guidance |
|---|---|---|---|
| t300 | ms100 … ms2000 | ms200 | RRC setup supervision at the UE — lengthen only where RACH→Setup RTT is genuinely slow; shorter = faster retry |
| t301 | ms100 … ms2000 | ms200 | Re-establishment request timer — pair with t311 when tuning recovery |
| t304 | … ms10000 | ms1000 | Reconfig-with-sync (HO/PSCell) completion — widen on large cells / marginal targets |
| t310 | … ms6000 | ms2000 | Out-of-sync → RLF declaration; shorter = faster recovery but drops recoverable links (drives 5085-style RLF) |
| t311 | … ms30000 | ms5000 | Re-establishment cell-search window — widen where neighbour search is slow (deep indoor) |
| t319 | … ms2000 | ms600 | RRCResumeRequest supervision (INACTIVE) — tune with the RRC-Inactive feature (group D) |
| n310 | … n20 | n10 | Consecutive out-of-sync before t310 starts — lower = more sensitive RLF detection |
| n311 | … n10 | n1 | In-sync count that cancels t310 — raise to require a steadier recovery |
| rrc-setup / rrc-resume / rrc-reestablish (gNB · rrc-sa-timer-profile) | 10 … 65535 ms | 1000 / 3000 / 2000 | gNB-side supervision of the three procedures — the levers behind ConnEstabFail_RrcTimeout; shorten for faster failure detection once RF is clean |
| Parameter | Range | Default | Optimization guidance |
|---|---|---|---|
| preamble-trans-max | n3 … n200 | n10 | Raise where access is coverage-limited (weak-beam cells); more attempts before the UE gives up |
| power-ramping-step | dB0/2/4/6 | dB2 | dB4 converges faster at the edge at the cost of interference; keep dB2 in dense grids |
| ra-contention-resolution-timer | sf8 … sf64 | sf64 | Msg4 window — shorten (sf48) for faster failure/retry on low-latency networks |
| msg1-fdm | n1 / n2 | n1 | n2 doubles frequency-domain RACH occasions — use under PRACH congestion |
| prach-configuration-index | 0 … 255 | (plan) | PRACH format/periodicity (TS 38.331 §6.3.2) — denser index = more RACH opportunities; cell-lock needed to change |
| ssb-per-rach-occasion-choice | … four | one | Beam→RO mapping density — match to the SSB beam count; wrong mapping starves specific beams (check 5243 per beam) |
| cb-preambles-per-ssb | 1 … 64 | 56 | Contention preambles per SSB — lower it only when reserving CFRA preambles; too low = collisions |
| zero-correlation-zone-config | 0 … 15 | 12 | Preamble cyclic-shift spacing — must match cell radius; wrong value = ghost/missed preambles |
| Parameter | Range | Default | Optimization guidance |
|---|---|---|---|
| call-count-cac-usage (ACPF & gNB) | not-use / use | use | Keep on — the master call-count gate behind CacFail_AcpfCallCount / GnbCallCount (Fam 5148) |
| call-cac-threshold | 0.00 … 100.00 | 100.00 | Lower to 80–90% to intervene before hard overload — same early-intervention logic as the LTE guide's 90→85% move |
| qos-based-cac-usage | not-use / use | use | PRB-aware GBR admission — keep on where GBR/VoNR runs; behind CacFail_QosBasedCount (5147) |
| dl-normal-threshold (per QCI) | 0.00 … 100.00 | 100.00 | DL GBR PRB budget — lower per 5QI to protect voice from best-effort GBR load |
| ul-normal-threshold (per QCI) | 0.00 … 100.00 | 100.00 | UL twin of the above — UL is usually the tighter budget |
| slice-cac-usage | not-use / use | not-use | Enable when slicing is sold — per-slice-group admission (FGR-CC0303); read results per S-NSSAI in Fam 5438 |
| slice-group-0…15-portion | 0.00 … 100.00 | 0.00 | Per-slice-group resource portion — size to each slice's SLA before enabling slice CAC |
| Parameter | Range | Default | Optimization guidance |
|---|---|---|---|
| feature-enabled (rrc-inactive-info) | disable / enable | disable | Enable to use RRC_INACTIVE (FGR-CC0103) — cuts attach/service-request latency by keeping the UE context in RAN; costs gNB memory |
| rrc-inactive-timer | 1 … 7200 s | 10 | CONNECTED→INACTIVE after silence — shorter frees radio faster; too short churns resume signalling |
| rrc-idle-timer | 1 … 7200 s | 10 | INACTIVE→IDLE — longer keeps the fast-resume window open (better re-accessibility) |
| resume-wait-timer | 1 … 10 s | 3 | Wait for RRCResumeRequest after RAN paging before releasing the inactive context |
| notification-level | ue-activity / drb-activity | ue-activity | Granularity of activity notification driving the state machine |
| release-preference-on-off | off / on | off | On honours UE-preferred release (FGR-CC0108, UEAssistanceInformation) — battery-friendly, fewer stale CONNECTED UEs |
| release-preference-prohibit-timer | … infinity | S5 | Prohibits repeat preference reports — protects the gNB from assistance-info storms |
| ue-inactivity-timer | 1 … 7200 s | 10 | UE-level inactivity to release (FGR-CC0504) — coordinate with rrc-inactive-timer so states cascade sensibly |
| drb-inactivity-timer | 1 … 7200 s | 10 | Per-DRB inactivity — frees individual bearers without dropping the UE |
| Parameter | Range | Default | Optimization guidance |
|---|---|---|---|
| call-preemption-usage | not-use / use | use | Keep on so ARP means something under congestion (FGR-CC0401) |
| drb-preemption-usage | not-use / use | not-use | Enable to allow bearer-level preemption — finer than dropping whole calls |
| preemption-trigger-arp-priority | 1 … 15 | 3 | ARP at/above which a new call may preempt — lower value = more aggressive protection of priority users |
| preemption-with-redirection | not-use / use | not-use | Enable so the victim is redirected instead of dropped — protects retainability while preemption protects accessibility |
| emergency-priority | 1 … 16 | 1 | Standalone preemption priority for emergency — keep at the top |
| emergency-arp-value | 1 … 15 | 2 | ARP assigned to emergency calls (FGR-CC0601) — must beat preemption-trigger-arp-priority |
| ecall-over-ims-support | off / on | — | Broadcasts eCall-over-IMS support — regulatory; verify per market |
| Parameter | Range | Default | Optimization guidance |
|---|---|---|---|
| call-protect-usage | not-use / use | not-use | Enable — caps RRCSetupRequest/ResumeRequest + SgNB-Add per unit time so a signalling storm can't topple the CPU |
| paging-protect-usage | not-use / use | not-use | Enable — pairs with the paging thresholds; denies land in Fams 5180/5185 |
| monitoring-period | 1 … 15 s | 2 | Window over which the request rate is measured — shorter reacts faster, burstier |
| threshold-for-paging | 0 … 65535 | 2400 | Pagings per window before shedding — size to the AMF paging profile |
| scaling-factor-for-normal | 0.00 … 2.00 | 1.00 | Multiplier at Normal CPU state — with the minor/major/critical factors it shapes the graceful-degradation curve |
| scaling-factor-for-minor/major/critical | 0.00 … 2.00 | (per level) | Progressively stricter shedding as CPU load rises — tighten critical first |
| Parameter | Range | Default | Optimization guidance |
|---|---|---|---|
| cell-barred ([DU] cell-access-info) | barred / not-barred | not-barred | Deliberate gate (FGR-CC3102) — commissioning/tests only; SVR25A: calls accepted until "barred" actually broadcasts in MIB |
| ue-capability-enquiry-3step | off / on | off | 3-step UECapabilityEnquiry (FGR-CC3103) — enable where large capability containers slow setup |
| cipher-preferred-algorithm | nea0 … nea2 | nea2 | AS ciphering preference (FGR-BC0323) — align with the AMF list to avoid security-mode failures |
| integrity-preferred-algorithm | nia0 … nia2 | nia2 | AS integrity preference — mismatches surface as setup failures at security mode |
| sctp-association-heartbeat-interval | 100 … 60000 ms | 1500 | E1/NG/F1 SCTP heartbeat — faster detection of dead links (feeds the *Timeout counters); don't set so low it false-triggers |
| e1-interface-delete-time | 1 … 1440 min | 5 | Grace before deleting a failed E1 — longer rides out flaps without tearing bearer contexts |
| f1-interface-delete-time | 10 … 1440 min | 0 | Same for F1 — 0 = immediate; consider a grace period on flappy fronthaul |
| rrc-inactive-info-redcap · rrc-inactive-timer | 1 … 7200 s | 10 | RedCap twin of the Inactive timer (FGR-CC2000/CC0103-SVR25A) — tune separately for IoT profiles |
RTRV first). Move one lever per soak, verify on the owning family's counters, and guard with 5391/5203 (releases/re-establishments) so a "gain" doesn't ship its failure downstream.Baseline — pull all four families per cell
Collect Families 5213 / 5223 / 5136(+5137) / 5222 for the busy hour; compute the four stage SRs and the session product. Add 5243 per-beam RACH and 5147/5148 CAC.
Find the weakest stage
The lowest of the four SRs owns the loss. ① = radio/CU-CP/CAC · ② = AMF/NG · ③ = DU/F1 · ④ = the element its dominant suffix names.
stage split — the first cut of every SA investigation If wrong: teams chase the wrong element for weeks.Rank the failure counters — the Pareto
Within the losing stage, rank the failure counters (the engine above does this). The suffix names the owner: _RrcTimeout=air · _NgFail/NgTimeout=AMF · _E1*=CU-UP · _F1*/_DU*/_Mac*/_Rlc*=DU · _CpFail=CU-CP · CacFail=admission.
Rule out deliberate gates
UAC category restrictions active? Cell reserved / barred (Access Identity 11/15 exempt)? RedCap barring on? Cell shutting down (accepts calls until 'barred' hits the MIB — SVR25A behaviour)? CAC caps as designed?
FGR-CC3102 UAC/barring · Families 5147/5148 If wrong: you "fix" RF on a cell that is barred by policy.Apply ONE lever
Air loss → per-beam RACH (5243) + preamble-trans-max / power-ramping-step / ssb-per-rach-occasion + t300. CAC loss → the specific fired cap. Transport loss → the owning link (NG/E1/F1). Core loss → AMF with the 5225 message evidence.
Soak & verify — same counters, same hour
Re-measure all four families over the same busy hour: the target counter must fall, its stage SR must rise, and the other three stages must hold. Check 5391 SETUP_UECONTEXT_RELEASE and 5203 RRC_REESTAB didn't rise — a fix that ships releases/re-establishments is a net loss.
Lock in — slice & VoNR view
Re-read ④ per PLMN·S-NSSAI (Family 5438) so no slice regressed, and watch the SVR25A F1 DRB-setup failures for "Not supported QCI value" on 5QI-1 (VoNR). Document the change.
Fam 5438 per-slice · 5QI-1 DRB failures If wrong: the aggregate looks fixed while one slice (or voice) is broken.SA is the full chain — four families, one product, one diagnosis.
RRC 5213 × NG 5223 × F1 5136 × PDU 5222 — decompose, decode the suffix, fix the owning element. Compare with the LTE three-factor chain and the NSA SgNB-Addition split to master all three generations.
Sources: Samsung 5G NR Counter Description (CU-CP ACPF + DU, SVR25A/B — Families 5213 RRC_ESTAB, 5223 NG_ESTAB, 5224, 5136/5137 F1AP_UE_SETUP, 5222/5438 PDU_SESSION_RESOURCE_SETUP, 5147/5148 ADMISSION_CONTROL_FAIL, 5243 NR_PRACH_BEAM, 5225/5226 message families, 5391, 5203 — counter names & descriptions verbatim, via the operator NR KPI workbook) · 5G RAN Feature Description SVR25B (FGR-CC3101 Basic Operation for NR SA, FGR-CC3102 Access control for SA incl. UAC & RedCap barring, FGR-CC1104/1105/1106 F1/E1/NG interface management) · NR golden parameters from the Samsung DU Parameter Description. SA procedures per 3GPP TS 38.331 / 38.413 / 38.473. Targets are typical operator values; counters, families and mechanics are vendor-exact.