1. A system for converting a first message type into a second message type comprising: a message receiver which uses a specification of peers to handle incoming messages; a session correlator which uses session correlation rules to map the incoming messages to a session and to create new sessions; a condition matcher which uses matching rules and current session information to determine a set of actions to be performed to convert one of the incoming messages into an outgoing message; an action executor which uses an action specification to create outgoing messages; and a message sender for sending said outgoing messages.