To start node for receiving and sending messages:
messageQueue = new MessageQueue();

messageSender = new PMessageSender(peergroup,
				   pipeService,
				   messageQueue,
				   pipes);
mid = new MessageID();

messageReceiver = new PMessageReceiver(peergroup,
				       pipeService,
				       messageQueue,this, 
				       messageSender);

pipeIn = pipeService.createInputPipe(pipeAdv, messageReceiver);

messageSender.start();
To send a message
String SRC="source";
String DEST="destination";
    
RPCMessage mesg = MyUtils.newMessage(SRC,DEST);
mesg.setMessageID(mid.incrementMessageID(DEST));
mesg.setInterfaceName("methodName");
mesg.setSemantic(RPCMessage.SYNC);

messageQueue.enqueue(mesg);
Where RPCMessage has fields
String source;
String destination;
int messageID;
String interfaceName;
String retType;
Vector params = new Vector();
Vector paramTypes = new Vector();
int semantic;