Message Prioritization and Overload Handling

Feature Summary and Revision History

Summary Data

Table 1. Summary Data
Applicable Product(s) or Functional Area PCF
Applicable Platform(s) SMI
Feature Default Setting Disabled – Configuration required to enable
Related Documentation Not Applicable

Revision History

Table 2. Revision History
Revision Details Release
First introduced. 2022.01.0

Feature Description

PCF supports the following message prioritizations:

  • Message priority handling framework—Provides configuration to handle the incoming message rules with priority.

    • Diameter configuration

    • PCF configuration

  • Inbound WPS Rx Message prioritization—During engine processing the WPS messages are prioritized over non-WPS messages.

  • Inbound WPS SBI Message prioritization—During engine processing the 3gpp-Sbi-Message-Priority header messages are prioritized.

How it Works

This section describes how this feature works.

  • Message Prioritization Handling Framework

    • Diameter Configuration—Use Message Handling Rules parameters (Diameter Client, Protocol, Command Code, Request Type, Priority, Per Instance TPS, and Discard Behavior) to identify and prioritize the diameter messages.

    • PCF Configuration—Use Message Handling Rules parameters (Request Type, Priority, Per Instance TPS, and Discard Behavior) to identify and prioritize the SBI messages.

  • Inbound WPS Rx Message Prioritization—Use the Rx Message Prioritization parameters to mark the WPS specific MPS-Identifier and Reservation Priority. Rx message should be prioritized based on the MPS-Identifier and Reservation-Priority AVPs received in the request message.

  • Inbound WPS SBI Message Prioritization—Based on the SBI Message Priority value in the incoming message, a user specified priority (Inbound SBI-Message-Priority prioritization table in PCF configuration) is assigned. SBI messages with higher priority are considered for processing earlier than the messages with lower priority.


Note

Currently, the priority queue and rate limiting for REST and Diameter messages are independent of each other.


Feature Configuration

To configure this feature, use the following configurations:

  • Configuring Inbound Message Overload Handling

  • Configuring SBI-Message-Priority Prioritization

Configuring Inbound Message Overload Handling

This section describes how to configure the Inbound Message Overload Handling for the diameter and PCF configurations.

Diameter Configuration

  1. Log in into Policy Builder.

  2. Select Reference Data tab.

  3. From the left pane, select Systems.

  4. Select and expand your system name.

  5. Select Diameter Configuration.

  6. In the right pane, to add the parameters of the inbound message overload handling, check the Inbound Message Overload Handling check box.

  7. In the Inbound Message Overload Handling area, define the following parameter details.

    Table 3. Inbound Message Overload Handling Parameters

    Parameter

    Description

    Default Priority

    Default priority to be assigned to an incoming message if no specific priority is defined in the Message Handling Rules table.

    Default value is 0.

    Message Sla Ms

    Service Level Agreement (SLA) in milliseconds, defines the number of milliseconds that are associated with an incoming event or message. In case the configured duration times out, the Discard Behavior configured in the Message Handling Rules is applied else the Default Discard Behavior is used.

    Maximum time (in millisec) that a message has in an inbound message handling queue waiting for a worker thread. Configuring this value avoids processing a message to time out by a remote peer.

    Default value is 1500 ms.

    Inbound Message Queue Size

    Allows the maximum number of messages in the Inbound Message Queue. When the number of messages exceeds this value, messages are discarded as defined in the Message Handling Rules and the Default Discard Behavior.

    Default value is 1000.

    Default Instance Rate Limit

    This parameter is applied to messages that do not have an applicable overload handling rule configured in the Message Handling Rules table.

    Default value is 0.

    Default Discard Behaviour

    Default behavior to be applied to an incoming message if no specific discard behavior for that message is defined in the Message Handling Rules table.

    • MESSAGE_DROP: Discards the request.

    • DIAMETER_TOO_BUSY: Sends a response message havingResult-Code AVP value set to DIAMETER_TOO_BUSY (3004).

    Default value is MESSAGE_DROP

    Rx Message Prioritization

    Defines Rx eMPS message handling priority based on the Rx message MPS-Identifier and Reservation-Priority AVPs. For more information see Table 2.

    Message Handling Rules

    Defines specific inbound message overload handling rules based on different criteria. For more information, see Table 3.

    Figure 1. Inbound Message Overload Handling Parameters
    Table 4. Rx Message Prioritization Parameters

    Parameter

    Description

    MPS Identifier

    MPS-Identifier indicates that an AF session relates to an MPS session. It contains the national variant forMPS service name. For example, NGN GETS.

    Reservation Priority

    The AF specifies the Reservation-Priority AVP at request level in the AA-Request in order to assign a priority to the AF session as well as specify the Reservation-Priority AVP at the media-component-description AVP level to assign a priority to the IP flow.

    The Reservation-Priority AVP available at the request level only is used under Rx Message Prioritization table.

    If Reservation priority is not found at the message level in Rx message, then best value of Reservation Priority is calculated from the MCD and used for lookup.

    Range: 1 to 15, where 15 is considered as the highest priority and 1 is considered as the least priority.

    Priority

    A user defined priority based on MPS-Identifier and Reservation-Priority combination.

    Higher Priority messages are processed before lower priority messages.

    Table 5. Message Handling Rules Parameters

    Parameter

    Description

    Diameter Client

    This is used to configure different priorities for different clients based on realms.

    Protocol

    Specific application id value to be used for scoring. This value is used to match Auth-Application-Id AVP value.

    Command Code

    Specific command code value to be used for scoring. This value is used to match the Command-Code field. These command codes map to different types of Diameter messages.

    Request Type

    Specific request type value to be used for scoring. This value should match the value of the CC-Request-Type AVP for Gx CCR messages.

    • 0: Request Type not used for scoring

    • 1: INITIAL_REQUEST (1)

    • 2: UPDATE_REQUEST (2)

    • 3: TERMINATION_REQUEST (3)

    Default value is 0.

    Request type should match the value of the Rx-Request-Type AVP for Rx messages.

    • 0: INITIAL_REQUEST (0)

    • 1: UPDATE_REQUEST (1)

    Request type should match the value of SL-Request-Type AVP for Sy SLR messages. The possible values are:

    • INITIAL_REQUEST (0)

    • INTERMEDIATE_REQUEST (1)

    It has to be configured to zero if the incoming message does not have a request type AVP. For example, Rx STR does not have a request type AVP or Rx-Request-Type AVP is unavailable in Rx message as it is not a mandatory AVP per 3GPP TS 29.214.

    Priority

    Priority value assigned to the message. Higher numerical value has the higher priority.

    Default value is 0.

    For example, 10, 20, 100, 200, 300, 500 and so on.

    Per Instance Tps

    Transactions per second limit per process. This value is the TPS that these messages are limited to.

    The actual system's transaction per second limit can be calculated using the following formula:

    Per Instance Tps x Number of instances per VM x Number of VMs.

    Default value is 0.

    For example, 1000, 2000, 5000 and so on.

    Discard Behavior

    Behavior to be applied to an incoming message.

    • MESSAGE_DROP: Discards the request.

    • DIAMETER_TOO_BUSY: Sends a response message having Result-Code AVP value configured to DIAMETER_TOO_BUSY (3004).

    Default value is MESSAGE_DROP.

PCF Configuration

  1. Log in into Policy Builder.

  2. Select Reference Data tab.

  3. From the left pane, select Systems.

  4. Select and expand your system name.

  5. Select PCF Configuration.

  6. In the right pane, to add the parameters of the inbound message overload handling, check the Inbound Message Overload Handling check box.

  7. In the Inbound Message Overload Handling area, define the following parameter details.

    Table 6. Inbound Message Overload Handling Parameters

    Parameter

    Description

    Default Priority

    Default priority to be assigned to an incoming message if no specific priority is defined in the Message Handling Rules table.

    Default value is 0.

    Message Sla Ms

    Service Level Agreement (SLA) in milliseconds, defines the number of milliseconds that are associated with an incoming event or message. In case the configured duration times out, the Default Discard Behavior is applied.

    Maximum time (in millisec) that a message has in an inbound message handling queue waiting for a worker thread. Configuring this value avoids processing a message to time out by a remote peer.

    Default value is 1500 ms.

    Inbound Message Queue Size

    Allows the maximum number of messages in the Inbound Message Queue. When the number of messages exceeds this value, messages are discarded as defined in the Message Handling Rules and the Default Discard Behavior.

    Default value is 1000.

    Default Instance Rate Limit

    This parameter is applied to messages that do not have an applicable overload handling rule configured in the Message Handling Rules table.

    Default value is 0.

    N7 Emergency Message Priority

    Default priority assigned to messages related to an emergency session.. Emergency message priority is applied when the DNN matches an emergency DNN configured under PCF Configuration.

    Default value is 1.

    Default Discard Behaviour

    Default behavior to be applied to an incoming message if no specific priority is defined in the Message Handling Rules table.

    • MESSAGE_DROP: Discards the request.

    • SERVICE_UNAVAILABLE: Service is not available.

    Default value is MESSAGE_DROP.

    Message Handling Rules

    Defines specific inbound message overload handling rules based on different criteria. For more information, see Table 2
    Figure 2. Inbound Message Overload Handling Parameters
    Table 7. Message Handling Rules Parameters

    Parameter

    Description

    Request Type

    Specifies request type value to be used for scoring.

    For example N7_CREATE, N28_NOTIFY, and so on.

    Priority

    Priority value assigned to the message. Higher numerical value has the higher priority.

    For example, 700, 800 and so on.

    Per Instance Tps

    Transactions per second limit per process. This value is the TPS that these messages are limited to.

    Default value is 0.

    Discard Behavior

    Behavior to be applied to an incoming message.

    • SERVER_TOO_BUSY: Sends a responsive message having result code attribute value with HTTP code 503.

    • MESSAGE_DROP: Discards the request.

Configuring SBI-Message-Priority Prioritization

This section describes how to configure the SBI-Message-Priority Prioritization.

  1. Log in into Policy Builder.

  2. Select Reference Data tab.

  3. From the left pane, select Systems.

  4. Select and expand your system name.

  5. Select PCF Configuration.

  6. In the right pane, to add the parameters of the SBI-Message-Priority prioritization, check the SBI-Message-Priority Prioritization check box.

  7. In the SBI-Message-Priority Prioritization area, define the following parameter details.

    Table 8. SBI-Message-Priority Prioritization Parameters

    Parameter

    Description

    Default Inbound Priority

    The default value is used if priority value does not match a value in Inbound SBI-Message-Priority Prioritization table

    Inbound SBI-Message-Priority Prioritization

    A user defined priority based on SBI Message Priority and Priority combination. For more information, see Table 2

Figure 3. SBI-Message-Priority Prioritization
Table 9. Inbound SBI-Message-Priority Prioritization Parameters

Parameter

Description

SBI Message Priority

The range of values allowed for SBI-Message-Priority are from 0–31, where 0 is considered as the highest priority and 31 is considered as the least priority value.

Priority

It provides the queue priority value. A higher numerical priority value equates to a higher priority.

OAM Support

This section describes operations, administration, and maintenance information for this feature.

Bulk Statistics Support

The following statistics are supported for the message prioritization and overload handling feature.


Note

The following values apply to all the statistics:

  • Unit - Int64

  • Type - Counter

  • Nodes - Service


The following metrics track the counter information:

  • input_queue_result - Captures the status of the message in the inbound queue whether it is dropped or rate limited.

    The following labels are defined for this metric:

    • appid

    • message-type

    • result

  • wps_rx_priority - Captures the Rx message queue priority.

    The following labels are defined for this metric:

    • command_code

    • priority

  • sbi_priority_total - Captures the SBI message queue priority.

    The following labels are defined for this metric:

    • interface

    • message_type

    • priority