Otpdia Managed Object Model
C-Diameter

Contents

1Introduction
1.1Prerequisites
1.2Related Information

2

Terminology and Acronyms

3

C-Diameter Managed Object Model
3.1Graphical Representation
3.2Configuration Lifecycle
3.3C-Diameter Instance Configuration
3.4AAA Service Configuration
3.5Diameter Application Configuration
3.6Peer Configuration
3.7Transport Configuration
3.8Routing Specification

Reference List

1   Introduction

This document describes the internal Otpdia Managed Object Model (MOM) of the C-Diameter component targeting users running on CoreMW. As being an internal model it is not accessible for end users through NBI.

The MOM is persistently stored on the target system by using the Information Model Management (IMM) system.

Operations on the Managed Information Model (MIM) can be performed by using the internal CLI tools provided by IMM.

Warning!

Applications targeting a non CBA aligned target execution environment should use the wrapper MOM implementation created towards the internal DiameterCC Managed Object Model to configure the diameter stack.

1.1   Prerequisites

This section describes the prerequisites for performing the activities described in this document.

1.1.1   Conditions

Before configuring C-Diameter by using the Otpdia MOM, ensure that the following conditions are met:

1.2   Related Information

The following information source provides further clarifications to the descriptions provided in this document:

2   Terminology and Acronyms

The terminologies and acronyms used in this document are described in the Glossary of Terms and Acronyms document.

3   C-Diameter Managed Object Model

3.1   Graphical Representation

Figure 1   Otpdia Managed Object Model

3.2   Configuration Lifecycle

Any change performed on the Otpdia MOM is applied immediately on diameter stack level. Changes affecting peer connection settings will be manifested by related link drop followed by an automatic link reestablishment.

3.3   C-Diameter Instance Configuration

3.3.1   OtpdiaProduct MOC

A OtpdiaProduct MOC instance represents the configuration of a C-Diameter deployment instance.


The OtpdiaProduct MOC instance is a singleton. That is, there can be only one OtpdiaProduct MOC instance defined for a C-Diameter deployment.


Any change on OtpdiaProduct MOC instance attributes are applied immediately on C-Diameter stack level. Since the attribute values provides common content for diameter messages used for peer connection setup (CER/CEA messages) changes on these attributes will have as result all peer connections dropped and reestablished with the updated information(1). C-Diameter stack level queued egress request messages will be resent to Diameter Peer Nodes.

Properties:

Cardinality:

OtpdiaProduct[1]

Parent:

-

Child:

OtpdiaService[0..*],
OtpdiaSelector[0..*]
OtpdiaCons[0..*]
OtpdiaDomain[0..*]
OtpdiaApplications[0..*]
OtpdiaVendorSpecificApplicationId[0..*]
OtpdiaHost[0..*]

Refers To:

-

Referred By:

-

(1)  Support for dynamic update of diameter capabilities while diameter peer connections are in open state (as expressed by RFC 6737) is not provided by the C-Diameter stack.


The OtpdiaProduct MOC contains the following attributes:

otpdiaProduct

Properties

Type:

SA_STRING_T

Presence:

Mandatory

Flags:

KEY, RO

Description

Used to specify the key of the OtpdiaProduct MOC instance.

The OtpdiaProduct MOC is a singleton. That is, there must be a single OtpdiaProduct MOC instance defined, for a C-Diameter deployment, on the target system identified by the unique value provided for the " otpdiaProduct" attribute.

productName

Properties

Type:

SA_STRING_T

Presence:

Mandatory

Flags:

RW

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections are dropped and reestablished with updated information.

Description

Used to specify the name of the product implementing different AAA Services by using the C-Diameter stack (for example, SAPC, IpWorks, MTAS, CSCF, HSS).

The provided attribute value is used to construct a Product-Name AVP placed in related capability exchange messages (CER/CEA messages) during peer connection setup.

The provided product name should remain constant across firmware revisions for the same product (see also attribute " firmwareRevision").

vendorId

Properties

Type:

SA_UINT32_T

Presence:

Mandatory

Flags:

RW

Recommended:

193

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections are dropped and reestablished with updated information.

Description

Used to specify the identity of the vendor implementing the product specified for attribute " productName".

The attribute should take as value an IANA allocated " SMI Network Management Private Enterprise Code" assigned for the vendor implementing the product specified for attribute " productName". Unless the product developer center is not registered with own vendor identity one should use the value 193 assigned to Ericsson AB.

The provided attribute value is used to construct a Vendor-Id AVP placed in related capability exchange messages (CER/CEA messages) during peer connection setup.

firmwareRevision

Properties

Type:

SA_UINT32_T

Presence:

Optional

Flags:

RW

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections are dropped and reestablished with updated information.

Description

Used to specify the revision of the software product specified for attribute " productName".

If there is an attribute value provided it is used to construct a Firmware-Revision AVP placed in related capability exchange messages (CER/CEA messages) during peer connection setup.

A sample OtpdiaProduct MO using IMM defined XML construct is outlined in the next example:

Example 1   Sample for OtpdiaProduct MO using IMM defined XML construct.

<object class="OtpdiaProduct">
  <dn>otpdiaProduct=SAPC</dn>
  <attr>
    <name>vendorId</name>
    <value>193</value>
  </attr>
  <attr>
    <name>productName</name>
    <value>SAPC</value>
  </attr>
  <attr>
    <name>firmwareRevision</name>
    <value>1</value>
  </attr>
</object>

3.4   AAA Service Configuration

3.4.1   OtpdiaService MOC

A OtpdiaService MOC instance is used to describe the properties of AAA Service implemented by a C-Diameter User.


A OtpdiaService MOC can have any number of instances identified by a unique key. All OtpdiaService MOC instances are children of the singleton OtpdiaProduct MOC instance.


Any change on OtpdiaService MOC instance attributes are applied immediately on C-Diameter stack level. Since the majority of the attribute values provides common content for diameter messages used for peer connection setup (CER/CEA messages) changes on these attributes will have as result the drop of service related peer connections and reestablishment with updated information. C-Diameter stack level queued egress request messages will be resent to Diameter Peer Nodes.

Properties:

Cardinality:

OtpdiaService[0..*]

Parent:

OtpdiaProduct[1]

Child:

OtpdiaTransportTcp[0..*]
OtpdiaTransportSctpE[0..*]

Refers To:

OtpdiaApplications[0..*]

Referred By:

OtpdiaSelector[0..*]

The OtpdiaService MOC contains the following attributes:

otpdiaService

Properties

Type:

SA_STRING_T

Presence:

Mandatory

Flags:

KEY, RO

Description

Used to specify the key of the OtpdiaService MOC instance. It should be an identity unique in the context of the parent OtpdiaProduct MOC instnace.

The key value provided should match the name of the AAA Service implementation the configuration should target. That is, the AAA Service name registered by related AAA Service implementation (see also, "int otpdiaStartService(config,...)" function description in DiameterCC, C API Reference Manual).

originRealm

Properties

Type:

SA_STRING_T

Presence:

Mandatory

Flags:

RW

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections linked to related AAA Service are dropped and reestablished with updated information.

Description

Used to specify the origin realm of the Diameter Node the related AAA Service is part of. A Diameter Node might provide implementation for many AAA Services.

The provided attribute value is to be expressed by complying to the Diameter Identity data type expression rules as defined by the "Diameter Base Protocol" (see, Reference [1]).

The provided attribute value is used to construct a Origin-Realm AVP which is placed in capability exchange messages (CER/CEA messages) during related AAA Service linked peer connection setup.

originHost

Properties

Type:

SA_STRING_T

Presence:

Mandatory

Flags:

RW

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections linked to related AAA Service are dropped and reestablished with updated information.

Description

Used to specify the origin host of the Diameter Node the related AAA Service is part of. A Diameter Node might provide implementation for many AAA Services.

The provided attribute value is to be expressed by complying to the Diameter Identity data type expression rules as defined by the Diameter Base Protocol.

The provided attribute value is used to construct a Origin-Host AVP which is placed in capability exchange messages (CER/CEA messages) during related AAA Service linked peer connection setup.

If multiple AAA Services are assigned to same Diameter Node the " originHost" and " originRealm" attribute values of related OtpdiaService MOC instances should match.

Warning!

If there are multiple OtpdiaService MOC instances with matching " originHost" attribute values the related " originRealm" attribute values must match as well.

hostIpAddress

Properties

Type:

SA_STRING_T[1..*]

Presence:

Mandatory

Flags:

RW

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections linked to related AAA Service are dropped and reestablished with updated information.

Description

Used to specify the list of IP addresses (a list of IPv4 and/or IPv6 addresses) that can be used by a Diameter Peer to connect to the Diameter Node holding the AAA Service. The IP addresses specified shall be published by eVIP.

The provided attribute values are used to construct relevant Host-IP-Address AVP which is placed in capability exchange messages (CER/CEA messages) during related AAA Service linked peer connection setup.

The provided first attribute value (in case of more addresses specified) also serves as default value for the addresses specified on transport level (see " address" attribute description of OtpdiaTransportTcp and OtpdiaTransportSctpE MOs in Section 3.7.1 respectively Section 3.7.2).

sequenceMask

Properties

Status:

Deprecated.

Type:

SA_UINT32_T

Presence:

Optional

Flags:

RW

Update Apply:

Not applicable.

Update Effect:

Not applicable.

Description

The support for sequenceMask attribute is deprecated. The C-Diameter stack automatically handles creation of cluster-wide unique Hop-by-Hop Identifiers and End-to-End Identifiers.

Any unsigned integer value provided for this attribute will be accepted but not taken into account by the C-Diameter implementation.

Stop!

Stop setting value for this attribute.

The configuration attribute is deprecated.
restrictConnections

Properties

Type:

SA_STRING_T[true|false]

Presence:

Optional

Flags:

RW

Default:

true

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections between affected Peer Node and own Diameter Node holding related AAA Service are dropped and reestablished in accordance with the new settings.

Description

Used to disallow more than one connection to the same Diameter Peer.

The "Diameter Base Protocol" specifies the use of single active connection between Diameter Peer Nodes (see, Reference [1]). However, Diameter Nodes can be implemented using a cluster of compute resources in which case the use of single peer connection between such Diameter Nodes might be a bottleneck in handling required traffic throughput. Such Diameter Node implementations provides settings through which multiple diameter peer connections towards same Diameter Peer can be established. C-Diameter provides support for such a functionality as well.

The restrictConnections attribute accepts the following values:

true

The use of multiple connections towards same Diameter Peer is restricted (disallowed).


C-Diameter provides in this case a standards compliant behavior in the allowed connections to be setup towards a Diameter Peer.


This is the default setting for the restrictConnections attribute.

false

The use of multiple connections towards same Diameter Peer is allowed.


C-Diameter provides in this case a non standards compliant behavior in the allowed connections to be setup towards a Diameter Peer.


The related Diameter Peer Node should have such a functionality enabled as well to have the multiple peer connection functionality working.

requestTimeout

Properties

Type:

SA_UINT32_T

Presence:

Optional

Flags:

RW

Default:

5000

Unit:

millisecond (ms)

MT Impacted:

Diameter.EgressAnswMsgDiscarded.TimeOut

Update Apply:

Immediate.

Update Effect:

C-Diameter will wait the indicated time-out period for diameter answer messages pertaining to newly received diameter ingress request messages.

Description

Used to specify the time-out period the C-Diameter stack waits for a AAA Service implementation to answer a diameter ingress request message. The time-out value provided is interpreted in "milliseconds."

C-Diameter will free resources allocated for an ingress request message if not answered by related AAA Service implementation in the indicated time-out period. An egress answer message received for the related ingress request after the indicated time-out period is discarded by C-Diameter.

Each time an egress diameter answer message is dropped by C-Diameter due to the time-out configured through the "requestTimeout" attribute the "Diameter.EgressAnswMsgDiscarded.TimeOut" counter is stepped (see also, DiameterCC Measurements).

incomingMaxlen

Properties

Type:

SA_UINT32_T

Presence:

Optional

Flags:

RW

Default:

16777215

Unit:

Bytes

Update Apply:

Immediate.

Update Effect:

C-Diameter will reject diameter ingress request messages larger than indicated size.


An error answer message with DIAMETER_UNABLE_TO_COMPLY permanent failure result code (5012) will be generated by C-Diameter for such rejected request messages.

Description

Used to specify the maximum size of a diameter ingress request message that should be passed by C-Diameter towards related AAA Service.

Ingress request messages larger than the indicated size are automatically answered by the C-Diameter stack with a DIAMETER_UNABLE_TO_COMPLY permanent failure result code.

The attribute value provided should represent the maximum number of bytes a diameter message is allowed to take. It should not pass the default maximum value of 16777215 (224) bytes as defined by the "Diameter Base Protocol" (see Message Length field of Diameter Header for more information, Reference [1]).

MO Relations

applications

Properties

Type:

SA_NAME_T[0..*]

Presence:

Optional

Flags:

RW

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections linked to related AAA Service are dropped and reestablished with updated information.

Description

Used to specify the set of Diameter Applications implemented by the AAA Service. A AAA Service can implement by need several Diameter Applications.

The values of this attribute shall refer to those OtpdiaApplications MOC instances that represent the Diameter Applications implemented by the AAA Service.

The attribute values shall be specified as distinguished names (DN) pointing to wanted OtpdiaApplications MOC instances. The DNs can be expressed as full DNs, partial DNs (PDN) or relative DNs (RDN).

The recommendation is to always use full DNs. However, if PDNs or RDNs are used, C-Diameter will try to locate the referred OtpdiaApplications MOC instance by searching the MOM from related AAA service up on the ancestor tree.

As information about Diameter Applications implemented by a AAA Service are placed in capability exchange (CER/CEA) messages during peer connection setup any change on this attribute values will have as result the AAA Service related peer connections to be dropped and reestablished with new information. C-Diameter stack level queued egress request messages will be resent to relevant Diameter Peer Nodes.

A sample OtpdiaService MO using IMM defined XML construct is outlined in the next example:

Example 2   Sample for OtpdiaService MO using IMM defined XML construct.

<object class="OtpdiaService">
  <dn>otpdiaService=Pcrf,otpdiaProduct=SAPC</dn>
  <attr>
    <name>restrictConnections</name>
    <value>true</value>
  </attr>
  <attr>
    <name>originRealm</name>
    <value>operatorRealm.com</value>
  </attr>
  <attr>
    <name>originHost</name>
    <value>sapcOwnHostId.operatorRealm.com</value>
  </attr>
  <attr>
    <name>hostIpAddress</name>
    <value>10.95.83.158</value>
  </attr>
  <attr>
    <name>applications</name>
    <value>otpdiaApplications=Rx,otpdiaProduct=SAPC</value>
    <value>otpdiaApplications=Gx,otpdiaProduct=SAPC</value>
  </attr>
</object>

3.5   Diameter Application Configuration

A AAA Service can implement one or several Diameter Applications. The behavior of implemented Diameter Applications is defined through related Diameter Application Specifications released by different standardization bodies (for example: 3GPP, IETF, ETSI, and so on) or vendors (for example: Ericsson).

The managed object classes presented in this chapter provides information about Diameter Applications, used Diameter Application Specifications and vendors defining these Diameter Applications.

3.5.1   OtpdiaApplications MOC

A OtpdiaApplications MOC instance is used to define Diameter Applications as defined by the Diameter Base Protocol (see also, Reference [1] and Reference [2]).


OtpdiaService MOC instances will refer to OtpdiaApplications MOC instances in order to specify the set of Diameter Applications implemented by related AAA Service.


OtpdiaTransportTcp and/or OtpdiaTransportSctpE MOC instances will refer to OtpdiaApplications MOC instances in order to specify the set of Diameter Applications allowed to use certain transport local endpoints.


Changes performed on OtpdiaApplications MOC instance level will have as result all the related transport local endpoint connections dropped then setup by exchanging the new (updated) diameter node capability information.

Properties:

Cardinality:

OtpdiaApplications[0..*]

Parent:

OtpdiaProduct[1]

Child:

-

Refers To:

OtpdiaVendorSpecificApplicationId[0..*]

Referred By:

OtpdiaService[0..*]
OtpdiaTransportTcp[0..*]
OtpdiaTransportSctpE[0..*]

The OtpdiaApplications MOC contains the following attributes:

otpdiaApplications

Properties

Type:

SA_STRING_T

Presence:

Mandatory

Flags:

KEY, RO

Description

Used to specify the key of the OtpdiaApplications MOC instance. It should be an identity unique in the context of the parent OtpdiaProduct MOC instance (that is, it should be a C-Diameter deployment configuration-wide unique value).

dictionary

Properties

Type:

SA_STRING_T[1..*]

Presence:

Mandatory

Flags:

RW

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections linked to Diameter Services implementing the related Diameter Application are dropped and reestablished with updated information.

Description

Used to refer to the Diameter Application Specification of the Diameter Applications represented by the OtpdiaApplications MOC instance.

A Diameter Application Specification is a dictionary or a dictionary collection holding the grammar of the diameter messages used by a Diameter Application. These dictionaries are stored in relevant CdiaDictionaryStorage MOC instances (see also C-Diameter Dictionary Management document).

This attribute shall take as value one or more dictionary names as specified for related cdiaDictName attribute values of CdiaDictionaryStorage MOC instances.

The cdiaDictName attribute of CdiaDictionaryStorage MOC instances always takes as value the dictionary name coming from related specification (see also the "@name" tag description in the DiaS Language Reference Manual) or if not present the file name holding the specification without file extension and path (see also C-Diameter Dictionary Management document).

Stop!

Do not load and specify the base dictionary (named " diameter_base") for an application as it is implicitly handed by the C-Diameter implementation.

authApplicationId

Properties

Type:

SA_UINT32_T[0..*]

Presence:

Optional

Flags:

RW

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections linked to Diameter Services implementing the related Diameter Application are dropped and reestablished with updated information.

Description

Used in order to advertise support of the Authentication and Authorization portion of a Diameter Application.

The attribute should take as value an IANA allocated Application Id (see also Reference [5]). The provided attribute value is used to construct an Auth-Application-Id AVP which is placed in related diameter capability exchange messages (CER/CEA messages).

The attribute value provided should be present in the referred dictionaries as well (see also the dictionary attribute description). That is, it is considered as error a provided attribute value not matching any of the application identifiers specified in the related AAA Service referred dictionaries (see also "@id" tag description in the DiaS Language Reference Manual). This is because the C-Diameter stack should not advertise support for Diameter Applications for which related dictionaries are not loaded.

acctApplicationId

Properties

Type:

SA_UINT32_T[0..*]

Presence:

Optional

Flags:

RW

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections linked to Diameter Services implementing the related Diameter Application are dropped and reestablished with updated information.

Description

Used in order to advertise support of the Accounting portion of a Diameter Application.

The attribute should take as value an IANA allocated Application Id (see also Reference [5]). The provided attribute value is used to construct an Acct-Application-Id AVP which is placed in related diameter capability exchange messages (CER/CEA messages).

The attribute value provided should be present in the referred dictionaries as well (see also the dictionary attribute description). That is, it is considered as error a provided attribute value not matching any of the application identifiers specified in the related AAA Service referred dictionaries (see also "@id" tag description in the DiaS Language Reference Manual). This is because the Diameter CC stack should not advertise support for Diameter Applications for which related dictionaries are not loaded.

supportedVendorId

Properties

Type:

SA_UINT32_T[0..*]

Presence:

Optional

Flags:

RW

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections linked to Diameter Services implementing the related Diameter Application are dropped and reestablished with updated information.

Description

Used in order to advertise support for AVPs defined by vendors other than the device vendor but including the application vendor.

The attribute should take as value an IANA allocated " SMI Network Management Private Enterprise Code". That is, a value assigned to the vendor specifying the AVPs of the Diameter Application (for instance, in case of Diameter Applications specified by 3GPP the value is 10415, in case of ETSI defined Diameter Applications the value is 13019 in case of Ericsson defined Diameter Applications the value is 193, and so on.) which is in general different to the device vendor (see vendorId attribute of OtpdiaProduct MOC for device vendor specification, Section 3.3.1).

The provided attribute value is used to construct a Supported-Vendor-Id AVP which is placed in related diameter capability exchange messages (CER/CEA messages).

The attribute value provided should be present in the referred dictionaries as well (see also the dictionary attribute description). That is, it is considered as error a provided attribute value not matching any of the vendor identifiers specified in the related AAA Service referred dictionaries (see also "@vendor" and "@avp_vendor_id" tag description in the DiaS Language Reference Manual). This is because the Diameter CC stack should not advertise support for AVPs defined by vendors for which related dictionaries are not loaded.

MO Relations

vendorSpecificApplicationId

Properties

Type:

SA_NAME_T[0..*]

Presence:

Optional

Flags:

RW

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections linked to Diameter Services implementing the related Diameter Application are dropped and reestablished with updated information.

Description

Used in order to advertise support of one or more Vendor-Specific Diameter Applications. As information about Vendor-Specific Diameter Applications is expressed through OtpdiaVendorSpecificApplicationId MOC instances this attribute takes as value references towards the relevant OtpdiaVendorSpecificApplicationId MOC instances (see also OtpdiaVendorSpecificApplicationId MOC, Section 3.5.2).

The attribute values shall be specified as distinguished names (DN) pointing to wanted OtpdiaVendorSpecificApplicationId MOC instances. The DNs can be expressed as full DNs, partial DNs (PDN) or relative DNs (RDN).

The recommendation is to always use full DNs. However, if PDNs or RDNs are used, C-Diameter will try to locate the referred OtpdiaVendorSpecificApplicationId MOC instance by searching the MOM up on the ancestor tree.

A sample OtpdiaApplications MO using IMM defined XML construct is outlined in the next example:

Example 3   Sample for OtpdiaApplications MO using IMM defined XML construct.

<object class="OtpdiaApplications">
  <dn>otpdiaApplications=Esy,otpdiaProduct=SAPC</dn>
  <attr>
    <name>dictionary</name>
    <value>DictionaryEsy</value>
  </attr>
  <attr>
    <name>acctApplicationId</name>
    <value>16777216</value>
  </attr>
  <attr>
    <name>vendorSpecificApplicationId</name>
    <value>otpdiaVendorSpecificApplicationId=Esy,otpdiaProduct=SAPC</value>
  </attr>
</object>

3.5.2   OtpdiaVendorSpecificApplicationId MOC

A OtpdiaVendorSpecificApplicationId MOC instance is used to provide information about a vendor specific Diameter Application.


The information provided in a OtpdiaVendorSpecificApplicationId MOC instance is used to construct a Vendor-Specific-Application-Id AVP which is of type grouped.


Each attribute of a OtpdiaVendorSpecificApplicationId MOC instance represents a related attribute of the Vendor-Specific-Application-Id AVP. The attribute handling rules defined for Vendor-Specific-Application-Id AVP applies for the related OtpdiaVendorSpecificApplicationId MOC instance attributes as well.


Changes performed on OtpdiaVendorSpecificApplicationId MOC instance level will have as result all the related transport local endpoint connections dropped then setup by exchanging the new (updated) diameter node capability information.

Properties:

Cardinality:

OtpdiaVendorSpecificApplicationId[0..*]

Parent:

OtpdiaProduct[1]

Child:

-

Refers To:

-

Referred By:

OtpdiaApplications[0..*]

The OtpdiaVendorSpecificApplicationId MOC contains the following attributes:

otpdiaVendorSpecificApplicationId

Properties

Type:

SA_STRING_T

Presence:

Mandatory

Flags:

KEY, RO

Description

Used to specify the key of the OtpdiaVendorSpecificApplicationId MOC instance. It should be an identity unique in the context of the parent OtpdiaProduct MOC instance (that is, it should be a C-Diameter deployment configuration-wide unique value).

vendorId

Properties

Type:

SA_UINT32_T

Presence:

Mandatory

Flags:

RW

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections linked to Diameter Services implementing elated vendor specific Diameter Application are dropped and reestablished with updated information.

Description

Used to specify the identity of the vendor who might have authorship of the Vendor-Specific Diameter Application.

The attribute should take as value an IANA allocated " SMI Network Management Private Enterprise Code".

The provided attribute value is used to construct the Vendor-Id AVP of the grouped Vendor-Specific-Application-Id AVP constructed for the OtpdiaVendorSpecificApplicationId MOC instance.

authApplicationId

Properties

Type:

SA_UINT32_T

Presence:

Conditional

Flags:

RW

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections linked to Diameter Services implementing elated vendor specific Diameter Application are dropped and reestablished with updated information.

Description

Used in order to advertise support of the Authentication and Authorization portion of a Vendor-Specific Diameter Application.

The attribute should take as value an IANA allocated Application Id.

The provided attribute value is used to construct the Auth-Application-Id AVP of the grouped Vendor-Specific-Application-Id AVP constructed for the OtpdiaVendorSpecificApplicationId MOC instance.

This attribute should take a value only if the acctApplicationId do not takes a value. That is, either the authApplicationId or the acctApplicationId attribute must take a value in a OtpdiaVendorSpecificApplicationId MOC instance.

acctApplicationId

Properties

Type:

SA_UINT32_T

Presence:

Conditional

Flags:

RW

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections linked to Diameter Services implementing elated vendor specific Diameter Application are dropped and reestablished with updated information.

Description

Used in order to advertise support of the Accounting portion of a Vendor-Specific Diameter Application.

The attribute should take as value an IANA allocated Application Id.

The provided attribute value is used to construct the Acct-Application-Id AVP of the grouped Vendor-Specific-Application-Id AVP constructed for the OtpdiaVendorSpecificApplicationId MOC instance.

This attribute should take a value only if the authApplicationId do not takes a value. That is, either the authApplicationId or the acctApplicationId attribute must take a value in a OtpdiaVendorSpecificApplicationId MOC instance.

A sample OtpdiaVendorSpecificApplicationId MO using IMM defined XML construct is outlined in the next example:

Example 4   Sample for OtpdiaVendorSpecificApplicationId MO using IMM defined XML construct.

<object class="OtpdiaVendorSpecificApplicationId">
  <dn>otpdiaVendorSpecificApplicationId=Esy,otpdiaProduct=SAPC</dn>
  <attr>
    <name>vendorId</name>
    <value>193</value>
  </attr>
  <attr>
    <name>authApplicationId</name>
    <value>16777304</value>
  </attr>
</object>

3.6   Peer Configuration

3.6.1   OtpdiaHost MOC

An OtpdiaHost MOC instance is used to describe in an explicit (static) way a Peer Diameter Node.


Explicit specification of a Peer Diameter Node is mandated when the Own Diameter Node (represented by OtpdiaService MOC instance) is expected to initiate transport connection setups towards it.


Explicit specification of a Peer Diameter Node is not needed when the Peer Diameter Node is expected to initiate transport connection setups towards the own Diameter Node. In such a case the transport local endpoints through which diameter peer connections are to be setup should be configured to allow the wanted Peer Diameter Nodes to initiate connections towards the Own Diameter Node (see also OtpdiaTransportTcp and OtpdiaTransportSctpE MOC descriptions in Section 3.7.1 respectively Section 3.7.2).


Changes on OtpdiaHost MOC instance level will influence the transport connections already established between the Own Diameter Node and related Peer Diameter Node.

Properties:

Cardinality:

OtpdiaHost[0..*]

Parent:

OtpdiaProduct[1] OR OtpdiaService[0..*]

Child:

-

Refers To:

-

Referred By:

OtpdiaTransportTcp[0..*]
OtpdiaTransportSctpE[0..*]

The OtpdiaHost MOC contains the following attributes:

otpdiaHost

Properties

Type:

SA_STRING_T

Presence:

Mandatory

Flags:

KEY, RO

Description

Used to specify the key of the OtpdiaHost MOC instance. It should be an identity unique in the context of the parent OtpdiaProduct MOC or OtpdiaService MOC instance.

address

Properties

Type:

SA_STRING_T[1..*]

Presence:

Mandatory

Flags:

RW

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections towards the Diameter Peer represented by the OtpdiaHost MOC instance are dropped and reestablished with updated information.

Description

Used to specify the list of IP addresses (IPv4 or IPv6 addresses) that can be used by the Own Diameter Node to connect to a Peer Diameter Node (represented by related OtpdiaHost MOC instance).

The Own Diameter Node is represented by that OtpdiaService MOC instance which related transport local endpoints (represented by OtpdiaTransportTcp and OtpdiaTransportSctpE MOC instances) points through a " connectTo" relation to the OtpdiaHost MOC instance.

There can be many transport local endpoints assigned with different Own Diameter Nodes pointing to same OtpdiaHost MOC instance.

port

Properties

Type:

SA_UINT32_T

Presence:

Optional

Flags:

RW

Default:

3868

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections towards the Diameter Peer represented by the OtpdiaHost MOC instance are dropped and reestablished with updated information.

Description

Used to specify the port number that can be used by the Own Diameter Node to connect to a Peer Diameter Node (represented by related OtpdiaHost MOC instance). The port number specified is valid for all the addresses specified for the related OtpdiaHost MOC instance.

A sample OtpdiaHost MO using IMM defined XML construct is outlined in the next example:

Example 5   Sample for OtpdiaHost MO using IMM defined XML construct.

<object class="OtpdiaHost">
  <dn>otpdiaHost=Sy-OCSNodeHostName1,otpdiaProduct=SAPC</dn>
  <attr>
    <name>port</name>
    <value>3868</value>
  </attr>
  <attr>
    <name>address</name>
    <value>170.1.7.56</value>
  </attr>
</object>

3.7   Transport Configuration

To have the Own Diameter Node accept connections from or initiate connections towards Peer Nodes the transport fragment of the managed object model is to be configured accordingly (see content of "Transport" box in Figure 1). This is performed by creating one or more Local Endpoints with wanted roles and transport capabilities.

A Local Endpoint can play the following roles:

Connection Initiation The local endpoint is configured to play a transport connection initiation role towards the configured Peer Node. That is, the related local endpoint is playing a client role in the peer connection setup flow.

When initiating connections towards a peer node the related remote endpoint, represented by an OtpdiaHost MOC instance, is to be created as well. This is, to set the address and port of the remote endpoint the local endpoint can initiate connections towards.

Connection Termination The local endpoint is configured to play a connection termination role towards Peer Nodes. That is, the related local endpoint is playing a server role in the peer connection setup flow. It listens on the configured address and port pairs and accepts incoming transport connection requests initiated by Peer Nodes.

The collection of Peer Nodes allowed to setup peer connections with the Own Diameter Node can be constrained by defining filters using source address matching patterns.

An Local Endpoint can either play a connection initiation (client) role or connection termination (server) role. Selecting the preferred role is performed with the help of the " connectTo" attribute:

A Local Endpoint provides the following transport capabilities:

TCP The Local Endpoint will use the Transmission Control Protocol (TCP) as transport protocol for peer connection.
E-SCTP The Local Endpoint will use the SS7CAF implementation of the Stream Control Transmission Protocol (E-SCTP) as transport protocol for peer connection (see Reference [8]).

A Local Endpoint can either use the TCP or the E-SCTP transport capability. The preferred transport capability is selected by using instances of related OtpdiaTransportTcp respectively OtpdiaTransportSctpE MOCs.

A AAA Service can have assigned any number of local endpoints with different roles and transport capabilities.

C-Diameter runs in a cluster configuration on the target system. That is, it might span on an arbitrary number of compute resources (nodes).

A Local Endpoint can be configured to start in single or multi instance on cluster level. The number of instances started for a Local Endpoint will never pass the number of compute resources C-Diameter is instantiated on and can be limited by need to a maximum instance number with the help of the " host" attribute. That is, the instance number a certain local endpoint is started with will not pass the threshold value represented by the actual compute resource number C-Diameter is instantiated on and the count configured through the " host" attribute value.

3.7.1   OtpdiaTransportTcp MOC

An OtpdiaTransportTcp MOC instance is used to describe a local endpoint with capability to handle TCP transport based peer connections.

Properties:

Cardinality:

OtpdiaTransportTcp[0..*]

Parent:

OtpdiaService[1]

Child:

-

Refers To:

OtpdiaHost[0..1]
OtpdiaApplications[0..*]

Referred By:

-

The OtpdiaTransportTcp MOC contains the following attributes:

otpdiaTransportTcp

Properties

Type:

SA_STRING_T

Presence:

Mandatory

Flags:

KEY, RO

Description

Used to specify the key of the OtpdiaTransportTcp MOC instance. It should be an identity unique in the context of the parent OtpdiaService MOC instance.

Transport Connectivity

address

Properties

Type:

SA_STRING_T

Presence:

Optional

Flags:

RW

Default:

First IP address specified for the hostIpAddress attribute of the parent OtpdiaService MOC instance.

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections assigned to local endpoint are dropped and reestablished with updated information.

Description

Used to specify the IP address (IPv4 or IPv6 addresses) of the local endpoint. The IP address specified shall be published by eVIP.

The provided attribute value shall be present in the list of values specified for the " hostIpAddress" attribute of the parent OtpdiaService MOC instance (see also OtpdiaService MOC, Section 3.4.1).

port

Properties

Type:

SA_UINT32_T

Presence:

Optional

Flags:

RW

Default:

Depending on local endpoint connection role, it defaults to:


  • 0: if local endpoint is configured in connection initiation (client) mode.

  • 3868: if local endpoint is configured in connection termination (server) mode.

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections assigned to local endpoint are dropped and reestablished with updated information.

Description

Used to specify the port of the local endpoint.

If the local endpoint is configured to perform in connection termination (server) mode it should be published through eVIP to have it accessible from outside the target system. This is valid for the default listener port number (3868) as well.

Load Sharing

host

Properties

Type:

SA_STRING_T[:all|:<count>]


<count>:=1..255

Presence:

Optional

Flags:

RW

Default:

:1

Update Apply:

Immediate.

Update Effect:

Depending on local endpoint connection role:


  • Connection initiation (client): The configured amount of local endpoint instances will be applied. New local endpoint instances are added by need without affecting existing ones. Existing local endpoint instances with related peer connections are removed by need without affecting the other ones.

  • Connection termination (server): No effect on attribute value change.

Description

Used to specify the number of instances a local endpoint configured in connection initiation (client) mode shall have.

This attribute has no effect on local endpoint configured in connection termination (server) mode.

The attribute can take one of the following values:

:all

The local endpoint configured in connection initiation (client) mode shall have an instance started on each of the compute resources C-Diameter is allocated to. That is, the actual local endpoint instance number is dynamically changing in accordance with actual C-Diameter cluster size. More instances are created when the C-Diameter cluster is scaled-out and instances are removed when cluster is scaled-in.

:<count>

The local endpoint configured in connection initiation (client) mode shall not pass on cluster level the " <count>" indicated number of connections. That is, the actual number of local endpoint instances created will never be higher than the lowest threshold value represented by either of the actual C-Diameter cluster size or the " <count>" indicated number.


If the " <count>" number is less than the C-Diameter cluster size the compute resources the local endpoint instances are created on is determined in a random way by C-Diameter.

The default value is " :1". That is, a single instance is created for a local endpoint configured in connection initiation mode.

The default setting assures standards behavior in relation with the restriction on number of peer connections to be set towards same diameter peer (see also, Reference [1]).

To have an effect when setting a value higher than one for this attribute the " restrictConnections" attribute value of the parent OtpdiaService MOC instance shall be set to " false" (see also OtpdiaService MOC description, Section 3.4.1).

For local endpoints configured in connection termination (server) mode there are always as many local endpoint instances created as many compute resources are part of the C-Diameter cluster (there is no mechanism provided to change this behavior of C-Diameter).

Transport QoS

dscp

Properties

Type:

SA_UINT32_T

Presence:

Optional

Flags:

RW

Range:

0..63

Default:

0 (Best Effort)

Update Apply:

Immediate.

Update Effect:

No impact on affected peer connections. The DSCP of affected peer connections are updated without impact on traffic and related connections.

Description

Used to specify the Differentiated Service Code Point(DSCP) to be used during peer connection setups for the local endpoint (see also Reference [3]).

The attribute value provided should be a number between "0" and "63" (value represented on 6 bit).

The default value is "0" ("Best Effort" IP packet delivery).

Warning!

If the "Common DSCP" feature is active, the dscp attribute value of the local endpoints are overwritten by the LDE (the owner of related common MOM) level setting, for more information refer to the DIACC_CMWAL_DIFFSERVCATEGORY initial parameter in C-Diameter Initial Configuration Parameter Description document.

Transport Monitoring

watchdogTimer

Properties

Type:

SA_UINT32_T

Presence:

Optional

Flags:

RW

Range:

6000..4294967295

Unit:

millisecond (ms)

Default:

30000 (30 sec)

Update Apply:

Immediate.

Update Effect:

No impact on affected peer connections.

Description

Used to configure the Watchdog Initial Timer (Twinit) of the peer connections assigned with the local endpoint (see also, Reference [4]).

The attribute value provided should not be less than " 6000" (6 second).

The default value is " 30000" (30 second).

reconnectTimer

Properties

Type:

SA_UINT32_T

Presence:

Optional

Flags:

RW

Range:

1000..4294967295

Unit:

millisecond (ms)

Default:

30000 (30 sec)

Update Apply:

Immediate.

Update Effect:

No impact on affected peer connections.

Description

Used to configure the Tc timer of the peer connections assigned with the local endpoint (see also, Reference [1]). That is, it is used to set the frequency the transport connection attempts are done to a diameter peer with whom no active transport connection exists.

The attribute value provided should not be less than " 1000" (1 second).

The default value is " 30000" (30 second).

Transport Security

Stop!

Stop setting values for the three "transport security" related attributes presented below.

Support for TLS/TCP is not provided by C-Diameter. Therefore, any value provided for the "transport security" related attributes is not yet taken into account by C-Diameter. These attributes are present in the model for backwards compatibility reasons.
tlsUpgrade

Properties

Status:

Disabled.

Type:

SA_STRING_T [true|false]

Presence:

Optional

Flags:

RW

Update Apply:

Not applicable.

Update Effect:

Not applicable.

Description

Used to enable TLS upgrade after capabilities exchange on the peer connections assigned with the local endpoint.

This attribute is inactive for the time being in C-Diameter. It is merely present for backwards compatibility reasons. Any value provided will be just stored but not used by C-Diameter.

tlsPublicKeyInfo

Properties

Status:

Disabled.

Type:

SA_STRING_T

Presence:

Optional

Flags:

RW

Update Apply:

Not applicable.

Update Effect:

Not applicable.

Description

Used to specify the location of a Privacy Enhanced Mail (PEM) encoded file containing the user certificate and private key.

This attribute is inactive for the time being in C-Diameter. It is merely present for backwards compatibility reasons. Any value provided will be just stored but not used by C-Diameter.

tlsCipherSuite

Properties

Status:

Disabled.

Type:

SA_STRING_T[0..*]

Presence:

Optional

Flags:

RW

Update Apply:

Not applicable.

Update Effect:

Not applicable.

Description

Used to specify the supported cipher suites.

This attribute is inactive for the time being in C-Diameter. It is merely present for backwards compatibility reasons. Any value provided will be just stored but not used by C-Diameter.

Peer Connection Filtering

acceptFrom

Properties

Type:

SA_STRING_T[0..*]

Presence:

Optional

Flags:

RW

Update Apply:

Immediate.

Update Effect:

Depending on local endpoint connection role:


  • Connection initiation (client): No effect on attribute value change.

  • Connection termination (server): Established peer connections from remote addresses not matching the new filter expression are dropped. The matching ones are preserved.

Description

Used to specify a list of filter expressions based on which connections from diameter peers are accepted by local endpoints configured in connection termination (server) mode.

A filter expression in the list is to be specified by using Perl Compatible Regular Expressions (PCRE).

A peer connection initiation from a remote address matching at least one of the filter expressions in the list is allowed to connect to the local Diameter Node. Otherwise the connection attempt is rejected.

This attribute has no effect on local endpoint configured in connection initiation (client) mode.

MO Relations

applications

Properties

Type:

SA_NAME_T[0..*]

Presence:

Optional

Flags:

RW

Default:

The attribute values specified for the applications attribute of the parent OtpdiaService MOC instance.

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections assigned to local endpoint are dropped and reestablished with updated information.

Description

Used to specify those Diameter Applications, implemented by the parent AAA Service, for which the local endpoint is allowed be used for traffic purposes.

The values of this attribute shall refer to a subset of the OtpdiaApplications MOC instances referred by the parent AAA Service represented by related OtpdiaService MOC instance (see also, Section 3.4.1).

The attribute values shall be specified as distinguished names (DN) pointing to wanted OtpdiaApplications MOC instances. The DNs can be expressed as full DNs, partial DNs (PDN) or relative DNs (RDN).

The recommendation is to always use full DNs. However, if PDNs or RDNs are used, C-Diameter will try to locate the referred OtpdiaApplications MOC instance by searching the MOM up on the ancestor tree.

This attribute defaults to the values provided for the parent OtpdiaService MOC instance.

connectTo

Properties

Type:

SA_NAME_T

Presence:

Optional

Flags:

RW

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections assigned to local endpoint are dropped and reestablished by need with updated information.


If the attribute value is deleted or initiated with value a switch in local endpoint role will be performed (switch from "connection initiation" to "connection termination" role or vice-versa).

Description

This attribute is used to control the local endpoint connection role that is, wether to have a local endpoint running in connection initiation (client) role or in connection termination (server) role.

If the attribute is set with a value the local endpoint is taking a connection initiation role. Otherwise, the local endpoint is taking a connection termination role.

The attribute should take as value a reference (expressed as a DN) to that OtpdiaHost MOC instance that represents the Peer Diameter Node the Own Diameter Node should initiate connection establishment towards (see also, Section 3.6.1).

The DNs can be expressed as full DNs, partial DNs (PDN) or relative DNs (RDN).

The recommendation is to always use full DNs. However, if PDNs or RDNs are used, C-Diameter will try to locate the referred OtpdiaHost MOC instance by searching the MOM up on the ancestor tree.

This attribute defaults to empty value. That is, by default a local endpoint takes the connection termination (server) role.

A sample OtpdiaTransportTcp MO using IMM defined XML construct is outlined in the next example:

Example 6   Sample for OtpdiaTransportTcp MO using IMM defined XML construct.

<object class="OtpdiaTransportTcp">
  <dn>otpdiaTransportTcp=clientCon1,otpdiaService=Pcrf,otpdiaProduct=SAPC</dn>
  <attr>
    <name>port</name>
    <value>4869</value>
  </attr>
  <attr>
    <name>host</name>
    <value>:all</value>
  </attr>
  <attr>
    <name>dscp</name>
    <value>59</value>
  </attr>
  <attr>
    <name>watchdogTimer</name>
    <value>40000</value>
  </attr>
  <attr>
    <name>reconnectTimer</name>
    <value>40000</value>
  </attr>
  <attr>
    <name>address</name>
    <value>172.31.83.79</value>
  </attr>
  <attr>
    <name>connectTo</name>
    <value>otpdiaHost=Sy-OCSNodeHostName1-TCP-EP,otpdiaProduct=SAPC</value>
  </attr>
</object>

3.7.2   OtpdiaTransportSctpE MOC

An OtpdiaTransportSctpE MOC instance is used to describe a local endpoint with capability to handle E-SCTP transport based peer connections.

Properties:

Cardinality:

OtpdiaTransportSctpE[0..*]

Parent:

OtpdiaService[1]

Child:

-

Refers To:

OtpdiaHost[0..1]
OtpdiaApplications[0..*]

Referred By:

-

The OtpdiaTransportSctpE MOC contains the following attributes:

otpdiaTransportSctpE

Properties

Type:

SA_STRING_T

Presence:

Mandatory

Flags:

KEY, RO

Description

Used to specify the key of the OtpdiaTransportSctpE MOC instance. It should be an identity unique in the context of the parent OtpdiaService MOC instance.

Transport Connectivity

address

Properties

Type:

SA_STRING_T[0..*]

Presence:

Optional

Flags:

RW

Default:

First IP address specified for the hostIpAddress attribute of the parent OtpdiaService MOC instance.

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections assigned to local endpoint are dropped and reestablished with updated information.

Description

Used to specify the addresses of the local endpoint. More than one address can be defined by need.

The address specification template should follow the SS7CAF/SCTP defined pattern (see also, Reference [8]) and Reference [9]):

[<vpn-name>;]<ip-address>

Where:

[<vpn-name>;]

Used to express the name of the VPN the address is part of.


It is to be expressed when the Path-Diversity feature of SS7CAF/SCTP is planned to be used. Otherwise it can be omitted.

<ip-address>

Used to express the IP address (IPv4 or IPv6 addresses) of the local endpoint.


The IP addresses specified shall be published by eVIP as well.


The provided IP address shall be present in the list of values specified for the " hostIpAddress" attribute of the parent OtpdiaService MOC instance (see also OtpdiaService MOC, Section 3.4.1).

Examples:

address="Vpn1;215.62.30.117" # with VPN use
address="215.62.30.117"      # without VPN use

Combination of " address" attribute values with IPv4 and IPv6 addresses are allowed to be defined.

 

Multi Homing

The "multi-homing" functionality of SS7CAF/SCTP is enabled if multiple addresses (typically two addresses) are specified for both the local endpoint and the remote endpoint. If multiple addresses are specified for the local endpoint but single for the remote endpoint asymmetric multi homing will be used.

 

Path Diversity

The "path-diversity" functionality of SS7CAF/SCTP is enabled if multi homing is enabled and the addresses specified are linked with different VPNs. The VPNs are configured to use different redundant instances of routers (see also, Reference [8] and Reference [10]).

port

Properties

Type:

SA_UINT32_T

Presence:

Optional

Flags:

RW

Default:

Depending on local endpoint connection role, it defaults to:


  • 0: if local endpoint is configured in connection initiation (client) mode.

  • 3868: if local endpoint is configured in connection termination (server) mode.

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections assigned to local endpoint are dropped and reestablished with updated information.

Description

Used to specify the port of the local endpoint.

If the local endpoint is configured to perform in connection termination (server) mode it should be published through eVIP to have it accessible from outside the target system. This is valid for the default listener port number (3868) as well.

Load Sharing

host

Properties

Type:

SA_STRING_T[:all|:<count>]


<count>:=1..255

Presence:

Optional

Flags:

RW

Default:

:1

Update Apply:

Immediate.

Update Effect:

Depending on local endpoint connection role:


  • Connection initiation (client): The configured amount of local endpoint instances will be applied. New local endpoint instances are added by need without affecting existing ones. Existing local endpoint instances with related peer connections are removed by need without affecting the other ones.

  • Connection termination (server): No effect on attribute value change.

Description

Used to specify the number of instances a local endpoint configured in connection initiation (client) mode shall have.

This attribute has no effect on local endpoint configured in connection termination (server) mode.

The attribute can take one of the following values:

:all

The local endpoint configured in connection initiation (client) mode shall have an instance started on each of the compute resources C-Diameter is allocated to. That is, the actual local endpoint instance number is dynamically changing in accordance with actual C-Diameter cluster size. More instances are created when the C-Diameter cluster is scaled-out and instances are removed when cluster is scaled-in.

:<count>

The local endpoint configured in connection initiation (client) mode shall not pass on cluster level the " <count>" indicated number of connections. That is, the actual number of local endpoint instances created will never be higher than the lowest threshold value represented by either of the actual C-Diameter cluster size or the " <count>" indicated number.


If the " <count>" number is less than the C-Diameter cluster size the compute resources the local endpoint instances are created on is determined in a random way by C-Diameter.

The default value is " :1". That is, a single instance is created for a local endpoint configured in connection initiation mode.

The default setting assures standards behavior in relation with the restriction on number of peer connections to be set towards same diameter peer (see also, Reference [1]).

To have an effect when setting a value higher than one for this attribute the " restrictConnections" attribute value of the parent OtpdiaService MOC instance shall be set to " false" (see also OtpdiaService MOC description, Section 3.4.1).

For local endpoints configured in connection termination (server) mode there are always as many local endpoint instances created as many compute resources are part of the C-Diameter cluster (there is no mechanism provided to change this behavior of C-Diameter).

Transport QoS

dscp

Properties

Type:

SA_UINT32_T

Presence:

Optional

Flags:

RW

Range:

0..63

Default:

0 (Best Effort)

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections assigned to local endpoint are dropped and reestablished with updated information.


SS7CAF/SCTP do not provides support for DSCP updates on already established connections.

Description

Used to specify the Differentiated Service Code Point(DSCP) to be used during peer connection setups for the local endpoint (see also Reference [3]).

The attribute value provided should be a number between "0" and "63" (value represented on 6 bit).

The default value is "0" ("Best Effort" IP packet delivery).

Warning!

If the "Common DSCP" feature is active, the dscp attribute value of the local endpoints are overwritten by the LDE (the owner of related common MOM) level setting, for more information refer to the DIACC_CMWAL_DIFFSERVCATEGORY initial parameter in C-Diameter Initial Configuration Parameter Description document.

Transport Monitoring

watchdogTimer

Properties

Type:

SA_UINT32_T

Presence:

Optional

Flags:

RW

Range:

6000..4294967295

Unit:

millisecond (ms)

Default:

30000 (30 sec)

Update Apply:

Immediate.

Update Effect:

No impact on affected peer connections.

Description

Used to configure the Watchdog Initial Timer (Twinit) of the peer connections assigned with the local endpoint (see also, Reference [4]).

The attribute value provided should not be less than " 6000" (6 second).

The default value is " 30000" (30 second).

reconnectTimer

Properties

Type:

SA_UINT32_T

Presence:

Optional

Flags:

RW

Range:

1000..4294967295

Unit:

millisecond (ms)

Default:

30000 (30 sec)

Update Apply:

Immediate.

Update Effect:

No impact on affected peer connections.

Description

Used to configure the Tc timer of the peer connections assigned with the local endpoint (see also, Reference [1]). That is, it is used to set the frequency the transport connection attempts are done to a diameter peer with whom no active transport connection exists.

The attribute value provided should not be less than " 1000" (1 second).

The default value is " 30000" (30 second).

SCTP Stream Control

outboundStreams

Properties

Type:

SA_UINT32_T

Presence:

Optional

Flags:

RW

Range:

1..65535

Unit:

Count

Default:

1

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections assigned to local endpoint are dropped and reestablished with updated information.

Description

Used to configure the Number of Outbound Streams (OS) wished for the associations created for the peer connections assigned with the local endpoint (see also, Reference [7]).

The default value is " 1".

maxInboundStreams

Properties

Type:

SA_UINT32_T

Presence:

Optional

Flags:

RW

Range:

1..65535

Unit:

Count

Default:

1

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections assigned to local endpoint are dropped and reestablished with updated information.

Description

Used to configure the Number of Inbound Streams (MIS) accepted for the associations created for the peer connections assigned with the local endpoint (see also, Reference [7]).

The default value is " 1".

Peer Connection Filtering

acceptFrom

Properties

Type:

SA_STRING_T[0..*]

Presence:

Optional

Flags:

RW

Update Apply:

Immediate.

Update Effect:

Depending on local endpoint connection role:


  • Connection initiation (client): No effect on attribute value change.

  • Connection termination (server): Established peer connections from remote addresses not matching the new filter expression are dropped. The matching ones are preserved.

Description

Used to specify a list of filter expressions based on which connections from diameter peers are accepted by local endpoints configured in connection termination (server) mode.

A filter expression in the list is to be specified by using Perl Compatible Regular Expressions (PCRE).

A peer connection initiation from a remote address matching at least one of the filter expressions in the list is allowed to connect to the local Diameter Node. Otherwise the connection attempt is rejected.

This attribute has no effect on local endpoint configured in connection initiation (client) mode.

MO Relations

applications

Properties

Type:

SA_NAME_T[0..*]

Presence:

Optional

Flags:

RW

Default:

The attribute values specified for the applications attribute of the parent OtpdiaService MOC instance.

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections assigned to local endpoint are dropped and reestablished with updated information.

Description

Used to specify those Diameter Applications, implemented by the parent AAA Service, for which the local endpoint is allowed be used for traffic purposes.

The values of this attribute shall refer to a subset of the OtpdiaApplications MOC instances referred by the parent AAA Service represented by related OtpdiaService MOC instance (see also, Section 3.4.1).

The attribute values shall be specified as distinguished names (DN) pointing to wanted OtpdiaApplications MOC instances. The DNs can be expressed as full DNs, partial DNs (PDN) or relative DNs (RDN).

The recommendation is to always use full DNs. However, if PDNs or RDNs are used, C-Diameter will try to locate the referred OtpdiaApplications MOC instance by searching the MOM up on the ancestor tree.

This attribute defaults to the values provided for the parent OtpdiaService MOC instance.

connectTo

Properties

Type:

SA_NAME_T

Presence:

Optional

Flags:

RW

Update Apply:

Immediate.

Update Effect:

All established diameter peer connections assigned to local endpoint are dropped and reestablished by need with updated information.


If the attribute value is deleted or initiated with value a switch in local endpoint role will be performed (switch from "connection initiation" to "connection termination" role or vice-versa).

Description

This attribute is used to control the local endpoint connection role that is, wether to have a local endpoint running in connection initiation (client) role or in connection termination (server) role.

If the attribute is set with a value the local endpoint is taking a connection initiation role. Otherwise, the local endpoint is taking a connection termination role.

The attribute should take as value a reference (expressed as a DN) to that OtpdiaHost MOC instance that represents the Peer Diameter Node the Own Diameter Node should initiate connection establishment towards (see also, Section 3.6.1).

The DNs can be expressed as full DNs, partial DNs (PDN) or relative DNs (RDN).

The recommendation is to always use full DNs. However, if PDNs or RDNs are used, C-Diameter will try to locate the referred OtpdiaHost MOC instance by searching the MOM up on the ancestor tree.

This attribute defaults to empty value. That is, by default a local endpoint takes the connection termination (server) role.

A sample OtpdiaTransportSctpE MO using IMM defined XML construct is outlined in the next example:

Example 7   Sample for OtpdiaTransportSctpE MO using IMM defined XML construct.

<object class="OtpdiaTransportSctpE">
  <dn>otpdiaTransportSctpE=clientCon2,otpdiaService=Pcrf,otpdiaProduct=SAPC</dn>
  <attr>
    <name>port</name>
    <value>4869</value>
  </attr>
  <attr>
    <name>host</name>
    <value>:all</value>
  </attr>
  <attr>
    <name>dscp</name>
    <value>59</value>
  </attr>
  <attr>
    <name>outboundStreams</name>
    <value>7</value>
  </attr>
  <attr>
    <name>maxInboundStreams</name>
    <value>7</value>
  </attr>
  <attr>
    <name>address</name>
    <value>vpn1;172.31.83.79</value>
    <value>vpn2;175.31.83.80</value>
  </attr>
  <attr>
    <name>connectTo</name>
    <value>otpdiaHost=Sy-OCSNodeHostName1-SCTP-EP,otpdiaProduct=SAPC</value>
  </attr>
</object>

3.8   Routing Specification

Overview

Whenever an egress request message is created by a AAA Service and passed down the C-Diameter stack for delivery towards wanted destination a "message routing mechanism" is executed, on C-Diameter stack level, to determine the peer connection the egress request message is to be sent through in order to have the message starting its route towards the final destination.

The "message routing mechanism" can either take direct instruction from a AAA Service on the Diameter Peer Node(s) to be used to send an egress request message towards (see also the " otpdiaSendRequest(...,...,*peers,...,...)" method in DiameterCC, C API Reference Manual) or it can determine it itself by using the information stored in a previously loaded "routing table". That is, a "routing table" assigned to a AAA Service is evaluated during egress request message sending only if there is no peer list provided by related AAA Service during message sending request invocation (the " otpdiaSendRequest(...,...,*peers,...,...)" method invoked to request sending an egress request message holds a " peers=NULL" list).

A "routing table" associated with a AAA Service is constructed by using one or several "routing entries".

A "routing entry" is represented by a single OtpdiaSelector (see, Section 3.8.1) MOC instance and referred collection of OtpdiaCons (see, Section 3.8.2) and OtpdiaDomain (see, Section 3.8.3) MOC instances.

A "routing entry" is composed of a "routing expression" and a "routing action".

Routing Expression The routing expression is that part of the routing entry the egress request message is matched against and evaluates to either TRUE or FALSE.
  • If it evaluates to TRUE the routing action of the routing entry is executed.
  • If it evaluates to FALSE the routing action of the routing entry is skipped and the routing mechanism continues with matching the egress request message against the routing expression of the next routing entry in the routing table.

The routing expression part of the routing entry is constructed with the help of the " applicationId" and " destination" attribute values of the routing entry representing OtpdiaSelector MOC instance.

The applicationId attribute is used to specify the diameter applications to which the mapping is to be restricted.

The destination attribute referred OtpdiaDomain MOC instances are used to specify the destination realms and optionally the destination hosts the mapping is to be restricted.

Routing Action The routing action is that part of the routing entry which is executed if the routing expression part of the routing entry evaluates to TRUE.

There is a single type of routing action provided which is about sending the egress request message towards the next hop (one of the Diameter Peers valid for the related Diameter Application).

The next hop is selected from that ordered list of Diameter Peers (called also "Peer Table"), represented by OtpdiaCons and referred OtpdiaDomain MOC instances, which is pointed by the " peer" attribute value of the routing entry representing OtpdiaSelector MOC instance. The Diameter Peer selected as next hop will be the first Diameter Peer in the ordered list of Diameter Peers towards which there is an available active diameter peer connection.

If there are no Diameter Peers in the list with active diameter peer connections the egress request message will be dropped by the C-Diameter stack.

Routing Entry Definition Sample

A sample for routing entry definition is outlined in the next figure (see Figure 2).

Figure 2   Graphical Representation of a Sample for Routing Entry

In the above routing entry example the routing expression will fire for an egress request message if:

If the routing expression fires (validates to TRUE) for an egress request message it will be passed to that Diameter Peer Node towards which an active peer connection exists and it is matching the peer node selection criteria expressed through the ordered list of OtpdiaCons and OtpdiaDomain MO combos pointed by the peer attribute of the OtpdiaSelector MO. That is:

  1. The Diameter Peer Node selection starts by analyzing the matching criteria expressed by the OtpdiaDomain MO with "otpdiaDomain=PeerDomain1,otpdiaProduct=SAPC" DN:
    • If there is an active peer connection towards the Diameter Peer Node with "peer1.realm1.operator1.com " origin host, the egress request message will be passed to it.

      ELSE

    • If there is an active peer connection towards the Diameter Peer Node with "peer2.realm1.operator1.com " origin host, the egress request message will be passed to it.

      ELSE

    • If there is an active peer connection towards any peer in the "realm1.operator1.com " realm, the egress request message will be passed to it.

      ELSE

  2. If no active peer connection could be found as result of the peer matching criteria evaluation performed in the previous step, the Diameter Peer Node selection continues by analyzing the matching criteria expressed by the next OtpdiaDomain MO with "otpdiaDomain=PeerDomain2,otpdiaProduct=SAPC" DN.

    This object contains no list of Diameter Peer Nodes but only a realm. Therefore, if there is an active peer connection towards any peer in the "realm2.operator1.com " realm, the egress request message will be passed to it.

    ELSE

  3. If no active peer connections can be found as result of above mappings the egress request message is dropped by the C-Diameter stack. The related AAA Service will be informed about the dropped message.

Default Routing Entry

The "default routing entry" is the last routing entry added by the C-Diameter stack itself to the routing table of each AAA service. This also means, if there is no routing table defined by operator for a AAA Service (no OtpdiaSelector MOC instance associated with an OtpdiaService MOC instance) the default routing entry still applies.

The default routing entry is executed by the routing mechanism of the C-Diameter stack if none of the routing expressions of previous routing entries (if any present) do fire.

The default routing entry contains a routing expression that always fire. That is, evaluates to TRUE for each egress request message.

The routing action performed for a default routing entry is the following:

  1. If there is an active peer connection towards a Diameter Peer with origin host matching the Destination-Host AVPof the egress request message (if AVP present in message) the egress request message will be passed to it.

    ELSE

  2. If there is an active peer connection towards a Diameter Peer with origin realm matching the Destination-Realm AVP of the egress request message the egress request message will be passed to it.

    ELSE

  3. If none of the previous operations can be performed the egress request message is dropped by the C-Diameter stack. The related AAA Service will be informed about the dropped message.

3.8.1   OtpdiaSelector MOC

An OtpdiaSelector MOC instance is used to specify a routing entry for one or multiple AAA Services.


The collection of routing entries, (represented by related, OtpdiaSelector MOC instances) assigned to a AAA Service (represented by related, OtpdiaService MOC instance) forms the routing table of the AAA Service.


The so created routing table contains those mapping rules based on which the C-Diameter stack can determine to which next hop the egress request message is to be passed to reach its destination.

Properties:

Cardinality:

OtpdiaSelector[0..*]

Parent:

OtpdiaProduct[1]

Child:

-

Refers To:

OtpdiaService[1..*]
OtpdiaDomain[0..*]
OtpdiaCons[1]

Referred By:

-

The OtpdiaSelector MOC contains the following attributes:

otpdiaSelector

Properties

Type:

SA_STRING_T

Presence:

Mandatory

Flags:

KEY, RO

Description

Used to specify the key of the OtpdiaSelector MOC instance. It should be an identity unique in the context of the parent OtpdiaProduct MOC instance.

applicationId

Properties

Type:

SA_UINT32_T[0..*]

Presence:

Optional

Flags:

RW

Default:

Applies to all applications if unspecified.

Update Apply:

Immediate.

Update Effect:

The new egress request messages are mapped against the routing entry with updated mapping rules. The peer connections are not affected.

Description

Used to specify the set of application identities to which the mapping shall be restricted (see also "routing expression" description on Routing Expression).

The attribute, if configured, should take as value IANA allocated Application Ids (see also Reference [5]).

If no attribute value is provided the mapping applies to all diameter applications.

MO Relations

service

Properties

Type:

SA_NAME_T[1..*]

Presence:

Mandatory

Flags:

RW

Update Apply:

Immediate.

Update Effect:

The routing table of related service is updated.


The new egress request messages are mapped against the routing table with updated set of routing entries. The peer connections are not affected.

Description

Used to specify those AAA Services (represented by related OtpdiaService MOC instances), the routing entry (represented by related OtpdiaSelector MOC instance) shall apply to.

The attribute values shall be specified as full distinguished names (DN) pointing to the wanted set of OtpdiaService MOC instances.

destination

Properties

Type:

SA_NAME_T[0..*]

Presence:

Optional

Flags:

RW

Default:

Applies to all destinations if unspecified.

Update Apply:

Immediate.

Update Effect:

The new egress request messages are mapped against the routing entry with updated mapping rules. The peer connections are not affected.

Description

Used to specify the destinations to which the mapping shall be restricted (see also "routing expression" description on Routing Expression).

A certain destination is expressed through an OtpdiaDomain MOC instance holding a mandatory Destination-Realm and optionally a Destination-Host.

The attribute, if configured, shall take as value a list of full distinguished names (DN) pointing to those OtpdiaDomain MOC instances that are used to express the destinations the mapping shall be restricted to. The order in which multiple DNs are expressed do not matters.

If no attribute value is provided the mapping applies to all destinations.

peer

Properties

Type:

SA_NAME_T

Presence:

Mandatory

Flags:

RW

Update Apply:

Immediate.

Update Effect:

The new egress request messages are passed to next hop in accordance with the updated peer table. The peer connections are not affected.

Description

Used to specify a reference towards that peer selection table which shall be evaluated, in order, to pick the next hop the egress request message is to be passed towards (see also "routing action" description on Routing Action).

The attribute value shall be specified as a full distinguished name (DN) pointing to that OtpdiaCons MOC instance that represents the first entry in the list of OtpdiaCons MOC instance and OtpdiaDomain MOC instance pairs (see also Figure 2).

A sample OtpdiaSelector MO using IMM defined XML construct is outlined in the next example:

Example 8   Sample for OtpdiaSelector MO using IMM defined XML construct.

<object class="OtpdiaSelector">
  <dn>otpdiaSelector=RoutingEntry1,otpdiaProduct=SAPC</dn>
  <attr>
    <name>service</name>
    <value>otpdiaService=PcrfSy,otpdiaProduct=SAPC</value>
  </attr>
  <attr>
    <name>peer</name>
    <value>otpdiaCons=PeerListItem1,otpdiaProduct=SAPC</value>
  </attr>
  <attr>
    <name>destination</name>
    <value>otpdiaDomain=domain1,otpdiaProduct=SAPC</value>
    <value>otpdiaDomain=domain2,otpdiaProduct=SAPC</value>
  </attr>
</object>

3.8.2   OtpdiaCons MOC

An OtpdiaCons MOC instance is used to create ordered lists of OtpdiaDomain MOC instances.


It is to be used for peer selection table creation that is evaluated during routing action execution (see also "routing action" description on Routing Action).

Properties:

Cardinality:

OtpdiaCons[0..*]

Parent:

OtpdiaProduct[1]

Child:

-

Refers To:

OtpdiaDomain[1]
OtpdiaCons[0..1]

Referred By:

OtpdiaSelector[0..*]
OtpdiaCons[0..1]

The OtpdiaCons MOC contains the following attributes:

otpdiaCons

Properties

Type:

SA_STRING_T

Presence:

Mandatory

Flags:

KEY, RO

Description

Used to specify the key of the OtpdiaCons MOC instance. It should be an identity unique in the context of the parent OtpdiaProduct MOC instance.

MO Relations

head

Properties

Type:

SA_NAME_T

Presence:

Mandatory

Flags:

RW

Update Apply:

Immediate.

Update Effect:

The new egress request messages are passed to next hop in accordance with the updated peer table. The peer connections are not affected.

Description

Used to specify a reference towards a OtpdiaDomain MOC instance expressing the Destination-Realm and optionally the Destination-Host of a Diameter Peer (see also Figure 2).

The attribute value shall be specified as a full distinguished name (DN) pointing to a relevant OtpdiaDomain MOC instance.

tail

Properties

Type:

SA_NAME_T

Presence:

Optional

Flags:

RW

Update Apply:

Immediate.

Update Effect:

The new egress request messages are passed to next hop in accordance with the updated peer table. The peer connections are not affected.

Description

Used to specify a reference towards the next entry, if any, in the peer selection table (see also Figure 2).

The attribute value, if configured, shall be specified as a full distinguished name (DN) pointing to a OtpdiaCons MOC instance.

If there is no value provided for the attribute the related OtpdiaCons MOC instance is considered the last entry in the peer selection table.

A sample OtpdiaCons MO using IMM defined XML construct is outlined in the next example:

Example 9   Sample for OtpdiaCons MO using IMM defined XML construct.

<object class="OtpdiaCons">
  <dn>otpdiaCons=PeerListItem1,otpdiaProduct=SAPC</dn>
  <attr>
    <name>head</name>
    <value>otpdiaDomain=PeerDomain1,otpdiaProduct=SAPC</value>
  </attr>
  <attr>
    <name>tail</name>
    <value>otpdiaCons=PeerListItem2,otpdiaProduct=SAPC</value>
  </attr>
</object>

3.8.3   OtpdiaDomain MOC

An OtpdiaDomain MOC instance is used to represent some or all peers in a single realm. It can be used in the context of:


  • routing expression (see Routing Expression) specification. Used in this case to specify the destination the mapping is to be restricted to.

  • routing action (see Routing Action) specification. Used in this case to specify the items in the peer selection table.

Properties:

Cardinality:

OtpdiaDomain[0..*]

Parent:

OtpdiaProduct[1]

Child:

-

Refers To:

-

Referred By:

OtpdiaSelector[0..*]
OtpdiaCons[0..*]

The OtpdiaDomain MOC contains the following attributes:

otpdiaDomain

Properties

Type:

SA_STRING_T

Presence:

Mandatory

Flags:

KEY, RO

Description

Used to specify the key of the OtpdiaDomain MOC instance. It should be an identity unique in the context of the parent OtpdiaProduct MOC instance.

realm

Properties

Type:

SA_STRING_T

Presence:

Mandatory

Flags:

RW

Update Apply:

Immediate.

Update Effect:

The new egress request messages are mapped against the routing entry with updated mapping rules. The peer connections are not affected.

Description

Used to specify the realm.

host

Properties

Type:

SA_STRING_T[0..*]

Presence:

Optional

Flags:

RW

Default:

Defaults to all hosts in the realm in question.

Update Apply:

Immediate.

Update Effect:

The new egress request messages are mapped against the routing entry with updated mapping rules. The peer connections are not affected.

Description

Used to specify the origin host a set of diameter nodes in the same realm.

If the attribute takes no value it defaults to all hosts in the realm in question.

A sample OtpdiaDomain MO using IMM defined XML construct is outlined in the next example:

Example 10   Sample for OtpdiaDomain MO using IMM defined XML construct.

<object class="OtpdiaDomain">
  <dn>otpdiaDomain=PeerDomain1,otpdiaProduct=SAPC</dn>
  <attr>
    <name>realm</name>
    <value>realm1.operator1.com</value>
  </attr>
  <attr>
    <name>host</name>
    <value>peer1.realm1.operator1.com</value>
    <value>peer2.realm1.operator1.com</value>
  </attr>
</object>

Reference List

Standards
[1] Diameter Base Protocol (RFC 6733) IETF: STANDARD
[2] Diameter Applications Design Guidelines (RFC 7423) IETF: BEST CURRENT PRACTICE
[3] Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers (RFC 2474) IETF: STANDARD
[4] Authentication, Authorization and Accounting (AAA) Transport Profile (RFC 3539) IETF: STANDARD
[5] Authentication, Authorization, and Accounting (AAA) Parameters.
[6] SMI Network Management Private Enterprise Codes.
[7] Stream Control Transmission Protocol (RFC 4960) IETF: STANDARD
[8] SCTP, Functional Specification, 155 17-CAA 901 548
[9] SCTP, Functional Specification - API, 155 19-CAA 901 548
[10] eVIP Internetworking, INTERWORK DESCRIPTION, 1/155 19-APR 901 0467/3