One document matched: draft-miniero-bfcp-control-package-00.xml
<?xml version="1.0"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes" ?>
<?rfc compact="yes" ?>
<?rfc sortrefs="no" ?>
<rfc ipr="full3978" docName="draft-miniero-bfcp-control-package-00.txt">
<front>
<title abbrev="BFCP Control Package">
A Binary Floor Control Protocol (BFCP) Control Package for the Session Initiation Protocol (SIP)
</title>
<author initials="L." surname="Miniero" fullname="Lorenzo Miniero">
<organization>University of Napoli</organization>
<address>
<postal>
<street>Via Claudio 21</street>
<code>80125</code>
<city>Napoli</city>
<country>Italy</country>
</postal>
<email>lorenzo.miniero@unina.it</email>
</address>
</author>
<author initials="A." surname="Amirante" fullname="Alessandro Amirante">
<organization>University of Napoli</organization>
<address>
<postal>
<street>Via Claudio 21</street>
<code>80125</code>
<city>Napoli</city>
<country>Italy</country>
</postal>
<email>alessandro.amirante@unina.it</email>
</address>
</author>
<author initials="T." surname="Castaldi" fullname="Tobia Castaldi">
<organization>University of Napoli</organization>
<address>
<postal>
<street>Via Claudio 21</street>
<code>80125</code>
<city>Napoli</city>
<country>Italy</country>
</postal>
<email>tobia.castaldi@unina.it</email>
</address>
</author>
<author initials="S P" surname="Romano" fullname="Simon Pietro Romano">
<organization>University of Napoli</organization>
<address>
<postal>
<street>Via Claudio 21</street>
<code>80125</code>
<city>Napoli</city>
<country>Italy</country>
</postal>
<email>spromano@unina.it</email>
</address>
</author>
<date month="February" year="2008"/>
<area>RAI</area>
<workgroup>Network Working Group</workgroup>
<keyword>MediaCtrl</keyword>
<keyword>Media Server Control</keyword>
<keyword>SIP Control Framework</keyword>
<keyword>BFCP</keyword>
<abstract>
<t>
This document defines a Session Initiation Protocol (SIP) Control Package for
BFCP-based conference moderation. The control of
Media Servers and their related resources in decomposed network
architectures plays an important role in various Next Generation
Networks. This Control Package aims at adding BFCP functionality
to conferences using the SIP Control Framework.
</t>
</abstract>
</front>
<middle>
<!-- Introduction -->
<section title="Introduction" anchor="sec-intro">
<t>
The SIP Control Framework <xref target="I-D.ietf-mediactrl-sip-control-framework"/>
provides a generic approach for establishment and reporting
capabilities of remotely initiated commands. The Framework utilizes
many functions provided by the Session Initiation Protocol
(SIP) <xref target="RFC3261"/> for the rendezvous and establishment of a reliable channel for
control interactions. The Control Framework also introduces the
concept of a Control Package. A Control Package is an explicit usage
of the Control Framework for a particular interaction set. This
specification defines a package for floor control in conferences based
on the use of the Binary Floor Control Protocol (BFCP) <xref target="RFC4582"/>.
</t>
</section>
<!-- Conventions -->
<section title="Conventions" anchor="sec-conv">
<t>
In this document, the key words "MUST", "MUST NOT", "REQUIRED",
"SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as
described in BCP 14, RFC 2119 <xref target="RFC2119"/> and
indicate requirement levels for compliant implementations.
</t>
</section>
<!-- Terminology -->
<section title="Terminology" anchor="sec-teminology">
<t>
TBD.
</t>
<!--
<list style="hanging">
<vspace blankLines='1'/>
<t hangText="Application Server:">
<vspace blankLines='1'/>
</t>
<vspace blankLines='1'/>
<t hangText="Media Server:">
<vspace blankLines='1'/>
</t>
</list>
-->
</section>
<!-- Overview -->
<section title="Overview" anchor="sec-overview">
<t>
The SIP Control Framework <xref target="I-D.ietf-mediactrl-sip-control-framework"/>
provides a generic approach for establishment and reporting
capabilities of remotely initiated commands. The Framework utilizes
many functions provided by the Session Initiation Protocol
(SIP) <xref target="RFC3261"/> for the rendezvous and establishment of a reliable channel for
control interactions. The Control Framework also introduces the
concept of a Control Package. A Control Package is an explicit usage
of the Control Framework for a particular interaction set. This
specification defines a package for floor control in conferences based
on the use of the Binary Floor Control Protocol (BFCP) <xref target="RFC4582"/>.
</t>
<t>
Floor control is needed whenever access to a resource, or set of resources,
needs to be moderated. A typical example is the right to talk in a conference.
In such a scenario, a participant willing to talk would first have to place
a request concerning the floor associated with such audio resource.
The participant would then be added to the conference mix only when his
request has been granted, by the server itself or by a designated chair.
RFC4582 <xref target="RFC4582"/> defines a Binary Floor Control Protocol (BFCP)
to specifically deal with such a need. It defines all the relevant entities
(floors, queues, requests) and related actors (floor control servers, participants and chairs).
So, the scope of this package is adding BFCP-based floor control functionality
to complementary packages that might need it, as the Conference Control Package
<xref target="I-D.boulton-conference-control-package"/>.
</t>
<t>
In particular, this package aims at dealing with the case where the Floor Control Server (FCS),
as defined in <xref target="RFC4582"/>, is co-located with the Media Server (MS).
In fact, if the FCS were co-located with the Application Server (AS), floor
control would be part of the AS application logic, and consequently out of scope for the MS.
Considering users are added by the AS to the MS by means of a 3PCC
<xref target="RFC3725"/> mechanism, a way to include BFCP negotiation
is needed. In fact, users willing to act as floor participants will need
to be made aware of all the relevant identifiers (i.e. the transport
address of the floor control server, the BFCP conference
ID associated with the mix, the BFCP user ID the user has been assigned,
all the floor identifiers and their mapping with existing resources, and
so on) to opportunely interact with a floor control server.
To achieve this, RFC4583 <xref target="RFC4582"/> provides with
a way to negotiate BFCP connections within the context of a
SDP offer/answer <xref target="RFC3264"/>.
</t>
</section>
<!-- Control Package Definition -->
<section title="Control Package Definition" anchor="sec-ctrlpkg">
<t>
This section fulfills the mandatory requirement for information that
MUST be specified during the definition of a Control Framework
Package, as detailed in Section 9 of
<xref target="I-D.ietf-mediactrl-sip-control-framework"/>.
</t>
<section title="Control Package Name" anchor="sec-ctrlpkg-name">
<t>
<t>The Control Framework requires a Control Package definition to
specify and register a unique name and version.</t>
<t>The name and version of this Control Package is "msc-conf-bfcp/1.0"
(Media Server Control - Conferencing - BFCP - version 1.0 ).</t>
</t>
</section>
<section title="Framework Message Usage" anchor="sec-ctrlpkg-msg">
<t>
BFCP functionality includes several different capabilities.
There must be means to appropriately create, modify and
destroy each of the available resources. This includes means
to create a BFCP conference with specified settings,
adding and removing floors to the conference, setting
or unsetting designated chairs for such floors and so on.
</t>
<t>
This package defines XML elements in <xref target="sec-element"/>
and provides an XML Schema in <xref target="sec-syntax"/>.
Additionally, some examples are provided in <xref target="sec-examples"/>.
</t>
<t>
The XML elements in this package are split into requests, responses
and event notifications. Requests are carried in CONTROL message
bodies; <moderateconference> and <addfloor> elements
are examples of package requests. Responses are carried either in
REPORT message or Control Framework 200 response bodies; the
<response> element is defined as a package response. Event
notifications are also carried in REPORT message bodies; the <event>
element is defined for package event notifications. Event subscription
is accomplished by means of the <subscribe> element.
</t>
<t>
Note that package responses are different from framework response
codes. Framework error response codes (see Section 8 of
<xref target="I-D.ietf-mediactrl-sip-control-framework"/>)
are used when the request or event notification is invalid; for example,
a request is invalid XML (400), or not understood (500). Package
responses are carried in 200 response or REPORT message bodies. This
package's response codes are defined in <xref target="sec-response"/>.
</t>
<t>
The schema uses the "connection-id" and "conf-id" attributes
which are imported from the schema defined in the core Control Framework
<xref target="I-D.ietf-mediactrl-sip-control-framework"/>.
</t>
</section>
<section title="Common XML Support" anchor="sec-ctrlpkg-xml">
<t>
The Control Framework requires a Control Package definition to
specify if the attributes for media dialog or conference references
are required.
</t>
<t>
This package requires that the XML Schema in Section 16.1 of
<xref target="I-D.ietf-mediactrl-sip-control-framework"/>
MUST be supported for media dialogs and conferences.
</t>
</section>
<section title="CONTROL Message Body" anchor="sec-ctrlpkg-control">
<t>
A valid CONTROL body message MUST conform to the schema defined in
<xref target="sec-syntax"/> and described in <xref target="sec-element"/>.
XML messages appearing in CONTROL messages MUST contain one of the
elements described in <xref target="sec-requests"/>.
</t>
</section>
<section title="REPORT Message Body" anchor="sec-ctrlpkg-report">
<t>
A valid REPORT body MUST conform to the schema defined in
<xref target="sec-syntax"/> and described in <xref target="sec-element"/>.
XML messages appearing in REPORT messages MUST contain a <response>
(<xref target="sec-response"/>), or a (notification)
<event> element (<xref target="sec-event"/>).
</t>
</section>
</section>
<!-- Element Definitions -->
<section title="Element Definitions" anchor="sec-element">
<t>
This section defines the XML messages for this control package.
</t>
<t>
[Editors Note: since XML Schema may not be able to express all
constraints expressed in these definitions, in cases where there is a
difference in constraints, the definitions in the section take
priority.]
</t>
<section title="Requests" anchor="sec-requests">
<t>
The following request elements are defined:
</t>
<t>
<list style="hanging">
<t hangText="<moderateconference>:">
create and configure a new BFCP conference, associated with
an existing framework conference instance to moderate - see
<xref target="sec-moderate"/> for details;
</t>
<vspace blankLines='1'/>
<t hangText="<unmoderateconference>:">
destroy a BFCP conference, thus stopping the moderation
of the associated framework conference instance - see
<xref target="sec-unmoderate"/> for details;
</t>
<vspace blankLines='1'/>
<t hangText="<addfloor>:">
add and configure a new floor to an existing
BFCP conference - see
<xref target="sec-addfloor"/> for details;
</t>
<vspace blankLines='1'/>
<t hangText="<modifyfloor>:">
modify the configuration of a currently handled floor
in an existing BFCP conference - see
<xref target="sec-modifyfloor"/> for details;
</t>
<vspace blankLines='1'/>
<t hangText="<removefloor>:">
remove a currently handled floor from
an existing BFCP conference - see
<xref target="sec-removefloor"/> for details;
</t>
<vspace blankLines='1'/>
<t hangText="<addparticipant>:">
add a floor participant to a BFCP conference - see
<xref target="sec-addparticipant"/> for details;
</t>
<vspace blankLines='1'/>
<t hangText="<removeparticipant>:">
remove a floor participant from a BFCP conference - see
<xref target="sec-removeparticipant"/> for details.
</t>
</list>
</t>
<section title="<moderateconference>" anchor="sec-moderate">
<t>
<moderateconference> is used in a request by the AS
to moderate an existing conference instance, by associating
to it a new, properly configured, BFCP conference.
</t>
<t>
The <moderateconference> element has the following
attributes:
</t>
<t>
<list style="hanging">
<t hangText="conf-id:">
string indicating the name of the conference
to moderate. The conference MUST be known by the
receiving entity or else a 404 'Conference does not
exist' package level error will be generated.
This attribute is mandatory.
</t>
<vspace blankLines='1'/>
<t hangText="bfcp-conf-id:">
string (an unsigned integer) indicating a unique name
for the BFCP conference. If this attribute is not specified,
the MS creates a unique name for the BFCP conference. The
value is used in subsequent references to the conference
(e.g. as bfcp-conf-id in a <response>). When present
in a <moderateconference> request, the new value of
this attribute MUST be unique or else a 403 'Conference
already exists' package level error will be reported.
The attribute is optional.
</t>
</list>
</t>
<t>
Additionally, to configure the new BFCP conference, the <moderateconference>
element has the following child elements defined:
</t>
<t>
<list style="hanging">
<t hangText="<floor>:">
an element to configure a floor in the new BFCP conference
(see <xref target="sec-floor"/> for more details). This element
only refers to floors already available at creation time.
New floors can still be added subsequently by means of
an <addfloor> request (see <xref target="sec-addfloor"/>).
This element is optional.
</t>
<vspace blankLines='1'/>
<t hangText="<subscribe>:">
an element to request subscription to conference
events. (see <xref target="sec-subscribe"/> for more details).
This element is optional.
</t>
</list>
</t>
<t>
Multiple <floor> elements may be defined, in case several
floors are needed.
</t>
<t>
When a MS has finished processing a <moderateconference>
request, it MUST reply with an appropriate <response> element
(<xref target="sec-response"/>).
</t>
</section>
<section title="<unmoderateconference>" anchor="sec-unmoderate">
<t>
<unmoderateconference> is used in a request by the AS
to destroy a BFCP conference, thus stopping the moderatation
of the associated existing framework conference instance. A
successful processing of this request does NOT result in a
destruction of the associated media conference: it only
results in the media conference not being moderated by means
of BFCP anymore. The actual destruction of the media conference
itself is accomplished through the means provided in
<xref target="I-D.boulton-conference-control-package"/>.
</t>
<t>
The <unmoderateconference> element has the following
attributes:
</t>
<t>
<list style="hanging">
<t hangText="bfcp-conf-id:">
string indicating the name of the BFCP conference
to destroy. The conference MUST be known by the
receiving entity or else a 404 'Conference does not
exist' package level error will be generated.
This attribute is mandatory.
</t>
</list>
</t>
<t>
The <unmoderateconference> element does not specify
any child elements.
</t>
<t>
When a MS has finished processing an <unmoderateconference>
request, it MUST reply with an appropriate <response> element
(<xref target="sec-response"/>).
</t>
</section>
<section title="<addfloor>" anchor="sec-addfloor">
<t>
<addfloor> is used in a request by the AS to add one or
more floors to an existing BFCP conference instance.
</t>
<t>
The <addfloor> element has the following
attributes:
</t>
<t>
<list style="hanging">
<t hangText="bfcp-conf-id:">
string indicating the name of the BFCP conference
to add the floor(s) to. The conference MUST be known by the
receiving entity or else a 404 'Conference does not
exist' package level error will be generated.
This attribute is mandatory.
</t>
</list>
</t>
<t>
Additionally, to configure the new floor(s), the <addfloor>
element has the following child elements defined:
</t>
<t>
<list style="hanging">
<t hangText="<floor>:">
an element to configure a new floor in the specified BFCP conference
(see <xref target="sec-floor"/> for more details).
This element is mandatory.
</t>
</list>
Multiple <floor> elements may be defined, in case several
floors are to be added at the same time.
</t>
<t>
When a MS has finished processing a <addfloor>
request, it MUST reply with an appropriate <response> element
(<xref target="sec-response"/>).
</t>
</section>
<section title="<modifyfloor>" anchor="sec-modifyfloor">
<t>
<removefloor> is used in a request by the AS to remove
an existing floor from the BFCP conference instance it is in.
A successful processing of this request does NOT result in a
destruction of the associated resource (or set of resources): it only
results in the associated resource not being moderated by means
of BFCP anymore. The actual destruction of the resource (in
case it is directly handled and manipulated by the MS itself)
is accomplished through the means provided in
<xref target="I-D.boulton-conference-control-package"/>.
</t>
<t>
The <removefloor> element has the following
attributes:
</t>
<t>
<list style="hanging">
<t hangText="bfcp-conf-id:">
string indicating the name of the BFCP conference
to remove the floor from. The conference MUST be known by the
receiving entity or else a 404 'Conference does not
exist' package level error will be generated.
This attribute is mandatory.
</t>
<vspace blankLines='1'/>
<t hangText="bfcp-floor-id:">
string indicating the name of the BFCP floor
to remove. The floor MUST be known by the
receiving entity or else a 404 'Floor does not
exist' package level error will be generated.
This attribute is mandatory.
</t>
</list>
</t>
<t>
The <removefloor> element does not specify
any child elements.
</t>
<t>
When a MS has finished processing a <removefloorfloor>
request, it MUST reply with an appropriate <response> element
(<xref target="sec-response"/>).
</t>
</section>
<section title="<removefloor>" anchor="sec-removefloor">
<t>
<modifyfloor> is used in a request by the AS to modify
the configuration of a floor in an existing BFCP conference instance.
</t>
<t>
The <modifyfloor> element has the following
attributes:
</t>
<t>
<list style="hanging">
<t hangText="bfcp-conf-id:">
string indicating the name of the BFCP conference
to modify the floor's in. The conference MUST be known by the
receiving entity or else a 404 'Conference does not
exist' package level error will be generated.
This attribute is mandatory.
</t>
<vspace blankLines='1'/>
<t hangText="bfcp-floor-id:">
string indicating the name of the BFCP floor
to modify the floor. The floor MUST be known by the
receiving entity or else a 404 'Floor does not
exist' package level error will be generated.
This attribute is mandatory.
</t>
</list>
</t>
<t>
Additionally, to modify the configuration of the floor, the <modifyfloor>
element has the following child elements defined:
</t>
<t>
<list style="hanging">
<t hangText="<floor>:">
an element to configure the specified floor in the specified BFCP conference
(see <xref target="sec-floor"/> for more details).
This element is mandatory.
</t>
</list>
</t>
<t>
It is an error if the provided <floor> element
conflicts with the BFCP floor identifier attribute.
</t>
<t>
When a MS has finished processing a <modifyfloor>
request, it MUST reply with an appropriate <response> element
(<xref target="sec-response"/>).
</t>
</section>
<section title="<addparticipant>" anchor="sec-addparticipant">
<t>
TBD. (is this really needed? there's RFC4583 for that...)
</t>
</section>
<section title="<removeparticipant>" anchor="sec-removeparticipant">
<t>
TBD. (is this really needed? there's RFC4583 for that...)
</t>
</section>
</section>
<section title="Responses" anchor="sec-responses">
<t>
All responses to the previously described requests
are specified in a <response> element. This element
may be contained in the body either of a REPORT framework message
or in a 200 framework message.
</t>
<section title="<response>" anchor="sec-response">
<t>
Reponses to requests are indicated by a <response>
element.
</t>
<t>
The <response> element has the
following attributes:
</t>
<t>
<list style="hanging">
<t hangText="status:">
numeric code indicating the response status.
This attribute is mandatory.
</t>
<vspace blankLines='1'/>
<t hangText="reason:">
string specifying a human readable description
of the reason for the response status.
This attribute is optional.
</t>
<vspace blankLines='1'/>
<t hangText="bfcp-conf-id:">
string identifying the BFCP conference the
request referred to.
This attribute is optional.
</t>
<vspace blankLines='1'/>
<t hangText="bfcp-floor-id:">
string identifying the BFCP floor the
request referred to.
This attribute is optional.
</t>
</list>
</t>
<t>
The following status codes are defined:
</t>
<t>
<texttable anchor="tab-error-codes" title="<response> Status codes">
<ttcol align='left'>code</ttcol>
<ttcol align='left'>description</ttcol>
<c>200</c><c>OK</c>
<c>4xx</c><c>whatever</c>
</texttable>
</t>
<t>
TBD. Add all error codes and their meanings
</t>
</section>
</section>
<section title="Notifications" anchor="sec-notifications">
<t>
In case the a controlling client is interested in receiving events
regarding a BFCP conference, a notification mechanism
is provided in the package. The client requests subscription to
such events by adding a <subscribe> child
element to the <moderateconference> request,
whereas the MS triggers the related events
in subsequent REPORT messages. Event notifications
are then delivered using the <event> element.
</t>
<section title="<subscribe>" anchor="sec-subscribe">
<t>
BFCP event notifications are defined when a
controlling client subscribes to notifications
for BFCP-related events using the <subscribe>
element in a <moderateconference> request.
</t>
<t>
The <subscribe> element has no attributes,
but has the following child elements defined:
</t>
<t>
<list style="hanging">
<t hangText="<notify>:">
contains the following attributes:
<list style="hanging">
<t hangText="name">
a string indicating the name of the event
to be notified. The attribute is mandatory.
</t>
</list>
</t>
</list>
</t>
<t>
Multiple <notify> elements may be specified.
</t>
<t>
The MS would then use the <event> element to send
notifications to the controlling client.
</t>
</section>
<section title="<event>" anchor="sec-event">
<t>
Delivery of events the AS subscribed for is accomplished
by means of an <event> element.
</t>
<t>
The <event> element has the following
attributes:
</t>
<t>
<list style="hanging">
<t hangText="name:">
string indicating the name of the BFCP event.
This attribute is mandatory.
</t>
<vspace blankLines='1'/>
<t hangText="bfcp-conf-id:">
string identifying the BFCP conference the
event happened in.
This attribute is mandatory.
</t>
</list>
</t>
<t>
Additionally, to provide the AS with details upon the event, the <event>
element has the following child elements defined:
</t>
<t>
<!--
<list style="hanging">
<t hangText="<data>:">
an element to configure the specified floor in the specified BFCP conference
(see <xref target="sec-floor"/> for more details).
This element is mandatory.
</t>
</list>
-->
TBD. Elaborate the notification mechanism.
</t>
</section>
</section>
<section title="Floors Manipulation" anchor="sec-floors">
<t>
Floors are defined as tokens associated with a
resource, or set of resources, in order to
moderate the access to their functionality
by users. This introduces the need for a mechanism
in the package to properly take care of this
kind of association, especially when dealing
about resources directly manipulated by
the Media Server (e.g. andio and video).
</t>
<t>
Let's consider the following figure, which
presents the view of an audio conference
with three participants, and the related
media labels associated with each participant's
media stream:
</t>
<t>
<figure anchor="fig-conf-audio" title="Audio Conference with labels">
<artwork>
<![CDATA[
MS
+---------------+
UAC A | | UAC B
o-----------+--x x--+-----------o
a1b2c3 | | d4e5f6
| |
| x |
| | |
+-------+-------+
|
| g7h8i9
|
o
UAC C
]]>
</artwork>
</figure>
</t>
<t>
Even if each participant sees a different
label for the stream he has with the mixer,
the floor associated with the only available
resource in the conference (audio) is the same.
This means that the package needs to have
a way to address each resource in the conference
according to how it is defined in
<xref target="I-D.boulton-conference-control-package"/>,
e.g. "associate media 'audio' with floor 11".
Once a participant's media stream is attached to the
resource, the related label is consequently associated
with the floor as specified in <xref target="RFC4583"/>.
<xref target="fig-conf-bfcp"/> depicts such the case
where all the participants have been attached to the
mix.
</t>
<t>
<figure anchor="fig-conf-bfcp" title="Audio Conference with labels and floors">
<artwork>
<![CDATA[
MS
+---------------+
UAC A | | UAC B
o-----------+--+~~>[ ]<~~+--+-----------o
a1b2c3 | ^ | d4e5f6
(floor 11) | | | (floor 11)
| + |
| | |
+-------+-------+
|
| g7h8i9
| (floor 11)
o
UAC C
]]>
</artwork>
</figure>
</t>
<t>
The same approach can be considered when dealing with
different floors associated with one or more different
resources, e.g. conferences with an audio and a video stream,
conferences with two different audio streams, and so on.
Each floor needs to be unambiguously associated with
a subset of the available resources (e.g. floor 11 is audio1
and floor 22 is video, or floor 11 is audio1 while floor 22 is
audio2, or floor 11 is audio1 AND audio2 AND video2, and
so on).
</t>
<t>
To achieve this, each floor, together with its configuration,
is defined in the package by the <floor> element.
</t>
<section title="<floor>" anchor="sec-floor">
<t>
The <floor> element is used in the package
to configure a floor in a BFCP conference. It addresses
all the relevant settings for a floor, including the
resource (or, again, set of resources) it must be
associated with, the maximum number of users that can
be granted the floor at the same time, the maximum number
of requests the same participant can place for this floor
at the same time, and the default policy the FCS considers
for incoming requests about the floor.
</t>
<t>
The <floor> element has the following
attributes:
</t>
<t>
<list style="hanging">
<t hangText="bfcp-floor-id:">
string indicating the name of the BFCP floor.
This attribute is optional.
</t>
<vspace blankLines='1'/>
<t hangText="<media>:">
an element indicating the type of media associated with the
floor, i.e. the resource associated with the floor, as
defined in <xref target="I-D.boulton-conference-control-package"/>. The string
might be a comma-separated list in case the floor is associated
with more than one resource (e.g. media="audio,video").
This element is mandatory.
</t>
<vspace blankLines='1'/>
<t hangText="<max-users>:">
an element indicating the maximum number of users that
can be granted this floor at the same time: this basically
sets the size of the granted floor queue. In case all the
queue slots have already been granted, subsequent requests
are put on hold.
This element is optional: if missing, the default value
(max-users="1") is used.
</t>
<vspace blankLines='1'/>
<t hangText="<max-requests>:">
an element indicating the maximum number of requests each user
can place for the floor before being granted it.
This element is optional: if missing, the default value
(max-requests"="1) is used.
</t>
<vspace blankLines='1'/>
<t hangText="<policy>:">
an element indicating the default policy the FCS must take
whenever receiving requests for this floor and the chair
is missing. In fact, in case a chair is involved, the request
is forwarded to him, which then takes a decision about it.
The policy can be an 'autodeny' (deny all the requests for
this floor), 'autoaccept' (accept all the requests for this
floor) or 'ignore' (ignore all the requests for this floor and
put them on ice, waiting for a chair to appear) policy.
This element is optional: if missing, the default value
(policy="autoaccept") is used.
</t>
</list>
</t>
<t>
The "bfcp-floor-id" attribute has different roles
according to the request the <floor> element is part of.
The behaviour of the package changes accordingly. Specifically:
</t>
<t>
<list style="hanging">
<t hangText="<moderateconference|addfloor>:">
if the attribute is not specified,
the MS creates a unique name for the BFCP floor. The
value is used in subsequent references to the conference
(e.g. as bfcp-floor-id in a <modifyfloor>). The new value of
this attribute MUST be unique or else a 403 'Floor
already exists' package level error will be reported.
</t>
<vspace blankLines='1'/>
<t hangText="<modifyfloor>:">
if the attribute is not specified,
the value of the attribute in the father element is used.
If it is specified, instead, it must not conflict with
the value of the attribute in the father element,
otherwise it is an error.
</t>
</list>
</t>
<t>
TBD. Elaborate the floor mechanism.
</t>
</section>
</section>
</section>
<!-- Examples -->
<section title="Examples" anchor="sec-examples">
<t>
TBD.
</t>
</section>
<!-- Formal Syntax -->
<section title="Formal Syntax" anchor="sec-syntax">
<t>
TBD.
</t>
</section>
<!-- Security Considerations -->
<section title="Security Considerations" anchor="sec-security">
<t>
TBD.
</t>
</section>
<!-- IANA -->
<section title="IANA Considerations" anchor="sec-iana">
<t>
TBD.
</t>
</section>
<!-- Acknowledgements -->
<section title="Acknowledgements" anchor="sec-acks">
<t>
TBD.
</t>
</section>
</middle>
<back>
<references title="References">
<!-- BNF -->
<?rfc include="reference.RFC.2234"?>
<!-- Terminology -->
<?rfc include="reference.RFC.2119"?>
<!-- IANA Guidelines -->
<?rfc include="reference.RFC.2434"?>
<!-- SIP -->
<?rfc include="reference.RFC.3261"?>
<!-- SIP/SDP -->
<?rfc include="reference.RFC.3264"?>
<!-- 3PCC -->
<?rfc include="reference.RFC.3725"?>
<!-- RTP -->
<?rfc include="reference.RFC.3550"?>
<!-- BFCP -->
<?rfc include="reference.RFC.4582"?>
<!-- BFCP/SDP -->
<?rfc include="reference.RFC.4583"?>
<!-- Label -->
<?rfc include="reference.RFC.4574"?>
<!-- SIP Control Framework -->
<?rfc include="reference.I-D.ietf-mediactrl-sip-control-framework"?>
<!-- IVR package -->
<?rfc include="reference.I-D.boulton-ivr-control-package"?>
<!-- Conferencing package -->
<?rfc include="reference.I-D.boulton-conference-control-package"?>
<!-- VoiceXML package -->
<?rfc include="reference.I-D.boulton-ivr-vxml-control-package"?>
</references>
</back>
</rfc>
<!-- LocalWords: xref PPR PPA SAA RTA RTR LIR LIA CDATA -->
| PAFTECH AB 2003-2026 | 2026-04-23 16:22:43 |