[XCON] XCON Data Model

Adam Roach <adam@estacado.net> Mon, 10 July 2006 16:56 UTC

Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1Fzz47-0003NF-G6; Mon, 10 Jul 2006 12:56:59 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1Fzz45-0003L6-UC for xcon@ietf.org; Mon, 10 Jul 2006 12:56:57 -0400
Received: from [2001:5c0:8fff:fffe::4c3d] (helo=vicuna.estacado.net) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Fzz43-0003xE-AP for xcon@ietf.org; Mon, 10 Jul 2006 12:56:57 -0400
Received: from [132.219.16.186] (h10ba-net84db.lab.risq.net [132.219.16.186] (may be forged)) (authenticated bits=0) by vicuna.estacado.net (8.13.6/8.13.4) with ESMTP id k6AGukb7066742 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <xcon@ietf.org>; Mon, 10 Jul 2006 11:56:51 -0500 (CDT) (envelope-from adam@estacado.net)
Message-ID: <44B286CD.2080105@estacado.net>
Date: Mon, 10 Jul 2006 12:56:45 -0400
From: Adam Roach <adam@estacado.net>
User-Agent: Thunderbird 1.5.0.4 (Windows/20060516)
MIME-Version: 1.0
To: XCON-IETF <xcon@ietf.org>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 21bf7a2f1643ae0bf20c1e010766eb78
Subject: [XCON] XCON Data Model
X-BeenThere: xcon@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Centralized Conferencing <xcon.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/xcon>, <mailto:xcon-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:xcon@ietf.org>
List-Help: <mailto:xcon-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/xcon>, <mailto:xcon-request@ietf.org?subject=subscribe>
Errors-To: xcon-bounces@ietf.org

At the Dallas IETF meeting (IETF 65), the chairs called for a team of 
editors to work during the following several months to produce a set of 
protocol operations (semantics, not syntax) that can be used to 
manipulate conference state. During the course of the discussions, it 
became clear that the apparent consensus on the data model within the 
working group was more illusory than rough. Unable to build the 
operations on a shifting foundation, we disbanded the operations 
document editor team to focus our efforts on the data model.

On June 21st, the chairs sent out a call for participants for an editing 
session to work on the data model to be held on Sunday, July 9th. 
Participants in the session are listed at the end of this message.

As a result of this editing session, Oscar Novo (the editor of the data 
model document) will be producing and publishing a new version of the 
data model document shortly.

In attempting to solve some of the difficulties that we have had with 
the data model, the participants of this editing session concluded that 
a preponderance of the issues resulted from the division of the template 
portion of conference state from the fixed portion of conference state.

To address this issue, the team produced text and examples that 
incorporate the controls associated with audio streams directly into 
what was previously called the "fixed part" of the conference. Other 
information relating to the conference (e.g. moderator controls on 
streams that affect all participants' audio) are moved into appropriate 
other locations (in the example given above, into the <available-media/> 
section).

Additional controls required by the conference server can be added to 
the document in the same way that PIDF presence documents can be extended.

So, for example, under <users>/<user>/<endpoint>, the document for a 
user participating in an audio/video conference might look something 
like this (with some of the elements that aren't interesting for this 
example elided):

<endpoint>
  <media>
    <type>audio</type>
    <display-type/>
    <label/>
    <src-id/>
    <status/>
    <to-mixer name="AudioIn">
      <floor name="main" floor_id="1" instances="1" enable="true"
         value="false">
      </floor>   
        <controls>
          <control type ="boolean" name="mute" enable="true">
            <display-text xml:lang="en">Mute-Audio</display-text>
            <value>True</value>
          </control>
        </controls>
    </to-mixer>
    <from-mixer name="AudioOut">
      <controls>
        <control type="signed-char" name="gain" enable="true" >
          <display-text xml:lang="en">Volume</label>
          <value>0</value>
        </control>
      </from-mixer>
    </controls>
  </media>

  <media>
    <type>video</type> (from SIP conferencing event package)
    <display-type/> (from SIP conferencing event package)
    <label/> (from SIP conferencing event package)
    <src-id/> (from SIP conferencing event package)
    <status/> (from SIP conferencing event package)
    <to-mixer name="VideoIn">
      <floor name="main" floor_id="1" instances="1" enable="true"
         value="false">
      </floor>   
        <controls>
          <control type="boolean" name="blank" enable="true">
            <display-text xml:lang="en">Mute Video</display-text>
            <value>True</value>
          </control>
        </controls>
    </to-mixer>
    <from-mixer name="VideoOut">
      <controls>
        <control name="layout" type="enum" enable="false">
          <display-text xml:lang="en">Video Layout</label>
          <value>quadrate</value>
        </control>
      </controls>
    </from-mixer>
  </media>
</endpoint>

Similarly, controls that apply at a different level than endpoint/stream 
would appear at an appropriate place in the document. So, moderator 
controls that affect all media output would go under 
<conference-description>/<available-media>, and look something like:

<available-media>
  <entry label="23985u7t6">
    <type>audio</type>
    <display-text/>
    <status/>
    <mixing-mode/>
    <mix-level>
    <codecs>
      <entry/>
    </codecs>
    <controls>
      <control name="mute" type="boolean" enable="false">
        <display-text xml:lang="en">Mute All Audio</label>
        <value>False</value>
      </control>
    </controls>
  </entry>
  <entry label="90gj2094">
    <type>video</type>
    <display-text/>
    <status/>
    <mixing-mode/>
    <mix-level>
    <codecs>
      <entry/>
    </codecs>
    <controls>
      <control name="layout" type="enum" enable="false">
        <display-text xml:lang="en">Video Layout</label>
        <value>quadrate</value>
      </control>
    </controls>
  </entry>
</available-media>

We would like to have feedback on this approach before we invest too 
much time finalizing the approach in the data model draft. If time 
allows, please discuss on this list prior to the meeting on Thursday. We 
will, of course, visit these issues in the meeting on Thursday.

/a

---
The team that met consisted of the following participants:

Oscar Novo
Roni Even
Alan Johnston
Rohan Mahy
Cullen Jennings
Mary Barnes
Gonzalo Camarillo
Srivatsa Srinivasan

_______________________________________________
XCON mailing list
XCON@ietf.org
https://www1.ietf.org/mailman/listinfo/xcon