diff --git a/xep-0065.xml b/xep-0065.xml index 4c5754fb..297d0c6e 100644 --- a/xep-0065.xml +++ b/xep-0065.xml @@ -200,8 +200,8 @@

Before attempting to initiate a bytestream, the Initiator may want to know if the Target supports the bytestream protocol. It may do so using &xep0030; as follows:

@@ -209,8 +209,8 @@

If the Target supports bytestreams, it MUST answer to that effect in the service discovery result.

Before attempting to initiate a bytestream, the Initiator needs to find a proxy. It may do so using Service Discovery as follows:

@@ -237,23 +237,24 @@

The server will return all of the known JIDs in its disco list.

... - + ... ]]> +

In this case, the bytestreams proxy is hosted on a third party server "example.net", where the proxy itself has an address of "streamhostproxy.example.net".

For each item in the disco#items result, the Initiator must query to determine if it is a bytestreams proxy. It may do so using Service Discovery as follows:

@@ -261,8 +262,8 @@

The proxy will return its information. The Initiator SHOULD inspect each identity to see if it contains an identity of category "proxy" and type "bytestreams".

... @@ -280,8 +281,8 @@

If the StreamHost is a Proxy, the Initiator must first request the full network address used for bytestreaming (obviously this is not required if the StreamHost is the Initiator). This is done by sending an IQ-get to the proxy in the bytestreams namespace, as follows:

@@ -303,12 +304,12 @@ @@ -317,8 +318,8 @@

If the Initiator does not have permissions to initiate bytestreams on the Proxy for whatever reason (e.g., a proxy implementation may enable administrators to ban JIDs or domains from using the Proxy), the Proxy MUST return a &forbidden; error to the Initiator (for information about error syntax, refer to &xep0086;):

@@ -329,8 +330,8 @@

If the Proxy is unable to act as a StreamHost, the Proxy SHOULD return a ¬allowed; error to the Initiator:

@@ -349,18 +350,18 @@

The protocol format is shown below.

@@ -369,8 +370,8 @@

If the Target is unwilling to accept the bytestream, it MUST return a ¬acceptable; error to the Initiator.

@@ -383,8 +384,8 @@

If the Target tries but is unable to connect to any of the StreamHosts and it does not wish to attempt a connection from its side, it MUST return a ¬found; error to the Initiator.

@@ -414,11 +415,11 @@ STATUS = X'00'

After the Target has authenticated with the StreamHost, it MUST send an IQ-result to the Initiator indicating which StreamHost was used.

- + ]]> @@ -441,11 +442,11 @@ STATUS = X'00'

In order for the bytestream to be used, it MUST first be activated by the StreamHost. If the StreamHost is the Initiator, this is straightforward and does not require any in-band protocol. However, if the StreamHost is a Proxy, the Initiator MUST send an in-band request to the StreamHost. This is done by sending an IQ-set to the Proxy, including an <activate/> element whose XML character data specifies the full JID of the Target.

- target@host2/bar + target@example.org/bar ]]> @@ -453,8 +454,8 @@ STATUS = X'00'

If the Proxy can fulfill the request, it MUST then respond to the Initiator with an IQ-result.

]]>

If the Proxy cannot fulfill the request, it MUST return an IQ-error to the Initiator; the following conditions are defined:

@@ -592,8 +593,8 @@ STATUS = X'00'

If an implementation supports UDP associations, it MUST advertise that separately by returning a feature of 'http://jabber.org/protocol/bytestreams#udp' in response to Service Discovery information requests.

@@ -601,8 +602,8 @@ STATUS = X'00'

If the Target supports UDP associations, it MUST answer to that effect in the service discovery result.

UDP associations are requested by setting the 'mode' attribute to a value of "udp" rather than "tcp".

@@ -666,8 +667,8 @@ DATA = Target or Initiator JID

Upon successful receipt by the StreamHost, the StreamHost MUST reply with a message notification indicating success: