If I undestand correctly, th API currently does no have an iq/browse feature which lists the gateways available to other IMs.
I can use the XMPPConnection to login with a jabber id, but there does not appear to be an API to enumerate the gateways and consequently login to each of them, so that messages to any of my IM accounts will arrive.
This is frequently used feature with the Jabber clients.
Is that on the Smack roadmap.
How would you suggest I go about implementing this currently?
AFAIK, the Browse functionality (JEP11) was replaced by the Service Discovery functionality (JEP30) because of some limitations. However, I think that many servers still support browsing and many do not still support disco.
In the daily builds you can find that Smack already implements the Service Discovery functionality. I also don’‘t think that adding iq/browse is in Smack’'s roadmap. However, if you want to implement iq/browse please let us know so we can assist you. As a starting point, you can following this link in order to learn the specification http://www.jabber.org/jeps/jep-0011.html[/url].
I have implementation of request of gateway list on the server using iq/agents packets, creating and deleting account on gateway. It is uncomplete but work on jabber.com and myjabber.net , but jabber.ru, for example, after 28 oct understand only iq/disco (it use ejabberd)
Appears that the popular Jabber clients still use the old protocol. Both JAJC and Tipic are able to gateway through amessage.info and tipic.com, but not jabber.ru.
It should be worth adding this to Smack with an abstraction layer that will allow a smooth transition to the new protocol.
Event better if the implementation can try both behind the scenes.
abstraction layer that will allow a smooth transition
to the new protocol.
Event better if the implementation can try both
behind the scenes.
Things like this are very tricky. The current JEP process is a complete mess and in some ways I feel like we have a responsibility to the community to implement only the JEP’‘s that should be truly broadly supported. Since browsing has been officially supplanted by discovery, to me that means that we shouldn’‘t officially support browsing as a Smack extension. However, I totally understand why someone would want browsing for certain purposes, such as interacting with older servers. Maybe there should be certain Smack extensions that aren’‘t official? For example, I’'m more than happy to provide links to side projects on Sourceforge or JabberStudio that implement things like the browse protocol. Would people be interested in this approach?