draft-ietf-mediactrl-mixer-control-package-06.txt   draft-ietf-mediactrl-mixer-control-package-07.txt 
Network Working Group S. McGlashan Network Working Group S. McGlashan
Internet-Draft Hewlett-Packard Internet-Draft Hewlett-Packard
Intended status: Standards Track T. Melanchuk Intended status: Standards Track T. Melanchuk
Expires: September 9, 2009 Rain Willow Communications Expires: November 29, 2009 Rain Willow Communications
C. Boulton C. Boulton
NS-Technologies NS-Technologies
March 8, 2009 May 28, 2009
A Mixer Control Package for the Media Control Channel Framework A Mixer Control Package for the Media Control Channel Framework
draft-ietf-mediactrl-mixer-control-package-06 draft-ietf-mediactrl-mixer-control-package-07
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79. This document may contain material provisions of BCP 78 and BCP 79. This document may contain material
from IETF Documents or IETF Contributions published or made publicly from IETF Documents or IETF Contributions published or made publicly
available before November 10, 2008. The person(s) controlling the available before November 10, 2008. The person(s) controlling the
copyright in some of this material may not have granted the IETF copyright in some of this material may not have granted the IETF
Trust the right to allow modifications of such material outside the Trust the right to allow modifications of such material outside the
IETF Standards Process. Without obtaining an adequate license from IETF Standards Process. Without obtaining an adequate license from
skipping to change at page 1, line 45 skipping to change at page 1, line 45
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on September 9, 2009. This Internet-Draft will expire on November 29, 2009.
Copyright Notice Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the Copyright (c) 2009 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents in effect on the date of Provisions Relating to IETF Documents in effect on the date of
publication of this document (http://trustee.ietf.org/license-info). publication of this document (http://trustee.ietf.org/license-info).
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
skipping to change at page 3, line 33 skipping to change at page 3, line 33
3.5. REPORT Message Body . . . . . . . . . . . . . . . . . . . 9 3.5. REPORT Message Body . . . . . . . . . . . . . . . . . . . 9
3.6. Audit . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.6. Audit . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.7. Examples . . . . . . . . . . . . . . . . . . . . . . . . 10 3.7. Examples . . . . . . . . . . . . . . . . . . . . . . . . 10
4. Element Definitions . . . . . . . . . . . . . . . . . . . . . 11 4. Element Definitions . . . . . . . . . . . . . . . . . . . . . 11
4.1. <mscmixer> . . . . . . . . . . . . . . . . . . . . . . . 11 4.1. <mscmixer> . . . . . . . . . . . . . . . . . . . . . . . 11
4.2. Mixer Elements . . . . . . . . . . . . . . . . . . . . . 12 4.2. Mixer Elements . . . . . . . . . . . . . . . . . . . . . 12
4.2.1. Conference Elements . . . . . . . . . . . . . . . . . 13 4.2.1. Conference Elements . . . . . . . . . . . . . . . . . 13
4.2.1.1. <createconference> . . . . . . . . . . . . . . . 13 4.2.1.1. <createconference> . . . . . . . . . . . . . . . 13
4.2.1.2. <modifyconference> . . . . . . . . . . . . . . . 16 4.2.1.2. <modifyconference> . . . . . . . . . . . . . . . 16
4.2.1.3. <destroyconference> . . . . . . . . . . . . . . . 17 4.2.1.3. <destroyconference> . . . . . . . . . . . . . . . 17
4.2.1.4. Conference Configuration . . . . . . . . . . . . 17 4.2.1.4. Conference Configuration . . . . . . . . . . . . 18
4.2.1.4.1. <audio-mixing> . . . . . . . . . . . . . . . 18 4.2.1.4.1. <audio-mixing> . . . . . . . . . . . . . . . 18
4.2.1.4.2. <video-layouts> . . . . . . . . . . . . . . . 18 4.2.1.4.2. <video-layouts> . . . . . . . . . . . . . . . 18
4.2.1.4.2.1. <video-layout> . . . . . . . . . . . . . 20 4.2.1.4.2.1. <video-layout> . . . . . . . . . . . . . 20
4.2.1.4.3. <video-switch> . . . . . . . . . . . . . . . 25 4.2.1.4.3. <video-switch> . . . . . . . . . . . . . . . 25
4.2.1.4.3.1. Priority assignment . . . . . . . . . . . 27 4.2.1.4.3.1. Priority assignment . . . . . . . . . . . 27
4.2.1.4.4. <subscribe> . . . . . . . . . . . . . . . . . 28 4.2.1.4.4. <subscribe> . . . . . . . . . . . . . . . . . 28
4.2.1.4.4.1. <active-talkers-sub> . . . . . . . . . . 28 4.2.1.4.4.1. <active-talkers-sub> . . . . . . . . . . 28
4.2.2. Joining Elements . . . . . . . . . . . . . . . . . . 28 4.2.2. Joining Elements . . . . . . . . . . . . . . . . . . 28
4.2.2.1. Joining Model . . . . . . . . . . . . . . . . . . 28 4.2.2.1. Joining Model . . . . . . . . . . . . . . . . . . 28
4.2.2.2. <join> . . . . . . . . . . . . . . . . . . . . . 30 4.2.2.2. <join> . . . . . . . . . . . . . . . . . . . . . 30
skipping to change at page 4, line 44 skipping to change at page 4, line 44
6.2.2. Bridging connections . . . . . . . . . . . . . . . . 82 6.2.2. Bridging connections . . . . . . . . . . . . . . . . 82
6.2.3. Video conferencing . . . . . . . . . . . . . . . . . 83 6.2.3. Video conferencing . . . . . . . . . . . . . . . . . 83
7. Security Considerations . . . . . . . . . . . . . . . . . . . 85 7. Security Considerations . . . . . . . . . . . . . . . . . . . 85
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 88 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 88
8.1. Control Package Registration . . . . . . . . . . . . . . 88 8.1. Control Package Registration . . . . . . . . . . . . . . 88
8.2. URN Sub-Namespace Registration . . . . . . . . . . . . . 88 8.2. URN Sub-Namespace Registration . . . . . . . . . . . . . 88
8.3. XML Schema Registration . . . . . . . . . . . . . . . . . 89 8.3. XML Schema Registration . . . . . . . . . . . . . . . . . 89
8.4. MIME Media Type Registration for 8.4. MIME Media Type Registration for
'application/msc-mixer+xml' . . . . . . . . . . . . . . . 89 'application/msc-mixer+xml' . . . . . . . . . . . . . . . 89
9. Change Summary . . . . . . . . . . . . . . . . . . . . . . . 91 9. Change Summary . . . . . . . . . . . . . . . . . . . . . . . 91
10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 97 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 98
11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 98 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 99
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 99 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 100
12.1. Normative References . . . . . . . . . . . . . . . . . . 99 12.1. Normative References . . . . . . . . . . . . . . . . . . 100
12.2. Informative References . . . . . . . . . . . . . . . . . 99 12.2. Informative References . . . . . . . . . . . . . . . . . 100
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 101 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 102
1. Introduction 1. Introduction
The Media Control Channel Framework The Media Control Channel Framework
[I-D.ietf-mediactrl-sip-control-framework] provides a generic [I-D.ietf-mediactrl-sip-control-framework] provides a generic
approach for establishment and reporting capabilities of remotely approach for establishment and reporting capabilities of remotely
initiated commands. The Framework utilizes many functions provided initiated commands. The Framework utilizes many functions provided
by the Session Initiation Protocol [RFC3261] (SIP) for the rendezvous by the Session Initiation Protocol [RFC3261] (SIP) for the rendezvous
and establishment of a reliable channel for control interactions. and establishment of a reliable channel for control interactions.
The Control Framework also introduces the concept of a Control The Control Framework also introduces the concept of a Control
skipping to change at page 9, line 11 skipping to change at page 9, line 11
notification to the AS (Control Server). Event notifications notification to the AS (Control Server). Event notifications
(Section 4.2.4) are carried in CONTROL message bodies. The AS MUST (Section 4.2.4) are carried in CONTROL message bodies. The AS MUST
respond with a Control Framework 200 response. respond with a Control Framework 200 response.
3.3. Common XML Support 3.3. Common XML Support
The Control Framework requires a Control Package definition to The Control Framework requires a Control Package definition to
specify if the attributes for media dialog or conference references specify if the attributes for media dialog or conference references
are required. are required.
This package requires that the XML Schema in Section 17.1 of This package requires that the XML Schema in Section 16.1 of
[I-D.ietf-mediactrl-sip-control-framework] MUST be supported for [I-D.ietf-mediactrl-sip-control-framework] MUST be supported for
media dialogs and conferences. media dialogs and conferences.
The package uses "connectionid" and "conferenceid" attributes for The package uses "connectionid" and "conferenceid" attributes for
various element definitions (Section 4). The XML schema (Section 5) various element definitions (Section 4). The XML schema (Section 5)
imports the definitions of these attributes from the framework imports the definitions of these attributes from the framework
schema. schema.
3.4. CONTROL Message Body 3.4. CONTROL Message Body
skipping to change at page 14, line 26 skipping to change at page 14, line 26
reserved-listeners: indicates the requested number of guaranteed reserved-listeners: indicates the requested number of guaranteed
listener slots to be reserved for the conference. A valid value listener slots to be reserved for the conference. A valid value
is a non-negative integer (see Section 4.6.2). The attribute is is a non-negative integer (see Section 4.6.2). The attribute is
optional. The default value is 0. optional. The default value is 0.
The <createconference> element has the following sequence of child The <createconference> element has the following sequence of child
elements: elements:
<codecs>: an element to configure the codecs supported by the <codecs>: an element to configure the codecs supported by the
conference (see Section 4.4). The element is optional. conference (see Section 4.4). If codecs are specified, then they
impose limitations in media capability when the MS attempts to
join the conference to other entities (see Section 4.2.2.2 and
Section 4.2.2.3). The element is optional.
<audio-mixing>: an element to configure the audio mixing <audio-mixing>: an element to configure the audio mixing
characteristics of a conference (see Section 4.2.1.4.1). The characteristics of a conference (see Section 4.2.1.4.1). The
element is optional. element is optional.
<video-layouts>: an element to configure the video layouts of a <video-layouts>: an element to configure the video layouts of a
conference (see Section 4.2.1.4.2). The element is optional. conference (see Section 4.2.1.4.2). The element is optional.
<video-switch>: an element to configure the video switch policy for <video-switch>: an element to configure the video switch policy for
the layout of a conference (see Section 4.2.1.4.3). The element the layout of a conference (see Section 4.2.1.4.3). The element
skipping to change at page 16, line 26 skipping to change at page 16, line 31
The <modifyconference> element has the following attributes: The <modifyconference> element has the following attributes:
conferenceid: string indicating the name of the conference to conferenceid: string indicating the name of the conference to
modify. This attribute is mandatory. modify. This attribute is mandatory.
The <modifyconference> element has the following sequence of child The <modifyconference> element has the following sequence of child
elements (1 or more): elements (1 or more):
<codecs>: an element to configure the codecs supported by the <codecs>: an element to configure the codecs supported by the
conference (see Section 4.4). Existing participants are conference (see Section 4.4). If codecs are specified, then they
unaffected by any policy change. The element is optional. impose limitations in media capability when the MS attempts to
join the conference to other entities (see Section 4.2.2.2 and
Section 4.2.2.3). Existing conference participants are unaffected
by any policy change. The element is optional.
<audio-mixing>: an element to configure the audio mixing <audio-mixing>: an element to configure the audio mixing
characteristics of a conference (see Section 4.2.1.4.1). The characteristics of a conference (see Section 4.2.1.4.1). The
element is optional. element is optional.
<video-layouts>: an element to configure the video layouts of a <video-layouts>: an element to configure the video layouts of a
conference (see Section 4.2.1.4.2). The element is optional. conference (see Section 4.2.1.4.2). The element is optional.
<video-switch>: an element to configure the video switch policy for <video-switch>: an element to configure the video switch policy for
the layout of a conference (see Section 4.2.1.4.3). The element the layout of a conference (see Section 4.2.1.4.3). The element
skipping to change at page 19, line 11 skipping to change at page 19, line 16
The <video-layouts> element has no attributes. The <video-layouts> element has no attributes.
The <video-layouts> element has the following sequence of child The <video-layouts> element has the following sequence of child
elements (1 or more): elements (1 or more):
<video-layout>: element describing a video layout <video-layout>: element describing a video layout
(Section 4.2.1.4.2.1). (Section 4.2.1.4.2.1).
If the MS does not support video conferencing at all, or does not If the MS does not support video conferencing at all, or does not
support multiple video layouts, or does not support a specific video support multiple video layouts, or does not support a specific video
layout, the MS reports an 408 error in the response to the request layout, the MS reports an 423 error in the response to the request
element containing the <video-layouts> element. element containing the <video-layouts> element.
An MS MAY support more than one <video-layout> element, although only An MS MAY support more than one <video-layout> element, although only
one layout can be active at a time. A <video-layout> is active if one layout can be active at a time. A <video-layout> is active if
the number of participants in the conference is equal to or greater the number of participants in the conference is equal to or greater
than the value of its "min-participants" attribute, but less than the than the value of its "min-participants" attribute, but less than the
value of the "min-participants" attribute for any other <video- value of the "min-participants" attribute for any other <video-
layout> element. An MS reports an error (400) if more than one layout> element. An MS reports an error (400) if more than one
<video-layout> has the same value for the "min-participants" <video-layout> has the same value for the "min-participants"
attribute. When the number of regions within the active layout is attribute. When the number of regions within the active layout is
skipping to change at page 26, line 43 skipping to change at page 26, line 43
switch policy above. A valid value is a boolean (see switch policy above. A valid value is a boolean (see
Section 4.6.1). A value of true indicates that a separate video Section 4.6.1). A value of true indicates that a separate video
mix is generated for the active speaker without themselves being mix is generated for the active speaker without themselves being
displayed. A value of false indicates that all participants displayed. A value of false indicates that all participants
receive the same video mix. The attribute is optional. The receive the same video mix. The attribute is optional. The
default value is false. If the type attribute is not set to default value is false. If the type attribute is not set to
'vas', the MS ignores this attribute. 'vas', the MS ignores this attribute.
If the MS does not support the specified video switching policy or If the MS does not support the specified video switching policy or
other configuration parameters (including separate active speaker other configuration parameters (including separate active speaker
video mixes), then MS reports a 409 error (Section 4.5) in the video mixes), then MS reports a 424 error (Section 4.5) in the
response to the request element containing the <video-switch> response to the request element containing the <video-switch>
element. element.
If the MS receives a <join> or <modifyjoin> request containing a If the MS receives a <join> or <modifyjoin> request containing a
<stream> element (Section 4.2.2.5) specifying a region and the <stream> element (Section 4.2.2.5) specifying a region and the
conference video switching policy is set to 'vas', then the MS conference video switching policy is set to 'vas', then the MS
ignores the region (i.e. conference switching policy takes ignores the region (i.e. conference switching policy takes
precedence). precedence).
If the MS receives a <join> or <modifyjoin> request containing a If the MS receives a <join> or <modifyjoin> request containing a
skipping to change at page 30, line 44 skipping to change at page 30, line 44
Streams can be of any media type, and can be bi-directional or uni- Streams can be of any media type, and can be bi-directional or uni-
directional. A bi-directional stream is implicitly composed of two directional. A bi-directional stream is implicitly composed of two
uni-directional streams that can be manipulated independently. The uni-directional streams that can be manipulated independently. The
streams to be established are specified by child <stream> elements streams to be established are specified by child <stream> elements
(see Section 4.2.2.5). (see Section 4.2.2.5).
The <join> element has the following attributes: The <join> element has the following attributes:
id1: an identifier for either a connection or a conference. The id1: an identifier for either a connection or a conference. The
identifier MUST conform to the syntax defined in Section 17.1 of identifier MUST conform to the syntax defined in Section 16.1 of
[I-D.ietf-mediactrl-sip-control-framework] The attribute is [I-D.ietf-mediactrl-sip-control-framework] The attribute is
mandatory. mandatory.
id2: an identifier for either a connection or a conference. The id2: an identifier for either a connection or a conference. The
identifier MUST conform to the syntax defined in Section 17.1 of identifier MUST conform to the syntax defined in Section 16.1 of
[I-D.ietf-mediactrl-sip-control-framework] The attribute is [I-D.ietf-mediactrl-sip-control-framework] The attribute is
mandatory. mandatory.
Note: Section 17.1 of [I-D.ietf-mediactrl-sip-control-framework] Note: Section 16.1 of [I-D.ietf-mediactrl-sip-control-framework]
defines the semantics for a conference identifier but not its syntax. defines the semantics for a conference identifier but not its syntax.
Media server implementations need to distinguish between conferences Media server implementations need to distinguish between conferences
and connections based upon the values of the "id1" and "id2" and connections based upon the values of the "id1" and "id2"
attributes. attributes.
If id1 or id2 specify a conference identifier and the conference does If id1 or id2 specify a conference identifier and the conference does
not exist on the MS, the MS reports an error (406). If id1 or id2 not exist on the MS, the MS reports an error (406). If id1 or id2
specify a connection identifier and the connection does not exist on specify a connection identifier and the connection does not exist on
the MS, the MS reports an error (412). the MS, the MS reports an error (412).
skipping to change at page 31, line 42 skipping to change at page 31, line 42
explicitly specified using <stream> elements. explicitly specified using <stream> elements.
Multiple <stream> elements can be specified for precise control over Multiple <stream> elements can be specified for precise control over
the media flow in different directions within the same media stream. the media flow in different directions within the same media stream.
One <stream> element can be specified for the receiving media flow One <stream> element can be specified for the receiving media flow
and another element for the sending media flow, where each and another element for the sending media flow, where each
independently controls features such as volume (see child element of independently controls features such as volume (see child element of
<stream> in Section 4.2.2.5). If there is only one <stream> element <stream> in Section 4.2.2.5). If there is only one <stream> element
for a given media specifying a 'sendonly' or 'recvonly' direction, for a given media specifying a 'sendonly' or 'recvonly' direction,
then the media flow in the opposite direction is inactive then the media flow in the opposite direction is inactive
(established but no actual flow of media) unless this is leads to a (established but no actual flow of media) unless this leads to a
stream conflict. stream conflict.
If the MS is unable to execute the join as specified in <stream> If the MS is unable to execute the join as specified in <stream>
because a <stream> element is in conflict with (a) another <stream> because a <stream> element is in conflict with (a) another <stream>
element, (b) with specified connection or conference media element, (b) with specified connection or conference media
capabilities or (c) with a SDP label value as part of the capabilities (including supported or available codec information), or
connection-id (see Section 17.1 of (c) with a SDP label value as part of the connection-id (see Section
[I-D.ietf-mediactrl-sip-control-framework]), then the MS reports an 16.1 of [I-D.ietf-mediactrl-sip-control-framework]), then the MS
error (407) and MUST NOT join the entities and MUST NOT change reports an error (407) and MUST NOT join the entities and MUST NOT
existing streams of the entities. change existing streams of the entities.
If the MS is unable to execute the join as specified in <stream> If the MS is unable to execute the join as specified in <stream>
elements because the MS does not support the media stream elements because the MS does not support the media stream
configuration, the MS reports an error (422) and MUST NOT join the configuration, the MS reports an error (422) and MUST NOT join the
entities and MUST NOT change existing streams of the entities. entities and MUST NOT change existing streams of the entities.
If the MS is unable to join an entity to a conference because it is If the MS is unable to join an entity to a conference because it is
full, then the MS reports an error (410). full, then the MS reports an error (410).
If the specified entities are already joined, then the MS reports an If the specified entities are already joined, then the MS reports an
skipping to change at page 33, line 6 skipping to change at page 33, line 6
4.2.2.3. <modifyjoin> 4.2.2.3. <modifyjoin>
The <modifyjoin> element is sent to the MS to request changes in the The <modifyjoin> element is sent to the MS to request changes in the
configuration of media stream(s) that were previously established configuration of media stream(s) that were previously established
between a connection and a conference, between two connections, or between a connection and a conference, between two connections, or
between two conferences. between two conferences.
The <modifyjoin> element has the following attributes: The <modifyjoin> element has the following attributes:
id1: an identifier for either a connection or a conference. The id1: an identifier for either a connection or a conference. The
identifier MUST conform to the syntax defined in Section 17.1 of identifier MUST conform to the syntax defined in Section 16.1 of
[I-D.ietf-mediactrl-sip-control-framework] The attribute is [I-D.ietf-mediactrl-sip-control-framework] The attribute is
mandatory. mandatory.
id2: an identifier for either a connection or a conference. The id2: an identifier for either a connection or a conference. The
identifier MUST conform to the syntax defined in Section 17.1 of identifier MUST conform to the syntax defined in Section 16.1 of
[I-D.ietf-mediactrl-sip-control-framework] The attribute is [I-D.ietf-mediactrl-sip-control-framework] The attribute is
mandatory. mandatory.
The <modifyjoin> element has the following child elements (1 or The <modifyjoin> element has the following child elements (1 or
more): more):
<stream>: an element that both identifies the media streams to <stream>: an element that both identifies the media streams to
modify and defines the way that each stream is now to be modify and defines the way that each stream is now to be
configured (see Section 4.2.2.5). configured (see Section 4.2.2.5).
skipping to change at page 33, line 33 skipping to change at page 33, line 33
using <join>. using <join>.
The MS MUST configure the streams that are included within The MS MUST configure the streams that are included within
<modifyjoin> to that stated by the child elements. It MUST NOT <modifyjoin> to that stated by the child elements. It MUST NOT
change the configuration of any streams not included as child change the configuration of any streams not included as child
elements. elements.
If the MS is unable to modify the join as specified in <stream> If the MS is unable to modify the join as specified in <stream>
elements because a <stream> element is in conflict with (a) another elements because a <stream> element is in conflict with (a) another
<stream> element, (b) with specified connection or conference media <stream> element, (b) with specified connection or conference media
capabilities or (c) with a SDP label value as part of the capabilities (including supported or available codec information), or
connection-id (see Section 17.1 of (c) with a SDP label value as part of the connection-id (see Section
[I-D.ietf-mediactrl-sip-control-framework]), then the MS reports an 16.1 of [I-D.ietf-mediactrl-sip-control-framework]), then the MS
error (407) and MUST NOT modify the join between the entities and reports an error (407) and MUST NOT modify the join between the
MUST NOT change existing streams of the entities. entities and MUST NOT change existing streams of the entities.
If the MS is unable to modify the join as specified in <stream> If the MS is unable to modify the join as specified in <stream>
elements because the MS does not support the media stream elements because the MS does not support the media stream
configuration, the MS reports an error (422) and MUST NOT modify the configuration, the MS reports an error (422) and MUST NOT modify the
join between the entities and MUST NOT change existing streams of the join between the entities and MUST NOT change existing streams of the
entities. entities.
If the specified entities are not already joined, then the MS reports If the specified entities are not already joined, then the MS reports
an error (408). an error (409).
If the MS is unable to modify the join between the specified entities If the MS is unable to modify the join between the specified entities
for any other reason, the MS reports an error (411). for any other reason, the MS reports an error (411).
When an MS has finished processing a <modifyjoin> request, it MUST When an MS has finished processing a <modifyjoin> request, it MUST
reply with an appropriate <response> element (Section 4.2.3). reply with an appropriate <response> element (Section 4.2.3).
In cases where stream characteristics are controlled independently In cases where stream characteristics are controlled independently
for each direction, then a <modifyjoin> request needs to specify a for each direction, then a <modifyjoin> request needs to specify a
child element for each direction in order to retain the original child element for each direction in order to retain the original
skipping to change at page 35, line 14 skipping to change at page 35, line 14
4.2.2.4. <unjoin> 4.2.2.4. <unjoin>
The <unjoin> element is sent to the MS to request removal of The <unjoin> element is sent to the MS to request removal of
previously established media stream(s) from between a connection and previously established media stream(s) from between a connection and
a conference, between two connections, or between two conferences. a conference, between two connections, or between two conferences.
The <unjoin> element has the following attributes: The <unjoin> element has the following attributes:
id1: an identifier for either a connection or a conference. The id1: an identifier for either a connection or a conference. The
identifier MUST conform to the syntax defined in Section 17.1 of identifier MUST conform to the syntax defined in Section 16.1 of
[I-D.ietf-mediactrl-sip-control-framework] The attribute is [I-D.ietf-mediactrl-sip-control-framework] The attribute is
mandatory. mandatory.
id2: an identifier for either a connection or a conference. The id2: an identifier for either a connection or a conference. The
identifier MUST conform to the syntax defined in Section 17.1 of identifier MUST conform to the syntax defined in Section 15.1 of
[I-D.ietf-mediactrl-sip-control-framework] The attribute is [I-D.ietf-mediactrl-sip-control-framework] The attribute is
mandatory. mandatory.
The <unjoin> element has the following child element (0 or more The <unjoin> element has the following child element (0 or more
occurrences): occurrences):
<stream>: an element that identifies the media stream(s) to remove <stream>: an element that identifies the media stream(s) to remove
(see Section 4.2.2.5). The element is optional. When not (see Section 4.2.2.5). The element is optional. When not
present, all currently established streams between "id1" and "id2" present, all currently established streams between "id1" and "id2"
are removed. are removed.
The MS MUST support <unjoin> for any stream that was established The MS MUST support <unjoin> for any stream that was established
using <join> and has not already been removed by a previous <unjoin> using <join> and has not already been removed by a previous <unjoin>
on the same stream. on the same stream.
If the MS is unable to terminate the join as specified in <stream> If the MS is unable to terminate the join as specified in <stream>
elements because a <stream> element is in conflict with (a) another elements because a <stream> element is in conflict with (a) another
<stream> element, (b) with specified connection or conference media <stream> element, (b) with specified connection or conference media
capabilities or (c) with a SDP label value as part of the capabilities or (c) with a SDP label value as part of the
connection-id (see Section 17.1 of connection-id (see Section 16.1 of
[I-D.ietf-mediactrl-sip-control-framework]), then the MS reports an [I-D.ietf-mediactrl-sip-control-framework]), then the MS reports an
error (407) and MUST NOT terminate the join between the entities and error (407) and MUST NOT terminate the join between the entities and
MUST NOT change existing streams of the entities. MUST NOT change existing streams of the entities.
If the MS is unable to terminate the join as specified in <stream> If the MS is unable to terminate the join as specified in <stream>
elements because the MS does not support the media stream elements because the MS does not support the media stream
configuration, the MS reports an error (422) and MUST NOT terminate configuration, the MS reports an error (422) and MUST NOT terminate
the join between the entities and MUST NOT change existing streams of the join between the entities and MUST NOT change existing streams of
the entities. the entities.
skipping to change at page 37, line 12 skipping to change at page 37, line 12
within a video layout where the media stream is displayed. The within a video layout where the media stream is displayed. The
element is optional. element is optional.
<priority>: an element (Section 4.2.2.5.4) to configure priority <priority>: an element (Section 4.2.2.5.4) to configure priority
associated with the stream in the media mix. The element is associated with the stream in the media mix. The element is
optional. optional.
In each child element, the media stream affected is indicated by the In each child element, the media stream affected is indicated by the
value of the direction attribute of the parent element. value of the direction attribute of the parent element.
If the "media" attribute does not have the value of "audio", then the If the media attribute does not have the value of "audio", then the
MS ignores <volume> and <clamp> elements. MS ignores <volume> and <clamp> elements.
If the "media" attribute does not have the value of "video", then the If the media attribute does not have the value of "video", then the
MS ignores a <region> element. MS ignores a <region> element.
For example, a request to join a connection to conference in both For example, a request to join a connection to conference in both
directions with volume control: directions with volume control:
<mscmixer version="1.0" xmlns="urn:ietf:params:xml:ns:msc-mixer"> <mscmixer version="1.0" xmlns="urn:ietf:params:xml:ns:msc-mixer">
<join id1="1536067209~913cd14c" id2="conference1"> <join id1="1536067209~913cd14c" id2="conference1">
<stream media="audio" direction="sendrecv"> <stream media="audio" direction="sendrecv">
<volume controltype="setgain" value="-3"/> <volume controltype="setgain" value="-3"/>
</stream> </stream>
skipping to change at page 39, line 28 skipping to change at page 39, line 28
Responses to requests are indicated by a <response> element. Responses to requests are indicated by a <response> element.
The <response> element has following attributes: The <response> element has following attributes:
status: numeric code indicating the response status. Valid values status: numeric code indicating the response status. Valid values
are defined in Section 4.5. The attribute is mandatory. are defined in Section 4.5. The attribute is mandatory.
reason: string specifying a reason for the response status. The reason: string specifying a reason for the response status. The
attribute is optional. attribute is optional.
conferenceid: string identifying the conference (see Section 17.1 of conferenceid: string identifying the conference (see Section 16.1 of
[I-D.ietf-mediactrl-sip-control-framework]). The attribute is [I-D.ietf-mediactrl-sip-control-framework]). The attribute is
optional. optional.
connectionid: string identifying the SIP dialog connection (see connectionid: string identifying the SIP dialog connection (see
Section 17.1 of [I-D.ietf-mediactrl-sip-control-framework]). The Section 16.1 of [I-D.ietf-mediactrl-sip-control-framework]). The
attribute is optional. attribute is optional.
For example, a response when a conference was created successfully: For example, a response when a conference was created successfully:
<response code="200"> <response code="200">
<reason>Success</reason> <reason>Success</reason>
</response> </response>
The response if conference creation failed due to the requested The response if conference creation failed due to the requested
conference id already existing: conference id already existing:
skipping to change at page 42, line 6 skipping to change at page 42, line 6
The MS MAY define other values. The AS MUST treat any status code The MS MAY define other values. The AS MUST treat any status code
it does not recognize as being equivalent to 1 (join execution it does not recognize as being equivalent to 1 (join execution
error). The attribute is mandatory. error). The attribute is mandatory.
reason: a textual description providing a reason for the status reason: a textual description providing a reason for the status
code; e.g. details about an error. A valid value is a string (see code; e.g. details about an error. A valid value is a string (see
Section 4.6.4). The attribute is optional. There is no default Section 4.6.4). The attribute is optional. There is no default
value. value.
id1: an identifier for either a connection or a conference. The id1: an identifier for either a connection or a conference. The
identifier MUST conform to the syntax defined in Section 17.1 of identifier MUST conform to the syntax defined in Section 16.1 of
[I-D.ietf-mediactrl-sip-control-framework] The attribute is [I-D.ietf-mediactrl-sip-control-framework] The attribute is
mandatory. mandatory.
id2: an identifier for either a connection or a conference. The id2: an identifier for either a connection or a conference. The
identifier MUST conform to the syntax defined in Section 17.1 of identifier MUST conform to the syntax defined in Section 16.1 of
[I-D.ietf-mediactrl-sip-control-framework] The attribute is [I-D.ietf-mediactrl-sip-control-framework] The attribute is
mandatory. mandatory.
The <unjoin-notify> element has no child elements. The <unjoin-notify> element has no child elements.
4.2.4.3. <conferenceexit> 4.2.4.3. <conferenceexit>
The <conferenceexit> element indicates that a conference has exited The <conferenceexit> element indicates that a conference has exited
because it has been terminated or because a error occurred (for because it has been terminated or because a error occurred (for
example, a hardware error in the conference mixing unit). This event example, a hardware error in the conference mixing unit). This event
skipping to change at page 47, line 46 skipping to change at page 47, line 46
<conferenceaudit>: audit information for a conference mixer <conferenceaudit>: audit information for a conference mixer
(Section 4.3.2.2.1). The element is optional. (Section 4.3.2.2.1). The element is optional.
<joinaudit>: audit information for a join mixer (Section 4.3.2.2.2). <joinaudit>: audit information for a join mixer (Section 4.3.2.2.2).
The element is optional. The element is optional.
4.3.2.2.1. <conferenceaudit> 4.3.2.2.1. <conferenceaudit>
The <conferenceaudit> element has the following attributes: The <conferenceaudit> element has the following attributes:
conferenceid: string identifying the conference (see Section 17.1 of conferenceid: string identifying the conference (see Section 16.1 of
[I-D.ietf-mediactrl-sip-control-framework]). The attribute is [I-D.ietf-mediactrl-sip-control-framework]). The attribute is
mandatory. mandatory.
The <conferenceaudit> element has the following sequence of child The <conferenceaudit> element has the following sequence of child
elements: elements:
<codecs> element describing codecs used in the conference. See <codecs> element describing codecs used in the conference. See
Section 4.4. The element is optional. Section 4.4. The element is optional.
<participants> element listing connections or conferences joined to <participants> element listing connections or conferences joined to
skipping to change at page 49, line 6 skipping to change at page 49, line 6
<participant>: specifies a participant (Section 4.3.2.2.1.1.1). <participant>: specifies a participant (Section 4.3.2.2.1.1.1).
4.3.2.2.1.1.1. <participant> 4.3.2.2.1.1.1. <participant>
The <participant> element describes a participant. The <participant> element describes a participant.
The <participant> element has the following attributes: The <participant> element has the following attributes:
id: an identifier for either a connection or a conference. The id: an identifier for either a connection or a conference. The
identifier MUST conform to the syntax defined in Section 17.1 of identifier MUST conform to the syntax defined in Section 16.1 of
[I-D.ietf-mediactrl-sip-control-framework]. The attribute is [I-D.ietf-mediactrl-sip-control-framework]. The attribute is
mandatory. mandatory.
The <participant> element has no children. The <participant> element has no children.
4.3.2.2.2. <joinaudit> 4.3.2.2.2. <joinaudit>
The <joinaudit> element has the following attributes: The <joinaudit> element has the following attributes:
id1: an identifier for either a connection or a conference. The id1: an identifier for either a connection or a conference. The
identifier MUST conform to the syntax defined in Section 17.1 of identifier MUST conform to the syntax defined in Section 16.1 of
[I-D.ietf-mediactrl-sip-control-framework] The attribute is [I-D.ietf-mediactrl-sip-control-framework] The attribute is
mandatory. mandatory.
id2: an identifier for either a connection or a conference. The id2: an identifier for either a connection or a conference. The
identifier MUST conform to the syntax defined in Section 17.1 of identifier MUST conform to the syntax defined in Section 16.1 of
[I-D.ietf-mediactrl-sip-control-framework] The attribute is [I-D.ietf-mediactrl-sip-control-framework] The attribute is
mandatory. mandatory.
The <joinaudit> element has no children. The <joinaudit> element has no children.
For example, a fragment describing an audit of two join mixers, one For example, a fragment describing an audit of two join mixers, one
between connections and the second between conferences: between connections and the second between conferences:
<mixers> <mixers>
<joinaudit id1="1536067209~913cd14" id2="1636067209~413cd14"/> <joinaudit id1="1536067209~913cd14" id2="1636067209~413cd14"/>
skipping to change at page 59, line 17 skipping to change at page 59, line 17
This section defines the XML schema for the Mixer Control Package. This section defines the XML schema for the Mixer Control Package.
The schema defines datatypes, attributes, and mixer elements in the The schema defines datatypes, attributes, and mixer elements in the
urn:ietf:params:xml:ns:msc-mixer namespace. In most elements the urn:ietf:params:xml:ns:msc-mixer namespace. In most elements the
order of child elements is significant. The schema is extensible: order of child elements is significant. The schema is extensible:
elements allow attributes and child elements from other namespaces. elements allow attributes and child elements from other namespaces.
Elements from outside this package's namespace can occur after Elements from outside this package's namespace can occur after
elements defined in this package. elements defined in this package.
The schema is dependent upon the schema (framework.xsd) defined in The schema is dependent upon the schema (framework.xsd) defined in
Section 17.1 of the Control Framework Section 16.1 of the Control Framework
[I-D.ietf-mediactrl-sip-control-framework]. [I-D.ietf-mediactrl-sip-control-framework].
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="urn:ietf:params:xml:ns:msc-mixer" <xsd:schema targetNamespace="urn:ietf:params:xml:ns:msc-mixer"
xmlns:fw="urn:ietf:params:xml:ns:control:framework-attributes" xmlns:fw="urn:ietf:params:xml:ns:control:framework-attributes"
elementFormDefault="qualified" elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="urn:ietf:params:xml:ns:msc-mixer" xmlns="urn:ietf:params:xml:ns:msc-mixer"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
skipping to change at page 91, line 9 skipping to change at page 91, line 9
Person & email address to contact for further information: Scott Person & email address to contact for further information: Scott
McGlashan <scott.mcglashan@hp.com> McGlashan <scott.mcglashan@hp.com>
Intended usage: LIMITED USE Intended usage: LIMITED USE
Author/Change controller: The IETF Author/Change controller: The IETF
Other information: None. Other information: None.
9. Change Summary 9. Change Summary
Note to RFC Editor: Please remove this whole section. Note to RFC Editor: Please remove this whole section.
The following are the changes between the -07 and -06 versions.
o Generally corrected references from Section 17.1 to Section 16.1
of Control Channel Framework.
o 4.2.2.2: removed "is" in "unless this is leads to a stream
conflict"
o 4.2.2.3: corrected error code from 408 to 409 for "If the
specified entities are not already joined, then the MS reports an
error (408)."
o 4.2.1.4.3: corrected error code from 409 to 424 for "If the MS
does not support the specified video switching policy or ..., then
MS reports a 409 error".
o 4.2.1.4.2: corrected error code from 408 to 423 for "If the MS
does not support video conferencing at all, or ...., the MS
reports an 408 error ..."
o 4.2.1.1, 4.2.1.2, 4.2.2.2, 4.2.2.3: Clarified that <codecs>
specified in <createconference> or <modifyconference> impose a
limitation in the media capability of a conference and this
limitation affects whether the conference can be <join> or
<modifyjoin>ed to another entity.
The following are the changes between the -06 and -05 versions. The following are the changes between the -06 and -05 versions.
o 4.4.1: <codec>: corrected typos, added an example of <params> o 4.4.1: <codec>: corrected typos, added an example of <params>
usage, added a <subtype> section and moved the <params> section usage, added a <subtype> section and moved the <params> section
inside this section. inside this section.
o 8: IANA Considerations: Updated IANA registration information and o 8: IANA Considerations: Updated IANA registration information and
added registration for the XML Schema added registration for the XML Schema
The following are the changes between the -05 and -04 versions. The following are the changes between the -05 and -04 versions.
skipping to change at page 98, line 7 skipping to change at page 99, line 7
Asher Shiratzky provided valuable support and contributions to early Asher Shiratzky provided valuable support and contributions to early
versions of this document. versions of this document.
The authors would like to thank the Mixer design team consisting of The authors would like to thank the Mixer design team consisting of
Roni Even, Lorenzo Miniero, Adnan Saleem, Diego Besprosvan and Mary Roni Even, Lorenzo Miniero, Adnan Saleem, Diego Besprosvan and Mary
Barnes who provided valuable feedback, input, diagrams and text to Barnes who provided valuable feedback, input, diagrams and text to
this document. this document.
11. Acknowledgments 11. Acknowledgments
The authors would like to thank Roni Even, Lorenzo Miniero and Steve The authors would like to thank Roni Even, Lorenzo Miniero, Steve
Buko for expert reviews of this work. Buko and Stephane Bastien for expert reviews of this work.
Shawn Emery carried out a thorough security review. Shawn Emery carried out a thorough security review.
12. References 12. References
12.1. Normative References 12.1. Normative References
[I-D.ietf-mediactrl-sip-control-framework] [I-D.ietf-mediactrl-sip-control-framework]
Boulton, C., Melanchuk, T., and S. McGlashan, "Media Boulton, C., Melanchuk, T., and S. McGlashan, "Media
Control Channel Framework", Control Channel Framework",
 End of changes. 36 change blocks. 
50 lines changed or deleted 82 lines changed or added

This html diff was produced by rfcdiff 1.35. The latest version is available from http://tools.ietf.org/tools/rfcdiff/