Policy Session APIs

The SubMan APIs include session query, session validation, and session delete APIs for charging and policy sessions.

Query Sessions

The MtxRequestDeviceQuerySession SubMan API queries active charging, policy, and application sessions to determine if a session exists for a device. The MtxRequestDeviceQuerySession API returns the following information in the MtxPolicySessionInfo MATRIXX Data Container (MDC):
  • SessionId
  • UpdateTime
  • SessionStartTime
  • SourceHost
  • SourceRealm
  • SessionType (1 = Sy, 2 = Gx)
  • Is5G (true = 5G, false = 4G)
  • NotifyUri
  • PolicyProfileName
  • Any private, session MDC fields (MtxChargingSessionExtension and MtxPolicySessionExtension)

Validate Sessions

The MtxRequestDeviceValidateSession SubMan API validates sessions. When a session is validated, a Gy RAR, Sy SNR, or Gx RAR message is sent. The API input can include the SessionId and the SessionType.

The session types are:
  • Gy = 1
  • Sy = 2
  • Gx = 3

If neither the SessionId or the SessionType is specified, all open sessions for the specified device are validated. If the device has no open sessions, no errors are returned. If a SessionId is specified, only the specified session is validated. If the specified session is not found, an error is returned. If a SessionId is not specified, but a SessionType is specified, only sessions of the specified type are validated. If the device does not have sessions of the specified type, no errors are returned.

If the session to be validated is a charging session, a Gy RAR message is sent for every context in the session.

If the session to be validated is an Sy policy session, an Sy SNR message is sent regardless of whether the applicable Sy policy counters have changed.

If the session to be validated is a Gx policy session, a Gx RAR message is sent regardless of whether the policy has changed.
Note: If a prior Gx RAR message pending receipt of an RAA exists, no additional Gx RAR messages are sent.

For more information about policy and charging APIs, see Subscriber Management (SubMan) API.

Delete Sessions

Specify the individual session IDs to delete by using the MtxRequestDeviceDeleteSession API. If the SessionIdList is not populated, all sessions of the type specified by SessionType are deleted. If neither of these parameters are populated, all sessions for this device are deleted.

The session types are:
  • Gy = 1
  • Sy = 2
  • Gx = 3