7.1 Diameter AVPs
32.2993GPPCharging managementDiameter charging applicationsRelease 17Telecommunication managementTS
7.1.0 General
The use of the Attribute Value Pairs (AVPs) that are defined in the Diameter Protocol is specified in clause 6.2 for offline charging and in clause 6.4 for online charging. The information is summarized in the table 7.1.0.1 in alphabetical order. Detailed specification of some of these AVPs is available after the table and for the others can be found from RFC 6733 [401], RFC 4006 [402] and RFC 4005 [407].
Those Diameter AVPs that are used are marked "M", "OM" or "Oc" in the following table.
This implies that their content can be used by the CDF for offline and by the OCF for online charging purposes.
Those Diameter AVPs that are not used are marked "-" in table 7.1.0.1.
Table 7.1.0.1: Use Of IETF Diameter AVPs
AVP Name |
AVP Code |
Used in |
Value Type |
AVP Flag rules |
||||||
---|---|---|---|---|---|---|---|---|---|---|
ACR |
ACA |
CCR |
CCA |
Must |
May |
Should not |
Must not |
|||
Accounting-Input-Octets |
363 |
OC |
– |
– |
– |
Unsigned64 |
M |
– |
– |
V |
Accounting-Output-Octets |
364 |
OC |
– |
– |
– |
Unsigned64 |
M |
– |
– |
V |
Accounting-Realtime-Required |
483 |
– |
– |
– |
– |
Enumerated |
– |
– |
– |
– |
Accounting-Record-Number |
485 |
M |
M |
– |
– |
Unsigned32 |
M |
– |
– |
V |
Accounting-Record-Type |
480 |
M |
M |
– |
– |
Enumerated |
M |
– |
– |
V |
Accounting-Sub-Session-Id |
287 |
– |
– |
– |
– |
Unsigned64 |
– |
– |
– |
– |
Acct-Application-Id |
259 |
OC |
OC |
– |
– |
Unsigned32 |
M |
– |
– |
V |
Acct-Interim-Interval |
85 |
OC |
OC |
– |
– |
Unsigned32 |
M |
– |
– |
V |
Acct-Multi-Session-Id |
50 |
– |
– |
– |
– |
Unsigned32 |
– |
– |
– |
– |
Acct-Session-Id |
44 |
– |
– |
– |
– |
OctetString |
– |
– |
– |
– |
Auth-Application-Id |
258 |
– |
– |
M |
M |
Unsigned32 |
M |
– |
– |
V |
AVP |
* |
– |
– |
– |
– |
Grouped |
– |
– |
– |
– |
Called-Station-Id |
30 |
OC |
– |
OC |
– |
UTF8String |
M |
– |
– |
V |
CC-Correlation-Id |
411 |
– |
– |
OC |
– |
OctetString |
– |
M |
– |
V |
CC-Input-Octets |
412 |
– |
– |
OC |
OC |
Unsigned64 |
M |
– |
– |
V |
CC-Money |
413 |
– |
– |
– |
– |
Grouped |
– |
– |
– |
– |
CC-Output-Octets |
414 |
– |
– |
OC |
OC |
Unsigned64 |
M |
– |
– |
V |
CC-Request-Number |
415 |
– |
– |
M |
M |
Unsigned32 |
M |
– |
– |
V |
CC-Request-Type |
416 |
– |
– |
M |
M |
Enumerated |
M |
– |
– |
V |
CC-Service-Specific-Units |
417 |
– |
– |
OC |
OC |
Unsigned64 |
M |
– |
– |
V |
CC-Session-Failover |
418 |
– |
– |
– |
OC |
Enumerated |
M |
– |
– |
V |
CC-Sub-Session-Id |
419 |
– |
– |
– |
– |
Unsigned64 |
– |
– |
– |
– |
CC-Time |
420 |
– |
– |
OC |
OC |
Unsigned32 |
M |
– |
– |
V |
CC-Total-Octets |
421 |
– |
– |
OC |
OC |
Unsigned64 |
M |
– |
– |
V |
CC-Unit-Type |
454 |
– |
– |
– |
M |
Enumerated |
M |
– |
– |
V |
Check-Balance-Result |
422 |
– |
– |
– |
– |
Enumerated |
– |
– |
– |
– |
Cost-Information |
423 |
– |
– |
– |
OC |
Grouped |
M |
– |
– |
V |
Cost-Unit |
424 |
– |
– |
– |
OC |
UTF8String |
M |
– |
– |
V |
Credit-Control |
426 |
– |
– |
– |
– |
Enumerated |
– |
– |
– |
– |
Credit-Control-Failure-Handling |
427 |
– |
– |
– |
OC |
Enumerated |
M |
– |
– |
V |
Currency-Code |
425 |
– |
– |
– |
M |
Unsigned32 |
M |
– |
– |
V |
Destination-Host |
293 |
OC |
– |
OC |
– |
DiamIdent |
M |
– |
– |
V |
Destination-Realm |
283 |
M |
– |
M |
– |
DiamIdent |
M |
– |
– |
V |
Direct-Debiting-Failure-Handling |
428 |
– |
– |
– |
OC |
Enumerated |
M |
– |
– |
V |
Error-Message |
281 |
– |
– |
– |
– |
UTF8String |
– |
– |
– |
– |
Error-Reporting-Host |
294 |
– |
OC |
– |
– |
DiamIdent |
– |
– |
– |
V,M |
Event-Timestamp |
55 |
OC |
OC |
OC |
– |
Time |
M |
– |
– |
V |
Experimental-Result |
297 |
– |
OC |
– |
OC |
Grouped |
– |
– |
– |
V,M |
Experimental-Result-Code |
298 |
– |
OC |
– |
OC |
Unsigned32 |
– |
– |
– |
V,M |
Exponent |
429 |
– |
– |
– |
OC |
Integer32 |
M |
– |
– |
V |
Failed-AVP |
279 |
– |
– |
– |
OC |
Grouped |
M |
– |
– |
V |
Filter-Id |
11 |
– |
– |
– |
OC |
UTF8String |
M |
– |
– |
V |
Final-Unit-Action |
449 |
– |
– |
– |
OC |
Enumerated |
M |
– |
– |
V |
Final-Unit-Indication |
430 |
– |
– |
– |
OC |
Grouped |
M |
– |
– |
V |
Granted-Service-Unit |
431 |
– |
– |
– |
OC |
Grouped |
M |
– |
– |
V |
G-S-U-Pool-Identifier |
453 |
– |
– |
– |
OC |
Unsigned32 |
M |
– |
– |
V |
G-S-U-Pool-Reference |
457 |
– |
– |
– |
OC |
Grouped |
M |
– |
– |
V |
Multiple-Services-Credit-Control |
456 |
– |
– |
OC |
OC |
Grouped |
M |
– |
– |
V |
Multiple-Services-Indicator |
455 |
– |
– |
OM |
– |
Enumerated |
M |
– |
– |
V |
OC-Feature-Vector |
622 |
– |
– |
OC |
OC |
Unsigned64 |
– |
– |
– |
V,M |
OC-OLR |
623 |
– |
– |
– |
OC |
Grouped |
– |
– |
– |
V,M |
OC-Reduction-Percentage |
627 |
– |
– |
– |
OC |
Unsigned32 |
– |
– |
– |
V,M |
OC-Report-Type |
626 |
– |
– |
– |
OC |
Enumerated |
– |
– |
– |
V,M |
OC-Sequence-Number |
624 |
– |
– |
– |
OC |
Unsigned64 |
– |
– |
– |
V,M |
OC-Supported-Features |
621 |
– |
– |
OC |
OC |
Grouped |
– |
– |
– |
V,M |
OC-Validity-Duration |
625 |
– |
– |
– |
OC |
Unsigned32 |
– |
– |
– |
V,M |
Origin-Host |
264 |
M |
M |
M |
M |
DiamIdent |
M |
– |
– |
V |
Origin-Realm |
296 |
M |
M |
M |
M |
DiamIdent |
M |
– |
– |
V |
Origin-State-Id |
278 |
OC |
OC |
OC |
– |
Unsigned32 |
M |
– |
– |
V |
Proxy-Info |
284 |
OC |
OC |
OC |
OC |
Grouped |
M |
– |
– |
V |
Proxy-Host |
280 |
M |
M |
M |
M |
DiamIdent |
M |
– |
– |
V |
Proxy-State |
33 |
M |
M |
M |
M |
OctetString |
M |
– |
– |
V |
Rating-Group |
432 |
OC |
– |
OC |
OC |
Unsigned32 |
M |
– |
– |
V |
Redirect-Address-Type |
433 |
– |
– |
– |
M |
Enumerated |
M |
– |
– |
V |
Redirect-Host |
292 |
– |
– |
– |
OC |
DiamURI |
M |
– |
– |
V |
Redirect-Host-Usage |
261 |
– |
– |
– |
OC |
Enumerated |
M |
– |
– |
V |
Redirect-Max-Cache-Time |
262 |
– |
– |
– |
OC |
Unsigned32 |
M |
– |
– |
V |
Redirect-Server |
434 |
– |
– |
– |
OC |
Grouped |
M |
– |
– |
V |
Redirect-Server-Address |
435 |
– |
– |
– |
M |
UTF8String |
M |
– |
– |
V |
Requested-Action |
436 |
– |
– |
OC |
– |
Enumerated |
M |
– |
– |
V |
Requested-Service-Unit |
437 |
– |
– |
OC |
– |
Grouped |
M |
– |
– |
V |
Restriction-Filter-Rule |
438 |
– |
– |
– |
OC |
IPFilterRule |
M |
– |
– |
V |
Result-Code |
268 |
– |
M |
– |
M |
Unsigned32 |
M |
– |
– |
V |
Route-Record |
282 |
OC |
– |
OC |
OC |
DiamIdent |
M |
– |
– |
V |
Service-Context-Id |
461 |
OM |
– |
M |
– |
UTF8String |
M |
– |
– |
V |
Service-Identifier |
439 |
OC |
– |
OC |
OC |
Unsigned32 |
M |
– |
– |
V |
Service-Parameter-Info |
440 |
– |
– |
– |
– |
Grouped |
– |
– |
– |
– |
Service-Parameter-Type |
441 |
– |
– |
– |
– |
Unsigned32 |
– |
– |
– |
– |
Service-Parameter-Value |
442 |
– |
– |
– |
– |
OctetString |
– |
– |
– |
– |
Session-Id |
263 |
M |
M |
M |
M |
UTF8String |
M |
– |
– |
V |
Subscription-Id |
443 |
OC |
– |
OM |
– |
Grouped |
M |
– |
– |
V |
Subscription-Id-Data |
444 |
M |
– |
M |
– |
UTF8String |
M |
– |
– |
V |
Subscription-Id-Type |
450 |
M |
– |
M |
– |
Enumerated |
M |
– |
– |
V |
Tariff-Change-Usage |
452 |
– |
– |
OC |
– |
Enumerated |
M |
– |
– |
V |
Tariff-Time-Change |
451 |
– |
– |
OC |
Time |
M |
– |
– |
V |
|
Termination-Cause |
295 |
– |
OC |
– |
Enumerated |
M |
– |
– |
V |
|
Unit-Value |
445 |
– |
– |
– |
M |
Grouped |
M |
– |
– |
V |
Used-Service-Unit |
446 |
– |
– |
OC |
– |
Grouped |
M |
– |
– |
V |
User-Equipment-Info |
458 |
OC |
– |
OC |
– |
Grouped |
– |
M |
– |
V |
User-Equipment-Info-Type |
459 |
OM |
– |
M |
– |
Enumerated |
– |
M |
– |
V |
User-Equipment-Info-Value |
460 |
OM |
– |
M |
– |
OctetString |
– |
M |
– |
V |
User-Name |
1 |
OC |
OC |
OC |
– |
UTF8String |
M |
– |
– |
V |
Value-Digits |
447 |
– |
– |
– |
M |
Integer64 |
M |
– |
– |
V |
Validity-Time |
448 |
– |
– |
– |
OC |
Unsigned32 |
M |
– |
– |
V |
Vendor-Id |
266 |
– |
– |
– |
– |
Unsigned32 |
– |
– |
– |
– |
Vendor-Specific-Application-Id |
260 |
– |
– |
– |
– |
Grouped |
– |
– |
– |
– |
NOTE 1: Result-Code AVP is defined in Diameter Base Protocol in RFC 6733 [401]. Values which are used in offline and online charging applications are defined below.
NOTE 2: Experimental-Result AVP is defined in Diameter Base Protocol in RFC 6733 [401]. Values which are used in offline and online charging applications are defined below.
7.1.1 Accounting-Input-Octets AVP
The Accounting-Input-Octets AVP (AVP code 363) contains the number of octets transmitted during the data container recording interval, reflecting the volume counts for uplink traffic for a data flow.
7.1.2 Void
7.1.3 Accounting-Output-Octets AVP
The Accounting-Output-Octets AVP (AVP code 364) contains the number of octets transmitted during the data container recording interval, reflecting the volume count for downlink traffic for a data flow.
7.1.4 Void
7.1.5 Acct-Application-Id AVP
The Acct-Application-Id AVP (AVP code 259) shall contain the value of 3 as defined in RFC 6733 [401] according TS 29.230 [206].
7.1.6 Auth-Application-Id AVP
The Auth-Application-Id AVP (AVP code 258) shall contain the value of 4 as defined in RFC 4006 [402] according TS 29.230 [206].
7.1.7 Called-Station-Id AVP
The Called-Station-Id AVP (AVP code 30) shall contain the Access Point Name (APN) the user is connected to.
7.1.8 Event-Timestamp AVP
The Event-Timestamp AVP (AVP code 55) shall contain the time when the chargeable event is received in the CTF.
7.1.8A Experimental-Result AVP
The Experimental-Result AVP (AVP code 297) defined in RFC 6733 [401], shall contain the values used in offline and online charging applications. The Vendor-ID AVP shall contain 3GPP (10415), and following values are used for Experimental-Result-Code:
Permanent Failures (5xxx):
5011 DIAMETER_ERROR_FEATURE_UNSUPPORTED
At least one feature included in the request sent by the CTF is not supported by the CDF or OCF. This value is defined in TS 29.229 [204]
7.1.9 Multiple-Services-Credit-Control AVP
The Multiple-Services-Credit-Control AVP (AVP code 456) is of type grouped as specified in RFC 4006 [402]. It contains additional 3GPP specific charging parameters.
It has the following ABNF grammar:
<Multiple-Services-Credit-Control> ::= < AVP Header: 456 >
[ Granted-Service-Unit ]
[ Requested-Service-Unit ]
* [ Used-Service-Unit ]
[ Tariff-Change-Usage ]
* [ Service-Identifier ]
[ Rating-Group ]
* [ G-S-U-Pool-Reference ] [ Validity-Time ]
[ Result-Code ]
[ Final-Unit-Indication ]
[ Time-Quota-Threshold ]
[ Volume-Quota-Threshold ]
[ Unit-Quota-Threshold ]
[ Quota-Holding-Time ]
[ Quota-Consumption-Time ]
* [ Reporting-Reason ]
[ Trigger ]
[ PS-Furnish-Charging-Information ]
[ Refund-Information ]
* [ AF-Correlation-Information]
* [ Envelope ]
[ Envelope-Reporting ]
[ Time-Quota-Mechanism ]
* [ Service-Specific-Info ]
[ QoS-Information ]
* [ Announcement-Information ]
[ 3GPP-RAT-Type ]
[ Related-Trigger ]* [ AVP ]
7.1.10 Rating-Group AVP
The Rating-Group AVP (AVP code 432), is defined in RFC 4006 [402]. It contains the charging key (defined in TS 23.203 [218]). Each quota allocated to a Diameter CC session has a unique Rating Group value as specified in RFC 4006 [402].
7.1.11 Result-Code AVP
This subclause defines new Result-Code AVP (AVP code 268) values that shall be supported by all Diameter implementations that conform to the present document. The Result-Code AVP operates as described in RFC 6733 [401] and RFC 4006 [402]. The following result code descriptions are examples of the possible uses for the code:
Transient Failures (4xxx):
4010 DIAMETER_END_USER_SERVICE_DENIED
The OCF denies the service request due to service restrictions (e.g. terminate rating group) or limitations related to the end-user, for example the end-user’s account could not cover the requested service.
4011 DIAMETER_CREDIT_CONTROL_NOT_APPLICABLE
The OCF determines that the service can be granted to the end user but no further Credit-Control
needed for the service (e.g. service is free of charge or is treated for offline charging).
4012 DIAMETER_CREDIT_LIMIT_REACHED
The OCF denies the service request since the end- user’s account could not cover the requested service. If the CCR contained used-service-units they are deducted, if possible.
Permanent Failures (5xxx):
5003 DIAMETER_AUTHORIZATION_REJECTED
The OCF denies the service request in order to terminate the service for which credit is requested. For example this error code is used to inform IP CAN bearer has to be terminated in the CCR message or to inform blocklist the rating group in the Multiple-Service-Credit-Control AVP.
5030 DIAMETER_USER_UNKNOWN
The specified end user could not be found in the OCF.
5031 DIAMETER_RATING_FAILED
This error code is used to inform the CTF that the OCF cannot rate the service request due to insufficient rating input, incorrect AVP combination or due to an AVP or an AVP value that is not recognized or supported in the rating. For Flow Based Charging this error code is used if the Rating group is not recognized. The Failed-AVP AVP MUST be included and contain a copy of the entire AVP(s) that could not be processed successfully or an example of the missing AVP complete with the Vendor-Id if applicable. The value field of the missing AVP should be of correct minimum length and contain zeroes.
7.1.12 Service-Context-Id AVP
The Service-Context-Id AVP is defined in RFC 4006 [402]. It is of type UTF8String and contains a unique identifier of the Diameter Credit-Control service specific document that applies to the request.
This is an identifier allocated by the service provider/operator, by the service element manufacturer or by a standardization body and MUST uniquely identify a given Diameter Credit-Control service specific document. For offline charging, this identifies the service specific document (‘middle tier’ TS) on which associated CDRs should based. The format of the Service-Context-Id is:
"extensions".MNC.MCC."Release"."service-context" "@" "domain"
The 3GPP specific values for "service-context" "@" "domain" are:
32251@3gpp.org for PS charging
32253@3gpp.org for CPDT charging
32254@3gpp.org for Exposure function API charging
32260@3gpp.org for IMS charging
32270@3gpp.org for MMS service charging
32271@3gpp.org for LCS service charging
32272@3gpp.org for PoC service charging
32273@3gpp.org for MBMS service charging
32274@3gpp.org for SMS service charging
32275@3gpp.org for MMTel service charging
32276@3gpp.org for VCS charging
32277@3gpp.org for ProSe charging
32278@3gpp.org for Monitoring Event charging
32280@3gpp.org for AoC Service Information
32296@3gpp.org for ABMF Rc information
The "Release" indicates the 3GPP Release the service specific document is based upon e.g. 12 for Release 12.
As a minimum, "Release"."service-context" "@" "domain" shall be used. If the minimum is used all operator provisionable parameters (Oc and Om) are optional.
The MNC.MCC identifies the operator implementing the service specific document, which is used to determine the specific requirements for the operator configurable parameters.
The "extensions" is operator specific information to any extensions in a service specific document.
7.1.13 Service-Identifier AVP
The Service-Identifier AVP (AVP code 439), is defined in RFC 4006 [402]. For further details, please refer the middle-tier specification.
7.1.14 Used-Service-Unit AVP
The Used-Service-Unit AVP (AVP code 446) is of type grouped as specified in RFC 4006 [402]. It contains additional 3GPP specific charging parameters.
It has the following ABNF grammar:
<Used-Service-Unit> ::= < AVP Header: 446 >
[ Reporting-Reason ]
[ Tariff-Change-Usage ]
[ CC-Time ]
[ CC-Money ]
[ CC-Total-Octets ]
[ CC-Input-Octets ]
[ CC-Output-Octets ]
[ CC-Service-Specific-Units ]
*[ Event-Charging-TimeStamp ]
*[ AVP ]
7.1.15 User-Name AVP
The User-Name AVP (AVP code 1) contains the user name in the format of a NAI according to RFC 6733 [401].
7.1.16 Vendor-Id AVP
The Vendor-Id AVP (AVP code 266), as part of the grouped Vendor-Specific-Application-Id AVP, shall contain the value of 10415, which is the IANA registered value for ‘3GPP’ in TS 29.230 [206].
7.1.17 User-Equipment-Info AVP
The User-Equipment-Info AVP (AVP code 458) is of type grouped and contains the identity and capability of the terminal the subscriber is using for the connection to network according to IETF RFC 4006 [402] with the following ABNF grammar:
User-Equipment-Info ::= < AVP Header: 458 >
{ User-Equipment-Info-Type }
{ User-Equipment-Info-Value }
For PS charging, when the User-Equipment-Info-Type AVP (AVP code 459) is set to IMEISV (0), the value within the User-Equipment-Info-Value AVP (AVP code 460) is of type OctetString and shall be a UTF-8 encoded hexadecimal. The composition of the IMEISV follows the definition in TS 23.003 [224] . If only IMEI is received a filler ‘F’ is used to make it 16 digits.
For IMS charging, when the User-Equipment-Info-Type AVP (AVP code 459) is set to IMEISV (0), the value within the User-Equipment-Info-Value AVP (AVP code 460) is of type OctetString and shall be a UTF-8 encoded decimal. The composition of the IMEISV follows the definition in TS 23.003 [224]. If only IMEI is received the number of digits are truncated to 15.