[Standards-JIG] UPDATED: JEP-0100 (Gateway Interaction)
richard at dobson-i.net
Thu Mar 11 10:45:53 UTC 2004
> On Thu, Mar 11, 2004 at 10:14:16AM -0000, Richard Dobson wrote:
> > I would say that it is far better to say the JID MUST use standard URI
> > encoding, so that implementations will be forced to update to the new
> > official standard (which this will become), so that in clients we can
> > reliably decode the transport addresses to work out what the address on
> > legacy network the JID represents so we can be far more user friendly
> > display user at hotmail.com rather than the current
> > user%hotmail.com at msn.jabber.org which is not user friendly at all, it
> > means using standard URI encoding that existing code bases and decoding
> > algo's can be reused, and that illegal characters other than @ can be
> > decoded from transport JID's and represented correctly.
> JID is not an URI. JID is a Unicode string. JID may be represented as
> URI - then it must mu URI-encoded.
> '%' is a valid JID character (in node or resource parte) without any
> special meaning. In URI it is a prefix of encoded character.
> '@' is not allowed in JID node. URI-encoding it doesn't change anything.
> We don't want to require JID to be URI-encoded, because most Unicode
> characters would not be readable. And using URI-encoding in XML streams,
> which can transport Unicode strings safely seems not worth doing it.
> To display gatewayed addresses in human-readable form we just need a new
> protocol - reversed jabber:iq:gateway. jabber:iq:gateway works well
> changing legacy network identifiers into gateway addresses.
It would be far better to have a standardised encoding scheme for transport
JID's so you dont even need to make any protocol requests, these create
delays, and create unneccesary server load, and IMO it is far better to use
an existing standardised encoding scheme (in this case URI encoding) than
trying to roll our own alternative, I thought that was one of our primary
objectives i.e. if there is an existing applicable standard then use it,
this can be evidenced in SOCKS5 bytestreams where we reused parts of SOCKS5.
I wasnt saying that we should have to URI encode all JID's, just that we
should use an existing standard for encoding transport JID's rather than
just sticking with the use of % to encode @ characters for legacy reasons,
it would be best if we used URI encoding for all the other characters that
are illegal in JID username's but that might well be used in the legacy
More information about the Standards