Remote BUSY Congestion

The Remote BUSY Congestion feature can be used per Connection to reduce the amount of message traffic sent to a Diameter Connection when an adjacent Diameter Peer Node is unable to process messages as fast as they are sent to it on the Connection.

Note: The User Configured Message Priority feature is a prerequisite for the Remote BUSY Congestion feature.
A Connection is considered congested or BUSY if the following conditions exist:

The DSR sets the status 'BUSY' only for the Connection of a Peer on which 'DIAMETER TOO BUSY' is received. The other Connections between the DSR and the Peer may or may not be BUSY.

Remote BUSY Congestion applies only to adjacent nodes. If the node which initiated the DIAMETER_TOO_BUSY, as determined by the Origin-Host AVP value, is not a DSR Peer Node, then the DIAMETER_TOO_BUSY will be ignored.

Message traffic reduction is managed through the use of 4 Remote BUSY Congestion Levels: CL-0. CL-1, CL-2, and CL-3, where CL-0 indicates "no congestion" and CL-3 is the highest level of congestion.

A Remote BUSY Congestion Level for a Connection is determined from the Priority of the egress transactions rejected by a "DIAMETER_TOO_BUSY" response. When a transaction of Priority "X" is rejected by a "DIAMETER_TOO_BUSY" on a Connection whose Remote BUSY Congestion Level is X or smaller, then the Remote BUSY Congestion of the Connection is set to a value that prevents the Diameter Routing Function from sending subsequent transactions of the same or lower Priority than the rejected transaction (in this case, the Remote BUSY Congestion Level is set to X+1). For example, if a "DIAMETER_TOO_BUSY" response is received for a Priority 1 transaction, then the Remote BUSY Congestion Level will be set to CL-2 to prevent subsequent transactions of Priority 1 and lower from being forwarded on the Connection.

Whenever the Remote BUSY Congestion Level is increased, Remote BUSY Congestion abatement is re-started, using the configured Remote Busy Abatement Timeout value. When the Remote Busy Abatement Timeout expires, the Congestion Level is decremented by 1, allowing transactions with the next lower Priority to be forwarded on the Connection; the Remote Busy Abatement Timeout is restarted. This process continues until the Congestion Level of the Connection drops back to CL-0.

Whenever the Remote BUSY Congestion Level is increased, Remote BUSY Congestion abatement is re-started, by starting the Remote BUSY Congestion Abatement Timer. When the Remote Busy Abatement Timeout expires, the Congestion Level is decremented by 1, thus allowing transactions with the next lower Priority to be forwarded on the Connection; and the Remote Busy Abatement Timeout is restarted. This process continues until the transactions of the Connection drop back to CL-0.

Because Remote BUSY Congestion is detected by inspecting the Result-Code AVP embedded in an Answer response, detection is performed by the Diameter Routing Function.

Except for Remote BUSY Congestion detection, the Diameter Transport Function is responsible for handling all of the tasks associated with Remote BUSY Congestion, such as:

When the Diameter Routing Function determines that the Remote BUSY Congestion Level needs to be increased, it notifies the Diameter Transport Function instance that is currently controlling the Diameter Connection.

Because multiple Diameter Routing Function instances can be simultaneously forwarding transactions to the same Diameter Connection and detecting Remote BUSY Congestion, an internal procedure minimizes the number of simultaneous the Diameter Routing Function-to-Diameter Transport Function detection notifications that are associated with any single Diameter Connection.

The Connection Congestion Levels CL-0, CL-1, CL-2, CL-3 and CL-4 are mapped to Connection Priority Level (CPL) values 0, 1, 2, 3, 4 respectively.

Diameter Configuration for Remote BUSY Congestion

The Remote BUSY Congestion feature is configured using the following elements on the Diameter > Configuration > Connections GUI page:
  • Remote Busy Usage: Enabled, Disabled
  • Remote Busy Abatement Timeout - time period (in seconds) that a Connection will be considered BUSY from the last time a DIAMETER_TOO_BUSY response was rec

The configuration elements cannot be modified when the Connection is in service (Connection Admin State=Enabled).

The Remote BUSY Congestion feature can be enabled and disabled for each configured Diameter Connection.