File transfer via XMPP (Openfire) - xmpp

I'm trying to implement file transfer via xmpp, my server is openfire 3.9.3.
I have tried to imitate Sparks' stanzas and I got to a dead end.
please help!

file transfer is already implemented in xmpp servers like openfire.
You need to implement it in client side.
Check strophe js or candy js, there is an API to do this.

Related

Smack 4.2 does not include jabber:client in outgoing stanzas

I am using Smack 4.2 to implement a fairly basic XMPP chat client. I am using Prosody XMPP server. Prosody is fairly strict about requiring "xmlns=jabber:client" in all incoming stanzas. Smack 4.2 does not include this attribute in its outgoing stanzas. I have tried extending Bind and Session stanzas, and I can make the connection work that way. But, now I am getting into joining rooms, and I really dont want to modify Smack's MUC code so that it can accept a modified Presence message.
Please help!!
I do not know why Prosody server requires it, there is nothing about it in official XEP-0045 standard https://xmpp.org/extensions/xep-0045.html#enter
Maybe there is a way to disable it at Prosody side somehow
Smack 4.3 does add xmlns to every outgoing IQ: https://github.com/igniterealtime/Smack/blob/master/smack-core/src/main/java/org/jivesoftware/smack/packet/Stanza.java#L518
So that at least solves the xmlns problem.

Spring Integration XMPP and File Transfer

I need to transfer files to a user connected to a XMPP Server.
The file transfer is supported by Spring Integration XMPP? (The current release version is 4.1.6-RELEASE, the snapshot is 4.2.0-SNAPSHOT).
I succesfully send text messages using the XMPP Message Outbound Gateway using a configuration like this:
<int-xmpp:outbound-channel-adapter id="outboundEventAdapter"
channel="outboundEventChannel"
xmpp-connection="testConnection"/>
Using this Outbound Gateway I'm not able to send files (only String and org.jivesoftware.smack.packet.Message payloads are supported)
Thanks in advance.
Massimo
The Spring Integration XMPP module is fully based on the Smack library, so I'd be glad to hear from you or from anybody else who confirm and show us how to do that with Smack first of all.
And only after that we will be able to come with some adaptation from our perspective.
Please, refer to Smack XMPP File Transfer for more information.
From other side if you are able to come up with some solution on the matter you always can wrap it to the standard <int:service-activator> to make your application working.

Has openfire implemented xmpp XEP-0234 Jingle File Transfer?

I searched source code of openfire , but did not find any file working for XEP-0234. Can anyone else give me an answer, as I am new to openfire and not sure about it.
There is no special server code required for XEP-0234. The server must route only iq stanzas for it from client to client. This is defined in the XMPP core protocols and supported by every XMPP compliant server.

Strophe MUC example

Does anyone have an example code for a join,changenick, ...etc functions calls in Strophe muc extension ?
I tried to do this myself not sure how do i call the extensions functions, and add the plugin to the js, is it adding
You need to include the strophe.muc.js in our html file and after you established a Strophe connection, you can call the muc methods with conn.muc.foobarMethod() where conn is the established Strophe connection and foobarMethod is the method you'd like to call.
Instead of trying to build everything on your own (and from your question I assume that you don't have the relevant know-how), try an already built js xmpp client like Candy which is also built upon Strophe.js.
Candy is a full blown MUC client based on Strophe. The code is excellent and easy to read.
I suggest to download it and study the code:
http://candy-chat.github.com/candy/
Alex

How Google Talk server history pulling is implemented?

Google GTalk clients (web, android, windows) have great ability to suck conversation history from server, even though conversations were done an another jabber client.
What jabber (XMPP) functionality (XEP) is used for that or is it some custom thing?
Why no other XMPP client (non Google) has this ability?
P.S. It is programming question, because I am asking about specific XMPP functionality.
It is possible that this is done using message archiving. See XEP-0136: http://xmpp.org/extensions/xep-0136.html
(And with regard to the other answer, this is supported by ejabberd: http://www.ejabberd.im/mod_archive)
Its a property of XMPP server not XMPP/Jabber client. All conversation happens through XMPP Server. So If server wants it can store all the history. As far as I know there is no open source XMPP server which can store history.
Google has it all.
I am not sure, but I think there is no specific XEP for storing history on server.
Server side XEP-0136 (message archiving) can be done with ejabberd + mod_archive (mod_archive_odbc variant with sql backend, for better perfomance) or with openfire server with open archive plugin.
Client side, for XEP-0136 I use vacuum im, http://code.google.com/p/vacuum-im/ , it's open-source and cross platform.