Since March 10, 2003 - Version 2
hypothetic.org

MSN Messenger Protocol

Home Page

Forum
Chat

About

Resources

Research

Documentation
 General
 Notification
 Switchboard
 Protocols
 Reference

Validate XHTML
Validate CSS
Reference - Error List
Printable Version

Error List

Below is a detailed list of every error code ever discovered. Some of the commands have never before been encountered, but exist nonetheless. Each error code has details on every way I have seen them used, but it is quite possible that there are missing situations.

200's

200
Invalid syntax
Never before encountered.
201
Invalid parameter
Sent if the command has a parameter that is considered invalid by the server. Setting your status to FLN would be an example.
    >>> CHG 19 FLN\r\n
    <<< 201 19\r\n
Also sent if you try to ADD an invalid email address.
    >>> ADD 20 FL a@b a@b\r\n
    <<< 201 20\r\n
205
Invalid user
Sent if you try to ADD a nonexistent, but valid, account name.
    >>> ADD 21 AL non_existent_account@passport.com non_existent_account@passport.com\r\n
    <<< 205 21\r\n
206
Domain name missing
Never before encountered.
207
Already logged in
If the client sends a USR after already logging in, this error will be sent in response.
    >>> USR 20 MD5 I example@passport.com\r\n
    <<< 207 20\r\n
    >>> USR 21 MD5 S 6b05a0f5b1aa0959e128cfdd513ccf5c\r\n
    <<< 207 21\r\n
208
Invalid username
Sent from the switchboard in reply to a CAL which specifies an invalid account name.
    >>> CAL 2 @@a\r\n
    <<< 208 2\r\n
209
Nickname change illegal
Sent in reply to a REA when there is a blocked word/phrase in the new nickname or when the Passport has not yet been confirmed.
    >>> REA 18 user@passport.com look%20msn\r\n
    <<< 209 18\r\n
210
User list full
Sent in response to an ADD command if the FL is already full. The user will not be added. Currently (as of March 23, 2003), the limit is 150 users, as doubled from a previous 75.
    >>> ADD 23 FL user@passport.com user@passport.com 0\r\n
    <<< 210 23\r\n
215
User already on list
Sent if you try to ADD a user to a list, but the user is already in that list.
    >>> ADD 26 AL user@passport.com user@passport.com\r\n
    <<< ADD 26 AL 824 user@passport.com user@passport.com\r\n
    >>> ADD 27 AL user@passport.com user@passport.com\r\n
    <<< 215 27\r\n
Also sent if you try to ADD a user to your FL in a group that the user is already in.
    >>> ADD 28 FL user@passport.com user@passport.com 2\r\n
    <<< ADD 28 825 FL user@passport.com user@passport.com 2\r\n
    >>> ADD 29 FL user@passport.com user@passport.com 2\r\n
    <<< 215 29\r\n
Also sent if you try to invite (CAL) a user into a switchboard session that has already been invited and/or is already present.
    >>> CAL 5 example@passport.com\r\n
    <<< CAL 5 RINGING 286195\r\n
    >>> CAL 6 example@passport.com\r\n
    <<< 215 6\r\n
216
User not on list
Sent in reply to REMs that try to remove users that are not in the list. Also sent if you try to remove nonexistent or invalid account names because, naturally, they couldn't be in your list.
    >>> REM 14 FL user_not_in_list@msn.com\r\n
    <<< 216 14\r\n
This error is also sent in reply to invitations to the switchboard (CALs) to users that either have you in their BL or have their BLP settings so that you are automatically in their BL. This is only sent when the user is online, but you're not allowed to know their online status.
    >>> CAL 2 example@passport.com\r\n
    <<< 216 2\r\n
Also sent in reply to REAs that try to rename users that are not in any of your lists.
    >>> REA 48 random_user@randomdomain.com nickname\r\n
    <<< 216 48\r\n
217
User not online
This error is sent in reply to invitations to the switchboard (CALs) to users that are currently either offline or appearing offline. This error will also be sent in reply to invitations to nonexistent account names.
    >>> CAL 2 myname@msn.com\r\n
    <<< 217 2\r\n
    >>> CAL 3 nonexistent@passport.com\r\n
    <<< 217 3\r\n
218
Already in mode
Sent in reply to a GTC or a BLP if it tries to change the mode to the mode it is already in. In other words, if the GTC value is already set to A, and the client sends the GTC command setting it to A again, it will receive this error.
    >>> GTC 15 A\r\n
    <<< GTC 15 150 A\r\n
    >>> GTC 16 A\r\n
    <<< 218 16\r\n

    >>> BLP 17 BL\r\n
    <<< BLP 17 151 BL\r\n
    >>> BLP 18 BL\r\n
    <<< 218 18\r\n
219
User is in the opposite list
Send in reply to an ADD that causes the same user to be in the BL and the AL at the same time. Obviously, that cannot be possible, and the user will not be added.
    >>> ADD 15 AL example@passport.com example@passport.com\r\n
    <<< ADD 15 AL 108 example@passport.com Mike\r\n
    >>> ADD 16 BL example@passport.com example@passport.com\r\n
    <<< 219 16\r\n
223
Too many groups
Sent if you try to add a group (ADG) so that you have more than 30 groups (the maximum). The group with the ID of zero counts toward the limit.
    >>> ADG 38 thirtyfirst%20group 0\r\n
    <<< 223 38\r\n
224
Invalid group
Sent if you try to ADD a user to your FL with a nonexistent group ID. Also sent in reply to REMs to nonexistent groups. Also sent in reply if you try to remove (RMG) or rename (REG) a nonexistent group.
    >>> RMG 24 15\r\n
    <<< RMG 24 12065 15\r\n
    >>> ADD 25 FL example@passport.com example@passport.com 15\r\n
    <<< 224 25\r\n
    >>> REM 26 FL example@passport.com 15\r\n
    <<< 224 26\r\n
    >>> RMG 27 15\r\n
    <<< 224 27\r\n
    >>> REG 28 15 New%20Name 0\r\n
    <<< 224 28\r\n
225
User not in group
Sent if you try to remove (REM) a user from an existent group that they are not currently in.
    >>> REM 27 FL example@passport.com 3\r\n
    <<< 224 27\r\n
229
Group name too long
Sent if you try to add a group (ADG) with more than 61 bytes in the name.
    >>> ADG 50 this%20group's%20name%20is%20sixty%20two%20bytes%20in%20length 0\r\n
    <<< 229 50\r\n
230
Cannot remove group zero
Sent if you try to remove (RMG) the group with the ID of zero.
    >>> RMG 28 0\r\n
    <<< 230 28\r\n
231
Invalid group
Never before encountered.
280
Switchboard failed
Never before encountered.
281
Transfer to switchboard failed
Never before encountered.

300's

300
Required field missing
Never before encountered.
301
Too many hits to a FND
Never before encountered.
    >>> FND 103 fname=Fred lname=Smith city=* state=* country=*\r\n
    <<< 301 103\r\n
302
Not logged in
Never before encountered.

500's

500
Internal server error
When the MSN servers are down, this might be sent in reply to your command to the NS containing your digested password. The official client interprets this as "Service Temporarily Unavailable". This error might also be sent if your account has banned from MSN.
    >>> USR 28 MD5 S 1938acd78b5524ce56a0ab6a01f3239\r\n
    <<< 500 28\r\n
501
Database server error
Never before encountered.
502
Command disabled
Sent if you try to use a command associated with an MSN Messenger feature that no longer exists.
    >>> FND 3 fname=Bill lname=Gates city=* state=* country=US\r\n
    <<< 502 3\r\n
510
File operation failed
Never before encountered.
520
Memory allocation failed
Never before encountered.
540
Challenge response failed
Sent in response to a QRY that is invalid. The server will close the connection after sending the error.
    <<< CHL 0 15570131571988941333\r\n
    >>> QRY 10 msmsgs@msnmsgr.com 32\r\n
        4f2f5a91b72102cd28355e9fc9000d6e

    <<< 540 10\r\n

600's

600
Server is busy
Never before encountered.
601
Server is unavailable
Can be sent in reply to the initial USR to the NS if the server is somehow "unavailable".
    >>> USR 10 MD5 I example@passport.com\r\n
    <<< 601 10\r\n
602
Peer nameserver is down
Never before encountered.
603
Database connection failed
Never before encountered.
604
Server is going down
Never before encountered.
605
Server unavailable
Never before encountered.

700's

707
Could not create connection
Never before encountered.
710
Bad CVR parameters sent
Sent in reply to a CVR if you send an invalid LCID.
    >>> CVR 1 0x0809 winnt 5.1 i386 MSNMSGR 6.0.0602 MSMSGS example@passport.com\r\n
    <<< 710 1\r\n
711
Write is blocking
Never before encountered.
712
Session is overloaded
Never before encountered.
713
Too many active users
Never before encountered.
714
Too many sessions
Never before encountered.
715
Not expected
Sent in response to a PRP setting an invalid phone type of three or less characters.
    >>> PRP 30 PHV 555-0690\r\n
    <<< 715 30\r\n
Also sent in response to a change of friendly name (REA) on an unverified Passport account.
    >>> REA 31 me@passport.com newname\r\n
    <<< 715 31\r\n
717
Bad friend file
Never before encountered.
731
Not expected
Sent in response to a badly formatted CVR     >>> VER 1 MSNP7\r\n
    >>> CVR 2 foo\r\n
    <<< VER 1 MSNP7\r\n
    <<< 731 2\r\n
    <o> Server Closes Connection\r\n

800's

800
Friendly name changes too rapidly
When the client tries to change the friendly name (REA) too rapidly, this error message will be sent in response to the commands that the server rejects. This does not affect renaming other users.
    >>> REA 100 me@passport.com NAME\r\n
    <<< REA 100 2000 me@passport.com NAME\r\n
    >>> REA 101 me@passport.com NAME\r\n
    <<< REA 101 2001 me@passport.com NAME\r\n
    >>> REA 102 me@passport.com NAME\r\n
    <<< REA 102 2002 me@passport.com NAME\r\n
    >>> REA 103 me@passport.com NAME\r\n
    <<< REA 103 2003 me@passport.com NAME\r\n
    >>> REA 104 me@passport.com NAME\r\n
    <<< 800 104\r\n
Also when the client tries to change the status (CHG) too rapidly.
    >>> CHG 105 NLN\r\n
    <<< CHG 105 NLN\r\n
    >>> CHG 106 HDN\r\n
    <<< CHG 106 HDN\r\n
    >>> CHG 107 NLN\r\n
    <<< CHG 107 NLN\r\n
    >>> CHG 108 HDN\r\n
    <<< CHG 108 HDN\r\n
    >>> CHG 109 NLN\r\n
    <<< 800 109\r\n

900's

910
Server too busy
When the MSN servers are busy, this might be sent in reply to your command to the NS containing your digested password..
    >>> USR 28 MD5 S 1938acd78b5524ce56a0ab6a01f3239\r\n
    <<< 910 28\r\n
911
Authentication failed
Sent in response to some invalid formats of the USR command to the DS. Also sent if the account name is invalid.
    >>> USR 3 MD5 S example@passport.com\r\n
    <<< 911 3\r\n

    >>> USR 4 MD5 I passport.com\r\n
    <<< 911 4\r\n
Sent in response to an invalid MD5 digest sent in the second USR command to the NS. Also sent if the account name is invalid or nonexistent.
    >>> USR 6 MD5 S 23e54a439a6a17d15025f4c6cbd0f6b4\r\n
    <<< 911 6\r\n
Also sent in response to problems authenticating with the switchboard with USR or ANS.
    >>> USR 1 myname_123@hotmail.com 486979.1047702516.105\r\n
    <<< 911 1\r\n
    >>> ANS 1 myname_123@hotmail.com 849102291.520491932 11752098\r\n
    <<< 911 1\r\n
912
Server too busy
Never before encountered.
913
Not allowed when offline
Sent in reply to commands that are not allowed in the HDN status which the user is currently in. The only known command that is prohibited when offline is XFR
    >>> XFR 13 SB\r\n
    <<< 913 13\r\n
914
Server unavailable
Never before encountered.
915
Server unavailable
Never before encountered.
916
Server unavailable
Never before encountered.
917
Authentication failed
Never before encountered.
918
Server too busy
Never before encountered.
919
Server too busy
Never before encountered.
920
Not accepting new users
Never before encountered.
921
Server too busy
When the MSN servers are busy, this might be sent in reply to your command to the NS containing your digested password..
    >>> USR 28 MD5 S 1938acd78b5524ce56a0ab6a01f3239\r\n
    <<< 921 28\r\n
922
Server too busy
Never before encountered.
923
Kids Passport without parental consent
Sent in reply to the second USR to the NS if client is logging in with a Kids Passport without parental consent to chat online.
    >>> USR 29 MD5 S 3b18acd78b5524ce56a0ab6a01f3239\r\n
    <<< 923 29\r\n
924
Passport account not yet verified
Never before encountered.

Copyright ©2002-2003 to Mike Mintz.