Subject: [MMUSIC] [Editorial Errata Reported] RFC4566 (4903)

From: RFC Errata System <[email-masked]>
Date: Wed, 11 Jan 2017 21:04:06 -0800 (PST)

The following errata report has been submitted for RFC4566,
"SDP: Session Description Protocol".

--------------------------------------
You may review the report below and at:
http://www.rfc-editor.org/errata_search.php?rfc=4566&eid=4903

--------------------------------------
Type: Editorial
Reported by: Jxck <[email-masked]>

Section: 9

Original Text
-------------
   ; SDP Syntax
   session-description = proto-version
                         origin-field
                         session-name-field
                         information-field
                         uri-field
                         email-fields
                         phone-fields
                         connection-field
                         bandwidth-fields
                         time-fields
                         key-field
                         attribute-fields
                         media-descriptions

   connection-field =    [%x63 "=" nettype SP addrtype SP
                         connection-address CRLF]
                         ;a connection field must be present
                         ;in every media description or at the
                         ;session-level

   media-descriptions =  *( media-field
                         information-field
                         *connection-field
                         bandwidth-fields
                         key-field
                         attribute-fields )

Corrected Text
--------------
   ; SDP Syntax
   session-description = proto-version
                         origin-field
                         session-name-field
                         information-field
                         uri-field
                         email-fields
                         phone-fields
                         [connection-field]
                         bandwidth-fields
                         time-fields
                         key-field
                         attribute-fields
                         media-descriptions

   connection-field =    %x63 "=" nettype SP addrtype SP
                         connection-address CRLF
                         ;a connection field must be present
                         ;in every media description or at the
                         ;session-level

   media-descriptions =  *( media-field
                         information-field
                         *connection-field
                         bandwidth-fields
                         key-field
                         attribute-fields )

Notes
-----
in BNF of SDP, 
connection-field itself is optional [0, 1], but media-description has multiple [0,) connection-field.
it seems conflict, because multiple of optional fields doesn't finish because multiple filed can't find when to end.

so change connection-field itself not optional (remove []) and, replace session-descriptions connection-field as optional.

Instructions:
-------------
This erratum is currently posted as "Reported". If necessary, please
use "Reply All" to discuss whether it should be verified or
rejected. When a decision is reached, the verifying party  
can log in to change the status and edit the report, if necessary. 

--------------------------------------
RFC4566 (draft-ietf-mmusic-sdp-new-26)
--------------------------------------
Title               : SDP: Session Description Protocol
Publication Date    : July 2006
Author(s)           : M. Handley, V. Jacobson, C. Perkins
Category            : PROPOSED STANDARD
Source              : Multiparty Multimedia Session Control RAI
Area                : Real-time Applications and Infrastructure
Stream              : IETF
Verifying Party     : IESG

---

From: [email-masked] (Dale R. Worley)
Date: Thu, 12 Jan 2017 09:33:27 -0500

> in BNF of SDP, connection-field itself is optional [0, 1], but
> media-description has multiple [0,) connection-field.  it seems
> conflict, because multiple of optional fields doesn't finish because
> multiple filed can't find when to end.

As a grammar, a set of BNF productions, the original text is correct.
The erratum is correct that parser generators may have a difficult time
processing that grammar, but strictly speaking, that is not a problem
with the RFC.

Personally, I do not like the style of the grammar, which is to present
all of the alternatives as required and then each alternative contains
its own optionality.  That is,

			 [...]

   information-field =   [%x69 "=" text CRLF]

   uri-field =           [%x75 "=" uri CRLF]

   email-fields =        *(%x65 "=" email-address CRLF)

I would prefer

                         [information-field]
                         [uri-field]
                         *email-field
			 [...]

   information-field =   %x69 "=" text CRLF

   uri-field =           %x75 "=" uri CRLF

   email-field =         %x65 "=" email-address CRLF

But that is a style issue, and it is best to define connection-field
using the same style as every other field.

Dale