ICQ SSI authorization sequence description |
|
|
|
There is "authorization" term in ICQ service. Every ICQ user can set its
authorization flag to protect himself against undesirable talks. If user
has enabled its authorization flag another user can't add it to contact
list without permission (and theoretically can't get its presence notices).
ICQ clones use BLM service to get presence
for users they can't add to SSI. Here is the sequence to get permission from
user to add it to contact list:
|
Correct SSI auth sequence (user #1 adds user #2) |
>> |
SNAC(13,11) |
User #1 starts SSI transaction |
>> |
SNAC(13,08) |
User #1 sends SSI add user #2 request |
>> |
SNAC(13,12) |
User #1 ends SSI transaction |
<< |
SNAC(13,0E) |
Server reply with error 0x0E (auth required for user #2) |
|
>> |
SNAC(13,14) |
User #1 sends SSI future auth to user #2 (optional) |
>> |
SNAC(13,18) |
User #1 sends SSI authorization request to user #2 |
>> |
SNAC(13,11) |
User #1 starts SSI transaction |
>> |
SNAC(13,08) |
User #1 sends add user request with TLV(0x66) |
>> |
SNAC(13,12) |
User #1 ends SSI transaction |
<< |
SNAC(13,0E) |
Server reply: operation finished succesfully |
Some time later... (after user #2 send authorization reply to user #1) |
<< |
SNAC(13,1B) |
Server sends SSI auth reply received from user #2 |
<< |
SNAC(13,11) |
Server starts transaction to edit user ssi local copy |
<< |
SNAC(13,09) |
Server remove TLV(0x66) from contact awaiting auth |
<< |
SNAC(13,12) |
Server ends transaction |
Now client should move user #2 to contact list |
<< |
SNAC(03,0B) |
Presense notification for user #2 (if user #2 online) |
|
|
|
|
|
|
|