Home MVNO MVNO Subscriber Management: Architecture, Charging & APIs

MVNO Subscriber Management: Architecture, Charging & APIs

How MVNO subscriber management actually works: the data model, provisioning chain, real-time charging flow over Gy and Nchf, and what happens when it fails.

TL;DR / At-a-Glance Summary

An MVNO subscriber management system is the software that manages a subscriber from order to termination: the data model linking customers, subscriptions, SIMs and numbers; the provisioning chain that activates service in the HLR, HSS or UDM; the charging system that authorizes and deducts usage in real time; and the lifecycle logic that governs suspension, porting and termination.

Subscriber Management Is More Than Billing

It connects customers, subscriptions, SIMs, network identifiers, provisioning, charging, and service lifecycle across multiple systems.

Keep the Subscription Identity Stable

MSISDN, IMSI, ICCID, and eSIM profiles can change. A stable internal subscription ID should tie these replaceable network resources together.

Provisioning Must Be Asynchronous and Resilient

Activation can fail or time out midway. Idempotency makes retries safe, while reconciliation catches mismatches between BSS and network state.

Real-Time Charging Controls Service

Gy supports online charging in legacy/EPC architectures, while 5G uses the Nchf service-based charging interface. Quota sizing, expiry, and retry handling directly affect revenue protection.

MVNEs Reduce Telecom Infrastructure Complexity

Instead of building every carrier integration, provisioning and charging workflow in-house, MVNOs can use an MVNE platform to orchestrate these capabilities and focus on their product and customer experience.
MVNO Subscriber Management: Architecture, Real-Time Charging, and Failure Recovery

An MVNO subscriber management system is the layer that connects a customer’s commercial subscription to the network service they actually use. It manages the relationship between customers, accounts, subscriptions, SIMs and network identifiers while coordinating provisioning, charging and service-state changes across multiple systems.

That sounds straightforward until a subscriber activation fails halfway through, an eSIM profile and subscription enter different states, or an Online Charging System (OCS) becomes unavailable during an active session. For an MVNO, subscriber management is therefore less about maintaining a customer database and more about keeping several distributed systems consistent.

This article looks at how that architecture works in practice from the subscriber data model and lifecycle to host-network provisioning, real-time charging and failure recovery. It also examines how these requirements change between full and light MVNOs and what engineering teams should consider when deciding whether to build subscriber management internally or use a platform.

What a Subscriber Management System Actually Is

A subscriber management system sits between the systems that sell a telecom service and the network systems that deliver it.

When a customer orders a mobile plan, the system must create the subscription, allocate resources such as an MSISDN and IMSI, provision the subscriber into the host network, associate the correct charging plan and eventually confirm that service is active. The same system must also handle suspension, reactivation, SIM replacement, porting and termination.

That makes it broader than billing. Billing determines what a customer owes; subscriber management determines what service the customer has, which network resources represent that service, and whether those resources are currently usable.

The Four Layers (data model, provisioning, charging, lifecycle)

A useful way to understand the architecture is through four connected layers.

The data model establishes the relationship between customers, accounts, subscriptions and network resources. Provisioning turns a commercial order into an actual network profile. Charging controls how usage is authorized and deducted. Lifecycle management coordinates states such as active, suspended, barred and terminated.

These layers need to work together without becoming one undifferentiated state machine. A subscription can be active while an eSIM profile is still being processed, for example. Treating every state as the same object is where many integrations become difficult to reason about.

CALLOUT — KEY INSIGHT The job of subscriber management is not simply storing subscriber data. It is maintaining a consistent relationship between the commercial subscription, network resources, service state and charging state.

The Subscriber Data Model (and the Mistake to Avoid)

MVNO Subscriber Data Model

The most common modelling mistake is treating the customer, subscription, SIM and phone number as interchangeable.

They are not.

Customer, Account, Subscription, Resource

A customer or party represents the legal or commercial entity. An account represents the billing relationship and associated balances. A subscription represents the actual service instance and plan. A resource represents something assigned to that service, such as an ICCID, IMSI, MSISDN or eSIM profile.

The subscription should be the stable identity tying these objects together.

Consider a subscriber who replaces a physical SIM. The ICCID changes, but the underlying service does not. Likewise, a subscriber can port their number and receive a different MSISDN while retaining the same subscription.

This is why the resource should be replaceable while the subscription remains stable.

Why You Never Key on the MSISDN

An MSISDN is a phone number, not a permanent subscriber identity.

If an application uses MSISDN as its primary key, number portability can turn an ordinary port-in into a data migration problem. Using ICCID as the primary key creates a similar problem when a SIM is replaced.

The safer architecture uses an internal subscription identifier as the stable key and treats IMSI, MSISDN, ICCID and eSIM profiles as attached resources.

That decision affects everything downstream, from provisioning APIs to charging records and reconciliation.

The Subscriber Lifecycle: States and Transitions

The MVNO Subscriber Lifecycle: States and Transitions

A subscriber rarely moves directly from “ordered” to “active.” There is normally a period during which resources are allocated and provisioning is still underway.

A subscription might begin as ordered or pre-active, move into a pending provisioning state, and become active only after the network confirms that the subscriber profile has been successfully created. Later, it may be suspended because of a customer request or non-payment, barred by network policy, placed into a grace or dormant period, and eventually ported out or terminated.

Suspended and barred should not automatically be treated as the same state. A voluntary suspension can have different reactivation and billing behaviour from a network-level service bar.

The same principle applies at termination: the service may be closed while its historical billing and regulatory records still need to be retained.

The value of an explicit lifecycle is operational as much as technical. If a subscriber is marked Active in the BSS but provisioning is never completed, the system can identify that mismatch instead of assuming the transaction succeeded.

The Provisioning Chain: From Order to Attach

The Provisioning Chain: From Order to Attach

Provisioning is where the commercial definition of a service becomes a network configuration.

Sequence: Order to Active

The sequence begins with an order in the BSS. The subscriber management layer creates the subscription and allocates the required resources, such as an ICCID, IMSI and MSISDN. A provisioning gateway then translates that request into the host network’s requirements and provisions the subscriber into the HLR, HSS or UDM.

For an eSIM, profile preparation and remote installation introduce another process alongside the network provisioning flow. Only after the required operations succeed should the subscription transition to Active.

The provisioning gateway is especially important for an MVNO because it can isolate host-specific behaviour. Adding another host network should not require rebuilding the subscriber model from scratch.

Provisioning is also asynchronous. Accepting an activation request does not prove that the network accepted it. A robust system therefore keeps the subscription pending until confirmation arrives.

eSIM Profile States vs Subscription States

An eSIM profile has its own lifecycle. It can be prepared, downloaded, installed, enabled, disabled or deleted independently of the broader subscription.

GSMA’s SGP.22 specification defines the consumer eSIM remote SIM provisioning architecture, while SGP.32 covers eSIM IoT technical requirements. Current GSMA specifications include active SGP.22 and SGP.32 versions.

The important architectural distinction is simple: an active subscription does not automatically mean an enabled eSIM profile. The two state machines need to be reconciled.

Making Provisioning Idempotent

Distributed provisioning systems retry. A request can time out even though the host network has already processed it.

Without idempotency, a retry could allocate another resource or repeat an activation operation. A mutating API should therefore carry an idempotency key, store the result associated with that key and return the original result when the same request arrives again.

Operations should also be naturally idempotent where possible. Setting a state to Active is safer than implementing activation as a toggle.

Retries need protection too. Exponential backoff with jitter prevents synchronized retries from creating a retry storm, while a circuit breaker stops an unhealthy host from continuously consuming resources.

Implementation Rule

Idempotency prevents duplicate execution; reconciliation catches state drift. A production MVNO needs both because even well-designed APIs cannot eliminate failures that occur between distributed systems. Idempotency makes retries safe, while reconciliation ensures that the actual state across systems eventually matches the intended state.

Real-Time Charging: How It Works

An Online Charging System (OCS) authorizes service before and during usage by reserving and deducting credit in real time. Offline charging works differently: usage is recorded and rated after consumption.

For prepaid services, that distinction is fundamental. The operator cannot simply wait for a bill to be calculated later; the charging system needs to participate in the decision about whether service can continue.

The Interfaces (Gy, Ro, Sy, Gz, Nchf)

The charging interface depends on the network architecture and service.

Gy is used for online packet-data charging between the packet-side charging function and the OCS. Ro supports online charging for IMS services such as voice and SMS. Sy coordinates spending-limit information between policy and charging. Gz is associated with offline charging.

In 5G, Nchf provides the service-based connection to the Charging Function, while N40 connects relevant 5G network functions to charging services.

3GPP’s charging specifications define these architectures, while RFC 4006 provides the Diameter Credit-Control framework underlying the traditional CCR/CCA model.

Sequence: A Charging Session (CCR-I / CCR-U / CCR-T)

A Diameter charging session can be understood as a conversation between the network’s Charging Trigger Function and the OCS.

At session start, the CTF sends CCR-I requesting credit. The OCS responds with CCA-I, granting a defined amount of service.

As the subscriber consumes that quota, the CTF sends CCR-U with usage information and requests another grant. The OCS responds with CCA-U, either providing additional quota or indicating that service should move toward termination or restriction.

When the session ends, the CTF sends CCR-T with the final usage, allowing the OCS to settle the reservation.

RFC 4006 defines these credit-control interactions and the handling of granted units, validity periods and final-unit behaviour.

Quota Reservation and the Sizing Tradeoff

The OCS does not need to authorize every individual byte. It grants a block of service units that the network can consume before reporting back.

That creates a practical engineering tradeoff.

Small quotas provide tighter balance control but increase signalling and charging requests. Large quotas reduce signalling overhead but leave more credit reserved and temporarily unreported. If the network element fails while holding that quota, the reservation can remain unavailable until it expires or is reconciled.

Validity-Time limits how long a grant remains usable, while Quota-Holding-Time helps deal with quota associated with idle sessions. Getting these values right is particularly relevant when an MVNO has a large number of concurrent or low-value sessions.

Running Out of Balance (Final-Unit-Indication)

When the subscriber has little or no credit remaining, the OCS can return a Final-Unit-Indication describing what should happen after the final grant.

The service can be terminated, redirected to a top-up destination or restricted to permitted services. RFC 4006 defines Final-Unit-Indication and the associated service-control behaviour.

The redirect option is particularly useful for prepaid services because it turns a charging event into a controlled recovery path rather than an unexplained disconnect.

What Happens When It Fails

What Happens When It Fails

The real test of a subscriber management architecture is what happens when one component stops behaving normally.

When the OCS Times Out Mid-Session

Suppose a prepaid subscriber is halfway through a data session and the OCS stops responding. The network has already received a quota grant, but the next credit-control request times out.

The system now has to decide whether to terminate the session, continue service without successful charging authorization, or retry against an alternate charging destination.

Terminate protects revenue but turns an OCS outage into a customer-facing outage. Continue preserves the experience but creates revenue exposure. Retry and terminate can provide a middle path when redundant charging infrastructure exists.

There is no universally correct choice. It depends on the service and the operator’s tolerance for financial exposure.

Stranded Reservations and Duplicate Requests

A network element can fail while holding a granted quota. The OCS knows the units were reserved, but the expected usage report never arrives.

That reservation needs an expiry and reconciliation mechanism; otherwise, usable balance can remain artificially locked.

Duplicate requests create a different problem. If a request is retransmitted after a timeout, the charging system must recognize it as the same operation rather than deducting the subscriber twice.

Late Usage, Roaming, and the Leakage Window

Usage does not always arrive in real time. Roaming is particularly important because settlement records and faster roaming visibility mechanisms operate on different timelines.

That means an MVNO must account for late and out-of-order usage rather than assuming that closing a session means every associated usage event has already arrived.

For prepaid roaming, this reporting gap can become a meaningful revenue-control issue. TAP3 supports roaming settlement records, while NRTRDE provides faster visibility of roaming usage.

Reconciling BSS State Against Network State

A subscriber can be Active in the BSS but absent from the HLR/HSS/UDM. A network subscriber can also be barred while the commercial system still shows Active.

Periodic reconciliation compares these states and identifies drift.

The useful metric is not simply “number of errors.” Track how many active subscriptions have provisioning mismatches, how many resources are allocated without completed activation, and how many charging reservations remain unresolved.

Where Spenza Fits

For MVNOs, much of the complexity described above comes from integrating multiple operators, provisioning systems, billing platforms and subscriber workflows.

Spenza provides an MVNE platform that brings these capabilities together, including carrier connectivity, SIM/eSIM provisioning, subscriber management, billing and APIs. Its platform is designed to abstract operator-specific complexity while giving MVNOs a unified way to manage subscriptions and connectivity.

Spenza’s API layer also supports asynchronous operations such as eSIM purchases, plan activation and port-ins, with transaction-status and webhook mechanisms for tracking completion. This fits the architecture described in this article: requests should be treated as workflows, not instantaneous state changes.

For teams launching a light MVNO or connectivity business, using an MVNE can therefore avoid rebuilding the carrier integrations, provisioning infrastructure and operational tooling required to manage these distributed systems.

Conclusion

MVNO subscriber management is ultimately a distributed-systems and orchestration problem, not just a customer database.

The subscription must remain the stable business identity while SIMs, IMSIs, MSISDNs and eSIM profiles remain replaceable resources. Provisioning must be asynchronous and idempotent, charging must handle quotas and failures, and reconciliation must detect differences between BSS and network state.

The key principle is simple:

Idempotency makes failures safe; reconciliation makes distributed systems trustworthy.

For MVNOs that do not want to build this infrastructure themselves, an MVNE such as Spenza can provide the connectivity, provisioning, subscriber management, billing and API layer needed to operate the service at scale.

FAQs

Ready to launch your MVNO without building the telecom stack from scratch? See how Spenza can handle connectivity, provisioning, billing, and subscriber management in one platform.

Share Blog

Related Articles

Discover insights on telecom trends, IoT, eSIM technology, and connectivity solutions with guides.

Cellular Internet Backup for Business: Real Cost per Site

Cellular Internet Backup for Business: Real Cost per Site

What cellular internet backup really costs per site, why multi-carrier failover beats single-carrier risk, and how pooled data changes the
Fleet & Automotive IoT Connectivity: Cost, Coverage, Failover

Fleet & Automotive IoT Connectivity: Cost, Coverage, Failover

Multi-carrier connectivity for fleets and connected vehicles: what it costs per vehicle per year, cross-border roaming rules, and failover that
OSS Full Form in Telecom

OSS Full Form: What Is an Operations Support System?

OSS stands for Operations Support System: the software telecom operators use to run their networks. See what it does, how

Subscribe for Smarter Connectivity Insights

Join thousands of professionals receiving expert perspectives, industry trends, and practical strategies shaping the future of telecom and connected devices.

Scroll to Top