RFC 3588:Diameter Base Protocol
RFC-Ref

Diameter


Click on the red underlined text to get to the source

... RADIUS] does not define failover mechanisms, and as a result, failover behavior differs between implementations. In order to provide well defined failover behavior, Diameter supports application-layer acknowledgements, and defines failover ...
... deployments, IPsec support is mandatory in Diameter, and TLS support is optional. Security ...
... packet loss may translate directly into revenue loss. In order to provide well defined transport behavior, Diameter runs over reliable transport mechanisms (TCP ...
... Proxies, Redirects and Relays. Since the expected behavior is not defined, it varies between implementations. Diameter defines agent behavior explicitly; this is described in Section 2.8. ...
... deployment. Support for server-initiated messages is mandatory in Diameter, and is described in Section 8. Auditability ...
... data object security is not mandatory within Diameter, these capabilities are supported, and are described in [AAACMS]. ...
... Transition support While Diameter does not share a common protocol data unit (PDU) ...
... be deployed in the same network. Initially, it is expected that Diameter will be deployed within new network devices, as well as within gateways ...
... gateways enabling communication between legacy RADIUS devices and Diameter agents. This capability, described in [NASREQ ...
... agents. This capability, described in [NASREQ], enables Diameter support to be added to legacy networks, by addition of a gateway ...
... gateway or server speaking both RADIUS and Diameter. In addition to addressing ...
... In addition to addressing the above requirements, Diameter also provides support for the following: ...
... service, or in some cases, even be aware of what service has been implemented. Diameter includes support for error handling (Section 7), capability negotiation (Section 5.3), and ...
... temporally unique as required in [RADIUS]. Through DNS, Diameter enables dynamic discovery of peers. Derivation of dynamic session keys is enabled via transmission-level security ...
... layer security (Section 13) features, Diameter addresses these limitations and provides for secure and scalable roaming ...
... Network Access Server (NAS) devices have increased substantially. As a result, while Diameter is a considerably more sophisticated protocol than RADIUS, it remains feasible to implement ...
... Diameter Protocol ...
... The Diameter base protocol provides the following facilities: ...
... AVP. Some of these AVP values are used by the Diameter protocol itself, while others deliver data associated with particular applications that employ Diameter ...
... Diameter protocol itself, while others deliver data associated with particular applications that employ Diameter. AVPs may be added arbitrarily to Diameter messages, ...
... employ Diameter. AVPs may be added arbitrarily to Diameter messages, so long as the required AVPs are included and AVPs ...
... explicitly excluded are not included. AVPs are used by the base Diameter protocol to support the following required features: - Transporting of user authentication ...
... - Transporting of user authentication information, for the purposes of enabling the Diameter server to authenticate the user. - Transporting of service ...
... accounting purposes, capacity planning, etc. - Relaying, proxying and redirecting of Diameter messages through a server hierarchy. ...
... server hierarchy. The Diameter base protocol provides the minimum requirements needed ...
... be used by itself for accounting purposes only, or it may be used with a Diameter application, such as Mobile IPv4 [DIAMMIP], or ...
... 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 applications. A truly generic AAA protocol ...
... AAA protocol used by many applications might provide functionality not provided by Diameter. Therefore, it is imperative that the designers of new applications understand their requirements before using Diameter ...
... Diameter. Therefore, it is imperative that the designers of new applications understand their requirements before using Diameter. See Section 2.4 for more information on Diameter applications ...
... Diameter. See Section 2.4 for more information on Diameter applications. Any node ...
... Any node can initiate a request. In that sense, Diameter is a peer- to-peer protocol. In this document, a Diameter Client ...
... node can initiate a request. In that sense, Diameter is a peer- to-peer protocol. In this document, a Diameter Client is a device at the edge ...
... NAS) or a Foreign Agent (FA). A Diameter client generates Diameter ...
... Diameter client generates Diameter messages to request authentication, authorization, and accounting services for the user. A Diameter ...
... Diameter messages to request authentication, authorization, and accounting services for the user. A Diameter agent is a node ...
... proxies, redirects and relay agents. A Diameter server performs authentication and/or authorization of the ...
... authentication and/or authorization of the user. A Diameter node MAY act as an agent for certain requests while acting as a server for others. ...
... acting as a server for others. The Diameter protocol also supports server-initiated messages, such as a request to abort service to a particular user. ...
... Currently, the Diameter specification consists of a base specification (this document), Transport Profile ...
... issues that arise with AAA protocols and recommendations on how to overcome these issues. This document also defines the Diameter failover algorithm and state machine ...
... The Mobile IPv4 [DIAMMIP] application defines a Diameter application that allows a Diameter server to perform AAA ...
... DIAMMIP] application defines a Diameter application that allows a Diameter server to perform AAA functions for Mobile IPv4 services ...
... The NASREQ [NASREQ] application defines a Diameter Application that allows a Diameter server to be used in a PPP ...
... NASREQ] application defines a Diameter Application that allows a Diameter server to be used in a PPP/SLIP Dial-Up ...
... Terminal Server Access environment. Consideration was given for servers that need to perform protocol conversion between Diameter and RADIUS. ...
... The Diameter protocol is designed to be extensible, using several mechanisms, including: ...
... Reuse of existing AVP values, AVPs and Diameter applications are strongly recommended. Reuse simplifies standardization and implementation and avoids potential interoperability ...
... AVP value. IANA considerations for Diameter are discussed in Section 11. ...
... Every Diameter application specification MUST have an IANA assigned Application Identifier ...
... Application Identifier. Should a new Diameter usage scenario find itself unable to fit within an existing application without requiring major changes to the specification, it may be desirable to create ...
... an existing application without requiring major changes to the specification, it may be desirable to create a new Diameter application. Major changes to an application include: - Adding new AVPs ...
... AVPs for use with the application. Since a new EAP authentication method can be supported within Diameter without requiring new AVPs, addition of EAP ...
... In order to justify allocation of a new application identifier, Diameter applications MUST define one Command Code, or add new mandatory AVPs to the ABNF ...
... 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 ...
... accounting requirements, it MUST also specify the AVPs that are to be present in the Diameter Accounting messages (see Section 9.3). However, just because a new authentication application id is required, does not ...
... accounting application id is required. When possible, a new Diameter application SHOULD reuse existing Diameter AVPs ...
... When possible, a new Diameter application SHOULD reuse existing Diameter AVPs, in order to avoid defining multiple AVPs that carry ...
... There are services that only require Diameter accounting. Such services ...
... Application Identifiers are still required for Diameter capability exchange. Every Diameter accounting ...
... Identifiers are still required for Diameter capability exchange. Every Diameter accounting application specification MUST have an IANA ...
... Application Identifier. Every Diameter implementation MUST support accounting. Basic accounting ...
... if the "M" bit is set when the same AVP is used within other Diameter commands (i.e., authentication/authorization commands). ...
... authorization commands). A DIAMETER base accounting implementation MUST be configurable to advertise supported accounting ...
... accounting server. When possible, a new Diameter accounting application SHOULD attempt to reuse existing AVPs ...
... AVP The Diameter protocol consists of a header followed by one or more Attribute-Value-Pairs (AVPs ...
... agents. Diameter Agent A Diameter ...
... Diameter Agent A Diameter Agent is a Diameter node that provides either relay, ...
... A Diameter Agent is a Diameter node that provides either relay, proxy, redirect or translation services ...
... services. Diameter Client A Diameter ...
... Diameter Client A Diameter Client is a device at the edge of the network ...
... network that performs access control. An example of a Diameter client is a Network Access Server ...
... FA). Diameter Node A Diameter node is a host ...
... Diameter Node A Diameter node is a host process that implements the Diameter protocol, and acts either as a Client ...
... A Diameter node is a host process that implements the Diameter protocol, and acts either as a Client, Agent or Server. ...
... Agent or Server. Diameter Peer A Diameter Peer is a Diameter Node ...
... Diameter Peer A Diameter Peer is a Diameter Node to which a given Diameter Node ...
... Diameter Peer A Diameter Peer is a Diameter Node to which a given Diameter Node has a direct transport connection ...
... A Diameter Peer is a Diameter Node to which a given Diameter Node has a direct transport connection. ...
... transport connection. Diameter Security Exchange A Diameter ...
... Diameter Security Exchange A Diameter Security Exchange is a process through which two Diameter nodes ...
... Diameter Security Exchange is a process through which two Diameter nodes establish end-to-end security. ...
... end-to-end security. Diameter Server A Diameter Server is one that handles authentication ...
... Diameter Server A Diameter Server is one that handles authentication, authorization ...
... 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. ...
... accounting requests for a particular realm. By its very nature, a Diameter Server MUST support Diameter applications in addition to the base protocol. ...
... Downstream is used to identify the direction of a particular Diameter message from the home server towards the access device. ...
... proxy are involved, this hop-by-hop security does not protect the entire Diameter user session. End-to-end security ...
... session. End-to-end security is security between two Diameter nodes, possibly communicating through Diameter Agents. This ...
... End-to-end security is security between two Diameter nodes, possibly communicating through Diameter Agents. This security ...
... Agents. This security protects the entire Diameter communications path from the originating Diameter node to the terminating Diameter node ...
... security protects the entire Diameter communications path from the originating Diameter node to the terminating Diameter node. ...
... Diameter communications path from the originating Diameter node to the terminating Diameter node. Home Realm ...
... Home Server See Diameter Server. Interim accounting ...
... NAI [NAI], is used in the Diameter protocol to extract a user's identity and realm. The identity ...
... proxies need to understand the semantics of the messages passing through them, and may not support all Diameter applications. Realm ...
... 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 ...
... routing AVPs, and are capable of handling any Diameter application or message type. Since relays make decisions based on information in routing ...
... association between two endpoints in a Diameter session which allows the endpoints to communicate with ...
... particular activity. Each application SHOULD provide guidelines as to when a session begins and ends. All Diameter packets with the same Session-Identifier ...
... Transaction state The Diameter protocol requires that agents maintain transaction ...
... Agent A translation agent is a stateful Diameter node that performs protocol translation between Diameter ...
... Diameter node that performs protocol translation between Diameter and another AAA protocol, such as RADIUS ...
... SCTP connection existing directly between two Diameter peers, otherwise known as a Peer- to-Peer Connection. ...
... Upstream is used to identify the direction of a particular Diameter message from the access device towards the home server. ...
... The entity requesting or using some resource, in support of which a Diameter client has generated a request. ...


... The base Diameter protocol may be used by itself for accounting applications, but for use in authentication ...
... authentication and authorization it is always extended for a particular application. Two Diameter applications are defined by companion documents: NASREQ [NASREQ], ...
... Mobile IPv4 [DIAMMIP]. These applications are introduced in this document but specified elsewhere. Additional Diameter applications MAY be defined in the future (see Section 11.3). ...
... MAY be defined in the future (see Section 11.3). Diameter Clients MUST support the base protocol, which includes ...
... base protocol, which includes accounting. In addition, they MUST fully support each Diameter application that is needed to implement the client's service, e.g., ...
... NASREQ and/or Mobile IPv4. A Diameter Client that does not support both NASREQ ...
... both NASREQ and Mobile IPv4, MUST be referred to as "Diameter X Client" where X is the application which it supports, and not a ...
... Client" where X is the application which it supports, and not a "Diameter Client". ...
... Client". Diameter Servers MUST support the base protocol, which includes accounting ...
... base protocol, which includes accounting. In addition, they MUST fully support each Diameter application that is needed to implement the intended service, e.g., NASREQ ...
... NASREQ and/or Mobile IPv4. A Diameter Server that does not support both NASREQ and Mobile IPv4 ...
... both NASREQ and Mobile IPv4, MUST be referred to as "Diameter X Server" where X is the application which it supports, and not a "Diameter Server ...
... Diameter X Server" where X is the application which it supports, and not a "Diameter Server". Diameter ...
... Diameter Server". Diameter Relays and redirect agents are, by definition, protocol transparent, and MUST transparently support the Diameter ...
... Diameter Relays and redirect agents are, by definition, protocol transparent, and MUST transparently support the Diameter base protocol, which includes accounting, and all Diameter applications ...
... Diameter base protocol, which includes accounting, and all Diameter applications. Diameter ...
... Diameter applications. Diameter proxies MUST support the base protocol, which includes ...
... base protocol, which includes accounting. In addition, they MUST fully support each Diameter application that is needed to implement proxied services, e.g., NASREQ ...
... NASREQ and/or Mobile IPv4. A Diameter proxy which does not support also both NASREQ ...
... also both NASREQ and Mobile IPv4, MUST be referred to as "Diameter X Proxy" where X is the application which it supports, and not a ...
... Proxy" where X is the application which it supports, and not a "Diameter Proxy". ...
... Proxy". The base Diameter protocol concerns itself with capabilities negotiation, how messages are sent and how peers may eventually be ...
... abandoned. The base protocol also defines certain rules that apply to all exchanges of messages between Diameter nodes. Communication between Diameter ...
... Diameter nodes. Communication between Diameter peers begins with one peer sending a message to another Diameter peer. The set of AVPs ...
... Communication between 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 ...
... Diameter peer. The set of AVPs included in the message is determined by a particular Diameter application. One AVP that is included to reference a user's session ...
... set to indicate an error occurred. The specific behavior of the Diameter server or client receiving a request depends on the Diameter application ...
... Diameter server or client receiving a request depends on the Diameter application employed. Session ...
... Session-Timeout AVP, and according to rules established in a particular Diameter application. ...
... AAATRANS]. The base Diameter protocol is run on port 3868 of both TCP [TCP ...
... transport protocols. Diameter clients MUST support either TCP or SCTP ...
... SCTP. A Diameter node MAY initiate connections from a source port other ...
... connections on port 3868. A given Diameter instance of the peer state machine MUST NOT use more than one transport connection ...
... 5.2 for more information on peer discovery. Diameter implementations SHOULD be able to interpret ICMP protocol port ...
... subject to security policy on trusting such messages. Diameter implementations SHOULD also be able to interpret a reset from the transport and timed-out connection ...
... connection attempts. If Diameter receives data up from TCP that cannot be parsed or identified as a Diameter ...
... Diameter receives data up from TCP that cannot be parsed or identified as a Diameter error made by the peer, the stream is compromised and cannot be recovered. The transport connection ...
... The following are guidelines for Diameter implementations that support SCTP: ...
... 1. For interoperability: All Diameter nodes MUST be prepared to receive Diameter messages on any SCTP stream ...
... interoperability: All Diameter nodes MUST be prepared to receive Diameter messages on any SCTP stream in the association. ...
... association. 2. To prevent blocking: All Diameter nodes SHOULD utilize all SCTP streams available to the association ...
... Securing Diameter Messages ...
... Diameter clients, such as Network Access Servers (NASes ...
... TLS [TLS]. Diameter servers MUST support TLS and IPsec. The Diameter protocol ...
... Diameter servers MUST support TLS and IPsec. The Diameter protocol MUST NOT be used without any security mechanism (TLS ...
... Diameter Application Compliance ...
... Each Diameter application MUST have an IANA assigned Application Identifier (see Section 11.3). The base protocol ...
... Application Identifier since its support is mandatory. During the capabilities exchange, Diameter nodes inform their peers of locally supported applications. Furthermore, all Diameter messages contain ...
... capabilities exchange, Diameter nodes inform their peers of locally supported applications. Furthermore, all Diameter messages contain an Application Identifier, which is used in the message forwarding ...
... Application Identifier values are defined: Diameter Common Messages 0 NASREQ 1 [NASREQ ...
... IP 2 [DIAMMIP] Diameter Base Accounting 3 Relay 0xffffffff ...
... Relay and redirect agents MUST advertise the Relay Application Identifier, while all other Diameter nodes MUST advertise locally supported applications. The receiver of a Capabilities Exchange ...
... supports all current and future applications. Diameter relay and proxy agents are responsible for finding an ...
... Result-Code AVP set to DIAMETER_UNABLE_TO_DELIVER. ...
... transport level connection between two peers, used to send and receive Diameter messages. A session is a logical concept at the application layer ...
... session x Figure 1: Diameter connections and sessions ...
... connection and a session, and that Diameter messages for multiple sessions are all multiplexed through a single connection ...
... The Diameter Peer Table is used in message forwarding, and referenced by the Realm Routing Table ...
... vendor id and an application id. For all IETF standards track Diameter applications, the vendor id is zero. A route entry ...
... treated. The following actions are supported: 1. LOCAL - Diameter messages that resolve to a route entry with the Local Action set to Local can be satisfied locally, and do ...
... not need to be routed to another server. 2. RELAY - All Diameter messages that fall within this category MUST be routed to a next hop server, without modifying any ...
... 3. PROXY - All Diameter messages that fall within this category MUST be routed to a next hop server. The local server MAY ...
... proxying guidelines. 4. REDIRECT - Diameter messages that fall within this category MUST have the identity of the home Diameter server ...
... Diameter messages that fall within this category MUST have the identity of the home Diameter server(s) appended, and returned to the sender of the message. See Section 6.1.7 ...
... entry expires. It is important to note that Diameter agents MUST support at least one of the LOCAL, RELAY, PROXY ...
... Result-Code AVP set to DIAMETER_UNABLE_TO_DELIVER. ...
... Role of Diameter Agents ...
... In addition to client and servers, the Diameter protocol introduces relay, proxy, redirect, and translation agents ...
... proxy, redirect, and translation agents, each of which is defined in Section 1.3. These Diameter agents are useful for several reasons: ...
... target. The Diameter protocol requires that agents maintain transaction ...
... agents to add local state to a Diameter request, with the guarantee that the same state will be present in the answer. However, the protocol's failover procedures ...
... authorized session has an expiration, which is communicated by Diameter servers via the Session-Timeout AVP. ...
... - Protocol translation (e.g., RADIUS <-> Diameter) - Limiting resources authorized to a particular user ...
... transaction auditing A Diameter agent MAY act in a stateful manner for some requests and be stateless ...
... agent MAY act in a stateful manner for some requests and be stateless for others. A Diameter implementation MAY act as one type of agent for some requests, and as another type of agent ...
... Relay Agents are Diameter agents that accept requests and route ...
... agents that accept requests and route messages to other Diameter nodes based on information found in the messages (e.g., Destination-Realm). This routing ...
... configured with the necessary security information they would otherwise require to communicate with Diameter servers in other realms. Likewise, this reduces the configuration load on Diameter ...
... otherwise require to communicate with Diameter servers in other realms. Likewise, this reduces the configuration load on Diameter servers that would otherwise be necessary when NASes are added, ...
... deleted. Relays modify Diameter messages by inserting and removing routing information, but do not modify any other portion of a message. ...
... example.net example.net example.com Figure 2: Relaying of Diameter messages The example provided in Figure 2 depicts a request issued from NAS ...
... which is an access device, for the user bob@example.com. Prior to issuing the request, NAS performs a Diameter route lookup, using ...
... lookup, using "example.com" as the key, and determines that the message is to be relayed to DRL, which is a Diameter Relay. DRL performs the same route lookup ...
... lookup as NAS, and relays the message to HMS, which is example.com's Home Diameter Server. HMS identifies that the request can be locally supported (via the realm), processes the authentication ...
... Since Relays do not perform any application level processing, they provide relaying services for all Diameter applications, and therefore MUST advertise the Relay Application Identifier. ...
... proxy agents route Diameter messages using the Diameter Routing Table ...
... route Diameter messages using the Diameter Routing Table. However, they differ since they modify messages to implement policy enforcement. This requires that proxies ...
... service being provided, Proxies MUST only advertise the Diameter applications they support. ...
... Redirect agents are useful in scenarios where the Diameter routing configuration needs to be centralized. An example is a redirect ...
... Since redirect agents do not relay messages, and only return an answer with the information necessary for Diameter agents to communicate directly, they do not modify messages. Since redirect ...
... NAS to its relay, DRL, which does not have a routing entry in its Diameter Routing Table for example.com. DRL has a default route ...
... example.net example.net example.com Figure 3: Redirecting a Diameter Message Since redirect agents ...
... agents do not perform any application level processing, they provide relaying services for all Diameter applications, and therefore MUST advertise the Relay Application Identifier. ...
... agent is a device that provides translation between two protocols (e.g., RADIUS<->Diameter, TACACS+<->Diameter). Translation ...
... RADIUS<->Diameter, TACACS+<->Diameter). Translation agents are likely to be used as aggregation ...
... agents are likely to be used as aggregation servers to communicate with a Diameter infrastructure, while allowing for the embedded systems to be migrated at a slower pace. ...
... systems to be migrated at a slower pace. Given that the Diameter protocol introduces the concept of long-lived authorized sessions, translation agents ...
... +------+ ---------> +------+ ---------> +------+ | | RADIUS Request | | Diameter Request | | | NAS | | TLA | | HMS | ...
... NAS | | TLA | | HMS | | | RADIUS Answer | | Diameter Answer | | +------+ <--------- +------+ <--------- +------+ example.net example.net example.com ...
... Figure 4: Translation of RADIUS to Diameter ...
... subject of standardization, may be applied by next hop Diameter peer or by destination realm. For example, where TLS ...
... end-to-end security. It is strongly RECOMMENDED that all Diameter implementations support end-to-end security. ...
... Diameter Path Authorization ...
... As noted in Section 2.2, Diameter requires transmission level security to be used on each connection ...
... session MUST also be authorized. Before initiating a connection, a Diameter Peer MUST check that its peers are authorized to act in their roles. For example, a Diameter ...
... Diameter Peer MUST check that its peers are authorized to act in their roles. For example, a Diameter peer may be authentic, but that does not mean that it is authorized to act as a Diameter Server ...
... Diameter peer may be authentic, but that does not mean that it is authorized to act as a Diameter Server advertising a set of Diameter applications. ...
... may be authentic, but that does not mean that it is authorized to act as a Diameter Server advertising a set of Diameter applications. Prior to bringing up a connection ...
... authorization checks are performed at each connection along the path. Diameter capabilities negotiation (CER ...
... (CER/CEA) also MUST be carried out, in order to determine what Diameter applications are supported by each peer. Diameter sessions ...
... CER/CEA) also MUST be carried out, in order to determine what Diameter applications are supported by each peer. Diameter sessions MUST be routed only through authorized nodes ...
... MUST be routed only through authorized nodes that have advertised support for the Diameter application required by the session. ...
... identity of the peer the request was received from. The home Diameter server, prior to authorizing a session, MUST check the Route-Record ...
... administrators within the home realm may not wish to honor requests that have been routed through an untrusted realm. By authorizing a request, the home Diameter server is implicitly indicating its willingness to engage in the business transaction as specified by the contractual relationship between the ...
... is implicitly indicating its willingness to engage in the business transaction as specified by the contractual relationship between the server and the previous hop. A DIAMETER_AUTHORIZATION_REJECTED error message (see Section 7.1.5) is sent if the route ...
... home realm may also wish to check that each accounting request message corresponds to a Diameter response authorizing the session. Accounting requests ...
... service. Similarly, the local Diameter agent, on receiving a Diameter ...
... Diameter agent, on receiving a Diameter response authorizing a session, MUST check the Route-Record ...
... authorization response. If the service cannot be provided by the local realm, then a DIAMETER_UNABLE_TO_COMPLY error message MUST be sent within the accounting request; a Diameter ...
... DIAMETER_UNABLE_TO_COMPLY error message MUST be sent within the accounting request; a Diameter client receiving ...


... Diameter Header ...
... A summary of the Diameter header format is shown below. The fields are transmitted in network byte order ...
... Version This Version field MUST be set to 1 to indicate Diameter Version 1. ...
... The Message Length field is three octets and indicates the length of the Diameter message including the header fields. ...
... 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 ...
... request; retransmissions by other entities need not be tracked. Diameter agents that receive a request with the T flag set, MUST keep the T flag ...
... End-to-End Identifier MUST NOT be modified by Diameter agents of any kind. The combination of the Origin-Host ...
... AVPs are a method of encapsulating information relevant to the Diameter message. See Section 4 for more information on AVPs. ...
... bit in the Command Flags field of the Diameter header. ...
... header. Every Diameter message MUST contain a command code in its header's Command-Code ...
... Command-Code field, which is used to determine the action that is to be taken for a particular message. The following Command Codes are defined in the Diameter base protocol: ...
... present. The following format is used in the definition: command-def = command-name "::=" diameter-message command-name = diameter ...
... diameter-message command-name = diameter-name diameter ...
... diameter-name diameter-name = ALPHA *(ALPHA / DIGIT ...
... DIGIT / "-") diameter-message = header [ *fixed] [ *required] [ *optional] [ *fixed] ...
... header = "<" Diameter-Header:" command-id [r-bit ...
... ; present. avp-spec = diameter-name ; The avp-spec has to be an AVP Name, defined ...
... ; The avp-spec has to be an AVP Name, defined ; in the base or extended Diameter ; specifications. ...
... The following is a definition of a fictitious command code: Example-Request ::= < "Diameter-Header: 9999999, REQ, PXY > { User-Name ...
... Diameter Command Naming Conventions ...
... Diameter command names typically includes one or more English words followed by the verb Request or Answer. Each English word is delimited by a hyphen. A three-letter acronym ...
... command code. The request is identified by the R(equest) bit in the Diameter header set to one (1), to ask that a particular action be performed, such as authorizing a user or terminating a session ...
... - The receiver could not process the request, but provides information about a Diameter peer that is able to satisfy the request, known as redirect. ...


... Diameter AVPs ...
... Diameter AVPs carry specific authentication, accounting ...
... Vendor-Id field. AVP numbers 256 and above are used for Diameter, which are allocated by IANA (see Section 11.1). ...
... be handled. The 'r' (reserved) bits are unused and SHOULD be set to 0. Note that subsequent Diameter applications MAY define additional bits within the AVP ...
... AVP with the 'M' bit set is received by a Diameter client, server, proxy, or translation agent ...
... and either the AVP or its value is unrecognized, the message MUST be rejected. Diameter Relay and redirect agents MUST NOT reject messages with unrecognized AVPs ...
... AVP containing it. In order to preserve interoperability, a Diameter implementation MUST be able to exclude from a Diameter message any ...
... 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 ...
... Diameter message any Mandatory AVP which is neither defined in the base Diameter protocol nor in any of the Diameter Application specifications governing the message in which it appears. It MAY do this in one ...
... Mandatory AVP which is neither defined in the base Diameter protocol nor in any of the Diameter Application specifications governing the message in which it appears. It MAY do this in one 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 any of the Diameter Application specifications governing the ...
... which is neither defined in the base Diameter standard nor in any of the Diameter Application specifications governing the message in which it appears, the implementation may resend the message without the AVP ...
... interoperability problems. Diameter implementations are required to support all Mandatory AVPs which are allowed by the message's formal syntax ...
... AVPs which are allowed by the message's formal syntax and defined either in the base Diameter standard or in one of the Diameter Application specifications governing the message. ...
... formal syntax and defined either in the base Diameter standard or in one of the Diameter Application specifications governing the message. AVPs ...
... vendor wishing to implement a vendor-specific Diameter AVP MUST use their own Vendor ...
... SNTP [SNTP] describes a procedure to extend the time to 2104. This procedure MUST be supported by all DIAMETER nodes. UTF8String ...
... FQDN DiameterIdentity value is used to uniquely identify a Diameter node for purposes of duplicate connection and routing loop ...
... The contents of the string MUST be the FQDN of the Diameter node. If multiple Diameter nodes run on the same host ...
... FQDN of the Diameter node. If multiple Diameter nodes run on the same host, eac