I have had quite a few discussions with people recently about the SPIM (instant messaging spam) problem. It seems like a simple problem to solve to me. I believe the
Jabber network already has all the tools it needs to solve them; these options just need to be configured correctly on the servers.
Jabber already has server side contact lists and authorization. IM, much like a cell phone, is not something I ever want the general public to 'just send me messages' to; that is what e-mail is for. So it seems to me a simple matter to just have the server block any message from anyone not on my contact list, and to only allow authorization requests from people who are on my contact list but not yet authorized.
This requires someone who is sending me an instant message to already have a relationship with me. These can be established via e-mail, phone, irc, etc. When I want someone to have the option to reach me, I would just add their Jabber ID to my contact list; these could even be pulled out of my address book automatically in a well integrated system (hint hint gmail hint hint). Then the servers can ping the Jabber ID and see if the other person has already added me to their contact list, if not, just wait; when they do, if they want to
send or get messages to or from me, they will send an authorization request, already be on my list, and then we can chat at our leisure.