--- 1/draft-ietf-mmusic-sdp-new-02.txt 2006-02-05 00:28:33.000000000 +0100 +++ 2/draft-ietf-mmusic-sdp-new-03.txt 2006-02-05 00:28:33.000000000 +0100 @@ -1,17 +1,17 @@ Internet Engineering Task Force MMUSIC WG INTERNET-DRAFT Mark Handley/ACIRI -draft-ietf-mmusic-sdp-new-02.txt Van Jacobson/Packet Design +draft-ietf-mmusic-sdp-new-03.txt Van Jacobson/Packet Design Colin Perkins/ISI - 30 April 2001 - Expires: October 2001 + 13 July 2001 + Expires: January 2002 SDP: Session Description Protocol 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 @@ -499,22 +499,25 @@ Email Address and Phone Number e= p= o These specify contact information for the person responsible for the conference. This is not necessarily the same person that created the conference announcement. -o Either an email field or a phone field MUST be specified. - Additional email and phone fields are allowed. +o Inclusion of an email address or phone number is OPTIONAL. Note + that the previous version of SDP specified that either an email + field or a phone field MUST be specified, but this was widely + ignored. The change brings the specification into line with common + usage. o If these are present, they should be specified before the first media field. o More than one email or phone field can be given for a session description. o Phone numbers should be given in the conventional international format - preceded by a ``+'' and the international country code. There must be a space or a hyphen (``-'') between the country code @@ -549,27 +552,28 @@ description (see below) or a ``c='' field at the session-level. It MAY contain a session-level ``c='' field and one additional ``c='' field per media description, in which case the per-media values override the session-level settings for the relevant media. The first sub-field is the network type, which is a text string giving the type of network. Initially ``IN'' is defined to have the meaning ``Internet''. The second sub-field is the address type. This allows SDP to be used -for sessions that are not IP based. Currently only IP4 is defined. +for sessions that are not IP based. Currently only IP4 and IP6 are +defined. The third sub-field is the connection address. Optional extra sub- fields may be added after the connection address depending on the value of the
field. -For IP4 addresses, the connection address is defined as follows: +For IP4 and IP6 addresses, the connection address is defined as follows: o If the session is multicast, the connection address will be an IP multicast group address. If the conference is not multicast, then the connection address contains the unicast IP address of the expected data source or data relay or data sink as determined by additional attribute fields. It is not expected that unicast addresses will be given in a session description that is communicated by a multicast announcement, though this is not prohibited. @@ -664,25 +668,31 @@ o ``t='' fields specify the start and stop times for a session. Multiple ``t='' fields MAY be used if a session is active at multiple irregularly spaced times; each additional ``t='' field specifies an additional period of time for which the session will be active. If the session is active at regular times, an ``r='' field (see below) should be used in addition to and following a ``t='' field - in which case the ``t='' field specifies the start and stop times of the repeat sequence. o The first and second sub-fields give the start and stop times for - the conference respectively. These values are the decimal + the session respectively. These values are the decimal representation of Network Time Protocol (NTP) time values in seconds [1]. To convert these values to UNIX time, subtract decimal 2208988800. + NTP timestamps are 64 bit values which wrap sometime in the year + 2036. Since SDP uses an arbitrary length decimal representation, + this should not cause an issue (SDP timestamps will continue + counting seconds since 1900, NTP will use the value modulo the 64 + bit limit). + o If the stop-time is set to zero, then the session is not bounded, though it will not become active until after the start-time. If the start-time is also zero, the session is regarded as permanent. User interfaces SHOULD strongly discourage the creation of unbounded and permanent sessions as they give no information about when the session is actually going to terminate, and so make scheduling difficult. The general assumption may be made, when displaying unbounded @@ -1075,20 +1084,28 @@ not dependent on charset. a=ptime: This gives the length of time in milliseconds represented by the media in a packet. This is probably only meaningful for audio data. It should not be necessary to know ptime to decode RTP or vat audio, and it is intended as a recommendation for the encoding/packetisation of audio. It is a media attribute, and is not dependent on charset. +a=maxptime: + The maximum amount of media which can be encapsulated in each + packet, expressed as time in milliseconds. The time shall be + calculated as the sum of the time the media present in the packet + represents. The time SHOULD be a multiple of the frame size. This is + probably only meaningful for audio data. It is a media attribute, + and is not dependent on charset. + a=recvonly This specifies that the tools should be started in receive-only mode where applicable. It can be either a session or media attribute, and is not dependent on charset. a=sendrecv This specifies that the tools should be started in send and receive mode. This is necessary for interactive conferences with tools such as wb which defaults to receive only mode. It can be either a session or media attribute, and is not dependent on charset. @@ -1422,25 +1440,32 @@ sess-id = 1*(DIGIT) ;should be unique for this originating username/host sess-version = 1*(DIGIT) ;0 is a new session connection-address = multicast-address | unicast-address -multicast-address = 3*(decimal_uchar ".") decimal_uchar "/" ttl +multicast-address = IP4-multicast | IP6-multicast + +IP4-multicast = m1 3*(decimal_uchar ".") decimal_uchar "/" ttl [ "/" integer ] - ;multicast addresses may be in the range + ;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 + ttl = decimal_uchar start-time = time | "0" stop-time = time | "0" time = POS-DIGIT 9*(DIGIT) ;sufficient for 2 more centuries repeat-interval = typed-time @@ -1454,21 +1479,21 @@ bandwidth = 1*(DIGIT) username = safe ;pretty wide definition, but doesn't include space email-address = email | email "(" email-safe ")" | email-safe "<" email ">" email = ;defined in RFC822 -uri= ;defined in RFC1630 +uri= ;defined in RFC1630 and RFC2732 phone-number = phone | phone "(" email-safe ")" | email-safe "<" phone ">" phone = "+" POS-DIGIT 1*(space | "-" | DIGIT) ;there must be a space or hyphen between the ;international code and the rest of the number. nettype = "IN" ;list to be extended @@ -1482,21 +1507,24 @@ ;fully qualified domain name as specified in RFC1035 unicast-address = IP4-address | IP6-address IP4-address = b1 "." decimal_uchar "." decimal_uchar "." b4 b1 = decimal_uchar ;less than "224"; not "0" or "127" b4 = decimal_uchar ;not "0" -IP6-address = ;to be defined +IP6-address = hexpart [ ":" IP4-address ] +hexpart = hexseq | hexseq "::" [ hexseq ] | "::" [ hexseq ] +hexseq = hex4 *( ":" hex4) +hex4 = 1*4HEXDIG text = byte-string ;default is to interpret this as IS0-10646 UTF8 ;ISO 8859-1 requires a "a=charset:ISO-8859-1" ;session-level attribute to be used byte-string = 1*(0x01..0x09|0x0b|0x0c|0x0e..0xff) ;any byte except NUL, CR or LF decimal_uchar = DIGIT @@ -1705,21 +1733,21 @@ Van Jacobson MS 46a-1121 Lawrence Berkeley Laboratory Berkeley, CA 94720 United States Email: van@ee.lbl.gov Colin Perkins USC Information Sciences Institute -4350 N. Fairfax Drive +3811 N. Fairfax Drive, Suite 200 Arlington, VA 22203 United States Email: csp@isi.edu Acknowledgments Many people in the IETF MMUSIC working group have made comments and suggestions contributing to this document. In particular, we would like to thank Eve Schooler, Steve Casner, Bill Fenner, Allison Mankin, Ross Finlayson, Peter Parnes, Joerg Ott, Carsten Bormann and Steve Hanna.