How to use the XMPP MTP with JADE

V. Botti(
J. Palanca (
M. Escrivà (
V. Julián (

October 30th 2005

0. Index

1. Introduction
2. Building and Installing
3. Usage
4. Supported MTP address kinds

1. Introduction

This contribution proposes a new method of communicating agents and FIPA platforms using a more natural way to develop conversations: Jabber, an Instant Messaging (IM) protocol designed to sustain lengthy bidirectional communications among entities on the Internet.

Jabber is an open protocol that is based on standard XML (eXtensible Markup Language) for the exchange of messages and presence information between two Internet points. This protocol was proposed by the Jabber Software Foundation1. The main use of Jabber technology is an extensible IM network that has similar features to other IM services like AIM, ICQ, MSN Messenger and Yahoo. Therefore, Jabber is an open, secure, and free alternative to consumer IM services. Under the hood, Jabber is a of streaming XML protocols and technologies that enable any two entities on the Internet to exchange messages, presence, and other structured information in close to real-time. Jabber enables Peer-To-Peer computing. Although it makes use of a server between clients, its operation is similar to a peer-to-peer model that puts two or more entities in touch with each other.

Nowadays, there are Instant Messaging Networks that are used by millions of people to communicate. These IM Networks can also be used by agents to communicate with each other. Using the same IM Networks that humans do provides several advantages, such as a more comfortable and easy interaction between humans and agents. These networks have been extensively tested and can support a very high workload. Other important matters are the new mechanisms provided for this protocol (Presence Notification, Multi-User Conference) that can improve the communicative acts. These characteristics, which are not directly mentioned in the FIPA standard, perform new communication capabilities between agents which make them more versatile.

The XMPP-MTP add-on can be downloaded from the 3rd party sw area of the JADE Web site.

2. Building and Installing

System Requirements

This MTP requires JADE, smack and crimson libraries.

2.1 Building

The default Makefile rules don’t take the XMPP MTP into account. For handling the compilation process of the XMPP MTP you have to use the ‘build.xml’ ant-file located in the xmpp directory. The following rules are available:

  • ant – compiles the mtp class
  • ant lib – creates the xmpp.jar archive
  • ant clean – removes the compiled classes and the xmpp.jar archive
  • ant dist – creates the archive for distribution

2.2 Installing

To use the XMPP MTP we can choose to specify it from the command line:

java jade.Boot -mtp jade.mtp.xmpp.MessageTransportProtocol

or install it from the RMA’s graphical environment. Obviously, the xmpp.jar containing the MTP class files must be in the classpath.

3. Usage

Running the MTP from the command line requires 3 parameters:

  • -jade_mtp_xmpp_server <jabber server>
  • -jade_mtp_xmpp_username <username>
  • -jade_mtp_xmpp_password <password>

3.1 Example

 java jade.Boot -mtp jade.mtp.xmpp.MessageTransportProtocol -jade_mtp_xmpp_server -jade_mtp_xmpp_username jadeuser -jade_mtp_xmpp_password secret

4. Supported MTP address kinds

The XMPP MTP supports ‘xmpp://‘ addresses.

JADE is a trademark of TILAB (formerly CSELT). 
 has been developed jointly by TILAB (formerly CSELT) and the Computer Engineering Group of the University of Parma
The XMPP implementation was developed in the Grupo de Tecnología Informática-Inteligencia Artificial at the Universitat Politècnica of Valencia by Miguel Escrivà, Javier Palanca and Vicent Botti (DSIC).