draft-ietf-dime-capablities-update-05.txt | draft-ietf-dime-capablities-update-06.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: December 20, 2010 Network Zen | Expires: April 15, 2011 Network Zen | |||
June 18, 2010 | October 12, 2010 | |||
The Diameter Capabilities Update Application | The Diameter Capabilities Update Application | |||
draft-ietf-dime-capablities-update-05 | draft-ietf-dime-capablities-update-06 | |||
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 December 20, 2010. | This Internet-Draft will expire on April 15, 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 44 | skipping to change at page 3, line 44 | |||
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. | |||
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 and Capabilities-Exchange-Answer | Capabilities-Exchange-Request (CER) and Capabilities-Exchange-Answer | |||
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 have also advertised support for | |||
the Capabilities Update application using the Capabilities-Update- | the Capabilities Update application using the Capabilities-Update- | |||
Request (CUR) message (Section 4.1.1). This message allows the | Request (CUR) message (Section 4.1.1). This message allows the | |||
update of a peer's capabilities (supported Diameter applications, | update of a peer's capabilities (supported Diameter applications, | |||
etc.). | 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 AVPs are not | order to ensure that unrecognized commands and/or Attibute-Value | |||
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, and SHOULD disconnect the transport | |||
layer connection; however, if active sessions are using the | layer connection; however, if active sessions are using the | |||
connection, peers MAY delay disconnection until the sessions can be | connection, peers MAY delay disconnection until the sessions can be | |||
redirected or gracefully terminated. Note that receiving a CUA from | redirected or gracefully terminated. Note that receiving a CUA from | |||
a peer advertising itself as a Relay (see [I-D.ietf-dime-rfc3588bis], | a peer advertising itself as a Relay (see [I-D.ietf-dime-rfc3588bis], | |||
Section 2.4) MUST be interpreted as having common applications with | Section 2.4) MUST be interpreted as having common applications with | |||
the peer. | the peer. | |||
The CUR and CUA messages MUST NOT be proxied, redirected or relayed. | As for CER/CEA messages, the CUR and CUA messages MUST NOT be | |||
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). | |||
skipping to change at page 5, line 13 | skipping to change at page 5, line 14 | |||
document: Capabilities-Update-Request (CUR, Section 4.1.1) and | document: Capabilities-Update-Request (CUR, Section 4.1.1) and | |||
Capabilities-Update-Answer (CUA, Section 4.1.2). | 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 <TBD2> 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 SCTP [RFC4960], which allows connections to | When Diameter is run over the Stream Control Transmission Protocol | |||
span multiple interfaces and multiple IP addresses, the Capabilities- | [RFC4960], which allows connections to span multiple interfaces and | |||
Update-Request message MUST contain one Host-IP-Address AVP for each | multiple IP addresses, the Capabilities-Update-Request message MUST | |||
potential IP address that may be locally used when transmitting | contain one Host-IP-Address AVP for each potential IP address that | |||
Diameter messages. | may be locally used when transmitting Diameter messages. | |||
Message Format | Message Format | |||
<CUR> ::= < Diameter Header: TBD2, REQ > | <CUR> ::= < Diameter Header: TBD2, 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 ] | |||
skipping to change at page 6, line 18 | skipping to change at page 6, line 18 | |||
[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 defined in RFC 3588. See Section 3 for the | Identifiers namespace [I-D.ietf-dime-rfc3588bis]. See Section 3 for | |||
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 values <TBD2> and <TBD3> from the | |||
Command Codes namespace defined in RFC 3588. See Section 4.1 for the | Command Codes namespace [I-D.ietf-dime-rfc3588bis]. See Section 4.1 | |||
assignment of the namespace in this specification. | for the 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 and Ravi for helpful discussion. | Morand, Dan Romascanu, Dan Harkins and Ravi for helpful review and | |||
discussion. | ||||
9. References | 9. References | |||
9.1. Normative References | 9.1. Normative References | |||
[I-D.ietf-dime-rfc3588bis] | [I-D.ietf-dime-rfc3588bis] | |||
Fajardo, V., Arkko, J., Loughney, J., and G. Zorn, | Fajardo, V., Arkko, J., Loughney, J., and G. Zorn, | |||
"Diameter Base Protocol", draft-ietf-dime-rfc3588bis-21 | "Diameter Base Protocol", draft-ietf-dime-rfc3588bis-25 | |||
(work in progress), June 2010. | (work in progress), September 2010. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
9.2. Informative References | 9.2. Informative References | |||
[RFC4960] Stewart, R., "Stream Control Transmission Protocol", | [RFC4960] Stewart, R., "Stream Control Transmission Protocol", | |||
RFC 4960, September 2007. | RFC 4960, September 2007. | |||
Authors' Addresses | Authors' Addresses | |||
skipping to change at page 7, line 24 | skipping to change at page 7, line 24 | |||
Section B1, Huawei Industrial Base | Section B1, Huawei Industrial Base | |||
Bantian, Longgang District | Bantian, Longgang District | |||
Shenzhen 518129 | Shenzhen 518129 | |||
P.R. China | P.R. China | |||
Phone: +86 755 2878-6690 | Phone: +86 755 2878-6690 | |||
Email: kangjiao@huawei.com | Email: kangjiao@huawei.com | |||
Glen Zorn | Glen Zorn | |||
Network Zen | Network Zen | |||
1463 East Republican Street | 227/358 Thanon Sanphawut | |||
#358 | Bang Na, Bangkok 10260 | |||
Seattle, WA 98112 | Thailand | |||
USA | ||||
Phone: +66 (0) 87-040-4617 | ||||
Email: gwz@net-zen.net | Email: gwz@net-zen.net | |||
End of changes. 13 change blocks. | ||||
26 lines changed or deleted | 28 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/ |