OSCAR protocol

OSCAR (Open System for Communication in Realtime) is an instant messaging protocol, which was developed by AOL for AOL Instant Messenger (AIM ) and is used after the acquisition of ICQ for both Messenger. However, there are several free ICQ client which worked fine before the publication of the protocol.

The protocol was long unpublished, even if the "open" suggested the contrary in the name. Therefore, all documentation were not specifications, but only created by reverse engineering works. With the introduction of the AIM Developer Platform Open AIM 2.0 by AOL in March 2008, the OSCAR protocol was disclosed. This should lead to fewer compatibility issues with multi-protocol messengers, which often occurred in protocol changes.

Version designations

Falsely OSCAR is also called ICQv7, v8, v9 and v10 respectively. This is not correct because the original ICQ protocol always makes use of direct connections between the clients, OSCAR, however, is built from the ground up differently and relies on connections through the server. In addition, version 7-10 not differ in the protocol, but only in the services offered by the server, which is kept very liberal OSCAR.

Construction

OSCAR is working on an existing TCP connection and itself consists of two protocol layers.

The lower, called the Frame Layer Application Protocol (FLAP ), based directly on TCP. The FLAP header begins with the hexadecimal value 2A to detect the FLAP package. It is followed by a channel (see below), a sequence number for error detection, and the size of the attached data.

The channel is similar to the ports for TCP and UDP, however, is always for a particular operation. Possible channels are:

If another channel than 2 are used, the data in the Type - Length-Value format ( TLV) are usually mounted.

On Channel 2 follows a packet of type Simple Network Atomic Communication ( SNAC ), the second major part of the OSCAR protocol. SNAC packet types are organized in so-called food groups. Each food group has an ID number and each organized in another message type identifier. As one example, Food Group 4, type 20 for a message, a client informs the other in which that his user just typed a text or stopped it has. In principle, inform this message type via other processes, but defines only the two. Type 1 each Food Group represents a specific error message

After logging in, the server shall indicate which food groups he supports; only these can / should use the client. After specification follows on sending another a connection was aborted by the server. The food groups are in principle can be extended by programmers.

The following are defined:

IServed documented in contrast to the specification, the Food Groups 5, 7, 8, 10-15, 21 and 23

Implementations

The following clients are listed, support the OSCAR protocol or the old ICQ protocol. Some of them are multi-protocol clients that only support ICQ also eg AIM, IRC, XMPP, MSN, Yahoo! and more.

The use of alternative clients will often explicitly prohibited in the Terms of the Service Provider, for example in the Terms of ICQ or AIM 's terms of use.

Operating Systems

Operating systems under which the clients run ( without emulation or run-time environment such as Wine ).

Functions

Information about which functions support each program.

Further conference facilities

Information about which support other means of communication, the client.

624834
de