4.1.6 - 2024-01-24


  • Add six "unknown" enum values (5-10) to the Subscription-Id-Types AVP to support peers that use values not defined by the Diameter specification. (#1027548)

Dependency Updates

  • Update the netty libraries to 4.1.103.Final

4.1.5 - 2023-11-13

Dependency Updates

  • Update org.yaml:snakeyaml to 2.0 (#740859)

4.1.4 - 2023-07-18


  • During failover, Diameter resource adaptors will now consider all configured peers when resending a message. Before this change, they only considered peers that were active when the Diameter session was created. (#428717)


  • Update org.apache.common:commons-text to 1.10.0. (#425759)

4.1.3 - 2023-01-18

Bug fixes

  • The stateful session timeout timer now correctly cleans up base accounting sessions. (#424271)

4.1.2 - 2022-10-05

Bug fixes

  • In the base Diameter RA, liveness checks no longer terminate ongoing charging session activities. (#280613)

4.1.1 - 2022-08-11

Note Release versions now have three components, not four.
This release requires Rhino 3.1 or later.

New features

  • The Diameter resource adaptors now use static OIDs for SNMP. For more information see Static OID introduction in the Rhino documentation.


  • All open source libraries used by this resource adaptor have been updated to the latest available version, including:

    • Netty to 4.1.70.Final.

    • JAXB to 3.0.2.

    • Guava to 30.1.1-jre.

Bug fixes

  • Fix a crash when processing a TLS certificate that includes Subject Alternative Names. (#235836) - 2020-08-28

New features

  • Java 11 is now supported. Earlier JDK versions are no longer supported.

API changes

  • Remove usage of Rf from Diameter Gx RA (DIA-613)

    AVPs which were previously sourced from the Rf spec data and Rf RA types have been replaced with spec fragments in Diameter Gx itself.

    This fixes problems with uncreatable Rf types being used as part of the Gx API. This change affected the following group AVPs:

    • Used-Service-Unit now uses the CCA type instead of Rf, so can be created via CCA factory. Extension AVPs are required for Reporting-Reason and Event-Charging-Timestamp, which were defined on the Rf version of the AVP.

    • User-CSG-Information is now a native Gx type and can be created with a new factory method on Gx factory.

    • These AVPs were also moved in to the Gx spec data: TGPP-Selection-Mode, TGPP-Charging-Characteristics, CSG-Access-Mode, CSG-Membership-Indication, CSG-Id, Dynamic-Address-Flag.

Bug fixes

  • Fix ClassCastException when timers time out on terminated sessions (DIA-610)

  • Fixed an exception creating activities on the new node after session failover. (DIA-611)

  • Fix tracing in Gx resource adaptor. (DIA-615)

  • Added a profile spec reference from the ExtensionAvpSetProfile to the ExtensionAvpProfile so exports have profiles in the correct order. (DIA-475)

  • Add missing FORWARDING_ROLE value to Role-Of-Node AVP for 3GPP Rel 12 Ro and Rf. (DIA-602) - 2018-10-29

  • Log source and destination IP addresses and ports to SAS when sending and receiving Diameter messages. (DIA-576)

  • Fix Mandatory flag for 3GPP AVPs defined in TS 29.061. Changed from MUST to MUSTNOT. (DIA-590) - 2018-06-27

  • Add SAS logging for request retransmission. (DIA-597) - 2018-04-24

New features

  • Metaswitch Service Assurance Server (SAS) support. (DIA-563)
    See the documentation for more information.


  • Fixed a bug that resulted in extra null elements being included when getting AVPs from a message or grouped AVP. (DIA-558) - 2018-03-01


  • Fixed issue in Diameter Gx that meant AVPs were not converted to specific types (DIA-561). - 2017-10-20


  • Fix all base Diameter AVPs so they are not sent with the 'P' header bit set. RFC 6733 states that this bit should always be unset. (DIA-559) - 2017-08-23


  • Fixed a bug that allowed RA entity properties to be set to invalid values in some cases. (DIA-551) - 2017-06-19

New Features

  • Added optional Slee3GPPVersion RA entity property to Diameter Ro and Rf. This can be used to configure a different Ro/Rf version to use in the SLEE for events, messages, and types than the Ro/Rf version used on the wire. If specified, and if set to a different Ro/Rf version, the messages and AVPs will be converted on the fly as messages come on and off the wire. (DIA-541 [Ro] and DIA-543 [Rf])

API and deployment changes

  • Added isRecognizedAvp method to message factories to check if a DiameterAvp is recognized by that message factory. (DIA-532)

  • Added getConfiguredTGPPVersion method to all Diameter provider factories. (DIA-531)

  • Removed the CCA and Base types from the Diameter Rf RA Type jar. The CCA Types are still included in the final Diameter Rf RA deployable unit, but they are now referenced as libraries instead of having them included directly in the Rf RA Type jar. There is also a new no-cca variant of the Diameter Rf RA deployable unit that can be co-deployed with the Diameter CCA RA. (DIA-547)


  • Fixed Diameter Rf AVP type conversion so it ignores extension AVPs. Previously, extension AVPs that used the same code as an actual Rf AVP (but with a different vendor ID) would be changed into the actual Rf AVP. (DIA-548) - 2016-10-28

Note As of release 3.0.0, the Diameter resource adaptors require Rhino 2.4.0 or later.

RFC 6733 Compliance

  • Add support for Capabilities-Update-Request and Capabilities-Update-Answer, defined in RFC 6733 and RFC 6737.

  • Add extension AVPs to all Base Diameter messages.

  • Remove Capabilities-Exchange-Request / Capabilities-Exchange-Answer support from "Open" peer state.

  • Add handling of Vendor-Specific-Application-Id in Capabilities-Exchange-Request.

  • Add new AVPs to Error-Answer message.

  • Add new AVPs to Accounting-Request and Accounting-Answer.

  • Minor change to election process.

  • New SSL/TLS support. Backwards compatibility for TLS support in accordance with RFC 3588 is controlled using AllowTLSDowngradeToRFC3588 configuration parameter.

Other Compliance

  • Add support for 3GPP Rel12. (DIA-491)

  • Add support for multiple Sh UserData schema versions. (DIA-289)

API and deployment changes * New Java types have been added for Re-Auth and Abort-Session requests and answers used by credit control applications (Diameter CCA and Ro). SBBs that declare event handlers for these messages will need to use the classes in the org.jainslee.resources.diameter.cca.types package instead of org.jainslee.resources.diameter.base.types. This was done so that the messages contain the correct Application ID for a credit control application. (DIA-339) * Diameter message factories now expose methods to encode and decode AVPs to and from byte arrays. (DIA-483) * Add support for extension AVPs to all Grouped AVPs. Be aware that adding extension AVPs to a Grouped AVP that does not explicitly specify ABNF line * [AVP] may result in interoperability problems with products that strongly validate the incoming message against the specification. (DIA-479) * Diameter MBean name changed to more standard com.opencloud.diameter:type=Entity,name=<entityname>. (DIA-218) * Assign static OIDs to Diameter statistics parameters. (DIA-482)


  • Diameter alarms are now registered in the alarm catalog. (DIA-465)

  • Added support for new method getConfiguredTGPPVersion() available on provider factories for Sh, Ro, Rf and Gx. The return value is a hex string representing the version configured for the resource adaptor entity, irrespective of the version of the provider implementation. (DIA-531)


  • Fix permission failures allocating Netty buffers under certain conditions. (DIA-435)

  • Fix handling of retransmissions for Credit Control sessions where CreditControlFailureHandling is set to TERMINATE. (DIA-527)