rfc-4091

The Alternative Network Address Types (ANAT) Semantics for the Session Description Protocol (SDP) Grouping Framework

G. Camarillo, J. Rosenberg
date2005-06 streamIETF areaart wgmmusic statusPROPOSED STANDARD pages7 canonicalhttps://www.rfc-editor.org/rfc/rfc4091 doi10.17487/RFC4091
This document defines the Alternative Network Address Types (ANAT) semantics for the Session Description Protocol (SDP) grouping framework. The ANAT semantics allow alternative types of network addresses to establish a particular media stream. [STANDARDS-TRACK]

obsoleted by

Extracted elements (15)

design-rationale §1.1

ANAT groups 'm' lines with different IP versions at the 'm' level rather than the 'a=' level (as ICE does) to keep IPv6 syntax free from ICE parameters used for legacy IPv4 NATs, yielding syntax closer to vanilla SDP where IPv6 addresses appear in their own 'm' line.

ip, v6ops, nat, realtime

design-rationale §1.1

ANAT was designed separately from ICE because ICE only allows a single primary address when the peer does not support ICE, which would relegate certain address types (e.g., IPv6) to only be a secondary alternate. ANAT avoids this asymmetry.

ip, v6ops, realtime

design-rationale §1.1

The separation between ANAT and ICE also benefits systems that support both IPv4 and IPv6 but do not need ICE (e.g., multicast servers), keeping the two mechanisms cleanly decoupled.

ip, v6ops, multicast, realtime

interoperability-note §1.1

ANAT is intended for scenarios involving different network address types (e.g., different IP versions). Systems needing alternative transport addresses of the same network type should use ICE instead.

ip, v6ops, nat, realtime

interoperability-note §6

The ICE format can be used within the individual 'm' lines of an ANAT group to provide additional addresses and ports, as shown in the Section 6 example where both IPv4 and IPv6 'm' lines carry ICE-encoded additional addresses.

ip, v6ops, nat, realtime

normative-requirement §5 SHOULD

An answerer receiving a session description that uses the ANAT semantics SHOULD use the address with the highest priority it understands and set the ports of the rest of the 'm' lines of the group to zero.

realtime, sip, ip

normative-requirement §5 SHOULD

An offerer using SIP to send its offer SHOULD place the sdp-anat option-tag in a Require header field.

realtime, sip

normative-requirement §7 RECOMMENDED

It is strongly RECOMMENDED that integrity protection be applied to the SDP session descriptions to prevent attackers from adding or removing ANAT group lines; for SIP, S/MIME is the natural choice.

security, realtime, sip

normative-requirement §3 MUST NOT

The ANAT semantics MUST NOT be used to group media streams whose network addresses are of the same type; it is intended only for different network address types.

realtime, sip, ip

normative-requirement §3 MUST

The entity creating a session description with an ANAT group MUST be ready to receive (or send) media over any of the grouped 'm' lines.

realtime, sip, ip

normative-requirement §4 MUST

The identifiers of the media streams MUST be listed in order of preference in the group line, so that the first listed 'm' line has the highest preference among the alternatives.

realtime, sip, ip

protocol-element §3

ANAT (Alternative Network Address Types) is a new 'semantics' attribute defined within the SDP grouping framework, allowing media lines to express alternative network addresses of different types (e.g., IPv4 and IPv6) for a single logical media stream.

realtime, sip, ip, v6ops

registry §8

IANA has registered a new 'semantics' attribute token 'ANAT' (Alternative Network Address Types) for the SDP grouping framework, under Semantics for the 'group' SDP Attribute.

registry, realtime

security-consideration §7

An attacker adding ANAT group lines to an SDP description could cause an endpoint to use only one of the streams offered by the remote end, when the remote end intended to establish all streams.

security, realtime, sip

security-consideration §7

An attacker removing ANAT group lines could cause an endpoint to establish a higher number of media streams than intended; if the endpoint sends media over all of them, session bandwidth may increase dramatically.

security, realtime, sip