RE: [XCON] Control Values and the Data Model
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [XCON] Control Values and the Data Model
Hi,
In the template draft, we had defined an element called controlArray
which is basically a control set on set of streams. From the basic-audio
template, for the moderator role we have
<role name="moderator">
<controlArray>
<LogicalStream type="audio"
name="MainAudioOut" />
<control name="mute" type="boolean"
enable="false">
<label>MuteOutputAudio</label>
<value>False</value>
</control>
</controlArray>
</role>
The intention of this element is to have the moderator the capability to
mute the stream going to the participant. Of course what we are missing
in this XML is the identification of the user (or device) and we will
add that, but the point is the moderator can have the capability to set
the values of the controls for each and every participant in the
conference.
Umesh
>-----Original Message-----
>From: ext Brian Rosen [mailto:br at brianrosen.net]
>Sent: Wednesday, May 03, 2006 1:37 PM
>To: 'Chris Boulton'; 'Adam Roach'; 'XCON-IETF'
>Subject: RE: [XCON] Control Values and the Data Model
>
>I think I understand Adam's concern. If the conference state
>is represented by the conference object, then the template
>part of the object needs a branch for every participant (in
>the role) so that an authorized entity can read or set the
>value of Bob's gain different from Alice's gain. Sure, Bob
>may only see his own value, but the moderator may be able to
>see everyone's.
>
>I think this is pretty much tied to the protocol. The
>protocol can have a concept of a complex key
>(user+device+control), which doesn't imply that the object
>itself has branches for user and device.
>
>As I said in a previous message, I'm not so sure now, having
>reflected on the subject, that getting away from the central
>notion that the conference state is defined as an object with
>a schema that is part common and part template, and
>manipulating conference state is directly manipulating said
>object is a good idea. The "functional" protocol idea DOES
>get away from that notion; it imposes a different view of
>conference state which is not the conference object and
>provides methods that act on that view.
>
>If we were to get back to that notion (conference state =
>object state), then the object would indeed need branches for
>user and possibly device, which would change the template
>definition. We could then argue whether it was
>user.device.control or control.user.device (that is, which are
>the leaves and which are the main branches of the tree?)
>
>I don't think putting the controls into the common part of the
>object (which does have participant branches) is wise.
>
>Brian
>
>-----Original Message-----
>From: Chris Boulton [mailto:cboulton at ubiquity.net]
>Sent: Wednesday, May 03, 2006 12:51 PM
>To: Adam Roach; XCON-IETF
>Subject: RE: [XCON] Control Values and the Data Model
>
>
> Now, here's the interesting issue: where, if anywhere, does this
> document represent what the specific value for Bob's gain for
>his
> AudioOut channel is?
>
>[CJB] Adam - I'm a bit confused (doesn't take much :-). This is taken
>from the 02 version of the templates
>(http://www.ietf.org/internet-drafts/draft-boulton-xcon-media-t
>emplate-0
>2.txt):
>
>
><stream type="audio" name="AudioOut" dir="out">
> <control type="real" name="gain"
>enable="true"
>>
> <label>Volume</label>
> <value>1.0</value>
> </control>
> </stream>
>
>As you can see we had a 'value' element that represents the gain.
>
>
> It can't go in the Template portion, since the template has
> entries for each role, not for each user. In other words, it has
> precisely one "Participant" section, even though there can be
> multiple participants.
>
>[CJB] But each participant will have a relevant view of the template -
>indicating there own particular gain. The Conference server
>will have a
>view of all participants and there relevant conference view.
>
>Chris.
>
>
>-----Original Message-----
>From: Adam Roach [mailto:adam at nostrum.com]
>Sent: 03 May 2006 00:21
>To: XCON-IETF
>Subject: [XCON] Control Values and the Data Model
>
>In a recent discussion that the XCON operations document editors were
>having, an interesting issue arose. It's not clear to me that we have
>given a lot of thought to this issue, so I'd like to see what opinions
>the working group has on the topic:
>
>The current view of the data model as described in the
>framework is that
>we have a common conference portion (based primarily on the
>schema given
>in draft-ietf-sipping-conference-package-12); and we have a template
>portion (such as those described in
>draft-boulton-xcon-media-template-02).
>
>Eliding a lot of information, this leads us to a breakdown of
>information roughly along the lines of:
>
><!-- COMMON PORTION -->
>
><conference-info>
> <users>
> <user entity="sip:bob at example.com">
> <roles>
> <entry>participant</entry>
> </roles>
> <endpoint entity="sip:bob at 123.45.67.8">
> <media id="1">
> <type>audio</audio>
> </media>
> <media id="2">
> <type>video</audio>
> </media>
> </endpoint>
> </user>
> </users>
>
><!-- TEMPLATE PORTION -->
>
> <template name="basic-audio-video">
> <role name="participant">
> <stream type="audio" name="AudioIn" dir="in">
> <control type="boolean" name="mute" enable="true">
> <label>Mute-Audio</label>
> </control>
> </stream>
> <stream type="video" name="VideoIn" dir="in">
> <control type="boolean" name="pause-video" enable="true">
> <label>Pause-Video</label>
> </control>
> </stream>
> <stream type="audio" name="AudioOut" dir="out">
> <control type="integer" name="gain" enable="true">
> <label>Volume</label>
> </control>
> </stream>
> <stream type="video" name="VideoOut" dir="out" />
> </role>
> </template>
></conference-info>
>
>
>
>Now, here's the interesting issue: where, if anywhere, does this
>document represent what the specific value for Bob's gain for his
>AudioOut channel is?
>
>With the current structure:
>
> * It can't go in the Template portion, since the template has
> entries for each role, not for each user. In other words, it has
> precisely one "Participant" section, even though there can be
> multiple participants.
>
> * It can't go in the Common portion, since that part of
>the document
> is defined to not change regardless of the template in use.
> Because of this, I don't think we can start putting
>control values
> specific to the template up there.
>
>I can think of two ways to handle this, although there may be more:
>
> 1. Add yet another section to the document, associated with the
> template part, that basically forms the cross product of
>each user
> and their relevant controls. In other words, add a section like:
>
> <conference-info>
> ...
> </template>
> <control-values>
> <endpoint entity="sip:alice at 123.45.67.7">
> <control stream="AudioOut" name="gain" value="92" />
> <control stream="AudioIn" name="mute" value="false" />
> <control stream="VideoOut" name="pause" value="false" />
> </endpoint>
> <endpoint entity="sip:bob at 123.45.67.8">
> <control stream="AudioOut" name="gain" value="92" />
> <control stream="AudioIn" name="mute" value="false" />
> <control stream="VideoOut" name="pause" value="false" />
> </endpoint>
> <endpoint entity="sip:charlie at 123.45.67.9">
> <control stream="AudioOut" name="gain" value="92" />
> <control stream="AudioIn" name="mute" value="false" />
> <control stream="VideoOut" name="pause" value="false" />
> </endpoint>
> <endpoint entity="sip:dinah at 123.45.67.10">
> <control stream="AudioOut" name="gain" value="92" />
> <control stream="AudioIn" name="mute" value="false" />
> <control stream="VideoOut" name="pause" value="false" />
> </endpoint>
> </control-values>
> </conference-info>
>
> 2. Don't include the literal control values in the
>document. Instead,
> clients can use the list of user devices and the roles associated
> with them to ascertain which controls are valid for which
> user/endpoint/media-stream combination. Then, the control values
> could be explicitly queried and set by the operations
>protocol. As
> an example, the XML document representing the conference state
> would never include the value of my "gain" control -- but you
> could learn what it was by issuing a command that basically said
> "query user=sip:adam at estacado.net, device=sip:adam at 123.45.67.8,
> stream=AudioOut, control=gain".
>
>
>Thoughts?
>
>/a
>
>_______________________________________________
>XCON mailing list
>XCON at ietf.org
>https://www1.ietf.org/mailman/listinfo/xcon
>
>
>Information contained in this e-mail and any attachments are
>intended for
>the use of the addressee only, and may contain confidential
>information of
>Ubiquity Software Corporation. All unauthorized use, disclosure or
>distribution is strictly prohibited. If you are not the
>addressee, please
>notify the sender immediately and destroy all copies of this
>email. Unless
>otherwise expressly agreed in writing signed by an officer of Ubiquity
>Software Corporation, nothing in this communication shall be
>deemed to be
>legally binding. Thank you.
>
>
>_______________________________________________
>XCON mailing list
>XCON at ietf.org
>https://www1.ietf.org/mailman/listinfo/xcon
>
>
>_______________________________________________
>XCON mailing list
>XCON at ietf.org
>https://www1.ietf.org/mailman/listinfo/xcon
>
_______________________________________________
XCON mailing list
XCON at ietf.org
https://www1.ietf.org/mailman/listinfo/xcon
Note: Messages sent to this list are the opinions of the senders and do not imply endorsement by the IETF.