Question

What is the best way to determine if the XMPP server delivered the message to the client or if the client was offline?

We need to know if the server was able to deliver a message and if not try alternative routes. We know the XMPP server can store the message for later delivery, but would like to know within a given period of time if the message could not be delivered.

Was it helpful?

Solution

There is an XMPP extension for exactly this, XEP-0079: Advanced Message Processing, but it has never really gained adoption as it is overkill for most peoples' purposes. This limits its usefulness on the general XMPP network.

However if you are running your own server, or are communicating only with servers that you know support AMP, there may be a plugin available that implements it for you. Tigase is one server that I'm fairly sure supports it.

For your purpose you will be interested in the 'expire-at' condition, and any of the 'notify'/'error'/'drop' actions. You can add multiple <rule/> elements into the message to take multiple actions.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top