1
0
mirror of https://github.com/moparisthebest/xeps synced 2024-12-21 23:28:51 -05:00
git-svn-id: file:///home/ksmith/gitmigration/svn/xmpp/trunk@2750 4b5297f7-1745-476d-ba37-a9c6900126ab
This commit is contained in:
Peter Saint-Andre 2009-02-18 02:37:01 +00:00
parent f6f3a1c967
commit b836fbc640

View File

@ -27,6 +27,12 @@
&robmcqueen;
&seanegan;
&hildjj;
<revision>
<version>0.34</version>
<date>2009-02-17</date>
<initials>psa</initials>
<remark><p>Clarified the definitions and conformance requirements for datagram and streaming transports; tightened the security requirements regarding the initiator and responder attributes; updated examples to reflect changes to XEP-0176.</p></remark>
</revision>
<revision>
<version>0.33</version>
<date>2008-12-18</date>
@ -354,7 +360,7 @@ Romeo Juliet
initiator='romeo@montague.lit/orchard'
sid='a73sjjvkla37jfea'>
<content creator='initiator' name='stub'>
<description xmlns='urn:xmpp:jingle:apps:stub:0' media='stub'/>
<description xmlns='urn:xmpp:jingle:apps:stub:0'/>
<transport xmlns='urn:xmpp:jingle:transports:stub:0'/>
</content>
</jingle>
@ -372,7 +378,7 @@ Romeo Juliet
responder='juliet@capulet.lit/balcony'
sid='a73sjjvkla37jfea'>
<content creator='initiator' name='stub'>
<description xmlns='urn:xmpp:jingle:apps:stub:0' media='stub'/>
<description xmlns='urn:xmpp:jingle:apps:stub:0'/>
<transport xmlns='urn:xmpp:jingle:transports:stub:0'/>
</content>
</jingle>
@ -415,7 +421,32 @@ Romeo Juliet
<payload-type id='103' name='L16' clockrate='16000' channels='2'/>
<payload-type id='98' name='x-ISAC' clockrate='8000'/>
</description>
<transport xmlns='urn:xmpp:jingle:transports:ice-udp:0'/>
<transport xmlns='urn:xmpp:jingle:transports:ice-udp:1'
pwd='asd88fgpdd777uzjYhagZg'
ufrag='8hhy'>
<candidate component='1'
foundation='1'
generation='0'
id='el0747fg11'
ip='10.0.1.1'
network='1'
port='8998'
priority='2130706431'
protocol='udp'
type='host'/>
<candidate component='1'
foundation='2'
generation='0'
id='y3s2b30v3r'
ip='192.0.2.3'
network='1'
port='45664'
priority='1694498815'
protocol='udp'
rel-addr='10.0.1.1'
rel-port='8998'
type='srflx'/>
</transport>
</content>
</jingle>
</iq>
@ -443,18 +474,17 @@ Romeo Juliet
<payload-type id='97' name='speex' clockrate='8000'/>
<payload-type id='18' name='G729'/>
</description>
<transport xmlns='urn:xmpp:jingle:transports:ice-udp:0'>
<transport xmlns='urn:xmpp:jingle:transports:ice-udp:1'>
<candidate component='1'
foundation='1'
generation='0'
ip='192.0.2.3'
network='1'
port='45664'
priority='1678246398'
id='or2ii2syr1'
ip='192.0.2.1'
network='0'
port='3478'
priority='2130706431'
protocol='udp'
pwd='asd88fgpdd777uzjYhagZg'
type='srflx'
ufrag='8hhy'/>
type='host'/>
</transport>
</content>
</jingle>
@ -537,7 +567,7 @@ Romeo Juliet
</tr>
<tr>
<td>Transport Method</td>
<td>The method for establishing data stream(s) between entities. Possible transports might include ICE-UDP, ICE-TCP, Raw UDP, inband data, etc. This is the 'how' of the session. In Jingle XML syntax this is the namespace of the &TRANSPORT; element. The transport method defines how to transfer bits from one host to another. Each transport method MUST specify whether it is datagram (thus suitable for applications where some packet loss is tolerable) or streaming (thus suitable for applications where packet loss is not tolerable).</td>
<td>The method for establishing data stream(s) between entities. Possible transports might include ICE-UDP, ICE-TCP, Raw UDP, inband data, etc. This is the 'how' of the session. In Jingle XML syntax this is the namespace of the &TRANSPORT; element. The transport method defines how to transfer bits from one host to another. Each transport method MUST specify whether it is "datagram" or "streaming".</td>
</tr>
</table>
</section2>
@ -663,7 +693,32 @@ PENDING o----------------------+ |
<payload-type id='103' name='L16' clockrate='16000' channels='2'/>
<payload-type id='98' name='x-ISAC' clockrate='8000'/>
</description>
<transport xmlns='urn:xmpp:jingle:transports:ice-udp:0'/>
<transport xmlns='urn:xmpp:jingle:transports:ice-udp:1'
pwd='asd88fgpdd777uzjYhagZg'
ufrag='8hhy'>
<candidate component='1'
foundation='1'
generation='0'
id='el0747fg11'
ip='10.0.1.1'
network='1'
port='8998'
priority='2130706431'
protocol='udp'
type='host'/>
<candidate component='1'
foundation='2'
generation='0'
id='y3s2b30v3r'
ip='192.0.2.3'
network='1'
port='45664'
priority='1694498815'
protocol='udp'
rel-addr='10.0.1.1'
rel-port='8998'
type='srflx'/>
</transport>
</content>
</jingle>
</iq>
@ -777,18 +832,17 @@ PENDING o----------------------+ |
<payload-type id='97' name='speex' clockrate='8000'/>
<payload-type id='18' name='G729'/>
</description>
<transport xmlns='urn:xmpp:jingle:transports:ice-udp:0'>
<transport xmlns='urn:xmpp:jingle:transports:ice-udp:1'>
<candidate component='1'
foundation='1'
generation='0'
ip='192.0.2.3'
network='1'
port='45664'
priority='1678246398'
id='or2ii2syr1'
ip='192.0.2.1'
network='0'
port='3478'
priority='2130706431'
protocol='udp'
pwd='asd88fgpdd777uzjYhagZg'
type='srflx'
ufrag='8hhy'/>
type='host'/>
</transport>
</content>
</jingle>
@ -995,7 +1049,7 @@ PENDING o----------------------+ |
</tr>
<tr>
<td>initiator</td>
<td>The full JID of the entity that has initiated the session flow (which can be different from the 'from' address on the IQ-set).</td>
<td>The full JID of the entity that has initiated the session flow. This can be different from the 'from' address on the IQ-set of the session-initiate message (e.g., to handle certain interactions involving call managers, soft switches, and media relays); however, if the 'initiator' and 'from' values are different then the responder MUST NOT interact with the 'initiator' JID unless it trusts the 'initiator' JID or trusts the 'from' JID to authorize the 'initiator' JID to act on its behalf.</td>
<td>REQUIRED</td>
</tr>
<tr>
@ -1175,6 +1229,18 @@ PENDING o----------------------+ |
</section2>
</section1>
<section1 topic='Transports' anchor='transports'>
<p>Jingle defines two transport types.</p>
<section2 topic='Datagram' anchor='transports-datagram'>
<p>A datagram transport has one or more components with which to exchange packets with UDP-like behavior. Packets might be of arbitrary length, might be received out of order, and might not be received at all (i.e., the transport is lossy). Each component is assigned a string identifier and has a maximum packet length.</p>
<p>Applications compatible with datagram transports MUST specify how many components are necessary, what identifier to assign each component, and how each component will be used.</p>
</section2>
<section2 topic='Streaming' anchor='transports-streaming'>
<p>A streaming transport has one or more components with which to exchange bidirectional bytestreams with TCP-like behavior. Bytes are received reliably and in order, and applications MUST NOT rely on a stream being chunked in any specific way. Each component is assigned a string identifier and has a maximum packet length.</p>
<p>Applications compatible with stream transports MUST specify how many components are necessary, what identifier to assign each component, and what data shall be exchanged over the transport.</p>
</section2>
</section1>
<section1 topic='Error Handling' anchor='errors'>
<p>The Jingle-specific error conditions are as follows. These condition elements are qualified by the 'urn:xmpp:jingle:errors:0' namespace &VNOTE;.</p>
<table caption='Error Conditions'>
@ -1237,6 +1303,7 @@ PENDING o----------------------+ |
<li>A &DESCRIPTION; element and associated semantics for representing the application format.</li>
<li>If and how the application format can be mapped to the Session Description Protocol, including the appropriate SDP media type (see Section 8.2.1 of <cite>RFC 4566</cite>).</li>
<li>Whether the media data for the application format shall be sent over a streaming transport method or a datagram transport method (or, if both, which is preferred).</li>
<li>If the chosen transport handles "components", define how the components shall be identified and assigned.</li>
<li>Exactly how the media data is to be sent and received over a streaming or datagram transport.</li>
</ol>
</section2>
@ -1246,7 +1313,7 @@ PENDING o----------------------+ |
<li>How successful transport negotiation occurs.</li>
<li>A &TRANSPORT; element and associated semantics for representing the transport method.</li>
<li>Whether the transport is a streaming method or a datagram method.</li>
<li>If and how the transport handles "components" (e.g., for the Real Time Control Protocol).</li>
<li>If the transport supports multiple components.</li>
</ol>
</section2>
</section1>