Internet Engineering Task Force                 Sean Olson
Internet draft                                  Gonzalo Camarillo
                                                Adam Roach
                                                Ericsson
                                                October 2001
                                                Expires March 2002
                                      <draft-olson-sdp-ipv6-01.txt>

                   Support for IPv6 in SDP


Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups. Note that
   other groups may also distribute working documents as Internet-
   Drafts. 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."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt
   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

Abstract

   This document describes the use of IPv6 addresses [1] in conjunction with
   the Session Description Protocol (SDP) [2]. Specifically, this document
   clarifies existing text in SDP with regards to the syntax of IPv6
   addresses.

1. Introduction

   SDP is intended for describing multimedia sessions for the purposes of
   session announcement, session invitation, and other forms of multimedia
   session initiation. It is a text format description that provides
   many details of a multimedia session including: the originator of the
   session, a URL related to the session, the connection address for the session
   media(s), and optional attributes for the session media(s). Each of these
   pieces of information may involve one or more IPv6 addresses. The ABNF for IP
   addresses in SDP currently leaves the syntax for IPv6 addresses undefined.
   This Internet-Draft attempts to complete the ABNF to include IPv6 addresses.

   Accordingly, the address type "IP6" indicating an IPv6 address, should
   be allowed in the connection field, "c=", of the SDP. The ABNF already
   reflects this, though the "Connection Data" text under section 6 of
   RFC2328 currently only defines the "IP4" address type.

Olson, et. al.                                         [Page 1]


2. Solution

   RFC2373 [1] gives an ABNF for the text representation of IPv6 addresses in
   Appendix B. RFC2732 [3] covers the text representation of IPv6 addresses
   when used within a URL. Using the ABNF described in these documents, the
   following updated ABNF for SDP is proposed.

   uri =                 ; defined in RFC1630 and RFC2732

   multicast-address =   IP4-multicast | IP6-multicast

   IP4-multicast =       m1 3*( "." decimal-uchar ) "/" ttl [ "/" integer ]
                         ; IPv4 multicast addresses may be in the range
                         ; 224.0.0.0 to 239.255.255.255

   m1 =                  ("22" ("4"|"5"|"6"|"7"|"8"|"9")) | ("23" DIGIT ))


   IP6-multicast =       hexpart [ ":" IP4-multicast ]
                         "/" ttl [ "/" integer ]
                         ; IPv6 address starting with FF00

   addr =                FQDN | unicast-address

   FQDN =                4*(alpha-numeric|"-"|".")
                         ; fully qualified domain name as specified in
                         ; RFC1035

   unicast-address =     IP4-address | IP6-address

   IP4-address =         b1 "." decimal-uchar "." decimal-uchar "." b4
                         | "0.0.0.0"

   b1 =                  decimal-uchar
                         ; less than "224"; not "0" or "127"

   b4 =                  decimal-uchar
                         ; not "0"

   IP6-address =         hexpart [ ":" IP4-address ]

   hexpart =             hexseq | hexseq "::" [ hexseq ] | "::" [ hexseq ]
   hexseq =              hex4 *( ":" hex4)
   hex4 =                1*4HEXDIG

Olson, et. al.                                         [Page 2]


4. Example SDP description with IPv6 addresses

   The following is an example SDP description using the above ABNF
   for IPv6 addresses. In particular, the origin, URI, and connection
   fields contain IPv6 addresses.

   v=0
   o=nasa1 971731711378798081 0 IN IP6 2201:056D::112E:144A:1E24
   s=(Almost) live video feed from Mars-II sattelite
   u=http://[2201:056D::112E:144A:1E24]/marsII
   p=+1 713 555 1234
   c=IN IP6 FF00:03AD::7F2E:172A:1E24
   t=3338481189 3370017201
   m=audio 6000 RTP/AVP 2
   a=rtpmap:2 G726-32/8000
   m=video 6024 RTP/AVP 107
   a=rtpmap:107 H263-1998/90000

5. Backward compatibility

   An implementation that does not understand the IPv6 extensions to the
   SDP grammar MUST reject the SDP.

6. References

   [1] R. Hinden and S. Deering, "IP Version 6 Addressing Architecture",
   RFC2373, IETF.

   [2] M. Handley and V. Jacobson, "Session Description Protocol",
   RFC2327, IETF.

   [3] R. Hinden, et. al., "Format for Literal IPv6 Addresses in URL's",
   RFC2732, IETF.

   [4] D. Crocker and P. Overell,
   "Augmented BNF for Syntax Specifications: ABNF",
   RFC2234, IETF.


7. Author's Addresses

   Sean Olson
   Ericsson
   Richardson, Texas
   USA

   Phone: +1 972 583 5472
   Fax: +1 972 669 0154
   Email: Sean.Olson@ericsson.com

   Gonzalo Camarillo
   Ericsson
   Advanced Signalling Research Lab.
   FIN-02420 Jorvas
   Finland

   Phone: +358 9 299 3371
   Fax: +358 9 299 3118
   Email: Gonzalo.Camarillo@ericsson.com

   Adam Roach
   Ericsson
   Richardson, Texas
   USA

   Phone: +1 972 583 7594
   Fax: +1 972 669 0154
   Email: Adam.Roach@ericsson.com

Olson, et. al.                                         [Page 3]