Send files with Jabber/XMPP [duplicate]
Hi,
I like to send files (documents, pictures) to my friends with the Xmpp protocol. Thats luckily no problem on my desktop OS with Pidgin, Empathy or KDE-Telepathy. But the File transfer option on my Jolla Phone don´t exist. Is this a big problem to implement this feature? Or exist this feature in the actual Sailfish version but I´m to silly to see that option? ;) When the file transfer really not exist, will this feature comes in the new Sailfsih 2.0 version?
Is there an alternative XMPP App for my Jolla Phone that support that feature?
Many Thanks quasar
I think the reason this isn't implemented in the UI is because the usual XMPP filesharing is absolutely terrible in mobile scenarios, so it would cause more people to say it doesn't work than people to ask for this feature to be implemented. The backend does technically support it.
If you don't mind lack of integration and using an Android application, the must-use XMPP client for Android is Conversations, you can find it on F-Droid.
nthn ( 2015-09-13 20:47:53 +0200 )editHi nthn, it's curious. What is the difference from mobile to my desktop in conjunction with XMPP? All use IP-Network and jolla is a system whats is near on a standard Linux.
Conversations is not possible to transfer files to other XMPP Clients. I think it can transfer only to other Conversations Clients.
quasar ( 2015-09-13 22:16:00 +0200 )editI mostly meant that the ways you can transfer files through XMPP generally don't work well when you're moving around, connection dropping here and there. Especially considering Telepathy (the backend) has no support for Stream Management (among other things that are important for a mobile XMPP client to function properly in case of bad network connectivity).
Regarding Conversations: that is not true, it can send files to other clients just fine. (But Conversations is probably the client that has the least issues with XMPP file transfers.) Please at least take a look at it before saying things that are clearly not true.
nthn ( 2015-09-14 01:35:42 +0200 )editAlso most mobile operators don't give you an exclusive public IP address. You're most likely behind a NAT that causes problems with incoming connections. XMPP by default handles file transfers p2p, so establishing a connection might be difficult. I don't know if there's a way to make the server initiate a connection or act as a file transfer proxy.
Shoppinguin ( 2015-09-14 16:49:04 +0200 )editNthn, I use XMPP every day very intensive. I have installed Conversation since 5 months on my phone I test it from time to time when a new release is coming. Chats works really good, but I have never transfer any file from my Jolla to my PC and vice versa. I have test today again Conversation 1.5.2 and now I have updated from F-Droid Store to Conversation 1.6.9 all say transfer not successful. How have you test it, which client you've used to test with Conversation? It can be a problem from my mobile provider you use another provider so you have no problems? It can be like Shoppinguin had written that it be a NAT problem? And all XMPP Client has a problem with NAT?
Please all other test Conversation it is now in the official Jolla Store and please tell us how works file Transfer.
quasar ( 2015-09-14 21:26:13 +0200 )edit@quasar
nthn is correct, conversations does support file transfers. However, one of its design goals is to shake off some of the cruft associated with XMPP and only support the XEPs that are most modern/appropriate for mobile, so it oly supports Jingle. Most desktop clients don't support Jingle (slow clap). I looked into this quite a bit about 6 months ago, IIRC the developer of Conversations doesn't want to implement legacy methods (the other clients should support Jingle after all).
Some relevant XEPs:
XEP-0065 covers SOCKS5 bytestreams (sending files via a proxy server, only the signalling is done with XMPP)
XEP-0047 covers in-band bytestreams - quite often the "fallback" method but really slow (files are broken down into lots of small chunks and sent inside XMPP stanzas)
XEP-0095 is stream initiation (a method of starting streams in general)
XEP-0096 is a type of stream initiation specifically for file transfers
XEP-0234 (Jingle File Transfers) is IMO the best way of transferring files for mobile. Read the summary if you want a good overview of the problem.
XEP-0260 gives a method of file transfer using SOCKS5 bytestreams and Jingle signalling
XEP-0261 gives a method of file transfer using in-band bytestreams with Jingle signalling
So you see, it's not quite as simple as you seem to think. If some clients only understand Jingle signalling and others understand legacy methods, they both "support file transfers" but are incompatible. One reason for the Jingle XEPs' slow adoption is that they are still considered "experimental". I think Google's abandonment of XMPP was partly due to frustration at the slow adoption of the Jingle XEPs (which were proposed by Google).
Feathers_McGraw ( 2015-09-14 22:57:31 +0200 )editAccording to Wikipedia pidgin supports XEP-0234, so in theory the file transfer should work between your mobile and pidgin on your desktop.
Shoppinguin ( 2015-09-14 23:28:25 +0200 )editgajim supports file transfer over jingle
DLQ ( 2015-09-15 02:51:56 +0200 )edit