[jdev] jabber(d) extension

Mickael Remond mickael.remond at erlang-fr.org
Mon Jul 25 09:08:47 CDT 2005


Tant Ludovic wrote:
> I want to add specific functionnalities in a jabber server.
> 
> The jabber server is not already chosen. Short listers are jabberd1.4, 
> jabberd 2.0, XCP and Jive Messenger.
> 
> The kind of specific functions are:
> - when a message is sent from a local jid to another local jid, I want 
> to be able to filter or modify the message. For exemple, to do automatic 
> translation (because I know the 'from' jid is spanish and the 'to' jid 
> is german)

A very direct option could be to modify the routing code of your Jabber 
server. Modifying the ejabberd_router is, for example, pretty 
straightforward to implement this kind of feature.

> - when a message or a presence is sent from a local jid to specific 
> virtual jid, forward it to differents real jid. And when a presence 
> query is asked for a virtual jid, reply 'available' if at least one of 
> the different real jid is available. In a few word, it is like a mailing 
> list.

You have several options here. Some of them are:
- The simplest one could be to implement a Jabber client, that knows by 
some way who are its virtual JID. It will subscribe to those JID 
presence and can thus set up its own presence accordingly.
- Another way would be to implement a service inside the server itself. 
With ejabberd and its module architecture it should be also quite 
straightforward.

In every case, the biggest part could be to implement a user friendly 
Virtual JID management interface (web-based for example).

-- 
Mickaël Rémond



More information about the JDev mailing list