draft-ietf-dime-capablities-update-06.txt   draft-ietf-dime-capablities-update-07.txt 
Network Working Group K. Jiao Network Working Group K. Jiao
Internet-Draft Huawei Internet-Draft Huawei
Intended status: Standards Track G. Zorn Intended status: Standards Track G. Zorn
Expires: April 15, 2011 Network Zen Expires: April 27, 2011 Network Zen
October 12, 2010 October 24, 2010
The Diameter Capabilities Update Application The Diameter Capabilities Update Application
draft-ietf-dime-capablities-update-06 draft-ietf-dime-capablities-update-07
Abstract Abstract
This document defines a new Diameter application and associated This document defines a new Diameter application and associated
command codes. The Capabilities Update application is intended to command codes. The Capabilities Update application is intended to
allow the dynamic update of certain Diameter peer capabilities while allow the dynamic update of certain Diameter peer capabilities while
the peer-to-peer connection is in the open state. the peer-to-peer connection is in the open state.
Status of this Memo Status of this Memo
skipping to change at page 1, line 34 skipping to change at page 1, line 34
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on April 15, 2011. This Internet-Draft will expire on April 27, 2011.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 3, line 27 skipping to change at page 3, line 27
This document defines a new Diameter application intended to allow This document defines a new Diameter application intended to allow
the dynamic update of a subset of Diameter peer capabilities over an the dynamic update of a subset of Diameter peer capabilities over an
existing connection. Because the Capabilities Update application existing connection. Because the Capabilities Update application
specified herein operates over an existing transport connection, specified herein operates over an existing transport connection,
modification of certain capabilities is prohibited. Specifically, modification of certain capabilities is prohibited. Specifically,
modifying the security mechanism in use is not allowed; if the modifying the security mechanism in use is not allowed; if the
security method used between a pair of peers is changed the affected security method used between a pair of peers is changed the affected
connection MUST be restarted. connection MUST be restarted.
Discussion of this draft may be directed to the dime Working Group of
the IETF (dime@ietf.org).
2. Specification of Requirements 2. Specification of Requirements
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
3. Diameter Protocol Considerations 3. Diameter Protocol Considerations
This section details the relationship of the Diameter Capabilities This section details the relationship of the Diameter Capabilities
Update application to the Diameter Base Protocol. Update application to the Diameter Base Protocol.
skipping to change at page 4, line 5 skipping to change at page 3, line 48
This document specifies Diameter Application-ID <TBD1>. Diameter This document specifies Diameter Application-ID <TBD1>. Diameter
nodes conforming to this specification MUST advertise support by nodes conforming to this specification MUST advertise support by
including the value <TBD1> in the Auth-Application-Id of the including the value <TBD1> in the Auth-Application-Id of the
Capabilities-Exchange-Request (CER) and Capabilities-Exchange-Answer Capabilities-Exchange-Request (CER) and Capabilities-Exchange-Answer
(CEA) commands [I-D.ietf-dime-rfc3588bis]. (CEA) commands [I-D.ietf-dime-rfc3588bis].
4. Capabilities Update 4. Capabilities Update
When the capabilities of a Diameter node conforming to this When the capabilities of a Diameter node conforming to this
specification change, it MUST notify all of the nodes with which it specification change, it MUST notify all of the nodes with which it
has an open transport connection and have also advertised support for has an open transport connection and which have also advertised
the Capabilities Update application using the Capabilities-Update- support for the Capabilities Update application using the
Request (CUR) message (Section 4.1.1). This message allows the Capabilities-Update-Request (CUR) message (Section 4.1.1). This
update of a peer's capabilities (supported Diameter applications, message allows the update of a peer's capabilities (supported
etc.). Diameter applications, etc.).
A Diameter node only issues a given command to those peers that have A Diameter node only issues a given command to those peers that have
advertised support for the Diameter application that defines the advertised support for the Diameter application that defines the
command; a Diameter node must cache the supported applications in command; a Diameter node must cache the supported applications in
order to ensure that unrecognized commands and/or Attibute-Value order to ensure that unrecognized commands and/or Attribute-Value
Pairs (AVPs) are not unnecessarily sent to a peer. Pairs (AVPs) are not unnecessarily sent to a peer.
The receiver of the CUR MUST determine common applications by The receiver of the CUR MUST determine common applications by
computing the intersection of its own set of supported Application Id computing the intersection of its own set of supported Application Id
against all of the application identifier AVPs (Auth-Application-Id, against all of the application identifier AVPs (Auth-Application-Id,
Acct-Application-Id and Vendor-Specific- Application-Id) present in Acct-Application-Id and Vendor-Specific- Application-Id) present in
the CUR. The value of the Vendor-Id AVP in the Vendor-Specific- the CUR. The value of the Vendor-Id AVP in the Vendor-Specific-
Application-Id MUST NOT be used during computation. Application-Id MUST NOT be used during computation.
If the receiver of a CUR does not have any applications in common If the receiver of a CUR does not have any applications in common
with the sender then it MUST return a Capabilities-Update-Answer with the sender then it MUST return a Capabilities-Update-Answer
(CUA) (Section 4.1.2) with the Result-Code AVP set to (CUA) (Section 4.1.2) with the Result-Code AVP set to
DIAMETER_NO_COMMON_APPLICATION, and SHOULD disconnect the transport DIAMETER_NO_COMMON_APPLICATION [I-D.ietf-dime-rfc3588bis], and SHOULD
layer connection; however, if active sessions are using the disconnect the transport layer connection; however, if active
connection, peers MAY delay disconnection until the sessions can be sessions are using the connection, peers MAY delay disconnection
redirected or gracefully terminated. Note that receiving a CUA from until the sessions can be redirected or gracefully terminated. Note
a peer advertising itself as a Relay (see [I-D.ietf-dime-rfc3588bis], that receiving a CUA from a peer advertising itself as a Relay (see
Section 2.4) MUST be interpreted as having common applications with [I-D.ietf-dime-rfc3588bis], Section 2.4) MUST be interpreted as
the peer. having common applications with the peer.
As for CER/CEA messages, the CUR and CUA messages MUST NOT be As for CER/CEA messages, the CUR and CUA messages MUST NOT be
proxied, redirected or relayed. proxied, redirected or relayed.
Even though the CUR/CUA messages cannot be proxied, it is still Even though the CUR/CUA messages cannot be proxied, it is still
possible for an upstream agent to receive a message for which there possible for an upstream agent to receive a message for which there
are no peers available to handle the application that corresponds to are no peers available to handle the application that corresponds to
the Command-Code. This could happen if, for example, the peers are the Command-Code. This could happen if, for example, the peers are
too busy or down. In such instances, the 'E' bit MUST be set in the too busy or down. In such instances, the 'E' bit MUST be set in the
answer message with the Result-Code AVP set to answer message with the Result-Code AVP set to
DIAMETER_UNABLE_TO_DELIVER to inform the downstream peer to take DIAMETER_UNABLE_TO_DELIVER to inform the downstream peer to take
action (e.g., re-routing requests to an alternate peer). action (e.g., re-routing requests to an alternate peer).
4.1. Command-Code Values 4.1. Command-Code Values
This section defines Command-Code [I-D.ietf-dime-rfc3588bis] values This section defines Command-Code [I-D.ietf-dime-rfc3588bis] values
that MUST be supported by all Diameter implementations conforming to that MUST be supported by all Diameter implementations conforming to
this specification. The following Command Codes are defined in this this specification. The following Command Codes are defined (using
document: Capabilities-Update-Request (CUR, Section 4.1.1) and modified ABNF [I-D.ietf-dime-rfc3588bis]) in this document:
Capabilities-Update-Answer (CUA, Section 4.1.2). Capabilities-Update-Request (CUR, Section 4.1.1) and Capabilities-
Update-Answer (CUA, Section 4.1.2).
4.1.1. Capabilities-Update-Request 4.1.1. Capabilities-Update-Request
The Capabilities-Update-Request (CUR), indicated by the Command-Code The Capabilities-Update-Request (CUR), indicated by the Command-Code
set to <TBD2> and the Command Flags' 'R' bit set, is sent to update set to <CUCC> and the Command Flags' 'R' bit set, is sent to update
local capabilities. Upon detection of a transport failure, this local capabilities. Upon detection of a transport failure, this
message MUST NOT be sent to an alternate peer. message MUST NOT be sent to an alternate peer.
When Diameter is run over the Stream Control Transmission Protocol When Diameter is run over the Stream Control Transmission Protocol
[RFC4960], which allows connections to span multiple interfaces and [RFC4960], which allows connections to span multiple interfaces and
multiple IP addresses, the Capabilities-Update-Request message MUST multiple IP addresses, the Capabilities-Update-Request message MUST
contain one Host-IP-Address AVP for each potential IP address that contain one Host-IP-Address AVP for each potential IP address that
may be locally used when transmitting Diameter messages. may be locally used when transmitting Diameter messages.
Message Format Message Format
<CUR> ::= < Diameter Header: TBD2, REQ > <CUR> ::= < Diameter Header: <CUCC>, REQ >
{ Origin-Host } { Origin-Host }
{ Origin-Realm } { Origin-Realm }
1* { Host-IP-Address } 1* { Host-IP-Address }
{ Vendor-Id } { Vendor-Id }
{ Product-Name } { Product-Name }
[ Origin-State-Id ] [ Origin-State-Id ]
* [ Supported-Vendor-Id ] * [ Supported-Vendor-Id ]
* [ Auth-Application-Id ] * [ Auth-Application-Id ]
* [ Acct-Application-Id ] * [ Acct-Application-Id ]
* [ Vendor-Specific-Application-Id ] * [ Vendor-Specific-Application-Id ]
[ Firmware-Revision ] [ Firmware-Revision ]
* [ AVP ] * [ AVP ]
4.1.2. Capabilities-Update-Answer 4.1.2. Capabilities-Update-Answer
The Capabilities-Update-Answer, indicated by the Command-Code set to The Capabilities-Update-Answer, indicated by the Command-Code set to
<TBD3> and the Command Flags' 'R' bit cleared, is sent in response to <CUCC> and the Command Flags' 'R' bit cleared, is sent in response to
a CUR message. a CUR message.
Message Format Message Format
<CUA> ::= < Diameter Header: TBD3 > <CUA> ::= < Diameter Header: <CUCC> >
{ Origin-Host } { Origin-Host }
{ Origin-Realm } { Origin-Realm }
{ Result-Code } { Result-Code }
[ Error-Message ] [ Error-Message ]
* [ AVP ] * [ AVP ]
5. Security Considerations 5. Security Considerations
The security considerations applicable to the Diameter Base Protocol The security considerations applicable to the Diameter Base Protocol
[I-D.ietf-dime-rfc3588bis] are also applicable to this document. [I-D.ietf-dime-rfc3588bis] are also applicable to this document.
6. IANA Considerations 6. IANA Considerations
This section explains the criteria to be used by the IANA for This section explains the criteria to be used by the IANA for
assignment of numbers within namespaces used within this document. assignment of numbers within namespaces used within this document.
6.1. Application Identifier 6.1. Application Identifier
This specification assigns the value <TBD1> from the Application This specification assigns the value <TBD1> from the Application
Identifiers namespace [I-D.ietf-dime-rfc3588bis]. See Section 3 for Identifiers namespace [I-D.ietf-dime-rfc3588bis]. See Section 3 for
the assignment of the namespace in this specification. the assignment of the namespace in this specification.
6.2. Command Codes 6.2. Command Codes
This specification assigns the values <TBD2> and <TBD3> from the This specification assigns the value <CUCC> from the Command Codes
Command Codes namespace [I-D.ietf-dime-rfc3588bis]. See Section 4.1 namespace [I-D.ietf-dime-rfc3588bis]. See Section 4.1 for the
for the assignment of the namespace in this specification. assignment of the namespace in this specification.
7. Contributors 7. Contributors
This document is based upon work done by Tina Tsou. This document is based upon work done by Tina Tsou.
8. Acknowledgements 8. Acknowledgements
Thanks to Sebastien Decugis, Niklas Neumann, Subash Comerica, Lionel Thanks to Sebastien Decugis, Niklas Neumann, Subash Comerica, Lionel
Morand, Dan Romascanu, Dan Harkins and Ravi for helpful review and Morand, Dan Romascanu, Dan Harkins and Ravi for helpful review and
discussion. discussion.
 End of changes. 14 change blocks. 
36 lines changed or deleted 34 lines changed or added

This html diff was produced by rfcdiff 1.40. The latest version is available from http://tools.ietf.org/tools/rfcdiff/