I have notice that in XMPPConnection.as,
the sendKeepAlive does
var ping:IQ = new IQ(new EscapedJID(server), IQ.TYPE_GET);
should it do
var ping:IQ = new IQ(new EscapedJID(domain), IQ.TYPE_GET);
instead ?
I have notice that in XMPPConnection.as,
the sendKeepAlive does
var ping:IQ = new IQ(new EscapedJID(server), IQ.TYPE_GET);
should it do
var ping:IQ = new IQ(new EscapedJID(domain), IQ.TYPE_GET);
instead ?
I think the existing structure is correct.
Domain is extracted from the user’s full jid: jid@domain.com/resource
Whereas server is the actual server that the connection is made with. So for example, logging into Google Talk the user’s jid could be jid@gmail.com but the server would be talk.google.com.
As it exists now, the ping would hit talk.google.com instead of gmail.com, which would be correct.
From what I understand, a jabber server can bind on an IP address and DNS domain name.
However that server can also serve multiple virtual domain internally.
Then, clients can connect to a server and use a separate domain in their JID.
From this thread
http://community.igniterealtime.org/thread/30282
I know, openfire does not support multiple virtual domains but other servers do.
So, I think, in XIFF, even if the client is sending the ping stanza to the server domain (eg: talk.google.com), it should specify in the stanza XML the domain (eg:gmail.com).