AIM/Oscar Protocol Specification: Section 9: Miscelanea

9.0 Miscelanea

There's a few "features" that just don't fall under a larger category.

9.1 Inviting a Friend to Join AIM

Well, AIM has this really stupid feature to automatically send an invitation to a "friend" to join AIM. You just give it an email address and a short message, and it's sends it for you.

Fig 9.1.1 Invite a Friend Command
7DWordRequest ID
15WordEMail Address Length
17ASCII StringEMail Address (unterminated)
20WordMessage Length
22ASCII StringMessage (unterminated)

In response, the server sends a "Invitation Successful" command to the client.

Fig 9.1.2 Invitation Successful
7DWordRequest ID

9.2 Changing Your Password

This looks a little complicated. You have to open a connection back to the authorizer again, and then negotiate the whole process there. It's a total of 15 or so commands. Maybe later.

9.3 The "user info" block

Since this fits into quite a few different areas of AIM, it's current home is here in the miscellaneous section.

Basically, many times throughout the life of your AIM session you'll have to pass around and parse this user info block, which consists of a few basic elements that represent an online user and his/her status. This shows up in ICBMs, online buddy notifications, search responses, and more. If you see "user info" referenced anywhere throughout this protocol, this is what that means.

Fig 9.3.1 "User Info" Block
Position Length Data
1 Byte SN length
2 ASCII String Screen Name
3 Word User's warning level
5 Word Number of TLVs to follow

Where TLVs can be of the following types:

TLV Data
0x0001 User Class
0x0004 Idle time
0x000f Session length (AIM)
0x0010 Session length (AOL)
0x0002 Member since (time_t)
0x0003 Online since (time_t)
0x000d Capability block *

* See here for a description of the capability block.




Adam Fritzler
Scott Werndorfer
Last modified: Wed Jun 21 19:33:31 EST 2000