RFC 3588:Diameter Base Protocol
RFC-Ref

AVP


Click on the red underlined text to get to the source

... capability negotiation (Section 5.3), and mandatory/non-mandatory attribute-value pairs (AVPs) (Section 4.1). ...
... - Delivery of AVPs (attribute value pairs) - Capabilities negotiation ...
... - Error notification - Extensibility, through addition of new commands and AVPs (required in [AAAREQ]). ...
... accounting All data delivered by the protocol is in the form of an AVP. Some of these AVP values are used by the Diameter protocol ...
... All data delivered by the protocol is in the form of an AVP. Some of these AVP values are used by the Diameter protocol itself, while others deliver data associated with particular applications that ...
... others deliver data associated with particular applications that employ Diameter. AVPs may be added arbitrarily to Diameter messages, so long as the required AVPs ...
... AVPs may be added arbitrarily to Diameter messages, so long as the required AVPs are included and AVPs that are explicitly excluded are not included. AVPs ...
... Diameter messages, so long as the required AVPs are included and AVPs that are explicitly excluded are not included. AVPs are used by the base ...
... AVPs are included and AVPs that are explicitly excluded are not included. AVPs are used by the base Diameter protocol to support the following required features: ...
... base protocol to be extended for use in new applications, via the addition of new commands or AVPs. At this time the focus of Diameter is network access and accounting ...
... mechanisms, including: - Defining new AVP values - Creating new AVPs ...
... - Defining new AVP values - Creating new AVPs - Creating new authentication/authorization ...
... authentication procedures Reuse of existing AVP values, AVPs and Diameter applications are ...
... Reuse of existing AVP values, AVPs and Diameter applications are strongly recommended. Reuse simplifies standardization and ...
... Defining New AVP Values ...
... New applications should attempt to reuse AVPs defined in existing applications when possible, as opposed to creating new AVPs. For ...
... New applications should attempt to reuse AVPs defined in existing applications when possible, as opposed to creating new AVPs. For AVPs of type Enumerated, an application may require a new value to ...
... applications when possible, as opposed to creating new AVPs. For AVPs of type Enumerated, an application may require a new value to communicate some service-specific information. ...
... service-specific information. In order to allocate a new AVP value, a request MUST be sent to IANA [IANA ...
... IANA [IANA], along with an explanation of the new AVP value. IANA considerations for Diameter ...
... Creating New AVPs ...
... When no existing AVP can be used, a new AVP should be created. The ...
... When no existing AVP can be used, a new AVP should be created. The new AVP ...
... AVP should be created. The new AVP being defined MUST use one of the data types listed in Section 4.2. ...
... Section 4.2. In the event that a logical grouping of AVPs is necessary, and multiple "groups" are possible in a given command, it is recommended ...
... multiple "groups" are possible in a given command, it is recommended that a Grouped AVP be used (see Section 4.4). In order to create ...
... In order to create a new AVP, a request MUST be sent to IANA, with a specification for the AVP ...
... AVP, a request MUST be sent to IANA, with a specification for the AVP. The request MUST include the commands that would make use of the AVP. ...
... specification for the AVP. The request MUST include the commands that would make use of the AVP. ...
... Diameter application. Major changes to an application include: - Adding new AVPs to the command, which have the "M" bit set. ...
... - Adding support for an authentication method requiring definition of new AVPs for use with the application. Since a new EAP authentication method can be supported within Diameter ...
... method can be supported within Diameter without requiring new AVPs, addition of EAP methods does not require the ...
... Creation of a new application should be viewed as a last resort. An implementation MAY add arbitrary non-mandatory AVPs to any command defined in an application, including vendor-specific AVPs ...
... AVPs to any command defined in an application, including vendor-specific AVPs without needing to define a new application. Please refer to Section 11.1.1 for details. ...
... Diameter applications MUST define one Command Code, or add new mandatory AVPs to the ABNF. ...
... ABNF. The expected AVPs MUST be defined in an ABNF [ABNF] grammar (see ...
... Section 3.2). If the Diameter application has accounting requirements, it MUST also specify the AVPs that are to be present in the Diameter Accounting messages (see Section 9.3). However, just ...
... Diameter application SHOULD reuse existing Diameter AVPs, in order to avoid defining multiple AVPs that carry similar information. ...
... Diameter AVPs, in order to avoid defining multiple AVPs that carry similar information. ...
... accounting. Such services need to define the AVPs carried in the Accounting-Request (ACR ...
... ACA) messages, but do not need to define new command codes. An implementation MAY add arbitrary non-mandatory AVPs (AVPs with the "M" bit not set) to any command defined in an ...
... new command codes. An implementation MAY add arbitrary non-mandatory AVPs (AVPs with the "M" bit not set) to any command defined in an ...
... application, including vendor-specific AVPs, without needing to define a new accounting application. Please refer to Section 11.1.1 ...
... ACR/ACA commands defined in this document, as long as no new mandatory AVPs are added. A mandatory AVP is defined as one which has the "M" bit ...
... ACA commands defined in this document, as long as no new mandatory AVPs are added. A mandatory AVP is defined as one which has the "M" bit set when sent within an accounting ...
... mechanisms (e.g., application defined state machine) is defined within the application, or new mandatory AVPs are added to the ABNF. ...
... backend server (e.g., billing server) or the accounting server itself MUST understand the AVP in order to compute a correct bill. If the AVP is not relevant to the billing process, when the AVP ...
... MUST understand the AVP in order to compute a correct bill. If the AVP is not relevant to the billing process, when the AVP is included within an accounting ...
... AVP in order to compute a correct bill. If the AVP is not relevant to the billing process, when the AVP is included within an accounting command, it MUST NOT have the "M" bit ...
... bit set, even if the "M" bit is set when the same AVP is used within other Diameter commands (i.e., authentication/authorization ...
... Diameter accounting application SHOULD attempt to reuse existing AVPs, in order to avoid defining multiple AVPs that carry similar information. ...
... accounting application SHOULD attempt to reuse existing AVPs, in order to avoid defining multiple AVPs that carry similar information. ...
... If the base accounting is used without any mandatory AVPs, new commands or additional mechanisms (e.g., application defined state machine), then the base protocol ...
... authentication methods MAY be added without requiring changes to the application. This MAY require that new AVP values be assigned to represent the new authentication transform, or any other scheme that ...
... be allowed access to a resource (object). AVP The Diameter protocol consists of a header ...
... Diameter protocol consists of a header followed by one or more Attribute-Value-Pairs (AVPs). An AVP includes a header and is ...
... header followed by one or more Attribute-Value-Pairs (AVPs). An AVP includes a header and is used to encapsulate ...
... Relays forward requests and responses based on routing-related AVPs and realm routing table entries. Since relays do not make policy decisions, they do not examine or alter non-routing ...
... routing table entries. Since relays do not make policy decisions, they do not examine or alter non-routing AVPs. As a result, relays never originate messages, do not need to understand the semantics ...
... understand the semantics of messages or non-routing AVPs, and are capable of handling any Diameter application or message type ...
... message type. Since relays make decisions based on information in routing AVPs and realm forwarding tables they do not keep state on NAS ...
... to communicate directly. Since redirect agents do not sit in the forwarding path, they do not alter any AVPs transiting between client and server. Redirect agents ...


... Diameter peers begins with one peer sending a message to another Diameter peer. The set of AVPs included in the message is determined by a particular Diameter application. One AVP ...
... AVPs included in the message is determined by a particular Diameter application. One AVP that is included to reference a user's session is the Session-Id ...
... or reject it by returning an answer message with the Result-Code AVP set to indicate an error occurred. The specific behavior of the ...
... service time in the Session-Timeout AVP, and according to rules established in a particular Diameter application. ...
... advertising support of an application implies that the sender supports all command codes, and the AVPs specified in the associated ABNFs, described in the specification. ...
... ABNFs, described in the specification. An implementation MAY add arbitrary non-mandatory AVPs to any command defined in an application, including vendor-specific AVPs ...
... AVPs to any command defined in an application, including vendor-specific AVPs. Please refer to Section 11.1.1 for details. ...
... error message is returned with the Result-Code AVP set to DIAMETER_UNABLE_TO_DELIVER. ...
... application layer, and is shared between an access device and a server, and is identified via the Session-Id AVP +--------+ +-------+ +--------+ ...
... identity Following the conventions described for the DiameterIdentity derived AVP data format in Section 4.4. This field contains the contents of the Origin-Host ...
... data format in Section 4.4. This field contains the contents of the Origin-Host (Section 6.3) AVP found in the CER or CEA message. ...
... route entry can have a different destination based on the application identification AVP of the message. This field MUST be used as a secondary key field in routing table lookups ...
... next hop server, without modifying any non-routing AVPs. See Section 6.1.8 for relaying guidelines 3. PROXY ...
... MUST be routed to a next hop server. The local server MAY apply its local policies to the message by including new AVPs to the message prior to routing. See Section 6.1.8 for ...
... compliance guidelines in Section 2. Relay agents MUST NOT reorder AVPs, and proxies MUST NOT reorder AVPs. ...
... AVPs, and proxies MUST NOT reorder AVPs. The routing table ...
... agent. Otherwise, an error is returned with the Result-Code AVP set to DIAMETER_UNABLE_TO_DELIVER. ...
... The Proxy-Info AVP allows stateless agents to add local state ...
... Diameter servers via the Session-Timeout AVP. Maintaining session ...
... confidentiality and message origin authentication. These services are provided by supporting AVP integrity and confidentiality ...
... - Use end-to-end security on messages containing sensitive AVPs. Which AVPs are sensitive is determined by service provider ...
... end-to-end security on messages containing sensitive AVPs. Which AVPs are sensitive is determined by service provider policy. AVPs ...
... AVPs are sensitive is determined by service provider policy. AVPs containing keys and passwords should be considered sensitive. Accounting AVPs ...
... AVPs containing keys and passwords should be considered sensitive. Accounting AVPs may be considered sensitive. Any AVP for which the P bit ...
... passwords should be considered sensitive. Accounting AVPs may be considered sensitive. Any AVP for which the P bit may be set or which may be encrypted ...
... agent MUST append a Route-Record AVP to all requests forwarded. The AVP contains the identity ...
... Route-Record AVP to all requests forwarded. The AVP contains the identity of the peer the request was received from. ...
... session, MUST check the Route-Record AVPs to make sure that the route traversed by the request is acceptable. For example, administrators ...
... authorizing a session, MUST check the Route-Record AVPs to make sure that the route traversed by the response is acceptable. At each ...


... Identifier | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVPs ... +-+-+-+-+-+-+-+-+-+-+-+-+- ...
... 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 ...
... hop-by-hop Identifier field and any routing AVPs that may be present), and MUST NOT affect any state that was set when the original request was ...
... consumed (see Section 6.2) SHOULD be silently discarded. AVPs AVPs are a method ...
... AVPs AVPs are a method of encapsulating information relevant to the Diameter ...
... method of encapsulating information relevant to the Diameter message. See Section 4 for more information on AVPs. ...
... Every Command Code defined MUST include a corresponding ABNF specification, which is used to define the AVPs that MUST or MAY be present. The following format is used in the definition: ...
... ; Flags is set, indicating that the answer ; message contains a Result-Code AVP in ; the "protocol error" class ...
... fixed = [qual] "<" avp-spec ">" ; Defines the fixed position of an AVP required = [qual] "{" avp-spec "}" ...
... required = [qual] "{" avp-spec "}" ; The AVP MUST be present and can appear ; anywhere in the message. ...
... optional = [qual] "[" avp-name "]" ; The avp-name in the 'optional' rule cannot ; evaluate to any AVP Name which is included ; in a fixed or required rule. The AVP can ...
... ; evaluate to any AVP Name which is included ; in a fixed or required rule. The AVP can ; appear anywhere in the message. ...
... ; it precedes a fixed, required, or optional ; rule. If a fixed or required rule has no ; qualifier, then exactly one such AVP MUST ; be present. If an optional rule has no ; qualifier, then 0 or 1 such AVP ...
... AVP MUST ; be present. If an optional rule has no ; qualifier, then 0 or 1 such AVP may be ; present. ; ...
... ; be present. The default value is infinity. A ; value of zero implies the AVP MUST NOT be ; present. ...
... avp-spec = diameter-name ; The avp-spec has to be an AVP Name, defined ; in the base or extended Diameter ...
... ; specifications. avp-name = avp-spec / "AVP" ; The string "AVP" stands for *any* arbitrary ...
... avp-name = avp-spec / "AVP" ; The string "AVP" stands for *any* arbitrary ; AVP Name, which does not conflict with the ...
... ; The string "AVP" stands for *any* arbitrary ; AVP Name, which does not conflict with the ; required or fixed position AVPs defined in ...
... ; AVP Name, which does not conflict with the ; required or fixed position AVPs defined in ; the command code definition. ...
... * { Origin-Host } * [ AVP ...
... request, known as redirect. Additional information, encoded within AVPs, MAY also be included in answer messages. ...


... Diameter AVPs ...
... Diameter AVPs carry specific authentication, accounting, ...
... configuration details for the request and reply. Some AVPs MAY be listed more than once. The effect of such an AVP is specific, and is specified in each case by the AVP ...
... Some AVPs MAY be listed more than once. The effect of such an AVP is specific, and is specified in each case by the AVP description. ...
... AVPs MAY be listed more than once. The effect of such an AVP is specific, and is specified in each case by the AVP description. Each AVP ...
... AVP description. Each AVP of type OctetString MUST be padded to align on a 32-bit ...
... OctetString MUST be padded to align on a 32-bit boundary, while other AVP types align naturally. A number of zero- valued bytes are added to the end of the AVP Data field ...
... boundary, while other AVP types align naturally. A number of zero- valued bytes are added to the end of the AVP Data field till a word boundary is reached. The length of the padding is not reflected in ...
... Data field till a word boundary is reached. The length of the padding is not reflected in the AVP Length field. ...
... AVP Header ...
... The fields in the AVP header MUST be sent in network byte order. The ...
... 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |V M P r r r r r| AVP ...
... AVP Code | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |V M P r r r r r| AVP Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Vendor ...
... +-+-+-+-+-+-+-+-+ AVP Code The AVP Code, combined with the Vendor ...
... AVP Code The AVP Code, combined with the Vendor-Id field, identifies the attribute uniquely. AVP ...
... AVP Code, combined with the Vendor-Id field, identifies the attribute uniquely. AVP numbers 1 through 255 are reserved for backward compatibility with RADIUS ...
... RADIUS, without setting the Vendor-Id field. AVP numbers 256 and above are used for Diameter, which are allocated by IANA ...
... IANA (see Section 11.1). AVP Flags The AVP Flags field ...
... AVP Flags The AVP Flags field informs the receiver how each attribute must ...
... Diameter applications MAY define additional bits within the AVP Header, and an unrecognized bit ...
... Bit, known as the Mandatory bit, indicates whether support of the AVP is required. If an AVP with the 'M' bit set is ...
... bit, indicates whether support of the AVP is required. If an AVP with the 'M' bit set is received by a Diameter ...
... proxy, or translation agent and either the AVP or its value is unrecognized, the message MUST be rejected. Diameter Relay and redirect agents ...
... Diameter Relay and redirect agents MUST NOT reject messages with unrecognized AVPs. The 'M' bit ...
... The 'M' bit MUST be set according to the rules defined for the AVP containing it. In order to preserve interoperability, a Diameter ...
... implementation MUST be able to exclude from a Diameter message any Mandatory AVP which is neither defined in the base Diameter protocol nor in any of the Diameter Application specifications ...
... of the following ways: 1) If a message is rejected because it contains a Mandatory AVP which is neither defined in the base Diameter standard nor in ...
... Diameter Application specifications governing the message in which it appears, the implementation may resend the message without the AVP, possibly inserting additional standard AVPs instead. ...
... message without the AVP, possibly inserting additional standard AVPs instead. 2) A configuration option may be provided on a system wide, per ...
... 2) A configuration option may be provided on a system wide, per peer, or per realm basis that would allow/prevent particular Mandatory AVPs to be sent. Thus an administrator could change the configuration to avoid interoperability ...
... Diameter implementations are required to support all Mandatory AVPs which are allowed by the message's formal syntax and defined either in the base Diameter ...
... Diameter Application specifications governing the message. AVPs with the 'M' bit cleared are informational only and a receiver ...
... bit cleared are informational only and a receiver that receives a message with such an AVP that is not supported, or whose value is not supported, MAY simply ignore the AVP ...
... AVP that is not supported, or whose value is not supported, MAY simply ignore the AVP. The 'V' bit ...
... bit, indicates whether the optional Vendor-ID field is present in the AVP header. When set the AVP Code ...
... AVP header. When set the AVP Code belongs to the specific vendor code address space. ...
... address space. Unless otherwise noted, AVPs will have the following default AVP Flags field ...
... Unless otherwise noted, AVPs will have the following default AVP Flags field settings: ...
... bit MUST NOT be set. AVP Length The AVP Length field is three octets, and indicates the number of ...
... AVP Length The AVP Length field is three octets, and indicates the number of octets in this AVP including the AVP Code ...
... The AVP Length field is three octets, and indicates the number of octets in this AVP including the AVP Code, AVP Length, AVP ...
... AVP Length field is three octets, and indicates the number of octets in this AVP including the AVP Code, AVP Length, AVP Flags, ...
... octets in this AVP including the AVP Code, AVP Length, AVP Flags, Vendor ...
... AVP including the AVP Code, AVP Length, AVP Flags, Vendor-ID field (if present) and the AVP ...
... AVP Flags, Vendor-ID field (if present) and the AVP data. If a message is received with an invalid attribute length, the message SHOULD be rejected. ...
... The AVP Header contains one optional field. This field is only present if the respective bit ...
... The Vendor-ID field is present if the 'V' bit is set in the AVP Flags field. The optional four-octet Vendor ...
... wishing to implement a vendor-specific Diameter AVP MUST use their own Vendor-ID along with their privately managed AVP ...
... 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 ...
... vendor's vendor-specific AVP(s), nor with future IETF applications. ...
... A vendor ID value of zero (0) corresponds to the IETF adopted AVP values, as managed by the IANA. Since the absence of the vendor ID field implies that the AVP ...
... AVP values, as managed by the IANA. Since the absence of the vendor ID field implies that the AVP in question is not vendor specific, implementations MUST NOT use the zero (0) vendor ID ...
... Basic AVP Data Formats ...
... specific to the Attribute. The format and length of the Data field is determined by the AVP Code and AVP Length fields. The format of the Data field ...
... Data field is determined by the AVP Code and AVP Length fields. The format of the Data field MUST be one of the following base data types or a data type ...
... Data field MUST be one of the following base data types or a data type derived from the base data types. In the event that a new Basic AVP Data Format is needed, a new version of this RFC must be created ...
... OctetString The data contains arbitrary data of variable length. Unless otherwise noted, the AVP Length field MUST be set to at least 8 (12 if the 'V' bit is enabled). AVP Values ...
... AVP Length field MUST be set to at least 8 (12 if the 'V' bit is enabled). AVP Values of this type that are not a multiple of four-octets in length is followed by the necessary padding so that the next AVP ...
... AVP Values of this type that are not a multiple of four-octets in length is followed by the necessary padding so that the next AVP (if any) will start on a 32-bit ...
... 32 bit signed value, in network byte order. The AVP Length field MUST be set to 12 (16 if the 'V' bit is enabled). ...
... 64 bit signed value, in network byte order. The AVP Length field MUST be set to 16 (20 if the 'V' bit is enabled). ...
... 32 bit unsigned value, in network byte order. The AVP Length field MUST be set to 12 (16 if the 'V' bit is enabled). ...
... 64 bit unsigned value, in network byte order. The AVP Length field MUST be set to 16 (20 if the 'V' bit is enabled). ...
... 32-bit value is transmitted in network byte order. The AVP Length field MUST be set to 12 (16 if the 'V' bit is enabled). ...
... 64-bit value is transmitted in network byte order. The AVP Length field MUST be set to 16 (20 if the 'V' bit is enabled). ...
... Grouped The Data field is specified as a sequence of AVPs. Each of these AVPs follows - in the order in which they are specified - ...
... Data field is specified as a sequence of AVPs. Each of these AVPs follows - in the order in which they are specified - including their headers and padding. The AVP ...
... AVPs follows - in the order in which they are specified - including their headers and padding. The AVP Length field is set to 8 (12 if the 'V' bit is enabled) plus the total length of all ...
... to 8 (12 if the 'V' bit is enabled) plus the total length of all included AVPs, including their headers and padding. Thus the AVP ...
... included AVPs, including their headers and padding. Thus the AVP length field of an AVP of type Grouped is always a multiple of 4. ...
... headers and padding. Thus the AVP length field of an AVP of type Grouped is always a multiple of 4. ...
... Derived AVP Data Formats ...
... In addition to using the Basic AVP Data Formats, applications may define data formats ...
... Data Formats, applications may define data formats derived from the Basic AVP Data Formats. An application that defines new AVP ...
... AVP Data Formats. An application that defines new AVP Derived Data Formats MUST include them in a section entitled "AVP ...
... AVP Derived Data Formats MUST include them in a section entitled "AVP Derived Data Formats", using the same format as the definitions below. Each new definition must be either ...
... format. The below AVP Derived Data Formats are commonly used by applications. ...
... The Address format is derived from the OctetString AVP Base Format. It is a discriminated union, representing, for example a 32-bit ...
... Address AVP represents the AddressType, which contains an Address Family defined in [IANAADFAM ...
... Time The Time format is derived from the OctetString AVP Base Format. The string MUST contain four octets, in the same format as the first four bytes are in the NTP timestamp format ...
... UTF8String The UTF8String format is derived from the OctetString AVP Base Format. This is a human readable string represented using the ISO/IEC ...
... different from the number of characters encoded. Note that the AVP Length field of an UTF8String is measured in octets, not characters. ...
... DiameterIdentity The DiameterIdentity format is derived from the OctetString AVP Base Format. ...
... Enumerated Enumerated is derived from the Integer32 AVP Base Format. The definition contains a list of valid values and their ...
... interpretation and is described in the Diameter application introducing the AVP. IPFilterRule ...
... IPFilterRule The IPFilterRule format is derived from the OctetString AVP Base Format. It uses the ASCII charset ...
... QoSFilterRule The QosFilterRule format is derived from the OctetString AVP Base Format. It uses the ASCII charset ...
... Grouped AVP Values ...
... The Diameter protocol allows AVP values of type 'Grouped.' This implies that the Data field is actually a sequence of AVPs ...
... AVP values of type 'Grouped.' This implies that the Data field is actually a sequence of AVPs. It is possible to include an AVP with a Grouped type within a Grouped type, ...
... Data field is actually a sequence of AVPs. It is possible to include an AVP with a Grouped type within a Grouped type, that is, to nest them. AVPs within an AVP ...
... possible to include an AVP with a Grouped type within a Grouped type, that is, to nest them. AVPs within an AVP of type Grouped have the same padding requirements ...
... AVP with a Grouped type within a Grouped type, that is, to nest them. AVPs within an AVP of type Grouped have the same padding requirements as non-Grouped AVPs ...
... AVP of type Grouped have the same padding requirements as non-Grouped AVPs, as defined in Section 4. ...
... 4. The AVP Code numbering space of all AVPs included in a Grouped AVP ...
... The AVP Code numbering space of all AVPs included in a Grouped AVP is the same as for non-grouped AVPs ...
... AVP Code numbering space of all AVPs included in a Grouped AVP is the same as for non-grouped AVPs. Further, if any of the AVPs ...
... AVPs included in a Grouped AVP is the same as for non-grouped AVPs. Further, if any of the AVPs encapsulated ...
... AVP is the same as for non-grouped AVPs. Further, if any of the AVPs encapsulated within a Grouped AVP ...
... AVPs encapsulated within a Grouped AVP has the 'M' (mandatory) bit set, the Grouped AVP ...
... AVP has the 'M' (mandatory) bit set, the Grouped AVP itself MUST also include the 'M' bit set. ...
... bit set. Every Grouped AVP defined MUST include a corresponding grammar, using ABNF [ABNF ...
... name = name-fmt ; The name has to be the name of an AVP, ; defined in the base or extended Diameter ...
... header = "<" "AVP-Header:" avpcode [vendor] ">" ...
... avpcode = 1*DIGIT ; The AVP Code assigned to the Grouped AVP ...
... DIGIT ; The AVP Code assigned to the Grouped AVP vendor ...
... DIGIT ; The Vendor-ID assigned to the Grouped AVP. ; If absent, the default value of zero is ...
... Example AVP with a Grouped Data type ...
... The Example-AVP (AVP Code 999999) is of type Grouped and is used to clarify how Grouped AVP values ...
... The Example-AVP (AVP Code 999999) is of type Grouped and is used to clarify how Grouped AVP values work. The Grouped Data field ...
... AVP (AVP Code 999999) is of type Grouped and is used to clarify how Grouped AVP values work. The Grouped Data field has the following ABNF grammar ...
... ABNF grammar: Example-AVP ::= < AVP Header: 999999 > ...
... Example-AVP ::= < AVP Header: 999999 > { Origin-Host ...
... 1*{ Session-Id } *[ AVP ] An Example-AVP ...
... AVP ] An Example-AVP with Grouped Data follows. The Origin-Host ...
... The Origin-Host AVP is required (Section 6.3). In this case: Origin-Host ...
... "grump.example.com:33054;23561;2358;0AF3B82" optional AVPs included are Recovery-Policy = <binary> ...
... d3427475e49968f841 The data for the optional AVPs is represented in hex since the format of these AVPs is neither known at the time of definition of the ...
... The data for the optional AVPs is represented in hex since the format of these AVPs is neither known at the time of definition of the Example-AVP group ...
... of these AVPs is neither known at the time of definition of the Example-AVP group, nor (likely) at the time when the example instance of this AVP ...
... AVP group, nor (likely) at the time when the example instance of this AVP is interpreted - except by Diameter implementations which support the same set of AVPs ...
... AVP is interpreted - except by Diameter implementations which support the same set of AVPs. The encoding example illustrates how padding is used and how length fields are calculated. Also note that ...
... encoding example illustrates how padding is used and how length fields are calculated. Also note that AVPs may be present in the Grouped AVP value which the receiver ...
... padding is used and how length fields are calculated. Also note that AVPs may be present in the Grouped AVP value which the receiver cannot interpret (here, the Recover-Policy and Futuristic-Acct-Record ...
... receiver cannot interpret (here, the Recover-Policy and Futuristic-Acct-Record AVPs). This AVP ...
... AVPs). This AVP would be encoded as follows: 0 1 2 3 4 5 6 7 ...
... 0 1 2 3 4 5 6 7 +-------+-------+-------+-------+-------+-------+-------+-------+ 0 | Example AVP Header (AVP Code = 999999), Length = 468 | ...
... 0 | Example AVP Header (AVP Code = 999999), Length = 468 | +-------+-------+-------+-------+-------+-------+-------+-------+ 8 | Origin-Host ...
... +-------+-------+-------+-------+-------+-------+-------+-------+ 8 | Origin-Host AVP Header (AVP Code = 264), Length = 19 | ...
... Origin-Host AVP Header (AVP Code = 264), Length = 19 | +-------+-------+-------+-------+-------+-------+-------+-------+ 16 | 'e' | 'x' | 'a' | 'm' | 'p' | 'l' | 'e' | '.' | ...
... +-------+-------+-------+-------+-------+-------+-------+-------+ 24 | 'c' | 'o' | 'm' |Padding| Session-Id AVP Header | +-------+-------+-------+-------+-------+-------+-------+-------+ ...
... Header | +-------+-------+-------+-------+-------+-------+-------+-------+ 32 | (AVP Code = 263), Length = 50 | 'g' | 'r' | 'u' | 'm' | +-------+-------+-------+-------+-------+-------+-------+-------+ . . . ...
... +-------+-------+-------+-------+-------+-------+-------+-------+ 72 | Session-Id AVP Header (AVP Code = 263), Length = 51 | ...
... Session-Id AVP Header (AVP Code = 263), Length = 51 | +-------+-------+-------+-------+-------+-------+-------+-------+ 80 | 'g' | 'r' | 'u' | 'm' | 'p' | '.' | 'e' | 'x' | ...
... +-------+-------+-------+-------+-------+-------+-------+-------+ 112 | Recovery-Policy Header (AVP Code = 8341), Length = 223 | +-------+-------+-------+-------+-------+-------+-------+-------+ 120 | 0x21 | 0x63 | 0xbc | 0x1d | 0x0a | 0xd8 | 0x23 | 0x71 | ...
... +-------+-------+-------+-------+-------+-------+-------+-------+ 328 | Futuristic-Acct-Record Header (AVP Code = 15930), Length = 137| +-------+-------+-------+-------+-------+-------+-------+-------+ 336 | 0xfe | 0x19 | 0xda | 0x58 | 0x02 | 0xac | 0xd9 | 0x8b | ...
... Diameter Base Protocol AVPs ...
... The following table describes the Diameter AVPs defined in the base protocol, their AVP Code values, types, possible flag values and ...
... Diameter AVPs defined in the base protocol, their AVP Code values, types, possible flag values and whether the AVP MAY be encrypted ...
... base protocol, their AVP Code values, types, possible flag values and whether the AVP MAY be encrypted. For the originator of a Diameter ...
... message, "Encr" (Encryption) means that if a message containing that AVP is to be sent via a Diameter agent (proxy ...
... integrity / confidentiality protection is offered for this AVP OR the originator has locally trusted configuration that indicates that end-to-end security ...
... Diameter message, a "P" in the "MAY" column means that if a message containing that AVP is to be sent via a Diameter agent (proxy ...
... +---------------------+ | AVP Flag rules | |----+-----+----+-----|----+ AVP ...
... AVP Flag rules | |----+-----+----+-----|----+ AVP Section | | |SHLD| MUST| | Attribute Name Code Defined Data Type ...
... Realm | | | | | | Disconnect-Cause 273 5.4.3 Enumerated | M | P | | V | N | E2E-Sequence AVP 300 6.15 Grouped | M | P | | V | Y | Error-Message 281 7.3 UTF8String | | P | | V,M | N | ...
... +---------------------+ | AVP Flag rules | |----+-----+----+-----|----+ AVP ...
... AVP Flag rules | |----+-----+----+-----|----+ AVP Section | | |SHLD| MUST|MAY | Attribute Name Code Defined Data Type ...
... Result-Code | | | | | | Failed-AVP 279 7.5 Grouped | M | P | | V | N | Firmware- 267 5.3.4 Unsigned32 | | | |P,V,M| N | ...


... Diameter node MUST cache the supported applications in order to ensure that unrecognized commands and/or AVPs are not unnecessarily sent to a peer. ...
... sender MUST return a Capabilities-Exchange-Answer (CEA) with the Result-Code AVP set to DIAMETER_NO ...
... MUST return a Capabilities-Exchange-Answer (CEA) with the Result-Code AVP set to DIAMETER_NO_COMMON_SECURITY ...
... CERs received from unknown peers MAY be silently discarded, or a CEA MAY be issued with the Result-Code AVP set to DIAMETER_UNKNOWN_PEER. In both cases, the transport connection ...
... bit is set in the answer message (see Section 7.) with the Result-Code AVP set to DIAMETER_UNABLE_TO_DELIVER to inform the downstream ...
... Auth-Application-Id or Acct-Application-Id AVPs, or a message with an application-specific command code, MAY only be forwarded to a host ...
... IP- Address AVP for each potential IP address that MAY be locally used when transmitting ...
... Vendor-Specific-Application-Id ] [ Firmware-Revision ] * [ AVP ] ...
... Host-IP-Address AVP for each potential IP address that MAY be locally used when transmitting ...
... [ Error-Message ] * [ Failed-AVP ] * [ Supported-Vendor-Id ] ...
... Vendor-Specific-Application-Id ] [ Firmware-Revision ] * [ AVP ] ...
... Vendor-Id AVP ...
... The Vendor-Id AVP (AVP Code 266) is of type Unsigned32 and contains ...
... The Vendor-Id AVP (AVP Code 266) is of type Unsigned32 and contains the IANA ...
... Diameter application. In combination with the Supported-Vendor-Id AVP (Section 5.3.6), this MAY be used in order to know which vendor specific attributes may be ...
... Vendor-Id, Product-Name (Section 5.3.7) and the Firmware-Revision (Section 5.3.4) AVPs MAY provide very useful debugging information. A Vendor ...
... Firmware-Revision AVP ...
... The Firmware-Revision AVP (AVP Code 267) is of type Unsigned32 and is ...
... The Firmware-Revision