Diameter Configuration and Design Considerations(4.1)

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

Limitations

While  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

config.properties.mz.workflow.decoderqueue.max_threads <number of threads>


Failed-AVP

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

  • DIAMETER_INVALID_AVP_VALUE 5004
  • DIAMETER_MISSING_AVP 5005
  • DIAMETER_AVP_OCCURS_TOO_MANY_TIMES 5009
  • DIAMETER_UNABLE_TO_COMPLY 5012
  • DIAMETER_INVALID_AVP_LENGTH 5014

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.

Info!

config.properties.mz.diameter.watchdog.twclose <timeout ms>