Diameter Configuration and Design Considerations

This section describes details of the Diameter Base Protocol implementation that you should take into account when working with the Diameter agents.


While the system provides the capability of a Diameter Server and a Diameter Client, it does not provide all the capabilities of a Diameter Agent as defined in the Diameter Base Protocol RFC 6733, chapter 1.2 Terminology.

The following limitations apply:

  • The agent can not act as a relay agent.

  • Cache handling during redirect is not supported.

  • DTLS over SCTP is not supported.

  • Transport security (TLS) is negotiated via the Inband-Security AVP in CER/CEA exchange and not prior to the CER/CEA exchange as recommended in RFC 6733.

Number of Decoding Threads

You can use the Execution Context property mz.workflow.decoderqueue.max_threads to specify the maximum number of threads used by the Diameter Stack agent for decoding messages. Setting a lower value than default (10) may enhance performance if the EC host has a low number of CPU cores and the active workflows are complex. On the other hand, decoding may constitute a bottleneck when performing simple processing on a host machine with a high number of CPU cores. In this case, setting a higher value may provide better performance. 

Example - Setting maximum number of decoding threads

On a specific EC:

$ mzsh topo set topo://container:<container>/pico:<pico>/val:config.properties.mz.workflow.decoderqueue.max_threads <number of threads>

On cell level:

mzsh topo set topo://cell:default/val:common.config.properties.mz.workflow.decoderqueue.max_threads <number of threads>


The AVP Failed-AVP is populated for the following values in the Result-Code AVP:


NAPTR Service Field Format

The Diameter Stack agent uses NAPTR records in DNS for dynamic peer discovery. It is case insensitive to the service-parms in the NAPTR service fields that are configured in the DNS server. For more information about NAPTR, see RFC 6408.

TWCLOSE Property

The optional Execution Context property TWCLOSE should be used when connecting to peers that do not send Diameter Watchdog Requests in the REOPEN state. This property enables a timeout timer that is reset for each received message. The specified time value should exceed Watchdog (ms) in the Advanced tab of the Diameter application profile.

Example - Setting TWCLOSE property

On a specific EC:

$ mzsh topo set topo://container:<container>/pico:<pico>/val:config.properties.mz.diameter.watchdog.twclose <timeout ms>

On cell level:

mzsh topo set topo://cell:default/val:common.config.properties.mz.diameter.watchdog.twclose <timeout ms>