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.
Contents of SBA Gateway lists the files, specifications, and libraries included in SBA Gateway that are loaded upon start-up.
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.
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.
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.
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.