XMPP / Jabber: do I need to change the client or server for custom messages?

I am writing IM and I want to implement some functions that are not part of the standard, I need some custom functions.
I am wondering if, for example, I can use the Google XMPP service (Google Talk) and make a custom IM client that implements the default functions in order to be able to talk to the server, and maybe there is a way to add some custom tags to XML, with which Google Server will work and send a message to another client of mine who can interpret this XML and display and do the right thing?

Or do I need to implement these functions on the server? Openfire, for example, supports plugins, you can extend it with plugins, but I would prefer not to create my own server and instead use Google accounts and the server. I am just a student and I do not have the resources to support the server myself.

Also, I really don’t understand what the Jabber Component Protocol is used for. "From what I read, I understand that it can solve my problem, but it must be on the server. It is not on the XMPP server, but it should work just like a server and connect to an XMPP server.
I don’t think I can use the Jabber Component Protocol with Google XMPP Server or can I?

+5
source share
1 answer

If I understand your question correctly, you want to add additional messages to your messages, which should only be interpreted by the receiving client. Thus, you only need the XMPP server as a router from client A to client B. This will work in conjunction with the Google Talk server and any other server. This extensibility is one of the core features of XMPP.

Openfire plugins and component protocol are for other use cases.

Here is an example of adding custom payloads:

So something like:

<message to="user@server.com">
   <mytag xmlns="mycompany.com/mynamespace"/>
</message> 

or

<message to="user@server.com">
   <mytag xmlns="urn:xmpp:mynamespace:v1"/>
</message>
+5
source

All Articles