Network Working Group G. Camarillo
Request for Comments: 4092 Ericsson
Category: Standards Track J. Rosenberg
Cisco Systems
June 2005
Usage of the Session Description Protocol (SDP) Alternative Network Address Types (ANAT) Semantics in the Session Initiation Protocol (SIP)
Camarillo & Rosenberg Standards Track [Page 1]
RFC 4092 ANAT Usage in SDP June 2005 1. IntroductionSIP [3] UAs (User Agents) often support different network address types. For example, a UA may have an IPv6 address and an IPv4 address. Such a UA will typically be willing to use any of its addresses to establish a media session with a remote UA. If the remote UA only supports IPv6, for instance, both UAs will use IPv6 to send and receive media.
2. Terminology
In this document, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as described in BCP 14, RFC 2119 [1] and indicate requirement levels for compliant implementations.
3. The sdp-anat Option-Tag
We define the option-tag sdp-anat for use in the Require and Supported SIP [3] header fields. SIP user agents that place this option-tag in a Supported header field understand the ANAT semantics as defined in [7].
Camarillo & Rosenberg Standards Track [Page 2]
RFC 4092 ANAT Usage in SDP June 2005 4. Backward CompatibilityAnswerers without support for ANAT will react in different ways upon receipt of an offer using ANAT. We expect that, even under the same circumstances, different implementations will behave in different ways. In this section, we analyze these behaviors (i.e., the following subsections assume that the answerer does not support ANAT).
4.1. Answerer Supports All the Network Types Offered
If the answerer supports all the network types in the offer, it may accept the offer and establish all the media streams in it. This behavior is not what the offerer expects because it results in too many media streams being established. If the answerer starts sending media over all of them, the result may be a high bandwidth usage.
4.2. Answerer Does Not Support All the Network Types Offered
If the answerer does not support all the network types in the offer, it may only establish the media streams whose address types it understands and reject the rest. This would be an acceptable behavior from the offerer's point of view.
Camarillo & Rosenberg Standards Track [Page 3]
RFC 4092 ANAT Usage in SDP June 2005 4.3. OPTIONS RequestsAlthough RFC 3388 [5] provides servers with a means to indicate support for ANAT in an SDP description, many servers do not include an SDP description in their responses to OPTIONS requests. The sdp-anat option-tag makes it possible to discover if any server supports ANAT, since they would include this option-tag in a Supported header field in their responses.
5. Option-Tag Usage
As discussed in the previous section, the use of the sdp-anat option-tag makes SIP messages more explicit about ANAT support. So, SIP entities generating an offer that uses the ANAT semantics SHOULD place the sdp-anat option-tag in a Require header field. SIP entities that support the ANAT semantics MUST understand the sdp-anat option-tag.
6. Security Considerations
An attacker may attempt to add the sdp-anat option tag to the Require header field of a message to perform a DoS attack. If the UAS does not support ANAT, it will return an error response instead of processing the message.
7. IANA Considerations
This document defines a SIP option-tag (sdp-anat) in Section 3. It has been registered by the IANA in the SIP parameter registry.
Camarillo & Rosenberg Standards Track [Page 4]
RFC 4092 ANAT Usage in SDP June 2005 8. Normative References[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Camarillo & Rosenberg Standards Track [Page 5]
RFC 4092 ANAT Usage in SDP June 2005
Full Copyright Statement