Subject: [MEDIACTRL] Draft Shepherd Write-Up: A Mixer Control Package for the Media Control Channel Framework

From: "Spencer Dawkins" <[email-masked]>
Date: Mon, 14 Dec 2009 17:49:45 -0600

Just to keep everyone in the loop - I have completed a draft shepherd 
writeup for the MIXER package. I did find a small number of questions, 
listed below. Could the authors take a look at these, so I can forward the 
writeup to Robert and request publication?

(And if you spin a new revision addressing any of these questions - idnits 
complains about two lines that are more than 72 characters long, so if you 
could make those adjustments as well, that would be great)

Thanks,

Spencer, as chair

------------

Document: A Mixer Control Package for the Media Control Channel Framework

draft-ietf-mediactrl-mixer-control-package-08

(Standards Track)

(1.a) Who is the Document Shepherd for this document? Has the
           Document Shepherd personally reviewed this version of the
           document and, in particular, does he or she believe this
           version is ready for forwarding to the IESG for publication?

Spencer Dawkins is the document shepherd. I have personally reviewed this
version of the document, and it is ready to forward to the IESG for
publication.

     (1.b) Has the document had adequate review both from key WG members
           and from key non-WG members? Does the Document Shepherd have
           any concerns about the depth or breadth of the reviews that
           have been performed?

This document was co-authored by many of the key WG members :-), and the 
document has been closely reviewed by multiple implementation teams (most 
recently at Broadsoft, and the Broadsoft team were not document authors).

Shawn Emery performed an early sec-dir review at the request of the chairs.

When feedback for IVR also applied to the MIXER control package, the editor 
modified the MIXER control package as well.

     (1.c) Does the Document Shepherd have concerns that the document
           needs more review from a particular or broader perspective,
           e.g., security, operational complexity, someone familiar with
           AAA, internationalization or XML?

No.

     (1.d) Does the Document Shepherd have any specific concerns or
           issues with this document that the Responsible Area Director
           and/or the IESG should be aware of? For example, perhaps he
           or she is uncomfortable with certain parts of the document, or
           has concerns whether there really is a need for it. In any
           event, if the WG has discussed those issues and has indicated
           that it still wishes to advance the document, detail those
           concerns here. Has an IPR disclosure related to this document
           been filed? If so, please include a reference to the
           disclosure and summarize the WG discussion and conclusion on
           this issue.

None.

     (1.e) How solid is the WG consensus behind this document? Does it
           represent the strong concurrence of a few individuals, with
           others being silent, or does the WG as a whole understand and
           agree with it?

Strong consensus for publishing. This is one of two key control packages for
the entire working group.

The only contentious discussion we've had resulting from WGLC was whether 
errors that occur in both IVR and MIXER should have the same error code. 
After some discussion on the mailing list, Eric and I decided that this 
wasn't a useful change, because error handlers must be written per-package 
anyway, and this would have required us to pull the IVR control package 
document back into the working group, for minimal gain.

     (1.f) Has anyone threatened an appeal or otherwise indicated  extreme
           discontent? If so, please summarise the areas of conflict in
           separate email messages to the Responsible Area Director. (It
           should be in a separate email because this questionnaire is
           entered into the ID Tracker.)

None.

     (1.g) Has the Document Shepherd personally verified that the
           document satisfies all ID nits? (See
           http://www.ietf.org/ID-Checklist.html and
           http://tools.ietf.org/tools/idnits/). Boilerplate checks are
           not enough; this check needs to be thorough. Has the document
           met all formal review criteria it needs to, such as the MIB
           Doctor, media type and URI type reviews?

Checked with ID nits 2.11.05. The document generates a LOT of spurious nits,
because

- it uses square brackets to identify requirement labels, which look like
dangling references - but they aren't - and

- because the draft contains a "changes from previous versions" section with
a lot of section labels that look like (non-RFC 3330) IP addresses - but
they aren't - and

- because the draft includes XML attributes that look like (non-RFC 2606)
FQDNs - but they aren't.

All of these nits are spurious.

-> The document does have two "lines in excess of 72 characters" - the 
offending strings both being ")rg)."

The document uses active tense in its 2119 boilerplate instead of the
passive voice most documents use.

     (1.h) Has the document split its references into normative and
           informative? Are there normative references to documents that
           are not ready for advancement or are otherwise in an unclear
           state? If such normative references exist, what is the
           strategy for their completion? Are there normative references
           that are downward references, as described in [RFC3967]? If
           so, list these downward references to support the Area
           Director in the Last Call procedure for them [RFC3967].

We do have normative and informative references. All normative references
are published except for the MEDIACTRL Control Framework (previously 
submitted for publication), and there are no down-refs ([XML] is spurious).

     (1.i) Has the Document Shepherd verified that the document IANA
           consideration section exists and is consistent with the body
           of the document? If the document specifies protocol
           extensions, are reservations requested in appropriate IANA
           registries? Are the IANA registries clearly identified? If
           the document creates a new registry, does it define the
           proposed initial contents of the registry and an allocation
           procedure for future registrations? Does it suggest a
           reasonable name for the new registry? See [RFC5226]. If the
           document describes an Expert Review process has Shepherd
           conferred with the Responsible Area Director so that the IESG
           can appoint the needed Expert during the IESG Evaluation?

Yes.

     (1.j) Has the Document Shepherd verified that sections of the
           document that are written in a formal language, such as XML
           code, BNF rules, MIB definitions, etc., validate correctly in
           an automated checker?

-> Has the XML has been validated using the w3c xml schema tester and using 
xerces-c, as IVR was?

     (1.k) The IESG approval announcement includes a Document
           Announcement Write-Up. Please provide such a Document
           Announcement Write-Up? Recent examples can be found in the
           "Action" announcements for approved documents. The approval
           announcement contains the following sections:

           Technical Summary

   This document defines a Media Control Channel Framework Package for
   managing mixers for media conferences and connections.  The package
   defines request elements for managing conference mixers, managing
   mixers between conferences and/or connections, as well as associated
   responses and notifications.  The package also defines elements for
   auditing package capabilities and mixers.

           Working Group Summary

Nothing out of the ordinary happened in the WG to note.

           Document Quality

This document has sufficient normative statements and examples for one
to create an implementation. There are at least four independent
implementations of the control package described by this document.

This document has been stable for several versions, with small changes in
each revision, discussed on the mailing list. Most of the recent changes
have been suggested based on implementer experience.

--------------------------------------------------------

4.  Element Definitions

   Implementation of this control package MUST address the Security
   Considerations described in Section 7 ).

Spencer: is it normal to have a MUST pointing to the security considerations 
section in this document? I would think we could delete this sentence.

4.2.1.4.2.1.  <video-layout>

   Each video layout has associated with it one or more regions.  The
   XCON layouts have associated the following named regions:

Spencer: does not parse for me - perhaps "layouts are associated with the 
following named regions"?

   dual-view  layout presenting two streams side-by-side in two regions
      as shown in Figure 2.  The MS MUST NOT alter the aspect ratio of
      each stream to fit the region and hence the MS could have to blank
      part of each region.

Spencer: sorry, doesn't parse for me. perhaps "the MS might need to blank 
out part of each region"?

   dual-view-2x1  layout presenting two streams one above the other in
      two regions as shown in Figure 4.  The MS MUST NOT alter the
      aspect ratio of each stream to fit its region and hence the MS
      could have to blank part of each region.

Spencer: again, sorry, doesn't parse for me. perhaps "the MS might need to 
blank out part of each region"?

4.2.1.4.3.1.  Priority assignment

   2.  The MS uses priority values to assign participants to regions in
       the video layout which remain unfilled after application of the
       video switching policy.  The MS MUST dedicate larger and/or more
       prominent portions of the layout to participants with higher
       priority values first (e.g. first all participants with priority

Spencer: sorry, but this doesn't parse for me. Perhaps "first, all 
participants"?

       1, then those with 2, 3, etc).

4.2.2.1.  Joining Model

   Both of these cases can be solved by having the controlling AS create
   one or more conferences for audio mixing and to join and unjoin the

Spencer: doesn't parse for me - suggest "for audio mixing, and then join and 
unjoiun the media streams as required".

   media streams as required.  A better solution is to have the media
   server automatically mix media streams that are requested to be
   joined to a common input when only the simple summing of audio
   signals as described above is required.  This is the case for both
   the use cases presented above.

4.2.2.2.  <join>

   The <join> element is sent to the MS to request creation one or more

Spencer: suggest "creation of one or more"...

   media streams either between a connection and a conference, between
   connections, or between conferences.  The two entities to join are
   specified by the attributes of <join>.

4.2.4.1.  <active-talkers-notify>

   The <active-talkers-notify> element has the following sequence of
   child elements (0 or more occurrence's):

Spencer: s/e's/es/

   <active-talker>  element describing an active talker
      (Section 4.2.4.1.1).

4.2.4.1.1.  <active-talker>

   It is an error (400) if both the connectionid and conferenceid
   attributes are specified.

Spencer: it wasn't obvious to me here whether you could receive an 
<active-talker> with neither attribute, since both are optional. Since we're 
making the case where both are present explicit, is it worth making the case 
where neither is present explicit?

4.5.  Response Status Codes

   4xx failure responses can be grouped into three classes: failure due
   to a syntax error in the request (400); failure due to an error
   executing the request on the MS (405-419); and failure due to the
   request requiring a capability not supported by the MS (420-435).

Spencer: does 405-419 leave enough room for expansion? I note that 405-412 
are allocated now, plus 419. If we're expecting implementations to 
understand the different ranges, changing the ranges later is probably a 
non-starter, I think, so expanding now would be simpler.

   In cases where more than one request code could be reported for a
   failure, the MS SHOULD use the most specific error code of the
   failure class for the detected error.  For example, if the MS detects
   that the conference identifier in the request is invalid, then it
   uses a 406 status code.  However, if the MS merely detects that an
   execution error occurred, then 419 is used.

5.  Formal Syntax

   This section defines the XML schema for the Mixer Control Package.

Spencer: I know that the XML for IVR was validated using the w3c xml schema 
tester and using xerces-c. Could you confirm that this XML has been 
validated (and, if so, using what tester)?

7.  Security Considerations

   Since creation of conference and join mixers is associated with media
   mixing resources on the MS, the security policy for this control
   package needs to address how such mixers are securely managed across
   more than one control channels.  Such a security policy is only

Spencer: s/channels/channel/

   useful for secure, confidential and integrity protected channels.
   The identity of control channels is determined by the channel
   identifier: i.e. the value of the cfw-id attribute in the SDP and
   Dialog-ID header in the channel protocol (see
   [I-D.ietf-mediactrl-sip-control-framework]).  Channels are the same
   if they have the same identifier; otherwise, they are different.
   This control package imposes the following additional security
   policies: