0

I'm using FB XMPP and I'd like to know what client is user using. If I use Google Talk chat I can get/set it in Resource atribut. But in FB chat it isn't working. It's allways empty, though I set it.

jid = [ node "@" ] domain [ "/" resource ]

Using agsXMPP:

Set: xmppClient.Resource = "::ISIM::";

Get: presence.From.Resource

Google: id@gmail.com/::ISIM::478f568d

Facebook: id@chat.facebook.com/

How can I get, that user is using mine client? Has anybody some experience with it?

sczdavos
  • 2,035
  • 11
  • 37
  • 71

2 Answers2

0

you should use service discovery or client version for this.
See:
XEP-0030: Service Discovery
XEP-0092: Software Version

Alex
  • 4,066
  • 2
  • 19
  • 21
0

Service Discovery and Software Version doesn't work with Facebook's XMPP servers. Here's an exemple, I've just tried sending a simple :

<iq xmlns="jabber:client" type="get" to="xxxxxxx@chat.facebook.com" 
id="5"><query xmlns="http://jabber.org/protocol/disco#info"/></iq>

and this is what facebook answers :

<iq from="xxxx@chat.facebook.com" to="xxxxxx@chat.facebook.com/xxxxxx" type="error" xml:lang="en" 
id="5"><query xmlns="http://jabber.org/protocol/disco#info"/><error code="503" 
type="cancel"><service-unavailable xmlns="urn:ietf:params:xml:ns:xmpp-
stanzas"/></error></iq>
Raphael C
  • 2,296
  • 1
  • 22
  • 22