Additional Rf Features Alarms and Traps

Service-Context-ID Format

The Service-Context-ID AVP (461) located in the root ACR message is formatted as follows:

[[["extensions".]MNC.MCC.]"Release".]32260@3gpp.org

where

  • extensions—This is operator specific information to any extensions in a service specific document. The value is configured by setting the diam-srvc-ctx-ext parameter.
  • MNC.MCC—This identifies the operator implementing the service specific document, which is used to determine the specific requirements for the operator configurable parameters. Both MNC and MCC must be specified separated by a dot(.). The value is configured by setting the diam-srvc-ctx-mnc-mcc parameter as two integers separated by a dot. For example: 012.310
  • Release—This indicates the 3GPP Release the service specific document is based upon e.g. 6 for Release 6. The value is configured by setting the diam-srvc-ctx-rel parameter with valid values are >=1.

    Note:

    "32260@3gpp.org" is fixed.

Acme Excluded Attribute Range

You can select certain ACME specific AVPs to include in the Rf accounting records with the diam-acme-attr-id-range parameter. If this parameter is configured with one or more values, then all other valid Acme-specific AVPs, by number, are excluded. If by configuration, the SBC will exclude one (or more) individual ACME attributes, there will be no effect. If by configuration an Acme-specific attribute number that refers to a group is excluded, the SBC removes the complete grouped AVP from the ACR message.

Consider:

  • Acme-specific attribute 1—The grouped AVP
  • Acme-specific attributes 2-35—The individual AVPs that make up the group

If you configure diam-acme-attr-id-range 1,3- the SBC includes all attributes in the Acme group; This configuration aims to exclude only attribute 3 but is has no effect.

If you configure diam-acme-attr-id-range 2-, the SBC excludes the full Acme-specific group because Acme-Packet-Specific-Extension-Rf AVP (1) was not included.

The diam-acme-attr-id-range parameter’s syntax is as follows:

Syntax Meaning
X-Y include range of attribute IDs from X to Y (X and Y are included)
-Y include any attribute ID <= Y
X- include any attribute ID >= X
- include any attribute ID
X include attribute ID = X

Configure Account

  1. In Superuser mode, type configure terminal and press Enter.
    ORACLE# configure terminal
  2. Type session-router and press Enter.
    ORACLE(configure)# session-router
  3. Type account-config and press Enter.
    ORACLE(session-router)# account-config
    ORACLE(account-config)#
  4. diam-srvc-ctx-ext—Enter the extension portion of the Service-Context-ID AVP value. This value can be any string.
  5. diam-srvc-ctx-mnc-mcc—Enter the MNC.MCC portion of the Service-Context-ID AVP value. This value must follow the NUM1.NUM2 format.
  6. diam-srvc-ctx-rel—Enter the release portion of the Service-Context-ID AVP value. This value can be any number >= 1..
  7. diam-acme-attr-id-range—Enter the range of Acme-specific AVPs to include in ACR messages. Leaving this parameter blank or configured with a - includes all AVPs.
  8. Type done to save your work.

SNMP Trap Behavior

The SBC sends an SNMP trap (apDiameterSrvrErrorResult) upon a CCF returning an error-containing ACA. See the list of four errors (3002, 3004, 4002. 5012) which generate traps in the Alarms section. The frequency at which subsequent traps are sent is based upon configuring the diam result code trap grade period option configured in the account config.

When the SBC has sent a trap after receiving a bad ACA, it goes into an error state. The SBC waits one grace period before checking if it is still in an error state. If the state has not switched from errored back to pending, the SBC sends another error trap, after that first grace period ends (counting from the initial error) and then after the next error message is received.

This image shows the SBC trap timing on ACA errors.

If the CCF returns a successful message, the grace start in a pending state. When this second timer expires (pending no more errors or additional successes), on the next successful ACA, a success trap is sent.

This image shows the SBC clear trap timing on ACA errors.

If, while in the pending grace period an ACA error is received, the SBC immediately sends an error trap, and begins the error state again. It also starts counting the initial grace period time again.

This image shows the SBC issuing an ACA error trap within the timing of a successful ACA exchange.

Alarms

A MINOR non health affecting Diameter Accounting Server Error alarm will be generated when one of the following Result Codes is received:

  • 3002 (DIAMETER_UNABLE_TO_DELIVER)
  • 3004 (DIAMETER_TOO_BUSY)
  • 4002 (DIAMETER_OUT_OF_SPACE)
  • 5012 (DIAMETER_UNABLE_TO_COMPLY)

The alarm is cleared when a success (2XXX) code is received.

The rules for setting state of the failed server alarm are the same as the grace period rules described in the SNMP Trap Behavior section.

For example:

327703  835778540       5       2012-03-13 13:03:34     2012-03-13 13:03:34
Count   Description
1       Diameter Accounting Server Returned Error Result Code|172.30.0.135:3869-5012|172.30.69.211:3868-3002

SNMP MIBs and Traps

ApDiamResultCode Textual Convention

ApDiamResultCode ::= TEXTUAL-CONVENTION
       STATUS                current
       DESCRIPTION
              "The Result-Code AVP (268) value
               RFC 3588, 7.1. Result-Code AVP"
       SYNTAX  INTEGER {
                    diameterMultiRoundAuth(1001),
                    diameterSuccess(2001),
                    diameterLimitedSuccess(2002),
                    diameterCommandUnsupported(3001),
                    diameterUnableToDeliver(3002),
                    diameterRealmNotServed(3003),
                    diameterTooBusy(3004),
                    diameterLoopDetected(3005),
                    diameterRedirectIndicatoion(3006),
                    diameterApplicationUnsupported(3007),
                    diameterInvalidHdrBits(3008),
                    diameterInvalidAvpBits(3009),
                    diameterUnknownPeer(3010),
                    diameterAuthenticationRejected(4001),
                    diameterOutOfSpace(4002),
                    electionLost(4003),
                    diameterAvpUnsupported(5001),
                    diameterUnknownSessionId(5002),
                    diameterAuthoriszationRejected(5003),
                    diameterInvalidAvpValue(5004),
                    diameterMissingAvp(5005),
                    diameterResourcesExceeded(5006),
                    diameterContradictingAvps(5007),
                    diameterAvpNotAllowed(5008),
                    diameterAvpTooManyTimes(5009),
                    diameterNoCommonApplication(5010),
                    diameterUnsupportedVersion(5011),
                    diameterUnableToComply(5012),
                    diameterInvalidBitInHeader(5013),
                    diameterInvalidAvpLength(5014),
                    diameterInvalidMessageLength(5015),
                    diameterInvalidAvpBitCombo(5016),
                    diameterNoCommonSecurity(5017)
               }

apDiameterSrvrErrorResultTrap

apDiameterSrvrErrorResultTrap       NOTIFICATION-TYPE
        OBJECTS         { apDiamAcctSrvrHostName,
                          apDiamAcctSrvrIPPort,
                          apDiamAcctSrvrOriginRealm,
                          apDiamAcctSrvrOriginHost,
                          apDiamAcctSrvrTransportType,
                          apDiameterResultCode
                        }
        STATUS          current
        DESCRIPTION
            " The trap can be generated when the Diameter Server
              returns 3xxx (Protocol Errors), 4xxx (Transient Failures), or
              5xxx (Permanent Failure) Result-Code AVP (268)"
        ::= { apDiamNotifications 5 }

apDiameterSrvrSuccessResultTrap

apDiameterSrvrSuccessResultTrap       NOTIFICATION-TYPE
        OBJECTS         { apDiamAcctSrvrHostName,
                          apDiamAcctSrvrIPPort,
                          apDiamAcctSrvrOriginRealm,
                          apDiamAcctSrvrOriginHost,
                          apDiamAcctSrvrTransportType,
                          apDiameterResultCode
                        }
        STATUS          current
        DESCRIPTION
            " The trap can be generated when the Diameter Server
              returns a 2xxx (Success) Result-Code AVP (268)
              after an error result"
        ::= { apDiamNotifications 6 }

apDiamACCTResultObjectsGroup Object Group

apDiamACCTResultObjectsGroup OBJECT-GROUP
     OBJECTS {
             apDiameterResultCode
             }
     STATUS     current
     DESCRIPTION
     "A collection of mib objects accessible only to traps."
      ::= { apDiamNotificationGroups 3 }

apDiamACCTResultNotificationsGroup Notification Group

apDiamACCTResultNotificationsGroup NOTIFICATION-GROUP
     NOTIFICATIONS {
           apDiameterSrvrErrorResultTrap,
           apDiameterSrvrSuccessResultTrap
           }
     STATUS     current
     DESCRIPTION
      "A collection of traps defined for ACCT Result Code."
      ::= { apDiamNotificationGroups 4 }

SNMP Varbind Definitions

  • apDiamAcctSrvrHostName—contains the account-server hostname.
  • apDiamAcctSrvrIPPort—This object contains the account-server IP address and port number in the following format:

    XXX.XXX.XXX.XXX:PORT

  • apDiamAcctSrvrOriginRealm—contains the origin realm, which is a concatenation of the account-server realm and suffix in the following format:

    [ account-server realm][ account-server suffix]

  • apDiamAcctSrvrOriginHostName—contains the origin host name, which is a concatenation of the accounting-config host name, account-server realm and account-server suffix in the following format:

    [accounting-config host name].[ account-server realm][ account-server suffix]

  • apDiamAcctSrvrTransportType—contains the transport type.
  • apDiameterResultCode—contains the Result-Code AVP (268) value as defined in RFC 3588, 7.1. Result-Code AVP