Overview
This node acts as an XMPP (Extensible Messaging and Presence Protocol) trigger that listens for incoming XMPP messages and files, and also integrates with RabbitMQ to send commands. It is useful for workflows that require real-time communication via XMPP, such as chatbots, messaging automation, or file transfers over XMPP. The node supports receiving chat messages, handling file transfers using the In-Band Bytestreams (IBB) protocol, and emitting raw XML stanzas for advanced use cases.
Use Case Examples
- Automate responses to incoming XMPP chat messages.
- Receive files sent over XMPP and process them in a workflow.
- Send commands to XMPP clients via RabbitMQ queues.
Properties
| Name | Meaning |
|---|---|
| Priority | Sets the priority level for the XMPP connection, influencing message routing and presence. |
| IBB Timeout (s) | Timeout in seconds for the In-Band Bytestreams (IBB) file transfer protocol to wait for chunks before aborting. |
| Emit Raw Stanza | Boolean flag to emit raw XML stanzas received from the XMPP server, useful for debugging or advanced processing. |
Output
JSON
status- Indicates success status of the received message or file.datatype- Type of the received data, e.g., 'conversation' for messages or 'file' for file transfers.body- Text content of the received message or a description of the received file.from- Sender's JID (Jabber ID) of the message or file.file
*fileName- Name of the received file (if applicable).
*mime- MIME type of the received file (empty string if not specified).
*base64- Base64 encoded content of the received file.
type- Type of emitted data, e.g., 'raw-stanza' when emitting raw XML stanzas.xml- Raw XML stanza string when emitting raw stanzas.time- Timestamp when the raw stanza was received.
Dependencies
- Requires XMPP connection credentials (service, domain, username, password).
- Requires RabbitMQ connection credentials for message queue integration.
Troubleshooting
- Ensure XMPP and RabbitMQ credentials are correctly configured; missing credentials will cause connection errors.
- Timeout errors may occur if the IBB file transfer chunks are not received within the specified timeout period; increase 'IBB Timeout (s)' if needed.
- Malformed JSON messages from RabbitMQ queues can cause message processing failures; ensure messages are correctly formatted.
- Network connectivity issues to XMPP server or RabbitMQ broker will prevent the node from functioning properly.
Links
- XEP-0047: In-Band Bytestreams - Specification for the IBB protocol used for file transfers in XMPP.
- RabbitMQ Official Site - Information about RabbitMQ message broker used for command messaging integration.
