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 |
Including the To Header in ACRs and CDRs
You can configure the SBC to support the Acme-SipHdr-TO AVP. This AVP conveys the value of TO headers in Rf deployments. The system uses this AVP to populate the string in the sipHdrTO from SIP methods into ACRs and CDRs. Enabling this feature causes the system record the SIP 'To:' header in ACRs for all endpoints.
When configured, the SBC uses this AVP (code 122), to capture TO headers from incoming SIP message and populate the Acme-SipHdr-TO in the Acme-Packet-Specific-Extension-Rf grouped AVP.
By default, the SBC does not populate this AVP. You configure the sip-tohdr-in-acr option in the account-config to enable this behavior.
ORACLE(account-config)#options +sip-tohdr-in-acr
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.

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.

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.

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