Below is a list of frequently asked questions relating to the MSN Instant Messenger protocol. If you have any unanswered questions, please post them to the Discussion Forum or contact me. If you have any useful questions with answers that you would like to see posted here, please, once again, post them to the Discussion Forum or send them to me.
There is no easy way of finding out if someone is blocking you. The only way I have found is to have a client connect to MSN with a third party account (one that was not blocked), create a switchboard session, and invite the target user. If the user joins, they are online, and if they don't appear online on your list, they are blocking you (or there is a server error). Otherwise, they could either be offline, appearing offline, or set the option which places "all other users" into the block list. Note that that is not selected by default.
Also, if you receive
FLN from a user that is already offline, that is a good indication that the user has blocked you, or is appearing offline. If you receive
FLN from every user on your contact list, that means MSN is shutting down the servers (I don't know if that still happens).
You need to use a packet sniffer. If you are using Windows, try Ethereal or Windump. Both use WinPCap, which at the time of this writing, I think does not work when using Windows NT/2K/XP with PPP. A nice program that works for those versions of Windows is WPE Pro Alpha. I think the official website is here. If you are using some sort of Unix (including Mac OSX and Linux), try Ethereal or tcpdump.
It is physically impossible for one to send messages while in the status "appearing offline" or while blocking someone (which used to not be the case) but there is a workaround. If you remove the specified user from your access list, without adding them to your block list, you will appear offline to that user, and can send messages. But remember, if you don't add them back, MSN Messenger will think they added you to their contact list recently (because they aren't on your access or block lists), and possibly pop up a dialog. If you do this with multiple users, it could get very annoying.