
In principle, CVR0 can occur anywhere in the list, but in practice it's only ever been observed at the end of the list. The first parameter in the list (not including CVR0) is the protocol version you should use in this session. If the server supports at least one of these protocols the parameters will be a list of the supported protocol(s), otherwise the response will contain a single parameter of 0, and will disconnect you immediately (this shouldn't normally happen). The server's response will be a VER command with the same TrID. The VER command has a TrID and a list of supported protocol versions as parameters (note that protocol versions are case sensitive).

The VER command specifies which versions of the MSN Messenger protocol are supported.

None of these rules apply outside of the login stage. If you send a command which has no meaning during the login stage (for example, a SYN command), you will be disconnected immediately with no error. If you send a command at the wrong time (for example, if you send a VER command when the protocol version to use has already been negotiated), the server will send a 715 error, then disconnect you. Communication is essentially synchronous - the client sends a command to the server, the server responds, the client sends another command, and so on. When you first connect to a notification server, you are in the "login stage", which involves agreeing on a protocol version to use, authenticating yourself to the MSN server, and possibly being redirected to another notification server if the current one is overloaded.ĭuring the login stage, the server behaves differently to normal. If you cannot connect to the dispatch server, either you are having connection problems, or the MSN Messenger network is down (which happens from time to time). If you cannot connect to a previously stored notification server, try the dispatch server instead.

If you want to connect to a third-party MSN Messenger network, you should use a different dispatch server. The official client uses, port 1863 as the dispatch server for direct and SOCKS-based connections, and, port 80 as the dispatch server for HTTP connections. Otherwise, you must connect to the "dispatch server". If you have previously stored the IP address of a notification server, you can connect directly to that. The first step in an MSN Messenger session is logging into a notification server.
