Diameter Stack Agent Configuration

To open the Diameter Stack agent configuration, click Build → New Configuration. Select Workflow from the Configurations dialog. When prompted to Select workflow type, click Realtime → OK. Click Add agent. In the Agent Selection dialog click the Collection tab and select Diameter Stack. Double-click the agent icon or right-click the icon and select Edit agent, to display the Agent Configuration dialog.

General Tab

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

The Diameter Stack agent - General tab

Setting

Description

Setting

Description

Application 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.

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.

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 hostname (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. If there is more than one network interface, the agent aborts on startup.

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 Tab

The Diameter Stack receives, decodes, and forwards UDRs asynchronously. An internal queue in the workflow engine acts as a backlog for the workflow. When a 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.

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

The Diameter Stack agent - Diameter Too Busy tab

Setting

Description

Setting

Description

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 a 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.

Time Between Log Entries(s)

This property tells the agent how often it should write messages to the 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.

See Workflow Properties for further information.

Advanced Tab

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


The Diameter Stack agent - Advanced tab

Setting

Description

Setting

Description

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 for further information.

Timeout Resolution (ms)

Enter the interval at which the Answer Timeout should be checked.

Enable Debug Events

Select this checkbox to enable debug mode. Useful for testing purposes.

Enable Runtime Validation

Select this checkbox 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

  • The setting of AVP flags i.e. M-bit and P-bit

  • The 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 checkbox 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 Interfaces

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

Keystore Path

The path to a keystore file that contains the private key of the Diameter Stack, and any certificates needed to verify peers. This parameter is only applicable if TLS security is used for one or more of the peers in the routing profile. The path is relative to the Execution Context on which the Diameter Stack runs.

Keystore Password

The path to a keystore file that contains the private key of the Diameter Stack, and any certificates needed to verify peers. This parameter is only applicable if TLS security is used for one or more of the peers in the routing profile. The path is relative to the Execution Context on which the Diameter Stack runs.

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 Profile 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 to 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 Route

When 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.

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.

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.

The Diameter Stack agent - SCTP Options tab

Disable Heartbeat Sending 

Setting

Description

Setting

Description

For Outgoing Associations 

Select this checkbox if you want to disable heartbeat sending for outgoing associations. 

For Incoming Associations 

Select this checkbox if you want to disable heartbeat sending for incoming associations.