User Configurable Message Priority

User Configurable Message Priority provides the following functions to set the Priority of messages handled by the DSR and to use that Priority to as input into decisions for load shedding, message throttling, and egress Connection selection:

Request messages can be assigned a Message Priority value of 0, 1, or 2 (lowest to highest Priority).

Answer messages are always assigned a Message Priority value of 3 (the highest Priority).

Messages that are given a higher Priority have a lower probability of being dropped as part of shedding or throttling logic, but having a higher Priority does not imply that the message is routed before a message with a lower Priority. Having a higher Priority does not guarantee that a messages will never be dropped as a result of shedding of messages due to congestion or resource exhaustion. The arrival pattern of the Requests has an impact on which messages are shed.

Message Priority can be assigned to ingress messages as they enter the DSR, based on:

A configured Message Priority Configuration Set can be assigned to a Connection or to a Peer Node

A Message Priority Configuration Set is configured with one or more Message Priority Rules that specify Application Ids, Command Codes, and the Message Priority that is assigned to Request messages that enter a DSR on a Connection that has been assigned the Message Priority Configuration Set.

Message Priority is assigned to ingress Request messages based on message content using the strongest matching entry in the Configuration Set:

In a network where Diameter messages traverse multiple DSRs, Request Message Priority may need to be assigned on one DSR and used by any and all DSRs in the routing path.

Diameter embeds Priority in all Requests that it handles. The method used for embedding Priority in egress Requests is transparent to non-DSR Diameter nodes.

DSR egress Request routing and Answer forwarding will use Message Priority and Connection Congestion Level in its Connection selection criteria to avoid sending Priority x messages to Connections currently at Congestion-Level x+1.

Diameter Configuration for User Configurable Message Priority

The User Configurable Message Priority feature provides the ability to define Message Priority Configuration Sets (MPCS). Each MPCS contains the following information:
  • MPCS Name - The Name is used when associating the Configuration Set with a Connection or Peer Node
  • Message Priority Rules - Sets of Application-ID, Command-Code, and Priority
    • Application-ID - The Diameter Application-ID. The Application-Id can be an asterisk (*) indicating that all Application-Ids match this Message Priority Rule
    • Command-Code - The Diameter Command-Code. The Command-Code can be an asterisk (*) indicating that all Command-Codes within the specified application match this Message Priority Rule

      If multiple Command-Codes with the same Application-Id are to get the same Message Priority, then there must be a separate Message Priority Rule combination for each Command-Code.

    • Priority - The Priority applied to all Request messages that match the Application-Id and Command-Code combination

The Application Id and Command Code must be configured in Diameter Configuration before they can be used to configure a Message Priority Rule.

A Default Message Priority Configuration Set is provided that contains one Message Priority Rule; the Message Priority Rule is set to accept all Application Ids and all Command Codes (values are *) and has Message Priority set to 0 . The Default Message Priority Configuration Set can be assigned and used if no other Message Priority Configuration Set is assigned to the Connection or the Peer Node (it can be edited if needed).

A total of 20 Message Priority Configuration Sets can be configured per DSR NE. Each Message Priority Configuration Set supports up to 50 Message Priority Rules.

A Connection or Peer can be configured with either a MPCS or to get Message Priority from the ingress Request. If it is configured to get Message Priority from the ingress Request, then it is not possible to configure a MPCS for the Connection or Peer.

In Peer Routing Rules, Message Priority valid values are 'No Change', 0, 1 and 2. 0 is the lowest priority. The Message Priority value is applied to the message only when the Peer Routing Rule Action value is set to Route to Peer.

The following Message Priority treatment configuration options can be selected:
  • None (default)
  • Apply a MPCS (by selecting from a list of configured MPCSs)
  • Read from message - Used to indicate that the Priority should be taken from the ingress message. This is used for DSR-to-DSR Connections as a way of conveying Message Priority

    This option does not apply to Peer Routing Rules, which have the options None (default) and Apply an MPCS.

Table 1 indicates how DSR determines which method is used. If the Request does not match a rule in the selected Message Priority Configuration Set, then the Request is assigned a Priority value of zero ("0").

Message Priority Treatment Methods
Message Priority Configuration Set Connection Setting Message Priority Configuration Set Peer Node (for Connection) Setting How Priority is Set for Ingress Requests on Connection
Not Set Not Set Use DSR NE
Not Set MPCS X Use MPCS X to assign Priority to Ingress Requests
Not Set Get Priority from Ingress Requests Extract Priority from Ingress Requests
MPCS Y (Don't Care) Use MPCS Y to assign Priority to Ingress Requests
Get Priority from Ingress Requests (Don't Care) Extract Priority from Ingress Requests