Hi,
Finally i found the solution myself.
Suppose you want to send chat message to yahoo, msn and gtalk users having the id’s as shown below.
Please note that the mail sign / icon is the @ sign .
Yahoo:- testuser@yahoo.com
MSN:- testuser1@yahoo.com / testuser1@yahoo.com is registered as windows live id
Gtlak:- testuser@gmail.com
Your domainname is yourdomain.com , so your yahoo, gtalk and msn transport address will be
- msn.yourdomain.com
- yahoo.yourdomain.com
- gtalk.yourdomain.com
Set to address to :-
- testuesr@yahoo.yourdomain.com
- testuser\40gmail.com@gtalk.yourdomain.com
- testuser1\40yahoo.com@msn.yourdomain.com or testuser1\40hotmail.com@msn.yourdomain.com
Don’t forget to put the \40 in place of @.
Notes / Steps:-
- Connect to XMPP Server
- **Add message listener
**
- Register Yahoo, Gtlak, MSN transport
- **Add Yahoo, Gtlak, MSN transport to the roster / contacts
**
- Login to Yahoo, Gtlak, MSN transport
- Now send message
You can use the below code:-
Chat chat = rim.XMPPCreateChat(conn, "atul280781\\40hotmail.com@msn.zenon153");
if(chat!=null)
{
System.out.println("SENDING CHAT MESSAGE");
rim.XMPPSendChatMessage("Hello World!!", chat);
}
public void XMPPSendChatMessage(String Message, Chat chat)
{
try{
chat.sendMessage(Message);
}
catch(XMPPException e)
{
System.out.println("CHAT_ERROR: " + e);
}
}
public void XMPPAddMessageListener(XMPPConnection connection,ZXML zxmlObj)
{
PacketFilter messageFilter = new PacketTypeFilter (Message.class);
XMPPMessageListener listener = zxmlObj.new XMPPMessageListener();
connection.addPacketListener(listener, messageFilter);
}
public class XMPPMessageListener implements PacketListener
{
public void processPacket(Packet packet)
{
Message message = (Message) packet;
Message.Type msgType = message.getType();
String msgFrom = message.getFrom();
String msgTo = message.getTo();
String msgBody = message.getBody();
if(msgType == Message.Type.normal)
{
System.out.println("NORMAL_MESSAGE: ");
}
else if(msgType == Message.Type.headline)
{
System.out.println("HEADLINE_MESSAGE: ");
}
else if(msgType == Message.Type.chat)
{
System.out.println("CHAT_MESSAGE: ");
System.out.println("from<"+ msgFrom +">\n"+msgBody+ "\nType <"+message.getType() +" > To <"+msgTo +">");
}
else if(msgType == Message.Type.groupchat)
{
System.out.println("GROUP_CHAT_MESSAGE: ");
}
else if(msgType == Message.Type.error)
{
System.out.println("ERROR_MESSAGE: ");
System.out.println(packet.getError());
System.out.println(packet.getXmlns());
}
System.out.println("from<"+ msgFrom +">\n"+msgBody+ "\nType <"+message.getType() +" > To <"+msgTo +">");
}
}
Thanks,
Soumyadipta De