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.

Supporting IOI AVPs for Unregistered Endpoints

You can configure the SBC to include the Originating-IOI and Terminating-IOI AVPs within ACRs and Diameter based CDRs for unregistered endpoints in addition to registered endpoints. Support for registered endpoints is available without special configuration. For unregistered endpoints, you enable the ioi-for-unregistered option within the account-config element.

The Inter-Operator-Identifier AVP (838) is a grouped AVP that includes the originating IOI AVP (839) and the terminating IOI AVP (840) for the purpose of tracking inter-service provider traffic. The SBC extracts this information from incoming P-Charging-Vector headers in the 200 OK of an initial INVITE from either side of a peering deployment. When applicable, the SBC populates these AVPs within:

  • START ACR—Requires that you configure the generate-start parameter to OK in the account-config.
  • INTERIM ACR
  • STOP ACR
  • EVENT ACR

If there is no IOI info in the P-Charging-Vector, the SBC does not include these AVPs in ACRs.

You configure the charging-vector-mode to pass to convey these AVPs for unregistered endpoints. If you also enable the realm-as-ioi option, however, the SBC ignores the value derived from the pass parameter and includes the ingress and egress realm names in the AVPs.

The table below presents the orig-ioi and term-ioi that the SBC would send in its ACRs based on your realm-as-ioi and ioi-for-unregistered options configurations. Assume the ingress and egress realm names are realm1 and realm2. For the bottom three rows, assume the following P-Charging-Vector contents.

P-Charging-Vector: icid-value=89000078phcsioo6ohb4jq46e9c6nk1zz9e432-6;
icid-generated-at=171.15.252.1;orig-ioi=AAAA;term-ioi=BBBB
realm-as-ioi ioi-for-unregistered IOI in ACR for unregistered endpoints Orig-ioi, term_ioi in ACR
Disabled Disabled Not Present Absent, Absent
Disabled Enabled From the PCV in 200OK, if all conditions fulfilled AAAA, BBBB
Enabled Disabled Ingress and Egress realm names realm1, realm2
Enabled Enabled Ingress and Egress realm names realm1, realm2

You configure the ioi-for-unregistered option in the account-config to include the IOI AVPs in Diameter CDRs for unregistered endstations. If this option is not set, the SBC adds IOI AVPs in Diameter CDRs for registered endstations only.

Configure the ioi-for-unregistered option using the syntax below.

ORACLE(account-config)# options +ioi-for-unregistered

If you type options and then the option value without the plus sign, you overwrite any previously configured options. To add a new option to an options list, prepend the new option with a plus sign as shown in the previous example.

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