Protocols/OSCAR/SNAC/OSERVICE CLIENT ONLINE: Difference between revisions
No edit summary |
No edit summary |
||
Line 103: | Line 103: | ||
=== Datatype: OSERVICE__VERSIONS == | === Datatype: OSERVICE__VERSIONS === | ||
== OSERVICE SNACs == | == OSERVICE SNACs == |
Revision as of 21:57, 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
@SRC: C @DESC: Notifies the server that we're on-line and ready to receive messages. I have no idea what any of this means at the moment...
Unconfirmed:
Container Data TLV Type
RAW SNAC Header
RAW 0x0001
RAW 0x0003
RAW 0x0004
RAW 0x0686
RAW 0x0002
RAW 0x0001
RAW 0x0004
RAW 0x0001
RAW 0x0003
RAW 0x0001
RAW 0x0004
RAW 0x0001
RAW 0x0004
RAW 0x0001
RAW 0x0004
RAW 0x0001
RAW 0x0009
RAW 0x0001
RAW 0x0004
RAW 0x0001
RAW 0x000a
RAW 0x0001
RAW 0x0004
RAW 0x0001
RAW 0x000b
RAW 0x0001
RAW 0x0004
RAW 0x0001
* SnacCommand family 0x0001, type 0x0002 * SnacFamilyVersionsBlock: {{{family1}}} * SnacFamilyVersionsBlock: {{{family2}}} * SnacFamilyVersionsBlock: {{{family3}}}...
The client-is-ready SNAC is sent by the OSCAR client as the final step of LoggingIn. The format of this packet is:
The SNAC contains a series of SnacFamilyVersionsBlock``s, one for each SNAC family supported.
Since your client does not use the AIM modules ("tools"), it should probably emulate the values sent by the official AIM clients. See
ClientReadySnac for details. As of AIM 5.5.3415 beta, the SNAC family versions and tool versions sent are as follows:
|| Family || 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 ||
* UnsignedShort: {{{family}}} * UnsignedShort: {{{version}}} * UnsignedShort: {{{toolID}}} * UnsignedShort: {{{toolVersion}}}
The SNAC family versions block is used to store version information for a SNAC family. This structure is used solely in the ClientReadySnac. The format of this data structure is as follows:
{{{family}}} is the SNAC family ID. {{{version}}} is the version of that family supported. {{{toolID}}} describes which AIM module is being used to communicate with the family; {{{toolVersion}}} is the version of that module.
Since your client does not use the AIM modules, it should probably emulate the values sent by the official AIM clients. See ClientReadySnac for details.
Datatype: OSERVICE__VERSIONS
OSERVICE SNACs
|