ejabberd - Comments for "Preventing message loss when a user loses data connection to ejabberd" https://www.ejabberd.im/node/24961 en Hi, sys@blabbling_dev is not https://www.ejabberd.im/node/24961#comment-65887 <p>Hi,<br /> sys@blabbling_dev is not my hostname.<br /> I changed that to success@hostname. I could make the module work with a little binarization tweak as well.</p> <p>But in my design i'd not be able to use this mod_sys_ack module. The reason being the kind of requests which initiate the mesasges. My design is like this:</p> <p>User A initiates a message (By an HTTP request and not XMPP) in a group --&gt; message sent as HTTP data to the server --&gt; Server forwards it to the users (as XMPP mesasges of the multicast module mod_multicast) in the group. </p> <p>The mod_stanza_ack seems to be generating no logs for the HTTP requests i am initiating; not even for the acknowledgement which the recipient should send to the server (which would be XMPP).</p> <p>I guess this can't be put to use. Ideas?</p> Mon, 29 Jun 2015 06:31:45 +0000 methamphetamine comment 65887 at https://www.ejabberd.im Well, ejabberd follows the https://www.ejabberd.im/node/24961#comment-65883 <p>Well, ejabberd follows the XMPP specifications. There is specifications for multi devices that ejabberd supports, but you you need a modern client that takes advantage of it.</p> Sun, 28 Jun 2015 08:32:16 +0000 mremond comment 65883 at https://www.ejabberd.im Firstly, I think that module https://www.ejabberd.im/node/24961#comment-65881 <p>Firstly, I think that module is incomplete. This line in particular looks problematic:<br /> <code>RegisterFromJid = &lt;&lt;&quot;sys@blabbling_dev&quot;&gt;&gt;, %used in ack stanza</code><br /> Is "blabbling_dev" your hostname? If not, this is my best guess as to what the problem is. But you haven't stated what happens when you try to use this module.</p> <p>Secondly, I've got an alternative you could consider.</p> <p>I'm assuming you have control over the client. You could mod_archive or make something more specific for your purposes to make the server archive messages and allow clients to request archived messages with an IQ request. XEP-0136 specifies a standard, which mod_archive follows mostly, that could work for you, but IMO it's overkill for your purposes. Basically, the client after login says something like "give me all messages sent to/from me after 06/27/2015 14:51:47.0001," then the server sends those messages to the client packed into an IQ response (see <noindex><a href="http://xmpp.org/extensions/xep-0136.html#manage-retrieve" title="http://xmpp.org/extensions/xep-0136.html#manage-retrieve" rel="nofollow" >http://xmpp.org/extensions/xep-0136.html#manage-retrieve</a></noindex>). That way, any messages lost due to client logout will be saved and could be retrieved, AND the client would know if the server didn't receive any messages that it sent last time it was logged in. If you were to make your own module, you could make the server send the actual message packets when requested instead of packing them into an IQ, if you wish.</p> <p>Also, it would make multi-device support much better. One flaw of Ejabberd (with default setup) is that it doesn't work too well if a user has both a phone and a PC. Messages will never be delivered to one device if the other receives them, and behavior while logged in on two devices at once with the same priority undefined in the XMPP standard (but Ejabberd currently delivers the messages to all of them). So if this matters to you, and you want to solve two problems at once, archiving messages is a good choice.</p> Sun, 28 Jun 2015 06:04:30 +0000 AlecZ comment 65881 at https://www.ejabberd.im I feel that XEP-0198 Stream https://www.ejabberd.im/node/24961#comment-65870 <p>I feel that <noindex><a href="http://xmpp.org/extensions/xep-0198.html" rel="nofollow" >XEP-0198 Stream management</a></noindex> support would fit that need already, no ?</p> Fri, 26 Jun 2015 07:46:47 +0000 mremond comment 65870 at https://www.ejabberd.im