Sophie

Sophie

distrib > Mandriva > current > i586 > media > contrib-release > by-pkgid > db0bf5ad77fb9f979e58e5a696685b67 > files > 6

telepathy-salut-0.3.11-1mdv2010.1.i586.rpm

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>XEP-proto-clique: Clique - link-local chat rooms</title><link rel="stylesheet" type="text/css" href="/xmpp.css" /><link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" /><meta name="DC.Title" content="Clique - link-local chat rooms" /><meta name="DC.Creator" content="Simon McVittie" /><meta name="DC.Description" content="A protocol for serverless link-local multi-user chat over&#10;    reliable multicast." /><meta name="DC.Publisher" content="XMPP Standards Foundation" /><meta name="DC.Contributor" content="XMPP Extensions Editor" /><meta name="DC.Date" content="2007-11-02" /><meta name="DC.Type" content="XMPP Extension Protocol" /><meta name="DC.Format" content="XHTML" /><meta name="DC.Identifier" content="XEP-proto-clique" /><meta name="DC.Language" content="en" /><meta name="DC.Rights" content="" /></head><body><h1>XEP-proto-clique: Clique - link-local chat rooms</h1><p>A protocol for serverless link-local multi-user chat over
    reliable multicast.</p><hr /><p style="color:red">WARNING: This document has not yet been accepted for consideration or approved in any official manner by the XMPP Standards Foundation, and this document must not be referred to as an XMPP Extension Protocol (XEP). If this document is accepted as a XEP by the XMPP Council, it will be published at &lt;<a href="http://www.xmpp.org/extensions/">http://www.xmpp.org/extensions/</a>&gt; and announced on the &lt;standards@xmpp.org&gt; mailing list.</p><hr /><h2>Document Information</h2><p class="indent">
            Series: <a href="http://www.xmpp.org/extensions/">XEP</a><br />
            Number: proto-clique<br />
            Publisher: <a href="/xsf/">XMPP Standards Foundation</a><br />
            Status: 
            <a href="http://www.xmpp.org/extensions/xep-0001.html#states-ProtoXEP">ProtoXEP</a><br />
            Type:
            <a href="http://www.xmpp.org/extensions/xep-0001.html#types-Extension">Extension</a><br />
            Version: 0.0.1<br />
            Last Updated: 2007-11-02<br />
                Approving Body: <a href="http://www.xmpp.org/council/">XMPP Council</a><br />Dependencies: XMPP Core, XEP-0174<br />
                Supersedes: None<br />
                Superseded By: None<br />
            Short Name: NOT YET ASSIGNED<br /></p><hr /><h2>Author Information</h2><div class="indent"><h3>Simon McVittie</h3><p class="indent">
        Email:
        <a href="mailto:simon.mcvittie@collabora.co.uk">simon.mcvittie@collabora.co.uk</a><br />
        JabberID: 
        <a href="xmpp:simon.mcvittie@collabora.co.uk">simon.mcvittie@collabora.co.uk</a><br /></p></div><hr /><h2>Legal Notices</h2><div class="indent"><h3>Copyright</h3><h3>Permissions</h3><h3>Disclaimer of Warranty</h3><span style="font-weight: bold"></span><h3>Limitation of Liability</h3><h3>IPR Conformance</h3></div><hr /><h2>Discussion Venue</h2><p class="indent">The preferred venue for discussion of this document is the Standards discussion list: &lt;<a href="http://mail.jabber.org/mailman/listinfo/standards">http://mail.jabber.org/mailman/listinfo/standards</a>&gt;.</p><p class="indent">Errata may be sent to &lt;<a href="mailto:editor@xmpp.org">editor@xmpp.org</a>&gt;.</p><hr /><h2>Table of Contents</h2><div class="indent"><p><br />1.  <a href="#intro">Introduction</a><br />2.  <a href="#reqs">Requirements</a><br />3.  <a href="#glossary">Glossary</a><br />4.  <a href="#usecases">Use Cases</a><br />   
      4.1.  <a href="#sect-id2251097">Advertising a public link-local chatroom via mDNS</a><br />   
      4.2.  <a href="#sect-id2251117">Inviting a contact to a public or private room</a><br />5.  <a href="#rules">Business Rules</a><br />6.  <a href="#impl">Implementation Notes</a><br />7.  <a href="#i18n">Internationalization Considerations</a><br />8.  <a href="#security">Security Considerations</a><br />9.  <a href="#iana">IANA Considerations</a><br />10.  <a href="#registrar">XMPP Registrar Considerations</a><br />11.  <a href="#schema">XML Schema</a><br /><a href="#notes">Notes</a><br /><a href="#revs">Revision History</a></p></div><hr /><h2>1.
       <a name="intro" id="intro">Introduction</a></h2>
  <p>Clique is an extension of XEP-0174 to support multi-user chat.
    It consists of the following components:</p>

  <ul>
    <li>a binary multicast message-passing protocol sometimes referred to
      as rMulticast, with retransmission/reliability,
      fragmentation/reassembly, causal ordering, and reliable membership
      semantics, in which messages are associated with a stream ID in the
      range 0 to 65535</li>
    <li>XMPP-like XML messages sent with stream ID 0</li>
    <li>optional auxiliary data (e.g. Tubes) sent with stream IDs
      1-65535, with semantics signalled by XML messages in stream 0</li>
  </ul>

  <p>The chat room behaves a lot like XMPP, and namespaces used in XMPP
    have their usual semantics. However, instead of a stream of XML
    as in XMPP, Clique's XMPP-like messages are individually well-formed
    XML documents.</p>

  <p>XEP-0174 instance names are used for identification in a chat
    room.</p>

  <p>The Clique XML namespace can also be used for certain elements sent
    over XEP-0174 unicast TCP streams, for instance to send invitations.</p>
<h2>2.
       <a name="reqs" id="reqs">Requirements</a></h2>
  <p>STRONGLY RECOMMENDED.</p>
<h2>3.
       <a name="glossary" id="glossary">Glossary</a></h2>
  <p>OPTIONAL.</p>
<h2>4.
       <a name="usecases" id="usecases">Use Cases</a></h2>
  <p>FIXME: there need to be some examples of the actual Clique protocol
    here</p>

  <div class="indent"><h3>4.1 <a name="sect-id2251097" id="sect-id2251097">Advertising a public link-local chatroom via mDNS</a></h3>
    <p>In this example a chatroom called "Witchcraft" uses the multicast
      group 239.255.71.66, port 13251 (arbitrarily chosen).</p>
    <p>We recommend that chatrooms use a random high port number
      in a random multicast group in the range 239.255.71.x.</p>
    <p class="caption"></p><div class="indent"><pre>
      
        ; A dummy A record for the chatroom's multicast group
        Witchcraft._clique._udp.local. IN A 239.255.71.66

        ; A DNS-SD service of type _clique._udp
        _clique._udp.local. IN PTR Witchcraft._clique._udp.local.
        Witchcraft._clique._udp.local. IN SRV 13251 ._clique._udp.local.

        ; For future expansion - implementations SHOULD NOT resolve this,
        ; unless they implement a future version of this protocol that
        ; defines some TXT keys for _clique._udp
        Witchcraft._clique._udp.local. IN TXT "txtvers=0"
      
    </pre></div>
  </div>

  <div class="indent"><h3>4.2 <a name="sect-id2251117" id="sect-id2251117">Inviting a contact to a public or private room</a></h3>
    <p>In this example crone@desktop invites hecate@broom to the
      chatroom given above.</p>
    <p>This would work just as well if the chatroom was not advertised
      in mDNS; this can be used to make "private" chatrooms. Note however
      that anyone with a network traffic sniffer can see the chatroom
      itself.</p>
    <p class="caption"></p><div class="indent"><pre>
      
      &lt;!-- Sent via XEP-0174 unicast TCP from crone@desktop to
           hecate@broom --&gt;
      &lt;message from='crone@desktop' to='hecate@broom'&gt;
        &lt;invite xmlns='http://telepathy.freedesktop.org/xmpp/clique'&gt;
          &lt;roomname&gt;Witchcraft&lt;/roomname&gt;
          &lt;address&gt;239.255.71.66&lt;/address&gt;
          &lt;port&gt;13251&lt;/port&gt;
          &lt;!-- reason is optional --&gt;
          &lt;reason&gt;We need to plot Macbeth's doom, but the XMPP server is
            down&lt;/reason&gt;
        &lt;/invite&gt;
        &lt;!-- Displayed by iChat and other non-Clique-compatible clients --&gt;
        &lt;body&gt;You got a Clique chatroom invitation&lt;/body&gt;
      &lt;/message&gt;
      
    </pre></div>
  </div>
<h2>5.
       <a name="rules" id="rules">Business Rules</a></h2>
  <p>OPTIONAL.</p>
<h2>6.
       <a name="impl" id="impl">Implementation Notes</a></h2>
  <p>OPTIONAL.</p>
<h2>7.
       <a name="i18n" id="i18n">Internationalization Considerations</a></h2>
  <p>OPTIONAL.</p>
<h2>8.
       <a name="security" id="security">Security Considerations</a></h2>
  <p>REQUIRED.</p>
<h2>9.
       <a name="iana" id="iana">IANA Considerations</a></h2>
  <p>REQUIRED.</p>
<h2>10.
       <a name="registrar" id="registrar">XMPP Registrar Considerations</a></h2>
  <p>None.</p>
<h2>11.
       <a name="schema" id="schema">XML Schema</a></h2>
  <p class="caption"></p><div class="indent"><pre>
    
    &lt;xs:schema
    xmlns:xs='http://www.w3.org/2001/XMLSchema'
      targetNamespace='http://telepathy.freedesktop.org/xmpp/clique'
      xmlns='http://telepathy.freedesktop.org/xmpp/clique'
      elementFormDefault='qualified'&gt;

      &lt;!-- LLMUC invitation. Sent over the IM socket --&gt;
      &lt;xs:element name='invite'&gt;
        &lt;xs:complexType&gt;
          &lt;xs:all&gt;
            &lt;xs:element name='roomname' type='xs:string'/&gt;
            &lt;xs:element name='reason' minOccurs='0' type='xs:string'/&gt;

            &lt;xs:element name='address' type='xs:string'/&gt;
            &lt;xs:element name='port' type='xs:unsignedShort'/&gt;

            &lt;!-- In OLPC builds, &lt;properties&gt; with NS_OLPC_ACTIVITY_PROPS
              goes here --&gt;
            &lt;xs:any minOccurs='0' maxOccurs='unbounded' namespace='##other'&gt;
          &lt;/xs:all&gt;
        &lt;/xs:complexType&gt;
      &lt;/xs:element&gt;

    &lt;/xs:schema&gt;
    
  </pre></div>
<hr /><h2><a name="notes" id="notes"></a>Notes</h2><div class="indent"></div><hr /><h2><a name="revs" id="revs"></a>Revision History</h2><div class="indent"><h4>Version 0.0.1 (2007-11-02)</h4><div class="indent"><p>First draft.</p> (smcv)
    </div></div><hr /><p>END</p></body></html>