diff --git a/_bottom.htxt b/_bottom.htxt
new file mode 100644
index 0000000..942f3ec
--- /dev/null
+++ b/_bottom.htxt
@@ -0,0 +1,4 @@
+
+
|
|
+ +This is the server error reply for for cli_ident +packet. It contain authorization error code (see list bellow). It always come from +FLAP channel 0x04. See also channel 0x01 authorization +sequence info. Here is known authorization error codes +list: +
+ +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
+
|
+
+
|
+|||||||||||||||||||||||||||||||||||||||||||||
+
+
|
+|||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
| |||||||||||
+
|
+
|
|
+ +Client use this to login to BOS server. This packet contain cookie, received during +authorization. Client should send it to FLAP channel 0x01. See also +login sequence info. + + +
| ||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ + +Client use this packet in FLAP channel 0x01 based authorization +sequence. So client should send it +on FLAP channel 0x01. Server should reply via +srv_cookie packet, containing BOS address/cookie or via +auth_failed packet, containing error code. + + + +Passwords are roasted when sent to the host. This is done so they +aren't sent in "clear text" over the wire, although they are still +trivial to decode. Roasting is performed by first xoring each byte +in the password with the equivalent modulo byte in the roasting +array ( +0xF3, 0x26, 0x81, 0xC4, 0x39, 0x86, 0xDB, 0x92, +0x71, 0xA3, 0xB9, 0xE6, 0x53, 0x7A, 0x95, 0x7C +) + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ + +
|
+|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
+
|
+
|
+
|
|
+ +Here is the list of the known error codes for families error SNACs(xx,01). + + +
|
+
|
+
|
+
| |||||||||||
+
|
+
|
+
| |||||||||||
+
|
+
|
+
| |||||||||||
+
|
+
|
+
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
| |||||||||||||||||||||||||||||
+
| ||||||||||||||||||||||||||||
+
| ||||||||||||||||||||
+
|
+
|
+
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
| |||||||||||||||||||||||||||||||||
+
|
+
|
+
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
+
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
| |||||||||||||||||||||||||||||||||||||||||||||||||
+
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
| ||||||||||||||||||||||||||||
+
| |||||||||||||||||||||||||||||||
+
| |||||||||||||||||||||||||||||||||||||||||||
+
| ||||||||||||||||||||||||||||
+
| |||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
+
| |||||||||||||||||||||||||||||||||||||||||||||||||
+
+
|
+||||||||||||||||||||||||||||||||||||||||||||
+
+
|
+||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+
| |||||||||||||||||||||
+
|
+
|
+
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
| |||||||||||
+
|
+
|
+
|
+
|
+
|
+
+
|
+
|
+
|
+
|
+
| ||||||||||||||||||||||||||||||||
+
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
| |||||||||||||||||||||||||||||
+
| ||||||||||||||||||||||||||
+
| |||||||||||||||||||||||
+
| ||||||||||||||||||||
+
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
| ||||||||||||||||||||
+
| ||||||||||||||||||||
+
|
+
|
+
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
|
+ +This is an error notification snac. +See also error types complete list. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is the last snac in protocol negotiation sequence. +It tells BOS that we are ready to go online. Client must send this snac within 30 seconds after +signon, or the connection will be dropped. See also known +families list. + + +
Some years ago in protocol version "2" tool id field has +been used to describe client software release (java, mac, win16, win32, +mac68k, macppc). It seems what value is from the set of values for +TLV(0x16) in the following list. Also i've +seen combination of tool_id & tool_version in windows ICQ client protocol +dll. + + |
+
|
+
|
+
|
|
+ +This is the first snac in protocol negotiation sequence. +Client shouldn't use families not listed in this SNAC. See also known +families list. So if your client use SNAC(13) family and +server SNAC(01,03) doesn't contain it - your client should popup "server error" message +when user want's to change server-stored information (SSI). + + +
|
+
|
+
|
+
|
|
+ +Used when client want to use new service. Server should respond with +SNAC(01,05), that contain BOS server +address and authorization cookie. + + +
| ||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Server replies with this SNAC to SNAC(01,04) - client +service request. After receiving this snac client should connect to specified +server to use requested service. + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client use this SNAC to request server rate-limits. This happens +during protocol negotiation sequence. +Server should reply via SNAC(01,07). +You can read rate limits detailed information here. + + +
|
+
|
+
|
+
|
|
+ +This snac contain server information about its snac-rate limitations. +You can read rate limits detailed information here. +See also SNAC(01,0A) for more info. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client send this SNAC to notify server that rate limits accepted. SNAC contain +rate groups ID number list. + +
|
+
|
+
|
+
|
|
+ +Server sends this SNAC to notify clients that some rate limit groups +deleted. SNAC contain rate groups ID number list. + +
|
+
|
+
|
|
+ +Server send this snac when you goes over rate limit or when rate parameters +changing. You can read detailed information about rate limites +here. See also +SNAC(01,07) for more info. Snac content is described by "message code". +Here is the known code list: + +
+ +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is the first SNAC in client migration sequence. +See also known families list. Client +should ack pause command with SNAC(01,0C) and +stop send packets until it receive server resume SNAC(01,0D), +or migration notice SNAC(01,12). Migration +sequence used to redirect client to new BOS server during current BOS +shutdown. Families array is optional. + + +
|
+
|
+
|
+
|
|
+ +The server sends a Server Pause message SNAC(01,0B), which the client should respond to with a +this server_pause_ack snac, which contains the families it needs on this connection + +
|
+
|
+
|
+
|
|
+ +After this SNAC client, paused by SNAC(01,0B) may +continue send packets to BOS. Migration sequence used to redirect client to new +BOS server during current BOS shutdown. Families +array is optional. + + +
|
+
|
+
|
+
|
|
+ +Client use this SNAC to request own online information +(like direct connection info). Server should respond with +SNAC(01,0F). + + +
|
+
|
+
|
+
|
|
+ +Server reply with this SNAC to client SNAC(01,0E) request. +Also it sends this snac after client status change. Status change notification SNAC(01,0F) doesn't contain +TLV(0x0C), but contain TLV(0x06). See also additional +information about online userinfo block. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +You'll receive this snac when somebody complain about you to an OSCAR server. +This snac contain your new warning_level and (optionaly) info about complaining +user. Anonymous evil notification doesn't contain user info. See also +additional information about online userinfo block. + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Set idle information. If idle_secs field is 0 then the user isn't idle at all and +the server informs all watching clients to remove idletime-string in their tooltip +of my uin-item. If idle_secs field is greater then 0 then the user has already been +idle for idle_secs number of seconds. The server will automatically keep +incrementing this number, so do not repeatedly call with new idle times. + + +
|
+
|
+
|
+
|
|
+ +This is the last SNAC in client migration sequence. +See also known families list. +Client should open new connection to specified server and use this connection for specified families. If there is no +family list (empty) or it contain all connection families - client should close current connection and use new one. +Migration sequence used to redirect client to new BOS server during current BOS shutdown. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Server send this during protocol negotiation +sequence. Various docs call this SNAC as "message of the day" but it looks like +that ICQ2K+ ignores this SNAC completely. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client use this to set its privacy settings. The request contain flags (4 bytes +long). + +Bit 1 - Allows other AIM users to see how long you've been idle. +Bit 2 - Allows other AIM users to see how long you've been a member. + + +
|
+
|
+
|
+
|
|
+ +WinAIM (AIM service) use this snac to keep connection alive. This is usefull +when it use proxy server to connect to BOS. Proxy servers can disconnect client +if there is no activity for some time. ICQ use channel 5 FLAPs for this issue. + +It is strongly advised for client developers to use channel 5 FLAPs to keep +connection alive because this save traffic. SNAC(01,16) is deprecated and not +used anymore. + + +
|
+
|
+
|
+
|
|
+ +This is the client response to SNAC(01,03). This snac +contain families versions which client want's from server. Server should respond +with SNAC(01,18). Client sends this SNAC during +protocol negotiation sequence. See also known +families list. + + +
|
+
|
+
|
+
|
|
+ +This is the server response to SNAC(01,17). This snac +contain families versions which server supports. Server sends this SNAC during +protocol negotiation sequence. See also known +families list. + + +
|
+
|
+
|
+
|
|
+ +Client use this SNAC to update status and direct connection information. Also it contain last info update time information. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +The verification request contains eight bytes. The first four are an offset, +the second four are a length. +The offset is an offset into aim.exe when it is mapped during execution +on Win32. So far, AOL has only been requesting bytes in static regions +of memory. +When the client recieves the request, it adds it to the current ds +(0x00400000) and dereferences it, copying the data into a buffer which +it then runs directly through the MD5 hasher. The 16 byte output of +the hash is then sent back to the server. +If the client does not send any data back, or the data does not match +the data that the specific client should have, the client will get the +following message from "AOL Instant Messenger": +"You have been disconnected from the AOL Instant Message +Service (SM) for accessing the AOL network using unauthorized software. +You can download a FREE, fully featured, and authorized client, here +http://www.aol.com/aim/download2.html" +The connection is then closed, recieving disconnect code 1, URL +http://www.aim.aol.com/errors/USER_LOGGED_OFF_NEW_LOGIN.html. + + +
|
+
|
+
|
+
|
|
+ +This is the client verification reply for server client-verification +SNAC(01,1F). It contain MD5 hash +(16 bytes long) of requested by server winaim.exe static memory region. + + +
| |||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is an own extended status notification. You'll get this when +you have server-stored icon or if you setup iChat "available" message. It's +also used to tell the client whether or not it needs to upload an SSI buddy +icon. Check for buddy icons info here. + +About icon flags byte. Its purpose is unknown, but i found that bit8=1 is a +command to upload icon to server and it is appeared after changing corresponding +ssi item. + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is an error notification snac. +See also error types complete list. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client use this SNAC to request location service parameters and limitations. +Server should reply via SNAC(02,03). + + +
|
+
|
+
|
+
|
|
+ +Server replies with this SNAC to SNAC(02,02) - client +service parameters request. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client use this snac to set its location information (like client profile string, +client directory profile string, client capabilities). Capability - 16 byte array, +also known as CLSID string. Current ICQ versions update only caps info - TLV(0x05). + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Every client can request another user location info. There are three known request +types: 1 - general info, 2 - short user info, 3 - away message, 4 - client capabilities. +Server should reply via SNAC(02,06). Reply contain fixed +part "short info" (class, status, dc, ip, times) and request dependent part +(caps | profile | away message). + + +
|
+
|
+
|
+
|
|
+ +Server reply via this SNAC to client SNAC(02,05) +request. This snac consists of two parts. The first part constant. The second +part depends on type of the client request and may contain the client profile, +client capabilities or client away message. See also +additional information about online userinfo block. + + +Request type table: +
Here is the packet format: +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ Watcher sub request. Server should respond with +SNAC(02,08). + + +
|
+
|
+
|
+
|
|
+ Watcher notification. See also complete snac list for this service +here. + + +
|
+
|
+
|
+
|
|
+ AIM client query to save directory info. Server should reply via +SNAC(02,0A). + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Server replies with this SNAC to SNAC(02,09) - +update directory info request. + +
|
+
|
+
|
+
|
|
+ Query some info for screen name. Server should respond with +SNAC(02,0C). + +
|
+
|
+
|
+
|
|
+ +Server replies with this SNAC to SNAC(02,0B) - +info request by screen name. + +
|
+
|
+
|
+
|
|
+ Query to save interests info in directory. Server should respond with +SNAC(02,10). This snac may contain up to 5 TLV(0x0b). + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Server replies with this SNAC to SNAC(02,0F) - +info request for current user. + +
|
+
|
+
|
+
|
|
+ Query user online info by screen name. Server should respond with +SNAC(02,06). +Here is the table for request flags bitmask: + + +
+ +
|
+
|
+
|
+
|
|
+ +This is an error notification snac. +See also error types complete list. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client use this SNAC to request buddylist service parameters and limitations. +Server should reply via SNAC(03,03). + + +
|
+
|
+
|
+
|
|
+ +Server replies with this SNAC to SNAC(03,02) - client +service parameters request. + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Use this this to add new buddies to your client-side contact list. You can delete buddies from contact +using SNAC(03,05). See also complete snac list for this service +here. + + +
|
+
|
+
|
+
|
|
+ +Use this this to remove buddies from your client-side contact list during session. +You can add buddies to contact list via SNAC(03,04). See also complete snac list for this service +here. + + +
|
+
|
+
|
+
|
|
+ +Use this request list of users who have you in yours contacts. +Currently this future doesn't work for ICQ. BOS server should +reply via SNAC(03,07). + + +
|
+
|
+
|
+
|
|
+ +This is the server reply to client watchers list request:SNAC(03,06). +The reply contain list of users who have you in your contacts. Another IM systems call this future +"reverse list". Currently it seems to me that this future doesn't work for ICQ (and AIM ?). +See also complete snac list for this service here. + + +
|
+
|
+
|
+
|
|
+ Watcher sub request. Server should respond with +SNAC(03,09) (?). + + +
|
+
|
+
|
+
|
|
+ Watcher notification. See also complete snac list for this service +here. + + +
|
+
|
+
|
+
|
|
+ +Sometimes server send this as reply for SNAC(03,04) +entry. This mean that it can't send notification about this user for some reason. +The reason is unknown. See also complete snac list for this service +here. + + +
|
+
|
+
|
+
|
|
+ +Server sends this snac when user from your contact list goes online. +Also you'll receive this snac on user status change (in this case snac doesn't +contain TLV(0xC)). See also additional +information about online userinfo block. + +For those who don't know what "UNIX time_t" format is, it's the format used to +represent times as unsigned long's in UNIX and some DOS-based libc's. It's simply +the number of seconds elapsed from the 01 January 1970 00:00:00 UTC. (This is often +referred to as "the UNIX epoch".) Both of the times in this command (at positions +27 and 35) are stored in this format (and yes, these will fail because of the +y2.048k bug). + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+Server send this when user from your contact list goes offline. See also
+additional information about online
+userinfo block. Complete snac list for this service
+here.
+ + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This snac mean that server can't send your message to recipient because it invalid, +too large, wrong type or not supported by receiver. See also +SNAC(04,0A), SNAC(04,0C) +for more info. Most used error types: + +0x04 - you are trying to send message to offline client ("") +0x09 - message not supported by client +0x0E - your message is invalid (incorrectly formated) +0x10 - receiver/sender blocked + +There is more values. See also error types complete list. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+Client use this snac to set its icbm parameters like max_msgsize, max sender_evil...
+You can request these parameters from server using
+SNAC(04,04). Server will reply via
+SNAC(04,05). See also
+SNAC(04,01) for more information.
+ + +Message flags used to indicate specific client abilities: +bit1: messages allowed for specified channel +bit2: missed calls notifications enabled for specified channel +bit4: client supports typing notifications + +
|
+
|
+
|
+
|
|
+ +Use this snac to reset your icbm parameters to default values. Then you can change +them using SNAC(04,02). + +
|
+
|
+
|
+
|
+Use this snac to request your icbm parameters from server. Server should reply via +SNAC(04,05). You can change them using +SNAC(04,02). + +
|
+
|
+
|
+
|
|
+ +This is the server reply for SNAC(04,04). It contain +client icbm parameters like channel, max_msgsize, max_sender_evil, max_receiver_evil. +If "channel" parameter = 0 client want's to set parameters for all available message +channels. See also SNAC(04,01) for more information. + + +Message flags used to indicate specific client abilities: +bit1: messages allowed for specified channel +bit2: missed calls notifications enabled for specified channel +bit4: client supports typing notifications + +
|
+
|
+
|
+
|
|
+ +Client use this snac to send message thru server. Within the ICBM +(Inter-Client Basic Message) types (family 4), a channel is defined. +Each channel represents a different kind of message. + +Channel 1 is used for what would commonly be called an "instant message" (plain +text messages). Channel 2 is used for complex messages (rtf, utf8) and +negotiating "rendezvous". These transactions end in something more +complex happening, such as a chat invitation, or a file transfer. +Channel 3 is used for chat messages (not in the same family as +these channels). Channel 4 is used for various ICQ messages. +Examples are normal messages, URLs, and old-style +authorization. + +This snac contain one fixed part (target uin, channel, msg-id cookie) +and channel-dependend tlv-chain. + +First dword in msg-id cookies is actually the computer uptime in milliseconds +(ie GetTickCount(), at least this is what the ICQ Lite and the other official +clients I have tested uses). + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client use this snac to send message thru server on channel 1. +All clients use this snac to send plain-text messages to an old +clients and to clients that doesn't support channel 2 messages. TLV(0x03) +and TLV(0x06) is optional. + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ Client use this snac to send message thru server on channel 2. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +ICQ clients use this snac to send messages to an old/offline/invisible +clients if message type != 1 or message flags != 0 (for example plain-text +multi-recipient message to an offline client) but this doesn't mean that you +can't send usual plain-text message on channel 4. TLV(0x03) and TLV(0x06) +is optional. + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +You'll receive this snac when another client send you a message thru server. +Within the ICBM (Inter-Client Basic Message) types, a channel is defined. +Each channel represents a different kind of message. + +Channel 1 is used for simple plain text messages. Channel 2 is used for complex +messages (rtf, utf8) and negotiating "rendezvous". These transactions end in +something more complex happening, such as a chat invitation, or a file transfer. +Channel 4 is used for various ICQ messages. Examples are normal messages, +URLs, and old-style authorization. + +This snac contain one fixed part (sender uin, channel, msg-id cookie, sender +info) and channel-dependend tlv-chain with message data. +See also additional information about online +userinfo block. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
+This is the message from server that was sent by another client. It contain +two parts: fixed part (sender uin, msg-id cookie, channel, sender info) and +message data part. See also additional information +about online userinfo block. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is the message from server that was sent by another client. It contain +two parts: fixed part (sender uin, msg-id cookie, channel, sender info) and +message data part. See also additional information +about online userinfo block. + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +You'll receive this snac when another client send you a message on channel 4 +thru server. ICQ clients use this snac to send messages to an old/offline/invisible +clients if message type != 1 or message flags != 0 (for example plain-text +multi-recipient message to an offline client) but this doesn't mean that you +will never receive usual channel 4 plain-text message. See also +additional information about online userinfo +block. + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Use this to send warning to client that bother you. Currently this works only +for AIM. You can send warning as anonymous or as yourself. Server should ack +this command via SNAC(04,09). See also +SNAC(04,01) and +SNAC(04,05) for more information. + +
|
+
|
+
|
+
|
|
+ +This is the server ack for SNAC(04,08) client +send warning command. See also SNAC(04,01) and +SNAC(04,05) for more information. + +
|
+
|
+
|
+
|
+This snac mean that somebody send you a message but server can't deliver it to you for some reason. It contain information about user, +who send you a message, number of missed messages and reason. Known reason types: + +0 - Message was invalid +1 - Message was too large +2 - Message rate exceeded +3 - Sender too evil (sender warn level > your max_msg_sevil) +4 - You are too evil (sender max_msg_revil > your warn level) + +See also SNAC(04,02), SNAC(04,05) +for more information about message limitations and additional +info about online userinfo block. + + +
Example SNAC dumps with flap header: +
+ +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
|
+ +Client send this snac as reply to SNAC(04,07). +Server transfer it to client without changes, but only if its format is valid. +This snac also used for auto-messages (away message/busy message/chat message/etc). + + +First dword in msg-id cookies is actually the computer uptime in milliseconds +(ie GetTickCount(), at least this is what the ICQ Lite and the other official +clients I have tested uses). + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
+
|
|
+ Client send this snac as reply to SNAC(04,07)/CH1. +See also common description for SNAC(04,0B). + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ Client send this snac as reply to SNAC(04,07)/CH2. +See also common description for SNAC(04,0B). + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ + This is the server ack for client message sent via +SNAC(04,06). Server send it only if client +requested it via empty TLV(3) in message snac. This ack mean that server +accepted message for delivery. + +
|
+
|
+
|
+
|
|
+ +This snac used by client and server for mini typing notification (MTN). Basically, +when you begin typing something you send a "typing begun" message, then a few +seconds later you send a "text typed" message, then after you actually +send the message, you send a "no more text has been typed" message. You also send +the "typing finished" message if you delete all the stuff you've typed. + +Remote clients know that your client supports MTN because the server appends an +empty type 0x000b TLV to all outgoing IMs. You tell the server you want this TLV +appended when you send the SNAC(04,02). +Just set message flags bit4=1. Send and receive SNACs has the same type=0x14. +Here is the known notification types list: + +0x0000 - typing finished sign +0x0001 - text typed sign +0x0002 - typing begun sign + +
|
+
|
+
|
+
|
|
+ +This is an error notification snac. You'll receive it when search fails. +See also error types complete list. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +There is a menu item in AIM clients that say something like "Sign On A Friend" +and then it would ask for an email address/invitation text and it would sent a mail +to them saying how perfectly wonderful the AIM service is and why you should +use it and click here if you hate the person who sent this to you and want to +complain and yell at them in a small box with pretty fonts. + +You can send invitation using this snac. Server should reply via +SNAC(06,03) + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is the server reply/confirmation for client invitation request - +SNAC(06,02). + +
|
+
|
+
|
+
|
|
+ +This is an error notification snac. +See also error types complete list. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Used when client wants to get its account information (screen-name formating, email info, etc) +Server should respond with SNAC(07,03), that contain requested +information. + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is the client account info (screen-name formating, email info, etc) requested +via SNAC(07,02). It also may contain error +code / error url instead if request failed. + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
+
|
|
+ +This is the client change account info (screen-name formating, email info, etc) +request. Server should send ack via SNAC(07,05). +This snac may contain one of the following TLV sets: + + TLV(01) - change screenname formatting + TLV(11) - change account email + TLV(13) - change registration status + TLV(02), TLV(12) - change password + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ This is the client account info change reply. It also may +contain error code / error url instead if request failed. Known error codes +may be found in SNAC(07,03) description. + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This snac will cause an email to be sent to the address associated with +the account. By following the instructions in the mail, you can get the +TRIAL flag removed from your account. You should receive +SNAC(07,07) as reply. + + +
|
+
|
+
|
+
|
|
+ +This is the reply to the SNAC(07,06). It +contain status flag. You'll receive email with instructions about removing +TRIAL flag if status=0x00. Also you may receive status=0x1E if account +allready confirmed or status=0x23 if server can't start confirmation +procedure. + + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ Account delete request. Server should respond with +SNAC(07,09). + +
| |||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ Server replies with this SNAC to SNAC(07,08) +- account delete request. It may contain error code / error url if request +failed. Known error codes may be found in +SNAC(07,03) description. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is an error notification snac. +See also error types complete list. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Currently this is AIM only service. ICQ2K+ doesn't request this service from server. +Server use this snac to popup message window on the client side. + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is an error notification snac. +See also error types complete list. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client use this SNAC to request buddylist service parameters and limitations. +Server should reply via SNAC(09,03). + + +
|
+
|
+
|
+
|
|
+ +Server replies with this SNAC to SNAC(09,02) - client +service parameters request. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +The set group permission mask snac allows you to keep users of a +certain class or classes from talking to you. The mask should be a +bitwise OR of all the user classes +you want to see you. + + +
|
+
|
+
|
+
|
|
+ +Use this to add new entries to your client-side visible list. +You can delete buddies from visible list using +SNAC(09,06). +See also complete snac list for this service +here. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Use this to delete entries from your client-side visible list. +You can add buddies to visible list using +SNAC(09,05). +See also complete snac list for this service +here. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Use this this to add new entries to your client-side invisible list. +You can delete buddies from invisible list using +SNAC(09,08). +See also complete snac list for this service +here. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Use this to delete entries from your client-side invisible list. +You can add buddies to invisible list using +SNAC(09,07). +See also complete snac list for this service +here. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ This is an error notification snac. Known error codes: + +0x01 - wrong mode + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ Add buddies to visible list (?). See also complete +snac list for this service here. + +
|
+
|
+
|
+
|
|
+ Delete buddies from visible list (?). See also complete +snac list for this service here. + +
|
+
|
+
|
+
|
|
+ +This is an error notification snac. You'll receive it when search fails. +See also error types complete list. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Use this to search AIM account by email address associated with it. +Server will reply via SNAC(0A,03) or via +SNAC(0A,01) - error. + +
|
+
|
+
|
+
|
|
+ +This is the server reply to client search by email request. It contain +found screennames associated with requested email. Server replies with +this SNAC to SNAC(0A,02). + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
+This is an error notification snac. +See also error types complete list. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Server send this to client after login. This snac contain minimum stats report +interval value. Client should send stats report every 1200 hours (default value). +See HKLM\SOFTWARE\Mirabilis\ICQ\Owners\6218895\Prefs\Stats in +your registry for ICQ stats information (don't forget to change uin number in the path) + +
|
+
|
+
|
+
|
|
+ This is the client stats report. It contains local system info. + +
Example SNAC dump with flap header: +
+ +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
|
+ +Server send this as an ack for client stats report. Currently used only by +AIM service. ICQ clients never send stat reports. + + +
|
+
|
+
|
+
|
+ +This is an error notification snac. You'll receive it on service errors. +See also error types complete list. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
+Client use this SNAC to request chat navigation service parameters and +limitations. Server should reply via SNAC(0D,09) - +chat navigation information reply. + + +
|
+
|
+
|
+
|
|
+ Exchange info request. + +
|
+
|
+
|
+
|
|
+ Room info request. + +
Example SNAC dump with flap header: +
+ +
|
+
|
|
+ Occupant list request. + +
|
+
|
+
|
+
|
| Search for room. + +
| ||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ Create room. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
| Chat information response. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
+ +This is an error notification snac. You'll receive it on service errors. +See also error types complete list. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
| Room info update. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +You'll receive this snac when one or more users joins chat room. There are +could be more then one user record in this snac. Each user record contain +user screenname, warning level and a number of user-info TLVs. See also +additional information about online userinfo +block. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +You'll receive this snac when one or more users leaves chat room. There are +could be more then one user record in this snac. Each user record contain +user screenname, warning level and a number of user-info TLVs. See also +additional information about online userinfo +block. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
+This is the message from client to chat server (chat room). AIM chat use +only channel 3 messages. Reflection flag used to receive own messages. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
+This is the chat room message from server. AIM chat use only channel 3 messages. +Reflection flag used to receive own messages. See also +additional information about online userinfo block. + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
| Evil request. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ Evil reply. + +
|
+
|
+
|
+
|
|
+ Client send this snac as reply to SNAC(0E,06) (?). + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is an error notification snac. +See also error types complete list. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client use this to request interests list from server. Server should reply +via SNAC(0f,05). + + +
| ||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is an error notification snac. +See also error types complete list. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client (AIM/ICQ) use this snac to upload its own buddy icon to server. Server should +reply via SNAC(10,03) that contain md5 checksum of +the uploaded icon. Go here to learn correct icon +upload/download sequences. + + +
|
+
|
+
|
+
|
|
+ +This is the ack for SNAC(10,02) - client upload +buddy icon request. + + +
|
+
|
+
|
+
|
|
+ +Client (AIM) use this snac to request buddy icon from server. Server should +reply via SNAC(10,05) that contain requested icon. + + +
|
+
|
+
|
+
|
|
+ +This is the server reply for SNAC(10,04) - +client buddy icon request. This snac contain requested buddy icon (jpg, gif, +bmp, etc...) and its md5 checksum. + + +
|
+
|
+
|
+
|
|
+ +Client (ICQ) use this snac to request buddy icon from server. Server should +reply via SNAC(10,07) that contain requested icon. + + +
|
+
|
+
|
+
|
|
+ +This is the server reply for SNAC(10,06) - +client buddy icon request. This snac contain requested buddy icon (jpg, gif, +bmp, etc...) and its md5 checksum. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is an error notification snac. +See also error types complete list. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Use this to request server-stored information (SSI) service limitations. Server should reply via +SNAC(13,03), that contain limitations for server-stored +information items. See also snac list for SSI service here. + + +
|
+
|
+
|
+
|
|
+ +Server replies with this SNAC to SNAC(13,02) - client +SSI service parameters request. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Use this to get server side contact list (SSI). Server should reply via +SNAC(13,06). If you already have local copy of SSI use +SNAC(13,05) instead to save network traffic. +See also snac list for SSI service here. + + +
|
+
|
+
|
+
|
|
+ +Use this snac to check if your SSI local copy up-to-date (mod-time & items-num match). +If not - server will send SSI via SNAC(13,06), +overwise you'll receive SNAC(13,0F). + +
|
+
|
+
|
+
|
|
+ +This is the server reply to client roster requests: +SNAC(13,04), SNAC(13,05). +Server can split up the roster in several parts. This is indicated with SNAC flags bit 1 +as usual, however the "SSI list last change time" only exists in the last packet. +And the "Number of items" field indicates the number of items in the current +packet, not the entire list. + + +
|
+
|
+
|
+
|
|
+ +Client should send this snac after login to activate server-side contact. After this snac server start +send presense notifications for you. See also snac list for SSI service +here. + + +
|
+
|
+
|
+
|
|
+ +Client use this to add new items to server-side info. Server should reply +via SNAC(13,0E). + + +
|
+
|
+
|
+
|
|
+ +This can be used to modify either the name or additional data for any items +that are already in your server-stored information. It is most commonly used +after adding or removing a buddy: you should either add or remove the buddy +ID# from the type 0x00c9 TLV in the additional data of the parent group, and +then send this SNAC containing the modified data. Server should reply via +SNAC(13,0E). + + +
|
+
|
+
|
+
|
|
+ +Client use this to delete items from server-side info. Server should reply +via SNAC(13,0E). + + +
|
+
|
+
|
+
|
|
+ +This SNAC is an ack sent by the server when adding +a buddy, deleting a buddy, +or otherwise modifying a group. See also snac list for SSI service +here. This snac contain flag. Here +is the list of its known values: + +
+ +
|
+
|
+
|
+
|
|
+ +Server send this snac as reply for SNAC(13,05) when server-stored +information has the same modification date and items number. + +
|
+
|
+
|
+
|
|
+ +Use this before server side information (SSI) modification. Also +you should send SNAC(13,12) after SSI modification. +You could also use "import" transaction mode to add contacts requiring authorization. +Just add 0x00010000 to snac data to start import transaction. See also snac list for +SSI service here. + + +
|
+
|
+
|
+
|
|
+ +This snac used after SSI modification to commit transaction started by +SNAC(13,11). See also snac list for SSI +service here. + + +
|
+
|
+
|
+
|
|
+ +Use this snac to send future authorization grant to client you just +added to your contact list. And client will be able to add you in +its contact list later without asking permissions. + + +
|
+
|
+
|
+
|
|
+ +You'll receive this when somebody grants future authorization to you. +You can use SNAC(13,14) to send such +authorization grant. + +
|
+
|
+
|
+
|
|
+ +Client may use this snañ to delete yourself from another client server-side +contact list. There is no server reply for this packet. + +
|
+
|
+
|
+
|
|
+ +Client use this snac to send authorization request. It contain screen name +(uin) of the user and reason string. After that you may receive +SNAC(13,1B) - authorization reply. + +
|
+
|
+
|
+
|
|
+ +This is the authorization request from another client because it wants +to add you to its contact list. You may just ignore this request or you +could reply via SNAC(13,1A) - authorization +reply. + +
|
+
|
+
|
+
|
|
+ +Use this snac as reply to SNAC(13,19). +It contain screen name (uin) of the user, result flag and reason string. + +
|
+
|
+
|
+
|
|
+ +This snac received when someone grant or declines you authorization, sent +via SNAC(13,18). It contain screen name (uin) +of the user, result flag and reason string. + +
|
+
|
+
|
+
|
|
+ +Server send this snac to clients, that announced the use of family 0x13 in +SNAC(01,17). This is the "you-were-added" message +meaning that somebody (snac contain his/her screenname) added you to his/her +roster. + +
|
+
|
+
|
+
|
|
+ +This is an error notification snac. +See also error types complete list. + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This snac used by client to request/update various information (request user info, +update user info, people search, send sms, request parameters, request +offline messages, unregistration). ICQ server should reply using +SNAC(15,03). + + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
| |||||||||||||
+
|
+
|
+
|
|
+Client sends this SNAC when wants to retrieve messages that was sent by another
+user and buffered by server during client was offline. Server should respond with
+0 or more SNAC(15,03)/0041 packets with SNAC bit1=1
+and after that it should send last SNAC(15,03)/0042.
+ Warn: Server doesn't delete messages from database and will send them again. +You should ask it to delete them by SNAC(15,02)/003E + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client sends this SNAC when wants to delete offline messages from server. +But first you should request them from server using +SNAC(15,02)/003C. If you doesn't delete messages +server will send them again after client request. + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This snac used by client to request/update various information (request user info, +update user info, people search, send sms, request parameters, unregistration). +ICQ server should reply using SNAC(15,03). + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
|
+ +Client use this to change basic user information. Server should reply via +SNAC(15,03)/07DA/0064 which contain +flag byte. If flag byte doesn't equal 0x0A - there was an error saving info. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client use this to change work user information. Server should reply via +SNAC(15,03)/07DA/006E which contain +flag byte. If flag byte doesn't equal 0x0A - there was an error saving info. + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client use this to change more user information. Server should reply via +SNAC(15,03)/07DA/0078 which contain +flag byte. If flag byte doesn't equal 0x0A - there was an error saving info. + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client use this to change notes user information. Server should reply via +SNAC(15,03)/07DA/0082 which contain +flag byte. If flag byte doesn't equal 0x0A - there was an error saving info. + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client use this to change extended email user information. Server should reply via +SNAC(15,03)/07DA/0087 which contain +flag byte. If flag byte doesn't equal 0x0A - there was an error saving info. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client use this to change interests user information. Server should reply via +SNAC(15,03)/07DA/008C which contain +flag byte. If flag byte doesn't equal 0x0A - there was an error saving info. + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client use this to change past/affilations user info. Server should reply +via SNAC(15,03)/07DA/0096 which contain +flag byte. If flag byte doesn't equal 0x0A - there was an error saving info. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client use this to change more user information. Server should reply via +SNAC(15,02)/07DA/00A0 which contain +flag byte. If flag byte doesn't equal 0x0A - there was an error saving info. + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Use this request to change password for your uin. ICQ server should ack this request +using SNAC(15,03)/07DA/00AA. + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client use this to change past/affilations user info. Server should reply +via SNAC(15,03)/07DA/00BE which contain +flag byte. If flag byte doesn't equal 0x0A - there was an error saving info. + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client full userinfo request. Last reply snac flag bit1=0, other +reply packets have flags bit1=1 to inform client that more data follows. + +Server should respond with following SNACs: +SNAC(15,03)/07DA/00C8, +SNAC(15,03)/07DA/00DC, +SNAC(15,03)/07DA/00EB, +SNAC(15,03)/07DA/010E, +SNAC(15,03)/07DA/00D2, +SNAC(15,03)/07DA/00E6, +SNAC(15,03)/07DA/00F0, +SNAC(15,03)/07DA/00FA + + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client short userinfo request. ICQ2k use this request when message from unknown user +arrived. Server should respond with SNAC +SNAC(15,03)/07DA/0104, + + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +User unregistration request. Use this carefully - this request completely removes +your uin from server. You should provide password for this uin. +ICQ server should ack this request using +SNAC(15,03)/07DA/00B4. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client full userinfo request. Last reply snac flag bit1=0, other +reply packets have flags bit1=1 to inform client that more data follows. + +Server should respond with following SNACs: +SNAC(15,03)/07DA/00C8, +SNAC(15,03)/07DA/00DC, +SNAC(15,03)/07DA/00EB, +SNAC(15,03)/07DA/010E, +SNAC(15,03)/07DA/00D2, +SNAC(15,03)/07DA/00E6, +SNAC(15,03)/07DA/00F0, +SNAC(15,03)/07DA/00FA + + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is client search by details (nick, first,last,email) request. +Server should respond with 1 or more packets. Last reply packet allways +SNAC(15,03)/07DA/01AE, other reply packets +SNAC(15,03)/07DA/01A4. + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is client search by uin request. Server should respond with last search +found record SNAC(15,03)/07DA/01AE because +uin number is unique. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is client search by email request. +Server should respond with 1 or more packets. Last reply packet allways +SNAC(15,03)/07DA/01AE, other reply packets +SNAC(15,03)/07DA/01A4. + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is client white pages search request request. +Server should respond with 1 or more packets. Last reply packet allways +SNAC(15,03)/07DA/01AE, other reply packets +SNAC(15,03)/07DA/01A4. Client should fill +all fields. Empty strings and zero values (exept online_only flag) are not used in search. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is client search by details (nick, first,last,email) wildcard request. Used by +ICQ2000 when client search strings contain wildcard symbol '*'. +Server should respond with 1 or more packets. Last reply packet allways +SNAC(15,03)/07DA/01AE, other reply packets +SNAC(15,03)/07DA/01A4. + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is client search by email wildcard request. Used by ICQ2000 if user search +string contain wildcard symbol '*'. +Server should respond with 1 or more packets. Last reply packet allways +SNAC(15,03)/07DA/01AE, other reply packets +SNAC(15,03)/07DA/01A4. + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is client wildcard white pages search request. Used by ICQ2000 when client use +wildcard symbol '*' in search strings. Server should respond with 1 or more packets. Last reply packet allways +SNAC(15,03)/07DA/01AE, other reply packets +SNAC(15,03)/07DA/01A4. Client should fill +all fields. Empty strings and zero values (exept online_only flag) are not used in search. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is client tlv-based white pages search request used by ICQ2001+. +Server should respond with 1 or more packets. Last reply packet allways +SNAC(15,03)/07DA/01AE, other reply packets +SNAC(15,03)/07DA/01A4. See +also list of TLVs that modern clients use in +TLV-based requests. + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is client search by uin tlv-based request. Server should respond with last +search found record SNAC(15,03)/07DA/01AE +because uin number is unique. UIN tlv number is 0x0136. See also +list of TLVs that modern clients use in +TLV-based requests. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is client search by email tlv-based request used by ICQ2001+. +Server should respond with 1 or more packets. Last reply packet allways +SNAC(15,03)/07DA/01AE, other reply packets +SNAC(15,03)/07DA/01A4. See also +list of TLVs that modern clients use in +TLV-based requests. + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +this snac used to found free-for-chat user from specified group. Server +should reply via SNAC(15,03)/07DA/0366 +which contain success flag and optionaly (on success) found user uin. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Official clients use this to retrieve various information from server (like ads URL). +Server should respond with SNAC(15,03)/07DA/08A2. + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
+
|
|
+ +Client send this snac during first login. It contain some stats about user +registration. Server should reply via +SNAC(15,03)/07DA/0302. Warning: they (AOL) may use this data to detect +ICQ clones. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +ICQ2K clients send this snac when you change your shortcut bar. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is client tlv-based set personal info request used by ICQLite. +Server should respond with +SNAC(15,03)/07DA/0C3F - which contain result flag. This snac contain +tlv chain and this chain may contain several TLVs of same type (for example 3 +tlv(0x186) - language codes). Client can change all its information via single +packet. See also list of TLVs that modern +clients use in TLV-based requests. + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client use this to send SMS to another user's cell phone. Server may reply via +SNAC(15,03)/07DA/0001 if there was error +during request processing. Allways set <delivery_receipt> variable to "Yes" +to be sure if client received your SMS (server will reply via +SNAC(15,03)/07DA/0096). Here is snac/xml +format: + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
+
|
|
+ +Client use this to send spam report to server staff. This was first appeared in +ICQLite (1150). Server should reply via +SNAC(15,03)/07DA/2012 which contain flag byte. If flag byte doesn't equal +0x0A - there was an error sending request. Client should put spammer messages +into this request. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is the server response to client meta request SNAC(15,02). + + +
+ +Response types list: +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is the server response to cli_offline_msgs_req +SNAC(15,02)/003C. This snac contain single offline message +that was sent by another user and buffered by server when client was offline. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is the last SNAC in server response to cli_offline_msgs_req +SNAC(15,02)/003C. It doesn't contain message +- it is only end_of_sequence marker. + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is the server response to client meta info request +SNAC(15,02)/07D0. + + +
+ +Reply subtypes list: +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
|
+ +Server use this snac to inform client about meta processing error. Currently +server reply only to SNAC(15,02)/07D0/1482 +using this snac. Official clients popup dialog window with error description +text when receive it. + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Result for client change home-info request. If success byte equal 0x0A - operation was +finished succesfully, if not - database error. Request was sent by +SNAC(15,02)/07D0/03EA. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Result for client change work-info request. If success byte equal 0x0A - operation was +finished succesfully, if not - database error. Request was sent by +SNAC(15,02)/07D0/03F3. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Result for client change more-info request. If success byte equal 0x0A - operation was +finished succesfully, if not - database error. Request was sent by +SNAC(15,02)/07D0/03FD. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Result for client change notes-info request. If success byte equal 0x0A - operation was +finished succesfully, if not - database error. Request was sent by +SNAC(15,02)/07D0/0406. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Result for client change email-info request. If success byte equal 0x0A - operation was +finished succesfully, if not - database error. Request was sent by +SNAC(15,02)/07D0/040B. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Result for client change interests-info request. If success byte equal 0x0A - operation was +finished succesfully, if not - database error. Request was sent by +SNAC(15,02)/07D0/0410. + + +
Example SNAC dump with flap header: +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
|
+ +Result for client change past/affilations-info request. If success byte equal 0x0A - operation was +finished succesfully, if not - database error. Request was sent by +SNAC(15,02)/07D0/041A. Note that this meta +subtype (07d0/0096) also used as server reply for SMS message. Its no doubt that +AOL programmers is crazy enough to do this. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is an ack for client SMS request sent via +SNAC(15,02)/07D0/1482. It contain xml string with data. There are three ack +types: message_deliverable, message_smtp_deliverable, message_undeliverable. Here +is the format of snac/xml: + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
+
|
|
+ +Result for client change info request. If success byte equal 0x0A - operation was +finished successfully, if not - database error. Request was sent by +SNAC(15,02)/07D0/0424. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Result for client change info request. If success byte equal 0x0A - operation was +finished succesfully, if not - database error. Request was sent by +SNAC(15,02)/07D0/042E. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Result for client unregistration request. If success byte equal 0x0A - operation was +finished succesfully, if not - database error. Request was sent by +SNAC(15,02)/07D0/04C4. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Result for client change homepage category info request. If success byte equal 0x0A - operation was +finished succesfully, if not - database error. Request was sent by +SNAC(15,02)/07D0/0442. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ + +Basic user information packet. If success byte doesn't equal 0x0A - +it is last SNAC byte. + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ + +Work user information packet. If success byte doesn't equal 0x0A - +it is last SNAC byte. + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ + +More user information packet. If success byte doesn't equal 0x0A - +it is last SNAC byte. This snac contain some data not setable/viewable in +current ICQ clients (except ICQLite and ICQ2003b), +but you can change it thru your whitepage on wwp.icq.com. ICQLite +(up to build 1150) doesn't use "marital status" field too. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ + +Notes user information packet. If success byte doesn't equal 0x0A - +it is last SNAC byte. + + +
Example SNAC dump with flap header: +
|
+||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
|
+ + +Extended email user information packet. If success byte doesn't equal 0x0A - +it is last SNAC byte. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ + +Interests email user information packet. If success byte doesn't equal 0x0A - +it is last SNAC byte. + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ + +Past/Affilations email user information packet. If success byte doesn't equal 0x0A - +it is last SNAC byte. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Short user information returned by request +(SNAC(15,02)/07D0/04BA). +If success byte doesn't equal 0x0A - it is last byte of the snac. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ + +Homepage category user information packet. If success byte doesn't equal 0x0A - +it is last SNAC byte. + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is the server response to search request. This is not last search packet. +SNAC flags bit1 allways=1. Server sends last search found record via +SNAC(15,03)/07DA/01AE. Success byte allways += 0xA (SEARCH_SUCCESS). + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is the server response to search request. This is the last search packet. +SNAC flags bit1 allways=0. Server sends non-last search found records via +SNAC(15,03)/07DA/01A4. + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Result for client SNAC(15,02)/07D0/0AA5 +registration stats report. If success byte equal 0x0A - operation was finished +succesfully, if not - database error. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is the server response to search random chat user request +SNAC(15,02)/07D0/074E +If success flag != 0x0a this is the last byte in the snac. + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Various information requested by client (via +SNAC(15,02)/07D0/0898) from server. If success byte doesn't equal 0x0A - +it is last SNAC byte and this mean "no data found". + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Result for client change full-info tlv-based request. If success byte equal 0x0A - +operation was finished succesfully, if not - database error. Request was sent by +SNAC(15,02)/07D0/0C3A. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Result for client spam report request. If success byte equal 0x0A - +operation was finished succesfully, if not - saving report error. +Request was sent by SNAC(15,02)/07D0/2008. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+
+ +There was some changes in ICQ service protocol in family 0x15 since ICQ2001 client. +First came changes in search sequence - search became tlv-based. Then was changed +info-update sequence in ICQLite. Here is the list of TLVs used in tlv-based requests: + + + |
+
|
+
|
+
|
+
|
|
+ +Server replies with this SNAC to SNAC(17,04) - client +registration request. This snac mean that registration failed for some reason. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client use this snac to login to server +(md5 login sequence). Server should reply via +SNAC(17,03), containing BOS address/cookie or +errorcode. Password hash creating: +You'll need password, authkey from SNAC(17,07) and RFC 1321 md5 routines: + + + #define AIM_MD5_STRING "AOL Instant Messenger (SM)" + + /* calculate md5-hash to send to server */ + md5_init(&state); + md5_append(&state, (const md5_byte_t *)authkey, strlen(authkey)); + md5_append(&state, (const md5_byte_t *)passwd, strlen(passwd)); + md5_append(&state, (const md5_byte_t *)AIM_MD5_STRING, strlen(AIM_MD5_STRING)); + md5_finish(&state, (md5_byte_t *)auth_hash); + + /* Now we ready send to server auth_hash array (16 bytes long) */ + ++ + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is the server reply for for SNAC(17,02) and +SNAC(17,06) client requests. It may contain error +information or BOS address/cookie. There are two modifications of this snac. +First (error notification) contain TLV(0x01), TLV(0x08) and TLV(0x04). The second +contain TLV(0x01), TLV(0x05), TLV(0x06), TLV(0x11), latest client info +TLV(0x40)-TLV(0x48) and TLV(0x54). Complete list of tlvs for this +command may be found in the following list. + + See also +md5 login sequence info. + +
Known error codes may be found in the +following list (for TLV 0x08). + + Other optional TLVs list/descriptions: +
Example SNAC dump with flap header: +
+
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
|
+ +Use this snac when you need new ICQ account (uin/password). +Server should reply with SNAC(17,05) containing +new uin. This snac mean that registration finished succesfully. +Server also can reply with SNAC(17,01) if it can't +create new user account. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is the server reply for SNAC(17,04). It contain +new uin. This snac mean that registration finished succesfully. +Server also can reply with SNAC(17,01) if it can't +create new user account. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is the first snac in md5 crypted login sequence. +Client use this snac to request login random key from server. It contain screenname +and some unknown stuff. Server should reply with SNAC(17,07), +containing auth key string. + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is the second snac in md5 crypted login sequence. +Server send this for SNAC(17,06) request. This snac +contain server generated auth key. Client should use it to crypt password. + + +
| ||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This snac used by server to request SecurID number from client. This happens +only if you are trying to login as AIM administrator. AIM administrators have +a little pager-like thing that display a SecurID number wich changes every 60 +seconds. Client must respond with SNAC(17,0B) +containing correct SecureID number (or server will send you an auth error). +Check also the screenshot of AIM SecurID request +dialog and typical list of AIM admin priviledges. + + +
|
+
|
+
|
+
|
|
+ +This is the client SecureID reply for server +SNAC(17,0A) - server SecureID request. AIM administrators have +a little pager-like thing that display a SecurID number wich changes every 60 +seconds. Check also the screenshot of AIM SecurID +request dialog and typical list of AIM admin +priviledges. + + +
|
+
|
+
|
+
|
|
+ +This is an error notification snac. +See also error types complete list. + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +Client use this snac to send administrative broadcast message. This family currently +supported only by IServerd. Server should reply +via SNAC(85,03). Online flag: 1 - message to online users +only, 0 - to all users. This family was created for miranda plugin writers. + + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +This is the server reply for client broadcast message SNAC(85,02). +This family currently supported only by IServerd. +Result flag: 0x000a - message was sent successfully, 0x0032 - can't send message + + +
|
+
|
+
|
+
|
|
+ +This is the server reply for for cli_ident packet. +It contain BOS address / authorization cookie. It always come from FLAP channel +0x04. See also channel 0x01 authorization sequence info. + + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
+
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
+
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ +The follow is a list of terms you may see through out these pages. +Most of them a taken from AOL AIM documents + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
|
+ + +IServerd has ability to write unknown SNACs dumps +into debug.log files. Users often send me these dumps. Some of them I can +parse/document without problems, but there is some SNACs I can't understand. + + + +Please, if you have any information related these SNACs +send it to me +with "oscar_unknown" string in subject field or you can send it to +icq-devel mailing list. + + +Here +is the list of them with the links to partly parsed dumps + + +
| ||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
+
|
+
|
|
+ Contains search url. + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ Shortcuts info? + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ Stats report? + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ Stats report? + +
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
+
|
+
|
+
|
|
+ Language, timezone and other locale info ? + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
|
+ Language, timezone and other locale info ? + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|
+
|
+
|
+
|
+
|
|
+ Stats for plugins? + +
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
|
+
|