Is it possible to send notifications (not respond to a packet) from a component using tigase implementation?

Juan Ignacio Paz
Added 2 months ago

Hi guys, thanks in advance.

My question is, if i develop a component using the tigase implementation (extending AbstractMessageReceiver) is it possible to send notifications from there?

To give more details, we have several components set up as internal (in the tigase core installation), and also as external, but all those components receive packets from the user, and respond to that. This works perfect.

But now we need to send notifications from the components without an user starting the communication with the component, and those messages never reach.

I remember for example in case of external components that uses some sort of cache to save the users with the node on where are connected to respond thru that node (for performance reasons), could this be limitating us?

Or is able to do it and the problem is ours?

I only need to know if is possible, so in case is not, we switch for this to an external component outside the tigase implementation that i already tested and of course works.

Replies (3)

Added by Wojciech Kapcia TigaseTeam 2 months ago

could you clarify that the external component works, but messages generated from it don't reach the users to which they are addressed?

This should work, therefore I would recommend tracking packet send from external component with enabled debugging (recommended configuration --debug=server,xmpp)

Added by Juan Ignacio Paz 2 months ago

Hi Wojciech, we have two scenarios one that works the other one not:

1- When the external component receives a message from the user (deliver by tigase to external component) then the component process the packet and respond. This works ok

2- For a new functionality we need to notify users about changes (notifications), in this case the component creates a packet and send it to an user.
So this packet is not in response of another one, the component is who initiates the communication.

This packet is addressed to the user by jid, and add it to the queue using addOutPacket as always.

This doesn't work, the packet never reaches the user that is connected.

I will track de logs and paste it here.


Added by Wojciech Kapcia TigaseTeam about 1 month ago

Juan Ignacio Paz wrote:

This doesn't work, the packet never reaches the user that is connected.
I will track de logs and paste it here.

Have you had any success with tracking the packet?