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.
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:
- C-Diameter is deployed on the target system as described in document C-Diameter Deployment Instruction.
- The user has basic knowledge of the Diameter Base Protocol (RFC6733), Reference [1].
- The user is familiar with the terminologies presented in document Glossary of Terms and Acronyms.
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
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..*], | |
|
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 |
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 |
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 |
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 |
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..*] | |
|
Refers To: |
OtpdiaApplications[0..*] | |
|
Referred By: |
OtpdiaSelector[0..*] | |
The OtpdiaService MOC contains the following attributes:
| otpdiaService |
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 |
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 |
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 |
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 |
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 |
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:
| ||||||||||||||||||
| requestTimeout |
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 |
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]). | ||||||||||||||||||
| |||||||||||||||||||
| applications |
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..*] | |
The OtpdiaApplications MOC contains the following attributes:
| otpdiaApplications |
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 |
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 |
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 |
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 |
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. | ||||||||||||
| |||||||||||||
| vendorSpecificApplicationId |
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 |
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 |
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 |
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 |
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..*] | |
The OtpdiaHost MOC contains the following attributes:
| otpdiaHost |
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 |
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 |
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:
- If set, the local endpoint is playing a connection initiation role.
- If not set, the local endpoint is playing a connection termination role.
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] | |
|
Referred By: |
- | |
The OtpdiaTransportTcp MOC contains the following attributes:
| otpdiaTransportTcp |
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. | ||||||||||||||||||
| |||||||||||||||||||
| address |
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 |
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. | ||||||||||||||||||
| |||||||||||||||||||
| host |
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:
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). | ||||||||||||||||||
| |||||||||||||||||||
| dscp |
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. | ||||||||||||||||||
| |||||||||||||||||||
| watchdogTimer |
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 |
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). | ||||||||||||||||||
| |||||||||||||||||||
|
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 |
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 |
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 |
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. | ||||||||||||||||||
| |||||||||||||||||||
| acceptFrom |
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. | ||||||||||||||||||
| |||||||||||||||||||
| applications |
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 |
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] | |
|
Referred By: |
- | |
The OtpdiaTransportSctpE MOC contains the following attributes:
| otpdiaTransportSctpE |
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. | |||||||||||||||||||
| ||||||||||||||||||||
| address |
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:
Examples:
Combination of " address" attribute values with IPv4 and IPv6 addresses are allowed to be defined. | |||||||||||||||||||
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. | ||||||||||||||||||||
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 |
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. | |||||||||||||||||||
| ||||||||||||||||||||
| host |
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:
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). | |||||||||||||||||||
| ||||||||||||||||||||
| dscp |
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. | |||||||||||||||||||
| ||||||||||||||||||||
| watchdogTimer |
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 |
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). | |||||||||||||||||||
| ||||||||||||||||||||
| outboundStreams |
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 |
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". | |||||||||||||||||||
| ||||||||||||||||||||
| acceptFrom |
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. | |||||||||||||||||||
| ||||||||||||||||||||
| applications |
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 |
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.
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).
In the above routing entry example the routing expression will fire for an egress request message if:
- the Application-ID field
of the egress request message header contains a number matching any
of the numbers listed for the applicationId attribute of OtpdiaSelector MO, that is, matching
with either "16777304" or "16777302".
AND
- if present, the Destination-Host AVPof the egress request message is matching any of the hosts attributes of the OtpdiaDomain MO instances referred by the destination attribute of the OtpdiaSelector MO. In the example the hosts are empty, meaning any host. Therefore the matching will always
succeed for this clause.
AND
- the Destination-Realm AVP of the egress request message is matching any of the realm attributes of the OtpdiaDomain MO instances referred by the destination attribute of the OtpdiaSelector MO, that is, matching with either of "realm1.operator1.com" or "realm2.operator1.com".
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:
- 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
- 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.
- 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
- 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:
- 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
- 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
- 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..*] | |
|
Referred By: |
- | |
The OtpdiaSelector MOC contains the following attributes:
| otpdiaSelector |
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 |
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. | ||||||||||||||
| |||||||||||||||
| service |
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 |
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 |
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] | |
|
Referred By: |
OtpdiaSelector[0..*] | |
The OtpdiaCons MOC contains the following attributes:
| otpdiaCons |
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. | ||||||||||||
| |||||||||||||
| head |
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 |
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:
|
||
|
Properties: | ||
|
Cardinality: |
OtpdiaDomain[0..*] | |
|
Parent: |
OtpdiaProduct[1] | |
|
Child: |
- | |
|
Refers To: |
- | |
|
Referred By: |
OtpdiaSelector[0..*] | |
The OtpdiaDomain MOC contains the following attributes:
| otpdiaDomain |
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 |
Used to specify the realm. | ||||||||||||||
| host |
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 |

Contents











