Protocols/OSCAR/SNAC/OSERVICE CLIENT ONLINE: Difference between revisions
(Created page with "{{Protocols/OSCAR}} {{Protocols/OSCAR/SNAC/Stats |origin={{Protocols/OSCAR/SNAC/OSERVICE__CLIENT_ONLINE/Origin}} |name=OSERVICE__CLIENT_ONLINE |id=0x0001, 0x0002 |service={{Pr...") |
|||
(10 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
|name=OSERVICE__CLIENT_ONLINE | |name=OSERVICE__CLIENT_ONLINE | ||
|id=0x0001, 0x0002 | |id=0x0001, 0x0002 | ||
|foodgroup=OSERVICE | |||
|service={{Protocols/OSCAR/Foodgroups/OSERVICE/Service}} | |service={{Protocols/OSCAR/Foodgroups/OSERVICE/Service}} | ||
|status={{Protocols/OSCAR/Foodgroups/OSERVICE/Status}} | |status={{Protocols/OSCAR/Foodgroups/OSERVICE/Status}} | ||
Line 10: | Line 11: | ||
{{Protocols/OSCAR/SNAC/OSERVICE__CLIENT_ONLINE/Description}} | {{Protocols/OSCAR/SNAC/OSERVICE__CLIENT_ONLINE/Description}} | ||
== SNAC Header == | |||
{{Protocols/OSCAR/SNAC/Header | {{Protocols/OSCAR/SNAC/Header | ||
|foodgroup=00 01 | |foodgroup=00 01 | ||
Line 17: | Line 18: | ||
|reqid=00 00 00 00}} | |reqid=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. | |||
{| class="wikitable" | |||
! Name | |||
! Type | |||
! Notes | |||
|- | |||
| groupVersions | |||
| Rest of SNAC array of [[Protocols/OSCAR/SNAC/OSERVICE_CLIENT_ONLINE#Datatype:_OSERVICE_CLIENT_VERSIONS|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. | |||
{| class="wikitable" | |||
! 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. | |||
- | |||
{| class="wikitable" | |||
! Foodgroup | |||
! Version | |||
! Tool ID | |||
! Tool version | |||
|- | |||
| [[Protocols/OSCAR/SNAC_01|0x0001]] | |||
| 0x0004 | |||
| 0x0010 | |||
| 0x0801 | |||
|- | |||
| [[Protocols/OSCAR/SNAC_02|0x0002]] | |||
| 0x0001 | |||
| 0x0110 | |||
| 0x0801 | |||
|- | |||
| [[Protocols/OSCAR/SNAC_03|0x0003]] | |||
| 0x0001 | |||
| 0x0110 | |||
| 0x0801 | |||
|- | |||
| [[Protocols/OSCAR/SNAC_04|0x0004]] | |||
| 0x0001 | |||
| 0x0110 | |||
| 0x0801 | |||
|- | |||
| [[Protocols/OSCAR/SNAC_06|0x0006]] | |||
| 0x0001 | |||
| 0x0110 | |||
| 0x0801 | |||
|- | |||
| [[Protocols/OSCAR/SNAC_08|0x0008]] | |||
| 0x0001 | |||
| 0x0104 | |||
| 0x0001 | |||
|- | |||
| [[Protocols/OSCAR/SNAC_09|0x0009]] | |||
| 0x0001 | |||
| 0x0110 | |||
| 0x0801 | |||
|- | |||
| [[Protocols/OSCAR/SNAC_0A|0x000A]] | |||
| 0x0001 | |||
| 0x0110 | |||
| 0x0801 | |||
|- | |||
| [[Protocols/OSCAR/SNAC_0B|0x000B]] | |||
| 0x0001 | |||
| 0x0104 | |||
| 0x0001 | |||
|- | |||
| [[Protocols/OSCAR/SNAC_13|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 == | |||
{{Protocols/OSCAR/Foodgroups/OSERVICE/SNACs/Simple}} | {{Protocols/OSCAR/Foodgroups/OSERVICE/SNACs/Simple}} | ||
[[Category:AOL]] | [[Category:AOL]] | ||
[[Category:AIM]] | [[Category:AIM]] | ||
[[Category:Protocols/OSCAR]] | [[Category:Protocols/OSCAR]] | ||
[[Category:Protocols/OSCAR/SNACs]] | [[Category:Protocols/OSCAR/SNACs]] | ||
[[Category: | [[Category:Functionally_Complete]] |
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
|