Protocols/OSCAR/SNAC/ICQ DB REPLY

From NINA Wiki
Jump to navigation Jump to search
OSCAR Protocol
IntroductionTermsClients
Basic
DatatypesFLAPSNACTLV
UUIDsErrorsTool IDs
Host Interaction
Rate LimitsMigrationMessages
Other Services
ADMINADVERTALERT
BARTBOSBUCPCHAT
CHAT_NAV
Tutorials
Sign OnBARTRendezvous
ICBMLocateBuddies
Foodgroups
OSERVICE (0x0001)
LOCATE (0x0002)
BUDDY (0x0003)
ICBM (0x0004)
ADVERT (0x0005)
INVITE (0x0006)
ADMIN (0x0007)
POPUP (0x0008)
PD (0x0009)
USER_LOOKUP (0x000A)
STATS (0x000B)
TRANSLATE (0x000C)
CHAT_NAV (0x000D)
CHAT (0x000E)
ODIR (0x000F)
BART (0x0010)
FEEDBAG (0x0013)
ICQ (0x0015)
BUCP (0x0017)
ALERT (0x0018)
PLUGIN (0x0022)
UNNAMED_FG_24 (0x0024)
MDIR (0x0025)
ARS (0x044A)
ID Origin Name Foodgroup Service Status Version
0x0015, 0x0003 Host ICQ__DB_REPLY ICQ BOS Active 1.2

Host information response to ICQ__DB_QUERY.

SNAC Header

Foodgroup uint16 (word) 00 15
Subgroup uint16 (word) 00 03
Flags uint16 (word) 00 00
Request ID uint32 (dword) 00 00 00 00

SNAC Data

Unconfirmed: This SNAC contains no data

Length Description
2 bytes Type - 0x0001
2 bytes Length L of the following
L bytes DATA

DATA

All information for this SNAC is in the value of this TLV, and the information is given in network byte order.

Length Description
2 bytes Command length. This is L-2
4 bytes The destination UIN (us)
2 bytes Command. This actually tells what the rest of the SNAC contains. You decide how to read in the rest of it based on what command it is.
2 bytes Request ID

If command is 0x0041, then this is an offline message.

Length Description
4 bytes The originating UIN (them)
2 bytes The year the message was sent
1 byte The month the message was sent
1 byte The day the message was sent
1 byte The hour the message was sent
1 byte The minute the message was sent
2 bytes The type of message
2 bytes Length L of the following
L bytes The actual message

From Aleksandr Shutko: SNAC(15,03) meta information reply SNAC(15,03) ICQ__DB_REPLY


This is the server response to client meta request SNAC(15,02).

 00 15   word   SNAC family
 00 03   word   SNAC subtype
 xx xx   word   SNAC flags
 xx xx xx xx   dword   SNAC request-id
 00 01   word   TLV.Type(1) - encapsulated META_DATA
 xx xx   word   TLV.Length
 xx xx   word (LE)   data chunk size (TLV.Length-2)
 xx xx xx xx   dword (LE)   requester uin
 xx xx   word (LE)   request type (see table bellow)
 xx xx   word (LE)   request sequence number
 
 ......   ......   data (depending on request type)


Response types list:

 SNAC(15,03)/0041    Offline message response
 SNAC(15,03)/0042    End-of-offline messages reply
 SNAC(15,03)/07DA    Meta information response


Example SNAC dump with flap header:


  2A 02 5A 97 00 A6 00 15 00 03 00 01 00 1B 00 02 *.Z.............
  00 01 00 98 96 00 8F E4 5E 00 DA 07 2A 00 D2 00 ........^...*...
  0A 06 00 77 43 69 74 79 00 03 00 53 74 00 12 00 ...wCity...St...
  2B 37 20 28 34 32 31 32 29 20 34 34 34 34 34 34 +7 (4212) 444444
  34 00 12 00 2B 37 20 28 34 32 31 32 29 20 35 35 4...+7 (4212) 55
  35 35 35 35 35 00 14 00 57 6F 72 6B 20 73 74 72 55555...Work str
  65 65 74 20 61 64 64 72 65 73 73 00 06 00 32 32 eet address...22
  32 32 32 00 07 00 08 00 43 6F 6D 70 61 6E 79 00 222.....Company.
  0B 00 44 65 70 61 72 74 6D 65 6E 74 00 09 00 50 ..Department...P
  6F 73 69 74 69 6F 6E 00 05 00 10 00 68 74 74 70 osition.....http
  3A 2F 2F 77 6F 72 6B 2E 6F 72 67 00             ://work.org.


ICQ SNACs

SNAC List
Subgroup Origin Name
0x0001 Any ICQ__ERR
This is the error SNAC for the ICQ foodgroup.
0x0002 Client ICQ__DB_QUERY
Information request used by legacy ICQ clients.
0x0003 Host ICQ__DB_REPLY
Host information response to ICQ__DB_QUERY.