First, it’‘s “Smack” and not “Smacker”. Second, Smack is only an API for XMPP (Jabber) and not for ICQ or SMS. However, if your Jabber server has gateways to those systems, it’'s possible you could send a Jabber message and have it translated to an ICQ or SMS message at the server.
I just want to embed this feature into our application, it’'s like a simple client to send the SMS when an event is raised. We are not going to have any server to deliver the messages.
I am using Vista as the messenger and it can send SMS as long as I have ICQ transport. Let’'s back to my question, how can I add ICQ transport by Smack ?
Smack isn’‘t designed to support ICQ and won’‘t in the future. I’'d recommend trying to find a Java ICQ library. Then, you could use that API to integrate with Smack if you need to.
All transports are generally handled at the server level and not in client libraries. Some people find the idea of transports very important, although I really don’'t. It really depends on what you want to use Jabber for.
A client chat application that is built using Smack may connect to a XMPP server that offers the ICQ transport. So this client can subscribe to the ICQ transport service and make use of all features available in that service (e.g. sending SMS via ICQ).
E.g. using a JAJC (Just Another Jabber Client) client may connect to the “amessage.de” XMPP server to send SMS via ICQ transport.
Therefore, your Smack client will have to provide the GUI for end users to subscribe to the other transport services offerred by the XMPP server (namely, passing the login information for ICQ, Yahoo!, MSN, AOL, etc. to that server).