In MOCN, operators share everything at the radio — the site, the gNB hardware and one spectrum carrier — and the cell broadcasts every operator's PLMN in SIB1. What stays separate is each operator's core: its own AMF, SMF/UPF (user plane) and UDM/AUSF (subscriber DB). A UE selects its home PLMN from SIB1 and the shared gNB routes it over NG to that operator's core.
| Shared (RAN) | Separate (per operator core) |
|---|---|
| Site & gNB/eNB hardware | AMF / MME |
| Spectrum carrier (one channel) | SMF / UPF (user plane) |
SIB1 (all PLMNs broadcast) | UDM / AUSF (subscriber DB) |
MOCN isn't one feature — it's a stack. Identity + broadcast, then the resource split, then admission & QoS per operator, then load balancing, overload protection, slice/service steering and AMF selection. Every code below is a real Samsung FGR from the RAN Feature Description; this is the full toolbox you configure and trial.
| FGR | Feature | What it does · where in MOCN |
|---|---|---|
FGR-CC6101 | Multiple PLMN Support | Broadcast up to 8 PLMNs per cell in SIB1 plmn-IdentityInfoList — Phase 1–2 |
FGR-RS1801 | PLMN-Based PRB Portion Control | Controllable PRB share per PLMN via distribution ratio — Phase 4 |
FGR-RS1201 | PLMN PRB portion + DSS | PRB portion control that coexists with LTE-NR Dynamic Spectrum Sharing |
FGR-MC1015 | PLMN-Based Mobility Control | Per-PLMN measurement/report config so HO stays in-operator — Phase 5 |
FGR-CC6001 | AMF Selection & Load Balancing | Select the correct operator AMF (GUAMI) & balance across the AMF set |
| FGR | Feature | What it does |
|---|---|---|
FGR-CC0301 | Call Admission Control (capacity) | Per-PLMN capacity admission — cap concurrent context |
FGR-CC0302 | QoS / GBR CAC | Admission on GBR bearers by the PRB portion per cell |
FGR-CC0303 | CAC for Network Slice | Per-slice (S-NSSAI) admission control |
FGR-CC0431 / CC0421 | UE-AMBR & UE-Slice-MBR | Per-UE and per-slice aggregate max bit rate |
FGR-BC7002 | Max Rate Control per QCI/5QI/Slice | Rate-shape each operator's QoS classes / slices |
| FGR | Feature | What it does |
|---|---|---|
FGR-LC0702 | Idle-Mode Load Balancing | Per-PLMN idle distribution ratio (reselection-based) — see below |
FGR-LC0703 | Connected-Mode / FR1 Load Balancing (MLB) | Load-based HO offload using neighbour resource-status |
FGR-MC1006 | Cell Reselection control | RSRP/RSRQ/SINR reselection thresholds & SSB averaging |
FGR-MC1019 / MC1021 | Service (5QI/Slice)-based idle | Steer active-to-idle UEs by service / slice; per-slice idle mobility |
| FGR | Feature | What it does |
|---|---|---|
FGR-LC0302 | Overload Protection | X2/Xn overload status indication, hand-in restriction |
FGR-LC0303 | Overload Protect (paging / call) | Paging-protect & call-protect thresholds under congestion |
FGR-CC1103 | Overload Action | Bar access under critical/major overload |
FGR-CC0401 | Preemption with Redirection | Preempt low-priority bearers & redirect |
FGR-CC0801 / LC0704 | SPID-based steering | SPID/RFSP serving-cell selection & EN-DC operation per PLMN |
FGR-SV0201 / SV0202 | Fallback / Emergency Redirection | Blind or measurement-based redirection on fallback |
| FGR | Feature | Description |
|---|---|---|
FGR-RS1202 | PLMN PRB portion + DSS (variant) | Applies per-PLMN PRB portion control on a carrier that also runs LTE-NR Dynamic Spectrum Sharing |
FGR-CC5001 | Freq-priority PSCell change (EN-DC) | Per-PLMN frequency-priority-based PSCell add / change / switch for EN-DC UEs |
FGR-CC5003 | SPID-based UL path switching | Per-SPID choice of the UL primary path (MCG/SCG) — steer premium subscribers per operator |
FGR-CC0413 | PLMN-based QoS-DRB mapping | Maps QoS flows → DRBs per PLMN, keeping each operator's QoS handling independent |
FGR-MC1006 | Cell reselection control | Per-cell reselection thresholds (RSRP/RSRQ/SINR), SSB averaging & SIB2 sub-priority |
FGS-SF0502 | PLMN translation table | Translates up to 8 received PLMNs (mcc0-7/mnc0-7) to an actual PLMN — roaming / steering |
FGR-RV0601 | Delay-critical slice support | Delay-critical GBR handling for a slice (URLLC-class) per operator |
FGR-MC1019 / MC1021 | Service / slice-based idle | Steer active-to-idle UEs by 5QI / slice; per-slice idle mobility for specified slices |
CC6101, RS1801, MC1015) to the QoS, slice, load-balancing and steering features that turn a working shared cell into an SLA-grade one. Every code here is a real Samsung FGR you enable and trial.MOCN is built in a strict order — identity first, then user plane, then the resource split, then mobility, then commit. Do it out of order and SIB1 or the per-PLMN routing breaks.
DU PLMN list — declare who the cell serves
On the DU cell, define the ordered broadcast PLMN list — every mcc/mnc that will appear in SIB1's plmn-IdentityInfoList. The first entry is the primary (host) PLMN; up to 8 are allowed (FGR-CC6101). The DU owns the SIB scheduling that actually airs these PLMNs, so identity starts here.
CU-CP anchor — identity, TAC & supported slices
On the CU-CP, register each PLMN in gnb-cu-plmn-info (plmn-index, mcc, mnc) with its trackingAreaCode, and populate plmn-support-info-entries with the S-NSSAI slice list that operator supports. At NG Setup the CU-CP advertises this per-PLMN "Supported TA List" to each operator's AMF, so the AMF knows this gNB serves it.
CU-UP per-PLMN — route each operator's user plane
Bring up the user plane per PLMN on the CU-UP so each operator's PDU sessions terminate at its own SMF/UPF over N3. E1 (CU-CP↔CU-UP) carries the bearer context tagged with the PLMN and S-NSSAI, so the SDAP/PDCP-U instance maps to the right operator.
PRB portion control — split the carrier by policy
Enable FGR-RS1801 and set each PLMN's PRB share with plmn-N-ue-distribution-ratio (0–100 %) plus distribution-ratio-per-plmn-switch = enable (FGR-LC0702). Reinforce it with per-PLMN CRP and admission hard limits so the ratio is a floor, not a hint. With DSS present, use FGR-RS1201 so the portion coexists with the LTE carrier.
DLUsedPrbPlmn (Fam 5241).Mobility — keep each UE in its operator's context
Apply FGR-MC1015: measurement/reporting configuration per PLMN, so each operator's UEs use that operator's neighbour list and frequency priorities on HO and reselection. Idle (LC0702) and connected (LC0703) load-balancing are PLMN-aware too.
SVR25 new features — apply the current release deltas
Enable the SVR25A/B MOCN enhancements the deployment needs — newer per-PLMN slice CAC, richer per-PLMN reporting, DSS interworking. Turn on only what is licensed and required, and treat each as a golden-parameter change to trial (Day 6 method).
SVR25A/B feature switches (per-PLMN CAC · slice · DSS) If wrong: enabling an unlicensed or unneeded feature can change scheduler behaviour cell-wide — stage one feature at a time.Commit & verify — prove it per-PLMN
Commit the cell, then verify three things: (a) a SIB1 decode shows every PLMN in plmn-IdentityInfoList with the right TAC; (b) each operator's AMF shows the gNB up over NG; (c) per-PLMN KPIs — PRB usage (Fam 5241), throughput/loss (Fam 5583/5584) and the PlmnNotServedByTheGnbCu cause (Fam 5026/5174) — are healthy and match the configured portions.
| Leaf | MO | Range | Sets |
|---|---|---|---|
| plmn-index | gnb-cu-plmn-info | 0… | PLMN entry index on the CU |
| mcc | gnb-cu-plmn-info | 3 digits | Mobile Country Code |
| mnc | gnb-cu-plmn-info | 2–3 digits | Mobile Network Code |
| plmn-support-info-index | plmn-support-info-entries | 0…15 | Per-PLMN support entry (up to 16) |
| plmn-translation-switch | plmn-translation-table | off / on | Enable the 8-PLMN translation table (mcc0…7/mnc0…7) |
Put it all together on a concrete cell: one n78, 100 MHz TDD carrier (30 kHz SCS → 273 PRBs), shared 60/40 between two operators. Operator A takes the larger share; both run an eMBB slice to their own core. These are example PLMN codes — the engineering is exactly what you enter in LSM.
| Item | MO leaf / feature | Operator A | Operator B |
|---|---|---|---|
| PLMN (MCC/MNC) | gnb-cu-plmn-info · mcc/mnc | 404 / 45 | 405 / 840 |
| PLMN index | plmn-index | 0 | 1 |
| Tracking Area Code | trackingAreaCode | 100 (0x64) | 200 (0xC8) |
| Slice (S-NSSAI) | plmn-support · sst / sd | 1 / 000001 | 1 / 000002 |
| PRB portion | plmn-N-ue-distribution-ratio | 60% (~164 PRB) | 40% (~109 PRB) |
| Admission cap | max-no-of-rrc | 600 | 400 |
| Per-PLMN mobility | FGR-MC1015 | enabled | enabled |
| Per-PLMN KPI tag | Family 5583 | …_PLMN(404-45) | …_PLMN(405-840) |
| SIB1 IE | Operator A | Operator B | Purpose |
|---|---|---|---|
plmn-IdentityInfoList | 404-45 | 405-840 | The PLMNs the cell advertises |
trackingAreaCode | 0x000064 | 0x0000C8 | TAC per PLMN (registration area) |
cellIdentity (NCI) | 36-bit NR Cell Identity (shared cell) | Globally identifies the cell (NR-CGI) | |
cellReservedForOperatorUse | notReserved | notReserved | Set reserved to bar non-operator UEs per PLMN |
cellSelectionInfo | q-RxLevMin / q-QualMin | Camping thresholds (shared) | |
small-cell-gnb-id-length) + Cell ID. A 24-bit gNB ID leaves 12 bits → up to 4096 cells per gNB. The NCI + PLMN forms the NR-CGI the neighbour list and ANR use. Each broadcast PLMN pairs with the same NCI but its own TAC.S-NSSAI (SST + SD); the DRB/QoS mapping (mapping-rule-entries, sst/sd) and per-PLMN slice CAC (CC0303) then keep Operator A's eMBB and Operator B's eMBB on separate accounting even on the same PRBs.Set each operator's PLMN, TAC and PRB share plus the channel bandwidth — the LSM config, the SIB1 broadcast and the per-PLMN PRB allocation regenerate live. The whole page, made hands-on.
FGR-RS1801 gives each PLMN a controllable slice of the cell's PRBs via the per-PLMN distribution ratio (plmn-N-ue-distribution-ratio, 0–100 %). Drag the sliders to allocate the shared carrier between three operators — the split re-normalises live, exactly as the scheduler apportions PRBs.
| Leaf | Range | Default | Sets |
|---|---|---|---|
| distribution-ratio-per-plmn-switch | disable / enable | enable | Turn on per-PLMN distribution (FGR-LC0702) |
| plmn-0-ue-distribution-ratio | 0…100 | 100 | PLMN-0 share of UEs / resources (%) |
| plmn-1…7-ue-distribution-ratio | 0…100 | 100 | Per-PLMN share for PLMNs 1–7 (%) |
Before a UE ever sends data, MOCN can bias where it camps — nudging idle UEs of a PLMN toward a less-loaded frequency via cell-reselection. It runs in manual mode (fixed ratios you set) or auto mode (the gNB weights by measured load), re-evaluated every few seconds and only once load crosses a trigger. This is the cheapest load control — no signalling, no HO.
| Leaf | MO | Range | Default | Sets |
|---|---|---|---|---|
| idle-mobility-control-switch | function-control | disable/enable | disable | Master IFLB on/off (SVR25A default OFF) |
| operation-mode-for-idle-load-balancing | idle-mode-info | manual / auto | manual | Fixed ratios vs auto-by-load (SVR25A = manual) |
| period-for-idle-load-balancing | idle-mobility-control | 1…60 min | 3 min | Re-evaluation period |
| trigger-threshold-for-idle-load-balancing | idle-mode-info | 0…100 % | 0 | Load above which IFLB acts |
| weight-in-automode-for-idle-load-balancing | cell-reselect-intra-freq-info | 0…100 | 100 | Auto-mode weighting |
| ue-distribution-ratio-for-idle-load-balancing | cell-reselect-intra-freq-info | 0…100 | 100 | Overall idle distribution |
| distribution-ratio-per-plmn-switch | idle-mode-info | disable/enable | disable | Turn on the per-PLMN split (SVR25A default OFF) |
| plmn-0…7-ue-distribution-ratio | …-per-plmn | 0…100 | 100 | Per-PLMN idle share (%) |
Once UEs are connected, MLB moves load off a hot cell with a load-based handover. The gNB learns neighbour load through resource-status reporting over F1/Xn; when the serving cell crosses its load threshold it hands selected UEs to a lighter neighbour. Evaluate by resource (PRB) or user (UE count).
| Leaf | MO | Range | Default | Sets |
|---|---|---|---|---|
| fr1-load-balancing-switch | function-control | disable/enable | enable | Master MLB on/off |
| load-evaluate-mode | connected-mode-info | resource / ue | resource | Evaluate load by PRB (SVR25A default) or by UE count |
| mr-wait-timer | connected-mode-info | 1000…10000 ms | 2000 | Measurement-report wait |
| resource-status-reporting-switch | load-balancing-function-control | off/on | on | Exchange neighbour load |
| reporting-period-f1 / -xn | resource-status-reporting-info | 500 / 1000 / 2000 / 5000 / 10000 ms | 10000 ms | Load report period (SVR25A default 10 s) |
| number-of-reporting-neighbors-per-carrier | resource-status-reporting-info | 0…32 | 16 | Neighbours tracked per carrier |
| filter-coefficient-rrc-ue | resource-status-reporting-info | 0.0…1.0 | 0.2 | Load-metric smoothing |
IFLB works through reselection, so these thresholds decide which cells an idle UE even considers. Tighten them and camping stays local; loosen them and load spreads wider.
| Leaf | Range | Default | Sets |
|---|---|---|---|
| threshold-rsrp | 0…127 | 35 | RSRP gate for reselection candidates |
| threshold-rsrq | 0…127 | 8 | RSRQ gate |
| threshold-sinr | 0…127 | 0 | SINR gate |
| nr-of-ss-blocks-to-average | 2…16 | 2 | SSBs averaged per measurement |
| range-to-best-cell-usage | true/false | false | Consider cells within a range of the best |
Redirection moves a UE at connection release (or fallback) to a target frequency/RAT; SPID/RFSP-based steering lets you route by subscriber profile — useful to give an operator's premium SPID a preferred layer.
| Leaf | Range | Default | Sets |
|---|---|---|---|
| fallback-redirection-method | blind / measurement-based | measurement-based | How EPS/CSFB fallback redirects (FGR-SV0201) |
| spid-based-serving-cell-selection-enable | disable/enable | enable | Steer serving cell by SPID/RFSP (FGR-CC0801) |
| ul-primary-path-switch-flag-per-spid | disable/enable | enable | Per-SPID UL primary path (FGR-CC5003) |
| a2-threshold-rsrp | 0…127 | 39 | A2 trigger for SPID path switching |
| rrc-measurement-report-wait-for-redirection | 10…65535 ms | 1000 | Wait for MR before redirect |
Distribution ratios share the average; admission & overload protect each operator at the edge. Per-PLMN hard caps stop one operator monopolising context, CRP (Call Retention Priority) decides who survives preemption, and overload protection sheds new load gracefully instead of dropping calls.
| Leaf | Range | Default | Sets |
|---|---|---|---|
| max-no-of-rrc / drb / pdu | per model | — | Per-PLMN hard caps on concurrent context |
| overloaded-level | critical / major | major | Overload trip level |
| overload-action | barred / not-barred | not-barred | Bar access under overload (FGR-CC1103) |
| x2-status-indication-flag | off / on | on | Signal overload to neighbours (FGR-LC0302) |
| paging-protect-usage | not-use / use | use | Protect paging under load (FGR-LC0303) |
| call-protect-usage · threshold-for-sa/nsa | use · 0…500000 | use · 2400 | Protect calls; SA/NSA congestion thresholds |
| preemption-with-redirection | not-use / use | use | Preempt low-priority + redirect (FGR-CC0401) |
This is the heart of the day. Default = the exact factory value from the Samsung SVR25A Parameter Description (5G CU, 2026); Recommended = the golden-parameter starting point for a shared MOCN cell. Defaults are correct as shipped; recommended values are engineering guidance you always trial per Day 6 (baseline → single change → 48 h soak → verify → roll back).
distribution-ratio-per-plmn-switch enable→disable, idle-mobility-control-switch enable→disable, operation-mode-for-idle-load-balancing auto→manual, load-evaluate-mode ue→resource, reporting-period-f1/xn 1000→10000 ms, q-hyst dB1→dB0. Always confirm defaults against the release you're on.| Parameter | Range | Default | Recommended (MOCN) | Why |
|---|---|---|---|---|
| distribution-ratio-per-plmn-switch | disable/enable | disable | enable | SVR25A default OFF → enable to split PRBs per PLMN |
| plmn-N-ue-distribution-ratio | 0…100 | 100 | = contracted share (e.g. 60 / 40) | 100 = "no cap"; set to each operator's SLA share |
| MinDRR / MaxDRR (LTE) | 0…100 | — | Min = SLA floor · Max = cap | Protect the floor, cap the hog (Partial/Adaptive) |
| Parameter | Range | Default | Recommended (MOCN) | Why |
|---|---|---|---|---|
| idle-mobility-control-switch | disable/enable | disable | enable | SVR25A OFF → enable for per-PLMN camp steering |
| operation-mode-for-idle-load-balancing | manual / auto | manual | manual (strict SLA) · auto (best-effort) | SVR25A default is manual (predictable per-PLMN split) |
| period-for-idle-load-balancing | 1…60 min | 3 min | 3–5 min | Long enough to avoid camp churn |
| trigger-threshold-for-idle-load-balancing | 0…100 % | 0 | 60–70 % | 0 = always balance; only balance when actually loaded |
| ue-distribution-ratio-for-idle-load-balancing | 0…100 | 100 | per idle plan | Overall idle spread across the layer |
| Parameter | Range | Default | Recommended (MOCN) | Why |
|---|---|---|---|---|
| fr1-load-balancing-switch | disable/enable | enable | enable | Master connected-mode LB |
| load-evaluate-mode | resource / ue | resource | resource | SVR25A default = resource (MOCN shares PRBs) |
| mr-wait-timer | 1000…10000 ms | 2000 ms | 2000–3000 ms | Long enough to avoid load-HO ping-pong |
| reporting-period-f1 / -xn | 500…10000 ms | 10000 ms | 1000–2000 ms | SVR25A default 10 s → shorten for faster LB |
| number-of-reporting-neighbors-per-carrier | 0…32 | 16 | = real neighbour count | Track the neighbours you actually offload to |
| filter-coefficient-rrc-ue | 0.0…1.0 | 0.2 | 0.2–0.3 | Smooth a noisy load metric |
| Parameter | Range | Default | Recommended (MOCN) | Why |
|---|---|---|---|---|
| threshold-rsrp (reselect) | 0…127 | 35 | per coverage (tighten to keep local) | Gate idle candidates so camping stays balanced |
| nr-of-ss-blocks-to-average | 2…16 | 2 | 4–8 | More averaging → steadier reselection |
| fallback-redirection-method | blind / meas-based | measurement-based | measurement-based | More reliable target than blind redirection |
| a2-threshold-rsrp (SPID switch) | 0…127 | 39 | per coverage | When to trigger SPID UL-path / redirect |
| overloaded-level | critical / major | major | major | Trip protection before critical |
| overload-action | barred / not-barred | not-barred | not-barred | Shed gracefully; bar only as last resort |
| threshold-for-paging | 0…65535 | 2400 | tune to paging load | Protect paging channel under congestion |
| threshold-for-sa / -nsa | 0…500000 | 2400 | = cell call capacity | Protect SA/NSA call setup under overload |
| monitoring-period | 1…15 s | 2 s | 2 s | Overload sampling cadence |
| preemption-with-redirection | not-use / use | use | use | Free capacity for high-ARP bearers cleanly |
plmn-N-ue-distribution-ratio = contracted share (not 100) and load-evaluate-mode = resource (not the ue default), because MOCN fairness is about PRBs. Everything else stays near default until a KPI says otherwise.FGR-MC1015 makes the measurement / report configuration per PLMN, so each operator's UEs hand over and reselect using that operator's own thresholds, neighbour list and frequency priorities. Every value below is exact from the Samsung Parameter Description (SVR22B NR). RSRP thresholds use the 3GPP 0–127 index (RSRP −156…−31 dBm, so 51 ≈ −105 dBm).
| Parameter | MO | Range | Default | Recommended (MOCN) | Purpose |
|---|---|---|---|---|---|
| intra-nr-handover-event-type | intra-frequency-meas-object | event-a3 / event-a5 | event-a5 | A5 (keep) / A3 per plan | Samsung default intra-NR HO trigger is A5 |
| a3-offset-rsrp | a3-report-config | −30…30 | 4 | 4–6 | Neighbour-better-than-serving offset |
| a3-hysteresis | a3-report-config | 0…30 | 0 | 1–2 | HO hysteresis (anti-ping-pong) |
| time-to-trigger (a1/a3) | report-config | ms0…ms1024 | ms40 | ms160–320 | Debounce before report; higher cuts ping-pong |
| a5-threshold1-rsrp | a5-report-config | 0…127 | 51 | per coverage | Serving-worse-than threshold (≈ −105 dBm) |
| a5-threshold2-rsrp | a5-report-config | 0…127 | 51 | per coverage | Neighbour-better-than threshold |
| a5-hysteresis | a5-report-config | 0…30 | 0 | 1–2 | A5 hysteresis |
| b1-threshold-eutra-rsrp | b1-eutra-report-config | 0…97 | 51 | per plan | Inter-RAT NR→LTE trigger |
| report-interval | report-config-entries | ms120…min60 | ms240 | ms240 | Periodic measurement-report interval |
| report-amount | report-config-entries | r1…infinity | r2 | r2 | Number of reports per trigger |
| Parameter | MO | Range | Default | Recommended (MOCN) | Purpose |
|---|---|---|---|---|---|
| cell-reselection-priority | cell-reselect-intra-freq-info | 0…7 | 5 | per PLMN | Idle absolute frequency priority |
| sa-frequency-priority | frequency-priority | 0…31 | 0 | per PLMN | Connected-mode target-frequency priority |
| cell-reselection-subpriority-usage | cell-reselect-intra-freq-info | true / false | false | enable for fine priority | Use cellReselectionSubPriority in SIB2 (FGR-MC1006) |
| a2-threshold-rsrp | a2-report-config | 0…127 | 39 | per coverage | Serving-poor trigger (inter-freq / redirect) |
FGR-MC1015 the A3/A5 report configs and frequency priorities are held per PLMN, so Operator A can prefer n78→n28 while Operator B prefers n78→B3 on the same shared cell. Get this wrong and a UE is measured toward a frequency its operator doesn't run — the #1 cause of one-operator-only HO failures in MOCN.The whole point of MOCN operations is that every KPI is per-PLMN. Samsung's per-PLMN counter family 5583 breaks throughput, loss and drop down by CELL · PLMN · 5QI · S-NSSAI — so you can prove each operator's SLA independently.
| Family | Counters (examples) | Granularity | Measures |
|---|---|---|---|
5241 | DLUsedPrbPlmn · ULUsedPrbPlmn · DL/ULAvailablePrbPlmn | cell · PLMN | ⭐ PRB usage & availability per PLMN |
5583 | PdcpSduCnt / LossRate / DropRate / DiscardRate DL·UL | cell · PLMN · 5QI · slice | NR PDCP throughput & loss per PLMN |
5584 | PdcpSduVolume DL·UL (+ split NR/LTE) | cell · PLMN · 5QI · slice | Data volume per PLMN (for throughput) |
5581 / 5582 | PdcpSduCnt / Volume per QCI | cell · PLMN · QCI | Same, on the LTE / EN-DC QCI axis |
5242 | AirMacUL/DLBytePlmn | cell · PLMN | MAC-layer bytes per PLMN |
5411 | DLUsedPrbSlice · DLAvailablePrbSlice | cell · slice | PRB usage per network slice |
5555 | DL/ULUsedPrbSpidRfsp | cell · SPID/RFSP | PRB usage per SPID / RFSP |
5395 | DssNrDL/ULPrbUsed · …Available · …RatioUsedPerAvailable | cell | DSS NR PRB share vs LTE |
5026 / 5174 | CauseF1apRadioPlmnNotServedByTheGnbCu | cell · cause | ⚠ PLMN-not-served failures (config fault) |
| KPI | Formula (from counters) | Family | Target / read |
|---|---|---|---|
| Per-PLMN DL PRB utilization | DLUsedPrbPlmn ÷ DLAvailablePrbPlmn × 100 | 5241 | ≈ configured portion; sustained > portion → starved |
| Per-PLMN DL throughput | PdcpSduVolumeDL_PLMN ÷ active time | 5584 | ≥ operator SLA |
| Per-PLMN DL packet-loss rate | PdcpSduLossRateDL_PLMN | 5583 | < SLA loss budget |
| Per-PLMN DL drop rate | PdcpSduDropRateDL_PLMN | 5583 | low & flat; spikes → CAC/CRP too tight |
| Per-slice PRB share | DLUsedPrbSlice ÷ DLAvailablePrbSlice × 100 | 5411 | matches slice SLA |
| PLMN-not-served rate | CauseF1apRadioPlmnNotServedByTheGnbCu (count) | 5026/5174 | = 0 (non-zero = SIB1/PLMN-list fault) |
DLUsedPrbPlmn(A) ÷ DLAvailablePrbPlmn sits at 95% while B idles at 20%, A is portion-starved — raise A's ratio (or switch to adaptive) rather than blaming coverage. That single cross-check is the heart of MOCN operations.| Symptom | Likely cause | Where to look |
|---|---|---|
| One operator's UEs can't camp | PLMN missing from SIB1 / DU PLMN list | Phase 1–2 config, SIB1 decode |
| Minority operator starved of throughput | PRB portion / distribution ratio too low | plmn-N-ue-distribution-ratio |
| Per-PLMN drop spikes | Per-PLMN CAC too strict / no CRP floor | Family 5583 drop rate |
| Handover into wrong operator context | Per-PLMN mobility not configured | FGR-MC1015 reporting |
Give each operator enough to meet its SLA, but keep the carrier statistically multiplexed so idle share is reused — a hard split (MORAN-like) wastes spectrum, a too-soft split breaks SLAs. The optimum is per-PLMN CRP floors + a distribution ratio tuned to each operator's real load.
| Symptom (per-PLMN KPI) | Diagnosis | Fix (parameter / feature) |
|---|---|---|
| Op-A PRB util 95% while Op-B idles at 20% | A is portion-starved; ratio ≠ real load | Raise plmn-0-ue-distribution-ratio or switch to adaptive; verify Fam 5241 |
| Op-B drop rate spikes at busy hour | Per-PLMN CAC / CRP floor too tight | Raise B's max-no-of-rrc & CRP; check overload-protect thresholds |
PlmnNotServedByTheGnbCu > 0 | A PLMN missing from SIB1 / CU-DU mismatch | Re-add PLMN to DU + CU list (Phase 1–2); re-decode SIB1 |
| One frequency runs hot in idle | Idle distribution not balancing camping | Tune IFLB ue-distribution-ratio + reselection thresholds (MC1006) |
| Connected-mode HO ping-pong under load | MLB reacting too fast / noisy load metric | Increase mr-wait-timer; raise filter-coefficient-rrc-ue |
| An operator's slice breaches its SLA | No per-slice admission / rate control | Enable slice CAC FGR-CC0303; cap with FGR-BC7002 |
Baseline
Capture per-PLMN throughput / drop from Family 5583 for all operators over a representative window.
Single change
Adjust one PLMN's ue-distribution-ratio (or CRP) — nothing else.
48h soak
Let it run across a full busy-hour cycle so statistical multiplexing settles.
Verify
Confirm the target operator improved and no other PLMN regressed (per-PLMN KPIs).
Roll back
If any operator breaches SLA, revert the single change immediately.
Two operators, one carrier. Set the contracted ratios (plmn-N-ue-distribution-ratio), each operator's offered load and the cell capacity — the studio applies the RS1801 rule (portions enforce under contention; unused share lends), grades each SLA, and runs the blame router: whose problem is a bad operator KPI on a shared cell?
MOCN is fairness engineering on one carrier.
Broadcast every PLMN, route each to its own core, split the PRBs by policy, and prove every operator's SLA per-PLMN. Next: the LTE side — four features, the Full/Strict/Partial/Adaptive sharing models, and MORAN.