[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