MMUSIC                                                 M. Petit-Huguenin
Internet-Draft                                        Impedance Mismatch
Updates: 5245 (if approved)                              October 8, 2012
Intended status: Standards Track
Expires: April 11, 2013


                 Media level ice-options SDP attribute
           draft-petithuguenin-mmusic-ice-attributes-level-04

Abstract

   This document normatively updates RFC 5245 by redefining the ice-
   options SDP attribute as a session-level and media-level attribute.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.  This document may not be modified,
   and derivative works of it may not be created, except to format it
   for publication as an RFC or to translate it into languages other
   than English.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on April 11, 2013.

Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as



Petit-Huguenin           Expires April 11, 2013                 [Page 1]


Internet-Draft         Media level ICE attributes           October 2012


   described in the Simplified BSD License.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  The ice-options Attribute  . . . . . . . . . . . . . . . . . .  3
   4.  The ice-lite Attribute . . . . . . . . . . . . . . . . . . . .  3
   5.  The ice-mismatch Attribute . . . . . . . . . . . . . . . . . .  4
   6.  Specific Aggregation Rule for the rtp+ecn ICE Option . . . . .  4
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . .  4
   8.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  4
   9.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . .  4
   10. References . . . . . . . . . . . . . . . . . . . . . . . . . .  4
     10.1.  Normative References  . . . . . . . . . . . . . . . . . .  4
     10.2.  Informative References  . . . . . . . . . . . . . . . . .  5
   Appendix A.  Examples  . . . . . . . . . . . . . . . . . . . . . .  5
     A.1.   Aggregating media all supporting ICE  . . . . . . . . . .  5
     A.2.   Aggregating media partially supporting ICE  . . . . . . .  8
   Appendix B.  Analysis of similar issues in other attributes  . . . 11
     B.1.   The type:broadcast Attribute  . . . . . . . . . . . . . . 12
     B.2.   The charset Attribute . . . . . . . . . . . . . . . . . . 12
     B.3.   The tool Attribute  . . . . . . . . . . . . . . . . . . . 12
     B.4.   The ipbcp, bcastversion, 3GPP-Integrity-Key,
            3GPP-SDP-Auth, alt-group, PSCid, bc_service,
            bc_program and bc_service_package Attributes  . . . . . . 13
   Appendix C.  Release notes . . . . . . . . . . . . . . . . . . . . 13
     C.1.   Modifications between -04 and -03 . . . . . . . . . . . . 13
     C.2.   Design Notes  . . . . . . . . . . . . . . . . . . . . . . 13
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 13




















Petit-Huguenin           Expires April 11, 2013                 [Page 2]


Internet-Draft         Media level ICE attributes           October 2012


1.  Introduction

   ICE [RFC5245] defines the ice-options SDP attribute as session-level
   only attribute, but when ICE is used with disaggregated media (see
   section 3 of [I-D.loreto-splices-disaggregated-media] ), there is a
   possibility that different media use different ICE implementations
   and/or different networks, and so these different media will require
   different values for this attribute.

   As an example, the ice-options attribute value "rtp+ecn" (defined in
   [RFC6679] ) signals ECN capability.  Two aggregated media using two
   different RTP implementations may want to use different values for
   this attribute.

   Note that there is a similar problem for the ice-lite attribute but
   unfortunately it does not seem possible to design a way to use the
   ice-lite attribute at the media level that is compatible with legacy
   implementations that recognize only the session-level attribute.


2.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119] .


3.  The ice-options Attribute

   The ice-options attribute is redefined by this document as a session-
   level and media-level attribute.

   All future new ICE options MUST also define how media-level ICE
   options using this new value are aggregated to eventually generate
   the value of the session-level ICE option, so legacy implementations
   that only recognize session-level ICE options can interoperate with
   implementations that recognize ICE options at both levels.

   Before applying this specific aggregation rule, the session-level
   ice-options attribute MUST be copied as media-level attribute in each
   media.


4.  The ice-lite Attribute

   The ice-lite attribute is not redefined by this specification.





Petit-Huguenin           Expires April 11, 2013                 [Page 3]


Internet-Draft         Media level ICE attributes           October 2012


5.  The ice-mismatch Attribute

   [RFC5245] section 15.3 defines this attribute as been media level,
   which seems correct, but section 21.1.4 erroneously registered this
   attribute in IANA as session level.  An errata [1] has been filled
   and the IANA registry has been accordingly fixed.


6.  Specific Aggregation Rule for the rtp+ecn ICE Option

   If all aggregated media using ICE contain a media-level "rtp+ecn" ICE
   option, as defined by [RFC6064] , then an "rtp+ecn" ICE option MUST
   be inserted at the session-level.


7.  Security Considerations

   This document does not add any security considerations beyond what is
   discussed in [RFC5245] .


8.  IANA Considerations

   No IANA considerations.


9.  Acknowledgements

   This document was written with the xml2rfc tool described in
   [RFC2629] .


10.  References

10.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC5245]  Rosenberg, J., "Interactive Connectivity Establishment
              (ICE): A Protocol for Network Address Translator (NAT)
              Traversal for Offer/Answer Protocols", RFC 5245,
              April 2010.

   [RFC6679]  Westerlund, M., Johansson, I., Perkins, C., O'Hanlon, P.,
              and K. Carlberg, "Explicit Congestion Notification (ECN)
              for RTP over UDP", RFC 6679, August 2012.




Petit-Huguenin           Expires April 11, 2013                 [Page 4]


Internet-Draft         Media level ICE attributes           October 2012


10.2.  Informative References

   [RFC2629]  Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
              June 1999.

   [RFC4566]  Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
              Description Protocol", RFC 4566, July 2006.

   [RFC5159]  Dondeti, L. and A. Jerichow, "Session Description Protocol
              (SDP) Attributes for Open Mobile Alliance (OMA) Broadcast
              (BCAST) Service and Content Protection", RFC 5159,
              March 2008.

   [RFC5888]  Camarillo, G. and H. Schulzrinne, "The Session Description
              Protocol (SDP) Grouping Framework", RFC 5888, June 2010.

   [RFC6064]  Westerlund, M. and P. Frojdh, "SDP and RTSP Extensions
              Defined for 3GPP Packet-Switched Streaming Service and
              Multimedia Broadcast/Multicast Service", RFC 6064,
              January 2011.

   [I-D.loreto-splices-disaggregated-media]
              Camarillo, G., Loreto, S., and R. Shekh-Yusef,
              "Disaggregated Media in the Session Initiation Protocol
              (SIP)", draft-loreto-splices-disaggregated-media-02 (work
              in progress), June 2011.

URIs

   [1]  <http://www.rfc-editor.org/errata_search.php?eid=3149>


Appendix A.  Examples

A.1.  Aggregating media all supporting ICE

   In this example, we have two SDP to aggregate.  The first SDP
   contains an ice-options attribute at the media level:













Petit-Huguenin           Expires April 11, 2013                 [Page 5]


Internet-Draft         Media level ICE attributes           October 2012


   v=0
   o=jdoe 2890844526 2890842807 IN IP4 10.0.1.1
   s=
   c=IN IP4 192.0.2.3
   t=0 0
   a=ice-options:rtp+ecn
   a=ice-pwd:asd88fgpdd777uzjYhagZg
   a=ice-ufrag:8hhY
   m=audio 45664 RTP/AVP 0
   b=RS:0
   b=RR:0
   a=rtpmap:0 PCMU/8000
   a=candidate:1 1 UDP 2130706431 10.0.1.1 8998 typ host
   a=candidate:2 1 UDP 1694498815 192.0.2.3 45664 typ srflx raddr
     10.0.1.1 rport 8998
   m=text 45666 RTP/AVP 98
   b=RS:0
   b=RR:0
   a=rtpmap:98 t140/1000
   a=candidate:1 1 UDP 2130706431 10.0.1.1 9000 typ host
   a=candidate:2 1 UDP 1694498815 192.0.2.3 45666 typ srflx raddr
     10.0.1.1 rport 9000

   The second SDP also have an ice-options attribute at the media level:
   v=0
   o=jdoe 1 1 IN IP4 10.0.1.2
   s=
   c=IN IP4 192.0.2.4
   t=0 0
   a=ice-options:rtp+ecn
   a=ice-pwd:f7sD7f7dF87s87d7da5564
   a=ice-ufrag:776G
   m=video 10000 RTP/AVP
   b=RS:0
   b=RR:0
   a=rtpmap:0 PCMU/8000
   a=candidate:1 1 UDP 2130706431 10.0.1.2 10000 typ host
   a=candidate:2 1 UDP 1694498815 192.0.2.4 45000 typ srflx raddr
     10.0.1.1 rport 10000

   The first step is to copy the session-level ice-options attribute as
   media-level attribute.  The first SDP is modified like this:









Petit-Huguenin           Expires April 11, 2013                 [Page 6]


Internet-Draft         Media level ICE attributes           October 2012


   v=0
   o=jdoe 2890844526 2890842807 IN IP4 10.0.1.1
   s=
   c=IN IP4 192.0.2.3
   t=0 0
   a=ice-options:rtp+ecn
   a=ice-pwd:asd88fgpdd777uzjYhagZg
   a=ice-ufrag:8hhY
   m=audio 45664 RTP/AVP 0
   b=RS:0
   b=RR:0
   a=rtpmap:0 PCMU/8000
   a=ice-options:rtp+ecn
   a=candidate:1 1 UDP 2130706431 10.0.1.1 8998 typ host
   a=candidate:2 1 UDP 1694498815 192.0.2.3 45664 typ srflx raddr
     10.0.1.1 rport 8998
   m=text 45666 RTP/AVP 98
   b=RS:0
   b=RR:0
   a=rtpmap:98 t140/1000
   a=ice-options:rtp+ecn
   a=candidate:1 1 UDP 2130706431 10.0.1.1 9000 typ host
   a=candidate:2 1 UDP 1694498815 192.0.2.3 45666 typ srflx raddr
     10.0.1.1 rport 9000

   The second SDP is modified like this:
   v=0
   o=jdoe 1 1 IN IP4 10.0.1.2
   s=
   c=IN IP4 192.0.2.4
   t=0 0
   a=ice-options:rtp+ecn
   a=ice-pwd:f7sD7f7dF87s87d7da5564
   a=ice-ufrag:776G
   m=video 10000 RTP/AVP
   b=RS:0
   b=RR:0
   a=rtpmap:0 PCMU/8000
   a=ice-options:rtp+ecn
   a=candidate:1 1 UDP 2130706431 10.0.1.2 10000 typ host
   a=candidate:2 1 UDP 1694498815 192.0.2.4 45000 typ srflx raddr
     10.0.1.1 rport 10000

   After aggregation, all the individual media keep their media-level
   ice-options attribute, and a session-level ice-options attribute is
   added as per the rule in Section 3 :





Petit-Huguenin           Expires April 11, 2013                 [Page 7]


Internet-Draft         Media level ICE attributes           October 2012


   v=0
   o=- 1309452627 1309452627 IN IP4 10.0.1.1
   s=
   t=0 0
   a=ice-options:rtp+ecn
   m=audio 45664 RTP/AVP 0
   c=IN IP4 192.168.2.3
   b=RS:0
   b=RR:0
   a=rtpmap:0 PCMU/8000
   a=ice-options:rtp+ecn
   a=ice-pwd:asd88fgpdd777uzjYhagZg
   a=ice-ufrag:8hhY
   a=candidate:1 1 UDP 2130706431 10.0.1.1 8998 typ host
   a=candidate:2 1 UDP 1694498815 192.0.2.3 45664 typ srflx raddr
     10.0.1.1 rport 8998
   m=text 45666 RTP/AVP 98
   c=IN IP4 192.168.2.3
   b=RS:0
   b=RR:0
   a=rtpmap:98 t140/1000
   a=ice-options:rtp+ecn
   a=ice-pwd:asd88fgpdd777uzjYhagZg
   a=ice-ufrag:8hhY
   a=candidate:1 1 UDP 2130706431 10.0.1.1 9000 typ host
   a=candidate:2 1 UDP 1694498815 192.0.2.3 45666 typ srflx raddr
     10.0.1.1 rport 9000
   m=video 10000 RTP/AVP
   c=IN IP4 192.168.2.4
   b=RS:0
   b=RR:0
   a=rtpmap:0 PCMU/8000
   a=ice-options:rtp+ecn
   a=candidate:1 1 UDP 2130706431 10.0.1.2 10000 typ host
   a=candidate:2 1 UDP 1694498815 192.0.2.4 45000 typ srflx raddr
     10.0.1.1 rport 10000

A.2.  Aggregating media partially supporting ICE

   In this example, we have two SDP to aggregate, but the second one
   does not use ICE.  The first SDP contains an ice-options attribute at
   the media level:









Petit-Huguenin           Expires April 11, 2013                 [Page 8]


Internet-Draft         Media level ICE attributes           October 2012


   v=0
   o=jdoe 2890844526 2890842807 IN IP4 10.0.1.1
   s=
   c=IN IP4 192.0.2.3
   t=0 0
   a=ice-options:rtp+ecn
   a=ice-pwd:asd88fgpdd777uzjYhagZg
   a=ice-ufrag:8hhY
   m=audio 45664 RTP/AVP 0
   b=RS:0
   b=RR:0
   a=rtpmap:0 PCMU/8000
   a=candidate:1 1 UDP 2130706431 10.0.1.1 8998 typ host
   a=candidate:2 1 UDP 1694498815 192.0.2.3 45664 typ srflx raddr
     10.0.1.1 rport 8998
   m=text 45666 RTP/AVP 98
   b=RS:0
   b=RR:0
   a=rtpmap:98 t140/1000
   a=candidate:1 1 UDP 2130706431 10.0.1.1 9000 typ host
   a=candidate:2 1 UDP 1694498815 192.0.2.3 45666 typ srflx raddr
     10.0.1.1 rport 9000

   The second SDP does not contain any ice-options attribute:
   v=0
   o=jdoe 1 1 IN IP4 10.0.1.2
   s=
   c=IN IP4 192.0.2.4
   t=0 0
   m=video 10000 RTP/AVP
   a=rtpmap:0 PCMU/8000

   The first step is to copy the session-level ice-options attribute as
   media-level attribute.  Only the first SDP is modified in this
   example:
















Petit-Huguenin           Expires April 11, 2013                 [Page 9]


Internet-Draft         Media level ICE attributes           October 2012


   v=0
   o=jdoe 2890844526 2890842807 IN IP4 10.0.1.1
   s=
   c=IN IP4 192.0.2.3
   t=0 0
   a=ice-options:rtp+ecn
   a=ice-pwd:asd88fgpdd777uzjYhagZg
   a=ice-ufrag:8hhY
   m=audio 45664 RTP/AVP 0
   b=RS:0
   b=RR:0
   a=rtpmap:0 PCMU/8000
   a=ice-options:rtp+ecn
   a=candidate:1 1 UDP 2130706431 10.0.1.1 8998 typ host
   a=candidate:2 1 UDP 1694498815 192.0.2.3 45664 typ srflx raddr
     10.0.1.1 rport 8998
   m=text 45666 RTP/AVP 98
   b=RS:0
   b=RR:0
   a=rtpmap:98 t140/1000
   a=ice-options:rtp+ecn
   a=candidate:1 1 UDP 2130706431 10.0.1.1 9000 typ host
   a=candidate:2 1 UDP 1694498815 192.0.2.3 45666 typ srflx raddr
     10.0.1.1 rport 9000

   After aggregation, all the individual media keep their media-level
   ice-options attribute, and a session-level ice-options attribute is
   added as per the rule in Section 3 :























Petit-Huguenin           Expires April 11, 2013                [Page 10]


Internet-Draft         Media level ICE attributes           October 2012


   v=0
   o=- 1309452627 1309452627 IN IP4 10.0.1.1
   s=
   t=0 0
   a=ice-options:rtp+ecn
   m=audio 45664 RTP/AVP 0
   c=IN IP4 192.168.2.3
   b=RS:0
   b=RR:0
   a=rtpmap:0 PCMU/8000
   a=ice-options:rtp+ecn
   a=ice-pwd:asd88fgpdd777uzjYhagZg
   a=ice-ufrag:8hhY
   a=candidate:1 1 UDP 2130706431 10.0.1.1 8998 typ host
   a=candidate:2 1 UDP 1694498815 192.0.2.3 45664 typ srflx raddr
     10.0.1.1 rport 8998
   m=text 45666 RTP/AVP 98
   c=IN IP4 192.168.2.3
   b=RS:0
   b=RR:0
   a=rtpmap:98 t140/1000
   a=ice-options:rtp+ecn
   a=ice-pwd:asd88fgpdd777uzjYhagZg
   a=ice-ufrag:8hhY
   a=candidate:1 1 UDP 2130706431 10.0.1.1 9000 typ host
   a=candidate:2 1 UDP 1694498815 192.0.2.3 45666 typ srflx raddr
     10.0.1.1 rport 9000
   m=video 10000 RTP/AVP
   c=IN IP4 192.168.2.4
   a=rtpmap:0 PCMU/8000


Appendix B.  Analysis of similar issues in other attributes

   In the MMUSIC WG session in Quebec City, it was suggested that the
   problem was perhaps larger than just ICE attributes.  This section is
   the result of a systematic look at all the session level only SDP
   attributes registered by IANA at the date of this document.  The
   conclusion is that only the ICE attributes are of concern but that
   steps should be taken to ensure that these problems cannot happen for
   future new attributes.










Petit-Huguenin           Expires April 11, 2013                [Page 11]


Internet-Draft         Media level ICE attributes           October 2012


    +--------------------+----------------------------+--------------+
    | Attribute          | Reference                  | Comments     |
    +--------------------+----------------------------+--------------+
    | cat                | [RFC4566]                  | OK           |
    | keywds             | [RFC4566]                  | OK           |
    | type               | [RFC4566]                  | OK           |
    | type:broadcast     | [RFC4566]                  | Appendix B.1 |
    | type:H332          | [ITU Recommendation H.332] | OK           |
    | type:meeting       | [RFC4566]                  | OK           |
    | type:moderated     | [RFC4566]                  | OK           |
    | type:test          | [RFC4566]                  | OK           |
    | charset            | [RFC4566]                  | Appendix B.2 |
    | charset:iso8895-1  | [RFC4566]                  | Appendix B.2 |
    | tool               | [RFC4566]                  | Appendix B.3 |
    | ipbcp              | [ITU-T Q.1970]             | Appendix B.4 |
    | group              | [RFC5888]                  | OK           |
    | ice-lite           | [RFC5245]                  | Section 4    |
    | ice-mismatch       | [RFC5245]                  | Section 5    |
    | ice-options        | [RFC5245]                  | Section 3    |
    | bcastversion       | [RFC5159]                  | Appendix B.4 |
    | 3GPP-Integrity-Key | [RFC6064]                  | Appendix B.4 |
    | 3GPP-SDP-Auth      | [RFC6064]                  | Appendix B.4 |
    | alt-group          | [RFC6064]                  | Appendix B.4 |
    | PSCid              | [TS 183 063]               | Appendix B.4 |
    | bc_service         | [TS 183 063]               | Appendix B.4 |
    | bc_program         | [TS 183 063]               | Appendix B.4 |
    | bc_service_package | [TS 183 063]               | Appendix B.4 |
    +--------------------+----------------------------+--------------+

B.1.  The type:broadcast Attribute

   The "type:broadcast" does not have any issue by itself, but it should
   be noted that it implies a default attribute of recvonly, so the
   disaggregation process must take this in account.

B.2.  The charset Attribute

   Because the main reason to use a different charset for a session
   description is to generate a more compact representation, it is
   probably OK that this attribute exists only at the session level.
   But the aggregation/disaggregation rules must explicitly convert the
   individual media descriptions to and from the common charset, ISO-
   10646.

B.3.  The tool Attribute

   The definition of this attribute make it clear that this attribute
   contains the name and version number of the tool that created the



Petit-Huguenin           Expires April 11, 2013                [Page 12]


Internet-Draft         Media level ICE attributes           October 2012


   session description as a whole.  But it probably would be useful to
   define this attribute at the media level too, so we can know the
   tools used for create the individual media descriptions.

B.4.  The ipbcp, bcastversion, 3GPP-Integrity-Key, 3GPP-SDP-Auth, alt-
      group, PSCid, bc_service, bc_program and bc_service_package
      Attributes

   These attributes were not defined in IETF Standard Track documents,
   so the analysis is left to the SDOs that produced this
   specifications.


Appendix C.  Release notes

   This section must be removed before publication as an RFC.

C.1.  Modifications between -04 and -03

   o  Updated rtp+ecn reference.
   o  IANA registry for ice-mismatch fixed.

C.2.  Design Notes

   o  It has been proposed multiple times to use a different attribute
      name for the ice-options attribute when used at the media-level.
      Using a different name does not solve the aggregation problem and,
      in the opinion of this author, could create confusion.


Author's Address

   Marc Petit-Huguenin
   Impedance Mismatch

   Email: petithug@acm.org















Petit-Huguenin           Expires April 11, 2013                [Page 13]