OSCAR protocol
From Wikipedia, the free encyclopedia
OSCAR is AOL's flagship instant messaging and presence information protocol standing for Open System for CommunicAtion in Realtime. Currently OSCAR is in use for AOL's two main instant messaging systems: ICQ and AIM.
Despite its name, the specifications for the protocol are proprietary. AOL has gone to great lengths to keep competitors, namely Microsoft, Jabber, and Cerulean Studios, from implementing compatible clients for their proprietary messaging system. In 2002, AOL signed a contract with Apple Computer, allowing them to use it (as well as AOL's own code libraries) in their iChat program. This allows iChat users to interact with ICQ and AIM users directly. As a part of this deal, Apple's .Mac service could hook into the service by allowing .Mac members to log in using their .Mac accounts (in the form of the full e-mail address — username@mac.com) on the AIM network.
Large parts of the protocol are nowadays understood after reverse-engineering the protocol, implemented by an ever-increasing number of 3rd party clients.
On March 6, 2006, AOL released the AIM SDK and launched a developer website, allowing developers to build plugins for AIM Triton, and build their own custom clients, which connect over the OSCAR protocol. They have not, however, released any information about the protocol itself.
As of June 16, 2007 an underground programming group Uground Productions has been working on a full fledged OSCAR server.[citation needed] This server is currently in the test stages and has Instant Messaging and Other Services implemented.
On March 5, 2008 AOL released the OSCAR protocol documentation. Google also provides the ability to sign into AIM network via the GTalk client built into GMail.
Contents |
[edit] Packet structure
Integers in OSCAR protocol are transferred in little-endian format.
[edit] FLAP header
Every packet enclosed in a special FLAP container. It carries information about packet size, channel and its number in sequence.
Offset (hex) | Field | Type/Size (in bytes) | Remarks |
---|---|---|---|
00 | FLAP ID | byte/1 | Always contains 2A. It is mark of packet start. |
01 | Channel | byte/1 | |
02 | Number in sequence | int16/2 | Incremented by 1 each time a packet sent. Wraps to 0 after 7FFF. |
04 | Data size | int16/2 | Size does not include FLAP header |
[edit] See also
- Comparison of instant messaging clients
- Comparison of instant messaging protocols
- TOC protocol, AOL's free yet deprecated messaging protocol
- TOC2 protocol, a still-functioning update to the original TOC protocol
[edit] External links
[edit] Protocol information
- Official OSCAR-Documentation
- OSCAR Protocol Terminology
- OSCAR (ICQ v7/v8/v9) Documentation
- UnOfficial AIM/OSCAR Protocol Specification
- AOL Protocol - UK Mirror
[edit] Implementations
Programming language |
Implementations |
---|---|
C | libpurple GnomeICU |
C# | NOscar |
C# 2.0 | OscarLib |
Delphi | TOSCARClient |
Java | joscar Instant Messenger Lib daim |
OCaml | mlOscar |
Python | TwistedWords |
Perl | Net::Oscar |