Denial Codes

Denial codes are a way to deny service access to subscribers for a specific reason. You define them in My MATRIXX and add them to rate table rows in place of a rating formula, so the value is returned to the network based on the row selected during rating.

When a denial is encountered during rating, rating stops similar to when a hard credit limit is reached. No additional rate tables or product offers are examined for valid rates. During usage rating, each event segment is checked for a denial. For example, a data charge might use a "peak, off-peak, and weekend" normalizer to charge a different amount based on the time of day and the day of the week. The charge can be configured to have a denial code formula associated with the "weekend" parameter to disallow data usage at this time.

During non-usage rating (purchase, cancel, recurring, first-use, and auto-renew), a denial indicates a failure to do the corresponding operation. Note that a failure to perform recurring or first usage pricing does not impact whether usage can still occur. For example, if a recurring charge fails to allocate a monthly asset, usage might still be authorized as overage. Or, the failure to apply a first-usage charge to a balance does not prevent usage charges from being applied.

When the network interface to upstream systems is based on Diameter, the mapping shown in Denial Codes and Their Diameter Result Codes is applied between the denial codes you can create and the Diameter results code that is returned in the Diameter Credit-Control-Answer message.
Note: Denial code values 400 through 9,999 can be defined by customers and are not reserved for MATRIXX. Values 10,000 and greater are reserved for MATRIXX.
Table 1. Denial Codes and Their Diameter Result Codes
Denial Code Diameter Result Code
1–99 DIAMETER_AUTHORIZATION_REJECTED (5003)
100–199 DIAMETER_CREDIT_LIMIT_REACHED (4012)
200–299 DIAMETER_RATING_FAILED (5031)
300–399 DIAMETER_END_USER_SERVICE_DENIED (4010)
400–9,999 Customer-defined
10,000–10,099 DIAMETER_CREDIT_CONTROL_NOT_APPLICABLE (4011)

For example, if you create an error code 320, then the Diameter CCA message returns a Result-Code of DIAMETER_END_USER_SERVICE_DENIED (4010) in the Diameter Result-Code AVP and a textual description of the error in the Error-Message AVP. This means the service request was denied due to service restrictions or limitations related to the subscriber, for example, the subscriber's balances could not cover the requested service. When you define an error code, you can provide a textual description of the specific reason for denial. For example, the description for error code 320 might be "Free Min Balance Not Valid During Peak Hours." This error code would be in a rating formula associated with a Time Range Normalizer and in a charge component impacting a free minimum balance.