SNAC(03,0B)  SRV_USER_ONLINE  

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).

 00 03   word   SNAC family
 00 0B   word   SNAC subtype
 00 00   word   SNAC flags
 xx xx xx xx   dword   SNAC request-id
  Following user info may be repeated more then once
 xx   char   uin string length
 xx ..   string   uin string
 xx xx   word   warning level (unused in ICQ)
 xx xx   word   Number of TLV in info-tlvlist
 00 01   word   TLV.Type(0x01) - user class
 xx xx   word   TLV.Length
 xx xx   word   User class
 00 0C   word   TLV.Type(0x0C) - dc info (optional)
 00 25   word   TLV.Length
 xx xx xx xx   dword   DC internal ip address
 xx xx xx xx   dword   DC tcp port
 xx   byte   DC type
 xx xx   word   DC protocol version
 xx xx xx xx   dword   DC auth cookie
 xx xx xx xx   dword   Web front port
 00 00 00 03   dword   Client futures
 xx xx xx xx   dword   (id=1) last info update time (unix time_t)
 xx xx xx xx   dword   (id=2) last ext info update time (i.e. icqphone status)
 xx xx xx xx   dword   (id=3) last ext status update time (i.e. phonebook)
 xx xx   word   unknown
 00 0A   word   TLV.Type(0x0A) - external ip address
 xx xx   word   TLV.Length
 xx xx xx xx   dword   External client ip address
 00 06   word   TLV.Type(0x06) - user status
 xx xx   word   TLV.Length
 xx xx xx xx   dword   User status
 00 0D   word   TLV.Type(0x0D) - user capabilities
 xx xx   word   TLV.Length
 xx ..... xx   CLSIDs   Client capabilities list
 00 0F   word   TLV.Type(0x0F) - online time
 xx xx   word   TLV.Length
 xx xx xx xx   dword   Client online time (in seconds)
 00 03   word   TLV.Type(0x03) - signon time
 xx xx   word   TLV.Length
 xx xx xx xx   dword   Time when client gone online (unix time_t)
 00 05   word   TLV.Type(0x05) - member since
 xx xx   word   TLV.Length
 xx xx xx xx   dword   Time when this account was registered
 00 11   word   TLV.Type(0x11) - times updated
 xx xx   word   TLV.Length
 xx   byte   updated time id (1,2,3) - see above in TLV(0xC)
 xx xx xx xx   dword   updated time value
 ...   ...   ...
 xx   byte   updated time id (1,2,3)
 xx xx xx xx   dword   updated time value
 00 19   word   TLV.Type(0x19) - new-style capabilities list
 xx xx   word   TLV.Length
 New AIM clients replacement for TLV(0x0D). Here is format description
 00 1D   word   TLV.Type(0x1D) - user icon id & hash
 xx xx   word   TLV.Length
 xx xx   word   User icon (avatar) id
 xx   byte   User icon (avatar) flags
 xx   byte   User icon hash length (allways 16)
 xx .. xx   array   User icon md5 hash

Example SNAC dumps with flap header:

  2A 02 3E 17 00 A9 00 03  00 0B 00 00 82 95 E9 1B  *.>.............
  07 33 34 31 33 39 35 30  00 00 00 07 00 01 00 02  .3413950........
  00 50 00 0C 00 25 3E 4C  CF 2D 00 00 4A 68 04 00  .P...%>L.-..Jh..
  08 70 7B D5 5B 00 00 00  50 00 00 00 03 3B FF E8  .p..[...P....;..
  8A 3D CF 01 51 3D CE F8  61 00 00 00 0A 00 04 3E  .=..Q=..a......>
  4C CF 2D 00 06 00 04 20  12 00 00 00 0D 00 40 09  L.-.... ......@.
  46 13 49 4C 7F 11 D1 82  22 44 45 53 54 00 00 09  F.IL...."DEST...
  46 13 4E 4C 7F 11 D1 82  22 44 45 53 54 00 00 97  F.NL...."DEST...
  B1 27 51 24 3C 43 34 AD  22 D6 AB F7 3F 14 92 09  .'Q$.C4."...?...
  46 13 44 4C 7F 11 D1 82  22 44 45 53 54 00 00 00  F.DL...."DEST...
  0F 00 04 00 00 88 B4 00  03 00 04 3D D4 42 7F     ...........=.B.

  And one more packet with TLV(0x1D)
  2A 02 26 12 00 7F 00 03  00 0B 00 00 C8 4D E4 6F  *.&..........M.o
  09 33 34 38 39 33 34 37  37 34 00 00 00 07 00 01  .348934774......
  00 02 00 50 00 0C 00 25  00 00 00 00 00 00 00 00  ...P...%........
  04 00 09 CD A9 3C 4C 00  00 7C 0F 00 00 00 01 00  .....<L..|......
  00 00 00 00 00 00 00 00  00 00 00 00 00 00 0A 00  ................
  04 00 00 00 00 00 06 00  04 10 00 00 00 00 0F 00  ................
  04 00 00 03 F6 00 1D 00  14 00 01 01 10 51 BD 67  .............Q.g
  50 54 3B D5 CE 72 88 14  1D A9 05 0D 70 00 03 00  PT;..r......p...
  04 41 EC 78 5A                                    .A.xZ


  Main | Basic | Login | Snaclist | Sequences | Misc | Changes | Credits | Terms