powered by Jive Software

Howto build a new Transport - developers guide

Hello All,

I am new in this community and I’ve been searching for some concrete doc’s describing what API must be implemented in order to create a new transport. Don’t you think that is could be useful? Maybe it is somewhere and I cannot find it? I’ve seen many posts on this forum discussing possible transports to be implemented, like SMS transports for example, but where to start? Is there an API which has to be implemented? (some package described in javadoc, set of interfaces, etc?) I also couldn’t find any drawing of the whole solution architecture, which makes plugin development difficult… In the meantime, my use case requires some plugins with specific business logic, in order to customize OpenFire server…

Thanks in advance for any resources that could help! Hopefuly you will not think that “the newbie came and already complains”, but this really is not obvious where to find such things. I would like to enruse that I really admire what this community achieved - this is an impressive software solution I’ve found here!

With kind regards,


There is no official API for the IM Gateway plugin as of yet. Right now everything is hard coded. I do not plan on abstracting the transports themselves so it’s easy to “plug in” other transports to the plugin (haha) until version 2.0.0, so there is no documentation around how to write other transports. What it boils down to is you would have to take the existing im gateway plugin, add the new transport like the other transports are handled, and go from there. There’s code scattered around to define what transports are available.

Thanks a lot for clarification Daniel!

If I want to take a look at the IMGateway plugin source code, where can I find it? It is not available in the openFire source package.




Can i write a separate plugin for a new Transport ?

What will be the steps for that ?

Thanks in advance…