[muji/master] Add section explain on how to add and remove streams
Sjoerd Simons
sjoerd.simons at collabora.co.uk
Fri Jun 5 09:12:05 PDT 2009
---
xep/muji.xml | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 73 insertions(+), 7 deletions(-)
diff --git a/xep/muji.xml b/xep/muji.xml
index 35f2f12..bed9828 100644
--- a/xep/muji.xml
+++ b/xep/muji.xml
@@ -147,20 +147,86 @@ streams.
conference. Content names inside Muji-related Jingle sessions always refer
to the content with the same name inside the Muji conference.
</p>
+</section1>
+<section1 topic='Leaving a conference' anchor='leaving'>
<p>
- To leave a conference first the Muji information, presence MUST first be
- removed from the participant's presence; subsequently it SHOULD terminate
- all Jingle sessions related to that conference. Updating the presence first
- reduces the likelihood of situations where new participants initiate
- sessions with participants who are leaving the conference.
+ To leave a conference the Muji information MUST first be removed from the
+ participant's presence; subsequently it SHOULD terminate all Jingle sessions
+ related to that conference. Updating the presence first reduces the
+ likelihood of situations where new participants initiate sessions with
+ participants who are leaving the conference.
+ </p>
+</section1>
+
+<section1 topic='Adding a content' anchor'addcontent'>
+ <p>
+ Adding a stream follows a process similar to the joining a conference. As a
+ first step an updated presence stanza MUST be send which contains a preparing
+ element as part of the Muji section.
+
+ <code><![CDATA[
+ <presence from='wiccarocks at shakespeare.lit/laptop'
+ to='darkcave at chat.shakespeare.lit/oldhag'>
+ <c xmlns="http://jabber.org/protocol/caps"
+ node="http://telepathy.freedesktop.org/wiki/Muji"
+ ver="48QdBuXRCJFb8qIzgy1FOHSGO0U="
+ hash="sha-1" />
+ <muji xmlns='http://telepathy.freedesktop.org/muji'>
+ <content creator='initiator' name='voice'>
+ <description xmlns='urn:xmpp:jingle:apps:rtp:0' media='audio'>
+ <payload-type id='97' name='speex' clockrate='8000'/>
+ <payload-type id='18' name='G729'/>
+ </description>
+ </content>
+ <preparing/>
+ </muji>
+ </presence>
+ ]]></code>
+
+ The client MUST then wait until the MUC rebroadcasts its presence message,
+ after which it MUST wait for all other participants that had a preparing
+ element in their presence to finish their changes.
+
+ Afterwards the client should add the new content to the muji section of its
+ presence and add the content to all the jingle sessions it had with
+ participants it shared the content with.
+
+ <code><![CDATA[
+ <presence from='wiccarocks at shakespeare.lit/laptop'
+ to='darkcave at chat.shakespeare.lit/oldhag'>
+ <c xmlns="http://jabber.org/protocol/caps"
+ node="http://telepathy.freedesktop.org/wiki/Muji"
+ ver="48QdBuXRCJFb8qIzgy1FOHSGO0U="
+ hash="sha-1" />
+ <muji xmlns='http://telepathy.freedesktop.org/muji'>
+ <content name='video'>
+ <description xmlns='urn:xmpp:jingle:apps:rtp:0' media='video'>
+ <payload-type id='97' name='theora' clockrate='90000'/>
+ </description>
+ </content>
+ <content creator='initiator' name='voice'>
+ <description xmlns='urn:xmpp:jingle:apps:rtp:0' media='audio'>
+ <payload-type id='97' name='speex' clockrate='8000'/>
+ <payload-type id='18' name='G729'/>
+ </description>
+ </content>
+ </muji>
+ </presence>
+ ]]></code>
+ </p>
+</section1>
+
+<section1 topic='Removing a content' anchor'removecontent'>
+ <p>
+ To remove a content the participant SHOULD first sent an updated presence
+ without the content in its muji section. Afterwards it MUST the content from
+ all the jingle sessions it has open.
</p>
</section1>
<section1 topic='TODO' anchor='TODO'>
<ul>
- <li> Describe how to add/remove contents.
- </li>
<li> Add support for relays. Not all participants might have the necessary
upstream bandwidth to stream to everyone. A relay can help by relaying
the RTP streams of on or more participants. The relay could either be a
--
1.5.6.5
More information about the telepathy-commits
mailing list