[JDEV] Re:Creating a presence server component?
Jean-Louis Seguineau /EXC/TEC
jean-louis.seguineau at antepo.com
Mon Aug 12 13:36:59 CDT 2002
Hey,
That's easy ! And it has nothing to do with whatever language you use. It
does it requires to write a JSM module as long as your component is only
meant to process the received packets and not interfere with the JSM
processing. This can be applied to build a kind of packet "sniffer" and
allow you to count, record, monitor, etc...
You just need to declare a service in your jabber.xml so to receive a copy
of all packets going through the server.
<service id="sniffer.myserver">
<host>myserver</host>
<host>myjpolld.myserver</host>
<host>sniffer.myserver</host>
....
plus any aother internal JID that you want to monitor
<accept>
<ip/>
<port>myport</port>
<secret>secret</secret>
</accept>
</service>
Then the sniffer component will receive a copy of all traffic for the
<host>s. The component can sit on another server as any component can.
There is no way that I jnow of to separate the packets types before they are
sent to the component. But you can either make one component per packet type
and filter the input, or make a filter component that in turn direct the
right packet type to a specific processor component.
Hope it helps
Jean-Louis
----- Original Message -----
>
> Message: 3
> Date: Sun, 11 Aug 2002 12:48:49 +0200
> From: "Sylvain Roberdeau" <sylvain.roberdeau at terravirtual.net>
> Organization: Terra Virtual
> To: jdev at jabber.org
> Subject: Re: [JDEV] Creating a presence server component?
> Reply-To: jdev at jabber.org
>
> Hi,
>
> sorry if I was not clear :)
> I hope to create an "element" for Jabber server which can intercept
> <presence>, <message> and <iq> and apply some specific process. For
example, log
> all data with a specific structure, file repartition, SNMP messages,
MRTG...
> I haven't a good grip on C to build all with this language and I want
to
> split process in a separate Jabberd (to avoid overload)
> The only way if find it's to build a JSM Module which send specific
message
> to a service (write in Java, Perl, Python,...)
> Jabberd ->JSM module -> Service
> The constraint is to create a specific message structure between JSM
Module
> and Service (maybe with <x> namespace).
>
> I was looking for an other way : build a specific service which can
receive
> all blocks in a separate server. I don't kown if it's possible and I guess
there
> are some limitations (presence = avalaible or unavalaible, none other by
> example).
>
> If somebody knows an other solution than the first...
>
> Sylvain
>
More information about the JDev
mailing list