KingAnt.net This space left blank intentionally. 
Oscar Protocol Documentation | Random Pidgin Files

Oscar Protocol Specification: Family 0x0013, Subtype 0xffff

This is just a list of TLVs that appear in the TLV chains/additional data for SSI items. These are all the ones I have seen, there are no doubt more of them.

Thanks to Adam Fritzler and Douglas McLaughlin for some of these.

TypeLengthLocationValue
0x006a0 bytesTLV chains for buddies (type 0x0000)Signifies that the buddy was added automatically by the server. This happens when you have the "Recent Buddies" group enabled.
0x00660 bytesTLV chains for an ICQ contacts (type 0x0000)Signifies that you are awaiting authorization for this buddy. The client is in charge of putting this TLV here, but you will not receiving status updates for the contact until they authorize you, regardless if this is here or not. Meaning, this is only here to tell your client that you are waiting for authorization for the person.
0x00c8x bytes (must be even)TLV chains for groups (type 0x0001)If group is the master group, this contains the group ID#s of all groups in the list. If the group is a normal group, this contains the buddy ID#s of all buddies in the group. Each ID# is 2 bytes. If there are no groups in the list (if in the master group), or no buddies in the group (if in a normal group), then this TLV is not present.
0x00c94 bytesTLV chains for visibility settings (type 0x0005)Unknown (contained 0x0000 006f when others could not see idle time, contained 0x0000 046f when others could see idle time)
0x00ca1 byteTLV chains for the permit/deny setting (type 0x0004)This is the byte that tells the AIM servers your privacy setting. If 1, then allow all users to see you. If 2, then block all users from seeing you. If 3, then allow only the users in the permit list. If 4, then block only the users in the deny list. If 5, then allow only users on your buddy list.
0x00cb4 bytesTLV chains for the permit/deny setting (type 0x0004)This is a bit mask which tells the AIM servers which class of users you want to be visible to. If 0xffffffff, then all users can see you. If 0x00000004, then AIM users can not see you. See the AIM_FLAG_BLEH #defines in libfaim's aim.h for available user classes.
0x00cc4 bytesTLV chains for the permit/deny setting (type 0x0004)Bitmask of flags containing "Allow others to see..." options. The default is 0x0000 0000. The flags are the following, logically ORed together:
  • 0x0000 0002 - "Do not allow others to see that I am using a wireless device."
  • 0x0000 0400 - "Allow others to see my idle time."
  • 0x0040 0000 - "Allow others to see that I am typing a response."
0x00cd4 bytesTLV chains for ICQ settings? (type 0x0009)Contained "2672,0,2,1" and "3097,0,0,0"
0x00d512 bytesTLV chains for buddy icon info (type 0x0014)Contains the MD5 checksum of the buddy icon you are using. It is preceeded by a 2 byte length of the checksum (or maybe 1 byte of flags or something and then a 1 byte checksum length), which is always 16 bytes.
0x0131x bytesTLV chains for ICQ contacts (type 0x0000)This stores the name that the contact should show up as in the contact list. It should initially be set to the contact's nick name, and can be changed to anything by the client.
0x013ax bytesTLV chains for ICQ contacts (type 0x0000)Locally assigned SMS number
0x013cx bytesTLV chains for buddies (type 0x0000)This stores the "buddy comment" field. The max length winaim lets you use is 0x0054. I'm not sure if that is a true limit or not.
0x013d2 bytesTLV chains for buddies (type 0x0000)Alerts.
First byte:
  • 0x01 - Pop up window notification
  • 0x02 - Play sound (sound file specified in 0x013e TLV)

Second byte:
  • 0x01 - When contact comes online
  • 0x02 - When contact becomes unidle
  • 0x04 - When contact returns from away
0x013ex bytesTLV chains for buddies (type 0x0000)Alert sound to play

All material Copyright © 2000-2014, All Rights Reserved
Linux is a registered trademark of Linus Torvalds.
AIM is a registered trademark of America Online, Inc.
ICQ is a registered trademark of ICQ Inc.
All other trademarks are property of their respective owners.