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
 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 xx xx   dword   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) - client idle time
 xx xx   word   TLV.Length
 xx xx xx xx   dword   Client idle 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

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.


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