OSCAR (protocol)
application | OSCAR | ||||
transport | TCP | ||||
Internet | IP ( IPv4 , IPv6 ) | ||||
Network access | Ethernet |
Token bus |
Token ring |
FDDI | ... |
OSCAR ( O pen S ystem for C ommunic a tion in R ealtime ; German Open system for real-time communication ) is an instant messaging - protocol , which by AOL for AOL Instant Messenger was developed (AIM) and after the acquisition of ICQ used for both messengers. There are, however, various free ICQ clients which already worked perfectly before the protocol was published.
The protocol was unpublished for a long time, even if the "open" in the name suggested otherwise. Therefore, all documentation was by no means specifications, but merely works created through reverse engineering . With the presentation of the AIM developer platform Open AIM 2.0 by AOL in March 2008, the OSCAR protocol was also disclosed. This measure should lead to fewer compatibility problems with multi-protocol messengers, which often occurred when protocol changes were made.
Version designations
OSCAR is also incorrectly referred to as ICQv7, v8, v9 and v10. This is not correct because the original ICQ protocol always uses direct connections between the clients, whereas OSCAR is fundamentally different and relies on connections via the server. In addition, versions 7-10 do not differ in the protocol, but only in the services offered by the server, which OSCAR keeps very liberal.
construction
OSCAR works on an existing TCP connection and consists of two protocol layers.
The lower one, called Frame Layer Application Protocol (FLAP), is based directly on TCP. The FLAP header begins with the hexadecimal value 2A to identify the FLAP packet. This 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 in TCP and UDP , but always represents a specific process. Possible channels are:
1 | New connection establishment |
2 | SNAC package (see below) |
3 | FLAP error |
4th | End connection establishment |
5 | Keepalive |
If a channel other than 2 is used, data are usually appended in the Type-Length-Value format (TLV).
Channel 2 is followed by a packet of the type Simple Network Atomic Communication (SNAC), the second major part of the OSCAR protocol. SNAC package types are organized in so-called food groups. Every food group has an ID number and every message type organized in it has a further identifier. So stands z. B. Foodgroup 4, type 20 for a message in which a client informs the other that his user is typing a text or has stopped. In principle, this message type can also provide information about other processes, but only the two are defined. Type 1 of each food group represents a specific error message.
After logging in, the server tells you which food groups it supports; only this can / should be used by the client. According to the specification, sending others is followed by a connection breakdown by the server. In principle, the food groups can be expanded as required by programmers.
The following are defined:
1 | OSERVICE | Basic services: Welcoming and announcing the supported food groups, handling the throughput limitation (anti-spam measure) and migration to another server (in order to be able to maintain the current one) |
2 | LOCATE | Setting and calling up user information such as profile data or out-of-office notices |
3 | BUDDY | Notifications about the status of other users |
4th | ICBM | Inter Client Basic Message - handling of text messages |
6th | INVITE | Inviting users (by email); AIM only |
9 | PD | Permit / Deny - manage visibility for individual users |
16 | BEARD | Buddy Art - Upload and download of "Buddy Icons", sounds and background images |
19th | FEEDBAG | Manage the server-side contact list and settings |
In contrast to the specification, iServed also documents food groups 5, 7, 8, 10–15, 21 and 23
Implementations
The following is a list of clients that support the OSCAR protocol or the old ICQ protocol. Some of them support other protocols besides ICQ such as B. AIM , IRC , XMPP , MSN , Yahoo Messenger .
The use of alternative clients is specified in the terms of use of the service provider z. B. in the terms of use of ICQ or the terms of use of AIM are often explicitly prohibited.
Operating systems
Operating systems under which the clients run (without emulations or runtime environments such as Wine ).
Windows | macOS | Unix , Linux , BSD | AmigaOS | J2ME | iOS | |
---|---|---|---|---|---|---|
& RQ | Yes | No | No | No | No | No |
Adium | No | Yes | No | No | No | No |
AIM | Yes | Yes | Yes | No | No | Yes |
ICQ | Yes | Yes | Yes | No | Yes | Yes |
eMP.CQ! | Yes | No | No | No | No | No |
Yeah | No | No | No | No | Yes | No |
climm | yes 1 | Yes | Yes | Yes | No | No |
Kopete | No | Yes | Yes | No | No | No |
Miranda IM | Yes | No | No | No | No | No |
Pidgin (libpurple) | Yes | Yes | Yes | No | No | No |
qip | Yes | No | No | No | No | Yes |
QutIM | Yes | No | Yes | No | No | No |
SIM-IM | Yes | Yes | Yes | No | No | No |
Trillian | Yes | Yes | No | No | No | Yes |
YsmICQ | Yes | Yes | Yes | No | No | No |
Windows | macOS | Unix , Linux , BSD | AmigaOS | J2ME | iOS |
Functions
Information about which functions the individual programs support.
Encryption | File transfer | Graphic smileys | Games | changeable appearance | Plug-in system 3 | External additional programs 4 | |
---|---|---|---|---|---|---|---|
& RQ | partly 6 | Yes | Yes | No | Yes | Yes | Yes |
Adium | Yes | Yes | Yes | No | part | Yes | No |
AIM | No | Yes | Yes | part | Yes | Yes | Yes |
ICQ | No | Yes | Yes | Yes | Yes | Yes | Yes |
eMP.CQ! | No | Yes | Yes | No | No | No | No |
Yeah | No | yes 2 | Yes | No | Colors only | Yes | No |
climm | yes 5 | Yes | No | No | Yes | No | No |
Kopete | Yes | Yes | Yes | No | Yes | Yes | Yes |
Miranda IM | yes (with plug-in ) | Yes | Yes | partly (with plug-in ) | yes (with plug-in ) | Yes | Yes |
Pidgin (libpurple) | Yes | Yes | Yes | No | yes (with GTK) | Yes | No |
qip | yes 6 | Yes | Yes | No | Yes | Unofficially | Yes |
SIM-IM | yes 5 | Yes | Yes | No | Yes | Yes | Yes |
Trillian | partly (SecureIM) | Yes | Yes | No | Yes | Yes | Yes |
YsmICQ | yes 6 | Yes | No | No | No | No | No |
Encryption | File transfer | Graphic smileys | Games | changeable appearance | Plug-in system | External additional programs |
Further conference possibilities
Information about which other communication options the clients support.
Audio chat | Multi-person audio chat | Video chat | Multi-person video chat | SMS (mobile) messaging | |
---|---|---|---|---|---|
Trillian | Yes | k. A. | Yes | k. A. | No |
& RQ | No | No | No | No | Yes |
AIM | Yes | Yes | Yes | yes (only after update) | Yes |
ICQ | Yes | yes (from version pro2003b) | Yes | Yes | Yes |
eMP.CQ! | No | No | No | No | No |
Yeah | No | No | No | No | No |
climm | No | No | No | No | Yes |
qip | No | No | No | No | No |
YsmICQ | No | No | No | No | No |
SIM-IM | No | No | No | No | Yes |
Audio chat | Multi-person audio chat | Video chat | Multi-person video chat | SMS (mobile) messaging |