Customize server with component. How to?

Hi All.

Here is what we are trying to do.

We have some software applications what have jabber clients embedded inside and communication between each other using jabber.

Now, we want to have our own “custom” server. That server will be able to :

  • receive incoming logins and accept or reject them

  • send custom roster based on the client that just logged in

  • of course, allow clients to connect and speak to each other.

So, we installed openfire on a server named dev1 and xmpp.domain=dev1 in the settings. We enabled component and create one for domain fonivanetwork.dev1. The component is able to connect without problem.

Now:

  • how are the client going to connect to the component ? When I put dev1 in server, they are able to connect but the component get no message. When I put fonivanetwork.dev1, they are not able to connect to openfire.

  • how can the component “intercept” all the jabber activity like Login, Logout, RosterRequest and answer back to the client

  • should fonivanetwork.dev1 be a valid DNS entry ? Or the clients connect as usual to dev1 and then, in the message they send, they specify that it is for fonivanetwork.dev1. If yes, where in the client library do we put that ?

For your information, we are using gloox as client library…

Thanks in advance

Hi,

I wonder whether you can do what you want to do with a component. As far as I can tell the component is addressed by the client by sending a packet to “component.xmpp.domain”, and this means that you can reach the component after login and it’s not possible for it to intercept registration or login requests. But maybe I’m wrong.

An Openfire plugin allows to create packet interceptors and this should work fine.

LG