This commit is contained in:
stpeter 2011-11-08 13:10:55 -07:00
parent e072d792b6
commit 6b7fab75cd
1 changed files with 30 additions and 4 deletions

View File

@ -16,6 +16,7 @@
<approver>Council</approver> <approver>Council</approver>
<dependencies> <dependencies>
<spec>XMPP Core</spec> <spec>XMPP Core</spec>
<spec>XMPP IM</spec>
<spec>XEP-0001</spec> <spec>XEP-0001</spec>
<spec>XEP-0030</spec> <spec>XEP-0030</spec>
<spec>XEP-0085</spec> <spec>XEP-0085</spec>
@ -38,6 +39,12 @@
<email>linuxwolf@outer-planes.net</email> <email>linuxwolf@outer-planes.net</email>
<jid>linuxwolf@outer-planes.net</jid> <jid>linuxwolf@outer-planes.net</jid>
</author> </author>
<revision>
<version>0.5</version>
<date>2011-10-31</date>
<initials>mm</initials>
<remark><p>Fixed more typos in examples; clarified that each resource only receives one copy of the message (forked or wrapped)</p></remark>
</revision>
<revision> <revision>
<version>0.4</version> <version>0.4</version>
<date>2011-08-29</date> <date>2011-08-29</date>
@ -208,7 +215,7 @@
</section3> </section3>
</section2> </section2>
<section2 topic='Receiving Messages' anchor='inbound'> <section2 topic='Receiving Messages' anchor='inbound'>
<p>Messages of type chat that are addressed to the bare JID (localpart@domain) MUST be copied by the receiving server to all of the resources for that user that have non-negative presence priority and have not filtered messages through some other means. The process of making copies is known as "forking."</p> <p>Messages of type chat that are addressed to the bare JID (localpart@domain) MUST be delivered according to RFC 6121 § 8.5.2, and MUST be copied by the receiving server to all of the resources for that user that are carbons-enabled. The process of making copies is known as "forking."</p>
<example caption='Juliet sends Romeo an undirected message, which is forked'><![CDATA[ <example caption='Juliet sends Romeo an undirected message, which is forked'><![CDATA[
<message xmlns='jabber:client' <message xmlns='jabber:client'
@ -218,11 +225,29 @@
<body>Wherefore art thou, Romeo?</body> <body>Wherefore art thou, Romeo?</body>
<thread>0e3141cd80894871a68e6fe6b1ec56fa</thread> <thread>0e3141cd80894871a68e6fe6b1ec56fa</thread>
</message> </message>
... each of romeo@example.net's resources receives this stanza verbatim
]]></example> ]]></example>
<p>Messages of type "chat" that are addressed to a full JID (localpart@domain/resource) MUST be sent by the receiving server to the addressed resource, and MUST also be sent to all of the Carbons-enabled resources for the receiving user. The goal of the copies to Carbons-enabled resources is to allow those clients to have both halves of <strong>*all*</strong> IM conversations, including messages that are sent from clients that lock in to particular resources.</p> <example caption='Message Copied to Each of Romeo&apos;s Available Resources'><![CDATA[
<message xmlns='jabber:client'
from='juliet@example.com/balcony'
to='romeo@example.net/garden'
type='chat'>
<body>Wherefore art thou, Romeo?</body>
<thread>0e3141cd80894871a68e6fe6b1ec56fa</thread>
</message>
<message xmlns='jabber:client'
from='juliet@example.com/balcony'
to='romeo@example.net/home'
type='chat'>
<body>Wherefore art thou, Romeo?</body>
<thread>0e3141cd80894871a68e6fe6b1ec56fa</thread>
</message>
]]></example>
<p>A carbons-enabled resource MUST NOT receive more than one copy of the message. A carbons-enabled resource that has a negative priority MUST still receive a copy of the message.</p>
<p>Messages of type "chat" that are addressed to a full JID (localpart@domain/resource) MUST be sent by the receiving server to the addressed resource. A copy of the message MUST also be sent to all of the Carbons-enabled resources for the receiving user, excluding the original destination (which is sent the original message according to the routing rules in &rfc6120; and &rfc6120;).</p>
<example caption='Juliet sends Romeo a directed message'><![CDATA[ <example caption='Juliet sends Romeo a directed message'><![CDATA[
<message xmlns='jabber:client' <message xmlns='jabber:client'
@ -283,6 +308,7 @@
<body>Neither, fair saint, if either thee dislike.</body> <body>Neither, fair saint, if either thee dislike.</body>
<thread>0e3141cd80894871a68e6fe6b1ec56fa</thread> <thread>0e3141cd80894871a68e6fe6b1ec56fa</thread>
</message> </message>
</forwarded>
</message>]]></example> </message>]]></example>
</section2> </section2>