Sorry, I didn't notice that part.
2009/2/8 Peter Saint-Andre <[email protected]>: > Jiří Zárevúcký wrote: >> If you can't connect to the domain provided in the error, then it is >> probably error on the Google side. Anyway, specification clearly >> states the domain is to be provided as XML character data of the >> <see-other-host/> element. The code you encountered sends it in a text >> child, which is obviously wrong. I suggest you implement the right >> behavior according to the specification (which needs some >> clarification, but I suppose you are expected to connect to the >> proposed domain) and ignore google's. > > As always, refer to rfc3920bis for clearer definitions. I have pasted > the current text below. Available here: > > http://xmpp.org/internet-drafts/draft-saintandre-rfc3920bis-08.html#streams-error-conditions-see-other-host > > *** > > The server will not provide service to the initiating entity but is > redirecting traffic to another host; the XML character data of the > <see-other-host/> element returned by the server SHOULD specify the > alternate hostname or IP address at which to connect, which SHOULD be a > valid domain identifier but MAY also include a port number; if no port > is specified, the initiating entity SHOULD perform a [DNS-SRV] > (Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for specifying the > location of services (DNS SRV)," February 2000.) lookup on the provided > domain identifier but MAY assume that it can connect to that domain > identifier at the standard XMPP ports (i.e., 5222 for client-to-server > connections and 5269 for server-to-server connections). > > C: <?xml version='1.0'?> > <stream:stream > from='[email protected]' > to='im.example.com' > version='1.0' > xmlns='jabber:client' > xmlns:stream='http://etherx.jabber.org/streams'> > > S: <?xml version='1.0'?> > <stream:stream > from='im.example.com' > id='++TR84Sm6A3hnt3Q065SnAbbk3Y=' > to='[email protected]' > version='1.0' > xml:lang='en' > xmlns='jabber:client' > xmlns:stream='http://etherx.jabber.org/streams'> > <stream:error> > <see-other-host > xmlns='urn:ietf:params:xml:ns:xmpp-streams'> > im.example.com:9090 > </see-other-host> > </stream:error> > </stream:stream> > > *** > > >
