The Priorities assigned are based on the combination of Application-Id and Command-Code, and the Connection upon which the Request arrives. A combination of Application-Id, Command-Code, and associated Priority is called a Message Priority Rule.
Message Priority will be determined based in part on the Connection on which the Request arrives at the first DSR to handle the Request. A second DSR to handle the Request is not able to establish the Priority based on the original ingress Connection.
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.
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.
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.
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.
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 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 |