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 |
---|---|
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 |
---|---|
Enable Diameter Too Busy | Check to enable the agent to automatically respond with |
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. 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 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 |
---|---|
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. 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:
|
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:
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 The UDR types that are routed are the following:
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 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 |
---|---|
For Outgoing Associations | Select this check box if you want to disable heartbeat sending for outgoing associations. |
For Incoming Associations | Select this check box if you want to disable heartbeat sending for incoming associations. |