Diameter Stack Agent Configuration(3.0)

You open the Diameter Stack agent configuration view from the workflow editor by either double-clicking the agent icon, or by right-clicking it and then selecting Configuration.

General Tab

The General tab contains general diameter settings that are needed for configuration of the agent.

SettingDescription

wApplication Profile

Click Browse to select a predefined application profile. The profile contains details about advertised applications, as well as supported AVPs and command codes.

For further information, see Diameter Application Profile (3.0).

Routing Profile

Click Browse to select a predefined routing profile. The Profile contains details about supported hosts, listening ports, applications, and realms.

For further information, see Diameter Routing Profile (3.0).

Server Protocol

Select the transport protocol for incoming connections.

SCTP must be installed on every EC host that uses the SCTP protocol. For installation instructions, see your operating system documentation.

Diameter Identity

Select Hostname to manually enter the host name (case sensitive) of this Diameter agent. In case the Origin-Host AVP has been left unconfigured, the Hostname value will be applied whenever a Diameter message is transmitted from this agent.

If SCTP is configured as server protocol, all IP addresses that are resolved from the Diameter Identity will be used as SCTP endpoints through multihoming.

Use DNS Hostname

If enabled, the Diameter Identity of the local agent is automatically set by looking up the DNS hostname that is associated with the local IP address.

Realm

Enter the Diameter realm (case sensitive) for this specific host. In case the Origin-Realm AVP has been left unconfigured, the Realm value will be applied in messages transmitted from this agent.

Listening Port

Enter the port through which the Diameter agent should "listen" for transport connections input.

Primary Host

When using SCTP, optionally enter the IP address of the network interface that will be used to establish a transport connection. If left unconfigured, any IP address that can be resolved from the Hostname will be selected.

Diameter Too Busy

The Diameter Stack receives, decodes, and forwards UDRs asynchronously. An internal queue in the workflow engine acts as a backlog for the workflow. When the load of messages gets too heavy to process, you can either use the configurations in the Diameter Too Busy tab, in order to respond to callers, or configure the Supervision Service with actions to take.

Note!

The configurations described in this section determine if and how the Diameter agent will reject incoming requests or UDRs to the workflow. For information regarding how to limit the number of requests and UDRs sent out from the workflow, see Diameter Routing Profile (3.0).

Diameter Too Busy

The Diameter Too Busy tab enables you to configure the agent with instructions to respond to callers.

SettingDescription

Enable Diameter Too Busy

Check to enable the agent to automatically respond with DIAMETER_TOO_BUSY when the workflow is overloaded.

Maximum Workflow Queue Size(%)

Enter the highest limit of the internal queue size. When this limit is reached the agent sends "Too Busy" responses.

This setting is measured in percent % of the total Workflow Queue Size that is configured in Workflow Properties.

Note!

You can change this value during processing from the  Workflow Monitor .

Throughput Threshold (UDRs/s)

The Throughput Threshold is also a congestion control setting. With it, you can make the agent reject some of the incoming UDRs.

When the load of requests per second exceeds the value of this property, some of the requests will be rejected and the process sending the request will get a Diameter Too Busy response.

Note!

You can change this value during processing from the Workflow Monitor.

Time Between Log Entries(s)

This property tells the agent how often it should write messages to system log when it is in congestion prevention mode.

Time Between Log Entries is an integer value between 1 and 3600 seconds.

Supervision Service

If you want to reject certain messages when the load gets too heavy, you can use the Supervision Service. With this service you can select one of the following overload protection strategies:

  • Diameter_ACInterimRequest - For rejecting requests of type AccountingInterim-Request

  • Diameter_CCInitialRequest - For rejecting Credit-Control Initial requests

  • Diameter_CCTerminationRequest - For rejecting Credit-Control Termination requests

  • Diameter_ACStartRequest - For rejecting requests of type AccountingStart-Request

  • Diameter_ReAuthRequest - For rejecting ReAuthentication requests

  • Diameter_AbortSessionRequest - For rejecting requests of type AbortSession

  • Diameter:ACStopRequest - For rejecting requests of type AccountingStop-Request

  • Diameter_CCUpdateRequest - For rejecting Credit-Control Update requests

  • Diameter_CCEventRequest - For rejecting requests of type Credit-Control-EventRequest 

For each strategy you can select if you want to reject 25, 50, or 100 % of the requests.

Advanced Tab

This tab includes more advanced settings for the Diameter Stack agent.

SettingDescription
Diameter Answer Timeout (ms)

Enter the period of time (in milliseconds) before a non-responded request is handled as an error, i e an Error Answer Message is returned. See the section, Special Error Handling, in The Diameter Base Protocol(3.0) for further information.

The timeout is checked periodically according to the Timeout Resolution (ms) setting. The time set in this field may be added to the time period entered for Diameter Answer Timeout (ms).

Consequently, setting the timeout interval to a very small value will not be very useful, since the delay in detecting the timeouts will have a quite large effect on the actual time interval before detecting timeouts.

Examples

Setting Diameter Answer Timeout (ms) to:

  • 50 will result in timeouts being detected within 50 - 149 ms
  • 300 will result in timeouts being detected within 300 - 399 ms
  • 750 will result in timeouts being detected within 750 - 849 ms
Timeout Resolution (ms)Enter the interval at which the Answer Timeout should be checked.

Enable Debug Events

Select this check box to enable debug mode. Useful for testing purposes.

Enable Runtime Validation

Select this check box to enable runtime validation of the Diameter messages against the command and AVP definitions in the Diameter Application profile.

The following is validated in incoming and outgoing messages:

  • Occurrences and position of AVPs
  • Setting of AVP flags i e M-bit and P-bit
  • Setting of command flags i e Proxiable (p-bit) and Error (e-bit)

When runtime validation is selected, incoming messages that fail the validation are rejected by the Diameter Stack agent and the appropriate result code is applied in an error answer message.

Do Not Create Outgoing Connections

Select this check box to prevent the agent from actively trying to connect or reconnect if a connection is lost, with peers. When this option is checked, the agent is said to run in passive mode.

Bind On All InterfacesSelect this checkbox to allow the agent to bind on interfaces other than just the Diameter identity. For example, in a Kubernetes solution.

Security Profile


Click Browse to select a security profile with certificate and configuration to use, if you prefer to use a secure connection. Refer to Security (3.0) for more information.

Watchdog

Enter the watchdog timer interval TWINIT. For information about TWINIT, see RFC 3539.

Maximum Message Size (B)Enter the maximum number of bytes allowed in a single Diameter message.

Socket Write Timeout

(ms)

Enter the timeout value for writing to a socket. If the write operation is blocked for longer than the timeout period, the peer will be disconnected. Write blocks may occur if the receiving peer is overloaded.

Connect Timeout (ms)

Enter the timeout value for peer connection attempts. This setting is only applicable for TCP connections.

Connect Interval (ms)

Enter the minimum time interval between connection attempts when routing messages from a workflow and the peer connection is not established. An interval timer is started at the first connection attempt; subsequent connection attempts to the same peer are then suppressed until the timer has expired.

When realm-based routing is used, the connect interval is applied only if all configured peers in the realm are down.

Error RouteWhen there is an error in an incoming message, the Diameter Stack agent creates a DiameterErrorUDR that can be routed to the workflow. Use Error Route to select the outgoing route for UDRs of this type. You can disable the routing of these UDRs by selecting (None), which is the default value. For information about DiameterErrorUDR, see the section, DiameterErrorUDR, in The Diameter Base Protocol(3.0).
Connection Monitoring Route

If you want to send connection related messages and ConnectionLost UDRs to the workflow, use the Connection Monitoring Route option to select the outgoing route for UDRs of this type. You can disable the routing of these UDRs by selecting (None), which is the default value.

The UDR types that are routed are the following:

  • Capabilities_Exchange_Request (Diameter.Base)
  • Capabilities_Exchange_Answer (Diameter.Base)
  • Device_Watchdog_Request (Diameter.Base)
  • Device_Watchdog_Response (Diameter.Base)
  • ConnectionLost (Diameter)

For information on the ConnectionLost UDR, see The Diameter Base Protocol(3.0).

Use Waiting Messages Limit

When the Diameter Stack agent acts as a client and cannot send a message to a target peer, the message is kept in a queue until it is sent or a timeout occurs. In case of a timeout, a DiameterErrorUDR is routed back to the workflow.

Select this check box to limit the number of messages that can be stored in the message queue, and enter the number of messages that can be queued. When the limit is exceeded, the first message in the queue is removed and handled as if a timeout has occurred. The default value is 500.

Peer Profile Mappings

Click Configure to set specific mappings for peers that you do not want to use the default Diameter Application profile, which is set in the General tab. To configure the mappings, you enter the Peer Identity and the Diameter Application profile that you want the specified peer to use. The peer identity can be a regular expression.

The number of mappings configured is shown on the Configure button.

For each peer that connects, the specific Diameter Application profile used is chosen by first checking each Peer Profile Mapping as ordered in the Peer Profile Mappings list. If the peer identity matches the configured name or pattern, this profile is chosen. If no peer profile mapping matches, the default Diameter Application profile is used.

SCTP Options Tab

This tab includes settings for SCTP heartbeats. These settings can be used to turn off SCTP heartbeats on the Diameter Stack when running the EC on a Linux X86-84 or amd64.

Disable Heartbeat Sending

SettingDescription

For Outgoing Associations 

Select this check box if you want to disable hearbeat sending for outgoing associations. 

For Incoming Associations 

Select this check box if you want to disable hearbeat sending for outgoing associations.Â