Protocols/OSCAR/SNAC/OSERVICE CLIENT ONLINE: Difference between revisions
No edit summary |
No edit summary |
||
Line 55: | Line 55: | ||
| Any version number the developer would like, usually the build number | | Any version number the developer would like, usually the build number | ||
|} | |} | ||
==== Example ==== | |||
Here is an example of the raw SNAC data split up to demonstrate the otherwise in-line data. | |||
{| class="wikitable" | |||
| 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. | |||
[[Protocols/OSCAR/Clients/Version_Map|See More]] | |||
== OSERVICE SNACs == | == OSERVICE SNACs == |
Revision as of 22:12, 22 March 2020
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 | Unspecified | 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; should be 4 for OSERVICE, 3 for FEEDBAG, 1 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 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
|