Skip to content

Expeto xCore⚓︎

xCore is the Expeto 4G and 5G mobile core. It is delivered as a Kubernetes operator: you install the operator with Helm, describe the core you want in a single Site custom resource, and the operator brings up and maintains the network functions, their databases and their network attachments in that namespace. One xCore installation is one Site in xControl, and the Expeto Agent that ships with it keeps the two in sync.

This guide covers xCore 4.0.6, installed from the xfabric chart, which is the release that brings the combined 4G and 5G core. Every new xCore, public or private, is installed this way. The xCore Helm chart of the 3.3 releases is deprecated and no longer documented; the 3.3 releases continue to deliver xControl and xRouter. xCore 4.0.6 registers with xControl 3.3.22 or later.

Deployment shapes⚓︎

The same operator and the same Site resource describe every xCore deployment. What changes is which control-plane blocks the Site declares.

Shape Where it runs What the Site declares
Public core A data centre or cloud region, behind an xRouter that receives the traffic of private SIMs roaming on public networks over IPX. User planes only: an SGW-U that terminates the tunnels from xRouter and one PGW-U anchor per network segment, with the SMF acting as combined SGW-C and PGW-C. No radio-facing functions.
Private 5G core On the enterprise premises, or hosted for the enterprise, connected to private gNodeBs. An AMF, the 5G subscriber store (UDR, UDM, AUSF), the SMF and one or more UPFs.
Private 4G core On the enterprise premises, connected to private eNodeBs. An MME, the HSS, the SMF as SGW-C and PGW-C, and an SGW-U in front of one or more PGW-Us.
Combined private core One installation serving both 4G and 5G private radios. Both the AMF and the MME, the subscriber store in dual mode (UDR, UDM, AUSF and HSS), a front user plane for both radio types and an anchor per System that serves both, so a session follows a device between 4G and 5G. There is no N26 interface between the two mobility functions. See Install a combined core.

A private core can also serve the public path at the same time: point an xRouter at one of its user planes and the same subscribers reach the enterprise network from anywhere.

Network functions⚓︎

Function 3GPP role Present in
SMF Session management; also the SGW-C and PGW-C for 4G sessions. Routes each subscriber to the user plane of its System. every shape
UPF User plane. In 5G a session anchor (PSA) or intermediate UPF; in 4G an SGW-U or a PGW-U, never both. every shape
AMF Access and mobility management for gNodeBs over N2. 5G, combined
MME Mobility management for eNodeBs over S1-MME, with its S1 transport controller. 4G, combined
UDR, UDM, AUSF 5G subscriber data, subscriber management and authentication. 5G, combined
HSS 4G subscriber data and authentication over S6a. 4G, combined
NFCM Network function configuration management, monitoring and statistics. every shape
UDSF Unstructured data storage for session state, with the identifier allocator and timer services. every shape
Expeto Agent Connects the Site to xControl: subscriber synchronisation, configuration, session records and metrics. every shape

Supporting them are an Apache Ignite cluster for session state, MariaDB for subscriber and session-management persistence, and Dragonfly as the in-memory cache. All three are created by the operator inside the Site's namespace.

How a Site is managed⚓︎

  • xControl provisions, the Site executes. Mobile Assets, Systems and policies are created in xControl. The Agent receives them over its outbound connection and writes them into the Site's subscriber store. A Site keeps serving traffic when that connection is down.
  • The Site resource is the deployment contract. Every network attachment, address range, PLMN and user plane is declared in one document, written with Expeto Support during the design phase and applied as agreed. The operator reports the outcome as conditions on the same resource, so kubectl describe site tells you whether the core is ready and, if not, why. Today you edit the Site yourself; Expeto intends the Agent to write it from the configuration held in xControl, so the resource is changing and may not stay directly editable. See Who writes the Site.
  • The operator owns its objects. Everything it creates is labelled and guarded by an admission webhook; configuration changes go through the Site resource, never through kubectl edit on a generated ConfigMap or Deployment.

The Architecture page explains the operator model and the network model in detail. The Installation section takes you from an empty cluster to a Site that reports Ready, and Install a combined core walks through a complete combined core, from xControl preparation and key loading to the first attached devices.