diff --git a/xep-0047.xml b/xep-0047.xml index bb894dae..03e90373 100644 --- a/xep-0047.xml +++ b/xep-0047.xml @@ -24,6 +24,12 @@ ibb &infiniti; + + 1.1pre1 + in progress, last updated 2006-11-03 + jk + Allow IQ for delivery. + 1.0 2003-12-10 @@ -129,8 +135,8 @@ -

Data is sent using message stanzas. Either participant in the bytestream may send such packets. The data to be sent, prior to any encoding or wrapping in the message stanza, must be no larger than the 'block-size' determined in the stream negotiation. All packets are to be addressed to the FULL JID of the bytestream peer. In order to keep track of stanzas sent and any errors received, the sender SHOULD include the 'id' attribute on stanzas sent to the recipient. Note that &xep0079; SHOULD be used to ensure that the data packet is not spooled or sent to the wrong resource.

-Data is sent using either <message> or <iq> stanzas. Either participant in the bytestream may send such packets. The data to be sent, prior to any encoding or wrapping in the stanza, must be no larger than the 'block-size' determined in the stream negotiation. All stanzas are to be addressed to the FULL JID of the bytestream peer. In order to keep track of stanzas sent and any errors received, the sender SHOULD include the 'id' attribute on stanzas sent to the recipient. When using <message> stanzas, &xep0079; SHOULD be used to ensure that the data packet is not spooled or sent to the wrong resource.

+ qANQR1DBwU4DX7jmYZnncmUQB/9KuKBddzQH+tZ1ZywKK0yHKnq57kWq+RFtQdCJ @@ -146,11 +152,30 @@ ]]> -

The data to send is included as XML character data of the <data/> element after being encoded as Base64 as specified in Section 3 of &rfc3548;. The 'seq' attribute is a 16-bit integer counter starting at 0, and MUST be incremented for each packet sent. Thus, the next packet sent should have a 'seq' of 1, the one after that with a 'seq' of 2, and so on. The counter loops at maximum, so after value 65535, 'seq' MUST start again at 0.

+ + + qANQR1DBwU4DX7jmYZnncmUQB/9KuKBddzQH+tZ1ZywKK0yHKnq57kWq+RFtQdCJ + WpdWpR0uQsuJe7+vh3NWn59/gTc5MDlX8dS9p0ovStmNcyLhxVgmqS8ZKhsblVeu + IpQ0JgavABqibJolc3BKrVtVV1igKiX/N7Pi8RtY1K18toaMDhdEfhBRzO/XB0+P + AQhYlRjNacGcslkhXqNjK5Va4tuOAPy2n1Q8UUrHbUd0g+xJ9Bm0G0LZXyvCWyKH + kuNEHFQiLuCY6Iv0myq6iX6tjuHehZlFSh80b5BVV9tNLwNR5Eqz1klxMhoghJOA + + +]]> -

It is possible that the message may fail to be delivered:

+

The data to send is included as XML character data of the <data/> element after being encoded as Base64 as specified in Section 3 of &rfc3548;. The 'seq' attribute is a 16-bit unsigned integer counter starting at 0, and MUST be incremented for each packet sent. Thus, the next packet sent should have a 'seq' of 1, the one after that with a 'seq' of 2, and so on. The counter loops at maximum, so after value 65535, 'seq' MUST start again at 0.

-Note that in the case of iq stanzas, the recipient must reply with an iq of type 'result'.

+ +]]> + +

The sender need not wait for these acknowledgements before sending further stanzas. However, it is RECOMMENDED that the sender does wait in order to minimize possible rate-limiting penalties.

+ +

It is possible that the stanza may fail to be delivered:

+ + ... @@ -159,6 +184,15 @@ ]]> + + ... + + + + +]]> +

Upon delivery failure, the sender MUST consider the bytestream to be closed and invalid.

@@ -209,6 +243,7 @@
  • Generally, IBB should be used as a last resort. SOCKS5 Bytestreams will almost always be preferable.
  • A server MAY rate limit a connection, depending on the size and frequency of data packets.
  • A server MAY disconnect a connection that sends overly large packets as defined by server policy.
  • +
  • <message> delivery SHOULD be used when &xep0079; or other stanza flow-control facilities are available. However, if they are not available, then <iq> SHOULD be used.
  • It is RECOMMENDED to use a 'block-size' of 4096.
  • For proper tracking of message delivery errors, the use of the stanza 'id' attribute is RECOMMENDED.