XCON Working Group C. Boulton
Internet-Draft Ubiquity Software Corporation
Expires: April 15, 2005 U. Chandra
Nokia Research Center
October 15, 2004
Media Policy Templates for XCON
draft-boulton-xcon-media-template-00
Status of this Memo
This document is an Internet-Draft and is subject to all provisions
of section 3 of RFC 3667. By submitting this Internet-Draft, each
author represents that any applicable patent or other IPR claims of
which he or she is aware have been or will be disclosed, and any of
which he or she become aware will be disclosed, in accordance with
RFC 3668.
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.
This Internet-Draft will expire on April 15, 2005.
Copyright Notice
Copyright (C) The Internet Society (2004).
Abstract
Media Policy control is the mechanism by which participants of a
conference manipulates the media in the conference. The controls
provided to conference participants to mainpulate media enhances
participants experience in the conference. This document provides a
minimum set of media policy templates that can be instantiated during
conference creation and manipulated during the life cycle of a
Boulton & Chandra Expires April 15, 2005 [Page 1]
Internet-Draft Media Template October 2004
conference instance. The templates define a conference properties
like what streams are supported, what controls are available etc.
This work is being discussed on the xcon@ietf.org mailing list.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Guidelines for writers of Media Policy Templates . . . . . . 4
3. Templates . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1 Basic-Audio Template . . . . . . . . . . . . . . . . . . . 4
3.1.1 Description . . . . . . . . . . . . . . . . . . . . . 4
3.1.2 Roles . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1.3 Parameters . . . . . . . . . . . . . . . . . . . . . . 5
3.1.4 Controls . . . . . . . . . . . . . . . . . . . . . . . 5
3.1.5 Streams . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.6 XML Definition . . . . . . . . . . . . . . . . . . . . 9
3.2 Advanced Audio Template . . . . . . . . . . . . . . . . . 9
3.2.1 Description . . . . . . . . . . . . . . . . . . . . . 9
3.2.2 Roles . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.3 Parameters . . . . . . . . . . . . . . . . . . . . . . 10
3.2.4 Controls . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.5 Streams . . . . . . . . . . . . . . . . . . . . . . . 13
3.2.6 XML Definition . . . . . . . . . . . . . . . . . . . . 14
3.3 Basic-Video Template . . . . . . . . . . . . . . . . . . . 15
3.3.1 Description . . . . . . . . . . . . . . . . . . . . . 15
3.3.2 Roles . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3.3 Parameters . . . . . . . . . . . . . . . . . . . . . . 15
3.3.4 Controls . . . . . . . . . . . . . . . . . . . . . . . 16
3.3.5 Streams . . . . . . . . . . . . . . . . . . . . . . . 17
3.3.6 XML Definition . . . . . . . . . . . . . . . . . . . . 19
3.4 Advanced Video Template . . . . . . . . . . . . . . . . . 19
3.4.1 Description . . . . . . . . . . . . . . . . . . . . . 19
3.4.2 Roles . . . . . . . . . . . . . . . . . . . . . . . . 20
3.4.3 Parameters . . . . . . . . . . . . . . . . . . . . . . 20
3.4.4 Controls . . . . . . . . . . . . . . . . . . . . . . . 20
3.4.5 Streams . . . . . . . . . . . . . . . . . . . . . . . 22
3.4.6 XML Definition . . . . . . . . . . . . . . . . . . . . 23
3.5 Basic Text Template . . . . . . . . . . . . . . . . . . . 25
3.5.1 Description . . . . . . . . . . . . . . . . . . . . . 25
3.5.2 Roles . . . . . . . . . . . . . . . . . . . . . . . . 25
3.5.3 Parameters . . . . . . . . . . . . . . . . . . . . . . 25
3.5.4 Controls . . . . . . . . . . . . . . . . . . . . . . . 25
3.5.5 Streams . . . . . . . . . . . . . . . . . . . . . . . 26
3.5.6 XML Definition . . . . . . . . . . . . . . . . . . . . 28
3.6 Advanced Text Template . . . . . . . . . . . . . . . . . . 28
3.6.1 Description . . . . . . . . . . . . . . . . . . . . . 28
3.6.2 Roles . . . . . . . . . . . . . . . . . . . . . . . . 29
Boulton & Chandra Expires April 15, 2005 [Page 2]
Internet-Draft Media Template October 2004
3.6.3 Parameters . . . . . . . . . . . . . . . . . . . . . . 29
3.6.4 Controls . . . . . . . . . . . . . . . . . . . . . . . 29
3.6.5 Streams . . . . . . . . . . . . . . . . . . . . . . . 29
3.6.6 XML Definition . . . . . . . . . . . . . . . . . . . . 29
3.7 Audio-Video Template . . . . . . . . . . . . . . . . . . . 29
3.7.1 Description . . . . . . . . . . . . . . . . . . . . . 29
3.7.2 Roles . . . . . . . . . . . . . . . . . . . . . . . . 29
3.7.3 Parameters . . . . . . . . . . . . . . . . . . . . . . 29
3.7.4 Controls . . . . . . . . . . . . . . . . . . . . . . . 29
3.7.5 Streams . . . . . . . . . . . . . . . . . . . . . . . 29
3.7.6 XML Definition . . . . . . . . . . . . . . . . . . . . 29
3.8 audio-text Template . . . . . . . . . . . . . . . . . . . 31
3.8.1 Description . . . . . . . . . . . . . . . . . . . . . 31
3.8.2 Roles . . . . . . . . . . . . . . . . . . . . . . . . 32
3.8.3 Parameters . . . . . . . . . . . . . . . . . . . . . . 32
3.8.4 Controls . . . . . . . . . . . . . . . . . . . . . . . 32
3.8.5 Streams . . . . . . . . . . . . . . . . . . . . . . . 32
3.8.6 XML Definition . . . . . . . . . . . . . . . . . . . . 32
3.9 Basic Multimedia Template . . . . . . . . . . . . . . . . 34
3.9.1 Description . . . . . . . . . . . . . . . . . . . . . 34
3.9.2 Roles . . . . . . . . . . . . . . . . . . . . . . . . 34
3.9.3 Parameters . . . . . . . . . . . . . . . . . . . . . . 34
3.9.4 Controls . . . . . . . . . . . . . . . . . . . . . . . 34
3.9.5 Streams . . . . . . . . . . . . . . . . . . . . . . . 34
3.9.6 XML Definition . . . . . . . . . . . . . . . . . . . . 34
3.10 Advanced Multimedia Template . . . . . . . . . . . . . . 34
3.10.1 Description . . . . . . . . . . . . . . . . . . . . 34
3.10.2 Roles . . . . . . . . . . . . . . . . . . . . . . . 34
3.10.3 Parameters . . . . . . . . . . . . . . . . . . . . . 34
3.10.4 Controls . . . . . . . . . . . . . . . . . . . . . . 34
3.10.5 Streams . . . . . . . . . . . . . . . . . . . . . . 35
3.10.6 XML Definition . . . . . . . . . . . . . . . . . . . 35
4. Security Considerations . . . . . . . . . . . . . . . . . . 35
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . 35
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 35
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.1 Normative References . . . . . . . . . . . . . . . . . . . . 35
7.2 Informative References . . . . . . . . . . . . . . . . . . . 35
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 35
Intellectual Property and Copyright Statements . . . . . . . 36
Boulton & Chandra Expires April 15, 2005 [Page 3]
Internet-Draft Media Template October 2004
1. Introduction
The mechanism described in the 'Media Conference Server Control[1]
draft defines a protocol between the centralized conference server
and conference participants. The mechanism details the construction
of media templates that provide a wide range of functionality to a
client for the purpose of manipulating a media profile. The
templates are constructed using an XML rule set described in [1].
This document supplies a a set of core media templates that should be
used in conjunction with [1]. The templates specified SHOULD be
supported at a minimum.
The editors of this document would like to point out that this
document is currently 'Work In Progress' and fully identify that more
work is required on the text and XML for the next revision. The
document has been released to gain early feedback.
2. Guidelines for writers of Media Policy Templates
[Editors Note: TODO]
3. Templates
3.1 Basic-Audio Template
3.1.1 Description
The Basic-Audio template can be used to achieve the simplest form of
audio interaction between multiple voice input streams from
participating entities. The output stream consists mix of all the
participants audio excluding the input stream of the receiving
entity. If a participant needs to talk in the conference, it first
needs to get a floor from the moderator of the conference.
3.1.2 Roles
Participant: The basic audio template specifies the role of
'Participant' to signify an entry level user with no privileges by
default. The participant role could obtain access to all controls
available for this template if set accordingly by a privileged user.
Access to the controls available to a participant can be controlled
using floor control, as defined in [ref control draft].
Moderator: The basic audio template specifies the role of 'Moderator'
to signify a user with advanced privileges by default. The
'Moderator' role for this template has the same controls as a
'Participant' with an additional control for muting any participant
Boulton & Chandra Expires April 15, 2005 [Page 4]
Internet-Draft Media Template October 2004
in a conference instance. Another difference being that the default
value for the 'enable' attribute on the 'mute' control on an output
media stream is set to 'true'. See the individual control
definitions for the impact of attribute settings.
3.1.3 Parameters
max-particpants: The 'max-particpants' parameter specifies the
maximum number of participants (Entity with signaling connection to
the focus) that are permitted to be involved in an instantiated
instance of the template (or sub-element, depending on where
specified) for the specified role. The minimum value permitted is
"1" and the maximum value permitted is "128".
max-audio-streams: The 'max-audio-streams' parameter specifies the
maximum number of audio media streams that are permitted to be
involved in an instantiated instance of the template for the
specified role. The minimum value permitted is "1" and the maximum
value permitted is "128".
3.1.4 Controls
3.1.4.1 mute
The 'mute' control is used in conjunction with a media stream to
cease transmission of associated media. It has a 'Boolean' value.
The 'mute' control can exist in two forms, depending on if the
control appears on input or output media streams. When appearing as
a control on an input media stream, the control locally manipulates
the clients media stream to be active or inactive. When muting
locally, the control consists of the following attributes:-
type: The 'mute' control has a type of 'Boolean'.
name: The control is named 'mute'.
default: Indicates the default value for the 'mute' control when not
set. The attribute type is 'Boolean' with a default value of
'false'. Setting the 'mute' attribute to 'false' specifies that
media should be transported for the associated media stream. When
set to the value of 'true', media should not be transported for the
associated media stream.
enable: The enable attribute specifies if access to the control is
available to the client. The value is of type 'boolean' and is set
to 'true' as default.
The 'mute' control can also appear on an output stream. This
Boulton & Chandra Expires April 15, 2005 [Page 5]
Internet-Draft Media Template October 2004
indicates that the mute will manipulate outgoing media streams from
the mixer to alternative clients. When used in this instance, the
attributes for the control are identical to that of the input
definition with the exception that the 'enable' and 'default' values
are both set to 'true'. This instance of the control defines an
additional 'controlArray' that represents other participating
clients. This provides a privileged user the ability to mute/un-mute
media being distributed to every client defined.
3.1.4.2 MuteInputAudio
'MuteInputAudio' is a controlarray that is used in conjunction with
media input streams of other participants and allows any input media
stream of the participants to be muted. The moderator can use this
control to mute any paritcipant if it doesn't follows conference
code. The controlArray enables a specific media stream to be muted
by passing in the associated identifying number of the participant
into the name attribute e.g. The first participant to enter the mix
could be identified by the number '1' and so the operation
'MuteInoutAudio[1]' would result in the participant identified within
the policy with a value of '1' being muted. The upper bound of the
number being passed in is controlled by the 'max-participants'
parameter value.
3.1.4.3 gain
The 'gain' control is used in conjunction with a media output stream
to indicate the amount of amplification of an audio stream. It has a
'Real' number value. The control consists of the following
attributes:-
type: The 'gain' control has a type of 'Real'.
name: The control is named 'gain'.
enable: The enable attribute specifies if access to the control is
available to the client.
default: Indicates the default value for the 'gain' control when not
set.
3.1.4.4 MuteOutputAudio
This controlarray is used by the moderator to mute the outgoing audio
stream to a participant in case the participant is not confirming to
the conference policy. The moderator can choose to set this control
temporaraly till the participant follows conference rules. The
controlarray enables a specific outgoing audio stream to be muted by
Boulton & Chandra Expires April 15, 2005 [Page 6]
Internet-Draft Media Template October 2004
passing in the associated identifying number of the participant into
the name attribute e.g. The first participant to enter the
conference would be identified by the number '1' and so the operation
'StopoutputText[1]' would result in the participant identified within
the policy with a value of '1' not hearing the conference. The
control type is boolean and the default value of the control when not
set is false indicating that all participant get the text stream.
3.1.5 Streams
The 'Basic Audio Template' consists of two audio streams:
3.1.5.1 AudioIn
The 'AudioIn' media stream details properties associated with the
incoming audio to the mixer. The 'AudioIn' stream has the following
attributes:
type: The stream type is 'audio'.
name: The descriptive name for this stream is 'AudioIn'.
dir: The direction of the stream is set to 'in'.
3.1.5.1.1 Floor
The 'AudioIn' media stream consists of the following floor:
3.1.5.1.1.1 Send_audio
The 'Send-audio' floor is associated with the 'AudioIn' stream. It
provides a mechanism to control the input to a media mix. A
participant with a role of 'Moderator' should always have floor
preference - this is considered out of scope for this document. The
following attributes are defined:
floor_id: Uniquely identifies the floor within the context of this
template and has a value of '1'.
instances: Value of '1' implies only one occurrence of this floor at
any one time.
enable: A value of 'false' indicates that this floor is not enabled
by default.
value: A value of false specifies that the instance represented by
this template does not have control of the floor.
Boulton & Chandra Expires April 15, 2005 [Page 7]
Internet-Draft Media Template October 2004
3.1.5.2 AudioOut
The 'AudioOut' media stream details properties associated with the
outgoing audio from the mixer. The 'AudioOut' stream has the
following attributes:
type: The stream type is 'audio'.
name: The descriptive name for this stream is 'AudioOut'.
dir: The direction of the stream is set to 'out'.
Boulton & Chandra Expires April 15, 2005 [Page 8]
Internet-Draft Media Template October 2004
3.1.6 XML Definition
3.2 Advanced Audio Template
3.2.1 Description
The 'Advanced-Audio' template builds on the functionality provided by
the 'Basic-Audio' template. Additional features include 'sidebar'
support and the ability to output both 'mix-minus' style audio or the
Boulton & Chandra Expires April 15, 2005 [Page 9]
Internet-Draft Media Template October 2004
active speakers audio stream.
3.2.2 Roles
Participant: The advanced audio template specifies the role of
'Participant' to signify an entry level user with no privileges by
default. The participant role could obtain access to all controls
available for this template if set accordingly by a privileged user.
Access to the controls available to a participant can be controlled
using floor control, as defined in [ref control draft].
Moderator: The advanced audio template specifies the role of
'Moderator' to signify a user with advanced privileges by default.
The 'Moderator' role for this template has the same controls as a
'Participant' with an additional control for muting any participant
in a conference instance and one for specifying the type of output
mix (e.g. mix-minus or Active speaker). Another difference being
that the default value for the 'enable' attribute on the 'mute'
control on an output media stream is set to 'true'. See the
individual control definitions for the impact of attribute settings.
3.2.3 Parameters
max-particpants: The 'max-particpants' parameter specifies the
maximum number of participants (Entity with signalling connection to
the focus) that are permitted to be involved in an instantiated
instance of the template (or sub-element, depending on where
specified) for the specified role. The minimum value permitted is
"1" and the maximum value permitted is "128".
max-audio-streams: The 'max-streams' parameter specifies the maximum
number of audio media streams that are permitted to be involved in an
instantiated instance of the template for the specified role. The
minimum value permitted is "1" and the maximum value permitted is
"128".
3.2.4 Controls
3.2.4.1 mute
The 'mute' control is used in conjunction with a media stream to
cease transmission of associated media. It has a 'Boolean' value.
The 'mute' control can exist in two forms, depending on if the
control appears on input or output media streams. When appearing as
a control on an input media stream, the control locally manipulates
the clients media stream to be active or inactive. When muting
locally, the control consists of the following attributes:-
Boulton & Chandra Expires April 15, 2005 [Page 10]
Internet-Draft Media Template October 2004
type: The 'mute' control has a type of 'Boolean'.
name: The control is named 'mute'.
default: Indicates the default value for the 'mute' control when not
set. The attribute type is 'Boolean' with a default value of
'false'. Setting the 'mute' attribute to 'false' specifies that
media should be transported for the associated media stream. When
set to the value of 'true', media should not be transported for the
associated media stream.
enable: The enable attribute specifies if access to the control is
available to the client. The value is of type 'boolean' and is set
to 'true' as default.
The 'mute' control can also appear on an output stream. This
indicates that the mute will manipulate outgoing media streams from
the mixer to alternative clients. When used in this instance, the
attributes for the control are identical to that of the input
definition with the exception that the 'enable' and 'default' values
are both set to 'true'. This instance of the control defines an
additional 'controlArray' that represents other participating
clients. This provides a privileged user the ability to mute/un-mute
media being distributed to every client defined.
3.2.4.2 MuteInputAudio
'MuteInputAudio' is a controlarray that is used in conjunction with
media input streams of other participants and allows any input media
stream of the participant to be muted. The moderator can use this
control to mute any participant if it doesn't follows conference
code. The controlArray enables a specific media stream to be muted
by passing in the associated identifying number of the participant
into the name attribute e.g. The first participant to enter the mix
could be identified by the number '1' and so the operation
'MuteInoutAudio[1]' would result in the participant identified within
the policy with a value of '1' being muted. The upper bound of the
number being passed in is controlled by the 'max-participants'
parameter value.
3.2.4.3 gain
The 'gain' control is used in conjunction with a media output stream
to indicate the amount of amplification of an audio stream. It has a
'Real' number value. The control consists of the following
attributes:-
type: The 'gain' control has a type of 'Real'.
Boulton & Chandra Expires April 15, 2005 [Page 11]
Internet-Draft Media Template October 2004
name: The control is named 'gain'.
enable: The enable attribute specifies if access to the control is
available to the client.
default: Indicates the default value for the 'gain' control when not
set.
3.2.4.4 MuteOutputAudio
This controlarray is used by the moderator to mute the outgoing audio
stream to a participant in case the participant is not confirming to
the conference policy. The moderator can choose to set this control
temporaraly till the participant follows conference rules. The
controlarray enables a specific outgoing audio stream to be muted by
passing in the associated identifying number of the participant into
the name attribute e.g. The first participant to enter the
conference would be identified by the number '1' and so the operation
'StopoutputText[1]' would result in the participant identified within
the policy with a value of '1' not hearing the conference. The
control type is boolean and the default value of the control when not
set is false indicating that all participant get the text stream.
3.2.4.5 individual-stream-gain
The 'individual-stream-gain' controlArray can be used in conjunction
with an 'AudioOut-Mix' media stream. It allows the gain of
individual audio media streams involved in the mix to be controlled.
The controlArray enables gain to be controlled on a specific media
stream by passing in the associated identifying number of the
participant into the name attribute e.g. The first participant to
enter the mix could be identified by the number '1' and so the
operation 'individual-stream-gain[1]' would result in the media
involved in the output mix, identified within the media policy with a
value of '1', having it's gain adjusted. The upper bound of the
number being passed in is controlled by the 'max-participants'
parameter value.
3.2.4.6 MuteParticipantsfromMix
The 'MuteParticipantsfromMix' controlArray is also used in
conjunction with an 'AudioOut-Mix' media stream. It allows
individual participants audio streams involved in the mix to be
muted. Participants to be muted are selected in a similar manner to
'individual-stream-gain'control by passing in the associated
identifying number of the participant into the name attribute e.g.
The first participant to enter the mix could be identified by the
number '1' and so the operation 'MuteParticipantsfromMix[1]' would
Boulton & Chandra Expires April 15, 2005 [Page 12]
Internet-Draft Media Template October 2004
result in the media involved in the output mix, identified within the
media policy with a value of '1', being muted. The upper bound of
the number being passed in is controlled by the 'max-participants'
parameter value.
3.2.5 Streams
The 'Advanced-Audio' Template consists of two audio streams:
3.2.5.1 AudioIn
The 'AudioIn' media stream details properties associated with the
incoming audio to the mixer. The 'AudioIn' stream has the following
attributes:
type: The stream type is 'audio'.
name: The descriptive name for this stream is 'AudioIn'.
dir: The direction of the stream is set to 'in'.
3.2.5.1.1 Floor
The 'AudioIn' media stream consists of the following floor:
3.2.5.1.1.1 Send_audio
The 'Send-audio' floor is associated with the 'AudioIn' stream. It
provides a mechanism to control the input to a media mix. A
participant with a role of 'Moderator' should always have floor
preference - this is considered out of scope for this document. The
following attributes are defined:
floor_id: Uniquely identifies the floor within the context of this
template and has a value of '1'.
instances: Value of '1' implies only one occurrence of this floor at
any one time.
enable: A value of 'false' indicates that this floor is not enabled
by default.
value: A value of false specifies that the instance represented by
this template does not have control of the floor.
3.2.5.2 AudioOut
The 'AudioOut' media stream details properties associated with the
Boulton & Chandra Expires April 15, 2005 [Page 13]
Internet-Draft Media Template October 2004
outgoing audio from the mixer. Two types of AudioOut streams are
defined based on the mix type. This gives the participant the
ability to choose either the audio of the active speaker of the
conference or can choose to hear the audio mix of all the
participants(excluding itself). The 'AudioOut' stream has the
following attributes:
type: The stream type is 'audio'.
name: The descriptive name for this stream is 'AudioOut'.
dir: The direction of the stream is set to 'out'.
3.2.6 XML Definition
Boulton & Chandra Expires April 15, 2005 [Page 14]
Internet-Draft Media Template October 2004
[Editors Note: Sidebar support to be added in next revision]
3.3 Basic-Video Template
3.3.1 Description
The 'Basic-Video Template' is used to convey the basic set of video
functionality. The template allows participants to send and receive
video media with a control that allows input to be paused. The
conference server chooses the output video stream for each
participant based on local policy The template also defines a
moderator role who has the ability pause a users video input.
3.3.2 Roles
Participant: The basic video template specifies the role of
'Participant' to signify an entry level user with no priviledges by
default. The participant role could obtain access to all controls
available for this template if set accordingly by a privileged user.
Moderator: The basic video template specifies the role of 'Moderator'
to signify a user with advanced privileges by default. The
'Moderator' role for this template has exactly the same controls as a
'Participant'. The major difference being that the default value for
the 'enable' attribute on the 'pause-video' control of the output
video stream is set to 'false'.
3.3.3 Parameters
max-participants: The 'max-participants' parameter specifies the
maximum number of entities that are permitted to be involved in an
Boulton & Chandra Expires April 15, 2005 [Page 15]
Internet-Draft Media Template October 2004
instantiated instance of the template for the specified template
category. The minimum value permitted is "1" and the maximum value
permitted is "128". The parameter can appear at either a template or
role level.
max-video-streams: The 'max-video-streams' parameter specifies the
maximum number of video media streams that are permitted to be
involved in an instantiated instance of the template. The minimum
value permitted is "1" and the maximum value permitted is "128".
This parameter is required as participant of the mix can contribute
more than one video stream.
max-video-input-streams: The parameter "max-video-input-streams"
indicates the number of input video streams each participant can
inject into the conference. The convenor of the conference can set
this value when instantiating a conference. This reduces the
requirement to define multiple templates for a number of media stream
of same type that participants can send to the conference.
3.3.4 Controls
3.3.4.1 pause-video
The 'pause-video' control is used in conjunction with a media stream
to cease transmission of associated media. It has a 'Boolean' value.
The 'pause-video' control consists of the following attributes:-
type: The 'pause-video' control has a type of 'Boolean'.
name: The control is named 'pause-video'.
default: Indicates the default value for the 'pause-video' control
when not set. The attribute type is 'Boolean' with a default value
of 'false. Setting the 'default' attribute to 'false' specifies that
media should be transported for the associated media stream. When
set to the value of 'true', media should not be transported for the
associated media stream.
enable: The enable attribute specifies if access to the control is
available to the client. The value is of type 'boolean' and is set
to 'true' as default.
3.3.4.2 PauseInputVideo
'PauseInputVideo' is a controlarray that is used in conjuntion with
video media input streams of other participants and allows to pause
any input media streams from the participants. The moderator of the
conference can use this control to pause the incoming video stream in
Boulton & Chandra Expires April 15, 2005 [Page 16]
Internet-Draft Media Template October 2004
case the participant does not follow the conference code. The
controlarray enables a specific video stream to be paused by passing
in the associated identifying number of the participant into the name
attribute e.g. The first participant to enter the conference would
be identified by the number '1' and so the operation
'PauseInputVideo[1]' would result in the participant identified
within the policy with a value of '1' being paused. This result
would be such that this participants video would not be sent to any
one in the conference or would not be mixed in case the server is
mixing the video streams.
3.3.4.3 PauseOutputVideo
This controlarray is used by the moderator to pause the outgoing
video stream to a participant in case the participant is not
confirming to the conference policy. The moderator can choose to set
this control temporaraly till the participant follows conference
rules. The controlarray enables a specific outgoing video stream to
be paused by passing in the associated identifying number of the
participant into the name attribute e.g. The first participant to
enter the conference would be identified by the number '1' and so the
operation 'StopoutputText[1]' would result in the participant
identified within the policy with a value of '1' not seeing the
conference. The control type is boolean and the default value of the
control when not set is false indicating that all participant get the
text stream.
3.3.5 Streams
The 'Basic-Video Template' consists of two video streams:
3.3.5.1 VideoIn
The 'VideoIn' media stream details properties associated with the
incoming video to the mixer. The 'VideoIn' stream has the following
attributes:
type: The stream type is 'video'.
name: The descriptive name for this stream is 'VideoIn'.
dir: The direction of the stream is set to 'in'.
3.3.5.1.1 Floor
3.3.5.1.1.1 Send_Video
The 'Send_Video' floor is associated with the 'VideoIn' stream. It
Boulton & Chandra Expires April 15, 2005 [Page 17]
Internet-Draft Media Template October 2004
provides a mechanism to control the Video input to a media mix. A
participant with a role of 'Moderator' should always have floor
preference - this is considered out of scope for this document. The
following attributes are defined:
floor_id: Uniquely identifies the floor within the context of this
template and has a value of '1'.
instances: Value of '1' implies only one occurrence of this floor at
any one time.
enable: A value of 'false' indicates that this floor is not enabled
by default.
value: A value of 'false' specifies that the instance represented by
this template does not have control of the floor. A value of 'true'
indicates conttrol of the floor.
enable: A value of 'true' specifies that floor control is in
operation while 'false' specifies that floor control is not in
operation.
3.3.5.2 VideoOut
The 'ViedoOut' media stream details properties associated with the
outgoing audio from the mixer. The 'VideoOut' stream has the
following attributes:
type: The stream type is 'video'.
name: The descriptive name for this stream is 'VideoOut'.
dir: The direction of the stream is set to 'out'.
Boulton & Chandra Expires April 15, 2005 [Page 18]
Internet-Draft Media Template October 2004
3.3.6 XML Definition
3.4 Advanced Video Template
3.4.1 Description
The 'Advanced-Video Template' builds on the basic set of video
functionality to provide a set of advanced features. The template
allows provides additional functionality which includes the
specification of layout associated with a participants output stream
and the ability to select an individual output source from the list
participants.
Boulton & Chandra Expires April 15, 2005 [Page 19]
Internet-Draft Media Template October 2004
3.4.2 Roles
Participant: The advanced video template specifies the role of
'Participant' to signify an entry level user with no privileges by
default. The participant role could obtain access to all controls
available for this template if set accordingly by a privileged user.
Moderator: The advanced video template specifies the role of
'Moderator' to signify a user with advanced privileges by default.
The 'Moderator' role for this template has exactly the same controls
as a 'Participant'. The major difference being that the default
value for the 'enable' attribute on the 'pause-video' and 'Layout'
controls are set to 'true'.
3.4.3 Parameters
max-participants: The 'max-participants' parameter specifies the
maximum number of entities that are permitted to be involved in an
instantiated instance of the template for the specified template
category. The minimum value permitted is "1" and the maximum value
permitted is "128". The parameter can appear at either a template or
role level.
max-video-streams: The 'max-video-streams' parameter specifies the
maximum number of video media streams that are permitted to be
involved in an instantiated instance of the template. The minimum
value permitted is "1" and the maximum value permitted is "128".
This parameter is required as participant of the mix can contribute
more than one video stream.
max-video-input-streams: The parameter "max-video-input-streams"
indicates the number of input video streams each participant can
inject into the conference. The convener of the conference can set
this value when instantiating a conference. This reduces the
requirement to define multiple templates for a number of media stream
of same type that participants can send to the conference.
3.4.4 Controls
3.4.4.1 pause-video
The 'pause-video' control is used in conjunction with a media stream
to cease transmission of associated media. It has a 'Boolean' value.
The 'pause-video' control consists of the following attributes:-
type: The 'pause-video' control has a type of 'Boolean'.
name: The control is named 'pause-video'.
Boulton & Chandra Expires April 15, 2005 [Page 20]
Internet-Draft Media Template October 2004
default: Indicates the default value for the 'pause-video' control
when not set. The attribute type is 'Boolean' with a default value
of 'false. Setting the 'default' attribute to 'false' specifies that
media should be transported for the associated media stream. When
set to the value of 'true', media should not be transported for the
associated media stream.
enable: The enable attribute specifies if access to the control is
available to the client. The value is of type 'boolean'.
3.4.4.2 Layout
The 'Layout' control is used in conjunction with an output video
stream to define the video layout configuration. It has a
'enumeration' value which provides various tile formats for video
display. The 'Layout' control consists of the following attributes:-
name: The control is named 'Layout'
type: The 'Layout' control has a type of 'enumeration'.
enable: The enable attribute specifies if access to the control is
available to the client. The value is of type 'boolean'.
default: The default value for this control is '0'.
3.4.4.3 SourceSelector
The 'SourceSelector' control is used in conjunction with an output
video stream to define which video media stream are contributing to
the output mix. It has a 'enumeration' value which provides a list
format containing the media participants. The List element is
described in [1]. The 'SourceSelector' control consists of the
following attributes:-
name: The control is named 'SourceSelector'
type: The 'SourceSelector' control has a type of 'enumeration'.
enable: The enable attribute specifies if access to the control is
available to the client. The value is of type 'boolean'.
default: The default value for this control is '1'.
3.4.4.4 PauseInputVideo
'PauseInputVideo' is a controlarray that is used in conjunction with
video media input streams of other participants and allows to pause
Boulton & Chandra Expires April 15, 2005 [Page 21]
Internet-Draft Media Template October 2004
any input media streams from the participants. The moderator of the
conference can use this control to pause the incoming video stream in
case the participant does not follow the conference code. The
controlarray enables a specific video stream to be paused by passing
in the associated identifying number of the participant into the name
attribute e.g. The first participant to enter the conference would
be identified by the number '1' and so the operation
'PauseInputVideo[1]' would result in the participant identified
within the policy with a value of '1' being paused. This result
would be such that this participants video would not be sent to any
one in the conference or would not be mixed in case the server is
mixing the video streams.
3.4.4.5 PauseOutputVideo
This controlarray is used by the moderator to pause the outgoing
video stream to a participant in case the participant is not
confirming to the conference policy. The moderator can choose to set
this control temporaraly until the participant follows conference
rules. The controlarray enables a specific outgoing video stream to
be paused by passing in the associated identifying number of the
participant into the name attribute e.g. The first participant to
enter the conference would be identified by the number '1' and so the
operation 'StopoutputText[1]' would result in the participant
identified within the policy with a value of '1' not seeing the
conference. The control type is boolean and the default value of the
control when not set is false indicating that all participant get the
text stream.
3.4.5 Streams
The 'Advanced-Video Template' consists of two video streams:
3.4.5.1 VideoIn
The 'VideoIn' media stream details properties associated with the
incoming video to the mixer. The 'VideoIn' stream has the following
attributes:
type: The stream type is 'video'.
name: The descriptive name for this stream is 'VideoIn'.
dir: The direction of the stream is set to 'in'.
3.4.5.1.1 Floor
Boulton & Chandra Expires April 15, 2005 [Page 22]
Internet-Draft Media Template October 2004
3.4.5.1.1.1 Send_Video
The 'Send_Video' floor is associated with the 'VideoIn' stream. It
provides a mechanism to control the Video input to a media mix. A
participant with a role of 'Moderator' should always have floor
preference - this is considered out of scope for this document. The
following attributes are defined:
floor_id: Uniquely identifies the floor within the context of this
template and has a value of '1'.
instances: Value of '1' implies only one occurrence of this floor at
any one time.
enable: A value of 'false' indicates that this floor is not enabled
by default.
value: A value of 'false' specifies that the instance represented by
this template does not have control of the floor. A value of 'true'
indicates control of the floor.
enable: A value of 'true' specifies that floor control is in
operation while 'false' specifies that floor control is not in
operation.
3.4.5.2 VideoOut
The 'ViedoOut' media stream details properties associated with the
outgoing audio from the mixer. The 'VideoOut' stream has the
following attributes:
type: The stream type is 'video'.
name: The descriptive name for this stream is 'VideoOut'.
dir: The direction of the stream is set to 'out'.
3.4.6 XML Definition
Boulton & Chandra Expires April 15, 2005 [Page 23]
Internet-Draft Media Template October 2004
[Editors Note: Sidebar support to be added in next revision]
Boulton & Chandra Expires April 15, 2005 [Page 24]
Internet-Draft Media Template October 2004
3.5 Basic Text Template
3.5.1 Description
The Basic-Text template can be used to achieve the simplest form of
interaction between multiple text input streams from participating
entities. The output stream will consist of all inout messages
except those injected by the participant in question. Controls are
defined to limit who can inject into a conference and a privilege
user has the ability to block participants receiving outgoing media.
3.5.2 Roles
Participant: The basic audio template specifies the role of
'Participant' to signify an entry level user with no privileges by
default. The participant role could obtain access to all controls
available for this template if set accordingly by a privileged user.
Access to the controls available to a participant can be controlled
using floor control, as defined in [ref control draft].
Moderator: The basic audio template specifies the role of 'Moderator'
to signify a user with advanced privileges by default. The
'Moderator' role for this template has the the same controls as a
'Participant' with an additional control for muting any participant
in a conference instance. Another difference being that the default
value for the 'enable' attribute on the 'mute' control on an output
media stream is set to 'true'. See the individual control
definitions for ithe mpact of attribute settings.
3.5.3 Parameters
max-participants: The 'max-particpants' parameter specifies the
maximum number of participants (Entity with signalling connection to
the focus) that are permitted to be involved in an instantiated
instance of the template (or sub-element, depending on where
specified) for the specified role. The minimum value permitted is
"1" and the maximum value permitted is "128".
3.5.4 Controls
3.5.4.1 block-incoming
The 'block-incoming' control is used in conjunction with a input
stream from a participant to cease transmission of associated media.
It has a 'Boolean' value. The 'block-incoming' control consists of
the following attributes:-
type: The 'block-incoming' control has a type of 'Boolean'.
Boulton & Chandra Expires April 15, 2005 [Page 25]
Internet-Draft Media Template October 2004
name: The control is named 'block-incoming'.
default: Indicates the default value for the 'block-incoming' control
when not set. The attribute type is 'Boolean' with a default value
of 'false'. Setting the 'block-incoming' attribute to 'false'
specifies that media should be transported for the associated media
stream. When set to the value of 'true', media should not be
transported for the associated media stream.
enable: The enable attribute specifies if access to the control is
available to the client. The value is of type 'boolean' and is set
to 'true' as default.
3.5.4.2 StopoutputText
This controlarray is used by the moderator to block the outgoing text
stream to a particular participant if the participant doesnt follow
conference rules. The moderator can choose to set this control
temporaraly till the participant follows conference rules. The
controlarray enables a specific outgoing text stream to be stopped by
passing in the associated identifying number of the participant into
the name attribute e.g. The first participant to enter the
conference would be identified by the number '1' and so the operation
'StopoutputText[1]' would result in the participant identified within
the policy with a value of '1' not getting any text media. The
control type is boolean and the default value of the control when not
set is false indicating that all participant get the text stream.
3.5.4.3 StopinputText
This controlarray is used by the moderator to block the incoming text
stream from a particular participant uf the participant doesnt follow
the conference rules. This will result in the participants input
text media not to distributed to other participants in conference
mix. The controlarray enables a specific incoming text stream to be
not be mixed in the conference mix by passing the associated
identifying number of the participant into the name attribute e.g.
The first participant to enter the conference would be identified by
the number '1' and so the operation 'StopinputText[1]' would result
in the participant identified within the policy with a value of '1',
its text media not being mixed. The control type is boolean and the
default value of the control when not set is false indicating that
all participant text stream is mixed.
3.5.5 Streams
The 'Basic-Text' Template consists of two text media streams:
Boulton & Chandra Expires April 15, 2005 [Page 26]
Internet-Draft Media Template October 2004
3.5.5.1 TextIn
The 'TextIn' media stream details properties associated with the
incoming text to the mixer. The 'TextIn' stream has the following
attributes:
type: The stream type is 'text'.
name: The descriptive name for this stream is 'TextIn'.
dir: The direction of the stream is set to 'in'.
3.5.5.1.1 Floor
3.5.5.1.1.1 Right_to_inject
The 'Right_to_inject' floor is associated with the 'TextIn' stream.
It provides a mechanism to control the text input to a text media
mix. A participant with a role of 'Moderator' should always have
floor preference - this is considered out of scope for this document.
The following attributes are defined:
floor_id: Uniquely identifies the floor within the context of this
template and has a value of '1'.
instances: Indicatesthe number of occurrences of this floor at any
one time.
enable: A value of 'false' indicates that this floor is not enabled.
A value of 'true' indicates that this floor is enabled.
value: A value of 'false' specifies that the instance represented by
this template does not have control of the floor. A value of 'true'
indicates control of the floor.
3.5.5.2 TextOut
The 'TextOut' media stream details properties associated with the
outgoing text media from the mixer. The 'TextOut' stream has the
following attributes:
type: The stream type is 'text'.
name: The descriptive name for this stream is 'TextOut'.
dir: The direction of the stream is set to 'out'.
Boulton & Chandra Expires April 15, 2005 [Page 27]
Internet-Draft Media Template October 2004
3.5.6 XML Definition
3.6 Advanced Text Template
3.6.1 Description
[Editors Note: To be completed in the next revision of this draft]
Boulton & Chandra Expires April 15, 2005 [Page 28]
Internet-Draft Media Template October 2004
3.6.2 Roles
3.6.3 Parameters
3.6.4 Controls
3.6.5 Streams
3.6.6 XML Definition
[Editors Note: Sidebar support to be added in next revision]
3.7 Audio-Video Template
3.7.1 Description
The advance audio-video template enables a conference with audio and
video and gives some advance controls to the participants of the
conference. The controls provided to the participants in this
templates are similar to the one defined in advance audio and advance
video templates.
3.7.2 Roles
3.7.3 Parameters
3.7.4 Controls
3.7.5 Streams
3.7.6 XML Definition
Boulton & Chandra Expires April 15, 2005 [Page 29]
Internet-Draft Media Template October 2004
Boulton & Chandra Expires April 15, 2005 [Page 30]
Internet-Draft Media Template October 2004
[Editors Note: Sidebar support to be added in next revision]
3.8 audio-text Template
3.8.1 Description
The advance audio-text template enables a conference with audio and
text with some advance controls to the participants of the
conference. The controls provided to the participants in this
templates are similar to the one defined in advance audio and advance
text templates. An additional control called 'close-captioning'is
defined for receiving a text stream for the audio mix from the
conference.
Boulton & Chandra Expires April 15, 2005 [Page 31]
Internet-Draft Media Template October 2004
3.8.2 Roles
**/ same as defined in advance audio and text templates in section
3.2.2 and 3.5.2 **/
3.8.3 Parameters
**/ same parameter as defined in audio audio and text template. **/
3.8.4 Controls
**/ This templates uses the same controls as defined in audio and
text templates. One new control is defined for this template. **/
3.8.4.1 close-captioning
The close captioning control enables a participant to receive a text
stream for the audio mix of the conference. This control is useful
in case the quality of the audio is not good or for hearing impaired
participant. The 'close-captioning' control consists of the
following attributes:-
name: The control is named 'close-captioning'
type: boolean'.
enable: The enable attribute specifies if access to the control is
available to the client. The value is of type 'boolean'.
default: The default value for this control is false.
3.8.5 Streams
**/ Same as in advance audio and text templates **/
3.8.6 XML Definition
Boulton & Chandra Expires April 15, 2005 [Page 32]
Internet-Draft Media Template October 2004
Boulton & Chandra Expires April 15, 2005 [Page 33]
Internet-Draft Media Template October 2004
[Editors Note: Sidebar support to be added in next revision]
3.9 Basic Multimedia Template
3.9.1 Description
[Editors Note: To be added in the next revision]
3.9.2 Roles
3.9.3 Parameters
3.9.4 Controls
3.9.5 Streams
3.9.6 XML Definition
3.10 Advanced Multimedia Template
3.10.1 Description
[Editors Note: To be added in the next revision]
3.10.2 Roles
3.10.3 Parameters
3.10.4 Controls
Boulton & Chandra Expires April 15, 2005 [Page 34]
Internet-Draft Media Template October 2004
3.10.5 Streams
3.10.6 XML Definition
[Editors Note: Sidebar support to be added in next revision]
4. Security Considerations
5. IANA Considerations
6. Acknowledgements
Many thanks to the media policy design team members for helpful
comments including Cullen Jennings, Alan Johnston, Roni Even, Brian
Rosen and Mark Trayer. Special thanks goes to Alan Johnston for his
guidance.
7. References
7.1 Normative References
[1] Jennings, C., "Media Mixer Control for XCON",
draft-jennings-xcon-media-control-01 (work in progress), July
2004.
7.2 Informative References
Authors' Addresses
Chris Boulton
Ubiquity Software Corporation
Langstone Park
Newport, South Wales NP
EMail: cboulton@ubiquity.net
Umesh Chandra
Nokia Research Center
6000 Connection Drive
Irving, Texas 75063
EMail: Umesh.Chandra@nokia.com
Boulton & Chandra Expires April 15, 2005 [Page 35]
Internet-Draft Media Template October 2004
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2004). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Boulton & Chandra Expires April 15, 2005 [Page 36]