DIAMETER
Description
Glossary
RFCs
Publications
Obsolete RFCs
Description:
Protocol suite: TCP/IP.
Protocol type: Application layer protocol.
Port: 3868 (SCTP, TCP).
URI: aaa:, aaas:
MIME subtype:
SNMP MIBs:
Working groups: aaa, Authentication, Authorization and Accounting.
dime, Diameter Maintanence and Extensions.
Links: diameter.org
IANA: AAA AVPs.
RFC 3588:
The Diameter base protocol is intended to provide an Authentication, Authorization and Accounting (AAA) framework for applications
such as network access or IP mobility. Diameter is also intended to work in both local Authentication, Authorization & Accounting and
roaming situations. This document specifies the message format, transport, error reporting, accounting and security services to be used by
all Diameter applications. The Diameter base application needs to be supported by all Diameter implementations.
The Diameter protocol consists of the Diameter header followed by one or more AVP structures.
MAC header IP header SCTP | TCP header Diameter header Data :::
Diameter header:
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Version
Message length
Flags
Code
Application ID
Hop by Hop ID
End to End ID
AVP[] :::
Version. 8 bits.
Diameter protocol version.
Message length. 24 bits.
Size of the Diameter message including the header fields.
Flags. 8 bits.
00 01 02 03 04 05 06 07
R P E T
reserved
R, Request. 1 bit.
If set, the message is a request. Otherwise the message is an answer.
P, Proxiable. 1 bit.
If set, the message MAY be proxied, relayed or redirected. Otherwise the message MUST be locally processed.
E, Error. 1 bit.
If set, the message contains a protocol error, and the message will not conform to the ABNF described for this command. Messages
with this bit set are commonly referred to as error messages. This bit MUST NOT be set in request messages.
T, Potentially retransmitted message. 1 bit.
This flag is set after a link failover procedure, to aid the removal of duplicate requests. It is set when resending requests not yet
acknowledged, as an indication of a possible duplicate due to a link failure. This bit MUST be cleared when sending a request for the
first time, otherwise the sender MUST set this flag. Diameter agents only need to be concerned about the number of requests they send
based on a single received request. Retransmissions by other entities do not need to be tracked. Diameter agents that receive a request
with the T flag set, MUST keep the T flag set in the forwarded request. This flag MUST NOT be set if an error answer message (e.g., a
protocol error) has been received for the earlier message. It can be set only in cases where no answer has been received from the server
for a request and the request is sent again. This flag MUST NOT be set in answer messages.
reserved. 4 bits.
Must be cleared to zero.
Code. 24 bits.
Code
0
255
256
Description
References
Radius command codes.
257
CER; CEA.
258
RAR, Re-Auth-Request; RAA, Re-Auth-Answer.
RFC 4005
259
260
AMR, AA-Mobile-Node-Request; AMA, AA-Mobile-Node-Answer.
RFC 4004
HAR, Home-Agent-MIP-Request; HAA, Home-Agent-MIP-Answer.
RFC 4004
AAR, AA-Request; AAA, AA-Answer.
RFC 4005
DER, Diameter-EAP-Request; DEA, Diameter-EAP-Answer.
RFC 4072
ACR, Accounting-Request; ACA, Accounting-Answer.
CCR, Credit-Control-Request; CCA, Credit-Control-Answer.
RFC 4005
RFC 4006
261
262
263
264
265
266
267
268
269
270
271
272
273
274
ASR, Abort-Session-Request; ASA, Abort-Session-Answer.
RFC 4005
275
STR, Session-Termination-Request; STA, Session-Termination-Answer.
RFC 4005
280
DWR; DWA.
RFC 3588
281
282
DPR; DPA.
RFC 3588
283
UAR; UAA.
RFC 4740
284
SAR; SAA.
RFC 4740
285
286
LIR; LIA.
MAR; MAA.
RFC 4740
RFC 4740
287
RTR; RTA.
RFC 4740
288
289
299
PPR; PPA.
RFC 4740
276
279
301
313
314
315
316
317
PDR.
PDA.
PIR, Policy-Install-Request.
PIA, Policy-Install-Answer.
ULR, 3GPP-Update-Location-Request.
ULA, 3GPP-Update-Location-Answer.
CLR, 3GPP-Cancel-Location-Request.
CLA, 3GPP-Cancel-Location-Answer.
RFC 5224
RFC 5431
RFC 5516
RFC 5516
16777215 Experimental code.
RFC 3588
Application ID. 32 bits.
Used to identify to which application the message is applicable for. The application can be an authentication application, an accounting application or a
vendor specific application. The application ID in the header MUST be the same as what is contained in any relevant AVPs contained in the message.
Hop by Hop ID. 32 bits, unsigned.
This field aids in matching requests and replies. The sender MUST ensure that the identifier in a request is unique on a given connection at any given
time, and MAY attempt to ensure that the number is unique across reboots. The sender of an Answer message MUST ensure that this field contains
the same value that was found in the corresponding request. The identifier is normally a monotonically increasing number, whose start value was
randomly generated. An answer message that is received with an unknown identifier MUST be discarded.
End to End ID. 32 bits, unsigned.
This field is used to detect duplicate messages. Upon reboot implementations MAY set the high order 12 bits to contain the low order 12 bits of
current time, and the low order 20 bits to a random value. Senders of request messages MUST insert a unique identifier on each message. The
identifier MUST remain locally unique for a period of at least 4 minutes, even across reboots. The originator of an Answer message MUST ensure that
the field contains the same value that was found in the corresponding request. This field MUST NOT be modified by Diameter agents of any kind. The
combination of the Origin-Host and this field is used to detect duplicates. Duplicate requests SHOULD cause the same answer to be transmitted
(modulo the Hop by Hop ID field and any routing AVPs that may be present), and MUST NOT affect any state that was set when the original request
was processed. Duplicate answer messages that are to be locally consumed SHOULD be silently discarded.
AVP, Attribute Value Pair.
A structure used to encapsulate protocol specific data as well as authentication, authorization and accounting information.
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
AVP code
AVP flags
AVP length
Vendor ID
Data :::
AVP code. 32 bits.
When combined with the Vendor ID the attribute is uniquely identified. AVP numbers 1 through 255 are reserved for backward compatibility with
RADIUS, without setting the Vendor ID field. AVP numbers 256 and above are used for Diameter, which are allocated by IANA.
Code
1
255
256
257
Description
References
Radius attributes.
Host-IP-Address.
RFC 3588
258
259
260
Auth-Application-Id.
Acct-Application-Id.
Vendor-Specific-Application-Id.
RFC 3588
RFC 3588
RFC 3588
261
262
263
Redirect-Host-Usage.
Redirect-Max-Cache-Time.
Session-Id.
RFC 3588
RFC 3588
RFC 3588
264
265
Origin-Host.
Supported-Vendor-Id.
RFC 3588
266
267
268
Vendor-Id.
Firmware-Version.
Result-Code.
269
270
271
Product-Name.
Session-Binding.
Session-Server-Failover.
272
273
274
Multi-Round-Time-Out.
Disconnect-Cause.
Auth-Request-Type.
275
276
277
Auth-Grace-Period.
Auth-Session-State.
278
279
Origin-State-Id.
Failed-AVP.
280
Proxy-Host.
281
282
283
Error-Message.
Route-Record.
Destination-Realm.
284
285
286
Proxy-Info.
Re-Auth-Request-Type.
287
288
290
Accounting-Sub-Session-Id.
291
292
Authorization-Lifetime.
Redirect-Host.
293
294
295
Destination-Host.
Error-Reporting-Host.
Termination-Cause.
296
297
298
Origin-Realm.
Experimental-Result.
Experimental-Result-Code.
299
300
301
317
318
319
Inband-Security-Id.
E2E-Sequence.
MIP-FA-to-HA-SPI.
MIP-FA-to-MN-SPI.
RFC 4004
RFC 4004
320
321
322
MIP-Reg-Request.
MIP-Reg-Reply.
MIP-MN-AAA-Auth.
RFC 4004
RFC 4004
RFC 4004
323
MIP-HA-to-FA-SPI.
RFC 4004
RFC 3588
RFC 4005
324
325
MIP-MN-to-FA-MSA.
RFC 4004
326
327
328
MIP-FA-to-MN-MSA.
RFC 4004
MIP-FA-to-HA-MSA.
RFC 4004
329
330
MIP-HA-to-FA-MSA.
RFC 4004
331
332
333
MIP-MN-to-HA-MSA.
MIP-HA-to-MN-MSA.
MIP-Mobile-Node-Address.
RFC 4004
RFC 4004
RFC 4004
334
335
336
337
338
MIP-Home-Agent-Address.
MIP-Nonce.
MIP-Candidate-Home-Agent-Host.
MIP-Feature-Vector.
MIP-Auth-Input-Data-Length.
RFC 4004
RFC 4004
RFC 4004
RFC 4004
RFC 4004
339
340
341
342
343
MIP-Authenticator-Length.
MIP-Authenticator-Offset.
MIP-MN-AAA-SPI.
MIP-Filter-Rule.
MIP-Session-Key.
RFC 4004
RFC 4004
RFC 4004
RFC 4004
RFC 4004
344
345
346
347
348
349
362
363
MIP-FA-Challenge.
MIP-Algorithm-Type.
MIP-Replay-Mode.
MIP-Originating-Foreign-AAA.
MIP-Home-Agent-Host.
RFC 4004
RFC 4004
RFC 4004
RFC 4004
RFC 4004
Accounting-Input-Octets.
RFC 4005
364
365
366
367
Accounting-Output-Octets.
Accounting-Input-Packets.
Accounting-Output-Packets.
MIP-MSA-Lifetime.
RFC 4005
RFC 4005
RFC 4005
RFC 4004
368
369
370
371
372
373
SIP-Accounting-Information.
SIP-Accounting-Server-URI.
SIP-Credit-Control-Server-URI.
SIP-Server-URI.
SIP-Server-Capabilities.
SIP-Mandatory-Capability.
RFC4740
RFC4740
RFC4740
RFC4740
RFC4740
RFC4740
374
375
376
377
378
379
SIP-Optional-Capability.
SIP-Server-Assignment-Type.
SIP-Auth-Data-Item.
SIP-Authentication-Scheme.
SIP-Item-Number.
SIP-Authenticate.
RFC4740
RFC4740
RFC4740
RFC4740
RFC4740
RFC4740
380
381
382
383
384
SIP-Authorization.
SIP-Authentication-Info.
SIP-Number-Auth-Items.
SIP-Deregistration-Reason.
SIP-Reason-Code.
RFC4740
RFC4740
RFC4740
RFC4740
RFC4740
385
386
387
388
389
390
SIP-Reason-Info.
SIP-Visited-Network-Id.
SIP-User-Authorization-Type.
SIP-Supported-User-Data-Type.
SIP-User-Data.
SIP-User-Data-Type.
RFC4740
RFC4740
RFC4740
RFC4740
RFC4740
RFC4740
391
392
SIP-User-Data-Contents.
SIP-User-Data-Already-Available.
RFC4740
RFC4740
393
SIP-Method.
RFC4740
394
399
400
401
402
403
NAS-Filter-Rule.
Tunneling.
CHAP-Auth.
CHAP-Algorithm.
RFC 4005
RFC 4005
RFC 4005
RFC 4005
CHAP-Ident.
CHAP-Response.
Acounting-Auth-Method.
QoS-Filter-Rule.
Origin-AAA-Protocol.
RFC 4005
RFC 4005
RFC 4005
RFC 4005
RFC 4005
410
411
412
413
414
415
CC-Correlation-Id.
CC-Input-Octets.
CC-Money.
CC-Output-Octets.
CC-Request-Number.
RFC 4006
RFC 4006
RFC 4006
RFC 4006
RFC 4006
416
417
418
419
420
CC-Request-Type.
CC-Service-Specific-Units.
CC-Session-Failover.
CC-Sub-Session-Id.
CC-Time.
RFC 4006
RFC 4006
RFC 4006
RFC 4006
RFC 4006
421
422
423
CC-Total-Octets.
Check-Balance-Result.
Cost-Information.
RFC 4006
RFC 4006
RFC 4006
404
405
406
407
408
409
424
425
Cost-Unit.
Currency-Code.
RFC 4006
RFC 4006
426
427
428
429
430
Credit-Control.
Credit-Control-Failure-Handling.
Direct-Debiting-Failure-Handling.
Exponent.
Final-Unit-Indication.
RFC 4006
RFC 4006
RFC 4006
RFC 4006
RFC 4006
431
432
433
434
435
436
Granted-Service-Unit.
Rating-Group.
Redirect-Address-Type.
Redirect-Server.
Redirect-Server-Address.
Requested-Action.
RFC 4006
RFC 4006
RFC 4006
RFC 4006
RFC 4006
RFC 4006
437
438
439
440
441
442
Requested-Service-Unit.
Restriction-Filter-Rule.
Service-Identifier.
Service-Parameter-Info.
Service-Parameter-Type.
Service-Parameter-Value.
RFC 4006
RFC 4006
RFC 4006
RFC 4006
RFC 4006
RFC 4006
443
444
445
446
447
Subscription-Id.
Subscription-Id-Data.
Unit-Value.
Used-Service-Unit.
Value-Digits.
RFC 4006
RFC 4006
RFC 4006
RFC 4006
RFC 4006
448
449
450
451
452
Validity-Time.
Final-Unit-Action.
Subscription-Id-Type.
Tariff-Time-Change.
Tariff-Change-Usage.
RFC 4006
RFC 4006
RFC 4006
RFC 4006
RFC 4006
453
G-S-U-Pool-Identifier.
RFC 4006
454
CC-Unit-Type.
RFC 4006
455
456
457
458
459
460
Multiple-Services-Indicator.
Multiple-Services-Credit-Control.
G-S-U-Pool-Reference.
User-Equipment-Info.
User-Equipment-Info-Type.
User-Equipment-Info-Value.
RFC 4006
RFC 4006
RFC 4006
RFC 4006
RFC 4006
RFC 4006
461
462
463
464
465
Service-Context-Id.
EAP-Payload.
EAP-Reissued-Payload.
EAP-Master-Session-Key.
Accounting-EAP-Auth-Method.
RFC 4006
RFC 4072
RFC 4072
RFC 4072
RFC 4072
466
479
480
Accounting-Record-Type.
RFC 3588
481
482
483
484
485
Accounting-Realtime-Required.
RFC 3588
Accounting-Record-Number.
RFC 3588
486
487
488
489
MIP6-Agent-Info.
MIP-Careof-Address.
MIP-Authenticator.
MIP-MAC-Mobility-Data.
RFC 5447
RFC 5778
RFC 5778
RFC 5778
581
0xFFFFFF
AVP flags. 8 bits.
00 01 02 03 04 05 06 07
V M P
reserved
V, Vendor specific. 1 bit.
If set, the Vendor ID field is present.
M, Mandatory. 1 bit.
If set, support of this AVP is required.
P. 1 bit.
If set, encryption for end to end security is needed.
reserved. 5 bits.
Must be cleared to zero.
AVP length. 24 bits.
Total size of the AVP header and data in bytes.
Vendor ID. 32 bits.
This field is present if the V bit is set in the AVP Flags field. This field contains the IANA assigned "SMI Network Management Private Enterprise
Codes" value, encoded in network byte order. Any vendor wishing to implement a vendor-specific Diameter AVP MUST use their own Vendor ID
along with their privately managed AVP address space, guaranteeing that they will not collide with any other vendor's vendor-specific AVP(s), nor
with future IETF applications. A value of zero corresponds to the IETF adopted AVP values, as managed by the IANA. Since the absence of this
field implies that the AVP in question is not vendor specific, implementations MUST NOT use the zero value.
Application ID.
ID
0
Description
Diameter common message.
References
RFC 3588
16777256 ITU-T Rw.
RFC 5431
Glossary:
Diameter Agent.
A Diameter node that provides either relay, proxy, redirect or translation services.
Diameter Client.
A device at the edge of the network that performs access control. An example of a Diameter client is a Network Access Server (NAS) or a Foreign
Agent (FA).
Diameter Node.
A host process that implements the Diameter protocol, and acts either as a Client, Agent or Server.
Diameter Peer.
A Diameter Node to which a given Diameter Node has a direct transport connection.
Diameter Security Exchange.
A process through which two Diameter nodes establish end-to-end security.
Diameter Server.
A Diameter Server is one that handles authentication, authorization and accounting requests for a particular realm. By its very nature, a Diameter
Server MUST support Diameter applications in addition to the base protocol.
Home Realm.
The administrative domain with which the user maintains an account relationship.
Local Realm.
The administrative domain providing services to a user. An administrative domain MAY act as a local realm for certain users, while being a home
realm for others.
NAI, Network Access Identifier.
Used to extract the identity and realm of a user. The identity is used to recognize the user during authentication and/or authorization, while the realm is
used for message routing purposes.
Realm.
The string in the NAI that immediately follows the '@' character. NAI realm names are required to be unique, and are piggybacked on the
administration of the DNS namespace. Diameter makes use of the realm, also loosely referred to as domain, to determine whether messages can be
satisfied locally, or whether they must be routed or redirected. In RADIUS, realm names are not necessarily piggybacked on the DNS namespace but
may be independent of it.
RFCs:
[RFC 2924] Accounting Attributes and Record Formats.
Category: Informational.
[RFC 3127] Authentication, Authorization, and Accounting: Protocol Evaluation.
Category: Informational.
[RFC 3588] Diameter Base Protocol.
Category: Standards Track.
Defines Diameter version 1.
Defines URI schemes aaa:, aaas:.
[RFC 3589] Diameter Command Codes for Third Generation Partnership Project (3GPP) Release 5.
Category: Informational.
[RFC 3955] Evaluation of Candidate Protocols for IP Flow Information Export (IPFIX).
Category: Informational.
[RFC 4004] Diameter Mobile IPv4 Application.
Category: Standards Track.
Defines Diameter command codes 260 and 262.
Defines Diameter AVP codes 318 - 323, 325, 326, 328, 329, 331 - 348, 367.
[RFC 4005] Diameter Network Access Server Application.
Category: Standards Track.
Defines Diameter command codes 258, 265, 271, 274, 275.
Defines Diameter AVP codes 295, 363 - 366, 400 - 408.
[RFC 4006] Diameter Credit-Control Application.
Category: Standards Track.
Defines Diameter command code 272 (Credit-Control-Request, Credit-Control-Answer).
Defines Diameter AVP codes 411 - 461.
[RFC 4072] Diameter Extensible Authentication Protocol (EAP) Application.
Category: Standards Track.
Defines Diameter command code 268.
Defines Diameter AVP codes 462 - 465.
Defines RADIUS AVP code 102 (EAP-Key-Name).
[RFC 5431] Diameter ITU-T Rw Policy Enforcement Interface Application.
Category: Informational.
Defines Diameter application ID 16777256.
Defines Diameter command code 315.
[RFC 5447] Diameter Mobile IPv6: Support for Network Access Server to Diameter Server Interaction.
Category: Standards Track.
Defines Diameter AVP code 486 (MIP6-Agent-Info).
Defines RADIUS AVP code 124 (MIP6-Feature-Vector).
Defines RADIUS AVP code 125 (MIP6-Home-Link-Prefix).
Publications:
Obsolete RFCs:
Description
Glossary
RFCs
1998 - 2012 Network Sorcery, Inc. All rights reserved.
Publications
Obsolete RFCs