This section describes details of the Diameter Base Protocol implementation that you should take into account when working with the Diameter agents.
Limitations
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>
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.
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>
Add Comment