Protocols/OSCAR/SNAC/OSERVICE CLIENT ONLINE: Difference between revisions
No edit summary |
|||
(One intermediate revision by the same user not shown) | |||
Line 59: | Line 59: | ||
==== Example ==== | ==== Example ==== | ||
Here is an example of the raw SNAC data split up to demonstrate the otherwise in-line data. | Here is an example, as seen with BOS sign on, of the raw SNAC data split up to demonstrate the otherwise in-line data. | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 67: | Line 67: | ||
! Tool version | ! Tool version | ||
|- | |- | ||
| 0x0001 | | [[Protocols/OSCAR/SNAC_01|0x0001]] | ||
| 0x0004 | | 0x0004 | ||
| 0x0010 | | 0x0010 | ||
| 0x0801 | | 0x0801 | ||
|- | |- | ||
| 0x0002 | | [[Protocols/OSCAR/SNAC_02|0x0002]] | ||
| 0x0001 | | 0x0001 | ||
| 0x0110 | | 0x0110 | ||
| 0x0801 | | 0x0801 | ||
|- | |- | ||
| 0x0003 | | [[Protocols/OSCAR/SNAC_03|0x0003]] | ||
| 0x0001 | | 0x0001 | ||
| 0x0110 | | 0x0110 | ||
| 0x0801 | | 0x0801 | ||
|- | |- | ||
| 0x0004 | | [[Protocols/OSCAR/SNAC_04|0x0004]] | ||
| 0x0001 | | 0x0001 | ||
| 0x0110 | | 0x0110 | ||
| 0x0801 | | 0x0801 | ||
|- | |- | ||
| 0x0006 | | [[Protocols/OSCAR/SNAC_06|0x0006]] | ||
| 0x0001 | | 0x0001 | ||
| 0x0110 | | 0x0110 | ||
| 0x0801 | | 0x0801 | ||
|- | |- | ||
| 0x0008 | | [[Protocols/OSCAR/SNAC_08|0x0008]] | ||
| 0x0001 | | 0x0001 | ||
| 0x0104 | | 0x0104 | ||
| 0x0001 | | 0x0001 | ||
|- | |- | ||
| 0x0009 | | [[Protocols/OSCAR/SNAC_09|0x0009]] | ||
| 0x0001 | | 0x0001 | ||
| 0x0110 | | 0x0110 | ||
| 0x0801 | | 0x0801 | ||
|- | |- | ||
| | | [[Protocols/OSCAR/SNAC_0A|0x000A]] | ||
| 0x0001 | | 0x0001 | ||
| 0x0110 | | 0x0110 | ||
| 0x0801 | | 0x0801 | ||
|- | |- | ||
| | | [[Protocols/OSCAR/SNAC_0B|0x000B]] | ||
| 0x0001 | | 0x0001 | ||
| 0x0104 | | 0x0104 | ||
| 0x0001 | | 0x0001 | ||
|- | |- | ||
| 0x0013 | | [[Protocols/OSCAR/SNAC_13|0x0013]] | ||
| 0x0003 | | 0x0003 | ||
| 0x0110 | | 0x0110 |
Latest revision as of 09:07, 21 January 2021
OSCAR Protocol |
Introduction • Terms • Clients |
Basic |
Datatypes • FLAP • SNAC • TLV |
UUIDs • Errors • Tool IDs |
Host Interaction |
Rate Limits • Migration • Messages |
Other Services |
ADMIN • ADVERT • ALERT |
BART • BOS • BUCP • CHAT |
CHAT_NAV |
Tutorials |
Sign On • BART • Rendezvous |
ICBM • Locate • Buddies |
Foodgroups |
OSERVICE (0x0001) |
LOCATE (0x0002) |
BUDDY (0x0003) |
ICBM (0x0004) |
ADVERT (0x0005) |
INVITE (0x0006) |
ADMIN (0x0007) |
POPUP (0x0008) |
PD (0x0009) |
USER_LOOKUP (0x000A) |
STATS (0x000B) |
TRANSLATE (0x000C) |
CHAT_NAV (0x000D) |
CHAT (0x000E) |
ODIR (0x000F) |
BART (0x0010) |
FEEDBAG (0x0013) |
ICQ (0x0015) |
BUCP (0x0017) |
ALERT (0x0018) |
PLUGIN (0x0022) |
UNNAMED_FG_24 (0x0024) |
MDIR (0x0025) |
ARS (0x044A) |
ID | Origin | Name | Foodgroup | Service | Status | Version |
---|---|---|---|---|---|---|
0x0001, 0x0002 | Client | OSERVICE__CLIENT_ONLINE | OSERVICE | All | Active | 4.0 |
This message is sent by the client once it has initialized the host state (set preferences, Buddy Lists, locate information, capabilities) and is ready to be announced as being online by the host.
SNAC Header
Foodgroup | uint16 (word) | 00 01 |
Subgroup | uint16 (word) | 00 02 |
Flags | uint16 (word) | 00 00 |
Request ID | uint32 (dword) | 00 00 00 00 |
SNAC Data
The client may have used groups not in groupVersions during initialization, but once this SNAC has been received by the server, SNACs in groups not specified in groupVersions will be rejected. Other users will not see this user online until this SNAC is sent.
Name | Type | Notes |
---|---|---|
groupVersions | Rest of SNAC array of OSERVICE__CLIENT_VERSIONS | All foodgroups the client wants to support |
Datatype: OSERVICE__CLIENT_VERSIONS
Description of a foodgroup and the version of that foodgroup the client wants to use when communicating with the backend.
Name | Type | Notes |
---|---|---|
foodgroup | uint16 (word) | Foodgroup that the version represents |
version | uint16 (word) | Version of the foodgroup implementation; Currently 0x04 for OSERVICE, 0x03 for FEEDBAG, and 0x01 for all others |
tool_id | uint16 (word) | Should be 41 for all Open AIM clients |
tool_version | uint16 (word) | Any version number the developer would like, usually the build number |
Example
Here is an example, as seen with BOS sign on, of the raw SNAC data split up to demonstrate the otherwise in-line data.
Foodgroup | Version | Tool ID | Tool version |
---|---|---|---|
0x0001 | 0x0004 | 0x0010 | 0x0801 |
0x0002 | 0x0001 | 0x0110 | 0x0801 |
0x0003 | 0x0001 | 0x0110 | 0x0801 |
0x0004 | 0x0001 | 0x0110 | 0x0801 |
0x0006 | 0x0001 | 0x0110 | 0x0801 |
0x0008 | 0x0001 | 0x0104 | 0x0001 |
0x0009 | 0x0001 | 0x0110 | 0x0801 |
0x000A | 0x0001 | 0x0110 | 0x0801 |
0x000B | 0x0001 | 0x0104 | 0x0001 |
0x0013 | 0x0003 | 0x0110 | 0x0801 |
Client Version Map
A list of clients and their corresponding foodgroups, versions, and tool IDs and tool versions.
OSERVICE SNACs
|