Spending Limit Notification Error Processing
When MATRIXX Engine
receives an unsuccessful Mtx5GSpendingLimitResponse
, the session is
retained or ended based on a configuration table in
mtx_config.xml.
If the engine ends the session, it sends SpendingLimitControlNotify
with
SubscriptionTerminationInfo
in the body to tell the PCF that the
CHF has ended the session. That way the CHF does not try to reuse the session for later
operations and is free to start another session. If the session is deleted, the engine
notifies the SMF/PCF with a Mtx5GSubscriptionTerminationRequest
.
For example, if the following JSON is received by SBA Gateway:
HTTP/1.1 400 Bad Request
Content-Type: application/problem+json
Content-Language: en
{
"type": "https://example.net/validation-error",
"title": "Your request parameters didn't validate.",
"invalid-params": [ {
"name": "age",
"reason": "must be a positive integer"
},
{
"name": "color",
"reason": "must be 'green', 'red' or 'blue'"}
]
}
The HTTP error code, 400, is mapped to the
Mtx5GSpendingLimitNotifyResponse.Result
error code 10:
Mtx5GSpendingLimitNotifyResponse
Result 10
ResultText Your request parameters didn't validate.
The error code is handled by the following mtx_config.xml excerpt:
<policy_notification_error_handling id="10">
<session_keep_alive id="true">
<problem_details id="0">*</problem_details>
</session_keep_alive>
<session_keep_alive id="false">
<problem_details id="1">Your request parameters didn't validate.</problem_details>
<problem_details id="2">Some other unrecoverable error.</problem_details>
...
</session_keep_alive>
</policy_notification_error_handling>
Figure 1 shows the message flow ending in a deleted session: