Understanding SBA Gateway Message Flows

MATRIXX Engine acts as a 5G Converged Charging Server (CCS).

The first example message flow shows how SBA Gateway and MATRIXX Engine interact with 5G network components using Nchf_Converged Charging communication (N40) and Nchf_SpendingLimitControl (N28) communication. The second example shows how the engine reacts to an unknown session ID by creating a new one for the call.

Figure 1 shows how the PCF interacts with 5G network components and the engine as the CHF. Per ETSI TS 132 291 V15, the CHF enables the PCF (the NF service consumer) to subscribe to lists of policy counters at the beginning of the N28 session. The CCS can also send status changes during the session.
Note: This diagram omits the TRA-RT-(SI/DR) between SBA Gateway and the engine.
Figure 1. Example 5G Charging Sequence of Events 1
Figure 2 shows the second half of the example charging sequence message flow. Another N40 session is created, the original N28 session is torn down, and then the last N40 session removed, followed by balance confirmation.
Figure 2. Example 5G Charging Sequence of Events 2

If a Create request message specifies a session ID, that ID is used for the new charging or policy session after it has been determined to be unique. If ChargingDataRequest-Update or ChargingDataRequest-Termination messages contain session IDs unknown to the engine, the engine creates a new session. For an update, the engine creates the session and continues with the call. For a termination, the engine creates the session and continues with the call, then deletes the session and proceeds with event recording and notification processing.

A session ID specified in a create request can be in any format. The session ID used for a session, either specified by the Create request or generated by the engine, is returned in the Mtx5GResponseHeader.SessionId field to SBA Gateway.

The StateFlags field of the Mtx5GResponseHeader MATRIXX Data Container (MDC) informs SBA Gateway that the unrecognized session ID is accepted by the Charging Server:

<field id="StateFlags">
    <created_schema_version>5230</created_schema_version>
    <doc_description>
        State. Flags are:
            0x00000001: Unknown SessionId Accepted
    </doc_description>
    <datatype>unsigned int32</datatype>
</field>

The flag is set in the first update response or the termination response to an unknown session ID.

Figure 3 shows the message flow to the point where the session ID is unknown to the engine.

Figure 3. Initial Unknown Session ID Message Flow
Initial Unknown Session ID Message Flow

Figure 4 describes the flow after the point where the session ID is unknown to the engine.

Figure 4. New Session Creation Message Flow
New Session Creation Message Flow