draft-ietf-mmusic-ice-sip-sdp-32.txt   draft-ietf-mmusic-ice-sip-sdp-33.txt 
MMUSIC M. Petit-Huguenin MMUSIC M. Petit-Huguenin
Internet-Draft Impedance Mismatch Internet-Draft Impedance Mismatch
Obsoletes: 5245 (if approved) S. Nandakumar Obsoletes: 5245 (if approved) S. Nandakumar
Intended status: Standards Track Cisco Systems Intended status: Standards Track Cisco Systems
Expires: December 5, 2019 A. Keranen Expires: December 6, 2019 A. Keranen
Ericsson Ericsson
June 3, 2019 June 4, 2019
Session Description Protocol (SDP) Offer/Answer procedures for Session Description Protocol (SDP) Offer/Answer procedures for
Interactive Connectivity Establishment (ICE) Interactive Connectivity Establishment (ICE)
draft-ietf-mmusic-ice-sip-sdp-32 draft-ietf-mmusic-ice-sip-sdp-33
Abstract Abstract
This document describes Session Description Protocol (SDP) Offer/ This document describes Session Description Protocol (SDP) Offer/
Answer procedures for carrying out Interactive Connectivity Answer procedures for carrying out Interactive Connectivity
Establishment (ICE) between the agents. Establishment (ICE) between the agents.
This document obsoletes RFC 5245. This document obsoletes RFC 5245.
Status of This Memo Status of This Memo
skipping to change at page 1, line 38 skipping to change at page 1, line 38
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 https://datatracker.ietf.org/drafts/current/. Drafts is at https://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 5, 2019. This Internet-Draft will expire on December 6, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 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
(https://trustee.ietf.org/license-info) in effect on the date of (https://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 2, line 46 skipping to change at page 2, line 46
3.3.2. Sending the Initial Answer . . . . . . . . . . . . . 8 3.3.2. Sending the Initial Answer . . . . . . . . . . . . . 8
3.3.3. Receiving the Initial Answer . . . . . . . . . . . . 9 3.3.3. Receiving the Initial Answer . . . . . . . . . . . . 9
3.3.4. Concluding ICE . . . . . . . . . . . . . . . . . . . 10 3.3.4. Concluding ICE . . . . . . . . . . . . . . . . . . . 10
3.4. Subsequent Offer/Answer Exchanges . . . . . . . . . . . . 10 3.4. Subsequent Offer/Answer Exchanges . . . . . . . . . . . . 10
3.4.1. Sending Subsequent Offer . . . . . . . . . . . . . . 11 3.4.1. Sending Subsequent Offer . . . . . . . . . . . . . . 11
3.4.2. Sending Subsequent Answer . . . . . . . . . . . . . . 13 3.4.2. Sending Subsequent Answer . . . . . . . . . . . . . . 13
3.4.3. Receiving Answer for a Subsequent Offer . . . . . . . 15 3.4.3. Receiving Answer for a Subsequent Offer . . . . . . . 15
4. Grammar . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4. Grammar . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.1. "candidate" Attribute . . . . . . . . . . . . . . . . . . 17 4.1. "candidate" Attribute . . . . . . . . . . . . . . . . . . 17
4.2. "remote-candidates" Attribute . . . . . . . . . . . . . . 19 4.2. "remote-candidates" Attribute . . . . . . . . . . . . . . 19
4.3. "ice-lite" and "ice-mismatch" Attributes . . . . . . . . 19 4.3. "ice-lite" and "ice-mismatch" Attributes . . . . . . . . 20
4.4. "ice-ufrag" and "ice-pwd" Attributes . . . . . . . . . . 20 4.4. "ice-ufrag" and "ice-pwd" Attributes . . . . . . . . . . 20
4.5. "ice-pacing" Attribute . . . . . . . . . . . . . . . . . 21 4.5. "ice-pacing" Attribute . . . . . . . . . . . . . . . . . 21
4.6. "ice-options" Attribute . . . . . . . . . . . . . . . . . 21 4.6. "ice-options" Attribute . . . . . . . . . . . . . . . . . 21
5. Keepalives . . . . . . . . . . . . . . . . . . . . . . . . . 22 5. Keepalives . . . . . . . . . . . . . . . . . . . . . . . . . 22
6. SIP Considerations . . . . . . . . . . . . . . . . . . . . . 22 6. SIP Considerations . . . . . . . . . . . . . . . . . . . . . 22
6.1. Latency Guidelines . . . . . . . . . . . . . . . . . . . 22 6.1. Latency Guidelines . . . . . . . . . . . . . . . . . . . 22
6.1.1. Offer in INVITE . . . . . . . . . . . . . . . . . . . 23 6.1.1. Offer in INVITE . . . . . . . . . . . . . . . . . . . 23
6.1.2. Offer in Response . . . . . . . . . . . . . . . . . . 24 6.1.2. Offer in Response . . . . . . . . . . . . . . . . . . 24
6.2. SIP Option Tags and Media Feature Tags . . . . . . . . . 24 6.2. SIP Option Tags and Media Feature Tags . . . . . . . . . 24
6.3. Interactions with Forking . . . . . . . . . . . . . . . . 24 6.3. Interactions with Forking . . . . . . . . . . . . . . . . 24
skipping to change at page 7, line 21 skipping to change at page 7, line 21
an "a=ice-mismatch" attribute in its answer for a data stream, an "a=ice-mismatch" attribute in its answer for a data stream,
then it MUST also omit "a=candidate" attributes, MUST terminate then it MUST also omit "a=candidate" attributes, MUST terminate
the usage of ICE procedures and [RFC3264] procedures MUST be used the usage of ICE procedures and [RFC3264] procedures MUST be used
instead for this data stream. instead for this data stream.
2. The transport address from the peer for the default destination 2. The transport address from the peer for the default destination
correspond to IPv4/IPv6 address values "0.0.0.0"/"::" and port correspond to IPv4/IPv6 address values "0.0.0.0"/"::" and port
value of "9". This MUST NOT be considered as a ICE failure by value of "9". This MUST NOT be considered as a ICE failure by
the peer agent and the ICE processing MUST continue as usual. the peer agent and the ICE processing MUST continue as usual.
3. In some cases, the scontrolling/initiator agent may receive the 3. In some cases, the controlling/initiator agent may receive the
SDP answer that may omit "a=candidate" attributes for the data SDP answer that may omit "a=candidate" attributes for the data
stream, and instead include a media level "a=ice-mismatch" stream, and instead include a media level "a=ice-mismatch"
attribute. This signals to the offerer that the answerer attribute. This signals to the offerer that the answerer
supports ICE, but that ICE processing was not used for this data supports ICE, but that ICE processing was not used for this data
stream. In this case, ICE processing MUST be terminated for this stream. In this case, ICE processing MUST be terminated for this
data stream and [RFC3264] procedures MUST be followed instead. data stream and [RFC3264] procedures MUST be followed instead.
4. The transport address from the peer for the default destination 4. The transport address from the peer for the default destination
is an FQDN. Regardless of the procedures used to resolve FQDN or is an FQDN. Regardless of the procedures used to resolve FQDN or
the resolution result, this MUST NOT be considered as a ICE the resolution result, this MUST NOT be considered as a ICE
skipping to change at page 19, line 21 skipping to change at page 19, line 21
The candidate attribute can itself be extended. The grammar allows The candidate attribute can itself be extended. The grammar allows
for new name/value pairs to be added at the end of the attribute. for new name/value pairs to be added at the end of the attribute.
Such extensions MUST be made through IETF Review or IESG Approval Such extensions MUST be made through IETF Review or IESG Approval
[RFC5226] and the assignments MUST contain the specific extension and [RFC5226] and the assignments MUST contain the specific extension and
a reference to the document defining the usage of the extension a reference to the document defining the usage of the extension
An implementation MUST ignore any name/value pairs it doesn't An implementation MUST ignore any name/value pairs it doesn't
understand. understand.
Example: SDP line for UDP server reflexive candidate attribute for the RTP component Example: SDP line for UDP server reflexive candidate attribute for
the RTP component
a=candidate:2 1 UDP 1694498815 192.0.2.3 45664 typ srflx raddr 203.0.113.141 rport 8998 a=candidate:2 1 UDP 1694498815 192.0.2.3 45664 typ srflx raddr
203.0.113.141 rport 8998
4.2. "remote-candidates" Attribute 4.2. "remote-candidates" Attribute
The syntax of the "remote-candidates" attribute is defined using The syntax of the "remote-candidates" attribute is defined using
Augmented BNF as defined in [RFC5234]. The remote-candidates Augmented BNF as defined in [RFC5234]. The remote-candidates
attribute is a media-level attribute only. attribute is a media-level attribute only.
remote-candidate-att = "remote-candidates:" remote-candidate remote-candidate-att = "remote-candidates:" remote-candidate
0*(SP remote-candidate) 0*(SP remote-candidate)
remote-candidate = component-ID SP connection-address SP port remote-candidate = component-ID SP connection-address SP port
skipping to change at page 37, line 23 skipping to change at page 37, line 23
b=RS:0 b=RS:0
b=RR:0 b=RR:0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
a=candidate:1 1 UDP 2130706431 $L-PRIV-1.IP $L-PRIV-1.PORT typ host a=candidate:1 1 UDP 2130706431 $L-PRIV-1.IP $L-PRIV-1.PORT typ host
a=candidate:2 1 UDP 1694498815 $NAT-PUB-1.IP $NAT-PUB-1.PORT typ a=candidate:2 1 UDP 1694498815 $NAT-PUB-1.IP $NAT-PUB-1.PORT typ
srflx raddr $L-PRIV-1.IP rport $L-PRIV-1.PORT srflx raddr $L-PRIV-1.IP rport $L-PRIV-1.PORT
The offer, with the variables replaced with their values, will look The offer, with the variables replaced with their values, will look
like (lines folded for clarity): like (lines folded for clarity):
v=0 v=0
o=jdoe 2890844526 2890842807 IN IP6 fe80::6676:baff:fe9c:ee4a o=jdoe 2890844526 2890842807 IN IP6 fe80::6676:baff:fe9c:ee4a
s= s=
c=IN IP6 2001:DB8:8101:3a55:4858:a2a9:22ff:99b9 c=IN IP6 2001:DB8:8101:3a55:4858:a2a9:22ff:99b9
t=0 0 t=0 0
a=ice-pwd:asd88fgpdd777uzjYhagZg a=ice-pwd:asd88fgpdd777uzjYhagZg
a=ice-ufrag:8hhY a=ice-ufrag:8hhY
m=audio 45664 RTP/AVP 0 m=audio 45664 RTP/AVP 0
b=RS:0 b=RS:0
b=RR:0 b=RR:0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
a=candidate:1 1 UDP 2130706431 fe80::6676:baff:fe9c:ee4a 8998 typ host a=candidate:1 1 UDP 2130706431 fe80::6676:baff:fe9c:ee4a 8998 typ host
a=candidate:2 1 UDP 1694498815 2001:DB8:8101:3a55:4858:a2a9:22ff:99b9 45664 typ srflx raddr a=candidate:2 1 UDP 1694498815 2001:DB8:8101:3a55:4858:a2a9:22ff:99b9
fe80::6676:baff:fe9c:ee4a rport 8998 45664 typ srflx raddr fe80::6676:baff:fe9c:ee4a rport 8998
The resulting answer looks like: The resulting answer looks like:
v=0 v=0
o=bob 2808844564 2808844564 IN IP4 $R-PUB-1.IP o=bob 2808844564 2808844564 IN IP4 $R-PUB-1.IP
s= s=
c=IN IP4 $R-PUB-1.IP c=IN IP4 $R-PUB-1.IP
t=0 0 t=0 0
a=ice-pwd:YH75Fviy6338Vbrhrlp8Yh a=ice-pwd:YH75Fviy6338Vbrhrlp8Yh
a=ice-ufrag:9uB6 a=ice-ufrag:9uB6
 End of changes. 9 change blocks. 
22 lines changed or deleted 24 lines changed or added

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