Upload/download server-stored buddy icons (SSBI) sequences |
|
|
|
SSBI service allows clients to store and retrieve little buddy icons called
ICQ avatars. Icon size is limited by size of flap packet (~8kb). Every icon has
unique combination of id (word), flags (byte) and md5 hash. AOL BOS server
doesn't support SSBI service so you should
request it and setup as described here.
To upload own icon to server you should calculate icon md5 hash and store it
as ssi type=0x14 item. Then you'll get SNAC(01,21)
with icon flags bit8=1 - this is a command for you to start icon upload.
Here is the sequence description (example dump):
|
Upload own icon to server |
>> |
SNAC(13,08) |
[BOS] User add icon id/flags/md5 hash to server (ssi type=14) |
<< |
SNAC(13,0E) |
[BOS] Server reply command ok (errcode=0x00) |
<< |
SNAC(01,21) |
[BOS] Server command to upload icon (icon flags bit8=1) |
Client check/prepare SSBI connection |
>> |
SNAC(10,02) |
[SSBI] Client sends icon to server |
<< |
SNAC(10,03) |
[SSBI] Server reply with icon id/flags/md5 hash or with error |
All your buddies will receive SNAC(03,0B) with TLV(0x1D) here |
<< |
SNAC(01,21) |
[BOS] Server ext status notification (icon flags bit8=0) |
|
|
|
To download icon from server you should know user
uin/screenname, icon id, icon flags and its md5 hash. You can get all needed
information from SNAC(03,0B) containing TLV(0x1D).
Official ICQ clients also use SNAC(10,06) to get
client own icon after receiving SNAC(01,21). Here
is the sequence (example dump):
|
Downloading buddy/own icon from server |
>> |
SNAC(03,0B) |
[BOS] User status notification from server (with TLV(0x1D)) |
Client check/prepare SSBI connection |
>> |
SNAC(10,06) |
[SSBI] Client sends icon request to server |
>> |
SNAC(10,07) |
[SSBI] Server reply with requested icon |
|
|
|
|
|
|
|