Below are common configuration properties that all Diameter resource adaptors use, followed by properties specific to:

Configuration properties for transport security (TLS) and more information about configuring TLS can be found on Configuring Diameter Transport Security.

The Diameter resource adaptors support active reconfiguration. This means that (most) configuration properties can be updated without deactivating and re-activating the resource adaptor entity. If a property cannot be updated at runtime, then an alarm is raised indicating that the entity must be deactivated and re-activated. The tables below indicate which properties allow active reconfiguration.

For profile-based configuration, some of the attributes can be changed while active. See Configuration Profiles for details. The profile is polled for changes according to the value of ConfigurationProfilePollTime. (This is disabled by default.)

Common configuration properties

Property What it specifies Values Default Active reconfig?

ConfigurationProfile

Diameter Configuration Profile from which to load the Diameter stack configuration

valid profile name specified as TableName/ProfileName

No

ConfigurationProfilePollTime

time between polling for changes to ConfigurationProfile, in milliseconds

1000 or greater; 0 to disable

0

Yes

ExtensionAvpSet

Diameter Extension AVP Set profile for configuring extension AVPs (if specified)

profile name specified as TableName/ProfileName

Yes

ExtensionAvpSetPollTime

time between polling for changes to ExtensionAvpSet in milliseconds

1000 or greater; 0 to disable

0

Yes

ConnectTimeout

timeout for waiting for outgoing transport connection establishment

number of milliseconds

30000

Yes

RequestTimeout

timeout for waiting for responses before firing a Timeout event

number of milliseconds

30000

Yes

WatchdogTimeout

timeout for waiting for watchdog responses (RFC3539 timer Tw)

number of milliseconds

30000

Yes

ReconnectDelay

delay before reconnecting (RFC6733 timer Tc)

number of milliseconds

30000

Yes

ForceReconnectAfterDPR

if true, always attempt to reconnect even if the server sent a DPR with Disconnect-Cause set to DO_NOT_WANT_TO_TALK_TO_YOU

true, false

false

Yes

FireToServiceID

service to fire events to (if specified)

Service ID as full display string as shown by management commands

Yes

ThreadPoolSize

size of thread pool for decoding incoming diameter messages

-1 = disable thread pool and use IO threads;
0 = use value of Runtime.getRuntime().availableProcessors()

0

No

WorkQueueSize

size of the task queue of thread pool for decoding incoming diameter messages

0 = use ThreadPoolSize * 1000

0

No

IOServerWorkers

number of IO threads serving incoming connections

0 = use value of Runtime.getRuntime().availableProcessors()

0

No

IOClientWorkers

number of IO threads serving outgoing connections

0 = use value of Runtime.getRuntime().availableProcessors()

0

No

SupportedVendorIds

a set of Supported-Vendor-Id AVP values used in CER and CEA, multiple comma separated values can be specified

integer number (from 0 to 2^32 inclusive); comma separated list of integer numbers

No

ExtendedTransportConfiguration

allows additional Netty settings to be supplied, for example those controlling the parameters of the pooled buffer allocator; these are not for general use and should be added only at the recommendation of Metaswitch engineers

valid list of extended properties

No

Quirks

comma separated list of strings enabling non-standard behaviour; these are not for general use and should be added only at the recommendation of Metaswitch engineers

valid list of supported Quirks

No

Diameter Base configuration properties

Diameter Base also uses this configuration property:

Property What it specifies Values Default Active reconfig?

VendorSpecificApplicationId

value to put into the Vendor-Specific-Application-Id AVP in CER/CEA and CUR/CUA messages

grouped AVP containing a Vendor-Id field and a Auth-Application-Id field — must contain both values in the format Vendor-Id:Auth-Application-Id

Yes

Active reconfiguration of this property automatically triggers sending CUR message to all active peers supporting RFC6737.

Diameter Accounting/Rf configuration properties

Diameter Base Accounting and Diameter Rf also use these configuration properties:

Property What it specifies Active reconfig?

StatefulSessionTimeout

value for Ts as defined by section 8.2 of RFC 6733 — the timeout value for stateful accounting sessions

Yes

AcctInterimInterval

value to include (if specified) in an Acct-Interim-Interval AVP for Accounting-Answer, when starting a session

Yes

Diameter 3GPP configuration properties

Diameter resource adaptors that implement a 3GPP reference point (Ro, Rf, Gx, and Sh) also use this configuration property.

Property What it specifies Values Active reconfig?

3GPPVersion

3GPP version of protocol supported by the resource adaptor

two forms allowed:

  • in the form of Vxyz, where xyz is three-character version number used in names of 3GPP specifications; for example, V710 for V7.1.0 or Va00 for V10.0.0. The value is case-sensitive: the V must be uppercase and other letters lowercase.

  • in the decimal form x.y.z; for example, 7.1.0 for V7.1.0 or 10.0.0 for V10.0.0. There is no V letter, only the decimal version number.

Note Prior to Diameter 2.6.0 this value was optional and a "default" version would be used. From 2.6.0 onwards a value must be supplied or the resource adaptor will not activate. See additional notes below.

No

3GPP version

Your SBB must use the provider factory method and the types sub-package that matches the value you specify, unless the Slee3GPPVersion is set. For example, for Ro V10.0.0 (3GPPVersion=Va00) or (3GPPVersion=10.0.0), you would use the provider method

RoProviderFactory.getRoProviderVa00()

and import your Diameter types from the package

org.jainslee.resources.diameter.ro.types.va00
Note

Diameter SLEE 3GPP configuration properties

Diameter Ro and Rf resource adaptors use this configuration property to specify a different 3GPP version for internal use (by the SLEE) than that used externally (on the network). The Slee3GPPversion specifies the API used by any SLEE application built using the Diameter Ro or Rf resource adaptors. If configured differently from the 3GPPVersion then all diameter messages will be converted as follows:

  • Incoming messages received from the network will be converted from the received version (3GPPVersion) to the SLEE version (Slee3GPPVersion) before being processed by a SLEE application

  • Outgoing messages will be converted from the internal version (Slee3GPPVersion) to the external version (3GPPVersion) before being sent on the network

  • Any AVPs not valid or without equivalent AVPs in either target version will be lost.

Property What it specifies Values Active reconfig?

Slee3GPPVersion

3GPP version of protocol supported by the SLEE(application)

If specified, two forms allowed:

  • in the form of Vxyz, where xyz is three-character version number used in names of 3GPP specifications; for example, Vcb0 for V12.11.0. The value is case-sensitive: the V must be uppercase and other letters lowercase.

  • in the decimal form x.y.z; for example, 12.11.0 for V12.11.0. There is no V letter, only the decimal version number.

Otherwise, Slee3GPPVersion is the 3GPPVersion

No

SLEE 3GPP version

Your SBB must use the provider factory method and the types sub-package that matches the Slee3GPPVersion you specify, if notspecified the 3GPPVersion provider factory should be used. For example, for Ro V12.11.0 (Slee3GPPVersion=Vcb0) or (Slee3GPPVersion=12.11.0), you would use the provider method

RoProviderFactory.getRoProviderVcb0()

and import your Diameter types from the package

org.jainslee.resources.diameter.ro.types.vcb0

Diameter CCA/Ro/Gx configuration properties

Diameter CCA, Diameter Ro, and Diameter Gx also use these configuration properties.

Property What it specifies Values Default Active reconfig?

ServiceContextId

value to put into the Service-Context-ID AVP for all messages

string value specified as "service-context" "@" "domain" (see RFC 4006 section 8.42)

diametercca
@opencloud.com

Yes

ExtensionMessages

if true, support both Diameter base and Diameter application specific sessions (CCA, Ro, Gx); otherwise allow only processing of messages that are explicitly used within Diameter application (as specified by corresponding RFC and 3GPP specifications for CCA, Ro, Gx)

true, false

false

Yes

ReplicateActivities

enable credit control session state replication, so that dialog activities can continue on other cluster nodes after a node failure; if true, replication is enabled; requires a clustered production Rhino installation

true, false

false

No

ReplicateByDefault

start replicating new Diameter sessions on creation:

  • true — Diameter sessions start replicating as soon as they are created;

  • false — replication must be enabled per-session by calling startReplicating() on the session activity.

Note Requires a clustered production Rhino installation. Only applicable when ReplicateActivities is set to true and Rhino is configured to use Key/Value replication.

true, false

false

Yes

TxTimeout

timeout for waiting for responses before firing a RequestTxTimeout event (RFC4006 Tx Timer); session state after timeout depends on Credit-Control-Failure-Handling AVP or Direct-Debiting-Failure-Handling AVP (RFC4006 section 5.7 and section 6.5 respectively)

number of milliseconds; 100 or greater

10000

Yes

ValidityTimeBasedTccTimeout

Controls Tcc session supervision timer driven behaviour (RFC 4006 section 13 and section 7).
Supported values:

  • -1 = Tcc timer disabled

  • 0 = Tcc timer initialized to 2 x Validity-Time AVP seconds

  • >0 = provides a default Validity-Time AVP value. Whenever answer does not contain a Validity-Time AVP, that AVP is added by RA with value equal to defined ValidityTimeBasedTccTimeout. Processing continues exactly as in case of 0.

integer value -1, 0, >0

0

No

CCSessionFailover

provides a default value for CC-Session-Failover AVP for credit control server sessions created by RA (RFC4006 section 8.4); if configuration value is specified, it is automatically set in outgoing answers that do not already contain this AVP

optional string parameter; if provided, must be one of: FAILOVER_NOT_SUPPORTED, FAILOVER_SUPPORTED

Yes

CreditControlFailureHandling

provides a default value for Credit-Control-Failure-Handling AVP for credit control server sessions created by RA (RFC4006 section 8.14); if configuration value is specified, it is automatically set in outgoing answers that do not already contain this AVP

optional string parameter; if provided, must be one of: TERMINATE, CONTINUE, RETRY_AND_TERMINATE

Yes

DirectDebitingFailureHandling

provides a default value for Direct-Debiting-Failure-Handling AVP for credit control server sessions created by RA (RFC4006 section 8.15); if configuration value is specified, it is automatically set in outgoing answers that do not already contain this AVP

optional string parameter; if provided, must be one of: TERMINATE_OR_BUFFER, CONTINUE

Yes

InitialTerminateDuplicateHandling

switch the responsibility for handling of duplicated INITIAL and TERMINATION session credit-control requests (CCR with CC-Request-Type AVP equal to INITIAL_REQUEST or TERMINATION_REQUEST) between RA or service.
Supported values:

  • NO — RA upon receiving duplicated CCR with CC-Request-Type AVP equal to INITIAL_REQUEST or TERMINATION_REQUEST automatically generates an error response and terminates the session

  • SERVICE — RA does not handle duplicated session credit-control CCRs automatically, service is responsible for detecting and appropriately handling duplicates, service is also allowed to send duplicated CCRs.

Note Duplicated TERMINATION session credit-control requests are handled up to LingerOnTerminate milliseconds after CC session reaching Terminated state. For description of LingerOnTerminate see below.

string parameter; must be one of: NO, SERVICE

NO

Yes

LingerOnTerminate

delay ending diameter activity by LingerOnTerminate milliseconds after CC session reaching Terminated state; must be disabled (set to 0), if InitialTerminateDuplicateHandling is set to value NO

number of milliseconds; 1000 or greater; 0 to disable

0

Yes

SessionTimeout

session inactivity timeout used by RA when handling SLEE queryLiveness call; if an activity has been idle in the SLEE for a prolonged period of time it will be terminated, but not sooner than SessionTimeout ms from last processed message

number of milliseconds

600000

Yes

Previous page Next page