MATRIXX SBA Gateway Overview

SBA Gateway converts incoming 5G JSON messages to MATRIXX Data Containers (MDCs) and forwards these requests to the Traffic Routing Agent (TRA), which routes them to the correct sub-domain on MATRIXX Engine. Outgoing messages are converted from MDCs to 5G JSON messages.

SBA Gateway Components

SBA Gateway provides 5G network functions for enabling 5G applications to communicate with MATRIXX Engine.

Figure 1 shows the main components that are included in SBA Gateway.

Figure 1. SBA Gateway Components
SBA Gateway includes ActiveMQ, TLS, mAuthor, and various libraries and logic needed for a 5G network function

Contents of SBA Gateway lists the files, specifications, and libraries included in SBA Gateway that are loaded upon start-up.

Table 1. Contents of SBA Gateway
Directory Description
/opt/mtx/conf/nf.yaml Network function configuration. Configuration in the nf.yaml file overrides the default SBA configuration.
/opt/mtx/conf/specs Open API (Swagger) files, such as the TS32291_Nchf_ConvergedCharging.yaml file. These files are used when mapping JSON to or from an MDC or when validating incoming requests.
/opt/mtx/conf/mappings Dynamic Message Mapper configuration files to map JSON to or from MDCs, such as ChargingDataRequest-<version>-mapping.yaml (where version is the MATRIXX version number).
/opt/mtx/lib Java implementations of network functions, such as sba-5gc-networkfunctions-chf-<version>.jar (where version is the MATRIXX version number).
/opt/mtx/lib/groovy Groovy implementations of network functions, such as NRF.groovy.

5G SBA Network Topology

Figure 2 shows a network topology of a 5G deployment with two SBA Gateways.

Figure 2. Network Topology for 5G SBA Gateway
SBA Gateway registers with NRF upon start-up.

SBA Gateway provides Service Based Interfaces (SBIs) for connecting and integrating with MATRIXX Engine. SBA Gateway provides the following SBIs through a Charging Function (CHF) interface to the network function consumer:

  • Nchf_ConvergedCharging — N40 (as defined in 3GPP TS 32.291 v15.5.0) for SMF consumers for:
    • Authorizing and reauthorizing quota.
    • Generating notifications based on change conditions that are valid during rating or when the CHF terminates the charging service. This includes anything that triggers a Charging Notify message, for example plan changes and balance top-ups.
  • Nchf_SpendingLimitControl — N28 (as defined in 3GPP TS 29.594 v15.4.0) for PCF consumers for:
    • Subscribing and unsubscribing to spending limit reporting. For more information about implementing MATRIXX with 5G policy, see the discussion about 5g policy overview in MATRIXX Policy.
    • Generating notifications on charges to subscribed policy counter status(es).

The following SBIs are provided by the NRF and used by SBA Gateway:

  • Nnrf_NFManagment (as defined in 3GPP TS 29.510 v15.5.0) for registering a new network function instance.
  • Nnrf_AccessToken (as defined in 3GPP TS 29.510 v15.5.0) for requesting an OAuth token, if required.

SBA Gateway connects to the TRA-RT-(SI/DR) and registers its URI with the network repository function (NRF) upon start-up. This URI is configurable and would typically be the URI of an external HTTP load balancer. SBA Gateway sends a heartbeat to the NRF, according to the heartbeat interval it received from the NRF when it registered. SBA Gateway de-registers from the NRF only if uninstalled with the helm uninstall command. SBA Gateway supports registration with multiple NRFs.

Note: MATRIXX Support recommends a single SBA Gateway connection routed using a Kubernetes service which provides load balancing and fail over to multiple TRA-RT-(SI/DR) instances. SBA Gateway can also be configured to connect to multiple specific hosts outside of a Kubernetes cluster. For more information about engine connection details, see the discussion about common SBA configuration.

SBA Gateway converts 5G JSON messages to and from MATRIXX MDCs and forwards these incoming requests to the TRA. In turn, the TRA routes requests to the correct sub-domain and returns responses to the correct SBA Gateway instance. Messages that are initiated by MATRIXX Engine are sent to SBA Gateway through ActiveMQ.

SBA Gateway acts as the CHF interface to MATRIXX Engine as the Converged Charging Server (CCS), which performs rating, charging, and balance management. MATRIXX Engine as CCS also publishes logs and statistics to Fluent Bit and Prometheus. The PCFs and SMFs are part of your 5G network, and are external to MATRIXX.

Figure 3 shows how SBA Gateway works with the other components of a MATRIXX converged charging server. The TRA-RT-(SI/DR) between SBA Gateway and MATRIXX Engine is omitted from this diagram.
Figure 3. MATRIXX 5G Policy and Charging Components
Diagram of MATRIXX Engine connecting to an external PCF and external SMF.

How you deploy SBA Gateway is determined by your MATRIXX environment requirements. A single SBA Gateway can provide both Nchf_ConvergedCharging and Nchf_SpendingLimitControl at the same time, and that might suffice for a test environment or small MATRIXX implementation. If you expect a significant amount of traffic, you can dedicate one SBA Gateway to traffic for Nchf_ConvergedCharging and another for Nchf_SpendingLimitControl. For reliability or security reasons, you can deploy SBA Gateways as HA pairs dedicated for either Nchf_ConvergedCharging or Nchf_SpendingLimitControl.

You specify the traffic type SBA Gateway supports using the nfType and specifications properties in the nf.yaml file. For details, see the discussion about CHF configuration.